前言

关于详细理论介绍大家可以看这篇博客客观赋权法——CRITIC权重法,本文着重于代码实现

概念

CRITIC的全称是Criteria Importance Though Intercrieria Correlation

它的基本思路是确定指标的客观权数以两个基本概念为基础。一是对比强度,它表示同一指标各个评价方案取值差距的大小,以标准差的形式来表现,即标准化差的大小表明了在同一指标内各方案的取值差距的大小,标准差越大各方案的取值差距越大。二是评价指标之间的冲突性,指标之间的冲突性是以指标之间的相关性为基础,如两个指标之间具有较强的正相关,说明两个指标冲突性较低。

输入和输出

计算有n个样本,m个指标的样本所对应的的熵权
输入: Z : nm的矩阵(要经过正向化和标准化处理,且元素中不存在负数)
输出:W:权重,1
m的行向量

指标变异性

以标准差的形式来表现

S=std(Z);

获取torch 所有权重梯度 critic求权重_算法表示第获取torch 所有权重梯度 critic求权重_python_02个指标的标准差
CRITIC法中使用标准差来表示各指标的内取值的差异波动情况,标准差越大表示该指标的数值差异越大,越能放映出更多的信息,该指标本身的评价强度也就越强,应该给该指标分配更多的权重。

指标冲突性

用相关系数进行表示

r=corrcoef(Z);
R=sum(r);

获取torch 所有权重梯度 critic求权重_机器学习_03表示第 获取torch 所有权重梯度 critic求权重_python_02个指标的标准差
使用相关系数来表示指标间的相关性,与其他指标的相关性越强,则该指标就与其他指标的冲突性越小,反映出相同的信息越多,所能体现的评价内容就越有重复之处,一定程度上也就削弱了该指标的评价强度,应该减少对该指标分配的权重。

信息量

C=S.*R;

获取torch 所有权重梯度 critic求权重_机器学习_05越大,第 获取torch 所有权重梯度 critic求权重_python_02

客观权重

W=C./sum(C);