J'ai trouvé une formule pour le pseudo dans le livre Extending the Linear Model with R, Julian J. Faraway (p. 59).
Est-ce une formule courante pour le pseudo pour les GLM?
J'ai trouvé une formule pour le pseudo dans le livre Extending the Linear Model with R, Julian J. Faraway (p. 59).
Est-ce une formule courante pour le pseudo pour les GLM?
Réponses:
Il existe un grand nombre de pseudo- pour les GLiM. L'excellent site d'aide des statistiques UCLA en a un aperçu complet ici . Celui que vous listez s'appelle le pseudo- McFadden . Par rapport à la typologie UCLA, elle est comme dans le sens où elle indexe l'amélioration du modèle ajusté sur le modèle nul. Certains logiciels statistiques, notamment SPSS, si je me souviens bien, impriment par défaut le pseudo- de McFadden avec les résultats de certaines analyses comme la régression logistique, donc je soupçonne que c'est assez courant, bien que les pseudo- Cox & Snell et Nagelkerke pseudo- s peut être encore plus. Cependant, le pseudo- McFadden n'a pas toutes les propriétés deR 2 R 2 R 2 R 2 R 2 R 2 R 2 R 2 R 2 R 2 R 2 (pas de pseudo- ). Si quelqu'un souhaite utiliser un pseudo- pour comprendre un modèle, je recommande fortement de lire cet excellent fil de discussion: Quelle pseudo- mesure est celle à signaler pour la régression logistique (Cox & Snell ou Nagelkerke)? (Pour ce que ça vaut, est lui - même que les gens se rendent compte glissante, une grande démonstration qui peut être vu dans la réponse de @ whuber ici: Is ? Utile ou dangereux )
R donne une déviance nulle et résiduelle dans la sortie pour glm
que vous puissiez faire exactement ce genre de comparaison (voir les deux dernières lignes ci-dessous).
> 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
Vous pouvez également extraire ces valeurs de l'objet avec model$null.deviance
etmodel$deviance
La formule que vous avez proposée a été proposée par Maddala (1983) et Magee (1990) pour estimer R au carré sur le modèle logistique. Par conséquent, je ne pense pas que cela s'applique à tous les modèles glm (voir le livre Modern Regression Methods de Thomas P. Ryan à la page 266).
Si vous faites un faux ensemble de données, vous verrez qu'il sous-estime le R au carré ... pour la glm gaussienne par exemple.
Je pense que pour un gla gaussien, vous pouvez utiliser la formule de base (lm) R au carré ...
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))
}
Et pour la logistique (ou la famille binomiale en r) j'utiliserais la formule que vous avez proposée ...
R2logit<- function(y,model){
R2<- 1-(model$deviance/model$null.deviance)
return(R2)
}
Jusqu'à présent, pour poisson glm, j'ai utilisé l'équation de ce post.
/programming/23067475/how-do-i-obtain-pseudo-r2-measures-in-stata-when-using-glm-regression
Il y a aussi un super article sur la pseudo R2 disponible sur les portails de recherche ... voici le lien:
J'espère que cette aide.
1-summary(GLM)$deviance/summary(GLM)$null.deviance
et vous verrez que le R2 correspond à la valeur R2 d'une régression OLS régulière, donc la réponse ci-dessus est correcte! Voir aussi mon article ici - stats.stackexchange.com/questions/412580/…
Le paquet de R modEvA
calcule D-Squared
comme 1 - (mod$deviance/mod$null.deviance)
mentionné par 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
Le D-Squared ou la déviance expliquée du modèle est présenté dans (Guisan & Zimmermann 2000) https://doi.org/10.1016/S0304-3800(00)00354-9
Colin 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.