1

観測n数が変数の数よりも小さいデータがありますp。回答変数はバイナリです。例えば:

n <- 10
p <- 100
x <- matrix(rnorm(n*p), ncol = p)
y <- rbinom(n, size = 1, prob = 0.5)

このデータにロジスティック モデルを当てはめたいと思います。だから私はコードを使用しました:

model <- glmnet(x, y, family = "binomial", intercept = FALSE)

この関数は、さまざまな $\lambda$ 値 ( LASSO回帰のペナルティ パラメーター) に対して 100 個のモデルを返します。n - 1パラメータも少ない(観測数よりも少ない)最大のモデルを選択したいと思います。選択したモデルがlambda_opt.

model_one <- glmnet(x, y, family = "binomial", intercept = FALSE, lambda = lambda_opt)

ここで、2 番目のステップを実行したいと思いstepます。モデルに関数を使用して、BIC - ベイジアン情報量基準の観点から最適なサブモデルを選択します。残念ながら、関数はクラスstepのオブジェクトに対しては機能しません。glmnet

step(model_one, direction = "backward", k = log(n))

どうすればそのような手順を実行できますか? glmnetこの特定のクラス ( ) に対して、私がやりたいことを行う他の関数はありますか?

4

1 に答える 1