评价模型 - 层次分析法

应用场景:决策模型(通过赋权,然后利用加权值来进行决策)、给指标赋权

准则层:先给这5个部分进行 5×5 的赋权(比如,景色相比费用略微重要,赋成3),然后对这个矩阵进行求解,得到一个权值向量
注意,如果我们将 景色-费用 费用-居住 赋值了之后,景色-居住 也相应确定了,因此不能赋的太离谱,为了检测这个,进行 一致化检测 (利用特征值)

这样我们就得到了准则层A,5项内容的权值
考虑方案层B,先固定一个准则,比如景色。然后再进行一次赋权,比如杭州比桂林景色略微好点,所以赋成3,得到一个 3×3 矩阵,对这个矩阵求解得到权值向量。所以,就景色而言得到了三个地方占比。
将5个准则都完成,
image
image

最终一个地方的价值就是 ×

A=[1 1/5 1/7 1/4
5 1 1/2 2
7 2 1 3
4 1/2 1/3 1]
%% 一致性检验和权向量计算
n = length(A);
[v,d]=eig(A);%计算特征根和特征向量
[temp,loc] = max(max(d));%返回loc为特征向量所在列
r=max(max(d));
CI=(r-n)/(n-1);
RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.52 1.54 1.56 1.58 1.59];
CR=CI/RI(n);
if  CR<0.10 || n==2
    CR_Result='通过';
   else
    CR_Result='不通过';
end

%% 权向量计算
w=v(:,loc)/sum(v(:,loc));
w=w';

%% 结果输出
disp('该判断矩阵权向量计算报告:');
disp(['CI:' num2str(CI)]);
disp(['CR:' num2str(CR)]);
disp(['一致性检验结果:' CR_Result]);
disp(['特征值:' num2str(r)]);
disp(['权向量:' num2str(w)]);

image

posted @   SkyRainWind  阅读(236)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示