crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

都道府県別の1人当りの県民所得と従業者人数別事業所割合の分析5 - R言語のlm関数で回帰分析をする。

 

www.crosshyou.info

 の続きです。

今回はR言語のlm関数を使って回帰分析をしてみます。

rensponse variableはshotoku, explanatory variableはsmallでやってみます。

つまり、1人当りの県民所得を従業者人数が1~4人の事業所の割合で回帰するということです。

lm関数で回帰分析

一番したの行のp-valueが4.305e-09と0.05よりも小さいので意味のあるモデルです。

Adjusted R-squaredは0.2148ですからあまりはてはまりはよくないです。

smallの係数のt値は-6.268でPr(>|t|)が4.31e-09と0.05よりも小さいのでsmallは有意な変数です。

plot関数で残差プロットを見てみましょう。

plot関数

残差プロット

右上に13番、60番、107番のデータが外れていますし、赤い線が右肩下がりというパターンになっていますので、あんまりいいモデルとは言えませんね。

13番、60番、107番ってどの都道府県でしょうか?

データフレームのsubscript

東京都が残差が多くなる都道府県でした。

モデルの予測値と実際のshotokuの値の散布図を描いてみましょう。

geom_point関数で散布図

散布図

shotokuとモデルの予測値が完全に一致しているならば、すべての点は赤い直線上に位置するはずですが、画面右上、東京都が大きく外れていますね。

東京都か東京都でないか、というダミー変数を作ってそれを説明変数に加えてみましょう。

ifelse関数でダミー変数を作成

mutate関数とifelse関数を使いました。

このダミー変数、tokを加えて回帰分析をしてみます。

lm関数で回帰分析

p-valueは2.2e-16で0.05よりも小さいので有意なモデルです。small, tokの各変数のPr(|t|)も0.05よりも小さいので有意です。そして、Adjusted R-squareが0.6169と大幅に上昇しました。

残差プロットを見てみましょう。

plot関数

残差プロット

赤い線がほぼ水平線なのでいいですね。

モデルの予測値と実際のshotokuの散布図を見てみます。

geom_point関数で散布図

散布図

画面右上の東京都も赤い線の近くになりました。

東京都ダミーの変数を入れるとモデルの精度がよくなりました。

今回は以上です。