作为一种分析技术,acf/pacf/ccf被用于识别时间依赖信号中的周期性,因此自相关图或偏自相关图的图形显示会显示出不同滞后下信号的自相似性(例如,如果你看到y轴上的值在滞后12时达到峰值,并且你的日期是以月为单位的,那么这就是年度周期性的证据)。
如果你想计算和绘制“相似性”与滞后之间的关系,如果你不想自己编写代码,我不知道是否有原生的Numpy/Scipy选项;我也没有在“时间序列”scikit(Scipy“Scikits”中的一个库,这些是不包含在标准Scipy发行版中的领域特定模块)中找到一个,但值得再次检查。另一个选择是安装Python绑定到R(RPy2,在SourceForge上可用),这将允许您访问相关的R函数,包括“acf”,它将通过传入您的时间序列并调用该函数来计算和绘制自相关图。
另一方面,如果你想识别信号中给定类型的连续(未中断)流,则“run-length encoding”可能是你想要的:
import numpy as NP
signal = NP.array([3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,4,4,1,1,1,1,1,1,1])
px, = NP.where(NP.ediff1d(signal) != 0)
px = NP.r_[(0, px+1, [len(signal)])]
rx = [ (m, n, signal[m]) for (m, n) in zip(px[:-1], px[1:]) ]