Pseudo R formula quadrata per GLM


Risposte:


22

Esistono molti pseudo- R2 s per GLiMs. L'eccellente sito di aiuto per le statistiche dell'UCLA ha una panoramica completa di questi qui . Quello che hai elencato si chiama pseudo- R ^ 2 di McFadden R2. Rispetto alla tipologia dell'UCLA, è come R2 nel senso che indicizza il miglioramento del modello adattato rispetto al modello nullo. Alcuni software statistici, in particolare SPSS, se ricordo bene, stampano di default lo pseudo- R2 di McFadden con i risultati di alcune analisi come la regressione logistica, quindi sospetto che sia abbastanza comune, sebbene lo pseudo- R di Cox & Snell e Nagelkerke ^ 2R2 s potrebbe essere ancora di più. Tuttavia, lo pseudo- R ^ 2 di McFadden R2non ha tutte le proprietà diR2 (no pseudo- R2 ). Se qualcuno è interessato a utilizzare uno pseudo- R2 per comprendere un modello, consiglio vivamente di leggere questo eccellente thread CV: quale misura pseudo- R2 è quella da segnalare per la regressione logistica (Cox & Snell o Nagelkerke)? (Per quello che vale, R2 è di per sé slipperier di quanto si creda, una grande dimostrazione di che può essere visto in @ di whuber risposta qui: Is R2 ? Utili o pericolosi )


Mi chiedo se tutti questi pseudo-R2 siano stati progettati specificamente solo per la regressione logistica? O si generalizzano anche per poisson e gamma-glms? Ho trovato diverse formule R2 per ogni possibile GLM inColin Cameron, A., & Windmeijer, F. A. (1997). An R-squared measure of goodness of fit for some common nonlinear regression models. Journal of Econometrics, 77(2), 329-342.
Jens

@Jens, alcuni sembrano certamente specifici per LR, ma altri usano la devianza, che potresti ottenere da qualsiasi GLiM.
gung - Ripristina Monica

1
Si noti che di McFadden è spesso definito in termini di probabilità logaritmica, che è definita solo fino a una costante additiva e non alla devianza come nella domanda del PO. Senza una specifica della costante additiva, di McFadden non è ben definito. La devianza è una scelta unica della costante additiva, che secondo me è la scelta più appropriata, se la generalizzazione dovrebbe essere comparabile con da modelli lineari. R2R2R2
NRH,

Dato che i GLM sono idonei utilizzando i minimi quadrati iterativamente ripesati, come in bwlewis.github.io/GLM , quale sarebbe l'obiezione in realtà di calcolare un R2 ponderato sulla scala dei collegamenti GLM, usando i pesi 1 / varianza come pesi (che glm restituisce nello slot pesi in una forma perfetta)?
Tom Wenseleers,

@TomWenseleers, puoi fare quello che vuoi, ma gli argomenti di base sono nel thread "Quale pseudo- ... da segnalare ..." che ho collegato, in particolare la risposta di Probislogic . R2
gung - Ripristina Monica

9

R fornisce una deviazione nulla e residua nell'output in glmmodo da poter effettuare esattamente questo tipo di confronto (vedere le ultime due righe di seguito).

> x = log(1:10)

> y = 1:10

> glm(y ~ x, family = poisson)

>Call:  glm(formula = y ~ x, family = poisson)

Coefficients:
(Intercept)            x  
  5.564e-13    1.000e+00  

Degrees of Freedom: 9 Total (i.e. Null);  8 Residual
Null Deviance:      16.64 
Residual Deviance: 2.887e-15    AIC: 37.97

Puoi anche estrarre questi valori dall'oggetto con model$null.devianceemodel$deviance


Ah ok. Stavo solo rispondendo alla domanda come scritto. Avrei aggiunto di più, ma non sono sicuro al 100% di come viene calcolata la deviazione nulla (ha qualcosa a che fare con la probabilità di log di un modello saturo, ma non ricordo abbastanza dei dettagli sulla saturazione per essere sicuro che potrei dare buone intuizioni)
David J. Harris,

Non ce l'ho nell'output glm (possesso di famiglia o quasipoisson).
Curioso il

@Tomas vede le mie modifiche. Non so se mi sono sbagliato 2 anni fa o se l'output predefinito è cambiato da allora.
David J. Harris, del

summary.glmR2

1
Leggi la domanda Pensi di rispondere? La domanda non era "dove posso ottenere i componenti della formula?".
Curioso il

6

La formula che hai proposto è stata proposta da Maddala (1983) e Magee (1990) per stimare R al quadrato sul modello logistico. Pertanto non penso che sia applicabile a tutti i modelli glm (vedere il libro Metodi di regressione moderni di Thomas P. Ryan a pagina 266).

Se crei un set di dati falso, noterai che è sottovalutato il quadrato R ... per glm gaussiano per esempio.

Penso che per una gloria gaussiana puoi usare la formula quadrata di base (lm) R ...

R2gauss<- function(y,model){
    moy<-mean(y)
    N<- length(y)
    p<-length(model$coefficients)-1
    SSres<- sum((y-predict(model))^2)
    SStot<-sum((y-moy)^2)
    R2<-1-(SSres/SStot)
    Rajust<-1-(((1-R2)*(N-1))/(N-p-1))
    return(data.frame(R2,Rajust,SSres,SStot))
}

E per la famiglia logistica (o binomiale in r) userei la formula che hai proposto ...

    R2logit<- function(y,model){
    R2<- 1-(model$deviance/model$null.deviance)
    return(R2)
    }

Finora per il glisson di poisson ho usato l'equazione di questo post.

/programming/23067475/how-do-i-obtain-pseudo-r2-measures-in-stata-when-using-glm-regression

C'è anche un grande articolo sullo pseudo R2 disponibile sulle porte della ricerca ... ecco il link:

https://www.researchgate.net/publication/222802021_Pseudo_R-squared_measures_for_Poisson_regression_models_with_over-_or_underdispersion

Spero questo aiuto.


Basta adattare un modello GLM con family = gaussian (link = identità) e controllare il valore di 1-summary(GLM)$deviance/summary(GLM)$null.deviancee vedrai che R2 corrisponde al valore R2 di una normale regressione OLS, quindi la risposta sopra è corretta! Vedi anche il mio post qui - stats.stackexchange.com/questions/412580/…
Tom Wenseleers

3

Il pacchetto R modEvAcalcola D-Squared come 1 - (mod$deviance/mod$null.deviance)come detto da David J. Harris

set.seed(1)
data <- data.frame(y=rpois(n=10, lambda=exp(1 + 0.2 * x)), x=runif(n=10, min=0, max=1.5))

mod <- glm(y~x,data,family = poisson)

1- (mod$deviance/mod$null.deviance)
[1] 0.01133757
library(modEvA);modEvA::Dsquared(mod)
[1] 0.01133757

Il D-Squared o spiegato Deviance del modello è introdotto in (Guisan & Zimmermann 2000) https://doi.org/10.1016/S0304-3800(00)00354-9

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.