の続きです。
今回は、R言語のglm関数でロジスティクス回帰分析をしてみたいと思います。
こちらの本を参考にしてやってみました。
今回は人口(Popu)が平均以上か平均以下かという2つの値をとる変数をresponse variableにして、perGDP, perLib, perMus, perGymの4つの変数をexplanatory variablesにしました。
はじめにこれらの変数間の散布図マトリックスを見てみます。
pairs関数を使います。
人口は他の変数と関連性がありそうな雰囲気ですね。
このPopuが平均値以上なら1、そうでないなら0という変数を作ります。
どこの都道府県が平均以上か確認しましょう。
北は北海道から南は福岡県まで12の都道府県が人口が平均以上です。
それでは、glm関数で回帰分析モデルを作ります。
perGDPが多いほど、その他の変数は小さいほどLargeは1になるということですね。
step関数で単純化したモデルも作成します。
それでは、glm1を使って予測をしてみます。
使うデータは、2011年度のデータでやってみましょう。
2011年度も同じ12の都道府県が人口が平均値以上です。
glm1で予測します。
予測した結果がどのくらい正確か、caretパッケージのconfusionMatrix関数で見てみます。
予測値が0で実際にも0だったのが33個、予測値が1で実際にも1だったのが9個です。正解率は(33+9)/47=89.36%です。
単純化したモデル、glm2で予測してみます。
こちらもconfusionMatrix関数で正解率をみてみます。
予測値が0で実際も0なのが35個、予測値が1で実際も1なのが9個でした。
正解率は、(35+9)/47=93.62%でした。
今回は以上です。