广义线性模型(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 的非线性扩展
对比表格
模型结构 |
线性组合:\(\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 岁左右达到峰值。
总结:
建模方式 |
线性关系 |
非线性加性关系 |
灵活性 |
一般 |
高(可处理非线性) |
适合场景 |
关系近似线性的情况 |
变量与响应变量关系复杂、非线性的情况 |