Python基于TensorFlow实现BP和LSTM神经网络的空气质量预测并使用SHAP解释模型项目实战

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后关注获取。

1.项目背景

随着工业化进程的加速和城市化的扩展,空气污染成为全球面临的主要环境问题之一。空气质量的好坏直接影响到人们的健康和生活质量,因此,准确预测空气质量对于环境保护和公共健康管理具有重要意义。本项目旨在利用深度学习技术,特别是基于TensorFlow框架构建的BP(Back Propagation)神经网络和LSTM(Long Short-Term Memory)神经网络,来预测未来一段时间内的空气质量指数(AQI)。通过模型预测,可以提前采取措施减少污染物排放,改善空气质量。

利用BP神经网络和LSTM神经网络强大的非线性映射能力和时间序列数据处理能力,提高空气质量预测的准确性。通过预测未来的空气质量状况,政府和相关部门可以提前规划和实施有效的污染控制策略,如限制工业排放、增加绿化等。本项目的实施不仅有助于提升空气质量预测的科学性和准确性,也为推动环保事业的发展贡献了技术力量。

本项目通过Python基于TensorFlow实现BP和LSTM神经网络的空气质量预测并使用SHAP解释模型项目实战。        

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

编号 

变量名称

描述

1

Date

日期

2

Quality Level

质量等级

3

AQI Index

空气质量指数

4

Ranking

排名 

5

PM2.5

细颗粒物浓度          单位:μg/m³

6

PM10

可吸入颗粒物浓度      单位:μg/m³

7

SO2

二氧化硫浓度          单位:μg/m³

8

NO2

二氧化氮浓度          单位:μg/m³

9

CO

一氧化碳浓度          单位:μg/m³

10

O3

臭氧浓度              单位:μg/m³

数据详情如下(部分展示):

变量名词解释:

质量等级

质量等级是对空气质量的整体评价,通常分为几个等级,每个等级对应一定的空气质量标准。常见的质量等级包括:

优:空气质量良好,对健康影响较小。

良:空气质量一般,对敏感人群可能有轻微影响。

轻度污染:空气质量较差,对敏感人群有明显影响。

中度污染:空气质量差,对所有人群有影响。

重度污染:空气质量非常差,对所有人群有严重影响。

严重污染:空气质量极其恶劣,对所有人群有极严重的健康风险。

空气质量指数:

空气质量指数是一个数值化的指标,用于描述空气污染的程度。AQI 的值范围从 0 到 500,数值越高表示污染越严重。常见的 AQI 分级如下:

0-50:优

51-100:良

101-150:轻度污染

151-200:中度污染

201-300:重度污染

301-500:严重污染

3.数据预处理

3.1 用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据:

关键代码:

3.2数据缺失查看

使用Pandas工具的info()方法查看数据信息:

从上图可以看到,总共有9个变量,数据中无缺失值,共1025条数据。

关键代码: 

3.3数据描述性统计

通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。

关键代码如下:  

4.探索性数据分析

4.1 PM2.5变量分布直方图

用Matplotlib工具的hist()方法绘制直方图:

4.2 相关性分析

从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。  

5.特征工程

5.1 建立特征数据和标签数据

关键代码如下:

5.2 数据集拆分

把数据集划分为80%训练集、20%测试集进行划分,关键代码如下:  

6.构建BP和LSTM神经网络回归模型    

主要使用通过Python基于TensorFlow实现BP和LSTM神经网络的空气质量回归模型,用于目标回归。        

6.1 构建模型 

编号

模型名称

参数

1

BP神经网络回归模型     

units=32

2

epochs=100

编号

模型名称

参数

1

LSTM神经网络回归模型     

units=96

2

epochs=100

6.2 模型摘要信息

BP神经网络回归模型:

LSTM神经网络回归模型:

6.3 模型网络结构

BP神经网络回归模型:

LSTM神经网络回归模型:

6.4 模型训练集测试集损失曲线图

BP神经网络回归模型:

LSTM神经网络回归模型:

7.模型评估

7.1评估指标及结果  

评估指标主要包括R方、均方误差、解释性方差、绝对误差等等。

模型名称

指标名称

指标值

测试集

BP神经网络回归模型     

R方

 0.8761

均方误差

58.0559

解释方差分

0.8941

绝对误差

5.4164

从上表可以看出,R方分值为0.8761,说明模型效果比较好。   

关键代码如下:     

模型名称

指标名称

指标值

测试集

LSTM神经网络回归模型     

R方

0.9293

均方误差

33.1359

解释方差分

0.9303

绝对误差

3.9159

从上表可以看出,R方分值为0.9293,说明模型效果比较好。   

关键代码如下:     

7.2 真实值与预测值对比图

BP神经网络回归模型:

从上图可以看出真实值和预测值波动基本一致,模型效果良好。  

LSTM神经网络回归模型:

从上图可以看出真实值和预测值波动基本一致,模型效果良好。  

7.3 使用SHAP解释模型

BP神经网络回归模型:

LSTM神经网络回归模型: 

此汇总图展示每个特征的重要性及其对预测的影响。图中每个点代表一个样本的一个特征值,点的位置表示该特征值对预测结果的影响大小,颜色表示特征值的高低。图表中的点越靠右,表示该特征值对预测结果的正向影响越大;点越靠左,表示负向影响越大。颜色表示特征值的高低,通常红色表示高值,蓝色表示低值。

8.结论与展望

综上所述,本文采用了BP神经网络回归算法和LSTM神经网络回归算法来构建回归模型,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/35759.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

高效查找秘密武器一:位图

有这样的一个问题: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数 中。 那么我们一般会想到这样做的 1.遍历,时间复杂度O(n) 2.排序(N*logN)&#xff0c…

对于小型企业,独立站和电商平台哪个更经济?

对于小型企业来说,选择独立站还是电商平台,需要根据各自的成本优势来决定。以下是一些关键点的比较: 平台费用: 电商平台:通常需要缴纳一定比例的交易佣金或年费,例如天猫、京东等平台的保证金和佣金费用相…

带权并查集和扩展域并查集的一些整理和理解(上)

请读者在有一定并查集基础上再阅读(至少要知道什么是带权和扩展域并查集) 在最近做题时候,我遇到了一些带权并查集和扩展域并查集的题目。我觉得它们都很难写也很难想,尤其是带权并查集我几乎第一时间无法想到是怎么做的&#xf…

json+Tomact项目报错怎么办?

在响应请求的时候,如果http响应没有指定响应数据的content-type,浏览器就不知道按照什么格式解析响应体的数据,因为浏览器只知道怎样解析http的行和头,再从头里获取响应体的字节长度和类型,按照你给的长度去截流&#…

极限激光雷达点云数据集

https://arxiv.org/pdf/2307.07607v5 ‎ - AirLab 他们的数据集里面有这么多极限场景 点云数据转换 他们的激光用的velodyne,录制的格式是【velodyne_msgs/VelodyneScan】 需要把【velodyne_msgs/VelodyneScan】转化成【sensor_msgs/PointCloud2】 我编译https://github.co…

信奥常考点:二叉树的构建(已知中序和 前序或后序 的情况下)

一、题目引入 这是来自CCF-GESP C七级认证 2024年9月的题目。 我们在此不解题,只把树画出来。 CCF-GESP 编程能力认证 C 七级 2024年9月份详细解析-CSDN博客 二、解题过程 我们可以根据先序遍历得出根节点是A,然后我们得到了A的左子树[B D](橙…

电容的概念和基本参数

电容基本概念 电容最简单的结构可由两个相互靠近的导体平面中间夹一层绝缘介质组成,当在电容两个极板间加上电压时,电容就会储存电荷,所以电容是一个充放电荷的电子元器件。电容量是电容储存电荷多少的一个量值,平板电容的电容量…

【js逆向专题】13.jsvmp补环境篇一

目录 一.了解jsvmp技术1. js虚拟机保护方案2.jsvmp实现原理3. 模拟jsvmp执行过程 二.环境检测1. 什么是环境检测2.案例讲解 三. 项目实战1. 案例11.逆向目标2. 项目分析1.补第一个referrer2. 调试技巧13. 调试技巧24. 补充sign5. 补 length6. 参数长短补充 3. 逆向结果 2. 案例…

高质量翻译在美国推广移动应用中的重要性

美国的移动应用市场是世界上竞争最激烈、利润最高的市场之一,为开发者提供了接触数百万潜在用户的机会。然而,进入这个市场需要的不仅仅是创新技术或令人信服的想法;它要求与目标受众进行有效地沟通和文化契合。在这个过程中,高质…

[Redis#17] 主从复制 | 拓扑结构 | 复制原理 | 数据同步 | psync

目录 主从模式 主从复制作用 建立主从复制 主节点信息 从节点信息 断开主从复制关系 主从拓扑结构 主从复制原理 1. 复制过程 2. 数据同步(PSYNC) 3. 三种复制方式 一、全量复制 二、部分复制 三、实时复制 四、主从复制模式存在的问题 在…

【Unity高级】如何动态调整物体透明度

本文介绍了如何设置及动态调整物体的透明度。 一、手动设置的方法 我们先来看下如何手动设置物体的透明度。 物体的透明与否是通过材质来设置的。只有我们把具有透明度的材质指给物体的渲染器(Render),物体就被设置成相应的透明度了。 看一…

相机动态/在线标定

图1 图2 基本原理 【原理1】平行线在射影变换后会交于一点。如图所示,A为相机光心,蓝色矩形框为归一化平面,O为平面中心。地面四条黄色直线为平行且等距的车道线。HI交其中两条车道线于H、I, 过G作HI的平行线GM交车道线于M。HI、GM在归一化平面上的投影分别为JK、PN,二者会…

通俗易懂理解:网络安全恶意节点的检测与哨兵节点的激活【论文+代码】

以下资料参考来自本文末尾的参考资料与代码: 在网络安全中,恶意节点检测和哨兵节点激活是确保网络稳定性、可靠性和安全性的关键技术,尤其是在分布式系统、物联网 (IoT)、区块链网络等环境中。下面将详细介绍这两个概念及其应用。 一、恶意…

python作业

1.D 2.B 3.D 4.C 5.B 6.D 7.D 8.B 9.D 10. A 11.D 12.C 13.√ 14.√ 16.√ 17.√ 18.None 19.([1,3],[2]) 20. 列表思维导图

Redis(上)

Redis 基础 什么是 Redis? Redis (REmote DIctionary Server)是一个基于 C 语言开发的开源 NoSQL 数据库(BSD 许可)。与传统数据库不同的是,Redis 的数据是保存在内存中的(内存数据库&#xf…

LabVIEW气缸摩擦力测试系统

基于LabVIEW的气缸摩擦力测试系统实现了气缸在不同工作状态下摩擦力的快速、准确测试。系统由硬件平台和软件两大部分组成,具有高自动化、精确测量和用户友好等特点,可广泛应用于精密机械和自动化领域。 ​ 项目背景: 气缸作为舵机关键部件…

CentOS7.X 安装RustDesk自建服务器实现远程桌面控制

参照文章CentOS安装RustDesk自建服务器中间总有几个位置出错,经实践做个记录防止遗忘 一 环境&工具准备 1.1 阿里云轻量服务器、Centos7系统、目前最高1.1.11版本rustdesk-server-linux-amd64.zip 1.2 阿里云轻量服务器–安全组–开放端口:TCP(21…

工具篇:IDEA VFS 损害启动报错 com.intellij.util.io.CorruptedException 处理

文章目录 前言一、 idea 的 VFS是什么?二、解决方式:2.1 退出Idea 然后重新打开:2.2 手动清除Idea 缓存,让Idea 重新建立缓存:2.2.1 打开 Invalidate Caches / Restart 对话框:2.2.2 勾选要清除的缓存: 总结…

2.linux中调度kettle

一.准备转换,等会在linux中用 1.添加excel输入组件,并添加对应的文件 2.添加列拆分为多行组件 3.添加文本文件输出组件 4.保存转换 二.linux安装java 1.把jdk-8u144-linux-x64.tar.gz上传到linux的/lx目录下 2. 解压jdk包,然后配置环境变量…

第四节、电机定角度转动【51单片机-TB6600驱动器-步进电机教程】

摘要:本节介绍用电机转动角度计算步骤,从而控制步进电机转角 一、 计算过程 1.1 驱动器接收一个脉冲后,步进电机转动一步,根据驱动器设置的细分值 计算一个脉冲对应电机转动的角度step_x s t e p x s t e p X … … ① step_{x…