Как указать инструментальную переменную модель с помощью felm ()? - PullRequest
0 голосов
/ 24 декабря 2018

В связи с внедрением стандартных методов ошибок кластера, я хотел бы оценить модель инструментальных переменных с felm()AER::ivreg() и plm::plm() я могу генерировать одинаковые результаты.Однако указание функции в felm() не кажется мне очень простым, и я потерпел неудачу.

Я использую пример справки ivreg(), где tdiff и I(tax/cpi) оба являются инструментами для log(rprice):

library(AER)
aer.hat <- ivreg(log(packs) ~ log(rprice) + log(rincome) | log(rincome) + tdiff + I(tax/cpi),
                 data=CigarettesSW, subset=year == "1995")
> coef(aer.hat)
 (Intercept)  log(rprice) log(rincome) 
   9.8949555   -1.2774241    0.2804048 

С plm() я мог былегко получить тот же результат:

library(plm)
plm.hat <- plm(log(packs) ~ log(rprice) + log(rincome) | log(rincome) + tdiff + I(tax/cpi),
               data=CigarettesSW[CigarettesSW$year == 1995, ], model="pooling")
> coef(plm.hat)
 (Intercept)  log(rprice) log(rincome) 
   9.8949555   -1.2774241    0.2804048 

Но мне не удалось с lfe::felm():

library(lfe)
felm.hat <- felm(log(packs) ~ log(rprice) + log(rincome) | 0 | log(rprice) ~ tdiff + I(tax/cpi) | 0 ,
               data=CigarettesSW[CigarettesSW$year == 1995, ])
> coef(felm.hat)
  (Intercept)         tdiff    I(tax/cpi) 
 1.000000e+00 -8.187404e-17 -3.294448e-17 

Как мы можем сделать это в felm()?

данных

data("CigarettesSW", package="AER")
CigarettesSW$rprice <- with(CigarettesSW, price/cpi)
CigarettesSW$rincome <- with(CigarettesSW, income/population/cpi)
CigarettesSW$tdiff <- with(CigarettesSW, (taxs - tax)/cpi)

1 Ответ

0 голосов
/ 24 декабря 2018

У нас есть

felm.hat <- felm(log(packs) ~ log(rincome) | 0 | (log(rprice) ~ tdiff + I(tax/cpi)),
                 data = CigarettesSW[CigarettesSW$year == 1995, ])
coef(felm.hat)
#        (Intercept)       log(rincome) `log(rprice)(fit)` 
#          9.8949555          0.2804048         -1.2774241 

Точка 1: инструментальная переменная log(rprice) должна находиться только в третьей части, нет необходимости также добавлять ее в первую.

Пункт 2: в третьей части я добавил скобки;?felm говорит что-то о помехах между ~ и |, но я не уверен, зачем нужны скобки в этом случае.

Также я удалил | 0 в конце, в этом нет необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...