请从新检查 : s = self.ps*self.skip + self.Ck-1 + self.h-1 X1 = np.zeros((self.n-s, self.w, self.m)) # short term dataset X2 = np.zeros((self.n-s, self.ps*self.Ck, self.m)) # long term dataset predict_step = 6 Y = np.zeros((self.n-s, predict_step)) for i in range(s, self.n): t = i-self.h+1 X1[i-s] = self.raw[t-self.w:t].copy() idx = [] for k in range(self.ps): # 执行4次,每次间隔skip长,取Ck=6, total = 4 * 6 = 24 idx = list(range(t-self.Ck-k*self.skip, t-k*self.skip)) + idx idx = np.array(idx, dtype=int) X2[i-s] = self.raw[idx].copy() #Y[i-s] = self.raw[i].copy() Y[i-s] = self.raw[i : i+predict_step].copy() return X1, X2, Y
时间: 2024-02-14 20:17:29 浏览: 28
非常抱歉,看到您之前的提问,我可能理解有误。现在重新检查您提供的代码:
```
s = self.ps*self.skip + self.Ck-1 + self.h-1
X1 = np.zeros((self.n-s, self.w, self.m)) # short term dataset
X2 = np.zeros((self.n-s, self.ps*self.Ck, self.m)) # long term dataset
predict_step = 6
Y = np.zeros((self.n-s, predict_step))
for i in range(s, self.n):
t = i-self.h+1
X1[i-s] = self.raw[t-self.w:t].copy()
idx = []
for k in range(self.ps): # 执行4次,每次间隔skip长,取Ck=6, total = 4 * 6 = 24
idx = list(range(t-self.Ck-k*self.skip, t-k*self.skip)) + idx
idx = np.array(idx, dtype=int)
X2[i-s] = self.raw[idx].copy()
Y[i-s] = self.raw[i : i+predict_step].copy()
return X1, X2, Y
```
这段代码的作用是为时间序列数据生成两种不同的输入数据集`X1`和`X2`,以及一个输出数据集`Y`。其中,`X1`表示短期数据集,`X2`表示长期数据集,`Y`表示需要预测的数据集。具体来说,对于每个时间步`t`,`X1`将包含`t-w`到`t-1`时间步的数据,`X2`将包含从`t-Ck`到`t-1`的数据,其中`Ck`表示长期记忆的窗口大小,`ps`表示长期记忆的次数,`skip`表示两次长期记忆数据之间的间隔。`Y`将包含从时间步`t`到时间步`t+5`的数据。
在这个代码中,`Y[i-s] = self.raw[i : i+predict_step].copy()` 表示将从时间步i到时间步(i+predict_step-1)的数据复制到`Y`数组的第`i-s`行。因此,如果你希望将输出数据集的每一行改为一个长度为`predict_step`的一维数组,你可以将这行代码修改为:
```
Y[i-s] = self.raw[i:i+predict_step].copy()
```
这样,`Y`数组的每一行就是一个长度为6的一维数组,包含了需要预测的6个时间步的数据。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)