www.crosshyou.info

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

都道府県別の建築物リフォーム・リニューアル調査のデータ分析4 - inferパッケージでBootstrapでの回帰分析

UnsplashNick Fewingsが撮影した写真 

www.crosshyou.info

の続きです。前回までのデータの分析で、年度によって、l_totalの値が違うっぽいことがわかりました。今回はこれが統計定期に有意な違いなのかどうかを調べてみます。

inferパッケージで、シミュレーションベースで調べてみます。

はじめに、年度ごとにl_totalの値が違うかどうかをグラフでみてみましょう。

geom_boxplot()関数で箱ひげ図を描きました。真ん中の黒い水平線が中央値です。

group_by()関数とsummarize()関数とmean()関数で年度ごとのl_totalの平均値も確認しておきます。

2016年度は7.75, 2017年度は7.41, 2018年度は7.43です。

それでは、inferパッケージを読み込みます。

Full infer Pipeline Examples • infer の

MULTIPLE EXPLANATORY VARIABLES の例を参考にします。

まずは、サンプルからのobserved fitを取得します。

2016年度が基準で、2017年度は-0.244, 2018年度は-0.320小さいということです。

7.51(2017年度の平均) - 7.75(2016年度の平均) = -0.24

7.43(2018年度の平均) - 7.75(2016年度の平均) = -0.32

という結果と同じですね。

これは、理論ベースの lm()関数でも同じです。

続いて、Bootstrapをして1000回繰り返します。

この結果を視覚化してみます。

steelblue色の垂直線が0の位置です。2017年度の推定値も2018年度の推定値も分布は明らかに0よりも小さいエリアにあります。

この値をlm()関数の値と比較しますと、

ほとんど同じ値ですね。

95%の信頼区間を求めてみます。

inferパッケージでbootstrapをしてほうは、get_confidence_interval()関数で、

lm()関数での回帰分析のほう(理論的なほう)は、confint()関数で身体区間が求まります。

bootstrapのほうが範囲が広いですね。

2018年度の信頼区間もみてみます。

2018年度もbootstrapでの信頼区間のほうが範囲が広いです。

p値を求めてみます。

bootstrapのほうは0、lm()関数のほうは1.148e-06です。どちらも0とみなしていいくらいの小さい値です。

inferパッケージでbootstrapで回帰分析した場合は、get_p_value()関数でp値がわかります。

2018年度のp値も同じように求めてみます。

bootstrapでのp値は0,lm()関数でのp値は9.22e-10です。どちらも0とみなしていいくらいの小ささですね。

l_totalの値は年度によって値が違うようです。

今回は以上です。

次回は

www.crosshyou.info

です。

初めから読むには、

www.crosshyou.info

です。