2019/12/15 追記: 今は caret
, mlr
, mlr3
等便利バッケージが増えたので, 以下の内容をあえて使うメリットはないです.
概要
- 本文よりリンクの面積の方が大きいしょぼい記事
glmnet()
をglm()
の構文っぽく使う関数を雑に作った.- 今は
caret
があるのであまり意味はない.
内容
glmnet
パッケージの glmnet()
は名前でわかるように一般化線形モデル (GLM) を elastic net で正則化してくれる関数だが, 組み込みの glm()
と違って formula
で式を与えられないので若干めんどくささがある*1. また, リンク関数も指定できず, 自分で応答変数を変換してから使う必要がある.
今は caret
と併用すればデータフレームと formula
でモデルを定義できる部分は可能になるので意味は薄いが, 適当に作ってみた.
glmnet 自体の簡単な解説はここなんかを.
GLM の解説は久保本 (緑本) が定番か.
データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)
- 作者:久保 拓弥
- 発売日: 2012/05/19
- メディア: 単行本
以下が本題. elastic net なので, formula で指定した説明変数がすべて使われるわけでなく, 選択肢の候補である. よってデフォルトでは y~. つまり y 以外の全変数を候補として扱う. 厳密にテストしてないのでいろいろ問題がありそう*2.
2017/5/1: プログラムを清書
giste3a394011fc1e3e18d051c3fff95fbc5
以上