分段多项式及样条估计
来源:互联网 发布:监听2121端口 编辑:程序博客网 时间:2024/06/05 02:13
写在前面
最早接触样条是在科学计算的课程上,当时主要讲了三次样条及由此推出的三斜率方程组。
后来便在阅读ESL(The Elements of Statistical Learning)这本书的时候,接触了样条,ESL中的介绍就更加系统,以及更加偏统计了。
第三次正式接触样条是金融风险管理的课程中,课程最后,张老师简单介绍了样条估计。
本篇博客主要是ESL的第五章第2节的翻译,顺带提一句,我现在一直在维护ESL-CN这个网站,这是个ESL的翻译项目,目前已完成书中大部分章节的翻译,以及一小部分的代码实现,欢迎大家访问并提出宝贵的建议:smile:
分段多项式
直到5.7节我们都假设
因为这些在不连续区域为正值,模型
图5.1. 上面两张图显示了对一些拟合数据的分段常值函数拟合。垂直虚线表示两个结点
ξ1 和ξ2 。蓝色曲线表示真正的函数,数据是通过函数加上高斯噪声产生的。下两张图显示了对同样数据的分段线性函数拟合——上面板的图没有限制,而下面板的图限制为在结点处连续——右上图没有限制,而左下图限制为在结点处连续。右下图显示了分段线性的基函数,h3(X)=(X−ξ1)+ ,它在ξ1 处连续。黑色点表示样本取值h3(xi),i=1,2,…,N
右上图显示了分段线性拟合。需要三个额外的基函数:
这种情形下更直接的方式是将约束结合起来的基函数:
其中
这里6个基函数对应6维函数的线性空间。快速地确定参数个数:(3个区域)
weiya注
单独考虑每个区域,则需要确定的参数有四个,∑4i=1βmhm ,每个结点处,需要保持连续、一阶微分连续、二阶微分连续,所以每个结点3个限制。
从另一个角度看,因∑6i=1βmhm 需要确定的就是βi 这6个参数。
图5.2. 一系列分段3次多项式拟合,增加了连续性的阶数。
更一般地,结点为
据说三次样条是人眼看不出结点不连续的最低阶样条。很少有更好的理由去选择更高次的样条,除非对光滑的微分感兴趣。实际中,用得最多的order还是
这些固定结点的样条也称作回归样条(regression splines)。我们需要选择样条的阶数,结点的个数以及它们的位置。一种简单方式是用基函数或自由度来参量化样条族,并用观测bs(x,df=7)
产生在x
的x
的(20,40,60和80)分位数处。(含四个结点的三次样条是8个维度的。bs()
函数默认忽略基函数里面的常数项,因为这样的项一般包含在模型的其它项里面。)然而,也可以更明确地指出,`bs(x, degree=1, knots=c(0.2,0.4,0.6))“产生有三个内结点的线性样条的基,并且返回一个
因为特定阶数以及结点序列的样条函数的空间是向量空间,所以表示它们会有许多等价的基底(就像普通多项式一样。)尽管truncated power基在概念上很简单,但是数值计算时不是很吸引人:大的power会导致非常严重的舍入问题。在本章附录中描述的B样条的基即使在结点数
自然三次样条
我们知道对数据的多项式拟合的行为在边界处有不稳定的趋势,而且外推法会很危险。样条进一步恶化了这些问题。边界结点之外的多项式拟合的表现比该区域对应的全局多项式拟合更野蛮。从最小二乘拟合的样条函数的逐点方差(pairwise variance),可以很方便地看到这一点(更多细节见下一节的计算这些方差的例子)。图5.3比较了不同模型的逐点方差。在边界处的方差爆炸是显而易见的,对于三次样条这必要会更糟糕。
自然三次样条(natural cubic spline)添加额外的限制,具体地,令边界结点之外的函数是线性的。这样减少了4个自由度(两个边界区域分别两个限制条件),这四个自由度可以通过在内部区域取更多的结点花费掉。图5.3用方差表示了这种权衡。在边界附近需要在偏差上付出代价,但是假设边界附近(不管怎样,我们的信息很少)为线性函数通常是合理的考虑。
含
其中,
可以看到当
例子:南非心脏病
在4.4.2节我们对南非心脏病数据进行了线性逻辑斯蒂回归拟合。这里我们以采用自然样条的函数来探索非线性。模型的函数有如下形式:
其中每个
我们在模型中对每一项采用4个自然样条基。举个例子,
weiya注
下面说明对于自然三次样条而言,基函数个数即为结点个数。
设有K 个结点,则有(K+1) 个区域,每个区域参数为4个,每个内结点减掉3个参数,每个边界点减掉两个参数,则还剩下
(K+1)⋅4−3K−2×2=K
也就是K 个基函数。
因为 famhist
是含两个水平的因子,所以用一个二进制变量或者虚拟变量来编码,而且它与拟合的模型中的单系数有关。
更简洁地,我们将
我们采用向后逐步删除过程,从模型中删除项并且保持每个项的整体结构,而不是每次删除一个系数。AIC统计量(7.5节)用来删除项,并且在最后模型中保留下来的所有项如果被删掉都会导致AIC增大(见表5.1).图5.4显示了通过逐步回归选择出的最终模型的图象。对于每个变量
AIC统计量比似然比检验(偏差检验)更“宽容”(generous)。sbp
和obesity
都被包含进模型中,而这两个量都不在线性模型中。图象解释了为什么它们的贡献本质上是非线性。这些影响乍看或许很奇怪,但这因为是回顾性数据的本质。这些指标有时是当病人患上心脏病后测出来的,而且在很多情形下他们已经受益于健康饮食和生活状态,因此在obesity
和sbp
值较低时会有明显的增长。表5.1总结了部分模型的效果。
例子:音素识别
在这个例子中我们采用样条来降低灵活性而非增大灵活性;这个应用是属于一般的函数型(functional)建模。图5.5的上图显示了在256个频率下分别测量两个音素“aa”和“ao”的15个对数周期图。目标是应用这些数据对口语音素进行分类。选择这两个音素是因为它们很难被分开。
图5.5 上图显示了对数周期图作为15个例子频率的函数,例子中每个音素“aa”和“ao”从总共695个“aa”和1022个“ao”中选取。每个对数周期图在256个均匀的空间频率处测量。下图显示了对数据进行极大似然拟合逻辑斯蒂回归得到的系数(作为频率的函数)的图象,将256个对数周期图值作为输入。系数被限制为在红色曲线中是光滑的,而在锯齿状灰色曲线中不受限制。
weiya注
周期图(Periodogram):在信号处理中,周期图是信号谱密度的估计。
输入特征是长度为256的向量
图5.5的下图显示了对从695个“aa”和1022个“ao”选出的1000个训练样本进行极大似然拟合得到的线性逻辑斯蒂回归模型的系数。也作出了系数关于频率的函数图象,而且实际上我们可以根据下面的连续形式来思考模型
可以用下式来近似
系数计算出对比度函数(contrast functional),而且将会在频域内有显著的值,其中对数周期图会区分这两个类。
灰色曲线十分粗糙。因为输入信号有相当强的正自相关性,这导致系数中的负自相关。另外,样本大小仅仅为每个系数仅仅提供了4个有效的观测。
类似这样的应用允许自然的正则化。我们强制系数作为频率的函数均匀变化。图5.5中下图的红色曲线显示了对这些数据应用这样一个光滑参数曲线。我们看到低频率的差异性很明显。这个光滑不仅允许对相反的进行简单的解读,而且得到更加精确的分类器:
红色光滑曲线可以应用非常简单的自然三次样条得到。我们可以将系数函数表达成样条
- 分段多项式及样条估计
- 样条函数(spline function)—— 分段多项式函数(piecewise polynomial function)
- 拉格朗日、分段线性、三次样条 插值 C语言
- MATLAB多项式及多项式拟合
- 基于多项式拟合的法线估计、点云平滑
- Python机器学习库sklearn构造分段与多项式特征
- R语言与函数估计学习笔记(样条方法)
- 采用Cardinal法构造插枝分段三次样条曲线 : 原理篇
- 采用Cardinal法构造插枝分段三次样条曲线 : 代码篇
- 采用Cardinal法构造插枝分段三次样条曲线 : 实战篇
- 共轭先验及贝叶斯估计
- 柱条分段展示(阶梯电价)
- 参数估计-最大似然估计、MAP及贝叶斯估计
- 最大似然估计、MAP及贝叶斯估计
- 参数估计-最大似然估计、MAP及贝叶斯估计
- 最大似然估计、MAP及贝叶斯估计
- 多项式操作及文件读写
- 两个多项式相加及相乘
- docker镜像操作
- PAT 甲级 1112. Stucked Keyboard (20)
- eclipse导入maven项目时报Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources
- Cannot link libpng
- 151. Reverse Words in a String
- 分段多项式及样条估计
- 笔记:数据库操作
- Eclipse 建包时出现 Package already exists. Note: Views might filter empty parent 的解决方案
- 笔记:数据库函数
- 基追踪及其实现
- Java中的递归原理分析
- h3标签在容器顶部无法设置上下外边距的问题
- 如何跳出令人窒息的职场死循环
- Cannot resolve taglib with uri http://java.sun.com/jsp/jstl/core