滤波和平滑数据
关于数据平滑和过滤
您可以使用光滑的
平滑响应数据的函数。你可以使用可选的方法进行移动平均,Savitzky-Golay过滤器,和局部回归,有或没有权重和鲁棒性(洛斯
,黄土
,rlowess
而且rloess
).
移动平均滤波
移动平均过滤器通过用跨度内定义的相邻数据点的平均值替换每个数据点来平滑数据。这一过程等价于低通滤波,其平滑响应由差分方程给出
在哪里y<年代ub>年代年代ub>(我的平滑值我
数据点,N相邻数据点的数量是否在的两边y<年代ub>年代年代ub>(我), 2N+1是张成的空间。
曲线拟合工具箱™使用的移动平均平滑方法遵循以下规则:
张成的空间必须是奇数。
要平滑的数据点必须位于跨度的中心。
如果数据点不能容纳任意一侧指定数量的邻居,则调整跨度。
端点没有平滑,因为不能定义跨度。
注意,您可以使用过滤器
函数来实现诸如上面所示的差分方程。但是,由于端点的处理方式,工具箱移动平均结果将不同于返回的结果过滤器
。指差分方程与滤波为更多的信息。
例如,假设您使用跨度为5的移动平均过滤器平滑数据。使用上面描述的规则,前四个元素y
年代年代ub>是由
y<年代ub>年代年代ub>(1) = y(1) y<年代ub>年代年代ub>(2) = (y(1)+y(2)+y(3))/ 3y<年代ub>年代年代ub>(3) = (y(1)+y(2)+y(3)+y(4)+y(5))/ 5y<年代ub>年代年代ub>(4) = (y y (2) + (3) + (4) + y (5) + y (6)) / 5
请注意,y
年代年代ub>(1)
,y
年代年代ub>(2)
,……,y
年代年代ub>(结束)
指的是数据排序后的顺序,不一定是原始的顺序。
生成的数据集的前四个数据点的平滑值和跨度如下所示。
情节(一)
指示第一个数据点没有平滑,因为无法构造跨度。情节(b)
指示使用三个跨度平滑第二个数据点。情节(c)
而且(d)
指示使用跨度为5的值来计算平滑值。
Savitzky-Golay过滤
Savitzky-Golay滤波可以被认为是一个广义的移动平均。通过使用给定度数的多项式进行非加权线性最小二乘拟合,可以得到滤波器系数。因此,Savitzky-Golay滤波器也被称为数字平滑多项式滤波器或最小二乘平滑滤波器。注意,更高次的多项式可以在不衰减数据特征的情况下实现高水平的平滑。
Savitzky-Golay滤波方法常用于频率数据或光谱(峰值)数据。对于频率数据,该方法有效地保留了信号的高频成分。对于光谱数据,该方法可以有效地保留较高的峰值力矩,如线宽。相比之下,移动平均滤波器倾向于过滤掉信号的高频内容的很大一部分,它只能保留峰值的较低的时刻,如质心。然而,Savitzky-Golay滤波在拒绝噪声方面可能不如移动平均滤波成功。
曲线拟合工具箱软件使用的Savitzky-Golay平滑方法遵循以下规则:
张成的空间必须是奇数。
多项式次必须小于张成的空间。
数据点不需要有均匀的间距。
通常情况下,Savitzky-Golay滤波要求预测器数据的间距一致。但是,曲线拟合工具箱算法支持非均匀间距。因此,您不需要执行额外的筛选步骤来创建具有统一间距的数据。
下图显示了生成的高斯数据和使用Savitzky-Golay方法进行的几次平滑尝试。数据噪声很大,峰值宽度从宽到窄不等。张成的空间等于数据点数量的5%
情节(一)
显示有噪声的数据。为了更容易比较平滑的结果,绘图(b)
而且(c)
显示没有附加噪声的数据。
情节(b)
用二次多项式表示平滑的结果。注意,该方法对于窄峰的性能很差。情节(c)
给出了用四次多项式平滑的结果。一般来说,高次多项式可以更准确地捕捉窄峰的高度和宽度,但在平滑较宽的峰时效果很差。
当地回归平滑
洛斯和黄土
“lowless”和“黄土”的名称来源于术语“局部加权散点图平滑”,因为这两种方法都使用局部加权线性回归来平滑数据。
平滑过程被认为是局部的,因为与移动平均方法一样,每个平滑值由跨度内定义的相邻数据点决定。由于为跨度内包含的数据点定义了回归权重函数,所以对流程进行了加权。除了回归权重函数之外,您还可以使用一个健壮的权重函数,它使流程能够抵抗异常值。最后,根据回归模型对方法进行区分:黄土采用线性多项式,黄土采用二次多项式。
曲线拟合工具箱软件使用的局部回归平滑方法遵循以下规则:
张成的空间可以是偶数也可以是奇数。
可以将跨度指定为数据集中数据点总数的百分比。例如,0.1的跨度使用10%的数据点。
局部回归法
对于每个数据点,局部回归平滑过程遵循以下步骤:
如果平滑计算在平滑数据点的两边包含相同数量的相邻数据点,则权函数是对称的。然而,如果相邻点的数量对于平滑数据点不是对称的,那么权函数就是不对称的。注意,与移动平均平滑过程不同,跨度从不改变。例如,当对预测值最小的数据点进行平滑处理时,权重函数的形状被截断一半,在跨度中最左边的数据点具有最大的权值,并且所有相邻的点都位于平滑值的右侧。
对于跨度为31个数据点,端点和内部点的权函数如下所示。
使用跨度为5的lowess方法,生成的数据集的前四个数据点的平滑值和相关回归如下所示。
注意,随着平滑过程从一个数据点到另一个数据点,跨度并不会发生变化。然而,根据最近邻居的数量,回归权函数可能对要平滑的数据点不是对称的。特别是,情节(一)
而且(b)
使用非对称权函数,而绘图(c)
而且(d)
使用对称权函数。
对于黄土法,除了平滑值是由二次多项式产生外,图看起来是一样的。
强大的本地回归
如果数据包含异常值,则平滑值可能会被扭曲,不能反映邻近数据点的大块行为。为了克服这个问题,可以使用不受一小部分异常值影响的健壮过程平滑数据。有关异常值的描述,请参见残留分析。
曲线拟合工具箱软件提供了一个健壮的版本,为低和黄土平滑方法。这些鲁棒方法包括对鲁棒权值的额外计算,可抵抗异常值。鲁棒平滑过程遵循以下步骤:
从上一节描述的平滑过程中计算残差。
计算<年代pan class="emphasis">健壮的权重对于张成空间中的每个数据点。权重由平方函数给出,
在哪里r<年代ub>我年代ub>是残的吗我由回归平滑过程产生的数据点,和疯了为残差的中位数绝对偏差,
中位数绝对偏差是对残差分布情况的一种度量。如果r<年代ub>我年代ub>和6比起来小吗疯了,则鲁棒权值接近于1。如果r<年代ub>我年代ub>大于6疯了,稳健权值为0,将相关数据点排除在平滑计算之外。
再次使用鲁棒权值平滑数据。使用局部回归权值和鲁棒权值计算最终平滑值。
重复前面的两个步骤,共进行5次迭代。
对于包含单个离群值的生成数据集,下面比较lowless过程的平滑结果与鲁棒lowless过程的结果。这两个过程的跨度都是11个数据点。
情节(一)
表明离群值影响几个最近邻居的平滑值。情节(b)
表明离群值的残差大于6个中位数绝对偏差。因此,该数据点的鲁棒权值为零。情节(c)
表明在离群值附近的平滑值反映了数据的大部分。
例如:平滑数据
载入数据count.dat
:
负载count.dat
24-by-3数组数
包含一天中每个小时三个路口的交通计数。
首先,使用跨度为5小时的移动平均过滤器一次性平滑所有数据(通过线性索引):
c =光滑(count (:));C1 =重塑(c, 24岁,3);
绘制原始数据和平滑数据:
次要情节(1,1)情节(统计,“:”);抓住情节(C1,“-”);标题(“平滑C1(所有数据)”)
其次,使用相同的过滤器分别平滑每一列数据:
C2 = 0(24日3);for I = 1:3, C2(:,I) =平滑(count(:,I));结束
再次绘制原始数据和平滑数据:
次要情节(3,1,2)情节(统计,“:”);抓住情节(C2,“-”);标题(“平滑C2(每列)”)
绘制两个平滑数据集之间的差异:
副图(3,1,3)图(C2 - C1,'o-')标题('差C2 - C1')
注意三列平滑的附加末端效果。
例:利用黄土和鲁棒性黄土平滑数据
创建带有异常值的噪声数据:
x = 15 *兰德(150 1);Y = sin(x) + 0.5*(rand(size(x))-0.5);y(装天花板(长度(x) *兰特(2,1)))= 3;
平滑数据使用黄土
而且rloess
跨度为10%的方法:
yy1 =光滑(x, y, 0.1,“黄土”);yy2 =光滑(x, y, 0.1,“rloess”);
绘制原始数据和平滑数据。
[xx,印第安纳州]= (x)进行排序;次要情节(2,1,1)情节(xx, y(印第安纳州),b。,xx, yy1(印第安纳州),r -)组(gca、“YLim”,[-1.5 - 3.5])传说(“原始数据”,使用“黄土”平滑数据,…“位置”、“西北”)次要情节(2,1,2)情节(xx, y(印第安纳州),b。,xx, yy2(印第安纳州),r -)组(gca、“YLim”,[-1.5 - 3.5])传说(“原始数据”,“使用”rloess平滑数据”,…“位置”、“西北”)
注意,异常值对鲁棒方法的影响较小。