Kernel Smoother
核函数
K
h
λ
(
X
0
,
X
)
K_{h_\lambda}(X_0,X)
Khλ(X0,X)定义为
K
h
λ
(
X
0
,
X
)
=
D
(
∣
∣
X
−
X
0
∣
∣
h
λ
(
X
0
)
)
K_{h_\lambda}(X_0,X)=D(\frac{||X-X_0||}{h_\lambda(X_0)})
Khλ(X0,X)=D(hλ(X0)∣∣X−X0∣∣)
其中,
X
,
X
0
∈
R
p
X,X_0\in\mathbb{R}^p
X,X0∈Rp,
∣
∣
⋅
∣
∣
||\cdot||
∣∣⋅∣∣为欧拉范数,
h
λ
(
X
0
)
h_\lambda(X_0)
hλ(X0)为参数(核半径 kernel radius),
D
(
t
)
D(t)
D(t)通常是正实值函数,关于
∣
∣
X
−
X
0
∣
∣
||X-X_0||
∣∣X−X0∣∣非增。
设
f
(
x
)
:
R
p
→
R
f(x):\mathbb{R}^p\rightarrow \mathbb{R}
f(x):Rp→R为
x
x
x的连续函数,样本
{
(
x
i
,
Y
i
)
,
i
=
1
,
.
.
.
,
n
}
\{(x_i,Y_i),i=1,...,n\}
{(xi,Yi),i=1,...,n}来自
Y
i
=
f
(
x
i
)
+
ϵ
i
Y_i=f(x_i)+\epsilon_i
Yi=f(xi)+ϵi
对任意
x
0
∈
R
p
x_0\in\mathbb{R}^p
x0∈Rp,Nadaraya-Watson核加权平均(
f
(
x
)
f(x)
f(x)的估计)定义为,
f
^
(
x
0
)
=
∑
i
=
1
n
K
h
λ
(
x
0
,
x
i
)
Y
i
∑
i
=
1
n
K
h
λ
(
x
0
,
x
i
)
\hat{f}(x_0)=\frac{\sum_{i=1}^nK_{h_\lambda}(x_0,x_i)Y_i}{\sum_{i=1}^nK_{h_\lambda}(x_0,x_i)}
f^(x0)=∑i=1nKhλ(x0,xi)∑i=1nKhλ(x0,xi)Yi
下面介绍几种特殊的核平滑方法。
1. Nearest neighbor smoother
近邻平滑器的思想是:对任意的点
x
0
x_0
x0,选取其
m
m
m个最近邻函数值的平均值作为
f
(
x
0
)
f(x_0)
f(x0)的估计。具体地,
h
m
(
x
0
)
=
∣
∣
x
0
−
x
[
m
]
∣
∣
h_m(x_0)=||x_0-x_{[m]}||
hm(x0)=∣∣x0−x[m]∣∣
其中
x
[
m
]
x_{[m]}
x[m]为
x
0
x_0
x0的第
m
m
m个近邻,
D
(
t
)
=
{
1
m
,
∣
t
∣
≤
1
0
,
o
t
h
e
r
w
i
s
e
D(t)=\begin{cases} \frac{1}{m},\quad |t|\leq 1\\ 0,\quad otherwise\end{cases}
D(t)={m1,∣t∣≤10,otherwise
上图中,红色的点为
x
0
x_0
x0的
m
m
m个近邻,
f
(
x
0
)
f(x_0)
f(x0)的估计为这些红点函数值的加权平均。
这种方法得到的估计不是很光滑。
2. Kernel average smoother
核平均平滑器的思想是:对任意的点
x
0
x_0
x0,选取一个常数距离
λ
\lambda
λ(核半径,或1维情形的窗宽),然后计算到
x
0
x_0
x0的距离不超过
λ
\lambda
λ的数据点的加权平均(权:离
x
0
x_0
x0越近,权重越大)作为
f
(
x
0
)
f(x_0)
f(x0)的估计。具体地,
h
λ
(
x
0
)
=
λ
=
c
o
n
s
t
a
n
t
h_\lambda(x_0)=\lambda=constant
hλ(x0)=λ=constant
D
(
t
)
D(t)
D(t)为任一核函数。
对任意
x
0
x_0
x0,窗宽是固定的,每个数据点的权重由黄色区域显示。
可以看出,这种方法得到的估计是光滑的,但是边界点函数值的估计是有偏的,这是因为在边界点处的左邻域与右邻域内的数据点不均匀导致的(只用到了单边邻域的信息)。
3. Local linear regression
Nearest neighbor smoother与Kernel average smoother均假设
f
(
x
)
f(x)
f(x)在很小的局部区间内是常数,因此可以通过邻域内函数值的加权平均估计函数。局部线性回归假设局部邻域内函数值是一条直线(高维情形是超平面),而不是常数(水平面),因此,局部线性回归方法首先在局部拟合一条直线,然后取
x
0
x_0
x0在这条直线上的值作为
f
(
x
0
)
f(x_0)
f(x0)的估计。具体地,
h
λ
(
x
0
)
=
λ
=
c
o
n
s
t
a
n
t
h_\lambda(x_0)=\lambda=constant
hλ(x0)=λ=constant
求解如下加权最小二乘问题(一维情形)
α
0
,
β
0
=
arg
min
α
(
x
0
)
,
β
(
x
0
)
∑
i
=
1
n
K
h
λ
(
x
0
,
x
i
)
(
Y
i
−
α
(
x
0
)
−
β
(
x
0
)
x
i
)
2
\alpha_0,\beta_0=\arg\min_{\alpha(x_0),\beta(x_0)}\quad \sum_{i=1}^n K_{h_\lambda}(x_0,x_i)(Y_i-\alpha(x_0)-\beta(x_0)x_i)^2
α0,β0=argα(x0),β(x0)mini=1∑nKhλ(x0,xi)(Yi−α(x0)−β(x0)xi)2
f
(
x
0
)
f(x_0)
f(x0)的估计:
f
^
(
x
0
)
=
α
0
+
β
0
x
0
=
(
1
,
x
0
)
(
B
T
W
(
x
0
)
B
)
−
1
B
T
W
(
x
0
)
y
\begin{aligned} \hat{f}(x_0)&=\alpha_0+\beta_0x_0\\ &=(1,x_0)(B^TW(x_0)B)^{-1}B^TW(x_0)y \end{aligned}
f^(x0)=α0+β0x0=(1,x0)(BTW(x0)B)−1BTW(x0)y
其中,
y
=
(
Y
1
,
.
.
.
,
Y
n
)
T
,
W
(
x
0
)
=
d
i
a
g
(
K
h
λ
(
x
0
,
x
i
)
)
n
×
n
y=(Y_1,...,Y_n)^T,W(x_0)=diag(K_{h_\lambda}(x_0,x_i))_{n\times n}
y=(Y1,...,Yn)T,W(x0)=diag(Khλ(x0,xi))n×n
B
T
=
(
1
1
.
.
.
1
x
1
x
2
.
.
.
x
n
)
B^T=\left( \begin{matrix}1&1&...&1\\ x_1&x_2&...&x_n \end{matrix}\right)
BT=(1x11x2......1xn)
可以看出,这种方法得到的估计是光滑的,并且边界点处的估计也是无偏的。
4. Local polynomial regression
局部多项式回归假设局部邻域内函数是一个多项式函数,对一维情形,需极小化
α
0
,
β
j
,
0
=
arg
min
α
(
x
0
)
,
β
j
(
x
0
)
,
j
=
1
,
.
.
.
,
d
∑
i
=
1
n
K
h
λ
(
x
0
,
x
i
)
(
Y
i
−
α
(
x
0
)
−
∑
j
=
1
d
β
j
,
0
x
0
j
)
2
\alpha_0,\beta_{j,0}=\arg\min_{\alpha(x_0),\beta_j(x_0),j=1,...,d}\quad \sum_{i=1}^n K_{h_\lambda}(x_0,x_i)(Y_i-\alpha(x_0)-\sum_{j=1}^d\beta_{j,0}x_0^j)^2
α0,βj,0=argα(x0),βj(x0),j=1,...,dmini=1∑nKhλ(x0,xi)(Yi−α(x0)−j=1∑dβj,0x0j)2
f
(
x
0
)
f(x_0)
f(x0)的估计:
f
^
(
x
0
)
=
α
0
+
∑
j
=
1
d
β
j
,
0
x
0
j
\hat{f}(x_0)=\alpha_0+\sum_{j=1}^d\beta_{j,0}x_0^j
f^(x0)=α0+j=1∑dβj,0x0j