层次分析法一致性检验python代码
时间: 2024-02-29 13:50:39 浏览: 161
层次分析法(Analytic Hierarchy Process,AHP)是一种用于决策分析的方法,用于解决多准则决策问题。在AHP中,一致性检验是确保决策者对准则和子准则的相对重要性进行一致性评估的过程。
以下是一个使用Python进行AHP一致性检验的示例代码:
```python
import numpy as np
def consistency_check(matrix):
n = matrix.shape[0]
eigenvalues, eigenvectors = np.linalg.eig(matrix)
max_eigenvalue = max(eigenvalues.real)
index = np.where(eigenvalues.real == max_eigenvalue)[0][0]
eigenvector = eigenvectors[:, index].real
normalized_eigenvector = eigenvector / sum(eigenvector)
consistency_index = (max_eigenvalue - n) / (n - 1)
random_index = [0, 0, 0.58, 0.9, 1.12, 1.24, 1.32, 1.41, 1.45, 1.49]
consistency_ratio = consistency_index / random_index[n - 1]
if consistency_ratio < 0.1:
return normalized_eigenvector
else:
raise ValueError("Inconsistent matrix")
# 示例使用
matrix = np.array([[1, 3, 5], [1/3, 1, 2], [1/5, 1/2, 1]])
weights = consistency_check(matrix)
print("准则权重:", weights)
```
上述代码中,`consistency_check`函数接受一个判断矩阵作为输入,并返回一致性检验后的准则权重。在代码中,我们使用了numpy库来进行矩阵运算和特征值计算。
阅读全文