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.