Lmer model — доступ к элементам модели

Я новичок в R и даже новичок в моделировании с использованием световых эффектов и смешанных эффектов.

Если у меня есть модель lmer:

model <- lmer(C ~ Group * Time + (1|ID), REML = FALSE, data=data)

Как получить доступ к деталям модели, чтобы построить их?

Я знаю, что могу построить остатки по установленным значениям, используя:

plot(model)

ИЛИ

plot(predict(model), resid(model))

Но есть ли способ получить доступ к другим элементам/деталям модели? К каким еще элементам модели можно получить доступ? Я знаю, что могу использовать функцию 'summary()' для поиска случайного и фиксированного эффекта. Но как насчет построения остатков по отношению к другим элементам модели, например. остатки против фиксированных эффектов или случайного эффекта?

Вам будет легче помочь, если вы включите простой воспроизводимый пример с образцом ввода и желаемым результатом, который можно использовать для тестирования и проверки возможных решений. Какие детали вы хотите конкретно?

MrFlick 17.04.2023 15:45

Привет мистер Флик. По сути, мой фиксированный эффект «Время» в моей модели имеет коэффициент 7 уровней. Мой остаточный и подобранный график выглядит немного странно, поэтому я хотел бы построить свои остаточные значения в зависимости от моего фактора «Время» на его 7 уровнях.

rff234 17.04.2023 17:21
Стоит ли изучать 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
2
68
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Да, вы можете использовать функцию summary(), как и любой другой объект lm или glm, чтобы получить оценку фактической модели.

Точно так же вы можете обращаться с этими объектами так же, как с фреймом данных.

Единственная разница в том, что вместо $ вы должны использовать символ @.

Например:

lm <- lmer(Petal.Length ~ Sepal.Length * Sepal.Width + (1|Species), data = iris)

lm@frame %>% head()

 Petal.Length Sepal.Length Sepal.Width Species
1          1.4          5.1         3.5  setosa
2          1.4          4.9         3.0  setosa
3          1.3          4.7         3.2  setosa
4          1.5          4.6         3.1  setosa
5          1.4          5.0         3.6  setosa
6          1.7          5.4         3.9  setosa

С этого момента вы можете глубже исследовать объект.

Я не рекомендую этого — элементы объектов S4 (доступ к которым осуществляется через @) обычно предназначены для использования разработчиками, а не конечными пользователями. Функции доступа, такие как model.frame(), лучше (см. Ответ Мириам Муньос Лапейра)

Ben Bolker 17.04.2023 16:30

Хороший вопрос, я узнал что-то новое! Хотя в защиту этого, иногда доступ к элементам является чрезвычайно мощным способом понять, как работает модель. Вероятно, это не очень актуально для новичка, который пытается построить какие-то остатки, но, тем не менее, полезно.

Hansel Palencia 18.04.2023 10:58
Ответ принят как подходящий

Если у вас есть подобные сомнения, вы должны проверить виньетку на упаковке, в данном случае vignette(lme4). Лишь поверхностным поиском нашел вот такую ​​таблицу, может кому пригодится:

Метод Описание anova Разложение вкладов с фиксированными эффектами или сравнение моделей. as.function Функция, возвращающая профилированное отклонение или критерий REML. coef Сумма случайных и фиксированных эффектов для каждого уровня. confint Доверительные интервалы для линейных параметров смешанной модели. deviance Минус удвоенная максимальная логарифмическая вероятность. (Используйте REMLcrit для критерия REML.) df.residual Остаточные степени свободы. drop1 Отбросьте допустимые отдельные термины из модели. extractAIC Обобщенный информационный критерий Акаике fitted Подогнанные значения с учетом условных режимов. fixef Оценки коэффициентов фиксированных эффектов formula Формула смешанной модели подогнанной модели. logLik Максимальное логарифмическое правдоподобие. model.frame Данные, необходимые для соответствия модели. model.matrix Матрица модели фиксированных эффектов ngrps Количество уровней в каждом факторе группировки. nobs Количество наблюдений. plot Диагностические графики для подгонки смешанной модели. predict Различные типы прогнозируемых значений. print Базовая распечатка объектов смешанной модели. profile Профилированное правдоподобие по различным параметрам модели. ranef Условные режимы случайных эффектов. refit Модель (повторно) адаптирована к новому набору наблюдений переменной отклика. refitML Модель (пере)подогнанная по максимальному правдоподобию. residuals Различные виды остаточной стоимости. sigma Остаточное стандартное отклонение. simulate Смоделированные данные подобранной смешанной модели. summary Резюме смешанной модели. terms Условия представления смешанной модели. update Обновленная модель с использованием измененной формулы или других аргументов. VarCorr Расчетные дисперсии случайных эффектов, стандартные отклонения и корреляции. vcov Ковариационная матрица оценок с фиксированным эффектом. weights Предыдущие веса, используемые при подгонке модели.

Вот один из способов построить график зависимости остатков от вашего временного фактора:

library(broom.mixed)
aa <- augment(model)
boxplot(.resid ~ Time, data = aa)

Вы также можете использовать встроенный метод построения графика (см. help("plot.merMod")):

plot(model, resid(.) ~ Time)

Мне пришлось преобразовать фактор времени в числовой, но это сработало! Спасибо!

rff234 17.04.2023 18:37

если это было полезно, вы можете проголосовать за это ...

Ben Bolker 17.04.2023 20:51

Я отметил это как ответ, но, поскольку я новый пользователь, я еще не могу проголосовать

rff234 18.04.2023 03:30

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