前言
正准备九月国赛,前几天写了2020年国赛C题《中小微型企业的信贷策略》。
一、熵权法
二、TOPSIS
三、MATLAB实现
%评价矩阵为M
%首先进行指标正项化 第3,4指标为负向指标,取倒数
M(:,3:4)=1./M(:,3:4)
%zscore标准化,其实没有必要
g=mean(M)
f=std(M)
M=(M-g)./f
%熵权法
maxM=max(M)
minM=min(M)
%X=(maxM-M)./(maxM-minM)
%正项指标
X=(M-minM)./(maxM-minM)
%这里是把1~8和9、10分开了,因为熵权法不能体现指标间的重要程度,因此第%9,10指标后面人工赋权了。
Y=X
Y(:,9:10)=[]
P=Y./(sum(Y))
%这一步是因为,当Y=0时,定义ln0=0
Y(find(Y==0))=1
Q=Y.*log(Y)
e=1/log(123)*sum(Q)
d=1-e
w=d./sum(d)
%以下人工赋权哈哈哈
w=w*0.55
w(9)=0.25
w(10)=0.20
%进入TOPSIS部分
W=repmat(w,123,1)
U=X.*W
u1=max(U)
u2=min(U)
k1=U-u1
k2=U-u2
a1=(k1').*(k1')
a2=(k2').*(k2')
d1=sqrt(sum(a1))
d2=sqrt(sum(a2))
s=d2./(d1+d2)
s=s'