函数构建基础系统与功能数据对象创建指南
1. 基础系统构建
在构建函数时,基础系统起着关键作用。基础函数的系数与样条函数在峰值附近的值近似相等,在边界处更是完全相等。不过,样条基础函数在定义区间的开头或结尾附近对数据的拟合往往不稳定。这是因为在这些区域缺乏足够的数据来定义它们,边界处的样条函数值完全由单个系数决定。这种边界不稳定性在导数估计中尤为严重,导数阶数越高,边界处的行为越不稳定。而傅里叶级数则没有这个问题,因为它具有周期性,右侧的数据可以有效地“环绕”以帮助估计左侧的曲线,反之亦然。
1.1 样条基础系统
以拟合生长数据为例,若需要平滑的二阶导数,可使用六阶样条。假设数据中有 31 个从 1 到 18 岁的身高测量年龄,且希望在每个采样点设置一个节点。根据相关关系,基础函数的数量为 29 + 6 = 35。在 Matlab 中设置生长基础的命令如下:
heightbasis = create_bspline_basis([1,18], 35,6,age);
与傅里叶基础一样,我们可以通过使用 dropind 参数删除基础函数,或使用下标选择所需的基础函数,来选择 B - 样条基础函数的子集以定义基础。
在 R 中, create.bspline.basis 的完整调用序列如下:
create.bspline.basis(rangeval=NULL, nbasis=NULL,
norder=4, bre
超级会员免费看
订阅专栏 解锁全文
13万+

被折叠的 条评论
为什么被折叠?



