目录

SegRNN-源码理解

【SegRNN 源码理解】

x = self.valueEmbedding(x.reshape(-1, self.seg_num_x, self.seg_len))

valueEmbedding

特征,时间步,每个特征 60 个观察值,分成 5 份,每份 12 个时间步,嵌入到 512 维

输入: x = [16, 7, 60]  # [batch, feature, time]

|

v   重塑

[112, 5, 12]  # [batch*feature, segments, segment_length]

|

v  嵌入

[112, 5, 512]  # [batch*feature, segments, d_model]

https://i-blog.csdnimg.cn/direct/573cb5450f2f43b0a55e6ee0b5f7934f.png

https://i-blog.csdnimg.cn/direct/b6fb0c7627a044f1857d7f58103a6420.png

_, hn = self.rnn(x)

x 嵌入以后,喂给 RNN

https://i-blog.csdnimg.cn/direct/1430337ba178462cbc3c4ce766c3d633.png

RNN 隐藏层的输出:1×112×512

https://i-blog.csdnimg.cn/direct/355ec16a65fc4678a554bebe29955f64.png

https://i-blog.csdnimg.cn/direct/adab0003e95b489faa04266cc962ce99.png

为什么h_n的形状 [1, 112, 512]

https://i-blog.csdnimg.cn/direct/5c10465072e74a30b81ea9b3defe7996.png

https://i-blog.csdnimg.cn/direct/4dac158573074a8ca4ef8bc585828c9e.png https://i-blog.csdnimg.cn/direct/78387d641e3f4c1c81030c38d0e6d65d.png

https://i-blog.csdnimg.cn/direct/4eb6166e567b4f76bba5d731a984f8f7.png

RNN在不分段处理时的形状分析

如果SegRNN模型不进行分段处理,而是直接将完整的时间序列输入到RNN中,其输入、输出的形状和处理过程会有显著不同。

不分段的RNN输入输出形状

假设我们保持批次大小(16)和特征数(7)不变,但不对60个时间步分段处理:

输入数据预处理

https://i-blog.csdnimg.cn/direct/822dbb9da9f24a8085deec658d549bec.png

https://i-blog.csdnimg.cn/direct/8e7b235e7163466ca43aea8da1c84658.png

https://i-blog.csdnimg.cn/direct/952efef5fb8047f2b5cdadc5eb3989e4.png https://i-blog.csdnimg.cn/direct/cfc5c1d2ba084b6ca592fabfea4bee26.png

https://i-blog.csdnimg.cn/direct/defc1305b0e54e18a2f3b6c917f6ca18.png

问题:

它这么处理是在建模什么东西,尤其是 16*7 的变换我不明白,是什么实际意义,然后又分成 5 段,相当于 5 个时间步,感觉把原始的 16 个 Batch,每个 Batch 60 个时间步,每个时间步 7 个特征的原始信息含义都混着了

https://i-blog.csdnimg.cn/direct/5d44a5a545a6454d867dcc5dbaf4d4dd.png

https://i-blog.csdnimg.cn/direct/df7223adf563452b9b230ec982f2a027.png

https://i-blog.csdnimg.cn/direct/9dc4ffe0b9e54c819dc7d42c6f29810a.png

https://i-blog.csdnimg.cn/direct/8aa94999c67341dd8f7c9be22c1d628a.png

https://i-blog.csdnimg.cn/direct/e04427fe89484ca38cae5d17ab67ccd1.png

https://i-blog.csdnimg.cn/direct/36df50938eae492da0db2a2ecf0e9cae.png

https://i-blog.csdnimg.cn/direct/a9b470704360491b8d2d73876018e2ed.png

RNN 对这个 16个地区的疫情数据 每个地区记录60天 每天记录7种指标(确诊数、死亡数、恢复数、新增病例、R0值、人口密度、医疗资源) 直接进行时间序列建模的输入和输出是什么样的

https://i-blog.csdnimg.cn/direct/2d6e99acf13e45d69c195fc619976ec6.png

https://i-blog.csdnimg.cn/direct/6ed32627426649cead0176ca79fc403e.png

https://i-blog.csdnimg.cn/direct/f9b58cf2411c43fea81fd139962def73.png

https://i-blog.csdnimg.cn/direct/477f9303352748e6850dce38a3a4a698.png

https://i-blog.csdnimg.cn/direct/0c260fd105c64cca8b31aed03252e1d3.png

https://i-blog.csdnimg.cn/direct/5a0eab928780402baf1c0aefe1cadd57.png

https://i-blog.csdnimg.cn/direct/6695332e7bca49ff80abd42f132b94e2.png

16个 batch,60 个时间步,7 个特征 -》 112 个序列,5 段,512 维(先理解每段)-》112 个序列,512 维(再混合段落,理解全文)

SegRNN的创新:视角转换的重要意义

https://i-blog.csdnimg.cn/direct/86734dacd8824cdfb6a73cf9aae5f9f4.png

https://i-blog.csdnimg.cn/direct/22aca0e621b24467adb2b8a1c823ca4d.png

https://i-blog.csdnimg.cn/direct/53d455d3ce8f4d63a400cc42fb4216f9.png

https://i-blog.csdnimg.cn/direct/4a392a2193c640e0b58669fda1c01035.png