我想要一个模糊变权法计算指标权重的python代码
时间: 2023-12-09 13:06:54 浏览: 81
计算权重代码
5星 · 资源好评率100%
好的,以下是一个简单的模糊层次分析法(Fuzzy AHP)的代码示例,用于计算指标权重:
```python
import numpy as np
# 创建模糊矩阵
a = np.array([[1, 3, 1/5], [1/3, 1, 1/7], [5, 7, 1]])
# 归一化处理
a = a / np.sum(a, axis=0)
# 计算平均值
mean_a = np.mean(a, axis=1)
# 创建权重矩阵
w = np.diag(mean_a)
# 求特征向量
eig_val, eig_vec = np.linalg.eig(w.dot(a))
# 归一化处理
eig_vec = eig_vec / eig_vec.sum(axis=0)
# 输出权重
print(eig_vec.real)
```
这个代码示例中,我们首先创建一个模糊矩阵,然后对其进行归一化处理,接着计算每个指标的平均值,并创建一个权重矩阵。然后,我们利用特征值和特征向量的公式,求出特征向量,并对其进行归一化处理,最后输出指标的权重。
阅读全文