Rで何かをしたり、読書をするブログ

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

都道府県別の通院者率のデータの分析5 - ダミー変数(year)の交差項を入れて回帰分析をする。

f:id:cross_hyou:20210923082217j:plain

Photo by Aaron Burden on Unsplash 

www.crosshyou.info

の続きです。

前回はhosp: 人口1000人当たりの通院者率をoldr: 65歳以上人口割合(%)で回帰分析しました。oldrが1ポイント高くなると、約8人通院者率が増えることがわかりました。

今回は回帰式にyear: 2007年と2019年のファクターを入れてみて、2007年と2019年では違いがあるかどうかを見てみましょう。

f:id:cross_hyou:20210923082758p:plain

year2019のp値は0.647、oldr:year2019のp値は0.511なので、年による違いがあるとは言えないようです。

2019年のときの回帰式は、

hosp = 237.2150 + 16.2060 + (4.1770 + 0.8714)*oldr

2007年のときの回帰式は、

hosp = 237.2150 + 4.1770*oldr

です。oldrの係数がyearを入れていないmodel1のときと比べるとだいぶ小さくなっていますね。

anova関数でmodel1とmodel2を比較してみましょう。

f:id:cross_hyou:20210923083403p:plain

p値がかなり小さい値ですので、model1とmodel2では有意な違いがあります。

つまり、model2でyear2019、oldr:year2019の個々の係数のp値は有意ではないですが、二つ合わせると有意ということですね。

anova関数だと簡単に計算できますが、これをマニュアルというか、なるべく原始的に計算するとどうなるでしょうか?

F = ( (SSRr - SSRur)/q ) / ( SSRur / (n - k - 1) )

というF値を算出して、F検定します。

SSRrはmdel1のほうの残差の2乗の合計(residual sum of squares)で、

SSRurはmodel2のほうの残差の合計です。

qはmodel2に追加した説明変数の数ですかたら、この場合はyear2019, oldr:year2019なので2になります。

nは観測数で、今回は47都道府県*2年なので94です。

kはmodel2の説明変数の数ですから、oldr, year2019, oldr:year2019の3になります。

まず、Fを計算します。

f:id:cross_hyou:20210923090045p:plain

F値が20.64868と算出されました。これは、anova関数の結果のFの値と同じですね。

pf関数でp値を計算します。

f:id:cross_hyou:20210923090536p:plain

4.162873e-08となりました。anova関数のp値と同じですね。(anova関数は4.163e-08)

散布図に回帰直線を入れてみましょう。

f:id:cross_hyou:20210923091313p:plain

f:id:cross_hyou:20210923091343p:plain

黒い直線がyearを説明変数に入れない回帰直線です。

赤い直線は2007年の、緑の直線が2019年の回帰直線です。

緑の直線の切片が赤い直線の切片よりも上にあります。2019年のほうが同じoldrだとしてもhospは大きいということですよね。

傾きも2007年よりも2019年のほうがきつくなっています。2019年のほうがoldrの影響がより大きくなっているということですね。

今回は以上です。

次回は

 

www.crosshyou.info

です。

はじめから読むには

 

www.crosshyou.info

です。