之前曾经介绍过常用的预测模型,比如灰色预测模型、时间序列模型等。今天基于神经网络解决模型中常见的预测问题。

一、BP神经网络预测

(一)数据来源

本次仿真实验的数据选取石家庄市2018-2019年冬季供暖期空气质量监测数据,并删除了无效和缺失的数据。在实验中,选取了142条数据作为训练集,选取剩下的5条数据作为测试,以便进行准确的预测。选取变量PM2.5、PM10、SO2、CO、NO2、O3这6个指标作为作为神经网络输入数据构成输入层,石家庄市AQI作为为神经网络目标输出数据构成输出层。

(二)BP神经网络建立流程

图1 BP神经网络流程图

(三)对样本数据进行归一化处理

由于数据的单位范围有很大差异,可能会产生训练时间较长、收敛速度较慢的情况。最终可能会产生结果是波动范围大的数据作用会偏大,波动范围小的数据作用会偏小。此外,由于神经网络输出层的激励函数范围有限,需要将神经网络的数据映射到激励函数的有限范围。如果S型函数的极限范围为[0,1],则神经网络的训练数据应归一化为[0,1]区间。

确定样本为输入样本、输出样本后,输入样本和输出样本需要分别细分为训练集和测试集,并进行归一化处理,将输入样本、输出样本采用MATLAB2016a中函数mapminmax( )变换为[0,1]区间。mapminmax的函数形式为:

其中X是需要规划的数据集,Ymin、Ymax 是规划的限值范围,缺省是为默认值[ -1, 1 ],Y为返回规划后的值,则PS在结果反归一化中需要调用的参数。

计算公式为:

本文中需要将输入层训练集P_train、输出层训练集T_train进行归一化处理,限定值为[0,1 ] ,分别命名为p_train、t_train。对于输入层测试集P_test采用同样的方式应用归一化处理,并命名为p_test。当得到原始预测值时,还需要对得到的原始预测数据进行反归一化处理,求得最终预测值。即对输出层测试集t_sim进行数据反归一化,并命名为T_sim。

(四)BP神经神经网络预测结果

根据BP神经网络的网络结构设计,选取6个输入神经单元,1个输出神经单元,隐含层为1,隐含层节点为2,网络迭代次数为500。图2为网络训练的基本过程。

图2 BP神经网络结构

图3的网络收敛结果看出,网络训练126次后收敛,网络误差为0.0019,基本达到了网络误差设置的要求。同时由图4.2可以看出,随着训练次数的增加,训练集与测试集误差逐步减小,训练集与测试集变化趋势一致,当网络训练到126次后,3条曲线基本变成一条,误差逐渐稳定。

图3 模型训练仿真

图4可以看出,训练样本的拟合优度为96.57%,测试集的拟合优度是97.75%,这个拟合证明了网络训练效果优秀,完全可以通过次模型进行石家庄市AQI的预测。

图4 拟合优度

利用训练过的BP神经网络对石家庄市空气质量指数AQI进行预测分析,由表1可以看出预测值T_sim与真实值T_test相差不大。综上所述,预测的总体结果和真实值较吻合,因此进一步表明BP神经网络模型的应用范围极广。

表1 真实值与预测值对比表

附Matlab运行代码:

bp网络拟合函数 matlab_神经网络案例分析—基于Matlab的预测相关推荐

  1. 《MATLAB神经网络案例分析》学习(一)——BP神经网络基本理论

    一.BP神经网络理论基本介绍 BP(Back Propagation)是一种按误差逆传播算法训练的多层前馈网络,是应用最广泛的神经网络模型之一.BP网络能学习和存贮大量的输入-输出模式映射关系,而无需 ...

  2. 软件工程网络15个人作业3——案例分析(201521123107)

    #软件工程网络15个人作业3--案例分析 根据博客要求,写一篇个人随笔 参考来自: http://www.cnblogs.com/xinz/archive/2012/03/26/2417699.htm ...

  3. 网络工程师--网络规划和设计案例分析(7)

    案例一:某企业组网方案如下图所示,网络接口规划如下面表格所示,公司内部员工和外部访客均可通过无线网络访问企业网络,内部员工无线网络的SSID为Employee,访客无线网络的SSID为Visitor ...

  4. Matlab:基于Matlab实现人工智能算法应用的简介(BP神经网络算法NN、SOFM神经网络)、案例应用(基于Matlab的GUI的方式创建/训练/预测神经网络)之详细攻略

    Matlab:基于Matlab实现人工智能算法应用的简介(BP神经网络算法NN.SOFM神经网络).案例应用(基于Matlab的GUI的方式创建/训练/预测神经网络)之详细攻略 目录

  5. matlab案例分析总结,MATLAB统计分析与应用:40个案例分析

    第章编程简介 1.1MATLAB工作界面布局与路径设置 1.1.1MATLAB工作界面布局 1.1.2MATLAB路径设置 1.2变量的定义与数据类型 1.2.1变量的定义与赋值 1.2.2MATLA ...

  6. 浅层神经网络回归预测,基于MATLAB。 模型包括BPNN,极限学习机(ELM)和Elman网络

    浅层神经网络回归预测,基于MATLAB. 模型包括BPNN,极限学习机(ELM)和Elman网络(循环神经网络的一种). 有实例,直接替换数据可运行. 有训练集和测试集的划分,可直接套数据. 可以进行 ...

  7. 《对冲基金建模与分析基于MATLAB》简介及PDF下载

    转 <对冲基金建模与分析--基于MATLAB>简介及PDF下载 内容简介 本书是关于用MATLAB对对冲基金进行建模和分析的入门读物.在对对冲基金的基本概念.分类.相关工具和指标系统介绍的 ...

  8. 神经网络拟合函数表达式,神经网络拟合效果不好

    神经网络,什么过拟合?,什么是欠拟合? 欠拟合是指模型不能在训练集上获得足够低的误差.而过拟合是指训练误差和测试误差之间的差距太大.考虑过多,超出自变量的一般含义维度,过多考虑噪声,会造成过拟合. 可 ...

  9. 网络工程师--网络规划和设计案例分析(6)

    案例:某企业网络拓扑如下图所示,中国电信和中国移动双链路接入,采用硬件设备实现链路负载均衡,主磁盘阵列的数据通过备份服务器到备份磁盘阵列,根据下图分析相关问题: 案例分析一:根据上图进行分析: 1.设 ...

  10. 单样本KS检验,案例分析及Matlab可视化

    Kolmogorov-Smirnov是比较一个经验分布与理论分布或者两个观测值分布的检验方法.其原假设H0:两个数据分布一致或者数据符合理论分布. 对于单样本KS检验,检验统计量为,当根据观测值计算出 ...

最新文章

  1. 配置LANMP环境(2)-- 安装ifconfig命令与安装SecureCRT
  2. Spring Security 入门(五):在 Spring-Boot中的应用
  3. 数据结构例程——线性表顺序存储的应用
  4. webform(九)——JQuery基础(选择器、事件、DOM操作)
  5. 10套华丽的 Windows 8 Metro 风格图标【2000+免费图标】
  6. java中断一个线程
  7. [Linux] Linux指令汇总(持续更新中...)
  8. windows 卸载IE8还原IE7的方法
  9. 8口poe交换机产品介绍
  10. java mysql 语句解析器_几种基于Java的SQL解析工具的比较与调用
  11. 如何在Java中对Collection对象进行排序?
  12. ToolBox系列工具之Detector
  13. One账户多设备同步的数据库设计
  14. 三维闭合B样条曲线拟合算法Matlab代码
  15. 深夜读萧红《呼兰河传》
  16. 访问控制列表——ACL
  17. 前端开发 html第三课 列表 超链接 相对路径 图片
  18. Lightroom:统一照片的曝光度
  19. educoder答案pythonnumpy_Educoder 题解
  20. 消息轰炸(python)

热门文章

  1. Python path
  2. can't resolve symbol 'R' ...
  3. 九度OJ 1255:骰子点数概率 (递归、DP)
  4. 简单几步配置gitlab
  5. python得语言编程模式_一图看懂编程语言迁移模式:终点站是Python、Go、JS!
  6. 二维随机变量期望公式_多维随机变量的特征数
  7. Spring源码之bean的初始化initializeBean方法解读
  8. 关于thymeleaf 遍历 List<Map<String,Object>> 类型数据
  9. Android Toolbar
  10. java安全证书配置