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

R中marginaleffects与ggeffects多分类回归预测结果差异咨询

多分类回归模型边际效应计算的函数差异问题

1. 你确实在比较不同的统计量

两个函数的核心计算逻辑存在本质区别:

  • ggeffects::ggeffect:输出的是预测边际均值。它会将模型中除目标变量外的其他协变量固定到默认水平(因子变量取参考类别,连续变量取均值),然后计算目标变量各水平对应的预测响应值(这里是多分类的预测概率)。对于含交互项的模型,它会按交互变量的组合展示预测值,本质是控制其他变量后的"边际"预测。
  • marginaleffects::avg_predictions:输出的是平均预测值。它会先为数据集中的每一个观测计算预测值,再对所有观测的预测值取平均值。这个过程是基于原始数据的协变量分布来整合,而非固定到参考水平,因此结果会受数据中协变量的实际分布影响。

正是这种统计量定义的差异,导致你得到的hvt类别下dynamic与stative的预测概率差异结果不同。

2. marginaleffects包中对应ggeffects::ggeffect的函数

有两个函数可以实现和ggeffects::ggeffect一致的逻辑:

(1)marginaleffects::marginalmeans()

这个函数专门用于计算预测边际均值,和ggeffects::ggeffect的核心逻辑完全匹配,直接指定目标变量即可:

# 计算SITN和CNTRY的预测边际均值
marginalmeans(model, variables = c("SITN", "CNTRY"))

(2)marginaleffects::predictions() + datagrid()

通过datagrid()指定其他协变量的固定水平(比如参考类别),来模拟ggeffects的行为:

# 固定其他变量为参考水平,计算SITN各水平的预测概率
predictions(model, newdata = datagrid(SITN = unique, .reference = TRUE))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 23:34:56