滑动窗口统计
本章描述计算滑动窗口统计(也称为滚动统计和运行统计)的例程,使用一个窗口围绕一个用于计算输入数据流的各种本地统计属性的样本。然后窗口向前滑动一个样本来处理下一个数据点,以此类推。
本章描述的函数在头文件gsl_movstat.h中声明。
23.1 介绍
本章涉及从给定数据集的子集计算各种统计数据。其主要思想是通过定义一个window来计算给定数据样本附近的统计数据,该窗口包括样本本身以及在所讨论的样本之前和之后的特定数量的样本。对于示例xi,我们定义窗口WiH,J为
参数H和J是非负整数,表示包含在样本xi之前和之后的样本数量。可以计算窗口WiH,J的均值和标准差等统计量,然后窗口向前移动一个样本,聚焦于xi+1。窗口中的总样本数为K = H + J + 1。为了定义一个以xi为中心的对称窗口,我们可以设。
23.2 处理端点
当处理接近输入信号末端的样本时,可能没有足够的样本填充上面定义的窗口WiH,J。因此用户一定要指定如何构造接近末端时的窗体。通过传入输入参数gsl_movstat_end_t完成该操作。
gsl_movstat_end_t
本数据类型指定如何在末端附近构造窗口,可以从以下选项中进行选择:
GSL_MOVSTAT_END_PADZERO
使用该选项,通过在信号端点附近的窗口中插入零来构造一个长度为K的全窗口。有效地将输入信号修改成如下格式,
确保所有xi都有一个定义良好的窗口。
GSL_MOVSTAT_END_PADVALUE
使用该选项,将通过填充输入信号中的第一个和最后一个样本构建一个长度为K的全窗口。有效地将输入信号修改为
GSL_MOVSTAT_END_TRUNCATE
使用本选项,不执行填充,窗口只是在接近端点时被截断。