(Bing Image Creator で生成: プロンプト: Landscape photo of various type of tulip flowers, photo)
の続きです。
今回は、pop1000: 人口に加えて、いろいろな説明変数を加えたモデルを考えてみます。まず、inc: 1人当たり県民所得【千円】を説明変数に加えたモデルを考えます。
inc の係数は -0.7209 でした。p値は0.32707なので、統計的に有意な係数ではないようです。pop1000の係数は 1.8133でした。p値はゼロに近いので、統計的に有意な係数です。incが同じならば、人口が1000人増えると、道路平均交通量は1.81台増える、という解釈ですね。
こんどは、2015年度の交通量を説明変数に追加してみます。はじめに2015年度の交通量を2020年のデータフレームに追加します。
kotsu2015も説明変数に加えてみます。
kotsu2015の係数は0.97866でp値はほとんどゼロです。pop1000, incの両方のp値は0.05以上なので、どちらも統計的に有意ではなくなりました。
ここで、pop1000とincの両方が統計的に有意かどうかを検定してみたいと思います。
Jeffrey M. WooldridgeのIntroductory Econometrics A Modern Approace 7eの139ページ目にある、4-5 Testing Multiple Linear Restrictions: The F-Testのところを参考にしました。
kotsu2015だけのモデルをrestricted model, pop1000, inc, kotsu2015のモデルをunrestricted modelと呼んで、それぞれのモデルを推定します。
そして、それぞれのSSR(residual sum of squares)を計算します。
n は観測数なので、47, kはunrestricted modelの説明変数の数なので、3、qは2です。
これで、F値を求めることができます。
F値が求められたら、pf()関数でp値がわかります。
p値が0.3665 と 0.05よりもかなり大きい数字です。つまり、H0: pop1000の係数 = 0, incの係数 = 0 という帰無仮説を棄却できません。
わざわざF値と計算しなくても、anova()関数で簡単にわかります。
今回は以上です。
次回は
です。
初めから読むには、
です。
今回のコードは以下になります。
#
# inc: 1人当たり県民所得【千円】を加えてモデル
model_multi <- lm(kotsu ~ pop1000 + inc, data = df_2020)
summary(model_multi)
#
# df_2020に2015年度のkotsuを追加する
df_2020 <- df_2020 |>
mutate(kotsu2015 = df_2015$kotsu)
#
# inc, kotsu2015も加えたモデル
model_multi2 <- lm(kotsu ~ pop1000 + inc + kotsu2015, data = df_2020)
summary(model_multi2)
#
# restricted model
model_r <- lm(kotsu ~ kotsu2015, data = df_2020)
#
# unrestricted model
model_ur <- lm(kotsu ~ kotsu2015 + pop1000 + inc, data = df_2020)
#
# restricted modelのSSR
SSR_r <- sum(resid(model_r)^2)
#
# unrestricted modelのSSR
SSR_ur <- sum(resid(model_ur)^2)
#
# n, k, q を定義
n <- 47
k <- 3
q <- 2
#
# F値を求める
F <- *1
F
#
# p値
1 - pf(F, q, n - k - 1)
#
# anova()
anova(model_ur, model_r)
#
*1:SSR_r - SSR_ur) / q) / (SSR_ur / (n - k - 1