Статистика соответствия модели для логистической регрессии

Я использую модель логистической регрессии в R. Я использовал пакеты Zelig и Car. Однако мне интересно, есть ли простой способ получить статистику соответствия модели для модели. (псевдоквадрат, хи-квадрат, логарифм правдоподобия и т. д.)


person Tony    schedule 26.07.2010    source источник
comment
Здесь вы можете найти несколько примеров: ats.ucla.edu/stat/ r / dae / mlogit.htm   -  person nico    schedule 21.11.2010
comment
Похоже, вы получили понравившийся ответ (см. Ниже). Не могли бы вы выбрать его в качестве предпочтительного ответа?   -  person David J.    schedule 03.01.2011
comment
Возможно, вы обнаружите, что этот сайт вопросов и ответов лучше подходит для вопросов о статистике: stats.stackexchange.com   -  person David J.    schedule 03.01.2011


Ответы (5)


Предположим, glm1 это ваша модель, а размер образца n = 100.

Вот несколько критериев соответствия:

R2 <- 1 - ((glm1$deviance/-2)/(glm1$null.deviance/-2))
cat("mcFadden R2 = ", R2, "\n")

R2 <- 1 - exp((glm1$deviance - glm1$null.deviance)/2 * n)
cat("Cox-Snell R2 = ", R2, "\n")

R2 <- R2/(1 - exp((-glm1$null.deviance)/n))
cat("Nagelkerke R2 = ", R2, "\n")

AIC <- glm1$deviance + 2 * 2
cat("AIC = ", AIC, "\n")

Таким образом, у вас есть обзор того, как рассчитывать GoF-Measurements.

person Redfood    schedule 11.04.2013
comment
Небольшое добавление по этой теме: GoF-измерения зависят от значения Loglikelihood, поэтому они не рассматриваются как обычные R-квадраты. Значение Макфаддена 0,2 не означает, что 20% дисперсии объясняется моделью, поэтому это не то же самое, что R-квадрат, рассчитанный с помощью OLS. Но в большинстве моделей значение Pseudo R-Squares ›= 0,2 вполне хорошее. - person Redfood; 11.04.2013

Обычно это делается с помощью функции summary().

person Shane    schedule 26.07.2010
comment
summary () предоставляет мне коэффициенты и параметры регрессии. Это важно, но я не ищу. Кроме того, с выводом Zelig я получаю следующий результат: Нулевое отклонение: 1068,24 на 772 степенях свободы Остаточное отклонение: 939,48 на 761 градусе свободы (941 наблюдение удалено из-за отсутствия) AIC: 963,48 - person Tony; 26.07.2010
comment
Благодарность!!! Я также обнаружил, что запуск логистической регрессии с использованием функции lrm из пакета Design дает на выходе псевдо-R ^ 2. - person Tony; 26.07.2010

Трудно ответить на этот вопрос, не зная, что такое объект модели. Я не уверен, что дает Zelig.

Я бы посмотрел на names(model), names(summary(model)) или names(anova(model,test = "Chisq")), чтобы узнать, есть ли там нужная вам статистика. Я знаю, что для логической вероятности logLik(model) даст вам то, что вы хотите.

person JoFrhwld    schedule 26.07.2010

Хотя я не эксперт, статистика соответствия моделей для моделей логистической регрессии не так проста в интерпретации, как в линейной регрессии. Предполагая, что у вас есть двоичный ответ, я нашел полезным один метод - сгруппировать ваши данные по прогнозируемому интервалу вероятности (0-10%, 10% -20%, .... 90% -100%) и сравнить фактические вероятности. к прогнозируемым. Это очень полезно, потому что часто ваша модель будет переоценивать на нижнем уровне или занижать прогноз на верхнем. Это также может привести к созданию лучшей модели.

person Grembo    schedule 29.07.2010
comment
Разве это не просто тест Хосмера-Лемешоу для GOF в логите? - person Nneka; 25.08.2018

взгляните на пакет pscl. Однако будьте осторожны с отсутствующими данными:

library("MASS","pscl")

admit_2 <- admit
admit_2$gre.quant[sample(1:106, 45)] <- NA

m0 <- MASS::polr(score ~ gre.quant + gre.verbal + ap + pt + female,
              Hess=TRUE,
              data=admit_2,
              method="probit")

m1 <- MASS::polr(score ~ gre.quant + gre.verbal + ap + pt + female,
             Hess=TRUE,
             data= na.omit(admit_2),
             method="probit")

pR2(m0)
     llh      llhNull           G2     McFadden         r2ML         r2CU 
 -57.4666891 -151.0299826  187.1265870    0.6195015    0.9534696    0.9602592 

pR2(m1)
    llh     llhNull          G2    McFadden        r2ML        r2CU 
-57.4666891 -83.3891852  51.8449922   0.3108616   0.5725500   0.6123230

Также посмотрите здесь: https://stats.stackexchange.com/questions/8511/how-to-calculate-pseudo-r2-from-rs-logistic-regression.

person desval    schedule 24.06.2019