Я использую набор данных iris
в R в качестве примера ниже.
library(lme4)
mixed.fit.b <- lmer(Sepal.Width ~ Sepal.Length + (1+ Sepal.Length|Species), data = iris)
summary(mixed.fit.b)
ranef(mixed.fit.b)$Species
coef(mixed.fit.b)$Species
predict(mixed.fit.b)
Случайный перехват и наклон показаны ниже.
(Intercept) Sepal.Length
setosa -0.49549054 0.78331501
versicolor 1.19197858 0.26689317
virginica 1.17260303 0.27282273
Это означает, что точка пересечения равна -0,49549054 (фиксированная + случайная точка пересечения), а наклон равен 0,78331501 (фиксированный + случайный наклон) для setosa, верно? Итак, есть три пары перехватов и наклонов. В общей линейной модели мы можем сказать, что y = точка пересечения + наклон, а y изменил наклон на x. А вот в смешанных моделях есть три три пары перехватов и наклонов. Как сообщить о них?
Я согласен с вашей точкой зрения о кластерах случайных эффектов, но я должен с уважением не согласиться с отчетами о случайных эффектах. Хотя это не является общепринятой практикой, это действительно должно быть так, и ниже я подробно расскажу, почему.
@ShawnHemelstrand Я сказал, что следует сообщать об отклонениях (и да, также о корреляциях). Вопрос ОП более конкретен, чем вопрос о том, как сообщать о случайных эффектах. Я предпочитаю отображать прогнозы на предметном уровне вместо коэффициентов.
Ах, я думаю, что я неправильно понял ваше намерение. Я изменил свой ответ.
Уважаемый @Roland, извините за неуместный пример. Я использовал набор данных iris, потому что это встроенный простой набор данных. Я полностью согласен с вашим беспокойством. Я не пытаюсь проиллюстрировать конкретную проблему через это, извините за неуместное выражение.
Не беспокойся. Я думаю, это просто хорошо знать в будущем. Кстати, пакеты lme4
и lmerTest
на самом деле содержат наборы данных, с которыми можно попрактиковаться.
Я согласен с Роландом в том, что использование смешанной модели с тремя кластерами нецелесообразно (см. Gelman & Hill, 2007, ссылка ниже). Говоря о вашем основном вопросе, мы хотели бы знать, сколько случайных вариаций анализируется моделью, и на самом деле это действительно должно использоваться в качестве оправдания для использования модели в первую очередь (см. Meteyard & Davies, 2020). , где они предлагают подгонку моделей только со случайными эффектами в качестве предшественника вашей полной модели).
Имея это в виду, я бы рекомендовал сообщать об этих частях вашей модели для учета случайных эффектов (включая то, что вы упомянули). Хотя они не все необходимы, они, безусловно, информативны:
Я буду продолжать использовать данные, которые у вас есть, в качестве примера, но я изменю их на что-то сходящееся, поскольку ваша первая модель была единственной, которую нельзя использовать при составлении отчетов. Я загрузил четыре библиотеки, необходимые для используемых функций и соответствующих модели.
#### Load Libraries ####
library(lmerTest)
library(lattice)
library(broom.mixed)
library(performance)
#### Fit Model ####
fit <- lmer(Petal.Length
~ Petal.Width
+ (1 + Petal.Width |Species),
data = iris)
Далее мы можем обобщить модель, но я предпочитаю использовать функцию tidy
из пакета broom.mixed
для быстрого получения оценок RE.
##### Summarise Model ####
tidy(fit)
Показано ниже:
# A tibble: 6 × 8
effect group term estim…¹ std.e…² stati…³ df p.value
<chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 fixed NA (Intercept) 2.43 0.898 2.71 1.97 0.115
2 fixed NA Petal.Width 1.10 0.414 2.65 2.00 0.118
3 ran_pars Species sd__(Intercept) 1.52 NA NA NA NA
4 ran_pars Species cor__(Intercept).Petal.W… -0.408 NA NA NA NA
5 ran_pars Species sd__Petal.Width 0.646 NA NA NA NA
6 ran_pars Residual sd__Observation 0.362 NA NA NA NA
# … with abbreviated variable names ¹estimate, ²std.error, ³statistic
Основываясь на этой информации, мы теперь знаем:
В приложении к одной из процитированных выше статей показано, как вы можете сообщить эту информацию, что является основным вопросом, который у вас возник, если я не ошибаюсь.
Мы можем сообщить эту информацию в статье, если это необходимо, но мы также можем изобразить эти эффекты с помощью графика гусеницы:
#### Plot Dotplot of Random Effects ####
dotplot(ranef(fit))
Отчасти поэтому Роланд предупредил вас о большем количестве кластеров случайных эффектов. Здесь вы видите только три пересечения и наклона, что не отражает большого количества вариаций, которые вы хотели бы получить от смешанной модели. Однако здесь мы можем сделать два ключевых вывода:
Мы также можем получить оценки ICC и псевдо R2 с помощью этого кода:
#### Check Performance ####
performance(fit)
Показано ниже:
# Indices of model performance
AIC | AICc | BIC | R2 (cond.) | R2 (marg.) | ICC | RMSE | Sigma
-----------------------------------------------------------------------------
154.478 | 155.066 | 172.542 | 0.957 | 0.231 | 0.944 | 0.355 | 0.362
Что следует отметить из этого резюме:
Ниже приведены цитаты, о которых я упоминал ранее. Gelman & Hill — канонический источник информации о смешанных моделях. Статья Meteyard & Davies представляет собой руководство по передовому опыту работы со смешанными моделями. Дайте мне знать, если вы нашли этот ответ полезным.
Большое спасибо за подробное объяснение и цитаты. Вот что я хочу знать. Извините за неуместный пример. Я использовал набор данных iris, потому что это встроенный простой набор данных. Я полностью согласен с беспокойством вас и Роланда. Руководство по передовой практике великолепно, и я буду продолжать читать его.
Без проблем. Рад, что был полезен!
"Как сообщить о них?" Обычно нет. Если бы вы хотели сообщить о них, я бы спросил, почему вы считаете Species случайным эффектом. Обычно я сообщал о фиксированных эффектах и дисперсиях случайных эффектов. (Случайный эффект только с тремя субъектами очень сомнителен. Этого недостаточно для надежной оценки дисперсии. Здесь следует использовать модель с фиксированными эффектами.)