簡體   English   中英

使用泊松回歸的bestglm R軟件包錯誤

[英]bestglm R package error using Poisson regression

我正在嘗試使用R中的bestglm包來擬合Poisson回歸模型。 這是我的代碼:

bestmodel <- bestglm(Xy, family = poisson, IC ="BIC")

輸出是

Morgan-Tatar search since family is non-gaussian. Error in dimnames(Bestq) <- list(c("BICq1", "BICq2"), c("q1", "q2", "selected k")) : length of 'dimnames' [2] not equal to array extent In addition: There were 50 or more warnings (use warnings() to see the first 50)

數據幀Xy沒什么特別的,只不過它並不嚴格包含整數,這會導致最終收集警告。 值得注意的是,代碼

bestmodel <- bestglm(Xy, IC ="BIC")

運行得很好。

這是一個錯誤,還是我可以做些什么來使其運行?

tl; dr出於技術原因,使用非整數數據進行Poisson GLM的基於似然性或基於IC的模型選擇會遇到麻煩(似然性不一定明確)。 通過准可能性解決問題是可能的:我在下面的解決方案中有一個技巧,但是如果您重視自己的結論,則應仔細檢查准AIC公式是否正確!

我認為非整數值確實是問題所在。 我可以將其復制如下:

library("bestglm")

set.seed(101)
## y must be **LAST** column (not documented clearly!)
Xy <- data.frame(
    x1=rnorm(100),x2=rnorm(100),
    y=rpois(100,2))

使響應變量為非整數:

Xy2 <- transform(Xy,y=y+0.5)

所有這些工作:

bestglm(Xy)
bestglm(Xy,IC="BIC")
bestglm(Xy,IC="BIC", family=poisson)

這將失敗:

bestglm(Xy2,IC="BIC", family=poisson)
##  Error in dimnames(Bestq) <- 
## list(c("BICq1", "BICq2"), c("q1", "q2", "selected k")) : 
##    length of 'dimnames' [2] not equal to array extent

我不確定這是否應該視為錯誤,因為Poisson GLM並不是真的打算處理非整數數據(但是我有時會這樣做,所以我很感激)。 我認為最接近的問題可能是BIC(以及其他基於對數似然性的信息標准)是無限的,因為在Poisson模型下,非整數值在技術上是不可能的,因此可能性為零...

BIC(glm(y~1,data=Xy2,family=poisson))
## Inf

原則上,您可以通過計算准似然/准AIC來解決此問題,但是R的內置擬quasipoisson族由純粹主義者編寫,他們不相信這樣的事情是有道理的:

BIC(glm(y~1,data=Xy2,family=quasipoisson))
## NA

我認為最好的解決方案是編寫您自己的my_quasipoisson家庭,以取代

quasipoisson()$aic
function (y, n, mu, wt, dev) 
NA

具有合理的似然性。

更新 :這是一種解決方法。 這是對合理的准AIC表達式的破解BIC()我認為BIC()也使用了該表達式)。 它具有比平常更少的保修。

my_QP <- function(link="log") {
    QP <- quasipoisson(link=link)
    QP$aic <- function (y, n, mu, wt, dev) {
        nobs <- length(y)
        disp <- dev/n
        dev0 <- -2*sum((-mu + y*log(mu) -lfactorial(y))*wt/disp)
        dev0 + 2  ## extra penalty parameter
    }
    QP
}

bestglm(Xy2,family=my_QP)

交叉檢查以查看諸如MuMInAICcmodavg類的程序包(我記得允許使用基於准AIC的模型平均和選擇功能)是AICcmodavg ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM