层次分析法中的特征根法计算权重
时间: 2023-11-28 15:14:45 浏览: 364
在层次分析法中,特征根法是一种计算权重的方法。其基本思路是将判断矩阵进行特征值分解,然后根据特征值的大小来确定权重。
具体的计算步骤如下:
1. 构造判断矩阵A,其中第i行第j列的元素aij表示因素i相对于因素j的重要程度,且满足正互反性,即aij=1/aji。对角线上的元素aii=1,表示因素i与自己的比较。
2. 求出A的特征值λ1,λ2,…,λn和对应的特征向量v1,v2,…,vn。
3. 将特征值按降序排列,即λ1≥λ2≥…≥λn。
4. 计算权重向量w,其中wi=vi1/∑j=1n vij,即第i个因素的权重等于其对应的特征向量中第一个元素vi1与所有元素的和。
最后得到的权重向量w可以用于进行决策,其中权重越大的因素越重要。
相关问题
spss层次分析法求权重
SPSS(Statistical Package for the Social Sciences)是一个广泛用于社会科学和商业研究的数据分析软件。层次分析法(Hierarchical Analysis,也称为专家判断法或主成分分析法)是一种定性和定量结合的方法,用于确定给定决策问题中各项因素的相对重要性。
在SPSS中进行层次分析,通常需要以下几个步骤:
1. **构建层次结构**:首先,将决策因素分解成若干层次,比如目标层、准则层和备选方案层。
2. **建立判断矩阵**:对每一级之间的相对重要性进行评估,形成一个两两比较的判断矩阵。例如,准则层的每个因素与其他所有因素的重要性对比。
3. **计算一致性比率**:通过一致性检验确保专家提供的比较数据的一致性。如果比率小于预定阈值(如0.1),则认为评价合理。
4. **标准化权重**:通过平均互信息(Ave)、最大特征根(R)或百分比贡献(Pct Contrib)等方法,计算出各层次因素的权重。
5. **递归层次分析**:如果存在下一层,重复上述步骤,直到达到最底层。
6. **结果展示**:最后,SPSS会显示各个因素的排序及其相应的权重。
层次分析法综合权重和排序
层次分析法(Analytic Hierarchy Process, AHP)是一种用于多准则决策制定的技术,其中涉及构建一个层级结构来表示目标、标准以及相对于这些标准的替代方案。为了确定各个因素的重要性或者优先级顺序,AHP采用了一系列步骤来进行综合权重计算与排序。
对于综合权重计算和排序的方法如下:
构造判断矩阵
在每一层中,针对上一层中的每一个元素,都需要建立一个成对比矩阵。这个矩阵反映了同属下一级别的不同元素之间的相对重要性比例关系。通常使用1至9的比例尺度来量化这种偏好程度。
一致性检验
完成判断矩阵之后,需要检查是否存在显著的一致性误差。这是通过计算最大特征根及其对应的右特征向量,并利用随机一致性比率(CR)来评估。当CR小于0.1时,则认为该判断矩阵具有满意的一致性;否则需调整直至满足条件为止。
计算单排序权值
一旦确认了所有必要的判断矩阵都是一致性的,就可以根据它们各自的归一化后的列向量得到相应级别的单一要素权重分布情况。
合成总体权重
接下来,在获得各级别内部各因子单独排序的基础上,结合上级节点的影响系数,递推地累加求得最底层单元在整个系统内的绝对地位——即所谓的“综合权重”。
技术实现方面:
编程语言如Python能够很好地支持这一过程。例如,可以借助numpy库执行线性代数运算以辅助计算特征值及特征向量等关键参数。
```python
import numpy as np
def calculate_eigenvector(matrix):
eigenvalues, eigenvectors = np.linalg.eig(matrix)
max_index = np.argmax(eigenvalues.real)
return (eigenvectors[:,max_index].real / sum(eigenvectors[:,max_index].real)).tolist()
# 示例输入:正互反阵(假设已经过一致性检测)
matrix_example = [[1, 3], [1/3., 1]]
weights = calculate_eigenvector(np.array(matrix_example))
print("Weights:", weights)
```
阅读全文