【问题标题】:How to measure "homogeneity" of time series?如何衡量时间序列的“同质性”?
【发布时间】:2020-05-08 03:16:53
【问题描述】:

我有两个时间序列,请看这张图片:

我需要测量系列的“同质性”水平。所以第一个看起来很碎片化,所以它应该有接近于零的低值,而第二个应该有一个高值。

我可以使用的算法有什么想法吗?

【问题讨论】:

  • 您是否尝试过交叉关联这两个系列?
  • 我不想比较这两个。我只是想单独衡量同质性。

标签: algorithm math time-series signal-processing


【解决方案1】:

了解更多关于系列之间的潜在差异或您关心的内容可能会有所帮助,但这里是……

如果需要,我会减去常数,使两个系列均值为零,然后将它们平方以获得类似功率的东西,并对其进行足够的过滤,以消除在较低滤波器的情况下似乎是噪声的情况。然后计算并比较两个滤波幂的方差,对于较低的时间序列,我现在希望它是一条相当恒定的线,有一些下降,而对于较高的序列,大约一半的时间接近零,大约一半远离它的时间。

可能的过滤器包括一个简单的移动平均线,无论您的时间序列工具包提供什么,以及在https://en.wikipedia.org/wiki/Savitzky%E2%80%93Golay_filter 中描述的那些

【讨论】:

    【解决方案2】:

    我不确定同质性是什么意思,但时间序列的平稳性有一个公认的概念。基本上,如果时间序列的滚动均值和标准差随时间保持不变,则时间序列是平稳的。您的两个时间序列似乎都具有大致恒定的均值,但最上面的一个具有随时间剧烈变化的标准差;有时它几乎为零,而在其他时候,它非常大。也许您可以采用滚动标准偏差的标准偏差,顶部系列的标准偏差将远高于底部系列。如果您可以将它们作为顶部和底部加载到熊猫中,它可能看起来像

    top_nonstationarity = np.std(top.rolling(window_size).std())
    bottom_nonstationarity = np.std(bottom.rolling(window_size).std())
    

    【讨论】:

      猜你喜欢
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-20
      • 2010-09-20
      • 2021-12-12
      • 2014-11-12
      相关资源
      最近更新 更多