www.crosshyou.info

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

都道府県別の教育費のデータの分析5 - 回帰分析の係数の標準誤差を確認する。

Photo by Jeremy Bezanger on Unsplash

 

www.crosshyou.info

の続きです。

前回は、回帰分析のモデル、level -level, log - lelvel, level - log, log -log の4つもモデルを比較してみました。

今回は、OLSで推計した回帰式の係数の標準誤差を確認します。

summary(回帰モデル)$coefficients

で係数の標準誤差を確認します。

(Intercept)がbeta_0で標準誤差は、1367です。

Edがbeta_1で標準誤差は、0.2961です。

この値がどこからきているのか、確認します。

 

こちらの書籍を参考にしてやってみます。

まずは、y = beta_0 + beta_1 * x + u の u の分散を推定することから始まります。

uの分散の推定値がσ_hatの2乗です。

sigma_hat^2 = 1/(n - 2)*sum(u_hat^2) = SSR/(n - 1)

SSRは Residual Sum of Squares です。

n はサンプルの数です。

resid()関数で回帰モデルからu_hatは求めることができて、nobs()でサンプルの数を求めることができます。

SSR = 1576532847

n = 47

です。

そうすると、sigma_hat^2 は

sigma_hat^2 = 35034063

です。

これの平方根がSER: Standard Error of the Regression というそうです。

SERとして値を保存しておきます。

それでは、beta_1の標準誤差から計算してみます。

beta_1の標準誤差 = se(beta_1) = SER/SQRT(SSTx) = SER/SQRT(sum*1

です。

SSTxというのがxとxの平均値の差を2乗して、それを合計して、それを平方根したものです。

SSTxを計算して値を保存しておきましょう。

今回はxがEdですね。

これで、se(beta_1)を求める材料がそろいました。

計算で求めたse(beta_1)とsummary()関数で出力される Std. Error の値がどちらも0.2961138 で一致しました! よかったです。

この調子で、se(beta_0)の計算しましょう。

var(beta_0) = (σ_hat^2/n*sum(x^2)) / sum*2/SSTx

です。

なので、

se(beta_0) = sqrt( (σ_hat^2/n*sum(x^2))/SSTx )

となります。計算してみます。

計算して求めたse(beta_0)は1367.017で、summary()関数で出力された Std. Error は1367.0168なので、一致しました。よかったです。

 

回帰式モデルの係数の標準誤差は、beta_0の標準誤差もbeta_1の標準誤差も分子にはSER(またはsigma_hat_square)が含まれ、分子にはSSTxが含まれますので、
SERが大きいほど標準誤差は大きくなり、SSTxが大きいほど標準誤差は小さくなります。

残差のバラツキが小さいほど、xのバラツキが大きいほど標準誤差は小さくなるということですね。

今回は以上です。

次回は、

www.crosshyou.info

です。

初めから読むには、

www.crosshyou.info

 

です。

 







 

 

*1:x - x_bar)^2

*2:x - x_bar)^2)

                  = (σ_hat^2/n*sum(x^2