1.使用linear层拟合
原代码链接在这里,效果如下:
2.使用LSTM预测
原代码链接在这里,效果如下:
3.使用GAN拟合
忘记代码哪里找的了,不过效果很差。
4.使用LSTM-GAN
这个代码在GitHub上找的,然后改了改,把GAN的生成器和判别器里面都换成LSTM网络就行,在10000个epoch之后,大概这样:
5.使用LSTM-WGAN
这个是在4的基础上,我自己把原始GAN里面的损失部分换成WGAN损失了。
sin数据点为500时,20000epoch:
sin数据点为50时,20000epoch:
sin数据点为50时,40000epoch:
sin数据点为100时,10000epoch:
sin数据点为100时,40000epoch:
6.使用TimeGAN
代码链接
10000epoch的PCA:
10000轮的 t-SNE:
10000轮生成的数据:(训练稳定之后,时序关系并不是固定的)
9750轮:
9200轮:
7950轮:
7600轮:
往前的话,基本5000轮左右曲线就比较顺滑了。
50轮:
150轮:
300轮:
600轮:
900轮:
1500轮:
3000轮: