152 lines
6.9 KiB
Markdown
152 lines
6.9 KiB
Markdown
# 第六章 核光滑
|
||
|
||
KNN引入,对30-NN来说,拟合的函数并不连续,“不连续是不好看并且不必要的”,“我们可以分 配权重,使其随着与目标点的距离平滑降低.”
|
||
|
||
**核:“根据距离远近分配发言权的投票机制。”“核”本质上都在回答一个问题:两个点之间到底有多“亲近”?**
|
||
|
||
在统计学和机器学习中,**Nadaraya–Watson 核回归(Nadaraya–Watson Kernel Regression)** 是一种非参数预测方法。它的核心思想是:**对于一个新的输入点** $x$**,其预测值** $\hat{f}(x)$ **是训练集中所有目标值** $y_i$ **的加权平均**,而权重的大小取决于训练点 $x_i$ 与查询点 $x$ 之间的距离。
|
||
|
||
距离越近的点,权重越大;距离越远的点,权重越小。
|
||
|
||
---
|
||
|
||
### 1. 数学表达式
|
||
|
||
假设我们有训练数据集 $\{(x_1, y_1), (x_2, y_2), \dots, (x_n, y_n)\}$,对于给定的输入 $x$,Nadaraya-Watson 核回归的估算式为:
|
||
|
||
$$\hat{f}(x) = \sum_{i=1}^{n} w(x, x_i) y_i$$
|
||
|
||
其中,$w(x, x_i)$ 是**核权重**,定义为:
|
||
|
||
$$w(x, x_i) = \frac{K\left(\frac{x - x_i}{h}\right)}{\sum_{j=1}^{n} K\left(\frac{x - x_j}{h}\right)}$$
|
||
|
||
将权重带入回归公式,得到完整的 Nadaraya–Watson 表达式:
|
||
|
||
$$\hat{f}(x) = \frac{\sum_{i=1}^{n} K\left(\frac{x - x_i}{h}\right) y_i}{\sum_{j=1}^{n} K\left(\frac{x - x_j}{h}\right)}$$
|
||
|
||
**符号说明:**
|
||
|
||
- $K(\cdot)$:**核函数(Kernel function)**。常用的有高斯核 $K(u) = \frac{1}{\sqrt{2\pi}} e^{-\frac{u^2}{2}}$。它必须是非负的,且通常在 0 处取得最大值。
|
||
|
||
- $h$:**带宽(Bandwidth)**。这是最重要的超参数。$h$ 越大,平滑程度越高(可能欠拟合);$h$ 越小,曲线越波动(可能过拟合)。
|
||
|
||
- 分母:用于**归一化**,确保所有权重的总和为 1。
|
||
|
||
|
||
### 2. 优缺点
|
||
|
||
- **优点**:不需要假设数据的具体分布(是非参数的),能够拟合非常复杂的非线性关系。
|
||
|
||
- **缺点**:计算量大(预测每个点都要遍历整个训练集,复杂度 $O(n)$);容易受“边界偏差”影响;在高维空间表现较差(维度灾难)。
|
||
|
||
|
||
- 核函数在非参数估计中充当局部加权机制,使得函数估计在某一点附近主要依赖邻域数据;当与局部多项式拟合结合时,其效果类似于对目标函数在该点进行加权的局部泰勒近似。
|
||
|
||
|
||
流形:约束、自由度、轨道
|
||
|
||
- 高维展开:**把复杂函数拆成低维函数的叠加,主动砍掉高阶交互**
|
||
|
||
|
||
**可变系数模型**的定义及其**局部加权最小二乘**估计式:
|
||
|
||
### 1. 可变系数模型 (Varying Coefficient Model)
|
||
|
||
该式定义了条件线性模型,其中系数是变量 $Z$ 的函数:
|
||
|
||
$f(X) = \alpha(Z) + \beta_1(Z)X_1 + \dots + \beta_q(Z)X_q {}$
|
||
|
||
---
|
||
|
||
### 2. 局部加权最小二乘估计 (Locally Weighted Least Squares)
|
||
|
||
该式展示了如何通过目标函数最小化来拟合给定点 $z_0$ 处的参数:
|
||
|
||
$\min_{\alpha(z_0), \beta(z_0)} \sum_{i=1}^{N} K_\lambda(z_0, z_i) \left( y_i - \alpha(z_0) - x_{1i}\beta_1(z_0) - \dots - x_{qi}\beta_q(z_0) \right)^2 {}$
|
||
|
||
> 高维函数太复杂 → 用 ANOVA 分解 → 再人为限制只保留低阶结构 → 用 backfitting 或局部回归去估计
|
||
|
||
### 1. 可变系数模型 (Varying Coefficient Models)
|
||
|
||
**可变系数模型**是线性模型的推广。它保留了线性模型的易解释性,但允许系数不再是常数,而是随着另一个变量 $Z$(称为调节变量)的变化而变化。
|
||
|
||
- **核心方程:**
|
||
|
||
$$f(X) = \alpha(Z) + \beta_1(Z)X_1 + \dots + \beta_q(Z)X_q$$
|
||
|
||
- **直观理解:** 想象你在研究“工龄”对“薪资”的影响。在线性模型中,这个影响(斜率)是固定的;但在可变系数模型中,这个斜率可以随“行业类型”或“地理位置”($Z$) 而平滑变化。
|
||
|
||
- **拟合方法:** 通常使用**局部回归**(如式 6.17 所示)。在每一个特定的 $z_0$ 附近,利用核函数 $K_\lambda$ 对样本加权,只看邻近的数据点来估算当前的 $\alpha(z_0)$ 和 $\beta(z_0)$。
|
||
|
||
|
||
---
|
||
|
||
### 2. 后验拟合算法 (Backfitting Algorithm)
|
||
|
||
当模型变得复杂(例如**加法模型** $Y = \sum f_j(X_j) + \epsilon$)时,我们无法一次性拟合所有非参数函数。**Backfitting** 是一种“分而治之”的迭代算法。
|
||
|
||
#### **算法逻辑:**
|
||
|
||
1. **初始化:** 先给每个函数 $f_j$ 一个初始值(通常是 0)。
|
||
|
||
2. **循环迭代:** 对于每一个变量 $j$,计算其“残差”:
|
||
|
||
$$\text{Residual} = Y - \alpha - \sum_{k \neq j} \hat{f}_k(X_k)$$
|
||
|
||
3. **局部更新:** 用这个残差对 $X_j$ 进行平滑处理(如移动平均或样条回归),得到更新后的 $\hat{f}_j$。
|
||
|
||
4. **重复:** 轮流更新所有变量,直到每个函数的变化都非常小(收敛)为止。
|
||
|
||
|
||
> **比喻:** 就像调音师调钢琴。先调准一根弦,此时其他弦可能还不准;于是再去调下一根,如此反复循环,直到整台琴的音准达到平衡。
|
||
|
||
---
|
||
|
||
### 3. 两者的联系
|
||
|
||
- **应用场景:** Backfitting 通常用于拟合**广义加法模型 (GAM)**。
|
||
|
||
- **计算优势:** 它不需要进行庞大的矩阵求逆,只需反复调用简单的平滑算子(Smoother),这使得它在处理高维数据时非常高效。
|
||
|
||
- **灵活性:** 你可以轻松地在 Backfitting 框架下加入可变系数项,将复杂的非线性关系拆解为一系列简单的局部一维拟合。
|
||
|
||
|
||
---
|
||
|
||
**总结表:**
|
||
|
||
| | | |
|
||
|---|---|---|
|
||
|**特性**|**可变系数模型**|**Backfitting 算法**|
|
||
|**本质**|一种具体的**模型结构**|一种通用的**迭代求解算法**|
|
||
|**解决问题**|系数随环境/时间变化的动态性|多个非参数项联立拟合的计算难题|
|
||
|**关键点**|局部加权回归|循环更新残差|
|
||
|
||
这两个概念在处理金融时间序列、流行病学分析以及任何具有“情境相关性”的数据时都非常强大。
|
||
|
||
在高维情况下,我们不直接拟合 $Y = f(X,Z)$,而是假设:
|
||
|
||
**X 和 Y 的关系是线性的,但这个线性关系的系数由 Z 决定**
|
||
|
||
即:
|
||
|
||
$$Y = \sum_j \beta_j(Z)\, X_j$$
|
||
|
||
因此问题转化为:**去学习这些函数 $\beta_j(Z)$**
|
||
|
||
问题:拟合 f(X)
|
||
↓(结构假设)ANOVA 分解\加性模型\二阶交互模型\可变系数模型
|
||
f(X) = g1(X1) + g2(X2) + ...
|
||
↓(优化方法)
|
||
backfitting
|
||
↓(具体拟合)
|
||
核平滑 / spline / 局部回归
|
||
|
||
“阶数为 的自回归(autoregressive)时间序列形式为
|
||
|
||
“yt = β0 + β1yt−1 + β2yt−2 + ⋯ + βkyt−k + εt zt = (yt−1, yt−2, ⋯ , yt−k)”
|
||
|
||
用记滞后集(lag set),模型则看起来是一个标准的线性模型 ,而且 一般使用最小二乘来拟合.采用核为 的局部最小二乘拟合允许模型 根据序列的短期记忆(short-term history of the series)来变化.这区别于更传统 的因窗口时间变化的动态线性模型.”
|
||
|
||
第六章可能还需要再看,如**核方法**
|