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

如何手动计算Gamma与逆高斯分布GLM的predict.glm响应值?

手动计算glm(Gamma/逆高斯族)响应值的正确方法

你的问题核心是误用了二项分布的logit逆变换逻辑,Gamma和逆高斯族的glm有自己的链接函数规则,而且计算响应值(均值)时不需要纳入离散参数——离散参数只影响预测的方差,不影响点估计的响应值。

一、Gamma族模型的正确计算

Gamma族glm默认使用逆链接函数(inverse link),即线性预测值η与响应值μ的关系是:
η = 1/μ → 反推得 μ = 1/η

你已经正确算出了线性预测值x(也就是η),但错误用了二项分布的转换逻辑,正确操作是对x取倒数:

# 你的线性预测值计算
x = 0.108221470842499 - 0.00122165587689519 * 13.2 - 9.47425665022909e-05 * 236 - 0.000467789606041651 * 58

# 正确转换:取倒数
1/x  # 结果约为26.02872,和predict输出一致

二、逆高斯族模型的正确计算

你指定了link="log",线性预测值η与响应值μ的关系是:
η = log(μ) → 反推得 μ = exp(η)

直接对线性预测值x取指数即可,无需二项分布的转换:

# 你的线性预测值计算
x = 1.70049202188329 - 0.0326196928618521 * 13.2 - 0.00234379099421488 * 236 - 0.00991369000675323 * 58

# 正确转换:取指数
exp(x)  # 结果约为26.02872,和predict输出一致

关于离散参数的说明

离散参数(dispersion)用于模型的方差计算(比如predict(..., type="link", se.fit=TRUE)中的标准误),但计算响应值的点估计时完全不需要用到它——predict(type="response")输出的是基于链接函数逆变换的均值估计,和离散参数无关。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 12:30:55