2017-06-05 1 views
1

私はglmdredgeMuMInパッケージを使っていました。しかし今私のデータが大きいので、biglmパッケージからbigglmを使用しています。 dredgebigglmと動作しないので、今すぐモデル選択を行うにはどうすればいいですか?これを達成するために使用できる別のパッケージがありますか?私は、次のエラーが発生しますbigglmdredgeを適用するにはglmのための浚渫作業のようなbigglmモデル選択のための機能

Error in nobs.default(global.model) : no 'nobs' method is available

答えて

0

dredgeは、与えられたモデルクラスのlogLik方法の利用可能性に依存しています。 big[g]lmオブジェクトはそのような値を提供しておらず、big[g]lmクラスのメソッドでは知られているバグが長く残っていると思われます.LLから計算することは不可能です(AICを計算するのにLLではなくむしろ使用します。他のモデルタイプに匹敵するものではありません。AIC different between biglm and lm参照)。

あなたは(滑りやすいかもしれ代わりにLLの逸脱を使用して、)不足しているメソッドを追加してみてください:

# incorrect if any prior weights are 0 
nobs.biglm <- function (object, ...) object$n 

logLik.bigglm <- function(object, ...) { 
    dev <- deviance(object, ...) 
    df <- object$n - object$df.resid 
    structure(dev, df = df, nobs = object$n) 
} 

coefTable.biglm <- function (model, data, ...) { 
    ct <- summary(model)$mat[, c(1L,4L,5L), drop = FALSE] 
    .makeCoefTable(ct[, 1L], se = ct[, 2L], df = model$df.resid, coefNames = rownames(ct)) 
} 
environment(coefTable.biglm) <- asNamespace("MuMIn") 

#from example(bigglm) 

fm <- bigglm(log(Volume)~log(Girth)+log(Height),data=trees, chunksize=10, sandwich=TRUE) 
dredge(fm, rank = AIC) 
関連する問題