crosshyou

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

都道府県別の凶悪犯認知件数の分析5 - R言語で可住地面積当りの凶悪犯認知件数を人口と県内総生産で回帰分析。人口・県内総生産額の大きな県ほど件数は多い

 

www.crosshyou.info

 の続きです。

前回作成した、可住地面積10万ha当りの凶悪犯認知件数を人口と県内総生産で回帰分析してみます。

まずはplot関数で散布図を描いてみます。

f:id:cross_hyou:20191103103352p:plain

f:id:cross_hyou:20191103103403p:plain

右側の対数変換した後の散布図のほうが分析するにはよさそうですね。

県内総生産との散布図も描きましょう。

f:id:cross_hyou:20191103104145p:plain

f:id:cross_hyou:20191103104202p:plain

pch = 21とbg = で色付きのドットにしてみました。県内総生産額も対数変換したほうがいいですね。

それでは、lm関数で重回帰分析をしてみます。

f:id:cross_hyou:20191103104640p:plain

p-valueは3.535e-10なので0.05よりも小さいの有意なモデルです。

Intercept以下全ての変数でPr(>|t|)が0.05以下なのですべて有意ということですね。

log(avgPop):log(avgGDP)の係数の符号がプラスなのでこれが大きいと可住地面積当りの凶悪犯認知件数は増加します。log(avgPop)とloh(avgGDP)の係数の符号はマイナスなのでこれが大きいと可住地面積当りの凶悪犯認知件数は減少します。

avgPopとavgGDPの平均値を調べてみます。mean関数を使います。

f:id:cross_hyou:20191103105437p:plain

avgPopの平均値は271万7604人、avgGDPの平均値は11兆2274億77百万円です。

仮の人口が300万人、県内総生産が10兆円の県(普通県としましょう)と

人口が600万人、県内総生産が20兆円(大型県としましょう)と

人口が150万人、県内総生産が5兆円(小型県としましょう)の3つの県があったと仮定して、それぞれの可住地面積当りの凶悪犯認知件数を推測してみます。

f:id:cross_hyou:20191103110427p:plain

まず、上のように仮定の県のデータのベクトル、estPop, estGDPを作りました。

そして、predict関数でモデルの予測値を計算します。

f:id:cross_hyou:20191103110930p:plain

モデルの反応変数は、log(BadArea)なので、logをはずすため、exp関数を使っています。

小型県は、可住地面積10万haあたり約28件、普通県は約48件、大型県は約120件と予測されました。人口、GDPの規模の大きな県ほど可住地面積当り凶悪犯認知件数は増加するようですね。

念のため、手計算でも予測値を計算してみました。

f:id:cross_hyou:20191103111943p:plain

少し値がpredict関数の計算結果とずれていますが、だいたいあっています。おそらくsummary関数では係数が小数点以下4桁までしか表示されていませんが、predict関数ではもっと細かい桁数まで使っているのでしょう。

今回は以上です。