




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
研究生项目报告学生学号专业电子信息班级人工智能课程名称深度学习任课教师项目名称基于LSTM的北京空气质量预测
一、数据集介绍这是一个空气质量数据集,报告了北京2010年到2014年每小时气压风向雨雪量等相关物理量的数据集来反映空气污染水平。属性字段简要说明No行号year此列中数据的年份month此列中数据的月份day此列中数据的几号hour此行中数据的小时pm2.5PM2.5浓度DEWP露点温度TEMP对应时刻的温度PRES对应时刻的气压cbwd组合风向Iws累计风速Is累计降雪时数ls累计降雨时数数据处理1.将日期时间信息合并为单个日期时间,以便可以将其用作Pandas中的索引。2.删除存在空值数据和标签属性行。3.将数据集中的'pollution'列中的缺失值(NA)用0填充。4.删除数据集中的前24行数据。5.将数据集保存到名为'pollution.csv'的CSV文件中综合起来,该段代码实现了从名为'raw.csv'的文件中读取数据集,解析日期时间列,进行一些数据处理(如删除列、填充缺失值、删除行),然后将处理后的数据保存为'pollution.csv'文件,并打印出数据集的前5行。处理结果(部分'pollution.csv'数据展示):数据绘图这段代码的目的是通过绘图展示数据集中特定列的趋势变化。每个子图对应于一个特定列,图表的纵轴表示该列的数值,横轴表示时间或数据点的索引。通过绘制折线图,可以观察到每个特定列随时间的变化趋势。不同的子图分别展示了不同列的趋势,每个子图都有相应的标题来指示所展示的列。该代码段的输出结果是一个包含多个子图的图表,每个子图对应一个特定列的趋势。结果:将数据转换成监督学习数据该步骤将数据集构建为监督学习问题并对输入变量进行标准化。将监督学习问题定义为根据前一时间步骤的污染测量和天气条件来预测当前时间(t)的污染。首先,加载“pollution.csv”数据集。风向特征是标签编码的(整数编码)。接下来,对所有特征进行归一化,然后将数据集转化为监督学习问题。然后删除要预测的小时(t)的天气变量。1.定义series_to_supervised函数:该函数将时间序列数据转换为监督学习型数据。它接受参数data表示输入数据,n_in表示输入序列长度,n_out表示输出序列长度,dropna表示是否删除包含空值的行。函数首先将数据转换为数据框,并创建空的列列表和列名列表。然后,它通过使用df.shift方法向列列表中添加平移后的数据。接下来,函数将列列表中的张量按列拼接起来,创建一个包含输入和输出序列的数据框。最后,函数重命名列名,并根据dropnan参数删除包含空值的行,最终返回转换后的数据框。2.数据预处理:对"风向"列进行数字编码转换:使用LabelEncoder将字符串标签转换为数值编码,并将结果存储回原始数据集中。数据类型转换:将数据集中的所有值转换为浮点型,以便后续的数据缩放。数据缩放:使用MinMaxScaler对数据进行缩放,将所有特征值缩放到[0,1]的范围内。3.数据转换为监督学习型数据:调用series_to_supervised函数,将缩放后的数据转换为监督学习型数据集。设置输入序列长度为1,输出序列长度为1。转换后的数据集存储在reframed变量中。4.删掉不需要预测的列:使用drop方法删除不需要的列,通过指定axis=1表示列操作,inplace=True表示原地修改。5.打印删减后的数据集的前几行,最终的数据集形式是:v1(t-1),v2(t-2),v3(t-3),v4(t-4),v5(t-5),v6(t-6),v7(t-7),v8(t-1),v1(t),其中v1(t-1)到v8(t-1)表示前一天的数据,v1(t)表示当天要预测的数据。转换后部分数据展示:三、模型介绍1.LSTM模型LSTM(LongShort-TermMemory)是一种常用于处理序列数据的循环神经网络(RNN)模型。相比于传统的RNN,LSTM在处理长期依赖性问题上表现更好。它通过引入特殊的记忆单元和门控机制来有效地捕捉和管理序列中的长期依赖关系。1.1LSTM单元LSTM模型中的关键组件是LSTM单元,每个LSTM单元由以下部分组成:1.输入门(InputGate):决定是否将输入信息纳入记忆。2.遗忘门(ForgetGate):决定是否从记忆中删除先前的信息。3.输出门(OutputGate):决定从记忆中输出的信息。4.记忆单元(CellState):负责存储和传递信息的长期记忆。LSTM通过在每个时间步骤中执行一系列的数学操作来处理序列数据:1.输入信息经过输入门,决定哪些信息需要被记忆。2.遗忘门根据当前输入信息和上一个时间步骤的隐藏状态,决定需要从记忆单元中删除哪些信息。3.记忆单元根据输入门和遗忘门的结果来更新和存储记忆。4.输出门根据当前输入信息和上一个时间步骤的隐藏状态,决定从记忆单元中输出哪些信息。5.隐藏状态(HiddenState)是LSTM的输出,它被传递到下一个时间步骤,并作为输入用于更新记忆单元。RNN与LSRM对比所有RNN都具有一种重复神经网络模块的链式的形式。在标准的RNN中,这个重复的模块只有一个非常简单的结构,例如一个tanh层。LSTM同样是这样的结构,但是重复的模块拥有一个不同的结构。不同于单一神经网络层,这里是有四个,以一种非常特殊的方式进行交互。1.3LSTM的核心思想LSTM的关键就是细胞状态,水平线在图上方贯穿运行。细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变会很容易。LSTM有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个sigmoid神经网络层和一个按位的乘法操作。Sigmoid层输出0到1之间的数值,描述每个部分有多少量可以通过。代表“不许任何量通过”,就指“允许任意量通过”。
1.4LSTM的优点LSTM模型在处理序列数据时具有以下优点:1.长期依赖性处理:传统的RNN模型在处理长序列时容易出现梯度消失或梯度爆炸的问题,导致难以捕捉长期依赖关系。LSTM通过门控机制可以有效地解决这个问题,使得模型能够更好地记住和利用长期的信息。2.学习长期模式:LSTM能够学习到序列数据中的长期模式和规律,对于时间序列预测、自然语言处理等任务非常有效。3.可变长度输入:LSTM模型可以接受可变长度的输入序列,适用于处理不同长度的序列数据。4.鲁棒性:LSTM模型对于噪声和输入数据中的局部扰动具有一定的鲁棒性,能够更好地处理复杂的序列数据。在实际应用中,LSTM模型常用于时间序列预测、文本生成、语音识别等任务,它的灵活性和强大的建模能力使其成为处理序列数据的重要工具。四、划分数据集将数据集按照一定的时间范围划分为训练集和测试集,并将输入数据和输出标签进行预处理和格式转换,以便用于LSTM模型的训练和测试。LSTM模型结构模型的输入形状为(None,train_X.shape[1],train_X.shape[2]),其中train_X.shape[1]表示训练数据的时间步数,train_X.shape[2]表示每个时间步的特征数量。输出形状为(None,1),预测一个数值。模型总共有10,651个可训练参数,其中LSTM层有10,600个参数,Dense层有51个参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论