Znaleziono, że wzór na pseudo- w książce rozszerzającej się model liniowy z R Julian J. recz (str. 59).
.
Jest to wspólna formuła pseudo- na GLMs?
Znaleziono, że wzór na pseudo- w książce rozszerzającej się model liniowy z R Julian J. recz (str. 59).
.
Jest to wspólna formuła pseudo- na GLMs?
Odpowiedzi:
Istnieje duża liczba pseudo- S kła. Doskonała strona pomocy statystyk UCLA zawiera ich pełny przegląd tutaj . Ten, który wymieniasz, nazywa się pseudo- R 2 McFaddena . Względem typologii UCLA, to jest jak R 2 w tym sensie, że indeksy Poprawa dopasowanego modelu na model zerowej. Niektóre programy statystyczne, zwłaszcza SPSS, o ile dobrze pamiętam, domyślnie wypisują pseudonim R 2 McFaddena z wynikami niektórych analiz, takich jak regresja logistyczna, więc podejrzewam, że jest dość powszechny, chociaż pseudo Cox & Snell i Nagelkerke R 2 może być nawet bardziej. Jednak pseudo- McFadden nie ma wszystkich właściwości R 2 (bez pseudo R 2 nie). Jeśli ktoś jest zainteresowany użyciem pseudo- R 2 do zrozumienia modelu, zdecydowanie polecam przeczytanie tego doskonałego wątku CV:Którąmiarępseudo- R 2 zgłosi regresja logistyczna (Cox & Snell lub Nagelkerke)? (Na co warto, R 2 jest sam slipperier niż ludzie zdają sobie sprawę, wielki pokaz, który można zobaczyć na użytkownika @ whuber odpowiedź tutaj:Czy R 2 ? Użyteczna lub niebezpieczna)
R daje zerowe i szczątkowe odchylenie w danych wyjściowych, aby glm
można było dokonać dokładnie tego rodzaju porównania (patrz dwie ostatnie linie poniżej).
> 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
Możesz również wyciągnąć te wartości z obiektu za pomocą model$null.deviance
imodel$deviance
Zaproponowana przez ciebie formuła została zaproponowana przez Maddala (1983) i Magee (1990) w celu oszacowania R do kwadratu na modelu logistycznym. Dlatego nie sądzę, że ma to zastosowanie do wszystkich modeli glm (patrz książka Nowoczesne metody regresji Thomasa P. Ryana na stronie 266).
Jeśli stworzysz fałszywy zestaw danych, zobaczysz, że nie docenia on kwadratu R ... dla przykładu gaussowskiego glm.
Myślę, że dla gaussowskiego glm możesz użyć podstawowej (lm) R kwadratowej formuły ...
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))
}
A dla logistyki (lub rodziny dwumianowej wr) użyłbym zaproponowanej przez ciebie formuły ...
R2logit<- function(y,model){
R2<- 1-(model$deviance/model$null.deviance)
return(R2)
}
Do tej pory dla poissona glm użyłem równania z tego postu.
/programming/23067475/how-do-i-obtain-pseudo-r2-measures-in-stata-when-using-glm-regression
Jest też świetny artykuł na temat pseudo R2 dostępny na bramkach badań ... oto link:
Mam nadzieję, że ta pomoc.
1-summary(GLM)$deviance/summary(GLM)$null.deviance
a zobaczysz, że R2 odpowiada wartości R2 zwykłej regresji OLS, więc powyższa odpowiedź jest poprawna! Zobacz także mój post tutaj - stats.stackexchange.com/questions/412580/…
Pakiet R modEvA
oblicza D-kwadrat
, jak 1 - (mod$deviance/mod$null.deviance)
wymienione 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
D-Squared lub wyjaśnione odchylenie modelu zostało wprowadzone w (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.