本文以项目反应理论(IRT)中的Rasch模型为例,详细阐释了在0,1计分的测试中,能力值和难度值是如何求解的。
第一步:根据测试者的作答矩阵求初始题目难度值和人的能力值
以求A人的能力值为例:由于他未作答题目1,其答对率P = 8/9 = 0.89,
然后将答对率P进行对数转化求IRT初始能力值,即:能力值 = ln(p/(1-p)) = ln(0.89/(1-0.89)) = 2.08。
以求题目1的难度值为例:由于题目1的作答缺失,其正确率P = 7/8 ≈ 0.88,
然后将正确率P进行对数转化求IRT初始难度值,即:难度值 = ln((1-p)/p) = ln((1-0.88)/0.88) = -1.95。
为使得所有题目难度均值为0,需对所求的初始难度值进行均值调整,即:
先求所有题目难度的均值 = mean(所有题目初始难度值) = -0.51,然后用每道题的初始难度值减去所有题目难度的均值得到调整后的难度值,以求题目1为例:调整后的题目难度 = -1.95 – (-0.51) = -1.44。
注意!如果某个题目的正确率是0%或100%,或某个人的答对率是0%或100%,将无法进行计算。从理论上讲,全对或全错对于测量是没有意义的,因为它不能提供任何信息。从数学上讲,进行指数转化时,p=0或p=1时,将无法求解。
题目1 | 题目2 | 题目3 | 题目4 | 题目5 | 题目6 | 题目7 | 题目8 | 题目9 | 题目10 | 答对率P | 能力值(Logit) | |
A人 | 缺失 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0.89 | 2.08 |
B人 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0.80 | 1.39 |
C人 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0.70 | 0.85 |
D人 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0.70 | 0.85 |
E人 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0.70 | 0.85 |
F人 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0.60 | 0.41 |
G人 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0.00 |
H人 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0.30 | -0.85 |
I人 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0.20 | -1.39 |
正确率P | 0.88 | 0.89 | 0.89 | 0.89 | 0.78 | 0.67 | 0.33 | 0.44 | 0.11 | 0.11 | 0.46 | |
题目难度(Logit) | -1.95 | -2.08 | -2.08 | -2.08 | -1.25 | -0.69 | 0.69 | 0.22 | 2.08 | 2.08 | -0.51 | |
调整后的题目难度(Logit) | -1.44 | -1.57 | -1.57 | -1.57 | -0.75 | -0.19 | 1.20 | 0.73 | 2.58 | 2.58 | 0.00 |
第二步:迭代
为了使得计算结果更加准确,需要进行多次迭代计算,迭代的目的是为了让理论期望值和实际观察值的差异尽可能的减小。一次迭代涉及三个步骤,分别是求期望值、求期望值方差、求残差。
首先:求期望值。
Rasch模型的计算公式为:P = EXP(能力值 – 难度值) / (1 + EXP(能力值 – 难度值)),
由此可得A人作答题目1的期望值 = EXP(2.08 – (-1.44)) / (1 + EXP(2.08 – (-1.44))) = EXP(3.52) / (1 + EXP(3.52)) = 33.8 / 34.8 = 0.97。
依照此法求得所有期望值。
题目1 | 题目2 | 题目3 | 题目4 | 题目5 | 题目6 | 题目7 | 题目8 | 题目9 | 题目10 | |
A人 | 0.97 | 0.97 | 0.97 | 0.97 | 0.94 | 0.91 | 0.71 | 0.79 | 0.38 | 0.38 |
B人 | 0.94 | 0.95 | 0.95 | 0.95 | 0.89 | 0.83 | 0.55 | 0.66 | 0.23 | 0.23 |
C人 | 0.91 | 0.92 | 0.92 | 0.92 | 0.83 | 0.74 | 0.41 | 0.53 | 0.15 | 0.15 |
D人 | 0.91 | 0.92 | 0.92 | 0.92 | 0.83 | 0.74 | 0.41 | 0.53 | 0.15 | 0.15 |
E人 | 0.91 | 0.92 | 0.92 | 0.92 | 0.83 | 0.74 | 0.41 | 0.53 | 0.15 | 0.15 |
F人 | 0.86 | 0.88 | 0.88 | 0.88 | 0.76 | 0.64 | 0.31 | 0.42 | 0.10 | 0.10 |
G人 | 0.81 | 0.83 | 0.83 | 0.83 | 0.68 | 0.55 | 0.23 | 0.33 | 0.07 | 0.07 |
H人 | 0.64 | 0.67 | 0.67 | 0.67 | 0.48 | 0.34 | 0.11 | 0.17 | 0.03 | 0.03 |
I人 | 0.51 | 0.55 | 0.55 | 0.55 | 0.35 | 0.23 | 0.07 | 0.11 | 0.02 | 0.02 |
其次:求期望值方差。
期望值方差 = 期望值 * (1 – 期望值),
即A人作答题目1的期望值方差 = 0.97 * 0.03 ≈ 0.03,依照此法求得所有期望值方差。
根据IRT中信息量的概念可知:题目的期望值方差等于题目的信息量,信息量越大,表明误差越小。因此,为了描述某个题目或某个人的误差,需用 (-1) * (所有期望值方差的和) 。
注意!IRT中的方差与CTT中的方差互为倒数,在CTT中,方差越大表明误差越大,在IRT中则正好相反。
题目1 | 题目2 | 题目3 | 题目4 | 题目5 | 题目6 | 题目7 | 题目8 | 题目9 | 题目10 | (-1)*(对应行的所有题目期望值方差的和) | |
A人 | 0.03 | 0.02 | 0.02 | 0.02 | 0.05 | 0.09 | 0.21 | 0.16 | 0.23 | 0.23 | -1.08 |
B人 | 0.05 | 0.05 | 0.05 | 0.05 | 0.09 | 0.14 | 0.25 | 0.22 | 0.18 | 0.18 | -1.26 |
C人 | 0.08 | 0.07 | 0.07 | 0.07 | 0.14 | 0.19 | 0.24 | 0.25 | 0.13 | 0.13 | -1.39 |
D人 | 0.08 | 0.07 | 0.07 | 0.07 | 0.14 | 0.19 | 0.24 | 0.25 | 0.13 | 0.13 | -1.39 |
E人 | 0.08 | 0.07 | 0.07 | 0.07 | 0.14 | 0.19 | 0.24 | 0.25 | 0.13 | 0.13 | -1.39 |
F人 | 0.12 | 0.11 | 0.11 | 0.11 | 0.18 | 0.23 | 0.21 | 0.24 | 0.09 | 0.09 | -1.49 |
G人 | 0.15 | 0.14 | 0.14 | 0.14 | 0.22 | 0.25 | 0.18 | 0.22 | 0.07 | 0.07 | -1.58 |
H人 | 0.23 | 0.22 | 0.22 | 0.22 | 0.25 | 0.22 | 0.10 | 0.14 | 0.03 | 0.03 | -1.67 |
I人 | 0.25 | 0.25 | 0.25 | 0.25 | 0.23 | 0.18 | 0.07 | 0.10 | 0.02 | 0.02 | -1.59 |
(-1)*(对应列的所有人期望值方差的和) | -1.08 | -1.01 | -1.01 | -1.01 | -1.44 | -1.69 | -1.74 | -1.84 | -1.00 | -1.00 |
最后:求残差。
残差 = 实际观察值(即原始作答得分) – 期望值。
例:A人作答题目2得到了1分,其期望值为0.97,即残差 = 1 – 0.97 = 0.03。再如:A人作答题目9得0分,其期望值为0.38,即残差 = 0 – 0.38 = -0.38。
这时,可求第一次迭代后的能力值和难度值,
第一次迭代后的能力值 = 初始能力值 – 残差和 / (-1)*(对应行的所有题目期望值方差的和)
以求A人的能力值为例:A人第一次迭代后的能力值 = 2.08 – (0.97 / ((-1) * 1.08)) = 2.98。
第一次迭代后的难度 = 初始调整后的难度值 – 残差和 / ((-1)*(对应列的所有人期望值方差的和))
以求题目1的难度值为例:题目1第一次迭代后的难度值 = -1.44 – (-0.5 / ((-1) * (1.08))) = -1.903,调整后的题目难度 = -1.903 – (-0.136) = -1.77。
题目1 | 题目2 | 题目3 | 题目4 | 题目5 | 题目6 | 题目7 | 题目8 | 题目9 | 题目10 | 残差和 | 第一次迭代后算出的能力值 | |
A人 | 缺失 | 0.03 | 0.03 | 0.03 | 0.06 | 0.09 | 0.29 | 0.21 | -0.38 | 0.62 | 0.97 | 2.98 |
B人 | 0.06 | 0.05 | 0.05 | 0.05 | 0.11 | 0.17 | 0.45 | -0.66 | 0.77 | -0.23 | 0.81 | 2.03 |
C人 | 0.09 | 0.08 | 0.08 | 0.08 | 0.17 | 0.26 | -0.41 | 0.47 | -0.15 | -0.15 | 0.53 | 1.23 |
D人 | 0.09 | 0.08 | 0.08 | 0.08 | 0.17 | 0.26 | -0.41 | 0.47 | -0.15 | -0.15 | 0.53 | 1.23 |
E人 | 0.09 | 0.08 | 0.08 | 0.08 | 0.17 | 0.26 | -0.41 | 0.47 | -0.15 | -0.15 | 0.53 | 1.23 |
F人 | 0.14 | 0.12 | 0.12 | 0.12 | 0.24 | -0.64 | 0.69 | -0.42 | -0.10 | -0.10 | 0.16 | 0.51 |
G人 | 0.19 | 0.17 | 0.17 | 0.17 | -0.68 | 0.45 | -0.23 | -0.33 | -0.07 | -0.07 | -0.22 | -0.14 |
H人 | 0.36 | -0.67 | 0.33 | -0.67 | 0.52 | -0.34 | -0.11 | -0.17 | -0.03 | -0.03 | -0.83 | -1.35 |
I人 | -0.51 | 0.45 | -0.55 | 0.45 | -0.35 | -0.23 | -0.07 | -0.11 | -0.02 | -0.02 | -0.95 | -1.98 |
残差和 | -0.50 | -0.39 | -0.39 | -0.39 | -0.41 | -0.29 | 0.22 | 0.07 | 0.28 | 0.28 | 4.09 | |
第一次迭代后算出的难度值 | -1.90 | -1.96 | -1.96 | -1.96 | -1.03 | -0.36 | 1.33 | 0.76 | 2.86 | 2.86 | -0.136 | |
调整后的题目难度 | -1.77 | -1.82 | -1.82 | -1.82 | -0.89 | -0.22 | 1.46 | 0.90 | 3.00 | 3.00 | 0.00 |
至此,第1次迭代结束,然后继续依据第1次迭代算出来的能力值和难度值进行第2次迭代……
迭代的目的在于降低每个人作答的残差和的平方和,因此,迭代次数与该值有关。第一次迭代后,该值等于4.09 = ((0.97^2) + (0.81^2)) + … + (((-0.83)^2) + ((-0.95)^2))。
本例共进行了9次迭代,在第8次迭代时,每个人作答的残差和的平方和已降到0.02,在第9次迭代时,该值依旧为0.02。由于0.02值非常小,且更多的迭代也没有继续降低该值,此时可停止迭代,将第9次迭代算出的难度值和能力值作为最终计算结果。
最终迭代(即第9次迭代)结果如下:
第9次迭代期望值矩阵:
题目1 | 题目2 | 题目3 | 题目4 | 题目5 | 题目6 | 题目7 | 题目8 | 题目9 | 题目10 | |
A人 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 0.99 | 0.91 | 0.96 | 0.55 | 0.55 |
B人 | 1.00 | 1.00 | 1.00 | 1.00 | 0.99 | 0.97 | 0.70 | 0.84 | 0.23 | 0.23 |
C人 | 0.99 | 0.99 | 0.99 | 0.99 | 0.96 | 0.89 | 0.40 | 0.59 | 0.08 | 0.08 |
D人 | 0.99 | 0.99 | 0.99 | 0.99 | 0.96 | 0.89 | 0.40 | 0.59 | 0.08 | 0.08 |
E人 | 0.99 | 0.99 | 0.99 | 0.99 | 0.96 | 0.89 | 0.40 | 0.59 | 0.08 | 0.08 |
F人 | 0.97 | 0.97 | 0.97 | 0.97 | 0.89 | 0.71 | 0.16 | 0.30 | 0.02 | 0.02 |
G人 | 0.91 | 0.91 | 0.91 | 0.91 | 0.72 | 0.45 | 0.06 | 0.12 | 0.01 | 0.01 |
H人 | 0.65 | 0.65 | 0.65 | 0.65 | 0.31 | 0.12 | 0.01 | 0.02 | 0.00 | 0.00 |
I人 | 0.46 | 0.46 | 0.46 | 0.46 | 0.17 | 0.06 | 0.00 | 0.01 | 0.00 | 0.00 |
第9次迭代期望值方差矩阵:
题目1 | 题目2 | 题目3 | 题目4 | 题目5 | 题目6 | 题目7 | 题目8 | 题目9 | 题目10 | (-1)*(对应行的所有题目期望值方差的和) | |
A人 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.01 | 0.08 | 0.04 | 0.25 | 0.25 | -0.63 |
B人 | 0.00 | 0.00 | 0.00 | 0.00 | 0.01 | 0.03 | 0.21 | 0.13 | 0.18 | 0.18 | -0.74 |
C人 | 0.01 | 0.01 | 0.01 | 0.01 | 0.03 | 0.09 | 0.24 | 0.24 | 0.07 | 0.07 | -0.78 |
D人 | 0.01 | 0.01 | 0.01 | 0.01 | 0.03 | 0.09 | 0.24 | 0.24 | 0.07 | 0.07 | -0.78 |
E人 | 0.01 | 0.01 | 0.01 | 0.01 | 0.03 | 0.09 | 0.24 | 0.24 | 0.07 | 0.07 | -0.78 |
F人 | 0.03 | 0.03 | 0.03 | 0.03 | 0.10 | 0.20 | 0.13 | 0.21 | 0.02 | 0.02 | -0.81 |
G人 | 0.08 | 0.08 | 0.08 | 0.08 | 0.20 | 0.25 | 0.05 | 0.11 | 0.01 | 0.01 | -0.94 |
H人 | 0.23 | 0.23 | 0.23 | 0.23 | 0.21 | 0.11 | 0.01 | 0.02 | 0.00 | 0.00 | -1.27 |
I人 | 0.25 | 0.25 | 0.25 | 0.25 | 0.14 | 0.06 | 0.00 | 0.01 | 0.00 | 0.00 | -1.21 |
(-1)*(对应列的所有人期望值方差的和) | -0.61 | -0.61 | -0.61 | -0.61 | -0.77 | -0.94 | -1.22 | -1.25 | -0.66 | -0.66 |
第9次迭代残差矩阵及最终计算结果:
题目1 | 题目2 | 题目3 | 题目4 | 题目5 | 题目6 | 题目7 | 题目8 | 题目9 | 题目10 | 残差和 | 最终迭代后算出的能力值(最终结果) | |
A人 | . | 0.00 | 0.00 | 0.00 | 0.00 | 0.01 | 0.09 | 0.04 | -0.55 | 0.45 | 0.05 | 4.71 |
B人 | 0.00 | 0.00 | 0.00 | 0.00 | 0.01 | 0.03 | 0.30 | -0.84 | 0.77 | -0.23 | 0.05 | 3.29 |
C人 | 0.01 | 0.01 | 0.01 | 0.01 | 0.04 | 0.11 | -0.40 | 0.41 | -0.08 | -0.08 | 0.04 | 1.98 |
D人 | 0.01 | 0.01 | 0.01 | 0.01 | 0.04 | 0.11 | -0.40 | 0.41 | -0.08 | -0.08 | 0.04 | 1.98 |
E人 | 0.01 | 0.01 | 0.01 | 0.01 | 0.04 | 0.11 | -0.40 | 0.41 | -0.08 | -0.08 | 0.04 | 1.98 |
F人 | 0.03 | 0.03 | 0.03 | 0.03 | 0.11 | -0.71 | 0.84 | -0.30 | -0.02 | -0.02 | 0.01 | 0.71 |
G人 | 0.09 | 0.09 | 0.09 | 0.09 | -0.72 | 0.55 | -0.06 | -0.12 | -0.01 | -0.01 | -0.02 | -0.45 |
H人 | 0.35 | -0.65 | 0.35 | -0.65 | 0.69 | -0.12 | -0.01 | -0.02 | 0.00 | 0.00 | -0.07 | -2.23 |
I人 | -0.46 | 0.54 | -0.46 | 0.54 | -0.17 | -0.06 | 0.00 | -0.01 | 0.00 | 0.00 | -0.07 | -3.03 |
残差和 | -0.04 | -0.04 | -0.04 | -0.04 | -0.03 | -0.01 | 0.03 | 0.02 | 0.03 | 0.03 | 0.02 | |
最终迭代后算出的难度值 | -2.86 | -2.86 | -2.86 | -2.86 | -1.42 | -0.23 | 2.38 | 1.57 | 4.49 | 4.49 | -0.02 | |
调整后的题目难度(最终结果) | -2.84 | -2.84 | -2.84 | -2.84 | -1.40 | -0.21 | 2.39 | 1.59 | 4.50 | 4.50 | 0.00 |
在本例中,所使用的方法叫做联合最大似然估计方法(Joint Maximum Likelihood Estimation algorithm, JMLE),即通过迭代来降低实际观察值和理论值之间的差异,其中理论值用概率值(P)表示,体现了某人正确作答某个题目的可能性(likelihood),通过算法使理论值与实际观察值间的差异尽可能的小,当两者之间的残差最小时,即获得最佳理论值,此时理论值在最大可能性上与实际观测值接近,该值又称最大似然估计值。
您好,尽管还有部分内容尚不能领悟,但这篇文章仍然让我豁然开朗,感谢您将这篇文章带给我。我一直在从事人力资源方向的心理测量工作,看了您对自己的介绍,您也有关注心理学,真希望能与您交流、认识。