(完整版)层次分析法计算权重在matlab中的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息系统分析与设计作业
层次分析法确定绩效评价权重在matlab中的实现
小组成员:孙高茹、王靖、李春梅、郭荣1 程序简要概述
编写程序一步实现评价指标特征值lam、特征向量w以及一致性比率CR的求解。
具体的操作步骤是:首先构造评价指标,用专家评定法对指标两两打分,构建比较矩阵,继而运用编写程序实现层次分析法在MATLAB中的应用。
通过编写MATLAB程序一步实现问题求解,可以简化权重计算方法与步骤,减少工作量,从而提高人力资源管理中绩效考核的科学化电算化。
2 程序在matlab中实现的具体步骤
function [w,lam,CR] = ccfx(A)
%A为成对比较矩阵,返回值w为近似特征向量
% lam为近似最大特征值λmax,CR为一致性比率
n=length(A(:,1));
a=sum(A);
B=A %用B代替A做计算
for j=1:n %将A的列向量归一化
B(:,j)=B(:,j)./a(j);
end
s=B(:,1);
for j=2:n
s=s+B(:,j);
end
c=sum(s);%计算近似最大特征值λmax
w=s./c;
d=A*w
lam=1/n*sum((d./w));
CI=(lam-n)/(n-1);%一致性指标
RI=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45,1.49,1.51];%RI为随机一致
性指标
CR=CI/RI(n);%求一致性比率
if CR>0.1
disp('没有通过一致性检验');
else disp('通过一致性检验');
end
end
3 案例应用
我们拟构建公司员工绩效评价分析权重,完整操作步骤如下:
3.1构建的评价指标体系
我们将影响员工绩效评定的指标因素分为:打卡、业绩、创新、态度与品德。
3.2专家打分,构建两两比较矩阵
A =
1.0000 0.5000 3.0000 4.0000
2.0000 1.0000 5.0000
3.0000
0.3333 0.2000 1.0000 2.0000
0.2500 0.3333 0.5000 1.0000
3.3在MATLAB中运用编写好的程序实现
直接在MATLAB命令窗口中输入
[w,lam,CR]=ccfx(A)
继而直接得出
d =
1.3035
2.0000
0.5145
0.3926
w =
0.3102
0.4691
0.1242
0.0966
lam =4.1687
CR =0.0625,通过一致性检验
3.4解读程序结果
根据程序求解中得出的特征向量,可以得出打卡、业绩、创新以及态度品德在员工绩效评价中所占的权重分别为:0.3102、0.4691、0.1242、0.0966。
4程序评价
优点:运用层次分析法确定绩效评价指标可以简化权重计算方法与步骤,减少工作量,从而提高人力资源管理中绩效考核的科学化电算化;可以实现excel、spss等数据文件的导入,将各个指标的数据导入文件,进而计算出其绩效。
缺点:程序本身没有自带的数据库,只能借助excel等整理好的数据文件将指标导入进而实现运算,在数据录入整理方面存在缺陷。