广义线性模型(GLM)和广义可加模型(GAM)区别
广义线性模型(GLM)和广义可加模型(GAM)都是用于回归分析的统计模型,它们都扩展了线性回归的能力,但在建模方式上有关键的不同。下面是它们的区别和联系:
一句话区别:
- GLM 假设:响应变量是一组解释变量的线性组合(经过变换)。
- GAM 假设:响应变量是一组解释变量的非线性函数之和(经过变换)。
广义线性模型(GLM)
基本形式:
\[ g(\mathbb{E}[Y]) = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \dots + \beta_p x_p \]
- \(Y\):响应变量(可以是非正态分布,如二项、泊松等)
- \(x_i\):解释变量(特征)
- \(g(\cdot)\):链接函数(如 logit、log、identity 等)
- 模型对解释变量是线性加权组合的
常见的 GLM 实例:
- 线性回归:\(g(y) = y\)
- 逻辑回归:\(g(p) = \log\left(\frac{p}{1-p}\right)\)
- 泊松回归:\(g(\mu) = \log(\mu)\)
广义可加模型(GAM)
基本形式:
\[ g(\mathbb{E}[Y]) = \beta_0 + f_1(x_1) + f_2(x_2) + \dots + f_p(x_p) \]
- 这里的 \(f_i(x_i)\):未知的非线性平滑函数,通常用样条(splines)估计
- 每个解释变量的作用可以是非线性的,但函数之间仍然是加性组合
- 可以看作是 GLM 的非线性扩展
对比表格
特征 | GLM | GAM |
---|---|---|
模型结构 | 线性组合:\(\beta_1 x_1 + \beta_2 x_2\) | 非线性函数和:\(f_1(x_1) + f_2(x_2)\) |
特征对响应的关系 | 线性(在链接函数作用下) | 非线性 |
链接函数 | 有 | 有 |
灵活性 | 较低 | 更高(可适应更复杂的数据结构) |
可解释性 | 好 | 一般,非线性函数较难解释 |
拟合方法 | 最大似然估计 | 平滑回归 + 最大似然 |
举个例子:
预测工资(Salary)
GLM(如线性回归):
\[ \log(\text{Salary}) = \beta_0 + \beta_1 \cdot \text{Age} + \beta_2 \cdot \text{Education} \]
假设年龄和教育对薪资的影响是线性的。
GAM:
\[ \log(\text{Salary}) = \beta_0 + f_1(\text{Age}) + f_2(\text{Education}) \]
允许年龄对薪资影响是“非线性”的,比如工资在 40 岁左右达到峰值。
总结:
项目 | GLM | GAM |
---|---|---|
建模方式 | 线性关系 | 非线性加性关系 |
灵活性 | 一般 | 高(可处理非线性) |
适合场景 | 关系近似线性的情况 | 变量与响应变量关系复杂、非线性的情况 |