我可以使用自回归建模来进行信号去噪吗?
Can I use AutoRegression modelling for signal denoising?
如下,我的任务是使用 AR 建模来去除噪声信号中的伪影。假设我在原始数据中有 ECG 或 EMG。在 IEEE 上,我发现这可以通过小波变换、巴特沃斯滤波器或经验模式分解来实现。
https://www.kaggle.com/residentmario/denoising-algorithms#Machine-learning-models
原始肌电图:
我应该使用自回归模型做什么?据我了解,它现在用于预测数据。
As I understand it right now it is used to forecast the data.
是的,这是 AR(p)
模型的常见情况;但是为了进行预测,应该估计它的参数,并根据您提供给它的观察结果来完成。因此,您可以拥有所谓的“拟合值”并将它们用作手头信号的“去噪”版本。这是因为AR(p)
是这样的:
y_t = \phi_1 * y_{t-1} + \phi_2 * y_{t-2} + ... + \phi_p * y_{t-p} + e_t
其中 \phi_j
是要估计的 AR 参数,e_t
被假定为具有某些方差的白噪声。您可以将此 e_t
视为基础信号之上的噪声,因此拟合值在某种程度上是去噪版本。
在软件实施之前,我们应该注意 AR(p)
正在对广义平稳序列建模,因此如果存在非平稳行为(例如趋势/季节性),则应首先明确删除它(例如差异)或隐式删除(例如 ARI(p, d)
建模)。
这是一个故意制造噪音的信号:
这里是一个 AR(2)
模型的拟合值:
这是我从“AR模型去噪”中了解到的;假定模型中的 e_t
分量表示噪声,因此拟合值给出“去噪”版本。
至于编码部分:有很多方法可以用 Python 库拟合 AR(p)
模型,但可能最方便的方法是通过 statsmodels.tsa.ar_model.AutoReg
:
from statsmodels.tsa.ar_model import AutoReg
model = AutoReg(your_data, lags=p)
result = model.fit()
fitted_values = result.fittedvalues
确定 AR(p)
的顺序完全是另一个问题,但一个快速的方法是查看数据的 PACF 图,看看它在哪个延迟后消失,例如
这表示 AR(2)
模型。
如下,我的任务是使用 AR 建模来去除噪声信号中的伪影。假设我在原始数据中有 ECG 或 EMG。在 IEEE 上,我发现这可以通过小波变换、巴特沃斯滤波器或经验模式分解来实现。
https://www.kaggle.com/residentmario/denoising-algorithms#Machine-learning-models
原始肌电图:
我应该使用自回归模型做什么?据我了解,它现在用于预测数据。
As I understand it right now it is used to forecast the data.
是的,这是 AR(p)
模型的常见情况;但是为了进行预测,应该估计它的参数,并根据您提供给它的观察结果来完成。因此,您可以拥有所谓的“拟合值”并将它们用作手头信号的“去噪”版本。这是因为AR(p)
是这样的:
y_t = \phi_1 * y_{t-1} + \phi_2 * y_{t-2} + ... + \phi_p * y_{t-p} + e_t
其中 \phi_j
是要估计的 AR 参数,e_t
被假定为具有某些方差的白噪声。您可以将此 e_t
视为基础信号之上的噪声,因此拟合值在某种程度上是去噪版本。
在软件实施之前,我们应该注意 AR(p)
正在对广义平稳序列建模,因此如果存在非平稳行为(例如趋势/季节性),则应首先明确删除它(例如差异)或隐式删除(例如 ARI(p, d)
建模)。
这是一个故意制造噪音的信号:
这里是一个 AR(2)
模型的拟合值:
这是我从“AR模型去噪”中了解到的;假定模型中的 e_t
分量表示噪声,因此拟合值给出“去噪”版本。
至于编码部分:有很多方法可以用 Python 库拟合 AR(p)
模型,但可能最方便的方法是通过 statsmodels.tsa.ar_model.AutoReg
:
from statsmodels.tsa.ar_model import AutoReg
model = AutoReg(your_data, lags=p)
result = model.fit()
fitted_values = result.fittedvalues
确定 AR(p)
的顺序完全是另一个问题,但一个快速的方法是查看数据的 PACF 图,看看它在哪个延迟后消失,例如
这表示 AR(2)
模型。