CRITIC是Diakoulaki(1995)提出一种评价指标客观赋权方法。该方法在对指标进行权重计算时围绕两个方面进行:对比度和矛盾(冲突)性。
它的基本思路是确定指标的客观权数以两个基本概念为基础。一是对比度,它表示同一指标各个评价方案取值差距的大小,以标准差的形式来表现,即标准化差的大小表明了在同一指标内各方案的取值差距的大小,标准差越大各方案的取值差距越大。二是评价指标之间的冲突性,指标之间的冲突性是以指标之间的相关性为基础,如两个指标之间具有较强的正相关,说明两个指标冲突性较低。
1.2.1 指标正向化及标准化
1.2.2 计算信息承载量
二、基于python的CRITIC评价
2.1 读取数据
data=xlsread('D:\桌面\CRITIC.xlsx')
2.2 指标正向化及标准化
本实例中逾期贷款率为负向指标数据
因此负向指标标准化:
%%负向指标准化处理,
index=[3]; %第三个指标为负向指标
for i=1:length(index)
data1(:,index(i))=(max(data(:,index(i)))-data(:,index(i)))/(max(data(:,index(i)))-min(data(:,index(i))));
end
data1
在对剩余数据进行正向指标标准化
%%正向指标准化处理
index_all=1:size(data1,2);
index_all(index)=[]; % 除负向指标外其余所有指标
index=index_all;
for i=1:length(index)
data1(:,index(i))=(data(:,index(i))-min(data(:,index(i))))/(max(data(:,index(i)))-min(data(:,index(i))));
end
data1
2.3 计算对比度
%%对比性
the=std(data1)
2.4 矛盾性
%%矛盾性
r=corr(data1);%计算指标间的相关系数
f=sum(1-r)
2.5 计算信息载量
%%信息承载量
c=the.*f
2.6 计算权重
%计算权重
w=c/sum(c)
2.7 计算得分
%计算得分
s=data1*w';
Score=100*s/max(s);
yin={'中信','光大','浦发','招商'};
for i=1:length(Score)
fprintf('%s银行百分制评分为:%4.2f\n',yin{1,i},Score(i));
end
% CRITIC法分析
clc;clear;
%读取数据
data=xlsread('D:\桌面\CRITIC.xlsx');
%指标正向化和标准化处理后数据为data1
data1=data;
%%负向指标准化处理,
index=[3]; %第三个指标为负向指标
for i=1:length(index)
data1(:,index(i))=(max(data(:,index(i)))-data(:,index(i)))/(max(data(:,index(i)))-min(data(:,index(i))));
end
%%正向指标准化处理
index_all=1:size(data1,2);
index_all(index)=[]; % 除负向指标外其余所有指标
index=index_all;
for i=1:length(index)
data1(:,index(i))=(data(:,index(i))-min(data(:,index(i))))/(max(data(:,index(i)))-min(data(:,index(i))));
end
%%对比性
the=std(data1);
%%矛盾性
r=corr(data1);%计算指标间的相关系数
f=sum(1-r);
%%信息承载量
c=the.*f;
%计算权重
w=c/sum(c);
%计算得分
s=data1*w';
Score=100*s/max(s);
yin={'中信','光大','浦发','招商'};
for i=1:length(Score)
fprintf('%s银行百分制评分为:%4.2f\n',yin{1,i},Score(i));
end