Som vi alla vet finns det två metoder för att utvärdera den logistiska regressionsmodellen och de testar mycket olika saker
-
Förutsägbar kraft:
Få en statistik som mäter hur bra du kan förutsäga den beroende variabeln baserat på de oberoende variablerna. De välkända Pseudo R ^ 2 är McFadden (1974) och Cox och Snell (1989).
-
Statistik över godhet
Testet berättar om du skulle kunna göra ännu bättre genom att göra modellen mer komplicerad, vilket faktiskt testar om det finns några icke-linjärer eller interaktioner som du har missat.
Jag implementerade båda testerna på min modell, som redan lagt till kvadratisk och interaktion
:
>summary(spec_q2) Call: glm(formula = result ~ Top + Right + Left + Bottom + I(Top^2) + I(Left^2) + I(Bottom^2) + Top:Right + Top:Bottom + Right:Left, family = binomial()) Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 0.955431 8.838584 0.108 0.9139 Top 0.311891 0.189793 1.643 0.1003 Right -1.015460 0.502736 -2.020 0.0434 * Left -0.962143 0.431534 -2.230 0.0258 * Bottom 0.198631 0.157242 1.263 0.2065 I(Top^2) -0.003213 0.002114 -1.520 0.1285 I(Left^2) -0.054258 0.008768 -6.188 6.09e-10 *** I(Bottom^2) 0.003725 0.001782 2.091 0.0366 * Top:Right 0.012290 0.007540 1.630 0.1031 Top:Bottom 0.004536 0.002880 1.575 0.1153 Right:Left -0.044283 0.015983 -2.771 0.0056 ** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 3350.3 on 2799 degrees of freedom Residual deviance: 1984.6 on 2789 degrees of freedom AIC: 2006.6
och den förutsagda effekten är som nedan, MaFadden är 0.4004, och värdet mellan 0,2 ~ 0,4 bör tas för att presentera en mycket bra passform för modellen (Louviere et al (2000), Domenich och McFadden (1975)):
> PseudoR2(spec_q2) McFadden Adj.McFadden Cox.Snell Nagelkerke McKelvey.Zavoina Effron Count Adj.Count 0.4076315 0.4004680 0.3859918 0.5531859 0.6144487 0.4616466 0.8489286 0.4712500 AIC Corrected.AIC 2006.6179010 2006.7125925
och statistik över godhet:
> hoslem.test(result,phat,g=8) Hosmer and Lemeshow goodness of fit (GOF) test data: result, phat X-squared = 2800, df = 6, p-value < 2.2e-16
Enligt min uppfattning testar GOF faktiskt följande noll och alternativ hypotes:
H0: The models does not need interaction and non-linearity H1: The models needs interaction and non-linearity
Eftersom mina modeller lade till interaktion, bör icke-linjäritet redan och p-värdet visar H0 avvisas, så jag kom fram till att min modell verkligen behöver interaktion, icke-linjäritet. Hoppas att min tolkning är korrekt och tack för råd i förväg, tack.
Kommentarer
- se även stats.stackexchange.com/questions/169000/ … och stats.stackexchange.com/questions/167483 / …
- Bättre att titta på den underliggande tabellen än p-värdet för HL-testet. Och även på tomter av rester från din modell. Detta visar var problemet är.
- Hosmer-Lemeshow anses vara föråldrat: stats.stackexchange.com/questions/273966/…
Svar
Det finns flera problem att ta itu med.
- $ R ^ 2 $ mäter i sig aldrig måtten på passformen; de mäter främst prediktiv diskriminering. Godhet av passform kommer bara från att jämföra $ R ^ 2 $ med $ R ^ 2 $ från en rikare modell
- Hosmer-Lemeshow-testet är för total kalibreringsfel, inte för någon speciell brist på passform som kvadratiska effekter. Det tar inte ordentligt hänsyn till överanpassning, är godtyckligt för val av lagerplatser och metod för beräkning av kvantiler och har ofta för låg effekt.
- Av dessa skäl rekommenderas inte längre Hosmer-Lemeshow-testet. Hosmer et al har en bättre d.f. omnibustest av passform, implementerat i R
rms
-paketetresiduals.lrm
-funktionen. - För ditt fall kan godhet av passform bedömas genom att gemensamt testa (i ett ”bit” -test) bidraget från alla kvadratiska och interaktionsvillkor.
- Men jag rekommenderar att du specificerar modellen för att göra den mer sannolikt att passa framåt (särskilt med avseende på avslappnande antaganden om linjäritet med hjälp av regressionsspår) och med hjälp av bootstrap för att uppskatta överanpassning och för att få en överanpassningskorrigerad högupplöst jämn kalibreringskurva för att kontrollera absolut noggrannhet. Dessa görs med hjälp av paketet R
rms
.
På den sista punkten föredrar jag filosofin att modellerna är flexibla (som begränsat av exemplet storlek, hur som helst) och att vi koncentrerar oss mer på ”fit” än ”brist på fit”.
Kommentarer
- Bara en sak: de flesta $ R ^ 2 $ mått jämför den monterade modellen med en ” perfekt modell ” som får förutsägelsen rätt för varje post utan att göra en df / justering av överanpassning. +1 från mig.
- Ja, det ’ är bara att vi aldrig hoppas vara perfekta så jag skulle inte ringa $ 1 – R ^ {2} $ brist av passform.
Svar
Från Wikipedia :
Testet bedömer om de observerade händelseshastigheterna matchar förväntade händelseshastigheter i undergrupper av modellpopulationen. Hosmer-Lemeshow-testet identifierar specifikt undergrupper som deciler av monterade riskvärden. Modeller för vilka förväntade och observerade händelseshastigheter i undergrupper liknar kallas väl kalibrerade.
Betydelsen: efter att du har byggt en modell som gör din modell ”sy” vill du för att korskontrollera om den är fördelad över tio deciler som liknar faktiska händelseshastigheter.
Så hypoteser kommer att vara
- $ H_0 $: Faktiska och förutsagda händelser är lika över 10 deciler
- $ H_1 $: de är mot samma
Följaktligen om p -värde är mindre än.05, de är inte väl distribuerade och du måste förfina din modell.
Jag hoppas att detta svarar på en del av din fråga.
Svar
Detta är ganska svagt efter @FrankHarrells svar, men ett fan av H – L-testet skulle dra slutsatsen att trots din inkludering av kvadratiska termer & några † Andra ordningens interaktioner, modellen fortfarande visade betydande brist på passform, & att kanske en ännu mer komplex modell skulle vara lämplig. Du testar passformen för exakt den modell du angav, inte av enklare första ordningens modell.
† Det är inte en fullständig andra ordningens modell — det finns tre interaktioner att gå.