Как рассчитать качество посадки в glm (R)

21

У меня есть следующий результат от запуска функции GLM.

Как я могу интерпретировать следующие значения:

  • Нулевое отклонение
  • Остаточное отклонение
  • AIC

Они имеют какое-то отношение к совершенству? Могу ли я рассчитать некоторую степень достоверности соответствия по этим результатам, таким как R-квадрат или любая другая мера?

Call:
glm(formula = tmpData$Y ~ tmpData$X1 + tmpData$X2 + tmpData$X3 + 
    as.numeric(tmpData$X4) + tmpData$X5 + tmpData$X6 + tmpData$X7)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-0.52628  -0.24781  -0.02916   0.25581   0.48509  

Coefficients:
                     Estimate Std. Error  t value Pr(>|t|)    
(Intercept         -1.305e-01  1.391e-01   -0.938   0.3482    
tmpData$X1         -9.999e-01  1.059e-03 -944.580   <2e-16 ***
tmpData$X2         -1.001e+00  1.104e-03 -906.787   <2e-16 ***
tmpData$X3         -5.500e-03  3.220e-03   -1.708   0.0877 .  
tmpData$X4         -1.825e-05  2.716e-05   -0.672   0.5017    
tmpData$X5          1.000e+00  5.904e-03  169.423   <2e-16 ***
tmpData$X6          1.002e+00  1.452e-03  690.211   <2e-16 ***
tmpData$X7          6.128e-04  3.035e-04    2.019   0.0436 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

(Dispersion parameter for gaussian family taken to be 0.08496843)

    Null deviance: 109217.71  on 3006  degrees of freedom
Residual deviance:    254.82  on 2999  degrees of freedom
  (4970 observations deleted due to missingness)
AIC: 1129.8

Number of Fisher Scoring iterations: 2
ученик
источник
Я понимаю, что это было перенесено из SO, где обычно не нужно искать информацию об этих статистических терминах. У вас есть большой ресурс здесь! Например, посмотрите, что вы можете узнать из поиска по некоторым вашим терминам, например, AIC . Небольшое время, потраченное на это, должно либо полностью ответить на ваш вопрос, либо, по крайней мере, направить вас на более конкретный вопрос.
whuber
Не относится к гауссовским блескам, но если у вас есть глиссия Бернулли, приспособленная к бинарным данным, вы не можете использовать остаточное отклонение для оценки соответствия модели, потому что оказывается, что данные отменяются в формуле отклонения. Теперь вы можете использовать разницу остаточных отклонений в этом случае для сравнения двух моделей, но не само остаточное отклонение.
FisherDisinformation

Ответы:

15

Семейство ошибок по умолчанию для glmмодели на (языке) R - гауссовское, поэтому с представленным кодом вы получаете обычную линейную регрессию, где - это общепринятая мера «соответствия требованиям». Функция R сообщает не Nagelkerke-псевдо-" R 2 ", а AIC (критерий информации Akaike). В случае модели OLS показатель GOF Нагелкерке будет примерно таким же, как и для R 2 .р2glmр2р2

рграммLM2знак равно1-(Σяdя,моdеL2)2/N(Σяdя,NULL2)2/N        ,знак равно,        1-SSЕ/N[моdеL]SSТ/N[TоTaL]знак равнорОLS2

Есть некоторые споры о том, как интерпретировать такую ​​меру на LHS, но только когда модели отклоняются от более простой ситуации Гаусса / OLS. Но в GLM, где функция связи может не быть «идентичностью», как было здесь, и «квадратичная ошибка» может не иметь такой же четкой интерпретации, поэтому также сообщается информационный критерий Акаике, поскольку он представляется более общим. В лотереях GLM GOF есть несколько других претендентов без явного победителя.

р2

Dwin
источник
7
Где именно «Nagelkerke-псевдо-« R2 »» в вышеприведенном выводе?
Том
1
Я повторяю вопрос Тома. Где на выходе находится Nagelkerke-псевдо-"R2", или как я могу найти его? Я не ищу больше информации о значении, а скорее о том, где я могу найти ее в выводе R. В выходных данных примера вопроса нет ничего, что выглядело бы как значение соответствия в диапазоне [0-1], поэтому я запутался.
Кевин - Восстановить Монику
См. Stats.stackexchange.com/questions/8511/… и stackoverflow.com/questions/6242818/… ... Я не вижу R ^ 2 ни в объекте glm, ни в итоговом выводе. Возможно, я думал об обычном выводе функций суммирования rms, поскольку это моя любимая среда моделирования.
DWin
9

Используйте Нулевое Отклонение и Остаточное Отклонение, а именно:

1 - (Residual Deviance/Null Deviance)

Если вы думаете об этом, вы пытаетесь измерить отношение отклонения в вашей модели к нулю; насколько лучше ваша модель (остаточное отклонение), чем просто пересечение (нулевое отклонение). Если это соотношение крошечное, вы «объясняете» большую часть отклонений в нуле; 1 минус, который дает вам ваш R-квадрат.

В вашем случае вы получите 0,998.

Если вы просто вызовете линейную модель (lm) вместо glm, это явно даст вам R-квадрат в сводке, и вы увидите, что это то же самое число.

noLongerRandom
источник
5

Если вы работаете с бинарной логистической моделью, вы также можете запустить тест Hosmer Lemeshow Goodness of Fit для вашей модели glm (). Использование библиотеки ResourceSelection.

library(ResourceSelection)

model <- glm(tmpData$Y ~ tmpData$X1 + tmpData$X2 + tmpData$X3 + 
           as.numeric(tmpData$X4) + tmpData$X5 + tmpData$X6 + tmpData$X7, family = binomial)

summary(model)
hoslem.test(model$y, model$fitted)
dylanjm
источник
Хотя обратите внимание, что это работает только для моделей двоичных зависимых переменных (например, если OP установил family = "binomial. Пример OP - линейная регрессия.
Мэтью
@ Мэтью Это правда, мне жаль, что я пропустил это. Я использую бинарные логистические регрессии так много в последнее время мой мозг просто пошел кhoslem.test()
dylanjm
Понятно :) Я предложил изменить ваш пост, но также забыл обновить код R. Вы можете изменить это просто для ясности.
Мэтью