Как извлечь / вычислить кредитное плечо и расстояния Кука для моделей с линейными смешанными эффектами

10

Кто-нибудь знает, как вычислить (или извлечь) рычаги и расстояния Кука для merобъекта класса (полученного через lme4пакет)? Я хотел бы построить их для анализа остатков.

Роуи Ангел
источник

Ответы:

13

Вы должны взглянуть на пакет R influence.ME. Это позволяет вычислять показатели влиятельных данных для моделей смешанных эффектов, сгенерированных lme4.

Пример модели:

library(lme4)
model <- lmer(mpg ~ disp + (1 | cyl), mtcars)

Функция influenceявляется основой для всех дальнейших шагов:

library(influence.ME)
infl <- influence(model, obs = TRUE)

Рассчитать расстояние Кука:

cooks.distance(infl)

Участок Кука расстояние:

plot(infl, which = "cook")

введите описание изображения здесь

Свен Хоэнштейн
источник
Спасибо! Это, безусловно, помогает. Как насчет вычисления кредитного плеча для зависимости расстояния Кука от плеча?
Roey Angel
@ RoeyAngel Я полагаю, что это невозможно с influence.MEпакетом. К сожалению, у меня нет решения этой задачи.
Свен Хоэнштайн
Не должно ли это быть infl <- influence(model, group = "cyl"), потому что вы указали случайный эффект как (1|cyl)? Я не знаю, я совсем этого не понимаю, я просто установил влияние ... но я не знаю, когда obs = TRUEи когда использовать group...
Любопытно
Я хотел бы добавить следующее: Если вы хотите получить номер строки, в которой встречаются расстояния Кука D - то же самое число, встречающееся на графике без построения графика, то вы можете использовать следующую формулу r для чисел расстояний Кука D с разрезом от стоимости, например, 0,1cooksD_data<-as.data.frame(cooks.distance(ft1)) cooksD_data_select<-cooksd[cooksD_data>0.1,drop=FALSE,] cooksD_oultiers<-as.numeric(rownames(cooksD_data_select))]
Элиас Эстатистикс
Это лучше, чем hatvalues()функция, рекомендованная здесь ?
Любопытно