该实例说明了如何利用多尺度局部多项式变换(MLPT)对非均匀采样数据进行平滑和去噪。MLPT是一种提升方案(Jansen, 2013),它具有离散小波变换的许多特性,并能处理非均匀采样数据。
许多真实世界的时间序列的观察不是在有规律的间隔时间内记录的。这可能是由于数据的不均匀抽样或由于缺失或损坏的观察结果。离散小波变换(DWT)是数据去噪或执行非参数回归的强大工具,但经典的小波变换定义为均匀采样数据。尺度的概念是DWT的核心,它非常依赖于观测之间的定期间隔。
提升方案(第二代小波)(Jansen & Oonincx, 2005)提供了一种在时间(空间)域内设计小波和实现小波变换的方法。虽然经典的DWT也可以用提升方案来表示,但提升也足够灵活,可以处理非均匀采样数据。
负载并绘制一个噪声非均匀采样时间序列。
负载天际线情节(T、y)包含(“秒”网格)在
如果你画出抽样时间之差,你会发现数据是非均匀抽样的。
情节(diff (T))标题(“抽样时间的第一差分”)轴紧ylabel (' \δT ')包含(“样本”网格)在
在这个合成数据集中,您可以访问原始的无噪声信号。如果绘制数据,可以看到数据在0.07、0.26和0.79秒附近具有平滑变化特征和突变瞬态特征。
情节(T、f)包含(“秒”网格)在标题(“原(无噪声的)数据”)
在真实的应用程序中,数据的突然变化通常意味着重要事件。当你去噪这些数据时,重要的是不要平滑的瞬态。小波通常擅长于去噪这类数据,因为小波可以拉伸以匹配持续时间较长的平滑变化特征,而收缩以匹配瞬态。MLPT具有类似的特征,但它自然地处理非均匀采样数据。使用MLPT去噪数据。
xden = mlptdenoise (y, T, 3);hline = plot(T,[f xden]);网格在线(1)。线宽= 2;标题(“MLPT去噪”)
MLPT算法对数据去噪效果较好。平滑变化的特征被很好地表示,并保留了瞬态。在这个合成数据集中,您可以实际测量去噪版本的信噪比(SNR)。
信噪比= 20 * log10(规范(f, 2) /规范(xden-f 2));标题([“信噪比”num2str(信噪比,' % 2.2 f ')“数据库”])
信噪比接近20分贝。当然,您可以忽略数据是非均匀抽样的事实,而将样本视为均匀抽样。使用DWT去噪之前的数据集。
xd = wdenoise (y, 3,“小波”,“bior2.2”,“DenoisingMethod”,“确定”,“NoiseEstimate”,“LevelDependent”);信噪比= 20 * log10(规范(f, 2) /规范(xd-f 2));hline = plot(T,[f xd]);标题([“信噪比”num2str(信噪比,' % 2.2 f ')“数据库”])网格在线(1)。线宽= 2;
这里DWT在去噪数据方面做得很好,但MLPT优于DWT,后者明确地考虑了非均匀采样瞬间。
将小波和MLPT去噪结果与Savitzky-Golay方法进行比较,Savitzky-Golay方法实现了数据的局部多项式逼近。Savitzky-Golay的变体实现在smoothdata
处理均匀采样和非均匀采样数据。
xdsg = smoothdata (y,“sgolay”,“度”4“samplepoints”T);信噪比= 20 * log10(规范(f, 2) /规范(xdsg-f 2));drawtext (T,[f xdsg]);标题([“信噪比”num2str(信噪比,' % 2.2 f ')“数据库”])网格在线(1)。线宽= 2;
在这一数据上,经典DWT和MLPT的表现都优于Savitzky-Golay。
考虑另一个非均匀采样的合成数据集。
负载nonuniformheavisine情节(t, x)网格在
这个数据通常比前面的例子更平滑,但有两个在0.3和0.7秒的瞬态例外。这样的数据对Savitzky-Golay等方法提出了挑战,因为需要低阶多项式来拟合平滑振荡数据,而需要高阶多项式来近似跳跃。
利用MLPT对数据去噪,测量信噪比。返回原始MLPT系数和去噪系数。
[xden t, wthr电视台,某州警员w] = mlptdenoise (x, t, 3,“denoisingmethod”,“确定”);情节(t, [f xden])网格在信噪比= 20 * log10(规范(f, 2) /规范(xden-f 2));标题({“MLPT去噪”;[“信噪比”num2str(信噪比,' % 2.2 f ')“数据库”]})
绘制原始系数和去噪系数。
图次要情节(2,1,1)干细胞(w,“ShowBaseLine”,“关闭”,“标记”,“没有”)标题(“原始MLPT系数”次要情节(2,1,2)干细胞(wthr电视台,某州警员“ShowBaseLine”,“关闭”,“标记”,“没有”)标题(“去噪MLPT系数”)
将MLPT结果与Savitzky-Golay方法进行比较。
xdsg = smoothdata (x,“sgolay”,“度”4“samplepoints”t);图(t,[f xdsg])网格在信噪比= 20 * log10(规范(f, 2) /规范(xdsg-f 2));标题({“Savitzky-Golay去噪”;[“信噪比”num2str(信噪比,' % 2.2 f ')“数据库”]})
这里MLPT方法明显优于Savitzky-Golay方法。这一点在Savitzky-Golay方法无法捕捉0.3和0.7秒附近的瞬变时尤为明显。
在许多应用中,目标是在一个或多个预测变量变化时估计一些未知的响应函数。当响应函数的确切形状未知时,这是一个例子非参数回归.
在这些情况下,一个主要目标通常是获得一个平滑的估计,假设未知响应函数随预测器的变化而平稳变化。
作为非均匀采样数据的非参数回归的一个例子,考虑以下数据构成的碰撞条件下对摩托车头盔碰撞试验假人的重力测量。
负载motorcycledata情节(次,gmeasurements)网格在包含(“时间”) ylabel (“重力”)
如果你画出时间数据的差值,你会发现数据的采样是非均匀的。
情节(diff(次))标题(“第一次时差数据”网格)在
这些数据很杂乱,但似乎有一个清晰的总体趋势。具体来说,有一个最初的负重力体验,然后开始转变为积极的时间。积极的反弹继续超过0,然后恢复到基线。您可以使用mlptrecon
以获得该数据的非参数回归。
[w t,新泽西,scalingmoments] = mlpt (gmeasurements、时间“dualmoments”4...“primalmoments”4预滤器的,“没有”);a4 = mlptrecon (“一个”w t nj scalingmoments 4,“dualmoments”4);Hline = plot(times,[gmeasurements a4]);网格在线(2)。线宽= 2;传奇(“原始数据”,“顺利适应”)包含(“时间”) ylabel (“重力”)标题(重力测量的)
级别4的MLPT近似提供了对数据的良好平滑拟合,允许您在没有噪声影响的情况下捕捉响应的本质。
这个例子证明了多尺度局部多项式变换(MLPT),一种适应非均匀采样数据的提升方案。MLPT对于缺失或非均匀采样数据的去噪或非参数回归是有用的。最低限度地,它是一个有用的基准,与小波去噪技术设计的工作在均匀采样数据。在其他情况下,由于明确地考虑了非均匀采样网格,该方法优于传统的小波去噪方法。
詹森,M。“非等步距数据的提升金字塔的多尺度局部多项式平滑”。IEEE信号处理汇刊。第61卷第3期,2013年,545-555页。
M. Jansen和Patrick Oonincx。第二代小波及其应用。伦敦:施普林格,2005年。