基于神经网络的天气质量指数预测

article/2025/9/26 17:04:37

基于神经网络的空气质量指数预测

1 项目背景

1.1背景

随着我国经济的快速发展,大量的工厂企业以及尾气排放使得大气环境污染日益严重,所以大气污染的预测防治工作应该加大力度[1]。通过预测未来影响空气质量指数的污染物浓度,实现我们对短期空气质量状况和变化趋势的判断则变得尤为重要。
空气质量指数是将对人群产生影响的空气质量,通过对评价空气质量的污染物浓度计算得到的无量纲数值。用不同得等级表示空气污染状况的程度。空气质量指数主要是通过CO、NO、O3、PM10、 PM2.5、SO2这主要6种污染物浓度的规定的限值标准计算得到[2]。该指数被分为五个等级,按0~500的取值范围划分,从I级到V级的分级标准分别对应从优到严重污染的空气污染程度。空气污染的程度越严重对人体健康或是环境生态的影响越大[2]。为相关部门做出合理的决策提供科学的数据支撑,同时该研究成果对我国大气环境质量污染研究具有一定的参考价值和指导意义

1.2研究现状

目前空气质量数值预报的研究大多建立在气象数据和历史统计数据的基础上[4]。如郭飞等人在通过对沈阳大气环境质量历史数据和空气质量详细数据分析,用改进的支持向量机的方法精准的预测了污染物浓度[5]。使用变化权重组合实现多种方法的ARIMA、SVR组合模型达到理想的提高预测拟合效果[6]。张超利等人,结合数据相关性分析分析利用改进的粒子群算法的神经网络方法实现了河南省的空气质量的预测[3]。空气数据通过结合各种优化算法可以达到预期效果。
由此可见深度学习等方法的普及出现了许多新理论和创新,对大型地域的空气质量的从时空演化特[7]实现大规模分析并且从多种角度进行空气质量的数值预测。可总结空气质量数值预报技术主要有3个方向:首先基于历史污染物浓度数据记录或气象数据,利用统计学规律建立回归模型[8];第二种是时间序列的分析,通过历史的数据进行如ARIMA[9]模型建立,LSTM时间序列预测[10],通过结合数据特点来建立曲线拟合以及参数估计的拟合模型;第三种是利用大数据进行神经网络的建模方法,比如模糊推理系统,粒子群算法[10],改进如多类天气识别的区域选择和并发模型[12]等,使在空气质量预测的研究方向上提供了更多的思路。

1.3研究内容

本文基于石家庄地区的空气质量监测站和气象数据监测站得到的2019年石家庄空气质量的详细数据,利用神经网络的相关技术,通过数据的相关性分析,建立神经网络模型来预测未来第4小时的CO、NO、O3、PM10、PM2.5、SO2这6种污染物浓度,从而计算得到空气质量指数实现预警,课题研究思路如图2-1。本文的研究内容包括以下两点:
(1)数据相关性分析
由于获取的历史气象条件污染物浓度数据众多,不同污染物浓度的变化关系,通过自变量回归方法得到我们定义数据相关性系数,对于同一种污染物数据取相关系数较大的数据作为参考。以及实现神经网络模型的建立数据集提供参考依据。
(2)神经网络模型的建立
通过研究和学习BP神经网络,确定输入数据集,网络参数的确定实验,掌握前向传播和反向传播过程算法,确定学习率,网络节点个数的影响,建立能够实现预测未来小时的各个污染物浓度的模型,并通过污染物浓度计算空气质量指数实现预警。
本课题内容通过5个章节进行论述,第一章引述了课题研究的意义背景,将空气质量预测的相关研究成果和研究方向进行论述。第二章进行获取的空气质量数据集进行相关性分析,分析了污染物的季节变化特征,结合神经网络的特性,利用相关性系数为不同污染物的模型数据集提供依据。第三章简述了人工神经网络的算法,并且引入了算法的常见相关问题和相关概念,推导了两层前馈网络的前向传播和反向传播的公式。第四章介绍了实现空气质量指数预警的流程,得到优化的实验参数和完成了实验结果的验证。第五章总结了课题的研究思路,并对课题研究的发展趋势提出了观点。

2 项目方法

数据相关性分析

 2.1 污染物的特点
分析主要的六种污染物为CO、NO、O3、PM10、PM2.5、SO2。这些污染物的主要来源是化学燃料的大量燃烧,资源燃烧会产生氮氧化物和硫化物,如春冬季节的锅炉供暖,日常交通的机动车辆运行等[4],大型企业工厂生产过程的烟尘颗粒和废气排放,这也会导致酸雨的形成,对建筑、生态环境产生危害,而当气象条件恶劣或空气流动性差时固体颗粒物与空气中物质融合变成气溶胶状态发生沉降,这也是导致雾霾产生的主要原因。
2.2 污染物浓度数据的相关性分析
通过中国气象数据网站,可以获取到石家庄2019年全年每小时6种污染物浓度数据和小时的空气质量指数。其中6种污染物默认CO的浓度单位为mg/m3,NO、 O3、SO2、PM10、PM2.5的浓度单位为μg/m3。通过对Excel表格软件操作,对全年的数据进行整理计算,得到每种污染物浓度的过去4个小时平均数值、过去12小时平均数值、过去第4小时数值、过去第12小时数值和过去第24小时数值共6种情况。6种污染物共计36种数据。通过研究预测的每个污染物的未来第4小时污染物浓度与36种数据的相关性,利用相关性系数选择网络的输入节点,并且相关性在后期对神经网络建模的参数选择上有着重要影响。
2.2.1 相关性系数的计算公式
相关性系数表示是两种变量数据之间的相关程度关系,通过回归模型可以表示变量在数据上的拟合相关程度,我们采用的计算公式是: 网络获取到的污染物浓度数据通常为有单位的如mg/m^3
而且以当前小时的六组数据co,no,o3,pm10,pm2.5,so2,六种污染物浓度。如果单纯用【1*6】向量数据作为输入,可能存在相关性低的数据。所以采用扩充数据,将六种污染物过去第6小时,第12小时的数据,过去24小时的平均,过去48小时平均数据。

公式1

其中Cov表示矩阵的协方差矩阵,它是以变量个数为维度的对称矩阵,假设和都是列向量,表示相关度即相关性系数,相关系数的绝对值越大,意味着两个随机变量线性相关性越大;相关系数的绝对值越小,意味着两个随机变量的线性相关性越小[12],并且根据数值和相关程度有以下表格定义相关程度。经过分析可得可以得出结论,按季节分的数据集相关性系数更大,然而按全年数据的气候条件得到反而相关性有所下降,所以数据集并非是越大越好,取决于相关性程度,除了SO2浓度数据选择的半年数据相关性较高之外,其他数据按季度相关性来划分数据集,这样在网络训练时会有更好的表现。

3 平台

Matlab2012以上。

2数据集建立

经过相关性分析筛选这些数据和预测未来第四小时的污染物浓度 。相关系数      相关程度
0.00-±0.30    微相关
±0.30-±0.50  实相关
±0.50-±0.80  显著相关
±0.80-±1.00  高度相关
按照以上的程度,筛选0.5以上的作为输入的变量。
最终获得预测co的变量输入共19个输入。![在这里插入图片描述](https://img-blog.csdnimg.cn/20200718211341155.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMTU4MDU5,size_16,color_FFFFFF,t_70)

在这里插入图片描述

由于不同季节空气质量有不同时空分布。所以我们先建立一个秋季的数据集为例。按小时算一年8740小时,秋季在4300-6500小时。并且归一化整个数据集在-1.1范围内。

3神经网络建立

结尾程序文件中提供了3层的网络程序。
网络参数:输入层,h1层,h2层,输出层 。
学习率:采用预训练方式(手动调节),
权值矩阵初始化方式:随机分布(-1,1)
epoch(数据集训练轮数),Iteration(单条数据训练轮数)与学习率配合选择。
激活函数:tanh(值域范围【-1,1】)
损失函数:0.5*(predict-goal)^2。
更新权值算法:梯度下降算法。

整个的算法流程如下:
在这里插入图片描述
部分程序
在这里插入图片描述
在这里插入图片描述

4网络训练

调参是一个很枯燥的过程常见学习率满足下图规律在这里插入图片描述

所以加入了R^2确定系数,作为一个拟合指标,并根据次参数实现基础网络自动调参训练。在这里插入图片描述
程序非常好用

5 拟合效果与测试效果展示

我们训练数据随机输入下,加上预训练的结果如下。
在这里插入图片描述

在这里插入图片描述
尺度还原的效果,反归一化
在这里插入图片描述

网络的基本训练好的网络权值和数据已保存在文件夹下,其他的函数文件有相关的注释。我是一个初学小弟。有望大佬指教。

之后,空气质量指数的计算是输入为污染物浓度的线性函数。这个倒是可以网上查一下。我可以提供一个函数(自己编的比较粗糙)calaqi.m
这个函数没有写入主函数,需要者,自行建立接口。
某一个污染物浓度的预测结果:
在这里插入图片描述

总结

本课题通过对影响空气质量指数的主要污染物浓度数据相关性分析,得到的相关的数据选择实验结论,并在前馈神经网络的建模中控制变量实验得到的相关网络参数的参数选择结论,以此进行了模型的大量实验,确定6种污染物浓度的最优模型。最终基于前馈神经网络的污染物浓度预测模型的测试样本的确定系数均能达到0.6以上,模型拟合性良好,网络训练达到的均方误差基本都在0.15以下,并且实现IAQI带有浓度限值的计算过程后,误差进一步减小,基本可以实现空气质量指数(AQI) 的准确预测。因此利用神经网络的非线性函数映射能力,在预测污染物浓度变化实现空气质量指数预警具有可行性。

展望

空气质量指数的预警建立在数据分析和预测模型的基础之上,可以利用大数据分析技术结合泛化能力更强预测模型。本课题将不同污染预测都建立基于前馈网络的模型,具有不同差异,如O3浓度的预测效果相对较差,对于O3浓度可采用更简便的模型进行建立。而且前馈网络模型参数调整较为复杂,如隐含层个数的选择,数据集大小的影响等。对于未来可以在多输入多输出系统中进一步发展将会为预测模型的建立提供极大的便利性。

附件

附件种有两个主函数,一个是加自动调学习率的,一个是不加的基础结构(mainbp2.m)
变量中修改which可得到预测不同污染物的选择。
数据集变量是four.mat,在函数中自动导入
创建数据集导入的方法下期讲解。
程序已经调通,下载整体可直接运行,全部自动操作。
建议cpu i5 7代以上。

代码地址:

https://download.csdn.net/download/qq_43158059/12635908


http://chatgpt.dhexx.cn/article/Nl3sceRO.shtml

相关文章

腾讯海外轻量服务网络质量下降原因和解决方法

腾讯海外轻量服务网络质量下降原因和解决方法 腾讯海外轻量服务网络质量下降原因和解决方法问题背景问题原因影响这个问题是否会自动解决呢?解决方案有吗?方案一: GAME加速.方案二: 使用优质带宽的中转服务器方案三: 让你的服务器提供方帮你一站式解决问题 腾讯海外轻量服务网…

NQA网络质量分析

NQA网络质量分析,是一种实时的网络性能探测和统计技术,可以对响应时间、网络抖动、丢包率等网络信息进行统计NQA能实时监视网络QOS,在网络发生故障时有效的诊断和定位。(和BFD不同,BFD像侦测兵报告错误,NQA…

网络测量指标

文章目录 1 性能类指标1.1 时延1.2 带宽1.3 丢包 2 流量类指标3 拓扑类指标3.1 拓扑结构中心性3.2 拓扑结构相似性3.3 拓扑结构鲁棒性3.4 其他 1 性能类指标 1.1 时延 时延指一个报文或分组从网络的一端传送到另一端所需要的时间,包括发送时延(传输时延…

直播网络质量检测流程

**目录 一、检测定义 2 1.1直播卡顿检测 2 1.2高延迟检测 2 1.3线路切换检查 2 二、时序图 3 2.1播放控制 3 2.2故障控制 4 三、 检测流程图 5 3.1卡顿延迟检测流程 5 3.2线路切换流程 6**一、检测定义 1.1直播卡顿检测 1、计录每秒接收帧数,共N(默认值…

如何快速测试网络链路质量?

在我们日常工作、学习、上网过程中经常会遇到网络卡、慢、时断时续的现象,企业的信息中心或是网络中心经常会接到这样的投诉,那这个网络故障到底是由什么原因引起的呢?这是个非常复杂的事情,解决起来也是比较头疼,特别…

弱网络测试

弱网络 简单理解:网络不好;网络环境复杂、使用场景多变;异常逻辑检查。 弱网络测什么 测试标准 客户端的核心场景必须有断线重连机制,并在有网络抖动、延时、丢包的网络场景下,客户端需达到以下要求: 一. …

网络性能评价方法

网络性能评价的实现 网络的优劣会影响网络交互的延迟时间、稳定性和速度,从用户体验上集中表现为打开页面的速度缓慢。比如在较差的网络并发的请求数会被降低,以避免网络性能因为阻塞而进一步恶化。 针对不同网络品质的优化的前提就是要有一种方法来度…

网络性能评价

这里并不是要系统说明网络性能评测,而是闲聊一些体会。 系统观 从考察网络的性能角度上来看网络,总是难以捉摸,其中涉及的因素很多。各种网络参数和各类概率事件相互作用,最终表现出一个不断变化的系统环境。作为一个运用网络的开…

如何测试网络线路的质量

不接触网络的人,不会去关注网络的质量问题,只会考虑怎么没有网络了,这是什么情况?OK,小面我用自己的理解来解释如何衡量网络的质量标准 其实,我总结的这些都是通过在多台POS机系统(每个店使用的…

网络性能评估

在Linux中常见的网络性能指标如下 l 带宽 表示链路的最大传输速率,单位是b/s 比特/秒,在位服务器选网卡时,带宽就是最核心的参考指标,常用的带宽有1000M,10G,40G,100G等 网络带宽测试&#…

LTE 网络质量指标

网络质量参数 对于UE而言,LTE网络质量主要看三个参数:RSRP,SINR,RSRQ。 RSRP是参考信号接收功率, 取值范围:-44 ~ -140dBm,值越大越好。 SINR是信噪比指标,取值范围:0…

Android实时网络质量检测

Android实时质量检测 传送门: github csdn 原理 使用ping -n -i %f -c %d %s命令实现网络质量检测,具体参数如下: -n count 发送 count 指定的 ECHO 数据包数。默认值为 4 -i 生存时间 -c 路由隔离仓标识符 如图ping后返回的最后一行可以…

为什么网站总显示服务器不能创建对象,Win7系统下IE网页报错“Automation 服务器不能创建对象”怎么办?...

在Win7系统下使用微软老牌IE浏览器经常出现各种各样的故障,比如当前页面脚本出现错误、网页无法播放视屏、无法加载FLASH播放器等,近日又有用户反馈IE网页报错“Automation 服务器不能创建对象”,据了解,出现这种情况是部分网站脚…

JS 解决IE浏览器出现Automation 服务器不能创建对象

1、Automation 服务器不能创建对象 解决方案: 工具 -> Internet选项 -> 安全 -> 自定义级别->ActiveX控件和插件(启用如下ActiveX控件设置) 2、IE浏览器上传文件时本地路径变成”C:\fakepath\” 解决方案: 工具 -&…

automation 服务器不能创建对象_高并发服务器逻辑处理瓶颈,如何解决?

高并发服务器逻辑处理瓶颈,如何解决?首先我们先了解什么是并发! 并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个…

windows无法新建计算机对象,win10系统ie浏览器提示“Automation 服务器不能创建对象”的办法...

有关win10系统ie浏览器提示“Automation 服务器不能创建对象”的操作方法想必大家有所耳闻。但是能够对win10系统ie浏览器提示“Automation 服务器不能创建对象”进行实际操作的人却不多。其实解决win10系统ie浏览器提示“Automation 服务器不能创建对象”的问题也不是难事&…

Automation 服务器不能创建对象

Automation 服务器不能创建对象 好记性不如烂笔头,重装了N次系统 ,终于知道了原因。 用VC6.0 写一个atl com 用IE执行,可以正常调用 ,用 hta可以正常调用 。 但是用cscript.exe 就是不能调用 成功!!&…

【调试环境】Automation服务器不能创建对象 | EvilNum的JavaScript

Win7 IE8 调试的HTML代码错误IE设置💔💔💔注册表💜💜💜CLSID 成功💫💫💫允许阻止的内容安全警告-是允许ActiveX交互F12进行调试停止运行脚本脚本窗口 调试状态 调试的HT…

网页打印服务器无法创建对象,打印问题,小编教你怎么解决automation服务器不能创建对象...

小编其实第一次在遇到“automation服务器不能创建对象”的问题时,是一脸懵的,因为不知道这是什么意思,也不知道怎么解决。后来对于朋友相助,才得以解决,他还教我以后遇到这问题要怎么解决。那么今天小编就将解决的方法…