客观赋权法原理优缺点
时间: 2023-11-21 21:42:01 浏览: 1030
客观赋权法是一种权重确定方法,它根据指标的离散程度来确定权重。该方法有以下优点和缺点。
优点:
1. 客观性强:客观赋权法利用数据本身确定权重,减少了主观性对决策结果的影响。
2. 算法简单清晰:该方法的计算逻辑简单,操作性较好,易于实现。
缺点:
1. 忽略指标间的相关性:客观赋权法将不同指标看作独立存在,未考虑指标间的相关性,容易导致权重分配不合理的情况。
2. 难以直接应用到实际中:熵权法完全依赖于数据本身,计算得出的权重往往难以直接应用到实际中,需要进行一定的调整。
基于客观赋权法的优缺点,其适用范围包括:
1. 适合应用于指标间相关性较弱的数据。
2. 可作为基础权重确定方法使用。
3. 当指标量纲相差较大时,可以考虑进行标准化处理。
总之,客观赋权法是一种根据指标离散程度确定权重的方法,具有客观性强和计算简单等优点,但忽略指标间的相关性和难以直接应用到实际中等缺点。它适用于指标间相关性较弱的数据,并且可以作为基础权重确定方法使用。
相关问题
topsis组合赋权
### Topsis 方法与组合赋权技术
#### 一、Topsis 方法概述
Topsis (Technique for Order Preference by Similarity to Ideal Solution) 是一种常用的多属性决策方法,其核心思想是通过计算方案到理想解的距离来进行排序。该方法能够有效处理定量化评估问题,并具有较强的直观性和可操作性。
在实际应用中,权重的确定对于 Topsis 结果有着至关重要的影响[^2]。为了提升权重设定的合理性,可以采用多种方式相结合的方式——即所谓的“组合赋权”。
#### 二、组合赋权原理
组合赋权是指综合利用两种或更多种不同的赋权手段来获得更加合理的权重配置。常见的组合策略包括但不限于:
- **主观赋权法**:如层次分析法(AHP),依赖于领域专家的经验判断;
- **客观赋权法**:像熵权法则依据数据本身的分布特征自动调整权重大小。
这两种方法各有优缺点,前者能较好反映人类直觉思维模式下的偏好倾向;后者则更侧重于挖掘隐藏于大量样本背后的真实规律。因此,在某些情况下将两者结合起来往往可以获得更好的效果。
具体而言,可以通过先运用 AHP 获取初步权重估计值,再借助熵权法对其进行修正优化,从而得到最终用于 Topsis 计算的理想权重向量[^3]。
#### 三、Python 实现案例
下面给出一段 Python 代码片段展示如何实现上述过程:
```python
import numpy as np
from sklearn.preprocessing import MinMaxScaler
def entropy_weight(data):
"""计算熵权"""
data = np.array(data)
P = data / data.sum(axis=0)
E = -np.nansum(P * np.log(P), axis=0) / np.log(len(data))
d = 1 - E
w = d / np.sum(d, axis=0)
return w.tolist()
def topsis(matrix, weights=None):
scaler = MinMaxScaler()
norm_matrix = scaler.fit_transform(matrix)
pos_ideal_sol = np.max(norm_matrix*weights, axis=0)
neg_ideal_sol = np.min(norm_matrix*weights, axis=0)
distance_pos = ((norm_matrix-pos_ideal_sol)**2).sum(axis=1)**0.5
distance_neg = ((norm_matrix-neg_ideal_sol)**2).sum(axis=1)**0.5
closeness = distance_neg/(distance_pos + distance_neg)
rank = (-closeness).argsort().tolist()
return {'rank': rank}
if __name__ == '__main__':
# 假设有一个 m 行 n 列的数据集 matrix 和对应的初始权重 vector_w
matrix = [[...], [...]]
vector_w = [...]
final_weights = entropy_weight(matrix)*vector_w
result = topsis(matrix, final_weights)
```
此段程序首先定义了一个函数 `entropy_weight` 来计算给定矩阵每列元素的重要性系数(即熵权),随后实现了标准形式下的 Topsis 排序算法。最后部分展示了当拥有原始评分表以及由其他途径得出的基础权重时应怎样调用这些功能模块完成整个流程的操作示范。
阅读全文
相关推荐












