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

标签 python matlab time-series correlation

我有几个时间序列,即我在 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. 为两个信号选择一组公共(public)时间点 t 。您可以选择t1t2 ,或使用 np.linspace 计算所考虑时间范围内的线性空间。无论如何,我会确保 t 的最小值和最大值都在 t1 的范围内和t2以避免推断。
  2. 计算两个信号的插值,s1interps2interp 。这可以通过 np.interp 来完成,计算线性插值。如果需要更复杂的插值方法,可以看看SciPy的 interp1d .
  3. 计算 s1interp 之间的相关性和s2interp 。这是通过 np.corrcoef 完成的.

关于python - 计算不同时间序列的相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46327022/

相关文章:

python - 在嵌入式计算机上仅运行一个带有 GUI 的 Python 应用程序 : is a X server and a window manager really required?

matlab - 为什么 Matlab octave origin awk 中的频率计数对于相同的数据集会得到完全不同的结果?

algorithm - 取景器对齐

python - Ctypes CopyFileA 不起作用

python - 如何计算 KEYDOWN 的耗时。 (Python)

来自多个文件的 Python txt 矩阵

Matlab:格式化轮廓标签中的小数

machine-learning - 时间序列预测(DeepAR): Prediction results seem to have basic flaw

r - 在 R 中使用 tslm 预测时间序列

python - 通过从每一行的不同列中选择一个元素,从 Pandas DataFrame 创建一个系列