gpt4 book ai didi

python - 检测时间序列中的给定模式

转载 作者:太空宇宙 更新时间:2023-11-04 00:31:33 25 4
gpt4 key购买 nike

我如何检测 python 时间序列中的这种类型的变化? click here to see image

谢谢你的帮助

最佳答案

有很多方法可以做到这一点。我将展示一种最快和最简单的方法。它基于使用相关性

首先我们需要一个数据(时间序列)和模板(在我们的例子中,模板就像一个符号函数):

data = np.concatenate([np.random.rand(70),np.random.rand(30)+2])
template = np.concatenate([[-1]*5,[1]*5])

在检测之前,我强烈建议对数据进行规范化(例如像这样):

data = (data - data.mean())/data.std()

现在我们只需要使用相关函数:

corr_res = np.correlate(data, template,mode='same')

您需要选择结果的阈值(您应该根据模板定义该值):

th = 9

可以看到结果:

plt.figure(figsize=(10,5))
plt.subplot(211)
plt.plot(data)
plt.subplot(212)
plt.plot(corr_res)
plt.plot(np.arange(len(corr_res))[corr_res > th],corr_res[corr_res > th],'ro')
plt.show()

result

关于python - 检测时间序列中的给定模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45658082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com