BP神经网络和SVM实现时间序列预测(2019-03-23)

       BP和SVM是最常见的一类算法,常用来做测试或者和新算法做对比。在这里我们将给BP和SVM直接应用到时间序列预测的教程。

    1.下载时间序列数据集和程序。其中,网盘连接是:https://pan.baidu.com/s/1zofxWIHbbs5pevjH6r_AVA,密码是“hvqy”。

“NewTrainTest.CSV”是一个时间序列的数据集,保护了16948行19列。其中,1-18列可以认为是X,第19列认为是Y。我们现在要做的就是训练19个X和Y之间的关系,然后给定X去预测Y。

2. 下载MATLAB,我的环境是2018a,其他版本的matlab我没有试过。把下载好的文件放到matlab的默认路径中,如图1所示。我的MATLAB的默认路径是“D:\Matlab2018a\2019322”,你只需要刚刚下载的文件复制到那里去就可以。然后用记事本把“SVM.txt”打开,复制里面的全部代码,在matlab的命令行窗口粘帖就可以运行程序了。

3. SVMoutput就是SVM关于测试集的预测的Y值,output_test是测试集真实的Y值。rmse、mape 、mae是测试集的几个预测常用的性能指标的统计结果。BP的代码和SVM差不多,这里不作赘述。代码中有一个6947,这数字可以修改。刚刚不是说了数据集有16948条吗,我们这里认为最后的6947作为测试集,前面的10001条作为训练集用来训练BP或SVM。这个数字当然可以修改。此外,要注意就是数据集必须把Y放到最后,X放到前面。比如你要预测Y=f(x1,x2,x3)的关系,在做csv文件的时候就要把Y放到最后一列。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容