基于长短时记忆神经网络的空气质量数据分析与预测的设计与实现

研究内容

本文旨在研究和解决气象参数和气象aqi指数实时预测准确度较低和速度较慢的问题,并结合所有空气质量监测站点以及气象监测站点的实际情况,将长短时记忆神经网络应用于气象基本指数的预测中,为日后的政府决策和人类出行活动提供一定的 参考依据,与气象数据参考平台 (1) 跟随研究方案使用python等编程语言完成实验的过程 (2) 使用echart.js对数据进行可视化 (3) 对气象维度像进行相关性分析。

采取的研究方法

(1) 首先对数据进行清洗整理并且可视化,寻找气象参数和pm2.5和aqi方面的作用 (2) 采用无监督学习聚类算法对气象数据进行聚类分类型进行AQI和PM2.5预测分析 (3) 使用ARIMA,长短时记忆神经网络对SO2 NO2 NO NOX PM10 PM1 CO 浓度的总体变化规律和趋势进行分析 (4) 使用Pearson相关系数, Spearman相关系数,Kendall's tau-b等级相关 对气象因素和pm2.5的浓度进行相关性分析

技术路线

(1) 对市内SO2 NO2 NO NOX PM10 PM1 CO 浓度的总体变化规律和趋势进行分析,通过年、月、日等时间尺度找寻 PM2.5浓度和AQI指数的分布特征;

(2) 将 PM2.5 浓度与气象因子(SO2 NO2 NO NOX PM10 PM1 CO)之间的相关性进行分析,包含温度、气压、湿度等气象参数,并结合兰州市具体地形和地理位置,分析风速及风向对 PM2.5 浓度扩散 的影响;

(3) 研究并分析预测站点与周围站点 PM2.5浓度和的时空关联性。如果两个空气质量 监测站点距离很近,则假设这两个站点所处的大气环境大致类似,所以这两个站点 PM2.5 浓 度变化规律也经常一致,因此研究并分析预测站点与该站点的周围站点 PM2.5 浓度变化 的时空关联性,并将此时空关联性应用于预测模型当中,提高预测精度;

(4) 消除或减少数据集类别不平衡对预测模型性能的影响。本文所使用实际气象数据和空气污染物数据,存在有显著的类别不平衡,对预测模型的性能有一定负面影响,本文从预测方法的层面出发,解决采样带来的缺陷,提高预测精度;

(5) 使用无监督算法对空气质量数据集进行聚类,对不同的簇分别建立预测模型,使得模型对同一簇内的数据更有针对性,从而提高预测精度;

实现

复制代码
pm_data['数据'].plot(figsize=(30,15))

# 设置坐标字体大小
plt.tick_params(labelsize=30)
# 生成刻度线网格
plt.grid()

堆积图

复制代码
pm_data.plot.area(stacked=True)
pm_data.plot.area(stacked=False)

核密度估计图(KDE图)

复制代码
pm_data['数据'].plot(kind='kde')
复制代码
sns.heatmap(pm_data['2020'].resample('M').mean().T)

每个月pm2.5分布箱型图

复制代码
months = pd.concat([DataFrame(x[1].values) for x in groups_month], axis=1)
months = DataFrame(months)
months.columns = range(1,13)
months.boxplot(figsize=(20,15))
plt.title('每个月pm2.5分布箱型图') 

每个月pm2.5分布小提琴图

每个月pm2.5分布热力图

pm2.5分布滞后1期散点图

pm2.5分布滞后3期散点图

pm2.5分布自相关图

对特征进行独热编码

读热向量编码用来将定类数据表示为0-1的二进制,便于输入模型中。

比如,计算机并不认识颜色这一列的"红"、"黄"、"绿"三个分类,所以我们用"是不是红色"、"是不是黄色"、"是不是绿色"三列来分开表示"颜色"这一列特征。

复制代码
# 使用pandas的get_dummies函数对df2的指定列进行独热向量编码操作 1 0 10 
dummy_df = pd.get_dummies(pm_data2, columns=columns_to_encoding)

线性回归算法

复制代码
对于这个数据集温数据集,是典型的多元线性回归,有72个自变量,其中包含很多独热向量编码处理后的分类变量(是否周末、是否周六、是否月初,等等)。
复制代码
从图中可以看出,拟合出的结果是一簇一簇的点,且每一年的同一段时间都是空的或者密集的,模型明显欠拟合了,究其原因,是因为我们输入的72个特征中包含了太多的独热向量编码,其中一些特征的系数较大,就会在每一年同一段时间,也就是某些特征相同的时候取得相同的值,因此就会产生一簇一簇的点。

多项式回归

复制代码
三次多项式拟合的点与原始数据完全重合,出现了过拟合。在机器学习中,我们希望模型能大而化之的学习到数据的普遍一般规律,而不是对每一个点死记硬背。因此,在线性回归中,二次多项式回归是效果最好的。

随机森林算法

特征重要性分析

多层神经网络

神经网络对输入特征的幅度很敏感,我们首先需要将输入特征归一化。

相关推荐
m0_751336391 小时前
突破性进展:超短等离子体脉冲实现单电子量子干涉,为飞行量子比特奠定基础
人工智能·深度学习·量子计算·材料科学·光子器件·光子学·无线电电子
美狐美颜sdk4 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
DeepSeek-大模型系统教程4 小时前
推荐 7 个本周 yyds 的 GitHub 项目。
人工智能·ai·语言模型·大模型·github·ai大模型·大模型学习
有Li4 小时前
通过具有一致性嵌入的大语言模型实现端到端乳腺癌放射治疗计划制定|文献速递-最新论文分享
论文阅读·深度学习·分类·医学生
郭庆汝4 小时前
pytorch、torchvision与python版本对应关系
人工智能·pytorch·python
IT古董4 小时前
【第二章:机器学习与神经网络概述】03.类算法理论与实践-(3)决策树分类器
神经网络·算法·机器学习
小雷FansUnion6 小时前
深入理解MCP架构:智能服务编排、上下文管理与动态路由实战
人工智能·架构·大模型·mcp
资讯分享周6 小时前
扣子空间PPT生产力升级:AI智能生成与多模态创作新时代
人工智能·powerpoint
思则变7 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
叶子爱分享7 小时前
计算机视觉与图像处理的关系
图像处理·人工智能·计算机视觉