眼动追踪研究:Lmer模型合理性、样本量及powerSim问题咨询
关于眼动追踪研究混合效应模型与效能分析的解答
Hi there! No need to apologize for being new to R or stats—we all start somewhere, so let's work through your questions together.
1. 你的混合效应模型公式是否适用?
首先,你的模型公式:
RT_lmer_BRY2 <- lmer(ia_rt~block + (1|sent_num) + (1|participant), data = pilot_data)
是完全适用于当前分析目标的,理由如下:
- 固定效应
block:正好对应你要检验的核心变量(条件对反应时的影响),完全匹配研究目的。 - 随机截距
(1|participant):考虑了不同被试的基线反应时差异,这是眼动/反应时研究中必须控制的个体异质性,非常合理。 - 随机截距
(1|sent_num):控制了不同刺激材料(句子/单词)的基线难度差异,避免因材料本身的特性干扰结果,也是这类研究的常规操作。
如果后续预试能补充更多被试,你可以考虑加入随机斜率(比如(1+block|participant))来检验条件效应是否在不同被试间存在差异,但就当前只有2名被试的预试阶段,这个简单的随机截距模型已经足够,而且更易收敛、更适合后续的效能模拟。
2. 解决powerSim耗时过长的问题
powerSim运行缓慢是很常见的,尤其是当预试样本量小、模型复杂或模拟次数较多时。这里给你几个实用的优化思路:
- 减少模拟次数:默认的
nsim=1000虽然精度高,但耗时久。你可以先把nsim设小一点(比如nsim=200),先得到一个大致的效能估计,后续再根据需要增加次数。示例代码:powerSim(RT_lmer_BRY2, nsim=200) - 启用并行计算:
simr包支持并行模拟,利用电脑的多核CPU大幅加速。你可以用future包设置并行计划,示例:library(future) plan(multisession) # 启用多核并行 powerSim(RT_lmer_BRY2, nsim=500) # 现在会并行运行模拟任务 - 基于预试效应量用解析法估算:由于你只有2名被试的预试数据,模型参数(比如
block的效应量)可能波动很大,模拟结果的可靠性有限。你可以先从预试模型中提取block的效应量(比如回归系数、Cohen's d),然后用G*Power工具的「混合模型」模块,输入效应量、α水平(通常0.05)、目标效能(80%)来快速估算样本量,这会比模拟快很多。 - 临时简化模型(仅供参考):如果以上方法还是不够快,可以暂时去掉
(1|sent_num)先做初步效能估计,但注意这会忽略材料差异,结果仅作参考,最终分析还是要回到包含材料随机效应的模型。
额外小建议
因为仅2名被试的预试数据得到的效应量估计稳定性不足,建议后续如果能补充5-10名预试被试,再开展效能分析会更准确,模拟结果的参考价值也更高。
内容的提问来源于stack exchange,提问作者Oifeli
相关产品推荐
相关产品推荐

