You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言多分类固定效应回归技术咨询(fixest包feglm函数)

关于fixest包feglm多分类固定效应回归的问题解答

问题背景

我是R语言新手,尝试用fixest包的feglm函数做固定效应回归,代码如下:

reg<-feglm(diar~c1+c2+rural+c1rural+c2rural+religion+wealthindex+extendedfamily+genderchild+agechild+birthorder+factor(ageofmotherFE)+factor(surveyyearFE)+factor(divisionFE),data=d7,family="binomial",cluster=c('rural'))

数据集是DHS重复截面数据,目标是探究母亲教育对儿童健康的影响,变量详情:

  • 因变量:二分类变量「孩子过去两周是否患腹泻」
  • 自变量:c1(母亲队列1虚拟变量)、c2(母亲队列2虚拟变量)、rural(城乡虚拟变量)、c1rural/c2rural(交互项)、genderchild/agechild/birthorder(数值型)
  • 控制变量:religion(虚拟变量)、wealthindex(分类变量)、extendedfamily(虚拟变量)
  • 固定效应:母亲年龄、调查年份、地理分区

咨询问题

  1. 我知道family不该设为binomial,那多分类回归对应的family参数是什么?
  2. 当前模型写法对吗?已经了解bife和clogit但不适用,有没有其他合适的工具?

解答

问题1:多分类回归的family参数

先澄清:你的因变量是二分类(是/否腹泻),如果是真·多分类(3个及以上类别),fixest的feglm不支持多分类逻辑回归,它只支持二分类(binomial)、泊松、负二项这类指数族模型。

如果是你误判了因变量类型,那二分类场景下family="binomial"完全正确,不用改;如果确实是多分类,feglm做不了,得换工具。

问题2:模型正确性与替代工具

模型写法修正

当前模型有几个可以优化的地方:

  • 固定效应写法:fixest推荐用|分隔自变量和固定效应,不用手动加factor(),代码更简洁高效,调整后如下:
    reg <- feglm(
      diar ~ c1 + c2 + rural + c1rural + c2rural + religion + wealthindex + extendedfamily + genderchild + agechild + birthorder | ageofmotherFE + surveyyearFE + divisionFE,
      data = d7,
      family = "binomial",
      cluster = "rural"
    )
    
  • 聚类标准误:你用rural(城乡虚拟变量)做聚类,只有2个组的话,聚类标准误自由度极低,结果不可信,建议换成更细的地理单元(比如村庄编码)。
  • 共线性检查:注意交互项c1rural/c2rural和主效应的共线性,确保队列变量有明确的基准组(比如c1、c2是互斥队列,要留一个未纳入的队列作为基准)。

替代工具

如果确实需要多分类固定效应回归,或者对fixest不满意,可考虑这些工具:

  • mlogit包:支持多分类逻辑回归,但固定效应需要手动造虚拟变量,适合小数据集。
  • glmmTMB包:支持多分类混合效应模型,能处理固定/随机效应,适配重复截面或面板数据。
  • nnet包的multinom函数:基础多分类回归实现,同样要手动处理固定效应。

如果是二分类场景,fixest的feglm已经是高效的选择,修正写法和聚类变量即可。


内容的提问来源于stack exchange,提问作者Lamya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:32:56