Почему значения p из tab_model() и Anova() sjPlot не совпадают с выходными данными LMM?

У меня есть вопрос относительно оценок 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)

Заранее спасибо за вашу помощь!

Мерль

Какой пакет(ы) вы используете?

Edward 28.03.2024 09:44

Я использую «lme4» для lmer() для LMM, «sjPlot» для tab_model() и «car» для Anova(). И я думаю, что для работы аппроксимации Саттертуэйта в tab_model() вам нужны пакеты «параметры» и «мурлыкать». Они все актуальны.

Merle 28.03.2024 09:50

Один из моих предикторов (возраст) не центрирован, поэтому я получаю предупреждения о том, что «Некоторые переменные-предикторы находятся в совершенно разных масштабах: рассмотрите возможность изменения масштаба». Может ли это быть проблемой по какой-то причине?

Merle 28.03.2024 09:54

Для Anova (автомобиль) значения p взяты из теста Вальда и показывают влияние всей переменной в модели. Для tab_model (sjPlot) указаны значения p для каждого члена модели.

Edward 28.03.2024 11:47

Также может быть, что по умолчанию Anova() выполняет тест отношения правдоподобия. Используя код из примера lmer, если вы используете Anova(my_lmm, test.statistic = "F"), вы должны получить то же самое, что и tab_model().

DaveArmstrong 28.03.2024 12:43

Спасибо за вашу помощь, @DaveArmstrong и @Edward! Мой коллега только что предложил запустить Anova(my_lmm, type = "III"), и тогда я получу те же значения p, что и в tab_model.

Merle 28.03.2024 14:28
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
6
94
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По умолчанию 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

Другие вопросы по теме