我有两个(或更多)时间序列,我想彼此关联以寻找常见的变化,例如上升或下跌等。
问题是时间序列都相当嘈杂,标准偏差相对较高,这意味着很难看到共同的特征。信号以相当低的频率(每30秒一个点)采样,但覆盖合理的时间段2小时+。通常情况是两个标志的长度不同,例如1x1小时和1小时。 1x1.5小时。
有人能建议一些好的关联技术,理想情况下使用内置或定制的matlab例程吗?我尝试过自动相关只是为了比较单个信号中的滞后,但我得到的只是三角形,最大值为0滞后(我认为这意味着除了自身之外没有明显的相关性?)。互相关不是更好。
任何想法都会非常感激。
答案 0 :(得分:2)
以交叉协方差(xcov
)开头,而不是互相关。 xcov
删除每个数据集的DC分量(减去平均值),然后进行互相关。当您对两个方波进行交叉关联时,会得到一个三角波。如果您在较大的偏移上有小信号,则会得到一个三角波,其变化很小。
答案 1 :(得分:0)
如果您认为两个信号之间存在延迟,那么我将使用xcorr来计算延迟。由于xcorr正在对信号进行FFT,你应该在调用xcorr之前删除它,你可能还想考虑添加一个窗口(例如hanning)来减少泄漏,如果数据不是自窗口的话。
如果信号之间没有延迟,或者您已找到并消除了延迟,则可以平均两个(或更多)信号。随机噪声应趋向于平均为零,并且共同特征将接近真实值。