www.crosshyou.infoの続きです。
今回は、R言語のglm関数でロジスティクス回帰分析をして、東京23区かそうじゃないかを見分けようと思います。
predict関数で予測をして、table関数で実際の値と比較してみます。
予測で1と予測したのが23区です。1と1のところが23となっていますからパーフェクトに予測していますね。
glm1のモデルからRatio1を削除してみましょう。
anova関数でglm1とglm2を比較してみましたが、両者に有意な違いはないようです。
glm2モデルで予測してみます。
glm2モデルでもパーフェクトに予測しています。
Ratio2も削除してみます。
glm2とglm3をanova関数で比較します。
Pr(>Chi)が0.998と0.05よりも大きいので、glm2とglm3に有意な違いはないようです。
glm3で予測してみます。
glm3もパーフェクトですね。人口密度と1人当りの課税所得のデータがあれば東京23区かどうか判定できるということですね。
さらに、logperIncも削除してみます。
anova関数でglm3とglm4を比較します。
Pr(<Chi)が2.655e-06と0.05よりも小さいです。glm3とglm4は有意な違いがあります
glm4で予測してみましょう。
あら、予測は23区ではないと予測したけど実際は23区だったのが1つ、予測は23区と予測したけど実際は23区ではないのが3つと合計4つ間違えてしまいました。logperIncは削除してはダメだったということですね。
AIC関数でいままでのモデルを比較します。
AICは値が小さいほうがいいので、glm3が一番いいモデルですね。
logMitsuとlogperIncがexplanatory variablesのモデルです。
このモデルを使って、全データで予測してみます。
間違ったのは29個です。正解率は約96%でした。
今回は以上です。