Autoformer中自相关的计算是如何执行的

自相关的计算

自相关函数(Auto-Correlation Function, ACF)是用于度量时间序列自身在不同滞后时间上的相关性的方法。下面详细解释自相关的计算步骤和原理:

自相关的定义

对于一个时间序列 X = { X 1 , X 2 , … , X T } X = \{X_1, X_2, \ldots, X_T\} X={X1,X2,,XT},其自相关函数 ACF ( k ) \text{ACF}(k) ACF(k)表示序列在滞后时间 k k k时的自相关性。自相关函数可以表示为:

ACF ( k ) = ∑ t = 1 T − k ( X t − X ˉ ) ( X t + k − X ˉ ) ∑ t = 1 T ( X t − X ˉ ) 2 \text{ACF}(k) = \frac{\sum_{t=1}^{T-k} (X_t - \bar{X})(X_{t+k} - \bar{X})}{\sum_{t=1}^{T} (X_t - \bar{X})^2} ACF(k)=t=1T(XtXˉ)2t=1Tk(XtXˉ)(Xt+kXˉ)

其中:
- k k k是滞后时间。
- X t X_t Xt是时间步 t t t的数据点。
- X ˉ \bar{X} Xˉ是时间序列 X X X的均值。
- T T T是时间序列的长度。

计算步骤
  1. 计算时间序列的均值
    首先计算时间序列的均值 X ˉ \bar{X} Xˉ
    X ˉ = 1 T ∑ t = 1 T X t \bar{X} = \frac{1}{T} \sum_{t=1}^{T} X_t Xˉ=T1t=1TXt

  2. 计算自相关函数
    对于每个滞后时间 k k k,计算自相关函数 ACF ( k ) \text{ACF}(k) ACF(k)
    ACF ( k ) = ∑ t = 1 T − k ( X t − X ˉ ) ( X t + k − X ˉ ) ∑ t = 1 T ( X t − X ˉ ) 2 \text{ACF}(k) = \frac{\sum_{t=1}^{T-k} (X_t - \bar{X})(X_{t+k} - \bar{X})}{\sum_{t=1}^{T} (X_t - \bar{X})^2} ACF(k)=t=1T(XtXˉ)2t=1Tk(XtXˉ)(Xt+kXˉ)

    • 分子部分:计算时间步 t t t与滞后时间步 t + k t+k t+k的偏差乘积的累加和。
    • 分母部分:计算整个时间序列的方差(即所有时间步与均值偏差的平方和)。
实际例子

假设我们有一个简单的时间序列 X = { 2 , 4 , 6 , 8 , 10 } X = \{2, 4, 6, 8, 10\} X={2,4,6,8,10},我们计算其在不同滞后时间 k k k下的自相关函数。

  1. 计算均值
    X ˉ = 2 + 4 + 6 + 8 + 10 5 = 6 \bar{X} = \frac{2 + 4 + 6 + 8 + 10}{5} = 6 Xˉ=52+4+6+8+10=6

  2. 计算滞后时间 k = 1 k = 1 k=1时的自相关函数

    • 分子部分:
      ∑ t = 1 5 − 1 ( X t − 6 ) ( X t + 1 − 6 ) = ( 2 − 6 ) ( 4 − 6 ) + ( 4 − 6 ) ( 6 − 6 ) + ( 6 − 6 ) ( 8 − 6 ) + ( 8 − 6 ) ( 10 − 6 ) = ( − 4 ) ( − 2 ) + ( − 2 ) ( 0 ) + ( 0 ) ( 2 ) + ( 2 ) ( 4 ) = 8 + 0 + 0 + 8 = 16 \sum_{t=1}^{5-1} (X_t - 6)(X_{t+1} - 6) = (2-6)(4-6) + (4-6)(6-6) + (6-6)(8-6) + (8-6)(10-6) = (-4)(-2) + (-2)(0) + (0)(2) + (2)(4) = 8 + 0 + 0 + 8 = 16 t=151(Xt6)(Xt+16)=(26)(46)+(46)(66)+(66)(86)+(86)(106)=(4)(2)+(2)(0)+(0)(2)+(2)(4)=8+0+0+8=16

    • 分母部分:
      ∑ t = 1 5 ( X t − 6 ) 2 = ( 2 − 6 ) 2 + ( 4 − 6 ) 2 + ( 6 − 6 ) 2 + ( 8 − 6 ) 2 + ( 10 − 6 ) 2 = 16 + 4 + 0 + 4 + 16 = 40 \sum_{t=1}^{5} (X_t - 6)^2 = (2-6)^2 + (4-6)^2 + (6-6)^2 + (8-6)^2 + (10-6)^2 = 16 + 4 + 0 + 4 + 16 = 40 t=15(Xt6)2=(26)2+(46)2+(66)2+(86)2+(106)2=16+4+0+4+16=40

    • 自相关函数:
      ACF ( 1 ) = 16 40 = 0.4 \text{ACF}(1) = \frac{16}{40} = 0.4 ACF(1)=4016=0.4

  3. 计算滞后时间 k = 2 k = 2 k=2时的自相关函数

    • 分子部分:
      ∑ t = 1 5 − 2 ( X t − 6 ) ( X t + 2 − 6 ) = ( 2 − 6 ) ( 6 − 6 ) + ( 4 − 6 ) ( 8 − 6 ) + ( 6 − 6 ) ( 10 − 6 ) = ( − 4 ) ( 0 ) + ( − 2 ) ( 2 ) + ( 0 ) ( 4 ) = 0 − 4 + 0 = − 4 \sum_{t=1}^{5-2} (X_t - 6)(X_{t+2} - 6) = (2-6)(6-6) + (4-6)(8-6) + (6-6)(10-6) = (-4)(0) + (-2)(2) + (0)(4) = 0 - 4 + 0 = -4 t=152(Xt6)(Xt+26)=(26)(66)+(46)(86)+(66)(106)=(4)(0)+(2)(2)+(0)(4)=04+0=4

    • 分母部分同上,为 40。

    • 自相关函数:
      ACF ( 2 ) = − 4 40 = − 0.1 \text{ACF}(2) = \frac{-4}{40} = -0.1 ACF(2)=404=0.1

通过这些步骤,我们可以计算出时间序列在不同滞后时间下的自相关函数,从而帮助模型识别和利用时间序列中的周期性依赖关系。

总结

自相关函数用于度量时间序列在不同滞后时间上的相关性,计算过程中需要考虑序列的均值和方差。通过计算自相关函数,可以发现时间序列中的周期性模式,这对于时间序列预测模型,如 Autoformer,具有重要的意义。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值