共计 1824 个字符,预计需要花费 5 分钟才能阅读完成。
背景与痛点
层次分析法(AHP)是一种广泛应用于多准则决策的工具,其中判断矩阵的一致性至关重要。如果判断矩阵不一致,决策结果可能会偏离实际情况。传统的一致性修正方法通常依赖于经验调整,效率低下且难以保证准确性。

- 传统方法的局限性 :人工调整耗时且容易引入主观偏差,缺乏系统性。
- 模式识别法的优势 :通过数学方法自动识别不一致性模式,提高修正效率和准确性。
模式识别法原理
模式识别法基于特征向量和特征值分析,识别判断矩阵中的不一致性模式。具体步骤如下:
- 计算判断矩阵的最大特征值(λ_max)和对应的特征向量(W)。
- 通过特征向量和特征值分析,识别矩阵中不一致的判断对。
- 根据不一致性模式,调整判断矩阵中的相应元素。
数学公式:
- 一致性指标(CI):
$$ CI = \frac{\lambda_{max} – n}{n – 1} $$ - 一致性比率(CR):
$$ CR = \frac{CI}{RI} $$
其中,RI 为随机一致性指标。
实现步骤
- 构建判断矩阵。
- 计算特征值和特征向量。
- 识别不一致性模式。
- 修正判断矩阵。
- 重新计算一致性比率,验证修正效果。
代码示例
import numpy as np
from numpy.linalg import eig
def check_consistency(matrix):
"""检查判断矩阵的一致性"""
n = matrix.shape[0]
eigenvalues, eigenvectors = eig(matrix)
lambda_max = max(eigenvalues.real)
CI = (lambda_max - n) / (n - 1)
RI = {1: 0, 2: 0, 3: 0.58, 4: 0.9, 5: 1.12, 6: 1.24, 7: 1.32, 8: 1.41, 9: 1.45, 10: 1.49}
CR = CI / RI[n]
return CR
def correct_matrix(matrix, threshold=0.1):
"""修正判断矩阵"""
CR = check_consistency(matrix)
while CR > threshold:
n = matrix.shape[0]
eigenvalues, eigenvectors = eig(matrix)
lambda_max = max(eigenvalues.real)
max_index = np.argmax(eigenvalues.real)
eigenvector = eigenvectors[:, max_index].real
eigenvector = eigenvector / eigenvector.sum()
# 识别不一致性模式并修正
for i in range(n):
for j in range(i + 1, n):
if abs(matrix[i, j] - (eigenvector[i] / eigenvector[j])) > 0.5:
matrix[i, j] = eigenvector[i] / eigenvector[j]
matrix[j, i] = 1 / matrix[i, j]
CR = check_consistency(matrix)
return matrix
# 示例矩阵
matrix = np.array([[1, 3, 5], [1/3, 1, 2], [1/5, 1/2, 1]])
print("原始矩阵的一致性比率:", check_consistency(matrix))
corrected_matrix = correct_matrix(matrix)
print("修正后的矩阵:\n", corrected_matrix)
print("修正后的一致性比率:", check_consistency(corrected_matrix))
验证与测试
修正后的矩阵应满足一致性比率(CR)小于 0.1。通过计算 CR 值,可以验证修正效果。如果 CR 值仍高于阈值,需进一步修正。
避坑指南
- 避免过度修正 :每次修正应微调,避免大幅改变矩阵结构。
- 检查输入矩阵 :确保矩阵对角线元素为 1,且满足互反性。
- 合理设置阈值 :CR 阈值通常设为 0.1,但可根据实际需求调整。
进阶思考
模式识别法虽高效,但并非唯一方法。其他方法如最小调整法、迭代修正法等也值得探索。读者可以进一步比较不同方法的优缺点,选择最适合的修正策略。
参考文献
- Saaty, T. L. (1980). The Analytic Hierarchy Process. McGraw-Hill.
- 徐泽水. (2002). 层次分析法中判断矩阵排序方法的研究 . 系统工程理论与实践.
进一步学习资源
正文完
发表至: 未分类
近一天内
