Как запускать фиксированные эффекты на уровне штата с PLM - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь запустить регрессию только с фиксированными эффектами на уровне состояния, но не с фиксированными по времени эффектами.

Я пытаюсь:

lm1 <- plm(lnwage ~ age + age^2 + education, data = cps, index = "state", model = "within")

Но мне не повезло, и я нахожу в Интернете только информацию о людях, использующих фиксированные эффекты состояния и времени, нав то же время.

1 Ответ

0 голосов
/ 23 февраля 2019

Чтобы вычислить любые фиксированные эффекты, мы можем добавить фиктив для соответствующей переменной, хорошо?Давайте рассмотрим пример прямо в документации plm() и сначала сделаем обычный lm() с фиктивным состоянием состояний для фиксированных эффектов состояний.

data("Produc", package = "plm")

fe.lm <- lm(log(gsp) ~ 0 + log(pcap) + log(pc) + log(emp) + unemp + 
              factor(state), data=Produc)

> summary(fe.lm)$coef
                                Estimate   Std. Error    t value
log(pcap)                   -0.026149654 0.0290015755 -0.9016632
log(pc)                      0.292006925 0.0251196728 11.6246309
log(emp)                     0.768159473 0.0300917394 25.5272539
unemp                       -0.005297741 0.0009887257 -5.3581508
factor(state)ALABAMA         2.201617056 0.1760038727 12.5089126
factor(state)ARIZONA         2.368088138 0.1751884949 13.5173725
factor(state)ARKANSAS        2.263015801 0.1671716685 13.5370773
...

Теперь мы используем plm(), где мы также должны добавитьфиктивный, он не отображается в выходных данных.

library(plm)
fe.plm <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp + factor(state),
              data=Produc, index=c("state","year"), model="within")

> summary(fe.plm)$coef
              Estimate   Std. Error    t-value      Pr(>|t|)
log(pcap) -0.026149654 0.0290015755 -0.9016632  3.675200e-01
log(pc)    0.292006925 0.0251196728 11.6246309  7.075069e-29
log(emp)   0.768159473 0.0300917394 25.5272539 2.021455e-104
unemp     -0.005297741 0.0009887257 -5.3581508  1.113946e-07

Другой вариант - felm().

library(lfe)
fe.felm <- felm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp | state | 0, 
                data=Produc) 

> summary(fe.felm)$coef
              Estimate   Std. Error    t value      Pr(>|t|)
log(pcap) -0.026149654 0.0290015755 -0.9016632  3.675200e-01
log(pc)    0.292006925 0.0251196728 11.6246309  7.075069e-29
log(emp)   0.768159473 0.0300917394 25.5272539 2.021455e-104
unemp     -0.005297741 0.0009887257 -5.3581508  1.113946e-07

Как видно, все дает одинаковые значения.

...