我需要执行具有固定效应(例如仅单位FE(和几个回归变量(RHS变量(的glm(poisson(估计。我有一个不平衡的面板数据集,其中大多数(~90%(观测值都有缺失值(NA(,但不是所有回归值。
fixest::feglm()
可以处理此问题,并返回我的拟合模型。然而,为了做到这一点,它(以及fixest::demean
(删除了在构建固定效应均值之前至少缺少一个回归因子的观测值。
就我而言,恐怕这意味着没有在数据中使用大量可用信息。因此,我想手动贬低我的变量,以便能够在每个固定效应维度的平均值中包含尽可能多的信息,然后对被贬低的数据运行feglm。然而,这意味着得到负的因变量值,这与泊松不兼容。如果我用";poisson";家庭和我手动贬低的数据,我(一致地(得到:";因变量的负值不允许用于";poisson";家庭&";。返回相同的错误,并使用fixest::demean
函数降级数据。
问题:
feglm
如何处理降级因变量的负值?有没有一种方法(像一些数据转换一样(可以在公式中以固定效果再现fepois
,在降级数据和无固定效果公式中使用fepois
?
使用fixest::demean
文档中的示例(具有双向固定效果(:
data(trade)
base = trade
base$ln_dist = log(base$dist_km)
base$ln_euros = log(base$Euros)
# We center the two variables ln_dist and ln_euros
# on the factors Origin and Destination
X_demean = demean(X = base[, c("ln_dist", "ln_euros")],
fe = base[, c("Origin", "Destination")])
base[, c("ln_dist_dm", "ln_euros_dm")] = X_demean
我想复制
est_fe = fepois(ln_euros ~ ln_dist | Origin + Destination, base)
带有
est = fepois(ln_euros_dm ~ ln_dist_dm, base)
我认为主要有两个问题。
建模策略
一般来说,能够正式描述估计的模型是很重要的。在这种情况下,不可能用一个方程来写下模型,其中固定效应是使用所有数据和其他变量来估计的,仅针对未遗漏的观测值。如果模型不清楚,那么。。。也许这不是一个好的模型。
另一方面,如果你的模型定义得很好,那么去除随机观测值应该而不是改变系数的期望值,只改变它们的方差。所以,如果你的模型被很好地指定了,你不应该太担心。
通过暗示缺失值的观测值与估计固定效应系数相关(或者换句话说,它们被用来贬低一些变量(,意味着这些观测值是而不是随机分布的。现在你应该担心了。
仅仅使用这些观测值来贬低变量并不能消除由于选择不遗漏而对估计系数的偏差。这是一个更深层次的问题,不能通过技术技巧来解决,而是通过对数据的深刻理解来解决。
GLM
GLM存在误解。GLM是用OLS估计最大似然模型的一个超级聪明的技巧(这里有一个很好的描述(。它是在常规优化技术在计算时间方面非常昂贵的时候开发和使用的,它是一种使用开发良好且快速的OLS技术来执行等效估计的方法。
GLM是一个迭代过程,其中在每个步骤执行典型的OLS估计,每个迭代的唯一变化涉及与每个观测相关的权重。因此,由于这是一个常规的OLS过程,可以利用具有多个固定效果的快速OLS估计技术(如fixest包中所述(。
所以实际上,你可以做你想做的事。。。但仅在GLM算法的OLS步骤内。在运行GLM之前,决不应该贬低数据,因为这毫无意义(FWL定理在这里绝对不成立(。