CRITIC权重法附实例及matlab代码实现

Posted Icy Hunter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CRITIC权重法附实例及matlab代码实现相关的知识,希望对你有一定的参考价值。

CRITIC权重法是一种客观赋权法,但是它所反应的权重和熵权法中的权重有所不同。
一篇文章里看到的,感觉蛮不错。

关于CRITIC的计算过程,感觉已经有蛮不错的博客了,而且计算起来也比较简单,例如这个就讲的不错客观赋权法——CRITIC权重法
过程挺清晰明了的。

下面展示一道例题。题目链接:http://www.doc88.com/p-4082292004105.html
但是感觉他的结果可能算错了。

下面是我的结果

下面上代码

clc,clear
data = [0.4830 13.2682 0 4.3646 5.1070
    0.4035 13.4909 39.0131 3.6151 5.5005
    0.8979 25.7776 9.0513 4.8920 7.5342
    0.5927 16.0245 13.2935 4.4529 6.5913];
data(:, 3) = -data(:, 3);  % 成本型指标转换为效益型
[m, n] = size(data);
for i = 1:n
    data(:, i) = (data(:, i) - min(data(:, i)))/(max(data(:, i)) - min(data(:, i)));
end
corr = corrcoef(data);  % 计算相关系数矩阵
corr_1 = sum(1 - corr); % 计算冲突性
data_std = std(data); % 计算每列方差
C = data_std .* corr_1; % 计算信息量
w = C./sum(C); % 计算权重
w

至于关于相关系数如果出现负数要不要取正这个问题,原始的CRITIC应该不用。

因为看到的这篇的文献里也提到,看了相关研究,做了改进才将相关系数取了绝对值,因此,还是看怎么效果好怎么来吧。

参考文献:长三角一体化视角下制造业高质量发展评价研究——基于改进的CRITIC-熵权法组合权重的TOPSIS评价模型

以上是关于CRITIC权重法附实例及matlab代码实现的主要内容,如果未能解决你的问题,请参考以下文章

客观赋权法——CRITIC权重法Python实现

客观赋权法——CRITIC权重法Python实现

MATLAB教程案例67基于Actor-Critic结构强化学习的车杆平衡控制系统matlab仿真

matlab—熵权法

在 Matlab 的 LibSVM 中指定权重

用”熵值法确定权重“怎么用MATLAB软件实现?