Zoals we allemaal weten, zijn er 2 methoden om het logistische regressiemodel te evalueren en ze testen zeer verschillende dingen
-
Voorspellend vermogen:
Verkrijg een statistiek die meet hoe goed u de afhankelijke variabele kunt voorspellen op basis van de onafhankelijke variabelen. De bekende Pseudo R ^ 2 zijn McFadden (1974) en Cox en Snell (1989).
-
Goodness-of-fit-statistieken
De test vertelt of je het nog beter zou kunnen doen door het model ingewikkelder te maken, wat eigenlijk het testen is of er niet-lineariteiten of interacties zijn die je hebt gemist.
Ik heb geïmplementeerd beide tests op mijn model, die kwadratisch en interactie al toevoegden
al:
>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
en het voorspelde vermogen is zoals hieronder, de MaFadden is 0,4004, en de waarde tussen 0,2 ~ 0,4 moet worden beschouwd als een zeer goede pasvorm van het model (Louviere et al (2000), Domenich en 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
en de goodness-of-fit-statistieken:
> 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
Zoals ik heb begrepen, test GOF feitelijk de volgende nul- en alternatieve hypothese:
H0: The models does not need interaction and non-linearity H1: The models needs interaction and non-linearity
Aangezien mijn modellen interactie toevoegden, zou niet-lineariteit al en de p-waarde toont H0 moeten worden afgewezen, dus ik kwam tot de conclusie dat mijn model interactie nodig heeft, niet-lineariteit inderdaad. Ik hoop dat mijn interpretatie correct is en bedankt voor elk advies bij voorbaat, bedankt.
Reacties
- zie ook stats.stackexchange.com/questions/169000/ … en stats.stackexchange.com/questions/167483 / …
- Het is beter om naar de onderliggende tabel te kijken dan naar de p-waarde voor de HL-test. En ook op plots van de residuen uit uw model. Dit geeft aan waar het probleem zit.
- Hosmer-Lemeshow wordt als verouderd beschouwd: stats.stackexchange.com/questions/273966/…
Antwoord
Er zijn verschillende problemen die moeten worden aangepakt.
- $ R ^ 2 $ meet op zichzelf nooit de goedheid van fit; ze meten voornamelijk voorspellende discriminatie. De goede pasvorm komt alleen voort uit het vergelijken van $ R ^ 2 $ met de $ R ^ 2 $ van een rijker model
- De Hosmer-Lemeshow-test is voor een algehele kalibratiefout, niet voor een bepaald gebrek aan pasvorm, zoals kwadratische effecten. Het houdt niet goed rekening met overfitting, is willekeurig wat betreft de keuze van de bakken en de methode om kwantielen te berekenen, en heeft vaak een te laag vermogen.
- Om deze redenen wordt de Hosmer-Lemeshow-test niet langer aanbevolen. Hosmer et al hebben een betere d.f. omnibus test of fit, geïmplementeerd in het R
rms
pakketresiduals.lrm
functie. - Voor jouw geval kan een goede fit worden beoordeeld door gezamenlijk (in een “chunk” -test) de bijdrage van alle kwadraten en interactietermen te testen.
- Maar ik raad aan om het model te specificeren zodat het waarschijnlijker past bij voorbaat (vooral met betrekking tot het verminderen van aannames over lineariteit met behulp van regressiespleten) en het gebruik van de bootstrap om overfitting te schatten en om een overfitting-gecorrigeerde gladde kalibratiecurve met hoge resolutie te krijgen om de absolute nauwkeurigheid te controleren. Deze worden gedaan met behulp van het R
rms
-pakket.
Op het laatste punt geef ik de voorkeur aan de filosofie dat modellen flexibel zijn (zoals beperkt door het voorbeeld grootte, in ieder geval) en dat we ons meer concentreren op “fit” dan op “gebrek aan pasvorm”.
Reacties
- Slechts één ding: de meeste $ R ^ 2 $ metingen vergelijken het gepaste model met een ” perfect model ” dat de voorspelling goed krijgt voor elk record, zonder een df te maken / overfitting aanpassing. +1 van mij.
- Ja, ‘ is alleen dat we nooit hopen perfect te zijn, dus ik zou $ 1 – R ^ {2} $ gebrek niet noemen geschikt.
Antwoord
Van Wikipedia :
De test beoordeelt of de waargenomen gebeurtenispercentages overeenkomen met de verwachte gebeurtenispercentages in subgroepen van de modelpopulatie. De Hosmer-Lemeshow-test identificeert specifiek subgroepen als de decielen van aangepaste risicowaarden. Modellen waarvoor de verwachte en geobserveerde gebeurtenispercentages in subgroepen vergelijkbaar zijn, worden goed gekalibreerd genoemd.
De betekenis ervan: na het bouwen van een model door uw model te scoren “sy, u wilt om te controleren of het over 10 decielen is verdeeld, vergelijkbaar met de werkelijke gebeurtenispercentages.
Dus de hypothesen zijn
- $ H_0 $: de werkelijke en voorspelde gebeurtenispercentages zijn vergelijkbaar over 10 deciles
- $ H_1 $: ze zijn hetzelfde
Dus als p -waarde kleiner is dan.05, ze zijn niet goed verdeeld en je moet je model verfijnen.
Ik hoop dat dit een aantal van je vragen beantwoordt.
Antwoord
Dit is nogal vreemd na het antwoord van @FrankHarrell, maar een fan van de H – L-test zou uit dat resultaat afleiden dat ondanks uw opname van kwadratische termen & enkele † 2e orde interacties, het model nog steeds vertoonde een significant gebrek aan fit, & dat misschien een nog complexer model geschikt zou zijn. U test de fit van precies het model dat u heeft gespecificeerd, niet van het eenvoudiger model van de eerste orde.
† Het is geen volledig model van de tweede orde — er zijn drie interacties om te gaan.