我有几个时间序列,即我在 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中:
- 为两个信号选择一组公共(public)时间点
t
。您可以选择t1
或t2
,或使用np.linspace
计算所考虑时间范围内的线性空间。无论如何,我会确保t
的最小值和最大值都在t1
的范围内和t2
以避免推断。 - 计算两个信号的插值,
s1interp
和s2interp
。这可以通过np.interp
来完成,计算线性插值。如果需要更复杂的插值方法,可以看看SciPy的interp1d
. - 计算
s1interp
之间的相关性和s2interp
。这是通过np.corrcoef
完成的.
关于python - 计算不同时间序列的相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46327022/