Как получить статистику кредитного плеча? - PullRequest
16 голосов
/ 28 февраля 2012

Я знаю, как создавать графики, используя leveragePlot (), но я не могу найти способ получения статистики для плеча для каждого наблюдения, как в выводе мегастатуса.

1 Ответ

25 голосов
/ 28 февраля 2012

Я думаю, что вы ищете значения шляпы.

Используйте hatvalues(fit). Основное правило - проверять любые наблюдения, в 2-3 раза превышающие среднее значение шляпы. Я не знаю какой-либо конкретной функции или пакета, который предоставляет эту информацию в хорошем фрейме данных, но сделать это самостоятельно довольно просто. Вот пример:

fit <- lm(hp ~ cyl + mpg, data=mtcars) #a fake model

hatvalues(fit)

hv <- as.data.frame(hatvalues(fit))
mn <-mean(hatvalues(fit))
hv$warn <- ifelse(hv[, 'hatvalues(fit)']>3*mn, 'x3',
   ifelse(hv[, 'hatvalues(fit)']>2*mn, 'x3', '-' ))

hv

Для больших наборов данных вы можете использовать subset и / или order, чтобы посмотреть только определенные диапазоны значений для значений шляпы:

subset(hv, warn=="x3")
subset(hv, warn%in%c("x2", "x3"))
hv[order(hv['hatvalues(fit)']), ]

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

Вот неплохой шляпный сюжет, который вы также можете захотеть исследовать:

plot(hatvalues(fit), type = "h")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...