样条正则化

计算科学 线性代数 最小二乘 回归 数据分析 b样条
2021-12-21 07:55:31

我正在将一些 B 样条拟合到数据中,但数据有一个“间隙”区域,其中样条受数据的约束较少。我想设计一个正则化方案来帮助防止样条偏离它应该在的位置太多。

样条正则化的一种标准方法是最小化样条的曲率,近似于在整个区间上积分的二阶导数。例如,如果我们有一个样条f(t), 被定义为

f(t)=ixiNi(t)
在哪里Ni(t)是用某个节点向量定义的归一化 B 样条基函数。然后我们可以定义:
curvaturedt|d2f(t)dt2|2=xTGx
Gij=dtd2Ni(t)dt2d2Nj(t)dt2
然后我们可以将正则化最小二乘问题定义为,
minx||bAx||2+λ2xTGx
并解决这个问题,例如使用正规方程方法。矩阵G不是正定的,所以我不确定这是否可以用 QR 或 SVD 解决。

无论如何,这里有两个例子说明我使用这种正则化的结果。

前一 ex2

2011 年至 2014 年期间是数据差距区域,您可以看到非正则化样条解(绿色)与其“基线”有很大的偏差。蓝色曲线显示了我尝试通过施加曲率正则化来进行正则化。但是,您可以看到结果仍然显示数据间隙区域中的凸起,并且还消除了我想保留的高频振荡。

所以我的问题是:任何人都可以想出一种更好的方法来规范这些样条曲线,以防止在间隙期间(2011-2014)与基线的大偏差,同时保持高频振荡?

一种可能性是对 2014-2019 年范围内的样条进行线性拟合,然后在 2011-2014 间隔期最小化到该线性拟合的距离。但我不知道如何将这样的条件放入通常的形式对于某些矩阵xTΛxΛ

另一种可能性是以某种方式对样条进行高通滤波,尽管我也不知道如何将其实现为正则化条件。

1个回答

由于您的问题是局部回归问题,因此我不会使用样条拟合,而是使用 LO(W)ESS。这通过加权最小二乘拟合估计样本点 ,该加权最小二乘拟合为个最近邻有关详细信息,请参阅f(x)xxikx

克利夫兰:“稳健的局部加权回归和平滑散点图。” 美国统计协会杂志 74.368, pp. 829-836, 1979

在 R 中,它是通过函数loess开箱即用的,如下例使用 R 内置数据集mtcars

alpha <- 0.75  # fraction of points used as neighbors
smoothed <- loess(y ~ x, data=data.frame(x=mtcars$disp, y=mtcars$mpg), span=alpha, family="gaussian", degree=2)
x <- seq(min(mtcars$disp), max(mtcars$disp), by=10)
plot(mtcars$disp, mtcars$mpg)
lines(x, predict(smoothed, x), col="red")

黄土合身