У меня есть вопрос относительно оценок p-значения для выходных данных модели LMM lme4:
Я сравнил значения p, полученные функциями tab_model
и Anova
, и они, похоже, не совпадают. Когда я бегаю Anova
, я получаю значительные результаты с фиксированным эффектом, а при беге tab_model
не получаю значительных результатов. Я знаю, что вычисление p-значений для LMM — спорная тема, но, тем не менее, я бы хотел это сделать.
Я запустил tab_model
как с приближением Уолда, так и с приближением Саттертуэйта для аргумента df.method
, а также с установкой p.adjust = NULL
, так что я получаю нескорректированные значения p, но оно все равно дает другие значения p, чем Anova
.
Мой код выглядит следующим образом:
tab_model(my_lmm,
seed = 42,
show.se = TRUE,
show.stat = FALSE,
show.intercept = FALSE,
show.df = FALSE,
show.re.var = FALSE,
show.icc = TRUE,
show.obs = FALSE,
p.style = "scientific",
p.threshold = c(0.05),
p.adjust = NULL,
df.method = "satterthwaite",
digits = 6,
digits.p = 3)
Anova(my_lmm)
Заранее спасибо за вашу помощь!
Мерль
Я использую «lme4» для lmer() для LMM, «sjPlot» для tab_model() и «car» для Anova(). И я думаю, что для работы аппроксимации Саттертуэйта в tab_model() вам нужны пакеты «параметры» и «мурлыкать». Они все актуальны.
Один из моих предикторов (возраст) не центрирован, поэтому я получаю предупреждения о том, что «Некоторые переменные-предикторы находятся в совершенно разных масштабах: рассмотрите возможность изменения масштаба». Может ли это быть проблемой по какой-то причине?
Для Anova
(автомобиль) значения p взяты из теста Вальда и показывают влияние всей переменной в модели. Для tab_model
(sjPlot) указаны значения p для каждого члена модели.
Также может быть, что по умолчанию Anova()
выполняет тест отношения правдоподобия. Используя код из примера lmer
, если вы используете Anova(my_lmm, test.statistic = "F")
, вы должны получить то же самое, что и tab_model()
.
Спасибо за вашу помощь, @DaveArmstrong и @Edward! Мой коллега только что предложил запустить Anova(my_lmm, type = "III"), и тогда я получу те же значения p, что и в tab_model.
По умолчанию Anova()
использует type = "II"
. Если вы установите type = "III"
, это даст тот же результат, что и tab_model
. Таким образом, вместо запуска Anova(my_lmm)
код должен выглядеть так: Anova(my_lmm, type = "III")
.
Вот объяснение этих различных типов ANOVA: https://md.psych.bio.uni-goettingen.de/mv/unit/lm_cat/lm_cat_unbal_ss_explained.html
Какой пакет(ы) вы используете?