ESL走读chapter5-自然三次样条插值

首先,理解自由度和维度的计算。假定有三个区域,有两个knots。每个区域,需要6个基函数来拟合。,每个knot有三个约束:分别为连续性,一阶和二阶连续性。

于是维度计算为3*4-2*3=6.(如下所示)。自由度可简单的理解成维度-1,有些书也把自由度和维度看成一样的,区别在于有没有将截距1算作一个参数。

ESL走读chapter5-自然三次样条插值_第1张图片

注意,knot的个数和基函数的次数没有必然联系,可看做两个独立的参数。所以当样条基的次数确定时,节点数和自由度以及维度是一一对应的。

比如上式的三次样条的计算方式如下,令x=节点数,则区域数为x+1,d为维度

于是 (x+1)*4-x*3=d  => x+4=d。

当自由度为7时,维度为8,于是x=4,需要四个节点。

于是在R中,bs(x,df=7) 的knot是四个,分别是(0.2,0.4,0.6,0.8)。使用者也可以自己指定knot的位置。

下面。理解自然三次样条的概念。

同样是如上所示的三次样条基,但是现在在边界区域增加了线性约束。边界区域是指,x的最大值或者最小值与相应的最大最小节点(knot)之间的区域。

有了线性约束之后,对y的估值会稳定很多(方差不会太大)。一般来说,这样做线性处理是合理的,因为边界上的信息较少,不需要过度的拟合。

自然样条基由于要求边界区域的拟合是线性的,边界kont的约束也不要求是二阶导数相等,这样就释放了两个自由度(书上语)。无论如何,对于自然三次样条基来说,自由度就是等于knot的个数,记住该结论即可。普通的三次样条,自由度=#kont+4!

自然三次样条基的计算:

 自然样条基的基函数个数和节点数相等。(注意,和三次样条的区别,只有1和x两项了。高次的包含在d中)基函数的推导方法可参考三次样条的推导。

ESL走读chapter5-自然三次样条插值_第2张图片

natural cubic

下面,总结一下,理解的注意点。

1)截尾幂基的作用区域不是按照区间的,而是只有大于kont和小于knot两个区域。也就是说是跨区间的。

2)natural cubic的边界线性是作用到无穷区域的

3)基函数的个数(维度)和次数不是一回事。基函数是指张成整个拟合区间函数f的基。这个基函数是按照根据给定次数和约束条件推导出来的。推导出来后应用到各个区间去拟合函数。因此个数(维度)也是推导出来的。

4)维度,次数,自由度,节点数。之间的关系要搞清楚。 维度是指张成基函数空间的基函数个数。次数是基函数的最高次。自由度是参数的个数。如一个三次样条有6个基函数,但是次数只有3,需要确定的参数个数为4.(分别为1,x,x^2,x^3)自由度可理解为需要确定的参数个数。节点数和他们没有必然关系。但是当样条基选定时,节点数和自由度一一对应。因为随着节点数的增加,需要确定的参数也随着增加。



你可能感兴趣的:(ESL走读chapter5-自然三次样条插值)