2022长三角数学建模A题教育评价代码和论文分析(持续更新)

评价指标体系的构建及权重的确定

评价指标的选择

综合考虑目前已有的教育评价指标体系以及长三角高等教育发展的实际情况,根据指标选取的全面性以 及数据的可获得性原则,从教育投入、教育产出、教育效益3个维度构建长三角高等教育发展水平综合评价 指标体系(见表 1),包括 7 个二级指标,17 个三级指标,其中有 16 个正向指标(正向指标:取值越大越 好),1 个负向指标“每个教师担负学生数”(负向指标:取值越小越好).高等教育投入方面,在综合 考虑高等教育投入的情况下,选取基础投入、经费投入和科研投入 3 个二级指标以及专任教师、高校规模、 基础设施支出

指标权重的确定

指标权重是评价指标的重要程度,确定指标权重的算法有很多种,本文利用熵权法确定指标权重.熵 权法作为一种综合评价法,具有较强的操作性,能够有效反映数据隐含的信息,增强指标的差异性和分辩 性,以避免由于选取指标的差异过小而造成的分析不清问题,从而达到全面反映各类信息的目的.熵权法 的评价思路是评价对象在某项指标的值相差越大,该对象越重要,权重值较大,即某个指标数据的离散程 度越大,该指标对综合评价的影响越大.根据指标的变异程度,能够客观计算出各指标的权重值,为多个 指标的综合评价提供更为可靠的依据.具体计算步骤为:
2022长三角数学建模A题教育评价代码和论文分析(持续更新)_第1张图片

评价模型构建

TOPSIS 模型由 Hwang 和 Yoon 在 1981 年提出,是系统工程中有限方案多目标决策分析的一种决策技 术,为距离综合评级法[10].本文结合熵权法所确定的权重建立 TOPSIS 模型,与传统的 TOPSIS 模型相比, 改进后的 TOPSIS 模型主要是对评价对象与最优解和最劣解的评价公式进行了改进.具体计算步骤为:
在这里插入图片描述2022长三角数学建模A题教育评价代码和论文分析(持续更新)_第2张图片

实证评价

利用多年 17 个三级指标的统计数据构成判断矩阵,得到原始判断矩阵
基于一级指标的分析

部分代码:

function [posit_x] = Inter2Max(x,a,b)
    r_x = size(x,1);  % row of x 
    M = max([a-min(x),max(x)-b]);
    posit_x = zeros(r_x,1);   %zeros函数用法: zeros(3)  zeros(3,1)  ones(3)
    % 初始化posit_x全为0
    for i = 1: r_x
        if x(i) < a
           posit_x(i) = 1-(a-x(i))/M;
        elseif x(i) > b
           posit_x(i) = 1-(x(i)-b)/M;
        else
           posit_x(i) = 1;
        end
    end
end
function [posit_x] = Mid2Max(x,best)
    M = max(abs(x-best));
    posit_x = 1 - abs(x-best) / M;
end
function [W] = Entropy_Method(Z)
% 计算有n个样本,m个指标的样本所对应的的熵权
% 输入
% Z : n*m的矩阵(要经过正向化和标准化处理,且元素中不存在负数)
% 输出
% W:熵权,m*1的行向量

%% 计算熵权
    [n,m] = size(Z);
    D = zeros(1,m);  % 初始化保存信息效用值的行向量
    for i = 1:m
        x = Z(:,i);  % 取出第i列的指标
        p = x / sum(x);
        % 注意,p有可能为0,此时计算ln(p)*p时,Matlab会返回NaN,所以这里我们自己定义一个函数
        e = -sum(p .* mylog(p)) / log(n); % 计算信息熵
        D(i) = 1- e; % 计算信息效用值
    end
    W = D ./ sum(D);  % 将信息效用值归一化,得到权重    
end
function [posit_x] = Positivization(x,type,i)
% 输入变量有三个:
% x:需要正向化处理的指标对应的原始列向量
% type: 指标的类型(1:极小型, 2:中间型, 3:区间型)
% i: 正在处理的是原始矩阵中的哪一列
% 输出变量posit_x表示:正向化后的列向量
    if type == 1  %极小型
        disp(['第' num2str(i) '列是极小型,正在正向化'] )
        posit_x = Min2Max(x);  %调用Min2Max函数来正向化
        disp(['第' num2str(i) '列极小型正向化处理完成'] )
        disp('~~~~~~~~~~~~~~~~~~~~分界线~~~~~~~~~~~~~~~~~~~~')
    elseif type == 2  %中间型
        disp(['第' num2str(i) '列是中间型'] )
        best = input('请输入最佳的那一个值: ');
        posit_x = Mid2Max(x,best);
        disp(['第' num2str(i) '列中间型正向化处理完成'] )
        disp('~~~~~~~~~~~~~~~~~~~~分界线~~~~~~~~~~~~~~~~~~~~')
    elseif type == 3  %区间型
        disp(['第' num2str(i) '列是区间型'] )
        a = input('请输入区间的下界: ');
        b = input('请输入区间的上界: '); 
        posit_x = Inter2Max(x,a,b);
        disp(['第' num2str(i) '列区间型正向化处理完成'] )
        disp('~~~~~~~~~~~~~~~~~~~~分界线~~~~~~~~~~~~~~~~~~~~')
    else
        disp('没有这种类型的指标,请检查Type向量中是否有除了123之外的其他值')
    end
end

全部论文和代码地址:https://mianbaoduo.com/o/bread/YpqXmJlv

2022长三角数学建模A题教育评价代码和论文分析(持续更新)_第3张图片
2022长三角数学建模A题教育评价代码和论文分析(持续更新)_第4张图片
2022长三角数学建模A题教育评价代码和论文分析(持续更新)_第5张图片

你可能感兴趣的:(python,大数据,matlab)