网站没有域名,哪个网站做logo设计师,wordpress内置分页显示总页数,新手建站详细步骤全文链接#xff1a;https://tecdat.cn/?p38742 分析师#xff1a;Zhixiong Weng 人们每时每刻都离不开氧#xff0c;并通过吸入空气而获得氧。一个成年人每天需要吸入空气达6500升以获得足够的氧气#xff0c;因此#xff0c;被污染了的空气对人体健康有直接的影响… 全文链接https://tecdat.cn/?p38742 分析师Zhixiong Weng 人们每时每刻都离不开氧并通过吸入空气而获得氧。一个成年人每天需要吸入空气达6500升以获得足够的氧气因此被污染了的空气对人体健康有直接的影响空气品质对人的影响更是至关重要点击文末“阅读原文”获取完整代码数据。 每出现一次AQI指数数值过大可以肯定它都会引起我们足够的重视提醒我们要保护我们生存的环境尽可能地减少对环境的破坏与污染。而从更高的层次来说消除或减少空气污染对人类的危害唯一可行的就是提高我们的环保理念并切实在日常生活中对环境加以保护。从机器学习的角度来说根据已有数据可预测未来AQI浓度也可以将空气质量分类为优良差等对提高环境保护有重要意义。 机器学习研究 任务/目标 根据已有AQI数据对其进行简单的聚类、分类、降维、相关性分析、预测、可视化等对其探索得出相关结论如使用k-means将数据聚类将其分成适合的组数探究AQI数据的分布情况使用回归预测未来的AQI使用主成分分析对其降维并探究AQI气体的相关性使用K-NN算法将AQI数据分类给未来没有分类的数据自动分好类等。 数据源准备 网络爬取别称数据提取就是从指定的网站上收集数据信息。网络爬虫是一种程序,他可以高效的获取我们想要的数据主要用于搜索引擎通过使用request、scrapy、selenium等库获取该案例所需数据。如下图为部分数据 数据降维 AQI数据有多个变量为了方便后续计算使用主成分分析法将多个变量减少到两至三个 选择两个主成分即可保留数据集的大部分信息。 建模 k均值算法 根据空气质量数据将其分成合适的组数探索各空气污染气体的分布情况。过程是先收集数据并选择合适的中心点计算其他数据点到中心点的距离计算平均值将数据点分配到给他最近的聚类中心。 点击标题查阅往期内容 R语言空气污染数据的地理空间可视化和分析颗粒物2.5PM2.5和空气质量指数AQI 左右滑动查看更多 01 02 03 04 线性回归 回归分析是一种预测性的建模技术它研究的是因变量目标和自变量预测器之间的关系。这种技术通常用于预测分析时间序列模型以及发现变量之间的因果关系。通常使用曲线/线来拟合数据点目标是使曲线到数据点的距离差异最小。对大量的观测数据进行处理从而得到比较符合事物内部规律的数学表达式。也就是说寻找到数据与数据之间的规律所在从而就可以模拟出结果也就是对结果进行预测。 k近邻算法 给定一个训练数据集对新的输入实例在训练集中找到与该实例最临近就把这个实例分配到这个类中。 当所预测的空气污染物PM2.5,PM10,O3,No2,Co,So2的含量分别为29,20,50,13,0.88,10μg/m3(CO为mg/m3)时空气质量为优。空气质量令人满意基本无空气污染对健康没有危害各类人群可多参加户外活动多呼吸一下清新的空气。 使用此模型当测量出污染物指数时就可以预测空气的质量等级。每出现一次AQI指数数值过大可以肯定它都会引起我们足够的重视提醒我们要保护我们生存的环境尽可能地减少对环境的破坏与污染。 Python 中深度学习模型BiLSTM、GRU、LSTM 及 BiLSTM-CNN的空气质量指数时间序列数据融合预测分析|附数据代码 接下来将探讨多种深度学习模型在空气质量指数时间序列预测与分析中的应用通过对比不同模型的性能以期找到更优的预测方法。 数据介绍 首先我们获取了包含空气质量相关指标的数据集查看文末了解数据免费获取方式其以表格形式呈现包含了诸如年份year、月份month、日day、小时hour以及多种污染物浓度指标如 PM2.5、PM10、SO2、NO2、CO、O3 等以及气象相关数据如温度 TEMP、气压 PRES、露点 DEWP、降雨量 RAIN、风向 wd、风速 WSPM 等信息。 通过pandas库的相关函数对数据进行读取代码如下 import pandas as pd
import numpy as np
import seaborn as sns
from sklearn import preprocessing 这段代码的作用是导入所需的库并将存储空气质量数据的csv文件读取到程序中形成一个可供后续操作的数据框DataFrame对象方便进行数据处理和分析。接着我们可以使用describe函数来查看数据的基本统计信息比如均值、标准差、最小值、最大值等代码如下 data.describe() 这能帮助我们快速了解各指标数据的大致分布情况为后续的数据预处理和模型构建提供参考依据。 数据预处理 原始数据可能存在一些缺失值等问题为了保证模型训练的准确性需要进行预处理。首先我们使用如下代码去除含有缺失值的行 data data.dropna() 然后针对部分指标计算其特定时间窗口内的平均值等统计量比如对于PM10、PM2.5等污染物指标计算其 24 小时的平均浓度值代码示例如下 data\[PM10\_24hr\_avg\] data\[PM10\].rolling(window 24, min_periods 16).mean().values 这些新生成的指标数据可以更好地反映污染物浓度在一定时间范围内的综合情况有助于提升模型对空气质量变化趋势的捕捉能力。 深度学习模型应用 在完成数据预处理后我们将应用多种深度学习模型来进行空气质量指数的预测以下是不同模型的构建与训练过程。一双向长短期记忆网络BiLSTM模型双向长短期记忆网络BiLSTM能够同时考虑时间序列数据的正向和反向信息对于捕捉时间序列中的长期依赖关系有较好的效果。其模型构建代码如下 import tensorflow as tf
model_BiLSTM tf.keras.Sequential(\[tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(100, return\_sequencesTrue), input\_shape(n\_steps, n\_features)), 上述代码首先构建了一个包含两层双向 LSTM 层以及相应的Dropout层用于防止过拟合和输出层的序列模型然后对模型进行编译指定了优化器、损失函数以及评估指标等最后通过summary函数查看模型的结构和参数信息。使用tf.kel函数可以可视化模型结构代码如下 其生成的模型结构图片如下所示能让我们直观地看到各层的输入输出形状等关键信息。随后对模型进行训练代码如下 hist model_BiLSTM.fit 训练完成后可以使用训练好的模型进行预测并计算相关的评估指标如均方误差MSE等同时还可以绘制预测值与真实值的对比图来直观地查看模型的预测效果 def plot\_predicted(predicted\_data, true_data):fig, ax plt.subplots(figsize(17,8)) 其生成的对比图如下所示有助于我们直观判断模型预测的准确性。二门控循环单元GRU网络模型门控循环单元GRU网络也是一种常用于处理时间序列数据的深度学习模型相较于 LSTM 结构相对简单但同样能有效捕捉序列信息。其模型构建与训练过程如下 from sklearn.metrics import mean\_squared\_error, mean\_absolute\_error, r2_score
regressorGRU Sequential()
# 第一层 GRU 层并添加 Dropout 正则化
regressorGRU.add(GRU(units50, return\_sequencesTrue, input\_shape(X\_split\_train.shape\[1\],1), activationtanh))
regressorGRU.add(Dropout(0.2))
# 第二层 GRU 层
regressorGRU.add(GRU(units50, return\_sequencesTrue, input\_shape(X\_split\_train.shape\[1\],1), activationtanh))
...... 这段代码构建了一个多层的 GRU 网络模型每一层都设置了相应的参数和激活函数并添加了Dropout层来防止过拟合最后进行编译同样通过summary查看模型结构和参数信息。 训练结束后进行预测并计算诸如均方误差MSE、均方根误差RMSE、平均绝对误差MAE以及 R2 分数等评估指标。同时也可以绘制预测值与真实值的对比图来直观展示模型效果代码和前面类似此处不再赘述。另外还可以绘制模型训练过程中的损失函数变化曲线以及准确率变化曲线等代码如下 plt.plot(hist.history\[accuracy\])
plt.plot(hist.history\[val_accuracy\])
plt.title(model accuracy)
plt.ylabel(accuracy)
plt.xlabel(epoch)
plt.legend(\[train, test\], locupper left)
plt.show()
plt.plot(hist.history\[loss\])
plt.plot(hist.history\[val_loss\])
plt.title(model loss)
plt.ylabel(loss)
plt.xlabel(epoch)
plt.legend(\[train, test\], locupper left)
plt.show() 生成的图片如下所示可以帮助我们分析模型是否存在过拟合等问题。长短期记忆网络LSTM及其相关变体模型除了上述的 BiLSTM 和 GRU 模型外我们还应用了普通的 LSTM 以及 LSTM 与卷积神经网络CNN结合的模型BiLSTM-CNN来进行预测分析其模型构建、训练和评估的过程与前面类似只是在模型结构、参数设置等方面存在差异。 构建好模型后进行训练并在训练过程中记录相关指标代码如下 hist model.fit(train_dataset,validation\_data val\_dataset,epochs50,callbacks\[es,plateau\],verbose1) 训练完成后同样进行预测以及评估指标计算、绘制对比图等操作代码与前面类似不再赘述。而对于 BiLSTM-CNN 模型其结合了双向 LSTM 对时间序列的处理能力和卷积神经网络对局部特征提取的优势。 后续同样进行训练、预测以及相关指标评估和结果可视化等操作通过这些不同模型的对比分析我们可以更全面地了解各模型在空气质量指数时间序列预测中的表现优劣。 结果对比与分析 通过对上述多种深度学习模型在相同数据集上进行训练、预测并计算相应的评估指标如均方误差、均方根误差、平均绝对误差、R2 分数等我们可以对比不同模型的性能。从不同模型的预测值与真实值对比图以及各项指标数值来看不同模型在捕捉空气质量指数变化趋势以及预测准确性上各有差异。例如部分模型在某些时间段的预测值与真实值贴合度较高而有些模型则可能存在一定偏差。通过分析这些结果可以为后续进一步优化模型或者选择更合适的预测模型提供参考依据以便更准确地对空气质量指数进行预测从而更好地服务于环境保护等相关工作。总之深度学习模型在空气质量指数时间序列预测方面有着较大的应用潜力但不同模型的适用性和性能表现还需要根据具体的数据特点和应用场景等因素综合考量未来还可以进一步探索模型改进以及融合等方法来提升预测的准确性和可靠性。 关于分析师 在此对 Zhixiong Weng 对本文所作的贡献表示诚挚感谢他在桂林电子科技大学完成了物流管理信息化专业的学习专注数据采集、数据分析以及机器学习领域。擅长 R 语言、Python、SQL在利用机器学习对空气质量指数的研究方面颇有建树。 数据获取 在公众号后台回复“空气质量数据”可免费获取完整数据。 本文中分析的数据、代码分享到会员群扫描下面二维码即可加群 资料获取 在公众号后台回复“领资料”可免费获取数据分析、机器学习、深度学习等学习资料。 点击文末“阅读原文” 获取全文完整代码数据资料。 本文选自《Python深度学习GRU、LSTM 、BiLSTM-CNN神经网络空气质量指数AQI时间序列预测及机器学习分析》。 点击标题查阅往期内容 【视频讲解】共享单车使用量预测RNN, LSTMGRU循环神经网络和传统机器学习|数据分享 视频Python深度学习量化交易策略、股价预测LSTM、GRU深度门控循环神经网络|附代码数据 Python用GRU神经网络模型预测比特币价格时间序列数据2案例可视化|附代码数据 【视频】LSTM模型原理及其进行股票收盘价的时间序列预测讲解|附数据代码 Matlab用深度学习长短期记忆LSTM神经网络对文本数据进行分类 RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测 结合新冠疫情COVID-19股票价格预测ARIMAKNN和神经网络时间序列分析 深度学习Keras使用神经网络进行简单文本分类分析新闻组数据 用PyTorch机器学习神经网络分类预测银行客户流失模型 PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据 Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化 Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析 R语言中的神经网络预测时间序列多层感知器MLP和极限学习机ELM数据分析报告 R语言深度学习用keras神经网络回归模型预测时间序列数据 Matlab用深度学习长短期记忆LSTM神经网络对文本数据进行分类 R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据MNIST MATLAB中用BP神经网络预测人体脂肪百分比数据 Python中用PyTorch机器学习神经网络分类预测银行客户流失模型 R语言实现CNN卷积神经网络模型进行回归数据分析 SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型 【视频】R语言实现CNN卷积神经网络模型进行回归数据分析 Python使用神经网络进行简单文本分类 R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析 R语言基于递归神经网络RNN的温度时间序列预测 R语言神经网络模型预测车辆数量时间序列 R语言中的BP神经网络模型分析学生成绩 matlab使用长短期记忆LSTM神经网络对序列数据进行分类 R语言实现拟合神经网络预测和结果可视化 用R语言实现神经网络预测股票实例 使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测 python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译 用于NLP的Python使用Keras的多标签文本LSTM神经网络分类