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

如何用R的mirt包拟合指定结构的高阶IRT模型?

高阶IRT模型设定方案(mirt包)

针对你需要对比的两个高阶模型,直接使用mirt()函数自定义因子结构即可,无需依赖bfactor()。以下是具体实现代码:

模型(a):低阶因子加载于通用因子,且低阶因子间不相关

# 定义高阶模型结构
model_a <- '
    # 通用因子G,加载所有60个项目
    G = 1-60
    # 低阶因子F1(对应前30项)、F2(对应后30项)
    F1 = 1-30
    F2 = 31-60
    # 指定高阶载荷:F1和F2均加载于G
    COV = G -> F1, G -> F2
'

# 拟合Rasch模型
mod_a <- mirt(all_data, model = model_a, itemtype = "Rasch")

注:mirt默认会固定低阶因子的方差为1,且不设定低阶因子间协方差(即协方差为0),符合模型(a)的要求。

模型(b):低阶因子加载于通用因子,且允许低阶因子间相关

# 定义模型结构,仅放开低阶因子的协方差限制
model_b <- '
    G = 1-60
    F1 = 1-30
    F2 = 31-60
    # 指定高阶载荷,同时允许F1与F2相关
    COV = G -> F1, G -> F2, F1 ~~ F2
'

# 拟合Rasch模型
mod_b <- mirt(all_data, model = model_b, itemtype = "Rasch")

后续对比操作

拟合完成后,可通过以下代码对比两个模型的拟合优度:

anova(mod_a, mod_b)

也可通过summary(mod_a)或summary(mod_b)查看因子载荷、参数估计等结果。

内容的提问来源于stack exchange,提问作者Nicolas N.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 02:35:54