R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Logistisen regression selitysaste

Tein erääseen julkaisuun logistisia regressiomalleja, ja käsikirjoituksen vertaisarvioija halusi nähdä mallien max rescaled R squared [sic] -arvon. Onneksi on Google, joka tiesi kertoa, että se on SAS:n logistiselle regressiolle ilmoittama pseudo-selitysaste, mutta sen laskeminen R:ssä olikin toinen juttu. Laajennuspaketista pscl löytyi nopeasti komento pR2(), joka laskee erilaisia pseudo-selitysasteita:

n <- 100
x <- c(rnorm(n), 1+rnorm(n))
y <- c(rep(0,n), rep(1,n))
fit <- glm(y~x, family=binomial)
library(pscl)
pR2(fit)
#          llh      llhNull           G2     McFadden         r2ML         r2CU 
# -121.2974283 -138.6294361   34.6640157    0.1250240    0.1591316    0.2121754

Mutta mikä pR2():n raportoimista arvoista on sama kuin SAS:n Max-rescaled Rsquared? Puoli päivää asiaa tutkittuani sain viimein selvitettyä, että yllä olevassa tulosteessa r2ML on Cox-Snell:in selitysaste, joka vastaa SAS:ssa R Squared -arvoa. Arvo r2CU on Cragg-Uhlerin selitysaste, jota myös Nagelkerken selitysasteeksi kutsutaan, ja joka vastaa tuota etsimääni SAS:n max-rescaled selitysastetta. Mainittakoon täydellisyyden vuoksi, että tuo arvo McFadden on McFaddenin selitysaste, jota toisinaan kutsutaan myös nimellä deviance pseudo-R squared.

Olisin väittänyt referee:lle vastaan koko selitysasteen käytöstä yleistettyjen lineaaristen mallien tapauksessa, mutta palautteessa oli niin monta muutakin taistelua vaativaa seikkaa, että jossain piti antaa periksikin.


Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *