Skip to main content
 首页 » 编程设计

python之计算不同时间序列的相关性

2025年05月04日22zhujiabin

我有几个时间序列,即我在 15 分钟内测量了几个信号。每个信号每秒被采样几次,但不同信号的时间戳不相等。假设我们从时间 0 开始。例如,信号一具有以下(时间戳,值):

0.1s: 954 
0.2s: 1000 
0.24s: 1090 
0.3s: 855 
0.45s: 600 
...  

信号二具有以下(时间戳,值):

0.05s: 900 
0.13s: 960 
0.2s: 1000 
0.29s: 850  
0.33s 800 
... 

我现在如何计算这些时间序列值的相关性,例如 python 还是Matlab?如果这些值始终处于相同的时间戳,我可以只计算各个值之间的相关性,但不幸的是,这些值不处于相同的时间戳。

请您参考如下方法:

假设您有一个信号,其值在一个数组中 s1在时间点t1 , 和一个信号 s2在时间点评估 t2 .用NumPy在 Python 中:

  1. 为两个信号选择一组共同的时间点 t .您可以选择t1或 t2 ,或者使用 np.linspace 在考虑的时间范围内计算线性空间.无论如何,我会确保 t 的最小值和最大值都在 t1 的范围内和 t2以避免外推。
  2. 计算两个信号的插值,s1interp和 s2interp .这可以通过 np.interp 来完成,计算线性插值。如果你需要更复杂的插值方法,你可以看看 SciPy 的 interp1d .
  3. 计算s1interp之间的相关性和 s2interp .这是用 np.corrcoef 完成的.