0
我想知道是否有一種方法可以根據產生的輸出計算Nagelkerke R-square。我知道我可以直接計算McFadden R-square。但是Nagelkerke產生了我們認爲是模型更精確的力量。 如果你有這樣的想法,我沒有把運氣添加到我的設置上。R:McFadden&Nagelkerke之間的關係
謝謝。
我想知道是否有一種方法可以根據產生的輸出計算Nagelkerke R-square。我知道我可以直接計算McFadden R-square。但是Nagelkerke產生了我們認爲是模型更精確的力量。 如果你有這樣的想法,我沒有把運氣添加到我的設置上。R:McFadden&Nagelkerke之間的關係
謝謝。
這個問題還沒有定義,所以我會盡我所能,假設「產生的輸出」是一個glm
對象。此函數應用於glm
對象時應產生適當的僞R方形。
Nagelkerke <- function(mod) {
l_full <- exp(logLik(mod))
l_intercept <- exp(logLik(update(mod, . ~ 1)))
N <- length(mod$y)
r_2 <- (1 - (l_intercept/l_full)^(2/N))/(1 - l_intercept^(2/N))
return(as.numeric(r_2))
}
實施例:
model <- glm(formula = vs ~ mpg + disp, family = binomial("logit"), data = mtcars);
Nagelkerke(model);
#[1] 0.6574295
我看到了這個,但是當我輸入Nagelkerke(模型)時,我收到了一個錯誤信息,說沒有這樣的功能。 – WillCoop4
的'pscl'包中包含用於估計幾僞R^2所統計的函數('pR2')。需要警告的是,「Nagelkerke產生我們感覺到的是模型的更精確的強度」是與以類似於線性模型的方式評估GLM有關的困難的過於簡單化... –
有多種計算僞R2度量的包。 ('library(「sos」); findFn(「Nagelkerke」)')。你嘗試過哪些,哪些沒有奏效? –
當我輸入findFn時,它找不到它 - 它不存在。我也嘗試了pR2功能,但沒有成功。 – WillCoop4