Инструментальная оценка переменных с помощью systemfit и 2SLS в R

#r

#r

Вопрос:

Я пытаюсь выполнить эту простую инструментальную оценку переменных с R использованием пакета systemfit и двухэтапного метода наименьших квадратов ( 2SLS ):

 y = b   b1*x1   b2*x2   b3*w   e
  

где x1 и x1 — это эндогенные переменные, которые я хотел бы измерить, w — экзогенная переменная, а e — остаток. Моими двумя инструментами являются z1 и z2. Я хочу использовать z1 для x1 и z2 для x2. Таким образом, мои регрессии 1-го этапа будут

 x1 = c   c1*z1   c2*z2   c3*w   e1
x2 = d   d1*z1   d2*z2  d3*w   e2
  

Я пробовал:

 systemfit(y~x1   x2   w,inst=~z1   z2  w)
  

Но не уверен, что это правильно…

Ответ №1:

Почему вы не используете ivreg из AER пакета? Вы могли бы попробовать и сравнить результаты.

  #install.packages("AER") # if not already installed
 library(AER)
 ?ivreg
  

Комментарии:

1. Спасибо, я попробую это. Не знал ivreg .

Ответ №2:

Я думаю systemfit , что функция может обрабатывать только одну эндогенную переменную для каждого уравнения. Попробуйте сделать это в 2 шага.

 lm1 <- lm(x1 ~ z1   w, data = yourDataFrame) 
lm2 <- lm(x2 ~ z2   w, data = yourDataFrame)
yourDataFrame$x1.1st.step <- lm1$fitted
yourDataFrame$x2.1st.step <- lm2$fitted

lm.2nd.step <- lm(y ~ x1.1st.step   x2.1st.step   w, data = yourDataFrame)
  

Комментарии:

1. Спасибо. Хорошо, может быть, это так. Я сделаю это, чтобы проверить оценки, но стандартные ошибки на 2-м шаге не будут такими правильными…

Ответ №3:

Я бы определенно использовал ivreg для оценки моделей 2SLS. Иногда загрузка пакета AER может быть сложной, если у вас нет обновленных версий R (проверьте, какой пакет лучше подходит для вашей версии R, если вы застряли!).