critic法计算_指标合成的客观权重法之熵权法

本文介绍了熵权法在客观权重确定中的应用,包括起源、决策矩阵的形成、数据归一化处理、特征比重计算、熵值与差异性系数的计算以及权重确定。通过实例展示了数据预处理过程,特别是归一化处理,适用于消除不同指标间的影响。此外,还提供了Matlab程序示例,来源于西北工业大学的数学建模课程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客观权重确定有很多方法,如熵权法,标准离差法,CRITIC法,这里主要讲熵权法

起源

1850年,德国物理学家克劳修斯首次提出熵的概念,用来表示任何一种能量在空间中分布的均匀程度。
1948年,香农将熵的概念引入到信息论当中。在信息论中,熵是对系统状态不确定性的一种度量。
信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也就越大。可根据各项指标的变异程度,利用信息熵这个工具,计算各个指标的权重,为多指标综合评价提供依据。
利用熵的概念确定指标权重的方法称为熵值法。其出发点是根据某同一指标观测值之间的差异程度来反映其重要程度,如果各被评价对象的某项指标的数据差异不大,则反映该指标对评价系统所起的作用不大,差异程度越大,该指标对综合评价的影响越大。

求解流程

1.形成决策矩阵

设参与评价的对象集为

,指标集为
,评价对象
对指标
的值记为
,形成的决策矩阵X为

2.数据的归一化处理

为了消除各指标量纲不同对方案决策带来的影响

### CRITIC计算指标权重的具体步骤 #### 数据预处理 为了确保不同量纲的数据能够公平比较,在应用CRITIC之前,需对原始数据进行标准化处理。这一步骤消除了因单位或数量级差异带来的影响[^2]。 ```python import numpy as np from sklearn.preprocessing import MinMaxScaler def standardize_data(data): scaler = MinMaxScaler() standardized_data = scaler.fit_transform(data) return standardized_data ``` #### 计算对比强度(波动性) 对比强度反映了单个指标内部数值分布的离散程度,通常采用标准差来衡量。对于每一个评价对象而言,某个特定属性上的取值变化幅度越大,则表明该属性对该类事物区分度越高,因此赋予更高的权重[^4]。 ```python def calculate_contrast_intensity(standardized_data): contrast_intensities = np.std(standardized_data, axis=0) return contrast_intensities ``` #### 测定冲突性(相关性) 冲突性描述的是两个不同维度之间是否存在重复表达的信息。当两列特征高度线性关联时,意味着二者提供了相似的信息贡献,此时应适当降低其中一个甚至双方所占比例以避免过拟合风险。这里利用皮尔逊积矩相关系数矩阵来进行定量分析。 ```python import pandas as pd def compute_conflict_matrix(standardized_data): df = pd.DataFrame(standardized_data) correlation_matrix = abs(df.corr().values) conflict_matrix = 1 - correlation_matrix np.fill_diagonal(conflict_matrix, 0) # 对角线设为零 return conflict_matrix ``` #### 综合评分并归一化 最后将上述获得的各项得分相乘得到综合评价值,并实施规范化操作使得总和等于1从而形成有效的概率分布形式作为最终输出结果。 ```python def normalize_weights(weights): sum_of_weights = weights.sum() normalized_weights = weights / sum_of_weights return normalized_weights def critic_method(data): std_data = standardize_data(data) ci = calculate_contrast_intensity(std_data) cm = compute_conflict_matrix(std_data).sum(axis=0) combined_scores = ci * cm final_weights = normalize_weights(combined_scores) return final_weights ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值