BP神经网络时间序列预测程序

最后更新于:2023-06-18 17:03:32

一、程序介绍

二、代码运行环境

MATLAB2016~2021

三、程序具体内容

注:图标代表该m文件为脚本文件,可以直接运行;图标代表函数文件,在没有输入变量的情况下无法直接运行。更详细的解释可以看这里

1.demos文件夹

demos文件夹中全部为脚本文件,其中的文件使用了funs文件夹中的函数文件实现各种功能。

1.1.ScriptBP_Mul.m

调用funs中的FunForeBP_Mul函数进行多步预测(不划分训练集/测试集)的例子,演示了FunForeBP_Mul函数的常规用法。

1.2.ScriptBP_Mul_TrainAndTest.m

调用funs中的FunForeBP_Mul_TrainAndTest函数进行多步预测(划分训练集/测试集)的例子,演示了FunForeBP_Mul_TrainAndTest函数的常规用法。

1.3.ScriptBP_Onestep_TrainAndTest.m

调用funs中的FunForeBP_Onestep_TrainAndTest函数进行单步预测(划分训练集/测试集)的例子,演示了FunForeBP_Onestep_TrainAndTest函数的常规用法。

2.funs文件夹

funs文件夹中为该工具箱相关的函数文件,该文件夹中的文件无法直接运行,需要在其他文件或命令行窗口中对入口参数赋值并调用。

2.1.DivideInputAndOutput.m

对于一维时间序列预测,将输入的时间序列划分为后续模型训练的输入和输出。该函数为笔者封装的底层通用函数,在其他函数中嵌套调用,也可灵活运用于各种相关场景中。函数参数说明如下:

2.2.DivideTrainAndTestTimes.m

对于一维时间序列预测,将输入的时间序列划分为后续模型训练集、测试集的输入和输出。同样为底层通用函数,可灵活运用于各种相关场景中。函数参数说明如下:

2.3.EvaForeEffect.m

用于评价时间序列预测效果各个量化指标的通用函数,集合了MSE、RMSE、MAE、MAPE、R2等评价指标,一行代码就可以得到预测评价结果。

2.4.FunForeBP_Mul.m

使用BP神经网络方法进行多步预测。函数参数说明如下:

2.5.FunForeBP_Mul_TrainAndTest.m

BP神经网络做时间序列预测“预测”的程序(多步),部分数据用来训练,剩余数据拿来做对比验证。函数参数说明如下:

2.6.FunForeBP_Onestep_TrainAndTest.m

BP神经网络做时间序列预测“预测”的程序(单步),部分数据用来训练,剩余数据拿来做对比验证。函数参数说明如下:

3.install_funs.m

工具箱快速安装函数,使用方法见第四节。

4.uninstall_funs.m

工具箱快速卸载函数,使用方法见第四节。

四、快速开始

1.一键式安装工具箱

使用前建议先执行安装,安装方法为:

(1)右键点击“install_funs.m”,再点运行。

(2)当在命令行窗口出现下图提示时说明安装完成

2.使用你的数据快速获取预测结果

(1)导入数据

根据你的文件类型的不同(excel,txt,csv等),将数据导入MATLAB的方法有所不同。同学们可以先参考这个文档。或者看博主针对常用文件的导入方法的这个教程

如果你已经实现了数据导入,这时候应该拥有了一个一维数据变量,这时候就可以调用函数进行预测了。

(2)实现预测

参照demos文件夹中的m文件编写自己的脚本文件。

3.卸载工具箱

这步通常是不需要的,如果一定要卸载(从MATLAB路径中去除)该工具箱,则右键uninstall_funs.m运行即可。

五、关于完整版与公开版代码

功能 正式版 公开版
数据导入、参数设置、模型训练与可视化结果展示
软件全部源码(函数m文件) ×
可导出预测结果数据 ×
预测图无水印 ×

 

六、获取公开版程序(需使用电脑浏览器打开)

BP时间序列预测公开版代码

注:公开版代码需使用MATLAB2022a及以上版本

七、获完整版程序(需使用电脑浏览器打开)

获取通道一(淘宝):点击此处获取完整版程序

获取通道二(本页面):点击下面“立即支付”按钮,付款后获取完整版代码下载链接和售后联系方式~本通道处于测试阶段,使用该通道可以额外优惠(仅需68元)。付款完成后刷新一下本页面即可看到下载链接。

(注意支付跳转失败的话,请使用浏览器打开本页面)

您需要先支付 68元 才能查看此处内容!立即支付

八、重要更新

20211204 优化数据集划分逻辑

20211023 优化代码,不会再因导入时间序列为列向量而报错。

20210812 创建BP神经网络时间序列的初始版本代码(公开版所在版本)