1、程序名称
基于AHP与CRITIC的组合赋权方法
2、程序功能(对象)
- 适用于对两个及以上的对象进行综合评估;
- 主观赋权法:AHP(输入专家对指标排序及相邻指标相对重要程度)
- 客观赋权法:CRITIC(输入各评估对象的指标原始值)
- 输出:评估对象的综合权重以及综合评分值对比
- 应用领域:根据需求而定,博主研究领域是配电网评估以下均在该领域计算
3、AHP与CRITIC理论介绍
AHP:将复杂问题分解成有序的梯阶层次结构,每层中决策者通过两两比较的方式判断各元素间的相对重要性,运用标度系统,将定性判断量化,构造判断矩阵,在采用一定的数学方法求取各元素权重。最后采用加权求和的方法,在梯阶层次结构内进行融合,得到规划方案对于总目标的相对重要程度,并根据相对重要程度的大小对规划方案进行排序、择优。
CRITIC:指标内差异又称为对比强度,常用标准差σ来表示,标准差小,数据难以区分,所赋权重应小,反之则大;指标间的冲突性反应的是两个指标关联性大小,如果其正相关较强那么冲突性较低,为了避免单一重复因素主导评估结果,所赋权重较小,反之越大。
3.1 AHP计算步骤
3.1.1 建立分层级的指标体系
如下图所示,建立三层评价指标体系,一般而言第一层为目标层,即评价对象;第二层为评价对象的某类属性特征,用来描述评估对象;第三层为某类属性特征下具体的指标,这些指标都隶属于这类特性之下,且不同时属于其他属性特征。
3.1.2 计算判断矩阵的最大特征值
判断矩阵的元素需运用标度系统进行赋值,采用1-9等差比率的标度系统如下表所示,比较同级指标两两比较来表征相对重要程度,并建立层与层之间的因素的判断矩阵。这里以C11与C12指标(同类)为例,判断矩阵次斜对角线r12 = C11/C12 = 1.2 ,则认为C11的重要程度是C12的1.2倍,依次类推形成判断矩阵。
3.1.3 一致性校验
因同时对多个指标比较时,分析判断结果会出现思维一致性偏差。故引入判断矩阵偏离一致性CI与判断矩阵的平均随机一致性指标RI的比值CR来校验判断值思维的一致性。
一致性比例CR定义为:
其中CI为一致性指标,可通过下式求解:(λmax为判断矩阵的最大特征根)
针对RI的取值见下表所示
矩阵阶数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RI | 0 | 0 | 0.52 | 0.89 | 1.12 | 1.26 | 1.36 | 1.41 | 1.46 | 1.49 | 1.52 | 1.54 | 1.56 | 1.58 | 1.59 | 1.59 |
若CR<0.1则判断矩阵具有满意的一致性。
3.2 CRITIC计算步骤
本质是依据数据信息量的多少确定客观权重,采用标准差表征对比强度;采用相关系数衡量指标之间冲突性,将对比强度乘以冲突性的结果表示各指标的信息量。针对Y个评估对象,每个对象包含H个评价指标,依据指标对评价结果的影响可分为正向指标和负向指标,所有评估对象的指标值如下式所示。
3.2.1 正向化计算
针对原始指标数值矩阵B中存在正向指标(越大评价对象的越好)和负向指标,因此需要对负向指标进行正向化,转换过程如下式表示
式中,max(Bi)为所有评估对象中第i个指标的最大值(基准值);σ为系数可取0.1;b’ij为正化后的指标数值矩阵。
3.2.2 归一化计算
指标数据进行归一化得到矩阵B’‘=(b’'ij),矩阵维度为H×Y维,元素可计算表示为:
3.2.3 计算各指标的标准差和相关系数
根据指标归一化矩阵B’'计算标准差δi,计算公式:
式中,b’‘i为第i个指标在所有评估对象的均值。
第k个指标与第l个指标的相关系数为p(kl)可表示为:
式中,cov(B’‘k,B’'l)为标准矩阵中第k、l行的协方差。
3.2.4 计算各指标的信息量C
式中,Ci为指标i所包含的信息量大小。
3.2.5 计算客观权重
3.2 综合权重计算
式中,Wi为第i个指标的综合权重
程序函数说明
matlab版:
- 主程序:Effcicey
- AHP输入参数:5个专家重要程度打分情况
- CRITIC输入参数:4个评估对象13个评估指标
- 输出变量:各个指标主观权重、客观权重以及综合权重
数据归一化
xxa(:,j)=(max_xa(j)-data_t(:,j))./(max_xa(j)-min_xa(j)); %归一化数据
相关系数计算
s=std(b')./mean(b');
r=abs(corrcoef(b'));
指标权重求解程序
%% G1权重(列向量)———————————
G1=AHP;
%% 综合权重(行向量)———————————
W_t=sqrt(w_j.*G1)./sum(sqrt(w_j.*G1)); %组合权重
W=[W;W_t' ];
计算评价对象的评估值
%能效全天评估值
time_coefficient1 = load(:, 1)/sum(load(:, 1));
day_system1 =result_system1* time_coefficient1;
time_coefficient2 = load(:, 2)/sum(load(:, 2));
day_system2 =result_system2* time_coefficient2;
time_coefficient3 = load(:, 3)/sum(load(:, 3));
day_system3 =result_system3* time_coefficient3;
time_coefficient4 = load(:, 4)/sum(load(:,4));
day_system4 =result_fid* time_coefficient4;
计算结果展示
1.对四个评估对象全天24小时13个指标综合权重计算结果如下表所示,综合权重随着指标数值和指标的表现程度变化而产生的时序变化,权重体现出指标树数值的波动情况而且表现出指标任意时刻的恶劣程度。
2.对四个评估对象全天24小时评估结果如下图所示,红色线条全天的评估值处于较高水平;而蓝色全天处于较低水平;粉色夜间和凌晨评估值较低白天评估值较高;绿线夜间评估值较低白天评估值波动较大。
参考文献:基于改进 G1-CRITIC 的直流多馈入受端系统故障筛选与排序_王源
程序链接与探讨
如需博主的完整版matlab版/python版私信,也可以V博主一下:lemonyoungman,欢迎点赞收藏。