Rバージョン2.15.0(2012-03-30)RStudio 0.96.316 Win XP、最終更新
40個の変数と15.000個の観測値を持つデータセットがあります。bestglmを使用して、可能な適切なモデル(ロジスティック回帰)を検索したいと思います。bestglmを試しましたが、このような中規模のデータセットでは機能しません。いくつかの試行の後、少なくとも私のコンピューター(4G RAM、デュアルコア)に約30を超える変数がある場合、bestglmは失敗すると思います。
あなたはあなた自身でbestglm制限を試すことができます:
library(bestglm)
bestBIC_test <- function(number_of_vars) {
# Simulate data frame for logistic regression
glm_sample <- as.data.frame(matrix(rnorm(100*number_of_vars), 100))
# Get some 1/0 variable
glm_sample[,number_of_vars][glm_sample[,number_of_vars] > mean(glm_sample[,number_of_vars]) ] <- 1
glm_sample[,number_of_vars][glm_sample[,number_of_vars] != 1 ] <- 0
# Try to calculate best model
bestBIC <- bestglm(glm_sample, IC="BIC", family=binomial)
}
# Test bestglm with increasing number of variables
bestBIC_test(10) # OK, running
bestBIC_test(20) # OK, running
bestBIC_test(25) # OK, running
bestBIC_test(28) # Error: cannot allocate vector of size 1024.0 Mb
bestBIC_test(30) # Error: cannot allocate vector of size 2.0 Gb
bestBIC_test(40) # Error in rep(-Inf, 2^p) : invalid 'times' argument
良いモデルを探すためにRで使用できる代替案はありますか?