FELM 中的拟合值
Fitted Values in FELM
我正在尝试从具有许多因素的线性模型中获取拟合值,我想使用 R 包 lfe
中的 felm
函数进行估算。除非我误解了函数 fitted.values
return 的含义,否则这些值看起来与我手动构建它们时获得的输出不匹配。这是一个改编自包文档的示例:
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
是否打算 return 另一种拟合值?感谢观看
看起来 felm 吐出的拟合值是仅使用 felm 方程第一部分中的回归量计算的(不包括固定效应)。这解释了您在数据中看到的同一组偏移量。
您可以通过从观察值中减去 felm 对象中的残差来导出整个模型的拟合值。与拟合值不同,残差是使用完整模型计算的(请参阅 felm 函数的帮助)。
这在 lfe 2.8-5.1
中不再是问题。在 OP 的示例中,estb$fitted.values
将 return 正确的拟合值,包括固定效应。 felm()
和 lm()
输出之间的差异仅来自四舍五入。
我正在尝试从具有许多因素的线性模型中获取拟合值,我想使用 R 包 lfe
中的 felm
函数进行估算。除非我误解了函数 fitted.values
return 的含义,否则这些值看起来与我手动构建它们时获得的输出不匹配。这是一个改编自包文档的示例:
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
是否打算 return 另一种拟合值?感谢观看
看起来 felm 吐出的拟合值是仅使用 felm 方程第一部分中的回归量计算的(不包括固定效应)。这解释了您在数据中看到的同一组偏移量。
您可以通过从观察值中减去 felm 对象中的残差来导出整个模型的拟合值。与拟合值不同,残差是使用完整模型计算的(请参阅 felm 函数的帮助)。
这在 lfe 2.8-5.1
中不再是问题。在 OP 的示例中,estb$fitted.values
将 return 正确的拟合值,包括固定效应。 felm()
和 lm()
输出之间的差异仅来自四舍五入。