python - 计算互相关函数?

标签 python r statistics numpy scipy

R 中,我使用 ccfacf 来计算成对互相关函数,以便找出哪个shift 给了我最大值。从外观上看,R 给了我一个标准化的值序列。 Python 的 scipy 中是否有类似的东西,或者我应该使用 fft 模块吗?目前,我的做法如下:

xcorr = lambda x,y : irfft(rfft(x)*rfft(y[::-1]))
x = numpy.array([0,0,1,1])
y = numpy.array([1,1,0,0])
print xcorr(x,y)

最佳答案

要交叉关联一维数组,请使用 numpy.correlate .

对于二维数组,使用 scipy.signal.correlate2d .

还有scipy.stsci.convolve.correlate2d .

还有matplotlib.pyplot.xcorr它基于 numpy.correlate。

this post on the SciPy mailing list获取不同实现的一些链接。

编辑:@user333700 添加了指向 SciPy ticket for this issue 的链接在评论中。

关于python - 计算互相关函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6991471/

相关文章:

python - 使用 matplotlib 在 sccatterplot 中创建置信椭圆

R - 将 For 循环中的值保存在向量或列表中

r - 将 Z 值矩阵转换为 R 中的颜色

neural-network - 如何从深度 CNN 输出创建不确定性彩色 map 图像?

python - NumPy 数组中沿给定轴的一阶差分

python - setuptools依赖和导入问题

python - 按组条件选择记录

r - 在 do.call 调用的函数中查找局部变量

PHP 驱动的详尽统计数据 - 服务器端文本文件或 MySQL 表?

java - 有没有办法使用 postgresql 执行学生 t 检验