Bootstrap

[层次分析法+模糊综合分析] 基于matlab的XX公司发展情况的综合评价

一 背景介绍

本文分析了一个使用层次分析法(AHP)和模糊综合评价对XX公司的发展现状进行评价,得到了整体的评价结果。主要包含:
专家打分-一致性分析-权重计算-问卷调查-评价矩阵-隶属度矩阵-最终评价结果等内容

二 评价体系的建立

根据XX公司的业务范围和上下游企业的情况,从6个因素31个指标构建评价体系:
在这里插入图片描述

三 AHP计算指标权重

3.1 专家打分

邀请7名专家,使用1-9度量对全体指标分层级进行打分。得到打分数据如下:
在这里插入图片描述
每一份打分表里面包含7个子表格:
在这里插入图片描述

3.2一致性检验

一致性指标是通过对每个比较对的权重进行一致性检验来计算的。检验结果将生成一个一致性比率(Consistency
Ratio,CR),该比率表示决策者在给出比较对时所做的判断的一致性。如果CR值小于等于0.1,则认为决策者的判断是一致的;如果CR值大于0.1,则认为决策者的判断存在一定的不一致性,需要重新进行一致性分析。

经过检验对打分矩阵进行反复调整,直到全部矩阵都通过一致性检验。

在这里插入图片描述

3.3 指标权重

满足一致性检验后,通过特征值和特征向量求得指标的权重:
在这里插入图片描述

四 模糊综合评价

建立模糊评价集V={好,较好,中等,较差,差}五类,对应的数值集N={90,80,70,60,50}。针对XX公司评价体系,设计调查问卷,发放问卷200份,对评价的结果按照评语集的出现频次进行统计,得到全部指标对应不同评语的频次表Cij,结果如下:

在这里插入图片描述
根据评价结果,计算出每个指标的得分情况:
在这里插入图片描述
通过上面的分析,我们得到了31个个指标的评价结果。使用上述评价结果,根据层次分析法计算得到的权重,对福建圣农发展股份有限公司全产业链发展进行整体的综合评价,具体结果如下:
在这里插入图片描述

> 故XX股份有限公司全产业链发展的最终得分为:81.313646815228410,模糊评语为:较好。

五代码分享

clc
close all
clear all
%% 构建比较矩阵
data=struct;
filename='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAHP法专家咨询表.xls';
A1=xlsread(filename,'打分矩阵','b19:g24');
A21=xlsread(filename,'打分矩阵','b30:e33');
A22=xlsread(filename,'打分矩阵','i30:m34');
A23=xlsread(filename,'打分矩阵','b38:e41');
A24=xlsread(filename,'打分矩阵','i38:n43');
A25=xlsread(filename,'打分矩阵','b47:g52');
A26=xlsread(filename,'打分矩阵','j47:o52');
%%
A1=complement(A1);
A21=complement(A21);

A22=complement(A22);
A23=complement(A23);
A24=complement(A24);
A25=complement(A25);
A26=complement(A26);

%% 计算权重

[Lamdamax.a1,W.a1,CR.a1,CR_flag1,CI]=myAHP(A1);


[Lamdamax.a21,W.a21,CR.a21,CR_flag21,CI21]=myAHP(A21);


[Lamdamax.a22,W.a22,CR.a22,CR_flag22,CI22]=myAHP(A22);

[Lamdamax.a23,W.a23,CR.a23,CR_flag23,CI23]=myAHP(A23);

[Lamdamax.a24,W.a24,CR.a24,CR_flag24,CI24]=myAHP(A24);

[Lamdamax.a25,W.a25,CR.a25,CR_flag25,CI25]=myAHP(A25);

[Lamdamax.a26,W.a26,CR.a26,CR_flag26,CI26]=myAHP(A26);





% W.a1
% CR.a1
%%
load("cData.mat")
Score=C*[90 80 70 60 50]'/130;

Score_A=sum(W.a21.*Score(1:4));
Score_B=sum(W.a22.*Score(5:9));
Score_C=sum(W.a23.*Score(10:13));
Score_D=sum(W.a24.*Score(14:19));
Score_E=sum(W.a25.*Score(20:25));
Score_F=sum(W.a26.*Score(26:31));

Score_all=W.a1(1).*Score_A+...
    W.a1(2).*Score_B+...
    W.a1(3).*Score_C+...
    W.a1(4).*Score_D+...
    W.a1(5).*Score_E+...
    W.a1(6).*Score_F;
clc
close all
clear all
%% 构建比较矩阵
Np=7; %专家人数
folderName='专家打分表 共7份';
filenamelist=dir(folderName);
Wall_a1=0;

Wall_a21=0;
Wall_a22=0;
Wall_a23=0;
Wall_a24=0;
Wall_a25=0;
Wall_a26=0;
addpath(folderName)
for p=3:length(filenamelist)
    data=struct;
    filename=filenamelist(p).name;
    A1=xlsread(filename,'打分矩阵','b19:g24');
    A21=xlsread(filename,'打分矩阵','b30:f34');
    A22=xlsread(filename,'打分矩阵','i30:m34');
    A23=xlsread(filename,'打分矩阵','b38:e41');
    A24=xlsread(filename,'打分矩阵','i38:n43');
    A25=xlsread(filename,'打分矩阵','b47:g52');
    A26=xlsread(filename,'打分矩阵','j47:o52');
    %%
    A1=complement(A1);
    A21=complement(A21);
    A22=complement(A22);
    A23=complement(A23);
    A24=complement(A24);
    A25=complement(A25);
    A26=complement(A26);
    %% 计算权重
    [Lamdamax.a1,W(p-2).a1,CR(p-2).a1,CR_flag1,CI]=myAHP(A1);
    [Lamdamax.a21,W(p-2).a21,CR(p-2).a21,CR_flag21,CI21]=myAHP(A21);
    [Lamdamax.a22,W(p-2).a22,CR(p-2).a22,CR_flag22,CI22]=myAHP(A22);
    [Lamdamax.a23,W(p-2).a23,CR(p-2).a23,CR_flag23,CI23]=myAHP(A23);
    [Lamdamax.a24,W(p-2).a24,CR(p-2).a24,CR_flag24,CI24]=myAHP(A24);
    [Lamdamax.a25,W(p-2).a25,CR(p-2).a25,CR_flag25,CI25]=myAHP(A25);
    [Lamdamax.a26,W(p-2).a26,CR(p-2).a26,CR_flag26,CI26]=myAHP(A26);

    %%
    Wall_a1=Wall_a1+W(p-2).a1;

    Wall_a21=Wall_a21+W(p-2).a21;
    Wall_a22=Wall_a22+W(p-2).a22;
    Wall_a23=Wall_a23+W(p-2).a23;
    Wall_a24=Wall_a24+W(p-2).a24;
    Wall_a25=Wall_a25+W(p-2).a25;
    Wall_a26=Wall_a26+W(p-2).a26;

end
    Wall_a1=Wall_a1/7;

    Wall_a21=Wall_a21/7;
    Wall_a22=Wall_a22/7;
    Wall_a23=Wall_a23/7;
    Wall_a24=Wall_a24/7;
    Wall_a25=Wall_a25/7;
    Wall_a26=Wall_a26/7;



load("cData.mat")
Score=C*[90 80 70 60 50]'/130;

Score_A=sum(Wall_a21.*Score(1:5));
Score_B=sum(Wall_a22.*Score(6:10));
Score_C=sum(Wall_a23.*Score(11:14));
Score_D=sum(Wall_a24.*Score(15:20));
Score_E=sum(Wall_a25.*Score(21:26));
Score_F=sum(Wall_a26.*Score(27:31));

Score_all=Wall_a1(1).*Score_A+...
    Wall_a1(2).*Score_B+...
    Wall_a1(3).*Score_C+...
    Wall_a1(4).*Score_D+...
    Wall_a1(5).*Score_E+...
    Wall_a1(6).*Score_F;

disp('A1的权重')
[W.a1]'
disp('A21的权重')

[W.a21]'
disp('A22的权重')

[W.a22]'
disp('A23的权重')

[W.a23]'
disp('A24的权重')

[W.a24]'
disp('A25的权重')

[W.a25]'
disp('A26的权重')

[W.a26]'

六 项目分享

提供①项目源码分享②建模编程辅导答疑③项目代码定制等 有需要的欢迎咨询

;