Autoformer的解码器内公式解释

解码器详细解释

Autoformer 解码器主要包含两部分:用于趋势-周期性成分的累积结构和用于季节性成分的堆叠自动相关机制。每个解码器层包含内部自动相关和编码器-解码器自动相关机制,这两部分分别用于精炼预测和利用过去的季节性信息。解码器从中间隐藏变量中提取潜在趋势,使得 Autoformer 能够逐步精炼趋势预测并消除干扰信息。

假设解码器有 M M M层,编码器的输出是 X e n N X_{en}^N XenN,第 l l l层解码器层的方程可以总结为:

X d e l = Decoder ( X d e l − 1 , X e n N ) X_{de}^l = \text{Decoder}(X_{de}^{l-1}, X_{en}^N) Xdel=Decoder(Xdel1,XenN)

解码器的具体公式如下:

公式解释

l l l层解码器层的处理流程
  1. 内部自动相关与序列分解

    • 对输入 X d e l − 1 X_{de}^{l-1} Xdel1应用自动相关机制,然后加上输入值自身:
      S d e , 1 l , T d e , 1 l = SeriesDecomp ( Auto-Correlation ( X d e l − 1 ) + X d e l − 1 ) S_{de,1}^l, T_{de,1}^l = \text{SeriesDecomp}(\text{Auto-Correlation}(X_{de}^{l-1}) + X_{de}^{l-1}) Sde,1l,Tde,1l=SeriesDecomp(Auto-Correlation(Xdel1)+Xdel1)
    • 自动相关机制用于捕捉时间序列中的周期性相关性。
    • 序列分解将结果分解为季节性部分 S d e , 1 l S_{de,1}^l Sde,1l和趋势-周期性部分 T d e , 1 l T_{de,1}^l Tde,1l
  2. 编码器-解码器自动相关与序列分解

    • S d e , 1 l S_{de,1}^l Sde,1l应用编码器-解码器自动相关机制,并加上自身:
      S d e , 2 l , T d e , 2 l = SeriesDecomp ( Auto-Correlation ( S d e , 1 l , X e n N ) + S d e , 1 l ) S_{de,2}^l, T_{de,2}^l = \text{SeriesDecomp}(\text{Auto-Correlation}(S_{de,1}^l, X_{en}^N) + S_{de,1}^l) Sde,2l,Tde,2l=SeriesDecomp(Auto-Correlation(Sde,1l,XenN)+Sde,1l)
    • 编码器-解码器自动相关机制利用编码器的输出 X e n N X_{en}^N XenN来捕捉周期性相关性。
    • 序列分解将结果分解为季节性部分 S d e , 2 l S_{de,2}^l Sde,2l和趋势-周期性部分 T d e , 2 l T_{de,2}^l Tde,2l
  3. 前馈网络与序列分解

    • S d e , 2 l S_{de,2}^l Sde,2l应用前馈网络(Feed Forward Network),再加上自身:
      S d e , 3 l , T d e , 3 l = SeriesDecomp ( FeedForward ( S d e , 2 l ) + S d e , 2 l ) S_{de,3}^l, T_{de,3}^l = \text{SeriesDecomp}(\text{FeedForward}(S_{de,2}^l) + S_{de,2}^l) Sde,3l,Tde,3l=SeriesDecomp(FeedForward(Sde,2l)+Sde,2l)
    • 前馈网络用于进一步处理和提取特征。
    • 序列分解将结果分解为季节性部分 S d e , 3 l S_{de,3}^l Sde,3l和趋势-周期性部分 T d e , 3 l T_{de,3}^l Tde,3l
  4. 趋势累积

    • 累积趋势-周期性部分:
      T d e l = T d e l − 1 + W l , 1 ∗ T d e , 1 l + W l , 2 ∗ T d e , 2 l + W l , 3 ∗ T d e , 3 l T_{de}^l = T_{de}^{l-1} + W_{l,1} \ast T_{de,1}^l + W_{l,2} \ast T_{de,2}^l + W_{l,3} \ast T_{de,3}^l Tdel=Tdel1+Wl,1Tde,1l+Wl,2Tde,2l+Wl,3Tde,3l
    • 这里的 W l , i W_{l,i} Wl,i是用于提取趋势部分的投影矩阵,表示第 i i i个提取的趋势 T d e , i l T_{de,i}^l Tde,il
  5. 输出

    • l l l层解码器的输出:
      X d e l = S d e , 3 l X_{de}^l = S_{de,3}^l Xdel=Sde,3l

具体数据示例

假设我们有如下时间序列数据(单位:千元),用于解码器输入 X d e 0 X_{de}^0 Xde0

月份销售额 (千元)
1月100
2月120
3月130
4月150
5月170
6月180
7月190
8月200
9月220
10月230
11月240
12月260

假设这是解码器的初始输入 X d e 0 X_{de}^0 Xde0,趋势-周期性初始值 T d e 0 T_{de}^0 Tde0是之前提到的趋势-周期性部分:

月份初始趋势-周期性部分 (千元)
1月200
2月210
3月220
4月230
5月240
6月250
7月260
8月270
9月280
10月290
11月300
12月310
第1层解码器处理流程
  1. 步骤1:内部自动相关与序列分解

    • 计算自动相关:
      假设自动相关计算的结果为:
      Auto-Correlation ( X d e 0 ) = [ 110 , 130 , 140 , 160 , 180 , 190 , 200 , 210 , 230 , 240 , 250 , 270 ] \text{Auto-Correlation}(X_{de}^0) = [110, 130, 140, 160, 180, 190, 200, 210, 230, 240, 250, 270] Auto-Correlation(Xde0)=[110,130,140,160,180,190,200,210,230,240,250,270]

    • 将自动相关结果加上输入值:
      X d e 0 + Auto-Correlation ( X d e 0 ) = [ 210 , 250 , 270 , 310 , 350 , 370 , 390 , 410 , 450 , 470 , 490 , 530 ] X_{de}^0 + \text{Auto-Correlation}(X_{de}^0) = [210, 250, 270, 310, 350, 370, 390, 410, 450, 470, 490, 530] Xde0+Auto-Correlation(Xde0)=[210,250,270,310,350,370,390,410,450,470,490,530]

    • 进行序列分解,假设分解结果为:

      • 季节性部分 S d e , 1 1 = [ 60 , 50 , 60 , 50 , 40 , 30 , 30 , 20 , 20 , 10 , 10 , 0 ] S_{de,1}^1 = [60, 50, 60, 50, 40, 30, 30, 20, 20, 10, 10, 0] Sde,11=[60,50,60,50,40,30,30,20,20,10,10,0]
      • 趋势-周期性部分 T d e , 1 1 = [ 150 , 200 , 210 , 260 , 310 , 340 , 360 , 390 , 430 , 460 , 480 , 530 ] T_{de,1}^1 = [150, 200, 210, 260, 310, 340, 360, 390, 430, 460, 480, 530] Tde,11=[150,200,210,260,310,340,360,390,430,460,480,530]
  2. 步骤2:编码器-解码器自动相关与序列分解

    • 计算编码器-解码器自动相关:
      假设自动相关计算的结果为:
      Auto-Correlation ( S d e , 1 1 , X e n N ) = [ 65 , 55 , 65 , 55 , 45 , 35 , 35 , 25 , 25 , 15 , 15 , 5 ] \text{Auto-Correlation}(S_{de,1}^1, X_{en}^N) = [65, 55, 65, 55, 45, 35, 35, 25, 25, 15, 15, 5] Auto-Correlation(Sde,11,XenN)=[65,55,65,55,45,35,35,25,25,15,15,5]

    • 将结果加上自身:
      S d e , 1 1 + Auto-Correlation ( S d e , 1 1 , X e n N ) = [ 125 , 105 , 125 , 105 , 85 , 65 , 65 , 45 , 45 , 25 , 25 , 5 ] S_{de,1}^1 + \text{Auto-Correlation}(S_{de,1}^1, X_{en}^N) = [125, 105, 125, 105, 85, 65, 65, 45, 45, 25, 25, 5] Sde,11+Auto-Correlation(Sde,11,XenN)=[125,105,125,105,85,65,65,45,45,25,25,5]

    • 进行序列分解,假设分解结果为:

      • 季节性部分 S d e , 2 1 = [ 30 , 25 , 30 , 25 , 20 , 15 , 15 , 10 , 10 , 5 , 5 , 0 ] S_{de,2}^1 = [30, 25, 30, 25, 20, 15, 15, 10, 10, 5, 5, 0] Sde,21=[30,25,30,25,20,15,15,10,10,5,5,0]
      • 趋势-周期性部分 T d e , 2 1 = [ 95 , 80 , 95 , 80 , 65 , 50 , 50 , 35 , 35 , 20 , 20 , 5 ] T_{de,2}^1 = [95, 80, 95, 80, 65, 50, 50, 35, 35, 20, 20, 5] Tde,21=[95,80,95,80,65,50,50,35,35,20,20,5]
  3. 步骤3:前馈网络与序列分解

    • 计算前馈网络输出:
      假设前馈网络的结果为:
      FeedForward ( S d e , 2 1 ) = [ 35 , 30 , 35 , 30 , 25 , 20 , 20 , 15 , 15 , 10 , 10 , 5 ] \text{FeedForward}(S_{de,2}^1) = [35, 30, 35, 30, 25, 20, 20, 15, 15, 10, 10, 5] FeedForward(Sde,21)=[35,30,35,30,25,20,20,15,15,10,10,5]

    • 将结果加上自身:
      $$
      S_{de,2}^1 + \text{FeedForward}(S_{de,2}^1) = [65, 55, 65,

55, 45, 35, 35, 25, 25, 15, 15, 5]
$$

  • 进行序列分解,假设分解结果为:
    • 季节性部分 S d e , 3 1 = [ 30 , 25 , 30 , 25 , 20 , 15 , 15 , 10 , 10 , 5 , 5 , 0 ] S_{de,3}^1 = [30, 25, 30, 25, 20, 15, 15, 10, 10, 5, 5, 0] Sde,31=[30,25,30,25,20,15,15,10,10,5,5,0]
    • 趋势-周期性部分 T d e , 3 1 = [ 35 , 30 , 35 , 30 , 25 , 20 , 20 , 15 , 15 , 10 , 10 , 5 ] T_{de,3}^1 = [35, 30, 35, 30, 25, 20, 20, 15, 15, 10, 10, 5] Tde,31=[35,30,35,30,25,20,20,15,15,10,10,5]
  1. 趋势累积

    • 初始趋势-周期性部分:
      T d e 0 = [ 200 , 210 , 220 , 230 , 240 , 250 , 260 , 270 , 280 , 290 , 300 , 310 ] T_{de}^0 = [200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310] Tde0=[200,210,220,230,240,250,260,270,280,290,300,310]

    • 累积趋势部分:
      T d e 1 = T d e 0 + W 1 , 1 ∗ T d e , 1 1 + W 1 , 2 ∗ T d e , 2 1 + W 1 , 3 ∗ T d e , 3 1 T_{de}^1 = T_{de}^0 + W_{1,1} \ast T_{de,1}^1 + W_{1,2} \ast T_{de,2}^1 + W_{1,3} \ast T_{de,3}^1 Tde1=Tde0+W1,1Tde,11+W1,2Tde,21+W1,3Tde,31
      假设 W 1 , 1 = 0.1 W_{1,1} = 0.1 W1,1=0.1, W 1 , 2 = 0.1 W_{1,2} = 0.1 W1,2=0.1, W 1 , 3 = 0.1 W_{1,3} = 0.1 W1,3=0.1,计算:
      T d e 1 = [ 200 , 210 , 220 , 230 , 240 , 250 , 260 , 270 , 280 , 290 , 300 , 310 ] + 0.1 ∗ [ 150 , 200 , 210 , 260 , 310 , 340 , 360 , 390 , 430 , 460 , 480 , 530 ] + 0.1 ∗ [ 95 , 80 , 95 , 80 , 65 , 50 , 50 , 35 , 35 , 20 , 20 , 5 ] + 0.1 ∗ [ 35 , 30 , 35 , 30 , 25 , 20 , 20 , 15 , 15 , 10 , 10 , 5 ] T_{de}^1 = [200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310] + 0.1 \ast [150, 200, 210, 260, 310, 340, 360, 390, 430, 460, 480, 530] + 0.1 \ast [95, 80, 95, 80, 65, 50, 50, 35, 35, 20, 20, 5] + 0.1 \ast [35, 30, 35, 30, 25, 20, 20, 15, 15, 10, 10, 5] Tde1=[200,210,220,230,240,250,260,270,280,290,300,310]+0.1[150,200,210,260,310,340,360,390,430,460,480,530]+0.1[95,80,95,80,65,50,50,35,35,20,20,5]+0.1[35,30,35,30,25,20,20,15,15,10,10,5]
      逐项计算得:
      T d e 1 = [ 200 + 15 + 9.5 + 3.5 , 210 + 20 + 8 + 3 , 220 + 21 + 9.5 + 3.5 , 230 + 26 + 8 + 3 , 240 + 31 + 6.5 + 2.5 , 250 + 34 + 5 + 2 , 260 + 36 + 5 + 2 , 270 + 39 + 3.5 + 1.5 , 280 + 43 + 3.5 + 1.5 , 290 + 46 + 2 + 1 , 300 + 48 + 2 + 1 , 310 + 53 + 0.5 + 0.5 ] T_{de}^1 = [200 + 15 + 9.5 + 3.5, 210 + 20 + 8 + 3, 220 + 21 + 9.5 + 3.5, 230 + 26 + 8 + 3, 240 + 31 + 6.5 + 2.5, 250 + 34 + 5 + 2, 260 + 36 + 5 + 2, 270 + 39 + 3.5 + 1.5, 280 + 43 + 3.5 + 1.5, 290 + 46 + 2 + 1, 300 + 48 + 2 + 1, 310 + 53 + 0.5 + 0.5] Tde1=[200+15+9.5+3.5,210+20+8+3,220+21+9.5+3.5,230+26+8+3,240+31+6.5+2.5,250+34+5+2,260+36+5+2,270+39+3.5+1.5,280+43+3.5+1.5,290+46+2+1,300+48+2+1,310+53+0.5+0.5]
      最终结果:
      T d e 1 = [ 228 , 241 , 253 , 267 , 280 , 291 , 303 , 314 , 328 , 337 , 351 , 364 ] T_{de}^1 = [228, 241, 253, 267, 280, 291, 303, 314, 328, 337, 351, 364] Tde1=[228,241,253,267,280,291,303,314,328,337,351,364]

  2. 输出

    • 第 1 层解码器的输出 X d e 1 = S d e , 3 1 = [ 30 , 25 , 30 , 25 , 20 , 15 , 15 , 10 , 10 , 5 , 5 , 0 ] X_{de}^1 = S_{de,3}^1 = [30, 25, 30, 25, 20, 15, 15, 10, 10, 5, 5, 0] Xde1=Sde,31=[30,25,30,25,20,15,15,10,10,5,5,0]

总结

通过这个具体数据的例子,我们详细展示了 Autoformer 解码器的工作流程。解码器利用自动相关机制和序列分解逐步提取和处理时间序列的季节性和趋势信息。每一层解码器通过这些步骤来提取特征,并将结果传递到下一层,最终生成包含丰富季节性和趋势信息的输出。这些信息将用于预测,从而提高长期时间序列预测的准确性和稳定性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值