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

R中潜在特质模型:重复测量设计下特质分数获取技术咨询

关于重复测量设计下提取潜在特质分数的经验分享

我之前刚好处理过类似的重复测量场景下的潜在特质分数分析,结合你的问题和使用mirt的经历,给你分享下实操思路和替代方案:

一、调整mirt::mixedmirt的参数,明确重复测量结构

你提到不确定mixedmirt是否识别了重复测量设计,核心问题可能是没有明确指定被试水平的随机效应——默认情况下,mixedmirt不会自动识别长格式数据里的重复测量嵌套关系,需要手动通过参数告诉模型:

  1. 指定随机效应:在函数中加入random = ~ 1 | ID(假设你的被试ID列名为ID),这样模型会为每个被试拟合随机截距,捕捉重复测量间的个体差异,这才是重复测量设计的核心。示例代码:
# 假设你的数据是长格式,包含ID、Time、以及各个题目列
fit <- mixedmirt(
  data = your_long_data,
  model = 1,  # 单维度潜在特质
  itemtype = "graded",  # 根据你的题目类型调整,比如"2PL"
  random = ~ 1 | ID,  # 关键:指定被试为随机分组水平
  fixed = ~ Time  # 把Time作为固定效应,建模潜在特质随时间的变化
)
  1. 验证模型是否识别重复测量:拟合后可以用VarCorr(fit)查看随机效应的方差成分,如果输出里有ID对应的方差项,说明模型已经考虑了重复测量的相关性。

  2. 提取潜在特质分数:用fscores()函数时,记得加上full.scores = TRUE,这样会为每个时间点的观测单独生成分数,匹配你的长格式数据:

latent_scores <- fscores(fit, method = "EAP", full.scores = TRUE)

二、推荐其他适配重复测量设计的R包

如果mirt的使用还是有困惑,这些包在重复测量潜特质分析上也很成熟:

  • lavaan:适合用结构方程模型(SEM)框架做潜增长模型(Latent Growth Modeling),直接建模潜在特质随时间的变化趋势(比如线性增长)。它支持长格式数据,你可以指定基线潜因子和增长斜率潜因子,同时控制重复测量的误差结构。

  • TAM:专门针对教育/心理测验的分析包,tam.mml.mixed函数原生支持多层/重复测量的IRT模型,语法和mixedmirt类似,但在处理复杂嵌套结构时的输出更清晰,提取分数可以用tam.fscores()。

  • brms:基于贝叶斯框架的灵活工具,可以把IRT模型和线性混合模型结合起来,适合需要贝叶斯推断的场景,语法和lmer接近,能自定义潜在特质随时间的变化模型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 23:17:29