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

Logit模型两种边际效应计算方法的差异疑问

Logit边际效应两种方法的数值差异原因
  • 核心差异:边际效应的计算基准点完全不同

    • logitmfx默认计算的是均值处的边际效应(MEM):先把所有自变量取均值代入模型,得到对应的预测概率p_mean,再用公式β * p_mean*(1-p_mean)计算边际效应——相当于只在“平均观测值”这一个点上算效应。
    • marginaleffects包的slopes函数默认计算的是平均边际效应(AME):先给每一条观测数据单独计算边际效应(用该观测的自变量值算出p_i,再算β * p_i*(1-p_i)),最后把所有观测的边际效应取平均值——相当于对整个样本的效应做平均。
  • 其他可能的差异来源

    • 固定效应的处理:feglm是专门用于拟合固定效应非线性模型的工具(用偏似然估计),如果你用logitmfx时没有正确加入相同的固定效应(比如没加虚拟变量或者用了不同的固定效应处理方式),模型的系数β本身就会有差异,进而导致边际效应数值不同。
    • 计算细节的差异:两个包在处理数值精度、导数计算的小细节上可能有细微差别,但这通常不会导致“显著差异”,核心还是基准点的问题。
  • 验证方法

    • 如果你把slopes的计算基准改成均值处,结果会和logitmfx默认值对齐:用slopes(model, newdata = datagrid()),datagrid()默认会取所有自变量的均值生成一个虚拟观测,计算该点的边际效应。
    • 反过来,把logitmfx改成计算AME:设置参数atmean = FALSE,此时它会对每个观测计算边际效应再平均,结果会和slopes默认值一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 20:12:10