r - R中混合lmer模型的警告消息
问题描述
我正在尝试在 R 中运行线性混合模型。但是我得到的印象是出了点问题。
模型中的所有变量都是连续的,除了组是一个具有两个水平的因素。我的因变量已经过对数转换以解决正态性问题。此外,我在模型中的所有自变量都经过缩放以给出标准差 1 和均值 0。我没有对因变量执行此操作,因为缩放对数转换后产生的 NAN。
自变量处理示例代码:
data$age2 = scale(data$age)
关于变量的唯一另一件事是每个主题都有两个 time2 值。该变量是测试中两种不同类型问题的平均反应速度的量度。数据是宽格式的,每个参与者占据一行。我现在有长格式的数据,每个参与者都有两行。长格式的行除了两个不同点之外是相同的。有一列指定了 time2 的不同级别(简单/困难)。另一列指定 time2 的两个不同分数。
我的模型看起来像这样:
(T_log ~ 1 + age2 + IQ2 + group + GermanScore2 + time2 + group:GermanScore2:time2
+ (1 + GermanScore2|subjects), data = data)
除了固定效应外,该模型还检查了参与受试者的随机截距。固定效应中还有一个三向交互项。
但是,我在运行模型时收到各种警告/错误。我想知道并猜测这是否与我如何处理变量有关。要么是那个,要么是模型太复杂(计划是在运行最复杂的模型后向后工作)。
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 0.246526 (tol = 0.002, component 1)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model is nearly unidentifiable: very large eigenvalue
- Rescale variables?
实际上,上面的模型比我想考虑的模型稍微简化了随机效应结构。我真的很想看看:
(T_log ~ 1 + age2 + IQ2 + group + GermanScore2 + time2 + group:GermanScore2:time2
+ (1 + GermanScore2|subjects), data = data)
该模型在德语考试分数上为每个科目添加随机斜率。
但是,该模型会产生错误:
Error: number of observations (=152) <= number of random effects (=152) for term (1 + bilec_total_input | part_no); the random-effects parameters and the residual variance (or scale parameter) are probably unidentifiable
有人知道出了什么问题吗?如果您足够大方地回答,请记住我是一个 stats / R dummy。谢谢。
解决方案
推荐阅读
- sql-server - 使用 SQL Developer IDE 的 SQL Server
- apache-kafka - 使用 KakfaIO 从给定的偏移量开始
- javascript - 如何按类的属性对数组进行排序?
- sql - 在 Oracle 中处理异常
- excel - 更改 VBA 代码以从定义的单元格而不是文本框 (Excel) 中读取
- html - 定义 ON 和 OFF 切换按钮的值
- php - 在 SQL Server [Moodle] [PHP] 中显示所有但避免重复 DB 列记录
- powershell - Google Cloud Tools for PowerShell Copy-GcsObject 使用多区域存储桶返回错误
- laravel - 将数据从 Laravel Blade 传递到 Vue 组件
- active-directory - UserPrincipal.ChangePassword 是否计入密码历史记录?