【发布时间】:2015-08-09 22:02:27
【问题描述】:
所以我读到可以将 AR 模型拟合到 EEG 数据,然后使用 AR 系数作为数据聚类或分类的特征:例如Mohammadi 等人,使用 AR 模型对 EEG 信号进行人员识别,2006 年。
作为质量控制步骤和解释的帮助,我想直观地查看拟合模型生成/模拟的时间序列类型。如果我正在做 K 均值或其他分类,这也可以让我展示原型模型。
但是,我似乎只能产生噪音!
任何朝着我想要的方向迈出的步伐都会受到欢迎。
section1 = data[88000:91800]
section2 = data[0:8000]
section3 = data[143500:166000]
section1 -= np.mean(section1)
section2 -= np.mean(section2)
section3 -= np.mean(section3)
绘制时:
maxOrder = 20
model_one = AR(section1).fit(maxOrder, ic = 'aic', trend = 'nc')
model_two = AR(section2).fit(maxOrder, ic = 'aic', trend = 'nc')
model_three = AR(section3).fit(maxOrder, ic = 'aic', trend = 'nc')
fake1 = arma_generate_sample(model_one.params,[1],1000, sigma = 1)
fake2 = arma_generate_sample(model_two.params,[1],1000,sigma = 1)
fake3 = arma_generate_sample(model_three.params,[1],1000,sigma = 1)
ax1.plot(fake1)
ax2.plot(fake2)
ax3.plot(fake3)
【问题讨论】:
-
主要问题是绘图看起来不像具有对称高斯噪声的 AR。中间地块和最后一个地块负冲击较大。在金融领域,有些类似的模式被建模为不对称的重尾冲击分布。此外,对于这种高频数据,20 滞后可能太短了。
-
感谢您的评论。是的,这是有道理的,具有对称噪声的 AR 不应该很好地模拟两条底部迹线 - 我有点困惑,如果它们确实是,那么如何用 AR 对诸如这些的 EEG 信号进行建模。如果我使用更高的滞后数,模型会随着预测时间的增加而开始振荡。您是否知道任何解释不对称重尾冲击分布或如何拟合/编码它们的好(简单)资源?
标签: python time-series statsmodels autoregressive-models