正在打开模型库
正在打开模型库
把复杂目标拆成层次,用两两比较得到指标权重。
人很难一次给 10 个指标打分,但可以两两说谁更重要,再还原出权重。
指标有明显层级、必须写出“谁比谁重要”时用。
Python 代码
import numpy as np
A = np.array([
[1, 3, 5],
[1 / 3, 1, 2],
[1 / 5, 1 / 2, 1],
], dtype=float)
w, v = np.linalg.eig(A)
idx = np.argmax(w.real)
weights = v[:, idx].real
weights = weights / weights.sum()
n = A.shape[0]
ci = ((w.real[idx] - n) / (n - 1))
print("权重:", np.round(weights, 3), "CI:", round(ci, 4))