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

使用mirt包拟合2PL模型后,如何识别参数的标准误?

解决mirt包2PL模型参数标准误提取问题

嗨,我来帮你搞定这个问题!你已经在拟合模型时设置了SE=TRUE,但直接查看的结果里没看到标准误,是因为默认输出只展示了参数点估计和置信区间,得用专门的方法提取SE。

正确提取标准误的步骤:

  1. 先把拟合好的模型存为对象:
    首先确保你把模型赋值给一个变量,比如:
    mod <- mirt(mydata, 1, itemtype = '2PL', SE = TRUE)
    
  2. 用coef()函数提取带SE的参数:
    调用coef()并指定SE=TRUE,就能得到每个项目的参数和对应的标准误了。针对你提到的第59题,可以这样提取:
    coef(mod, SE = TRUE)$`59`
    
    输出结果会是类似这样的结构,明确区分参数估计值和标准误:
    par        SE
    a1  36.859   [具体SE数值]
    d  -12.266   [具体SE数值]
    g    0.000        NA
    u    1.000        NA
    
    注:g(猜测参数)和u(上渐近线)在2PL模型里被固定为0和1,所以没有标准误,这也是你之前看到NA的原因。

关于你看到的置信区间(CI):

你之前输出里的CI_2.5和CI_97.5其实是基于标准误计算出来的(置信区间公式:参数估计值 ± 1.96*标准误),如果临时需要,也可以通过置信区间反推SE:

SE_a1 <- (979.295 - (-905.576)) / (2*1.96)
SE_d <- (421.117 - (-445.648)) / (2*1.96)

不过直接用coef(mod, SE=TRUE)提取的结果会更准确。

稀疏二元数据的注意事项:

你提到数据是稀疏二元的,注意到第59题的参数估计值(a1=36.859,d=-12.266)非常极端,这可能提示该题的反应模式偏态严重(比如绝大多数人答对或答错),这种情况下标准误可能不稳定。建议先检查该题的反应分布:

table(mydata$`59`)

如果确实是极端分布,可以考虑是否保留该题目,或者调整模型估计方法(比如使用边际极大似然估计时,设置estimator = 'MH-RM'来处理稀疏数据)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:23:06