Оценка постоянного члена с использованием пакета r felm :: lfe и отличий от stats :: lm - PullRequest
0 голосов
/ 21 июня 2020

При вычислении регрессии панельных данных с несколькими фиксированными эффектами с использованием felm() из пакета lfe, в итоговых результатах не создается постоянный член (то есть перехват).

В старом post , кто-то предположил, что можно получить значение перехвата с помощью функции lfe::getfe, установив поле ef равным zm2.

Однако при сравнении значение точки пересечения вычисляется при запуске простого OLS с использованием lm, с полученным с помощью функции lfe::getfe я получаю разные результаты.

Вот воспроизводимый пример:

x <- rnorm(4000)
x2 <- rnorm(length(x))

## create individual and firm
id <- factor(sample(500,length(x),replace=TRUE))
firm <- factor(sample(300,length(x),replace=TRUE))

## effects
id.eff <- rlnorm(nlevels(id))
firm.eff <- rexp(nlevels(firm))

## left hand side
y <- x + 0.25*x2 + id.eff[id] + firm.eff[firm] + rnorm(length(x))

## estimate and print result
est <- felm(y ~ x + x2 | id + firm)
est2 <- lm(y ~ x + x2 + id + firm)

## Compare estimate
coef(est)
#         x        x2 
# 1.0131837 0.2769719 
coef(est2)[2:3]
#         x        x2 
# 1.0131837 0.2769719

# estimate fixed effects
fe_est <- getfe(est, ef = "zm2")

## Compare intercept
fe_est[grepl("icpt", rownames(fe_est)), ]
#          effect  obs comp
# icpt.1 2.719092 4000    1
coef(est2)[1]
# (Intercept) 
#   2.797651 

I Мне интересно, может ли кто-нибудь объяснить такую ​​разницу. Обратите внимание, что при увеличении количества фиксированных эффектов и использовании большего размера выборки эта разница становится еще более значительной.

Кроме того, я хотел бы знать, можно ли получить более надежное приближение значение точки пересечения оценивается как lm с использованием lfe::getfe.

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