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%でした。
今回は以上です。