www.crosshyou.info

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

都道府県別の新規求職申込件数の分析2 - R言語で回帰分析。外れ値を含んだデータと含んでないデータで比較。

 

www.crosshyou.info

 の続きです。

今回はR言語で回帰分析をしてみます。

まず、2015年度だけのデータフレームを作成してdf15と名前をつけます。

f:id:cross_hyou:20200130185600p:plain

このdf15のpJob(人口1000人当りの新規求職申込件数)とpGDP(一人当りの県内総生産額(万円))を回帰分析します。

まずは、plot関数で散布図を描きましょう。

f:id:cross_hyou:20200130190022p:plain

f:id:cross_hyou:20200130190032p:plain

右端にポツンと点がありますね。東京都だと思うのですが外れ値ですね。

まずは、このまま回帰分析してみます。lm関数を使います。

f:id:cross_hyou:20200130190348p:plain

p-valueが0.01363と0.05よりも小さいので、この回帰分析モデルは統計的に有意です。pGDPの係数は、-0.03277ですからpGDPが大きいほど件数は少ないことになります。

abline関数で回帰直線を描きます。

f:id:cross_hyou:20200130190721p:plain

f:id:cross_hyou:20200130190733p:plain

こうなりました。回帰直線は右肩下がりですね。

pJob, pGDPの外れ値をboxplot関数で確認します。

f:id:cross_hyou:20200130191059p:plain

f:id:cross_hyou:20200130191113p:plain

pJobには大きい外れ値が一つ、pGDPには大きい外れ値が二つあります。これらのデータを除外したデータフレームを作成して、df15_v2と名前を付けます。

f:id:cross_hyou:20200130191455p:plain

pJobの一番大きい値は、53.853ですね。これを削除しましょう。

f:id:cross_hyou:20200130192232p:plain

次は、pGDPの外れ値を確認します。

f:id:cross_hyou:20200130192348p:plain

500以上の二つのデータが外れ値ですね。

f:id:cross_hyou:20200130192634p:plain

NAの行を削除します。

f:id:cross_hyou:20200130192813p:plain

pJobの最大値が46.04になっていますし、pGDPの最大値が47.3になっています。Yearの2015年度の数が44ですから、無事に3つの都道府県が除外されました。この外れ値を除外したデータで散布図を描いてみます。

f:id:cross_hyou:20200130193129p:plain

f:id:cross_hyou:20200130193140p:plain

それでは、回帰モデルを作成してみます。

f:id:cross_hyou:20200130193340p:plain

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

もともともデータの散布図にmodel1, model2の回帰直線を重ねてみます。

f:id:cross_hyou:20200130193804p:plain

f:id:cross_hyou:20200130193815p:plain

外れ値を含んだデータで回帰したモデル(青)も外れ値を除外したデータで回帰したモデル(緑)もそんなに違いはありませんね。

二つのモデルの残差プロットを見てみます。

f:id:cross_hyou:20200130194539p:plain

f:id:cross_hyou:20200130194550p:plain

今回は以上です。