1. ホーム
  2. r

[解決済み] RによるHausman型検定

2022-02-08 02:17:14

質問

今まで"を使用していました。 PlM のパッケージです。 R パネルデータの分析を行うためのものです。このパッケージでは、固定効果モデルかランダム効果モデルかを選択するための重要なテストの1つが ハウズマン型 . 同様の検定がStataでも可能です。ここでのポイントは Stata は、固定効果を最初に推定し、次にランダム効果を推定する必要があります。しかし、"plm"パッケージにはそのような制約が見当たりませんでした。そこで、" plm "パッケージは、デフォルトの"固定効果"が先で、次に"ランダム効果"が後になっています。参考までに、私が行ったStataとRの解析の手順を以下に記します。

*

Stata Steps: (data=mydata, y=dependent variable,X1:X4: explanatory variables)
    *step 1 : Estimate the FE model
    xtreg y X1 X2 X3 X4 ,fe
    *step 2: store the estimator 
    est store fixed
    *step 3 : Estimate the RE model
    xtreg y X1 X2 X3 X4,re
   * step 4: store the estimator 
    est store random
    *step 5: run Hausman test
    hausman fixed random

#R steps (data=mydata, y=dependent variable,X1:X4: explanatory variables)
#step 1 : Estimate the FE model
 fe <- plm(y~X1+X2+X3+X4,data=mydata,model="within")
summary(model.fe)
#step 2 : Estimate the RE model
 re <- pggls(y~X1+X2+X3+X4,data=mydata,model="random")
summary(model.re)
#step 3 : Run Hausman test
phtest(fe, re)

解決方法は?

更新してください。 コメントを必ずお読みください。オリジナルの答えは以下の通りです。

試行錯誤して見つけた方法。

> library(plm)
> data("Gasoline", package = "plm")
> form <- lgaspcar ~ lincomep + lrpmg + lcarpcap
> wi <- plm(form, data = Gasoline, model = "within")
> re <- plm(form, data = Gasoline, model = "random")
> phtest(wi, re)

    Hausman Test

data:  form 
chisq = 302.8037, df = 3, p-value < 2.2e-16
alternative hypothesis: one model is inconsistent 

> phtest(re, wi)

    Hausman Test

data:  form 
chisq = 302.8037, df = 3, p-value < 2.2e-16
alternative hypothesis: one model is inconsistent

見ての通り、このテストはどのモデルを第1引数として与えても、第2引数として与えても、同じ結果をもたらします。