【问题标题】:R - lfe (felm) fit model with fixed effects onlyR - 仅具有固定效应的 lfe (felm) 拟合模型
【发布时间】:2017-10-18 23:45:42
【问题描述】:

我正在使用 lfe 包中的 felm() 函数来拟合具有大量固定效应的线性模型。我希望能够仅使用固定效果来拟合模型。例如,我希望能够知道此类模型的 R^2,并可能将其与具有更大预测变量集的模型进行比较。考虑下面的例子:

library(lfe)

N = 1000

A = sample(1:3, N, replace = TRUE)
B = sample(1:5, N, replace = TRUE)

C = A + B + rnorm(N)

Data = data.frame(A, B, C)
Data$A = as.factor(A)
Data$B = as.factor(B)

summary(felm(C ~ 1 | A + B, data = Data))

这只是回应:

Call:
   felm(formula = C ~ 1 | A + B, data = Data) 

Residuals:
    Min      1Q  Median      3Q     Max 
-3.8101 -0.6750  0.0014  0.6765  4.4254 

Coefficients:
(No coefficients)

同样,如果我使用:names(summary(felm(C ~ 1 | A + B, data = Data))) 我会得到:

[1] "residuals" "p"         "Pp"        "call"   

而对于我指定除 FE 以外的变量的模型,我会在摘要中获得更多属性,包括 R^2。

我也尝试在我的数据中添加一个变量,它是一组变量,但这不起作用。

我可以使用常规的 lm() 函数 (summary(lm(C ~ A + B, data = Data))) 轻松实现这一点,但这会剥夺我 felm() 函数的价值:

【问题讨论】:

  • 这里有同样的问题。到目前为止,我的修复一直在做类似felm(formula = C ~ A | B +..., data = Data) 的事情,即使用“最小”的因子作为通常的协变量,如 lm(),并预测其他更小的因子
  • 嗨,如果我只有一个像 A 这样的大因素...有什么办法解决这个问题吗?如果我把A放在公式的后半部分,计算花了很长时间

标签: r linear-regression


【解决方案1】:

fixest 包(处理高维固定效果至少与lfe 一样平滑)返回一组统计信息,例如调整后的 R 平方:

> summary(fixest::feols(C ~ 1 | A + B, data = Data))
# OLS estimation, Dep. Var.: C
# Observations: 1,000 
# Fixed-effects: A: 3,  B: 5
# RMSE: 0.994166   Adj. R2: 0.733952

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    相关资源
    最近更新 更多