python 自相关函数_快速方法减少python中自相关函数的噪声?

我可以使用numpy的内置功能来计算自相关:

numpy.correlate(x,x,mode =’same’)

但是,由此产生的相关性自然是嘈杂的.我可以对数据进行分区,并在每个结果窗口上计算相关性,然后将它们平均在一起以计算出更清晰的自相关,类似于signal.welch所做的. numpy或scipy中是否有一个方便的函数可以做到这一点,这可能比我自己计算分区并遍历数据的速度快吗?

更新

这是由@kazemakase答案激发的.我试图用一些用于生成下图的代码来说明我的意思.

可以看到@kazemakase是正确的,因为AC函数自然会平均噪声.但是,平均AC的优点是速度更快! np.correlate似乎缩放为慢O(n ^ 2)而不是我期望的O(nlogn),如果相关性是通过FFT使用循环卷积来计算的…

5kI6r.png

from statsmodels.tsa.arima_model import ARIMA

import statsmodels as sm

import matplotlib.pyplot as plt

import numpy as np

np.random.seed(12345)

arparams = np.array([.75, -.25, 0.2, -0.15])

maparams = np.array([.65, .35])

ar = np.r_[1, -arparams] # add zero-lag and negate

ma = np.r_[1, maparams] # add zero-lag

x = sm.tsa.arima_

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值