Тест Хаусмана в R

Я используюPLM"пакетR сделать анализ данных панели. Один из важных тестов в этом пакете для выбора между моделью «фиксированный эффект» или «случайный эффект» называетсяТип Хаусмана, Аналогичный тест также доступен для 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)
 Fr.21 окт. 2012 г., 21:15
RoyalTS, похоже, ответил на ваш вопрос. Вы действительно хотите использовать этот тест? Это не самый надежный индикатор того, использовать ли FE или RE (ссылка).
 Metrics21 окт. 2012 г., 23:10
Спасибо за статью. Тем не менее, у нас все еще есть надежный тест Хаусмана (xtoverid и Wooldridge 2002) в stata. В упомянутой вами статье не говорится об этих тестах. Я не уверен насчет этих тестов в пакете plm R.

Ответы на вопрос(1)

Решение Вопроса

Обновить: Обязательно прочитайте комментарии. Оригинальный ответ ниже.

Метод проб и ошибок, чтобы выяснить это:

> 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

Как видите, тест дает один и тот же результат независимо от того, какую из моделей вы используете как первый, а какой - как второй аргумент.

 RoyalTS20 окт. 2012 г., 20:11
Относительно того, что делает процедура Rверный, Я не знаю. Мне кажется немного странным игнорировать тот факт, что матрица не является положительно определенной и принимать в конце абсолютное значение.
 StasK21 окт. 2012 г., 02:42
Ух ты. Взятие абсолютного значения в коде пакета R просто неверно и скрывает проблему. Stata-хhausman он слишком общий и закодирован, чтобы не зависеть от конкретной ситуации оценки, в которой вы находитесь - возможно, вы сравниваете OLS и IV, или OLS и GLS, или что-то в этом роде, иhausman не нужно или не хочет знать об этом. Следовательно, вы несете ответственность за указание результатов в порядке, принятом (и задокументированном)hausman, Раньше былоxthaus это было характерно для данных панели, но сейчас считается устаревшим.
 Metrics20 окт. 2012 г., 19:05
Спасибо за разъяснение. Тем не менее, порядок имеет значение для Stata. В одном из данных, которые у меня есть, я получил отрицательное значение для хи-квадрат, когда я использую fe первый и второй. Реверс, однако, дает положительное значение (конечно, величины одинаковы). Stata имеет опцию sigmamore для разрешения отрицательного значения (но величина отличается). Я не нашел такой опции в пакете "plm". К счастью, использование опции sigmamore или реверса не меняет качественных результатов; Я смог найти поддержку для "fe". Дело в том, что пакет «plm» может исключить отрицательное значение.
 RoyalTS03 февр. 2013 г., 19:13
Обновление: сопровождающий мне ответил и пообещал исправить следующую версию.
 RoyalTS20 окт. 2012 г., 20:02
Извините, мое предыдущее объяснение было просто неверным: так как статистика теста - это не просто сумма квадратов, авзвешенный сумма квадратов и некоторые из этих весов могут быть отрицательными, как и тестовая статистика. Проверьте исходный код дляphtest функция (просто введитеplm:::phtest.panelmodel в консоль R), и вы увидите, что статистика R всегда будет положительной просто потому, что в конце она принимает абсолютное значение (stat <- abs(t(dbeta) %*% solve(dvcov) %*% dbeta)). Таким образом, для реализации R порядок аргументов не имеет значения.

Ваш ответ на вопрос