主要内容

平滑非均匀采样数据

这个例子展示了如何使用多尺度局部多项式变换(MLPT)平滑和去噪非均匀采样数据。MLPT是一种提升方案(Jansen, 2013),它具有离散小波变换的许多特征,并适用于非均匀采样数据。

许多真实世界的时间序列都有观测值,这些观测值并不是按规律间隔记录的。这可能是由于数据采样不均匀或观测缺失或损坏造成的。离散小波变换(DWT)是一种强大的数据去噪或非参数回归工具,但经典的小波变换是针对均匀采样数据定义的。尺度的概念是小波变换的核心,关键在于观测之间有规律的间隔。

提升方案(第二代小波)(Jansen & Oonincx, 2005)提供了一种完全在时间(空间)域中设计小波和实现小波变换的方法。虽然经典的DWT也可以用提升方案来表示,但提升也足够灵活,可以处理不均匀采样数据。

去噪数据

加载并绘制一个有噪声的非均匀采样时间序列。

负载天际线情节(T、y)包含(“秒”网格)

图中包含一个轴对象。axis对象包含一个line类型的对象。

如果将采样时间的差异画出来,就会发现数据是不均匀采样的。

情节(diff (T))标题(“采样次数的第一差值”)轴ylabel (' \δT ')包含(“样本”网格)

图中包含一个轴对象。标题为First Difference of Sampling Times的axes对象包含一个类型为line的对象。

在这个合成数据集中,您可以访问原始的无噪声信号。如果将该数据绘制成图,可以看到该数据具有平滑变化的特征以及0.07秒、0.26秒和0.79秒附近的突变瞬态特征。

情节(T、f)包含(“秒”网格)标题(“原始(无噪声)数据”

图中包含一个轴对象。标题为Original (Noise-Free) Data的axes对象包含一个类型为line的对象。

在实际应用程序中,数据中的突然变化通常表示重要事件。当你去噪这样的数据时,重要的是不要平滑瞬态。小波通常擅长于去噪这样的数据,因为小波拉伸以匹配更长的持续时间平滑变化的特征,收缩以匹配瞬态。MLPT具有类似的特征,但它自然地处理不均匀采样的数据。使用MLPT去噪数据。

xden = mlptdenoise(y,T,3);hline = plot(T,[f xden]);网格线(1)。LineWidth = 2;标题(“MLPT去噪”

图中包含一个轴对象。标题为MLPT降噪的axis对象包含2个类型为line的对象。

MLPT在去噪数据方面做得很好。平滑变化的特征被很好地表示,瞬态被保留。在这个合成数据集中,您可以实际测量去噪版本的信噪比(SNR)。

信噪比= 20*log10(范数(f,2)/范数(xden-f,2));标题([“信噪比”num2str(信噪比,' % 2.2 f '“数据库”])

图中包含一个轴对象。标题SNR为19.67dB的axes对象包含2个类型为line的对象。

信噪比接近20 dB。当然,您可以忽略数据是不均匀采样的事实,并将样本视为均匀采样。使用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)。LineWidth = 2;

图中包含一个轴对象。标题SNR为18.77dB的axes对象包含2个类型为line的对象。

在这里,DWT在去噪数据方面做得很好,但它被MLPT所超越,MLPT明确地考虑了不均匀采样瞬间。

比较小波和MLPT去噪结果与Savitzky-Golay方法,该方法实现了数据的局部多项式近似。实现的Savitzky-Golay的变体smoothdata处理均匀和不均匀采样的数据。

XDSG = smoothdata(y,“sgolay”“度”4“samplepoints”T);信噪比= 20*log10(范数(f,2)/范数(xdsg-f,2));hline = plot(T,[f xdsg]);标题([“信噪比”num2str(信噪比,' % 2.2 f '“数据库”])网格线(1)。LineWidth = 2;

图中包含一个轴对象。标题信噪比为17.08 dB的axes对象包含2个类型为line的对象。

经典DWT和MLPT在此数据上都优于Savitzky-Golay。

考虑另一个不均匀采样的合成数据集。

负载nonuniformheavisine情节(t, x)网格

图中包含一个轴对象。axis对象包含一个line类型的对象。

该数据通常比前面的示例更平滑,但在0.3秒和0.7秒时有两个瞬变。这样的数据对Savitzky-Golay等方法提出了挑战,因为需要低阶多项式来拟合平滑振荡的数据,而需要高阶多项式来近似跳跃。

使用MLPT对数据进行去噪,并测量信噪比。返回原始MLPT系数和去噪系数。

[xden,t,wthr,w] = mlptdenoise(x,t,3,“denoisingmethod”“确定”);Plot (t,[f xden])网格信噪比= 20*log10(范数(f,2)/范数(xden-f,2));标题({“MLPT去噪”;[“信噪比”num2str(信噪比,' % 2.2 f '“数据库”]})

图中包含一个轴对象。标题为MLPT去噪信噪比28.56 dB的axes对象包含2个类型为line的对象。

绘制原始和去噪系数。

图(2,1,1)子图“ShowBaseLine”“关闭”“标记”“没有”)标题(“原始MLPT系数”) subplot(2,1,2) stem(wthr,“ShowBaseLine”“关闭”“标记”“没有”)标题(“去噪MLPT系数”

图中包含2个轴对象。标题为Original MLPT Coefficients的Axes对象1包含一个stem类型的对象。标题为降噪MLPT系数的Axes对象2包含一个stem类型的对象。

将MLPT结果与Savitzky-Golay方法进行比较。

XDSG = smoothdata(x,“sgolay”“度”4“samplepoints”t);图plot(t,[f xdsg])网格信噪比= 20*log10(范数(f,2)/范数(xdsg-f,2));标题({“Savitzky-Golay去噪”;[“信噪比”num2str(信噪比,' % 2.2 f '“数据库”]})

图中包含一个轴对象。标题为Savitzky-Golay去噪信噪比23.75 dB的axes对象包含2个类型为line的对象。

在这里,MLPT方法显著优于Savitzky-Golay方法。这在Savitzky-Golay方法无法捕捉0.3秒和0.7秒附近的瞬态时尤为明显。

非参数回归

在许多应用中,目标是在一个或多个预测变量变化时估计一些未知的响应函数。当响应函数的确切形状是未知的,这是一个例子非参数回归

在这些情况下的主要目标通常是获得一个平滑的估计,假设未知响应函数随着预测器的变化而平滑地变化。

作为使用非均匀采样数据的非参数回归的一个例子,考虑以下数据,这些数据是在碰撞条件下对一个碰撞试验假人的摩托车头盔进行的g力测量。

负载motorcycledata情节(次,gmeasurements)网格包含(“时间”) ylabel (“重力”

图中包含一个轴对象。axis对象包含一个line类型的对象。

如果绘制时间数据的差值图,就会看到数据的采样不均匀。

情节(diff(次))标题(“时间数据的第一次差异”网格)

图中包含一个轴对象。标题为First Difference of Time Data的axes对象包含一个类型为line的对象。

这些数据很复杂,但数据中似乎有一个明显的总体趋势。具体来说,最初的重力是负的,然后随着时间的推移开始变成正的。正反弹持续超过0,然后恢复到基线。你可以使用mlptrecon对该数据进行非参数回归。

[w,t,nj,缩放力矩]= mlpt(gmeasurements,times,“dualmoments”4...“primalmoments”4预滤器的“没有”);A4 = mlptrecon(“一个”w t nj scalingmoments 4,“dualmoments”4);Hline = plot(times,[gmeasurements a4]);网格线(2)。LineWidth = 2;传奇(“原始数据”“顺利适应”)包含(“时间”) ylabel (“重力”)标题(重力测量的

图中包含一个轴对象。标题为G-Force Measurements的axis对象包含2个类型为line的对象。这些对象代表原始数据、平滑拟合。

第4级的MLPT近似为数据提供了一个很好的平滑拟合,允许您在没有噪声影响的情况下捕捉响应的本质。

总结

本例演示了多尺度局部多项式变换(MLPT),这是一种适用于非均匀采样数据的提升格式。MLPT在缺失或不均匀采样数据的情况下用于去噪或非参数回归。最起码,它是一个有用的基准,用于与设计用于均匀采样数据的小波去噪技术比较。在其他情况下,它优于传统的小波去噪通过明确考虑非均匀采样网格。

参考文献

詹森,M。非等距数据的提升金字塔的多尺度局部多项式平滑。IEEE信号处理汇刊。Vol. 61, no . 3, 2013, pp. 545-555。

詹森,M,和帕特里克·欧宁克斯。第二代小波及其应用伦敦:施普林格,2005。