UnsplashのWolfgang Hasselmannが撮影した写真
の続きです。
前回は、Rのlm()関数で線形回帰分析をしました。そして、そのモデルはHeteroskedasticityだとわかりました。このときの対処方法は、ひとつは、Heteroskedasticity Robustな標準誤差を計算する方法とWLS(Weighted Least Square)で推定する方法です。
まずは、Heteroskedasticity Robustな標準誤差を計算してみます。
lmtestパッケージとcarパッケージを読み込んで、coeftest(lmオブジェクト, vcov = hccm)とする方法です。
num_jin とsta_num はp値が0.05よりも大きくなり有意ではなくなりましたが、sal_staはp値は0.02612と0.05なので有意なのはかわらないです。
他の変数が変わらなければ、sal_staが1,つまり従業員一人当たりの給与総額が100万円上昇すれば、県内総生産額は28兆4000億円増える、ということですね。
次は、WLS(Weighted Least Square)でモデルの係数を推定しましょう。
方法は
Step1 : 推定したいモデルをlm()関数で推定して、残差 : u を求める
Step2 : log(u^2)を計算する
Step3 : log(u^2) をモデルの説明変数で lm()関数で回帰分析して、fitted values : g を求める
Step4 : h = exp(g) として h を求める
Step5 : lm()関数の中で、weight = 1/h としてモデルを推定する
という手順になります。
それでは順番にやってみます。
推定結果をsummary()関数でみてみましょう。
sal_staの係数は77とかなり小さくなりましたが、p値は0.002なので有意な変数であることはかわらないです。
一人当りの給与総額が100万円増えると、他の変数の値が変わらないとすれば、県内総生産額は7兆7000億円増える、ということです。
今回は以上です。
今回は(というか今回も)、
を参考にしました。
初めから読むには、
です。