在进行评价时,我们常常需要进行问卷调查,并根据专家打分的结果进行下一步的计算。
这时候,我们需要检查一下专家打分结果是否符合离散度要求(一般离散度<0.05),如果专家数据过于离散,势必会对后面的模型产生影响。
最好的方式是计算离散度后,让专家重新调整打分(云模型就是这种方法),但是在实际操作中较为困难。
那么,我们能否对数据进行科学处理,使数据更严谨呢?是否能操作,很大程度上取决于方法是否得当、科学。
这里介绍一种用MATLAB进行数据拟合的方法,供各位参考。PS:MATLAB的表格不太熟练,专家编号是1,2,3,4;评估项的编号是ABCD。
专家/评估项 | A | B | C | D |
---|---|---|---|---|
1 | 73 | 75 | 63 | 75 |
2 | 71 | 87 | 89 | 80 |
3 | 64 | 76 | 85 | 76 |
4 | 66 | 90 | 63 | 88 |
计算每位专家的离散系数
离散系数=标准差/均值
专家 | 离散系数 |
---|---|
1 | 0.06968 |
2 | 0.086226 |
3 | 0.099168 |
4 | 0.160471 |
从表2看出,4位专家的打分结果都不理想,因此进行拟合,代码如下。
clear all
clc
format long g %不以科学计数法出现最终结果
x=1:4;
y1=[0.73 ,0.75 ,0.63 ,0.75];
y2=[0.71 ,0.87 ,0.89 ,0.80];
y3=[0.64 ,0.76 ,0.85 ,0.76];
y4=[0.66 ,0.90 ,0.63 ,0.88];
p1=polyfit(x,y1,2);
p2=polyfit(x,y2,2);
p3=polyfit(x,y3,2);
p4=polyfit(x,y4,2);
xi=1:0.5:4;%这里拟合精度是0.5,如果拟合效果不理想,可继续提高精度
yi1=polyval(p1,xi);
yi2=polyval(p2,xi);
yi3=polyval(p3,xi);
yi4=polyval(p4,xi);
C1=mean(yi1);
C2=mean(yi2);
C3=mean(yi3);
C4=mean(yi4);
std2(yi1);
std2(yi2);
std2(yi3);
std2(yi4);
S1=std(yi1)^2%检查离散度
S2=std(yi2)^2
S3=std(yi3)^2
S4=std(yi4)^2
拟合结果如下
S1 =
0.000588875000000008
S2 =
0.00439913541666667
S3 =
0.00477421875000001
S4 =
0.00177996875000001
发现精度为0.5时,拟合结果已经满足要求,直接使用拟合后的均值即可,如未满足就继续提高精度拟合。