2021年美赛F题

建立CIPP评估模型

选取指标:

一级指标二级指标三级指标单位

高等教育健康评价体系

A1

高等教育基础

B1

人均GDP现价美元  C1$/人
高等教育学生男女比例C2指数

高等教育投入

B2

研究支出占GDP百分比            C3                                    %
大学生人均教育支出(政府)占人均GDP比重 C4      %

高等教育发展过程

B3

高等教育教师总人数 C5
高等教育毛入学率  C6%
高等学历学生总人数  C7

高等教育产出

B4

每百万人中研究人员数量  C8
居民专利申请数   C9
科技期刊文章   C10
高科技出口(占制成品出口的百分比) C11%

数据来源:世界银行,

                     UIS数据库       UIS Statistics

毕达留学 泰晤士

缺失值处理:

我们最终希望得到的衡量数据是最近三年可获得数据的平均值

如果最近三年数据都有,那么很显然直接用其均值;

如果该国家近10年某指标(如每百万人中研究人员数量)都没有数据,则认为该数据空值,暂记为0,代表该国没有研究人员(这一指标表现差);

对于中断值采取分段三次Hermite插值法,由于该插值法至少需要2个数据点,所以对10年来只有1个数据点的直接取该值;超过一个的,用插值法。

Hermite插值法(埃尔米特)介绍:

{Hermite插值法是解决数学建模中预测类问题的最常用的方法,可以有效的解决“已知数据”数量不够的问题。

但是,直接使用Hermite插值得到的多项式次数较高,也存在着“龙格现象(Runge phenomenon)”。因此,在实际应用中,往往使用分段三次Hermite插值多项式(PCHIP),来提高“模拟数据的准确性”。}

参考博客:Hermite(埃尔米特)插值法_Rayme629的博客-CSDN博客_埃尔米特插值

Matlab有内置函数pchip可直接实现分段三次埃尔米特插值。

p = pchip(x,y, new_x)
%x是已知的样本点的横坐标(至少两个);y是已知的样本点的纵坐标;new_x是要插入处对应的横坐标

缺失值处理主要代码如下:

%clc,clear
%data=xlsread('',1);
%% 缺失值处理
data=data(:,end-10:end);
L=size(data,2);    %矩阵长度,时间跨度
M=size(data,1);    %矩阵宽,样本国家个数
A=mean(data(:,L-2:L),2);   %按行求平均数
for i=1:M    
    for j=1:L
        if sum(isnan(data(i,:)))==L
            A(i)=0;
            data(i,L-2:L)=[0 0 0];
        elseif sum(isnan(data(i,:)))==L-1
            A(i)=nansum(data(i,:));
            data(i,L-2:L)=[A(i) A(i) A(i)];
        elseif  isnan(A(i))==1      % 是NAN,isnan返回1
            x=1:L;
            y=data(i,x);
            new_x=L-2:L;
            p=pchip(x,y,new_x);
            data(i,L-2:L)=p;
            A(i)=mean(p);
        end
    end
end
 xlswrite('近3年数据.xlsx',data(:,L-2:L),'高等学历学生总数','B2'); %改参数3
xlswrite('指标数据.xlsx',A,3,'C2');      %改参数3, UIS=3
                                         %参数4     
            

得到各指标数据后,发现:

有的国家指标空缺过多,直接删去不予考虑;

指标出现负值,这主要是由于插值产生的偏差(也说明该国这一指标往年数据缺失太多),对于选取的11个指标来说,其物理意义都应在正值下考量,因此直接归0处理;

有的数据其含义为百分比,却超过了100,查看后发现,是由于个别国家该指标源数据即出现错误(猜测可能是数据填错等原因),导致数据过大,而插值后往往也会求得过大的异常值。又因国家选取数有217之众,体量丰富,直接删去这些国家的数据。

topsis排名

1.对各指标正向化处理:

效益型指标:属性值越大,该属性对决策的重要程度越高。

费用型指标:属性值越大,该属性对决策的重要程度越小。

中间型指标:属性值越靠近某一特定值,越好。

将三种类型的指标统一正向化处理,即换成效益型。

在我们选取的11个指标中,只有高等教育学生男女比例C2是中间型指标,其余都是效益型指标。

对中间型指标做如下处理:

首先我们认为高等教育学生男女比例越接近1,越说明男女教育平等,即教育体系越健康。

即最优值best=1

M=max(\left | D_{iC2}-best \right |)

D_{iC2}-new=1-\frac{\left|D_{iC2}-best\right|}{M}

%中间型属性
z=1;%中间型属性列数
best=1;%男女比例最优为1
M =max(abs(dnew{1,2}(:,1)-best));
dnew{1,2}(:,1) = 1 - abs(dnew{1,2}(:,1)-best) / M;

 2.将已全部正向化的指标标准化,这里用归一化的方法。

令标准化后的决策矩阵,记为r,其列向量分量之和为1.

 3.确定各指标权重,采取熵权法

 信息熵法:一个信息量的(概率)分布越趋向一致,所提供信息的不确定越大,用熵作为衡量不确定的指标。在多属性决策中,将标准化决策矩阵R的各个列向量看作每个属性信息量的概率分布。按照Shannon对熵的定义,各方案关于属性Xj的熵为

熵值越大,代表信息不确定性越大(信息量概率分布越趋向一致),属性Xj对于辨别方案优劣的作用越小。

定义

 为属性Xj的区分度。(Fj越大,Xj的区分度越大,属性Xj越重要)

将归一化的区分度取作属性Xj的权重wj,即

权重结果如下: 

C1C2C3C4C5C6C7C8C9C10C11
0.0700.0380.0680.0580.1210.0450.1260.0770.2000.1320.066

C9居民专利申请数,C10科技期刊文章 ,C7高等学历学生总人数,C5高等教育教师总人数。

4. 进行topsis排序

topsis法(接近理想解的偏好排序法)

理论上的最优方案(称正理想解)由所有可能的加权最优属性值构成,最劣方案(称负理想解)由可能的加权最劣属性值构成。定义距正理想解尽可能近、距负理想解尽可能远的数量指标——相对接近度,备选方案的优劣顺序按照相对接近度的大小确定。

1)定义各方案在空间的欧氏距离,先将指标矩阵模一化:

模一化方法:

再模一化后的rij×属性权重wj,构成矩阵V。

 2)取出正理想解(由每列向量中最大元素构成),记为v+

            负理想解(由每列向量中最小元素构成),记为v-

V_max=max(V,[],1);       %正理想解,max函数参数3表示取每列的最大值
V_min=min(V,[],1);       %负理想解,min函数参数3表示取每列的最小值

 3)计算方案Ai与正理想解的欧式距离:

与负理想解的欧式距离 :

 

4)定义方案Ai与正理想解的相对接近度为

之后对C_{_{i}^{}}^{+}进行归一化处理,C_{_{i}^{}}^{+}越大,表示方案越好。

topsis排序完毕,

在排序时对指标进行处理异常值如负值归0,百分比却超过100删去,对某国家指标缺失过多的删去完整代码如下:

clc,clear
[~,~,d1]=xlsread('指标数据.xlsx','总表','A2:A218');    %每行为一个方案,每列为一种属性
d2=xlsread('指标数据.xlsx','总表','B2:L218');  
d=cell(1,2);
d{1,1}=d1;
d{1,2}=d2;   
m=size(d2,1);  %m种方案
n=size(d2,2);  %n种属性
% 如有过大异常值,删去,比如属性2,3,4,11,皆为百分比,超过100就将该国家删去
%可能原因为原始数据记录出错,超过100,而插值后往往也会变得更大。
del=[];%要删除国家的集合
for i=1:m
    for j=[2,3,4,11]
        if d{1,2}(i,j)>100
            del=[del,i];
        end
    end
end
        
%负指标归0
for i=1:m       
    for j=1:n
        if d{1,2}(i,j)<0
            d{1,2}(i,j)=0;
        end
    end
end
%零值指标超过4个,删除
zero=sum(d{1,2}==0,2);
ID=[];
for i=1:m
    if zero(i)<3
        ID=[ID,i];        %ID保留 
    end
end
fin_ID=setdiff(ID,del);
dnew=cell(1,2);            
dnew{1,1}=d{1,1}(fin_ID,:); %国名
dnew{1,2}=d{1,2}(fin_ID,:);  %指标
%% 原始决策矩阵标准化
%% 各指标正向化
% l=1;             %费用型属性
% d(:,l)=1./d(:,l);%将费用型属性变换为效益型
%中间型属性
z=1;%中间型属性列数
best=1;%男女比例最优为1
M =max(abs(dnew{1,2}(:,1)-best));
dnew{1,2}(:,1) = 1 - abs(dnew{1,2}(:,1)-best) / M;
%%
%归一化
r=dnew{1,2}./sum(dnew{1,2},1)+0.0001;         %sum函数参数2表示按照每列相加
%最大化
%r=d./max(d,[],1);     %max函数参数3表示取每列的最大值
%模一化
rm=dnew{1,2}./sum(dnew{1,2}.^2,1).^0.5; %sum函数参数2表示按照每列相加
%% 属性权重的确定
E=(-1/log(m))*sum(r.*log(r),1);  %E熵值,sum函数参数2表示按照每列相加
F=1-E;                           %F区分度
w=F/sum(F);                      %w各属性的权重
%% topsis法确定方案优劣顺序(决策矩阵需用模一化方法处理,但权重的确定仍可使用归一化等方法)
V=rm.*w;
V_max=max(V,[],1);       %正理想解,max函数参数3表示取每列的最大值
V_min=min(V,[],1);       %负理想解,min函数参数3表示取每列的最小值
S_plus=sum((V-V_max).^2,2).^0.5;    %求各方案与正理想解的欧式距离,sum函数参数2表示按照每行相加
S_minus=sum((V-V_min).^2,2).^0.5;   %求各方案与正理想解的欧式距离,sum函数参数2表示按照每行相加
C=S_minus./(S_plus+S_minus);        %C,各方案与正理想解的相对接近度
C=C./sum(C,1);                      %C归一化处理
[Y,index]=sort(C,1,'descend');       %参数2按列排序,参数3降序,Y排序后的结果,对应index原矩阵下标
%%  print
dprint=cell(1,2);
dprint{1,1}=dnew{1,1}(index,:);
dprint{1,2}=dnew{1,2}(index,:);
xlswrite('topsis排名.xlsx',dprint{1,1},1)

衡量高等教育效率——数据包络分析DEA

取投入x1研究支出占GDP百分比(C3 ),x2大学生人均教育支出(政府)占人均GDP比重 (C4 ),   x3高等教育教师总人数( C5),

输出指标y1高等学历学生总人数 ( C7),y2每百万人中研究人员数量 ( C8),y3居民专利申请数  (C9),y4科技期刊文章   C10,y5高科技出口(占制成品出口的百分比) C11.

待续
            

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值