变异系数+标准差率+一种改进的Critic权重计算方法

编程入门 行业动态 更新时间:2024-10-21 07:44:59

变异系数+标准差率+一种改进的Critic<a href=https://www.elefans.com/category/jswz/34/1758801.html style=权重计算方法"/>

变异系数+标准差率+一种改进的Critic权重计算方法

一种改进的Critic权重计算方法

当进行两个或多个资料变异程度的比较时,如果度量单位与平均数相同,
可以直接利用标准差来比较。如果单位和(或)平均数不同时,比较其变异程度就不能采用标准差,而需采用标准差与平均数的比值(相对值)来比较。
变异系数又称“标准差率”,是衡量资料中各观测值变异程度的另一个统计量。
公式表示为:变异系数CV=σ(X)/μ(X)
英文为用CV(Coefficient of Variance)。

CRITIC 权重法是一种客观赋权法。其思想在于用两项指标,分别是对比强度和冲突性指标。对比强度使用标准差进行表示,如果数据标准差越大说明波动越大,权重会越高;冲突性使用相关系数进行表示,如果指标之间的相关系数值越大,说明冲突性越小,那么其权重也就越低。对于多指标多对象的综合评价问题,CRITIC 法去消除一些相关性较强的指标的影响,减少指标之间信息上的重叠,更有利于得到可信的评价结果。

'''
@author: ZLM
一般来说,数据的量纲是不统一的,这种情况之下则不能直接使用标准差来衡量不同指标
之间的对比强度。一种常规的方法是对所有数据进行归一化来消除量纲对结果的影响,
但遗憾的是,归一化方法会改变指标之间的对比强度。
因此我们采用变异系数CV=σ(X)/μ(X)来表示指标之间的对比强度,如果数据变异系数越大说明波动越大,权重会越高。但是平均数会受到极端值的影响,中位数不受随机变量极大或极小值的影响,从而在一定程度上提高了中位数对随机变量分布的代表性。
鉴于此,我们采用如下公式计算变异系数CV=σ(X)/median(X)'''
import numpy as np
from sklearn.feature_selection import VarianceThreshold
from sklearn.datasets import load_breast_cancer,load_iris,load_wineX,y=load_wine(return_X_y=(True))
sel = VarianceThreshold()
X=sel.fit_transform(X)data=Xdef critic_weight(data):data_cv= np.std(data,axis=0)/np.median(data,axis=0)   data_corr = np.abs(np.corrcoef(data.T))data_corr = sum(1 - data_corr)C = data_cv * data_corrcritic_weight= C/sum(C)return critic_weightW1=critic_weight(X)def critic_weight1(data):data_cv= np.std(data,axis=0)/np.mean(data,axis=0)   data_corr = np.abs(np.corrcoef(data.T))data_corr = sum(1 - data_corr)C = data_cv * data_corrcritic_weight= C/sum(C)return critic_weightW2=critic_weight1(X)

更多推荐

变异系数+标准差率+一种改进的Critic权重计算方法

本文发布于:2024-02-12 04:56:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1686148.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:权重   系数   计算方法   标准差   Critic

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!