项目反应理论IRT

1

项目反应理论

项目反应理论(Item Response Theory, IRT)是一系列心理统计学模型的总称,是针对经典测量理论(Classical Test Theory,简称CTT) 的局限性提出来的。
在许多教育和心理测量情况下都有一个潜在的变量,这个变量往往是可以直观理解的东西,比如“智力”、“阅读能力“和“算术能力”等描述性术语。这些都是不可观察的,潜在的特征。虽然它们很容易描述,但它们不能像身高或体重那样直接测量,因为变量是一个概念而不是物理维度。教育和心理测量的主要目标是确定一个人拥有多少这种潜在特征。由于大多数研究都涉及学术、阅读、数学和算术能力等变量,因此在项目反应理论中使用通用术语“能力”来指代这些潜在特征。
如果要测量一个人具有多少潜在特征,则需要有一个测量尺度。基本思想是,如果可以从物理上确定一个人的能力,则可以使用此标尺来判断一个人具有多少能力,并且可以比较几个人的能力。理论上的能力范围是从负无穷到正无穷,但实际考虑通常将值的范围限制在 3 到 -3 之间。
IRT用学生能力值​\theta与题目难度​\delta的函数来表示学生答对题目的概率。 该函数定义的是一个机率模型,取值介于0到1之间,当学生的能力值越高,所对应的函数值也越高,换句话说,如果学生能力值越高,他答对该题的机率会越高。函数图形近似于S型曲线。

一、项目特征曲线(ICC, Item Characteristic Curve)

一个合理的假设是,每个对测试项目做出反应的考生都具有一定程度的潜在能力。因此,可以认为每个考生都有一个能力值分数,用以将考生置于能力量表的某个位置。该能力分数由希腊字母​\theta表示。在每个能力水平上,具有该能力的考生都会有一定的概率给出正确答案。这个概率将用 P. / 表示。对于一个典型的测试项目,这个概率对于能力低的考生来说会很小,而对于能力高的考生来说这个概率会很大。如果将 P./ 绘制为能力的函数,则结果将是一条平滑的 S 形曲线,如图 1.1 所示。正确反应的概率在最低能力水平下接近于零,并增加直到在最高水平能力下正确反应的概率接近统一。这条 S 形曲线描述了对一个项目的正确反应的概率与能力量表之间的关系。在项目反应理论中,它被称为项目特征曲线。测试中的每个项目都有自己的项目特征曲线

根据IRT理论,每个考生都具有一定程度的潜在能力,该能力用字母​\theta 表示 。在每个能力水平上,具有该能力的考生都会有一定的概率给出正确答案。这个概率将用 ​P(\theta) 表示。对于一个的测试题目,​P(\theta) 对于能力低的考生来说会很小,对于能力高的考生概率会很大。如果将​P(\theta) 绘制为能力​\theta的函数,则结果将是一条平滑的 S 形曲线,如图 1 所示,这条 S 形曲线描述了对一个项目的正确回答的概率与能力之间的关系。在项目反应理论中,它被称为项目特征曲线ICC。测试中的每个项目都有自己的项目特征曲线。
image-20250708232253705
图1 项目特征曲线(ICC, Item Characteristic Curve)

二、项目难度和项目区分度(Item Difficulty and Item Discriminatio)

image-20250708232307391
图2 具有相同区分度但难度不同的三个项目特征曲线

上图2中,最上边的曲线表示一个简单的项目,因为较低能力考生的正确回答概率很高,而高能力考生的正确回答概率接近 1。中间曲线代表一个中等难度的项目;最下边曲线代表较难项目。对于能力范围大多数在-3到3的考生,回答正确的概率很低,即使在显示的最高能力水平(即​\theta=3)下,正确概率仅为 0.8,只有在达到更高的能力水平时才会增加正确概率。

image-20250708232316224
图3 难度相同但区分度不同的三个项目特征曲线

图3中,正能力范围上方曲线具有高的区分度,该曲线在中间非常陡峭,其中正确响应的概率随着能力的增加而变化非常快。中间曲线代表具有中等项目辨别水平的项目。这条曲线的斜率远小于前一条曲线,并且随着能力水平的提高,正确响应的概率变化也不如前一条曲线那么显着。第三条曲线表示区分度较低的项目。曲线的斜率非常小,正确反应的概率在所示的能力范围内变化缓慢。即使在能力水平较低的情况下,正确反应的概率也相当大,并且只有在达到高能力水平时才会略微增加。

image-20250708232326420
图4 具有完美辨别力的项目特征曲线
图4 是具有完美辨别力的项目特征曲线。在​\theta=1.5处垂直线的左侧,正确响应的概率为零,而在该线的右侧,正确响应的概率为 1。因此,该项目完美区分了高于和低于1.5能力得分的考生。但是,该项目对于能力在 1.5 以上的和 1.5 以下的考生没有区别。

三、项目难度和项目区分度的口头术语(Verbal Terms)

在项目反应理论的中,为了让对项目特征曲线及其属性有一个直观的理解。项目难度和项目区分度将在口头上定义。
项目难度将有以下等级:

very easy
easy
medium
hard
very hard

项目区分度分以下等级:

none
low
moderate
high
perfect

示例: R语言绘制不同的项目特征曲线

bveryeasy <- -2.625
beasy <- -1.5
bmedium <- 0
bhard <- 1.5
bveryhard <- 2.625

anone <- 0
alow <- 0.4
amoderate <- 1
ahigh <- 2.1
aperfect <- 999

iccplot <- function(b, a) {
par(lab=c(7,3,3))
theta <- seq(-3, 3, .1)
P <- 1 / (1 + exp(-a * (theta - b)))
plot(theta, P, type="l", xlim=c(-3,3), ylim=c(0,1),
xlab="Ability", ylab="Probability of Correct Response")
}

iccplot(beasy, amoderate)
par(new=T)
iccplot(bmedium, amoderate)
par(new=T)
iccplot(bhard, amoderate)
 

image-20250708232335460

四、项目特征曲线模型(ICC, Item Characteristic Curve Models)

ICC常用三个数学模型来表示,每个模型采用一个或多个项目参数。

1、ICC曲线数学模型

双参数模型(The Two-Parameter Model)

在IRT理论下,ICC的标准数学模型是 logistic函数的累积形式 Logistic 函数于 1844 年由 Pierre François Verhulst 首次推导出来, 1950 年代后期首次被用作 ICC项目特征曲线的模型,并且由于其简单性,已成为首选模型。双参数逻辑模型:

P(\theta)=\frac{1}{1+e^{-L}}=\frac{1}{1+e^{-a(\theta-b)}}

其中:
​b表示项目难度;
​a表示项目区分度(Item Discrimination);
​L=a(\theta-b)是是逻辑偏差(logit);
​\theta表示能力水平。

项目难度参数,用​b 表示,定义为能力量表上对项目做出正确反应的概率为 0.5的点。该参数值的理论范围是 ​-\infty \leq b \leq+\infty,实践中,通常情况取值范围 为​-3 \leq b \leq3

ICC曲线的斜率随着能力水平​\theta的变化而变化,并在​\theta=b时达到最大值,定义该处的斜率来表示项目区分度。在双参数模型下,​\theta=b处的实际斜率是​a/4,将​a 视为​b处的斜率是可接受的近似值,因此参数​a用于表示项目区分度参数。该参数值的理论范围是​-\infty \leq a \leq+\infty ,实践中常取 ​-2.8 \leq b \leq2.8

The Rasch Model

Rasch模型由丹麦数学家 Georg Rasch提出。该模型假设所有项目区分度为1,即在双参数模型中,项目参数​a=1,只有项目难度参数​\theta可以取不同的值。因此,Rasch 模型通常被称为单参数逻辑模型。 Rasch 模型的方程由下式给出:

P(\theta)=\frac{1}{1+e^{-1(\theta-b)}}

三参数模型(The Three-Parameter Model)

上述两个模型没有考虑考生在答题过程中猜对题目的情况,Birnbaum (1968) 在双参数逻辑模型基础上增加了一个参数​c,该参数表示猜测对题目的概率。在这样的过程中,虽失去了一些逻辑函数的一些数学特性,但由此产生的模型还是称为三参数逻辑模型,三参数模型的方程为:

P(\theta)=c+(1-c) \frac{1}{1+e^{-a(\theta-b)}}

其中,​c表示猜对概率。

要注意的是根据定义,​c 的值不会随着能力水平的变化而变化。因此,能力最低和能力最高的考生通过猜测猜对题目的概率可能相同。参数​c 的理论范围为​0 \leq c \leq 1.0,但实际上高于 0.35 的值被认为是不可接受的,在实际中​0 < c < 0.35

使用猜测参数 ​c 使项目难度参数的定义发生了变化。在前两个模型中,项目难度 ​b 是能力量表上对项目做出正确反应的概率为 0.5的点。在三参数模型中,ICC曲线下限不为0,而与参数​c有关,​P(\theta)范围 ​c \leq P(\theta) \leq 1.0,项目难度 ​b 对应能力量表上项目做出正确反应的概率为​P(\theta)=c+(1-c)(0.5)=(1+c) / 2的点。

三参数模型中,仍用​a表示项目区分度,但​\theta=b处的实际斜率是​a(1-c)/4

项目参数 b 和 a 定义的这些变化看起来很小,但在解释测试分析结果时很重要。

2、负区分度(Negative Discrimination)

大多数测试项目都会以积极的方式(positive manner)进行区分,即随着能力水平的提高,正确反应的概率增加,但一些项目具有负区分度。在此类项目中,正确回答的概率随着能力水平从低到高的增加而降低。如图1:
99b96911a414670b8f542f1ab2f59815.png
图1 双参数ICC(b = 0, a = -0.75)

通常情况下区分度应为正值,出现负值说明测试项目可能存在问题。

五、项目参数的口头术语(Verbal Terms)

1. 区分度参数

表1 用于描述项目区分度的标签
d64257928f3ef76d279cf5cc83101ac3.png
在ICC曲线的逻辑模型下解释项目区分参数时,这些关系成立。若解释正态卵形(normal ogive)模型下的项目区分度参数,对应值除以 1.7。

2. 项目难度参数

根据经典测试理论,项目难度是相对于一组考生定义的。同一项目可能对一组人来说很容易,而对另一组人却很难。根据IRT理论,项目的难度是能力量表上正确回答概率为0.5的点(三参数模型为​(1+c) / 2的点)。
解释项目难度参数的方法是根据项目在能力量尺上的作用。项目特征曲线的斜率在项目难度参数对应的能力等级处最大,即项目可最大化的区分处于该能力水平附近的考生,因为可以说该项目在这一能力水平上发挥作用。例如,难度为-1的项目在能力较低的考生中发挥作用, +1 表示在较高能力的考生中起作用。
三参数模型下,猜测参数c的数值直接解释为概率。例如,c=0.12 仅表示在所有能力水平下,正确猜测题目的概率为0.12。

六、R语言ICC

icccal <- function(b, a, c) {
if (missing(c)) c <- 0
if (missing(a)) a <- 1
theta <- seq(-3, 3, 1)
L <- a * (theta - b)
expnl <- exp(-L)
opexpnl <- 1 + expnl
P <- c + (1 - c) / opexpnl
data.frame(theta, L, expnl, opexpnl, P)
}

icc <- function(b, a, c) {
if (missing(c)) c <- 0
if (missing(a)) a <- 1
par(lab=c(7,3,3))
theta <- seq(-3, 3, .1)
P <- c + (1 - c) / (1 + exp(-a * (theta - b)))
plot(theta, P, type="l", xlim=c(-3,3), ylim=c(0,1),
xlab="Ability", ylab="Probability of Correct Response")
thetai <- b
pthetai <- c + (1 - c) / (1 + exp(-a * (thetai - b)))
vliney <- seq(0, pthetai, .01)
vlinex <- b + vliney * 0
lines(vlinex, vliney, lty=2)
}

icccal(b=-1.0, a=1.7)
icc(b=-1.0, a=1.7)

025d1302dbaf9ab61198e798f58b0764.png
a70e8f501afe8ca3dde1e15b02a69a67.png