FELM中的拟合值

3

我正在尝试从具有许多因素的线性模型中获取拟合值,我希望使用R包中的函数进行估计。除非我误解了函数返回的的含义,否则看起来这些值与手动构建的输出不匹配。这是一个从软件包文档中调整的示例:

library(lfe)
set.seed(42)
nn = 10
n1 = 3

x <- rnorm(nn)
f1 <- sample(n1, length(x), replace=TRUE)
y <- 2.13*x + cos(f1) + rnorm(length(x), sd=0.5)
est <- felm(y ~ x | f1)
estb <- lm(y~x+factor(f1)-1)


# we have exactly the same coefficients
getfe(est)['effect']/estb$coefficients[2:(n1+1)]
est$coefficients/estb$coefficients[1]

# but different fitted values -- in fact all having the same group offset
estb$fitted.values-est$fitted.values

这些偏移量是什么?felm是否打算返回不同种类的拟合值?谢谢查看。
2个回答

1
似乎 felm 输出的拟合值仅使用 felm 方程中第一部分的回归器(不包括固定效应)进行计算。这解释了您在数据中看到的相同组偏移量。
您可以通过从 felm 对象中减去残差来推导整个模型的拟合值。与拟合值不同,残差是使用完整模型计算的(请参阅 felm 函数的帮助)。

0

lfe 2.8-5.1 中,这不再是一个问题。在 OP 的例子中,estb$fitted.values 将返回正确的拟合值,包括固定效应。 felm()lm() 输出之间的差异仅来自四舍五入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接