拥有子指标层的层次分析法怎么做,举一个实例和完整的python代码
时间: 2024-10-27 08:02:26 浏览: 13
拥有子指标层的层次分析法(Hierarchical Analytical Hierarchy Process, HAP),也称为多层次AHP,适用于涉及多个层级和子领域的复杂决策问题。它的基本思路是在原有的AHP基础上增加了一个或多个中间层次,以细化分析。
举个例子,假设我们要决定投资哪个城市开设新的工厂,我们可能会有以下层次:
- 第二层:子层 - "经济潜力"、"劳动力成本"、"基础设施"、"政策支持"
- 第三层:更具体的指标 - "经济增长率"、"平均工资"、"交通便利度"、"税收优惠"
下面是简单的Python代码示例,用`pandas`和`numpy`库来演示如何进行层次分析(这里仅展示核心部分,实际应用可能需要更多的输入和验证机制):
```python
import pandas as pd
from scipy import linalg
# 定义决策矩阵(一般为专家评估的结果)
criteria_matrix = pd.DataFrame({
'经济潜力': [0.6, 0.7, 0.8],
'劳动力成本': [0.3, 0.4, 0.5],
'基础设施': [0.5, 0.6, 0.7],
'政策支持': [0.4, 0.5, 0.6]
}, index=['城市A', '城市B', '城市C'])
# 对于每个子层,计算其相对重要性
sub_criteria_matrix = criteria_matrix.T @ criteria_matrix
weights = linalg.inv(sub_criteria_matrix.values).diagonal()
# 进一步计算每个城市的总权重
city_weights = criteria_matrix @ weights
print("每个城市的总权重:", city_weights)
```
在这个例子中,首先我们创建了一个表示各个子指标权重的矩阵,然后计算了这个矩阵的逆,得到子指标的相对重要性。最后,我们将这个重要性应用于原始的城市指标上,得到每个城市作为整体的综合得分。
阅读全文