层次分析模型(AHP)及其MATLAB实现 |
您所在的位置:网站首页 › 一致性检验计算 › 层次分析模型(AHP)及其MATLAB实现 |
今天用将近一天的时间学习了层次分析模型(AHP),主要参考了一份pdf,这个网站,和暨南大学章老师的课件,现写出一些自己总结的要点。 一、层次分析法的基本步骤: 角度一: 实际问题——分解——>多个因素——建立——>层次结构— —确定——>诸因素的相对重要性——计算——>权向量— —判断——>综合决策
角度二: 建立层次结构模型——>构造判断矩阵——>层次单排序——>一致性检验——>层次总排序。 二、几个理解的重点 1.正反矩阵 若矩阵A=(aij)mxn满足以下特征: (1) aij>0 (2)aij=1/aji 则称矩阵A 为正互反矩阵。 2.一致阵 定义:满足a(ij)·a(jk)=a(ik), i,j,k=1,2,··,n的正互反阵A称一致阵。 性质:A的秩为1,A的唯一非0特征根为n; A的任一列向量是对应于n的特征向量; A的归一化特征向量可作为权向量。注意: 这里想了下,用最大特征根的特征向量替代A,可能是为了最大限度的保存原始数据(A)的信息量(不确定。。。) 3.一致性检验
一致性检验,具体还要涉及组合一致性检验。
三、MATLAB实现 这里先是搜的资料,看到这段代码,代码写得很清晰,这里直接贴在这里。 clc; clear; A=[1 1.2 1.5 1.5; 0.833 1 1.2 1.2; 0.667 0.833 1 1.2; 0.667 0.833 0.833 1]; %因素对比矩阵A,只需要改变矩阵A [m,n]=size(A); %获取指标个数 RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51]; R=rank(A); %求判断矩阵的秩 [V,D]=eig(A); %求判断矩阵的特征值和特征向量,V特征值,D特征向量; tz=max(D); B=max(tz); %最大特征值 [row, col]=find(D==B); %最大特征值所在位置 C=V(:,col); %对应特征向量 CI=(B-n)/(n-1); %计算一致性检验指标CI CR=CI/RI(1,n); if CR |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |