python 层次分析法 多层权重
时间: 2023-10-29 16:57:47 浏览: 210
层次分析法Python数模代码.txt
在Python中,可以使用层次分析法来计算多层权重。下面是一个示例代码:
```python
import numpy as np
# 构造判断矩阵
judgment_matrix = np.array([[1, 3, 5],
[1/3, 1, 2],
[1/5, 1/2, 1]])
# 计算相对权重
eigenvalues, eigenvectors = np.linalg.eig(judgment_matrix)
max_eigenvalue_index = np.argmax(eigenvalues)
weights = eigenvectors[:, max_eigenvalue_index / np.sum(eigenvectors[:, max_eigenvalue_index])
# 进行一致性检验
consistency_ratio = (np.max(eigenvalues) - judgment_matrix.shape - 1)
if consistency_ratio < 0.1:
# 通过一致性检验,计算权重
final_weights = weights
# 根据权重进行排序
sorted_indices = np.argsort(final_weights)[::-1]
sorted_weights = final_weights
阅读全文