You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rasch模型中找到项目信息曲线(IIC)峰值对应的能力值

项目信息曲线(IIC)峰值对应能力值的确定方法

一、核心逻辑(Rasch模型特性)

  • 项目反应函数(IRF):描述不同能力水平被试答对某题的概率,公式为 $P(\theta) = \frac{e^{\theta - b}}{1 + e^{\theta - b}}$,其中$\theta$是被试能力值,$b$是项目难度参数。
  • 项目信息曲线(IIC):衡量题目在不同能力水平的信息量,公式为 $I(\theta) = P(\theta)(1-P(\theta))$。在Rasch模型中,这个函数的峰值恰好对应项目难度参数$b$,也就是IIC峰值对应的能力值等于该项目的难度值。

二、R代码实操方法

方法1:直接从拟合模型提取难度参数

你已经用rasch(dat)拟合了模型,直接提取项目难度值即可得到对应IIC峰值的能力值:

# 拟合Rasch模型
datr <- rasch(dat)
# 提取所有项目的难度参数(即对应IIC峰值的能力值)
item_difficulties <- coef(datr, type = "difficulty")
print(item_difficulties)

输出结果中,每个项目对应的数值就是该项目IIC曲线峰值的$\theta$值。

方法2:手动计算验证极值点

如果需要手动验证,可以通过优化函数找到IIC的最大值点:

# 定义IIC计算函数
calculate_iic <- function(theta, b) {
  p <- exp(theta - b) / (1 + exp(theta - b))
  return(p * (1 - p))
}

# 以V1项目为例,先提取其难度参数
b_v1 <- item_difficulties["V1"]
# 搜索IIC最大值对应的theta值
peak_theta <- optimize(calculate_iic, interval = c(-5, 5), b = b_v1, maximum = TRUE)$maximum
print(peak_theta)

运行结果会和该项目的难度参数几乎完全一致,验证核心结论。

三、你的IIC图解读说明

你使用plot(datr, type = c("IIC"), items = c(0))绘制的是所有项目的总信息曲线(items=0代表全部项目),总信息曲线的峰值是各项目IIC的叠加结果,对应的能力值是这套测试最能精准测量的能力区间。如果要查看单个项目的IIC,将items参数改为对应项目索引即可(比如items=1查看V1的IIC曲线)。


内容的提问来源于stack exchange,提问作者zaira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 22:09:22