本章旨在介绍一些在接下来的两章中都至关重要的思想,我们将在其中开发将原始离散数据转换为平滑函数的方法。
本章的主要目标:
我们将使用基函数的线性组合作为表示函数的主要方法。基函数的使用是一种很好的适应于存储函数信息的计算工具,并且给予我们灵活的计算能力来拟合甚至数十万的数据点。此外,它允许我们用熟悉的矩阵代数表示所需的计算(即用矩阵形式表示)。
我们所讨论的函数型分析大多数可以通过使用更先进的方法如变分法和函数型分析直接用函数型参数表示。但是我们认为这些方法对我们心目中的读者是太技术化而没有太大作用。此外,根据我们的经验,基函数方法并没有对我们所做的事情施加任何实际的限制。
我们将详细介绍两类基系统:傅里叶基和B-样条基。前者往往被用来描述周期数据,后者用于无强周期循环的函数型信息。但是,我们也不会忽视其他类型的基系统,每一种基系统在特定的情况下都有其自身的优点。
函数型数据分析的基本原理是把观测数据的函数当做单个实体,而不仅仅是当做单个观测序列。这里的函数一词主要指的是观测数据的内在结构而不是显示形式。事实上,函数型数据通常是以 n n n对数据 ( t j , y j ) (t_j,y_j) (tj,yj)的形式被观察和记录。其中, y j y_j yj是在时刻time t j t_j tj时的值,但可能因为测量误差的原因变得模糊不清(blurred).time 常常是记录函数型数据的连续体,因此我们可能陷入像这样称呼 t j t_j tj的习惯,除了可能被包含的特定的连续体,如空间位置、频率、重量等等。
一个函数型观测以函数型形式 x x x被人了解意味着什么?我们并不是说 x x x实际上是对每一个 t t t进行记录,因为那将涉及存储一个无穷数目的值。相反,我们假设一个函数 x x x存在,因此产生了观测数据。
此外,我们通常希望声明潜在的函数 x x x是光滑的,以至于一对相邻的数据点 y j y_j yj和 y j + 1 y_{j+1} yj+1在某种程度上是必然联系在一起的并且彼此之间的拆并不会很大。如果光滑的性质不满足的话,那么把数据作为函数型数据而不是多元数据并不能获得更多其他的信息。
由于是光滑的,函数 x x x通常可以拥有一到多个导数,表示为 D x , D 2 x Dx,D^2x Dx,D2x,等等,因此 D m x D^mx Dmx表示 x x x的 m m m阶导。 D m x ( t ) D^mx(t) Dmx(t)表示导函数在时刻 t t t时的值。我们通常希望通过使用离散数据 y j , j = 1 , . . . , n y_j,j=1,...,n yj,j=1,...,n来估计函数 x x x,并同时估计出它的若干导数。例如,如果我们跟踪一个移动物体(如火箭)的位置 x x x,我们还希望估计它的速度 D x Dx Dx和加速度 D 2 x D^2x D2x。系统的变化率建模通常称为系统的动力学分析。函数导数的许多使用将是本书的中心话题。
然而,由于存在我们称之为噪声或测量误差的现象,实际观测数据可能根本不光滑。其中一些外来的变化可能确实具有所有的噪声特性,也就是说,是无格式的和不可预测的,或者可能是高频变化,我们原则上是可以建模的,但出于实际原因选择忽略。有时,这个噪声水平只是它所反映的函数大小的一小部分,然后我们说信噪比(S/N比)很高。然而,在相应的 x ( t j ) x(t_j) x(tj)附近, y j y_j yj的变化水平越高,提取函数及其某些导数的稳定估计值就成为一个真正的挑战。
本章和下一章的大部分内容都将介绍如何从噪声数据中估计 x x x及其他们的导数。
一般来说,我们关心的是函数数据的集合或样本,而不仅仅是单个函数 x x x。具体地,函数 x i x_i xi的记录或观察可以由 n i n_i ni对 ( t i j , y i j ) , j = 1 , . . . , n i (t_{ij},y_{ij}),j=1,...,n_i (tij,yij),j=1,...,ni。可能每个记录的参数值 t i j t_{ij} tij都相同,但它们也可能因记录而异。可能是收集数据的时间间隔t也因记录而异。
通常,使用离散数据 y i j y_{ij} yij构造函数型观察值 x i x_i xi,对于每个记录 i i i单独或独立地进行。因此,在本章中,我们通常通过假设单个函数 x x x被估计来简化符号。然而,当信噪比比较低,或数据稀疏采样或数量较少时,必须使用与其相邻或类似曲线中的信息来获得特定曲线的更稳定估计。
有时,时间 t t t是周期性的,例如,当 t t t表示一年中的时间时,这意味着函数满足周期性边界条件,其中区间 t t t开始时的函数 x x x从结束时的 x x x值平稳地拾取。不以这种方式自然摆动的函数型数据称为非周期数据。
最后,许多函数型数据都分布在多维参数域上,我们可能在空间或时间上的一个或多个维度上观测数据。例如,照片或大脑图像是一种函数型观察数据,其中图片的强度和可能的颜色构成是空间位置的函数。
光滑度是潜在函数 x x x的一种性质,拥有特定数目的导数,并且光滑度在原始数据向量 y = ( y 1 , y 2 , . . . , y n ) y=(y_1,y_2,...,y_n) y=(y1,y2,...,yn)上并不明显,主要是因为在观测误差和噪声的存在叠加在测量过程中的基础的信号上。我们用符号表示为:
y j = x ( t j ) + ϵ j y_j=x(t_j)+\epsilon_j yj=x(tj)+ϵj
其中噪声、干扰(disturbance)、误差、干扰(perturbation)或其他外来项 j j j对原始数据贡献了粗糙度。将原始数据表示为函数的任务之一可能是尝试尽可能高效地过滤掉这些噪声。然而,在其他情况下,我们可能会采取另一种策略,将噪声保留在估计函数中;相反,我们需要分析结果的平滑性,而不是分析数据的平滑性。
向量化的符号可能会更简洁和更清楚的表达,我们表达“信号+噪声”(signal + noise)模型如下:
y = x ( t ) + e \textbf{y}=x(\textbf{t})+\textbf{e} y=x(t)+e
y , x ( t ) , t , 和 e \textbf{y},x(\textbf{t}),\textbf{t},和\textbf{e} y,x(t),t,和e都是长度为 n n n的列向量。
观测向量值 y \textbf{y} y的方差-协方差矩阵等价于相关的残差向量 $ \textbf{\epsilon}$ 的方差-协方差矩阵,因为 x ( t j ) x(t_j) x(tj)的值被考虑为方差为0的固定效应。定义 Σ e \Sigma_{e} Σe为残差的方差-协方差矩阵的符号,它表示除了噪声或误差变化外,各方面都相同的重复样本的残差是如何变化的。
教材中标准的统计模型都假定 ϵ j \epsilon_j ϵj是0均值、同方差 σ 2 \sigma^2 σ2的独立同分布。因此,依据标准模型:
V a r ( y ) = Σ e = σ 2 I Var(\textbf{y})=\Sigma_e=\sigma^2I Var(y)=Σe=σ2I
其中, I I I是 n n n阶示性矩阵。
标准模型中的假设,尽管是常规的,但对于大多数函数型数据来说,几乎可以肯定太简单了。更确切地说,例如,我们必须经常认识到,残差的方差本身会随着参数t的变化而变化。例如,我们将在第5章中看到,儿童身高测量的标准误差在婴儿期约为8毫米,但到6岁时下降到约5毫米。
我们可能必须考虑相邻误差 ϵ j \epsilon_j ϵj之间的关系。我们在函数型残差中经常看到的自相关反映了这样一个事实,即我们选择忽略的函数变化本身可能在更精细的分辨率范围内是平滑的。
事实上,标准模型中独立分布误差的概念,随着n的增加,变成了所谓的白噪声,在本质上不现实或不可实现,因为白噪声需要无限的能量来实现。例如,大型股票市场的波动通常被视为具有白噪声特性,但实际上,在毫秒等短时间间隔内只能交易有限数量的股票,因此规模股票价格在足够小的时间范围内会呈现某种结构。
这并不一定意味着在残差或误差中建立变量方差或自相关结构的模型是必不可少的。这样的 Σ e \Sigma_e Σe模型会消耗宝贵的自由度,大大降低计算速度,最终得到对函数的估计,这些函数与假设残差独立性所获得的结果几乎是不可区分的。然而,一个专门针对方差异质性和/或自相关的模型可以在更好的估计方面得到回报,而且这种类型的结构本身可能很有趣。函数型数据分析有意义的应用将始终对这些可能性开放。
我们还应该记住,当数据显著为正时,错误或干扰可能会成倍增加,而不是增加,在这种情况下,使用数据的对数更为明智。例如,我们将在第14章中介绍加拿大气象站的降水数据。
原始数据的采样率或分辨率是函数型数据分析的关键决定因素。这本质上是数据的一个局部性质,可以描述为参数值 t j t_j tj相对于数据中曲率的密度,而不仅仅是n个参数值。一个函数 x x x在时刻 t t t的曲率通常被二阶导所测量,用下面两个任意一个反映 ∣ D 2 x ( t ) ∣ |D^2x(t)| ∣D2x(t)∣或者 [ D 2 x ( t ) ] 2 [D^2x(t)]^2 [D2x(t)]2。
当曲率较大时,必须有足够的点来有效地估计函数。多少为足够?这依赖于误差的 ϵ j \epsilon_j ϵj大小.当误差水平很小,曲率很小时,可以用较低的采样率来解决。图1.8中的步态数据误差很小,只有轻微的曲率,因此每个周期20个值的采样率足以满足我们的目的。图1.1中的人类生长数据误差水平较低,约占成人身高的0.3%,但二阶导数函数的曲率相当严重,因此每六个月对这些数据进行一次测量的采样率几乎不足以推断生长加速度。
图3.1提供了一个有趣的函数型数据示例。其中一位作者将字母“fda”写在一个平面上。笔的位置被光跟踪系统(Optotrak system)记录,该系统每秒600次在三维空间中给出红外发射二极管的位置,误差水平约为0.5毫米。 x x x和 y y y位置函数 s c r i p t x scriptx scriptx和 s c r i p t y scripty scripty分别绘制在图3.2中,我们可以看到误差水平太小以至于看不见。总事件耗时约2.3秒,绘制的每个函数都有1401个离散值。这当然是一个很大的分辨率,但曲率在某些地方相当高,而且事实证明,即使涉及到很小的误差水平,这一级别的分辨率也不过分。
由于观察到的函数看起来相当平滑,因此采样率很高,并且误差水平也很低,因此可以尝试使用一阶向前差分 y j + 1 − y j t j + 1 − t j \frac{y_{j+1}-y_j}{t_{j+1}-t_j} tj+1−tjyj+1−yj,或者采用中心差分 y j + 1 − y j − 1 t j + 1 − t j − 1 \frac{y_{j+1}-y_{j-1}}{t_{j+1}-t_{j-1}} tj+1−tj−1yj+1−yj−1来估计 D x ( t j ) Dx(t_j) Dx(tj),但是图3.3显示 S c r i p t X ScriptX ScriptX的结果导数估计噪声相当大,图3.3中 D 2 S c r i p t X D^2ScriptX D2ScriptX的二阶中心差分估计
D 2 x ( t j ) ≈ ( y j + 1 + y j − 1 − 2 y j ) / ( Δ t ) 2 D^2x(t_j)\approx(y_{j+1}+y_{j-1}-2y_j)/(\Delta t)^2 D2x(tj)≈(yj+1+yj−1−2yj)/(Δt)2
是一个灾难。这种失败的原因恰恰是数据的高采样率; 在非常接近的值之间差分会极大地放大误差的影响。Press等人在1999年评论道:即使函数可以用来分析,但是如此简单地用差分来估计导数也会出错。
在本章和下一章中,我们将非常关注导数估计,包括估算导数估计的置信区间的方法。 然而,仍存在许多挑战,现有技术仍有很大的改进空间。
基函数系统是一组已知函数 ϕ k \phi_k ϕk,它们在数学上彼此独立,并且具有通过对这些函数中的足够大数量K的加权和或线性组合来近似任意函数的性质。最熟悉的基函数系统是用于构建幂级数的单项式的集合。
1 , t , t 2 , . . . , t k , . . . 1,t,t^2,...,t^k,... 1,t,t2,...,tk,...
傅里叶基系统为:
1 , s i n ( w t ) , c o s ( w t ) , s i n ( 2 w t ) , c o s ( 2 w t ) , s i n ( 3 w t ) , c o s ( 3 w t ) , . . . , s i n ( k w t ) , c o s ( k w t ) , . . . 1,sin(wt),cos(wt),sin(2wt),cos(2wt),sin(3wt),cos(3wt),...,sin(kwt),cos(kwt),... 1,sin(wt),cos(wt),sin(2wt),cos(2wt),sin(3wt),cos(3wt),...,sin(kwt),cos(kwt),...
基函数程序通过线性展开表示函数 x x x:
x ( t ) = ∑ k = 1 K c k ϕ k ( t ) x(t)=\sum^{K}_{k=1}c_k\phi_k(t) x(t)=k=1∑Kckϕk(t)
有 K K K个基函数 ϕ k \phi_k ϕk.
通过让 c \textbf{c} c表示系数 c k c_k ck和 ϕ \phi ϕ的长度为 K K K的向量作为其元素是基函数 ϕ k \phi_k ϕk的函数向量,我们也可以用矩阵x形式表示(3.4):
x = c’ ϕ = ϕ ′ c x=\textbf{c'}\phi=\phi'\textbf{c} x=c’ϕ=ϕ′c
实际上,基展开方法代表了像\textbf{c}这样有限维的向量框架内潜在的无限维的函数世界。 因此,基展开的维度是 K K K.但是,在这种情况下,我们可能会错误地得出函数型数据分析退化为多元数据分析的结论。 其实很大程度上还取决于如何选择基础系统 ϕ \phi ϕ.
当 K = n K = n K=n时,在我们可以选择系数 c k c_k ck对每个 j j j产生 x ( t j ) = y j x(t_j)=y_j x(tj)=yj,在某种意义上实现精确表示或插值。 因此,与插值相比,数据 y j y_j yj被平滑的程度由基函数的数量 K K K确定。 因此,我们不会查看由固定数量 K K K个参数定义的基系统,而是我们将 K K K视为根据数据特征选择的参数。
理想情况下,基函数应具有与已知属于所估计函数的特征相匹配的特征。 这使得使用相对较小数量K的基函数更容易实现令人满意的近似。 K越小,基函数反映数据的某些特征越好,
因此,某些经典现成的基,如多项式和傅立叶级数,在某些应用中可能是不明智的; 因为没有普遍良好的基础。
基的选择对导数的估计是特别重要的:
D x ^ ( t ) = ∑ k K c k ^ D ϕ k ( t ) = c ^ ′ D ϕ ( t ) D\hat{x}(t)=\sum^K_k\hat{c_k}D\phi_k(t)=\hat{\textbf{c}}'D\phi(t) Dx^(t)=k∑Kck^Dϕk(t)=c^′Dϕ(t)
适用于函数的估计的基可能会给出相当差的导数估计。这是因为观测值的精确表示可能迫使 x x x产生小而高频的振荡,这对其导数的估计产生了严重的后果。更积极地说,选择基的标准之一可能是近似一个或多个导数看是否能合理地表现。
第21章涉及定制适合特定问题的基。 目前,我们讨论了一些在实践中广泛使用的流行基以及何时使用它们。 总结以下内容,这些天的大多数函数型数据分析涉及周期性数据的傅里叶基础或非周期性数据的B样条基础。 在不需要导数的情况下,小波基的应用越来越多。 表现差的陈旧的多项式基现在是系统世界的老年人,只应用于最简单的函数型问题。
也许最着名的基展开由傅里叶级数提供:
x ^ ( t ) = c 0 + c 1 s i n w t + c 2 c o s w t + c 3 s i n 2 w t + c 4 c o s 2 w t + . . . \hat{x}(t)=c_0+c_1sinwt+c_2coswt+c_3sin2wt+c_4cos2wt+... x^(t)=c0+c1sinwt+c2coswt+c3sin2wt+c4cos2wt+...
上式被下列基所定义。 ϕ 0 ( t ) = 1 , ϕ 2 r − 1 ( t ) = sin r w t , ϕ 2 r ( t ) = cos r w t \phi_0(t)=1,\phi_{2r-1}(t)=\sin rwt,\phi_{2r}(t)=\cos rwt ϕ0(t)=1,ϕ2r−1(t)=sinrwt,ϕ2r(t)=cosrwt.
这个基是周期的,参数 w w w决定了周期 2 π / w 2\pi/w 2π/w。
如果 t j t_j tj的值在 Γ \Gamma Γ上是等距的,并且周期等于区间 Γ \Gamma Γ的长度,那么这个基在某种意义上式正交的并且叉积矩阵 Φ ′ Φ \Phi'\Phi Φ′Φ是对角的,并且通过将基函数除以合适的常数,可以使其等于示性矩阵,当 j = 0 j=0 j=0时 n \sqrt n n,当 j j j为其他时为 n / 2 \sqrt {n/2} n/2。
当n是2的幂并且参数间隔相等时,快速傅立叶变换(FFT)使得能够非常有效地找到所有协同效应。在这种情况下,我们可以在 O ( n log n ) O(n \log n) O(nlogn)运算中找到 x ( t j ) x(t_j) x(tj)处的系数 c k c_k ck和所有 n n n个平滑值。这是使傅里叶级数成为长时间序列选择的传统基础的特征之一,但是诸如B样条和小波的新技术可以匹配甚至超过这种计算效率。
傅里叶基中的导数估计是简单的因为
D sin r w t = r w cos r w t D\sin {rwt}=rw\cos{rwt} Dsinrwt=rwcosrwt
D cos r w t = − r w sin r w t D\cos{rwt}=-rw\sin{rwt} Dcosrwt=−rwsinrwt
这意味着 D x Dx Dx的傅里叶展开有系数:
( 0 , c 1 , − w c 2 , 2 w c 3 , − 2 w c 4 , . . . ) (0,c_1,-wc_2,2wc_3,-2wc_4,...) (0,c1,−wc2,2wc3,−2wc4,...)
D 2 x D^2x D2x的傅里叶展开有系数
( 0 , − w 2 c 1 , − w 2 c 2 , − 4 w 2 c 3 , − 4 w 2 c 4 , . . . ) (0,-w^2c_1,-w^2c_2,-4w^2c_3,-4w^2c_4,...) (0,−w2c1,−w2c2,−4w2c3,−4w2c4,...)
类似地,我们可以通过将各个系数乘以 r ω rω rω的适当幂来找到高阶导数的傅里叶展开,其中符号变化以及正弦和余弦系数的交换是适当的。
傅立叶级数对于统计学家,工程师和应用数学家来说非常熟悉,值得强调其局限性。虽然它可能经常是无价的,但不应该不加批判地使用它或任何其他基。傅立叶级数对于非常稳定的函数特别有用,这意味着没有很强局的局部特征且曲率在各处往往具有相同顺序的函数。理想情况下,傅里叶级数的周期性应该在某种程度上反映在数据中,对于温度和步态数据来说肯定是这种情况。傅立叶级数通常产生均匀光滑的展开。但是,对于已知或怀疑可以反映函数本身或低阶导数中的不连续性的数据,它们在某种程度上是不合适的。傅立叶级数就像人造黄油:它很便宜,几乎可以把它传播到任何东西,但不要指望结果会令人兴奋。尽管如此,我们在本书中发现了许多用于傅里叶级数扩展的应用程序。
样条函数是非周期性函数型数据或参数的近似系统的最常见选择。 它们或多或少地取代了多项式,它们在任何情况下都包含在系统中。样条将多项式的快速计算与本质上更大的灵活性相结合,通常只需要适度数量的基函数即可实现。 此外,已经开发了用于样条函数的基系统,其需要与 n n n成比例的计算量,这是一个重要特性,因为许多应用涉及数千或数百万的观察。 在本节中,我们首先检查样条函数的结构,然后描述用于构造它的常用基系统,即B样条系统。
样条的解剖结构如图3.4所示,在左侧面板上在区间 [ 0 , 2 π ] [0,2\pi] [0,2π]上用三个样条函数来拟合正弦函数 sin ( t ) \sin(t) sin(t),在右侧面板上我们可以看到拟合它的导数 cos ( t ) \cos(t) cos(t)。
定义样条曲线的第一步是将函数近似的区间划分为由值 t l , l = 1 , 2 , . . . , L − 1 t_l,l=1,2,...,L-1 tl,l=1,2,...,L−1分隔的L个子区间, l l l被称为断点或结点。严格来说,前一个术语更为正确,原因很快就会显示出来。 我们在图中看到,三个断点将间隔分成四个子区间。如果我们将端点0和 2 π 2π 2π包括为断点,我们可以将它们编号为 t 0 , . . . , t L t_0,...,t_L t0,...,tL,其中 L = 4 L = 4 L=4。
在每个区间上,样条曲线是指定的 m m m阶(order)多项式。 多项式的阶数是定义它所需的常数的数量,比次数(degree)多1。 因此,图3.4左上角的样条是分段线性的,左中心样条是分段二次的,左下分段是立方体,分别对应于阶数2,3和4。 在右上方的面板中可以看到一个一阶样条,这是次数(degree)为零的阶梯函数。
相邻多项式在断点处平滑地连接,该断点将它们分割为大于1的阶数的样条,使得函数值被约束为在它们的连结处相等,此外, m − 2 m-2 m−2阶导数也必须在此匹配。例如,最常用的四阶立方样条,二阶导为折线,三阶导为阶梯函数。但是,请参阅本节中的一些段落,了解通过在连接点使用多个节点来减少这些平滑度约束的可能性。
我们在图3.4的左上图中看到,一个二阶样条曲线拟合正弦曲线,断点处仅仅是函数值的连结并不光滑。 因此,相邻线上(断点处连结两条线段)存在一个约束。 由于一条线上有两个自由度(直线有两个参数),整个区间有四个区间,因此有四条直线,因此自由度总数计算如下。 四个线段总共用2×4个系数来定义,但我们减去三个断点处中每个断点的连续性约束的一个参数(断电处要连续,因此要施加一个约束,释放了一个参数,3个断点,因此释放3个参数)。 所以,总共有5个参数。
相似地,在图3.4的左侧中间的图形,分段多项式是2次的,因此有3个参数,有四个分段多项式,因此总参数为 3 × 4 = 12 3\times4=12 3×4=12,但是,在此每个断点添加两个约束:即断点处连续性约束以及一阶导连续,因此要减去 2 × 3 = 6 2\times3=6 2×3=6个参数,得到总共的参数为6.对于左下的这个图,断点处施加3个约束,连续、一阶导和二阶导都连续,总参数为 4 × 4 = 16 4\times4=16 4×4=16减去 3 × 3 = 9 3\times 3=9 3×3=9个约束等于7,所以最终的参数个数为7。方法非常简单:
拟 合 的 总 体 的 参 数 的 个 数 = 多 项 式 的 阶 数 ( o r d e r ) + 内 断 点 个 数 ( i n t e r i o r ) 拟合的总体的参数的个数=多项式的阶数(order)+内断点个数(interior) 拟合的总体的参数的个数=多项式的阶数(order)+内断点个数(interior)
如果没有内部节点,则样条曲线将恢复为简单的多项式。
我们看到随着阶数的增加,正弦及其导数有了更好的近似,并且四阶样条的拟合是最好的。 事实上,如果我们要将阶数增加到五个或更多,二阶导数将会有一个更好的拟合。
在样条曲线中获得灵活性的主要方法是增加断点的数量。 在这里,我们使它们间隔相等(等距的),但一般来说,我们希望在函数表现出最复杂变化的区域上有更多的断点,而在函数只有轻微非线性的区域则需要较少的断点。 一个辅助考虑因素是我们当然不希望不包含数据的区间,但这似乎是合理的,因为我们不能期望在没有数据的情况下捕获函数的特征。
我们在上面提到过,断点与结点并不完全相同。 这是因为我们可以有两个或多个断点一起移动以合并或重合。 发生这种情况时,每个额外的重合断点都会失去连续性条件。 通过这种方式,我们可以在预先指定的断点处设计导数甚至函数值的突然变化。 感兴趣的读者可以参考de Boor(2001)了解更多细节。
因此,严格来说,术语断点(breakpoints)是指唯一结点的数量,而术语“结”是指断点处的值序列,其中一些断点可以与多个结点相关联。 在大多数应用中,结都是截然不同的,因此断点和节点是相同的。 但是我们将遇到数据输入/输出系统,其中输入以离散的逐步方式变化,并且这些将需要重合的结点来对这些水平的急剧变化建模。
回顾一下,样条函数由两个因素决定:分段多项式的阶数和结点序列 t t t。 在每一个断点处有一个节点这种常用的情况下,定义样条函数所需的参数数量是分段多项式的阶数+内部结点的数量,为 m + L − 1 m + L - 1 m+L−1。
我们现在已经定义了样条函数,但是没有给出如何实际构造样条函数的线索。 为此,我们指定一个基函数系统 ϕ k ( t ) \phi_k(t) ϕk(t),它们将具有以下重要的性质:
尽管有许多方法可以构建这样的系统,de Boor(2001)开发的B样条基系统是最受欢迎的,并且用于处理B样条的代码可用于各种编程语言,包括R ,S-PLUS和MATLAB。另外,de Boor(2001)和Schumaker(1981)讨论了其他样条基系统如截断幂函数,M样条和自然样条及其他函数。
图3.5显示了由九个等距内部断点定义的四阶样条的十三个B样条基函数,这些函数也在此图中显示。 请注意,中间的七个基函数中的每一个仅在四个相邻子区间上是正的。 因为三次样条具有两个连续导数,每个基函数可以平滑过渡为零的区域。 由于断点间距相等,这些中心基线样条具有相同的形状; 不等间距的断点可以定义不同形状的样条。 最左边的三个基函数和它们的三个右对应函数的形状不同,但是在不超过四个相邻子区间的情况下也是正的。
阶数 m 的 B m的 B m的B样条基函数在不超过m个间隔内是正的,并且这些是相邻的,被称为紧致支撑属性,并且对于高效计算而言是最重要的。 如果存在K个B样条基函数,则这些函数的内积的K阶矩阵将是带-结构(band-structured)的,包含非零值的主对角线上方和下方仅包含m-1个子对角线。 这意味着无论K有多大,我们将处理数千个值,可以组织样条函数的计算,以便仅与K线性增加。因此,样条共享潜在的正交基系统的计算优势如傅立叶和小波基。
左边的三个基函数和右边的三个基函数是不同的。 当我们从左边界向中心移动时,基函数的正区间从1增加到4,但总是使得相同的平滑两次 - 可变的过渡到零区域。 另一方面,它们向左边界的过渡在平滑度上变化,最左边的样条是不连续的,下一个是连续的,第三个是一次性的。 同样的事情发生在右侧,但顺序相反。 我们在边界处失去差异是很有意义的,因为我们通常没有关于我们估计的功能在我们收集数据的时间间隔之外的信息。 因此,我们考虑到功能可能超出边界的不连续性。
我们认为傅立叶级数对于大多数读者来说几乎不需要介绍。 大多数入门微积分文本都涵盖了该主题,许多统计分支都适用它。
样条函数完全是另一回事。 我们还没有找到适合初学者的许多方法,而且在被要求阅读的内容时经常被提出来。 这就是为什么我们提供本章所包含的相当冗长的介绍,冒着枯燥的样条专家的风险。 Hastie和Tibshirani(1990)对样条曲线的介绍已证明是有帮助的,而Green和Silverman(1994)对那些对数学和统计学有更多中间曝光的人是有用的。 即使经过修订,de Boor(2001)仍然是一本具有挑战性的书,但其样条的覆盖范围无与伦比。 专门用于平滑和非参数回归的文本,例如Eubank(1999)和Simono ff(1996)也是有用的参考文献。 Schumaker(1981)是一种重要但更先进的样条处理方法。 Wahba(1990)经常被引用,但如果你能理解那本书,你就不应该阅读这些早期的章节!
小波基是相对较新的,并且它们在许多函数型数据分析环境中具有相当大的前景。 进一步阅读,见Chui(1992),Daubechies(1992),Press等。 (1992),Nason和Silverman(1994),Donoho等。 (1995)和Johnstone和Silverman(1997),以及这些书籍和论文中包含的许多参考文献。1999年伦敦皇家学会哲学交易系列A的整个问题专门讨论小波应用和理论,以及Silverman(1999)和Silverman和Vassilicos(1999)以及Silverman(2000)的论文将被推荐给这个令人兴奋的领域的新人。
多项式基和幂基经常出现在其他标题之下。在所有微积分教材中出现的幂级数,以及Taylor和Maclaurin扩展,发现有用于估计多项式展开的专门方法。 在第21章的后面,我们将考虑推广这些重要工具的方法。
B样条基函数的这种边界行为是通过在边界处放置m个结点来实现的。 也就是说,当实际计算B样条时,结点序列 t t t在每一端延伸以增加边界结点重复m-1次。 正如我们之前提到的,在某些应用中,在区间内部的某些固定点处我们不希望m-2次连续导数。 这可以通过B样条容易地适应。 我们在这样的固定点处设置结点,然后为了每次降低可靠性,在该位置也放置一个额外的结点。 例如,如果正在处理四阶样条,并希望导数能够在某个 t t t值突然改变,但仍然希望连接函数是连续的,那么我们将在该值处设置三个结点。
符号 B k ( t , τ ) B_k(t,\tau) Bk(t,τ)通常用于表示由断点序列 τ \tau τ定义的B样条基函数的t处的值。 这里k指的是值t处或左边的最大结的数量。 在该方案中还计算了添加到初始断点的m-1个节点,这与第一个m个B样条基函数都支持所有从左边界开始的事实一致。 这种表示法给出了m + L - 1基函数,这是通常情况下所有内部结都是离散的。 根据这种表示法,具有离散内部节点的样条函数S(t)被定义为
但是,我们不能忘记其他一些可能重要的基系统。 事实上,近年来两个截然不同的发展对数据分析产生了很大影响。 在数学上非常复杂的一面,我们有小波,它将傅里叶级数的频率特定近似功率与样条的时间或空间定位特征相结合。 另一方面,我们已经看到了对极其简单的基础感兴趣的迷人的重新兴趣,例如阶梯函数(一阶样条)和多边形(二阶样条)(Hastie等,2001)。
我们可以通过选择合适的母小波函数 ψ \psi ψ来构造 ( − ∞ , ∞ ) (-\infty,\infty) (−∞,∞)上的所有函数的基,且这些函数是可积分的,然后考虑这种形式的所有扩张和平移
ψ j k ( t ) = 2 j / 2 ψ ( 2 j t − k ) \psi_{jk}(t)=2^{j/2}\psi(2^jt-k) ψjk(t)=2j/2ψ(2jt−k)
其中, j 和 k j和k j和k都是整数。我们构造母小波以确保基是正交的,在某种意义上,在任何两个不同基函数的乘积的积分为零。 通常,母小波具有紧凑的支撑,因此所有基函数也是如此。 小波基思想很容易适应处理有界区间定义的函数,如果施加周期性边界条件会更简单的。