# weather-predict
基于 LSTM 的气温预测及可视化 (Temperature prediction and visualization based on LSTM Project)
## 数据爬取
通过使用python所提供的bs4工具类,我们从中国天气网站上爬取到了北京、上海、广州、郑州4个城市从2011年到2021年共十年间的3652条数据,每条数据包括日期、天气、温度(分为最高温度和最低温度)、和风向,其中我们主要针对温度进行数据分析和预测:
## 算法过程
对于我们的项目而言,我们直接使用过去的温度数据对未来进行预测,输入的特征维度为1,我们计划在每个小批量中,使用过去5天的数据来预测下一天的数据,故数据的维度为(batch_size, dimension),而由于循环神经网络要求输入为时间序列,我们需要将数据的格式转变为(batch_size, 1, dimension)。然后通过引入Python内置的Dataset数据集类作为工具,划分小批量,然后根据给定的比率拆分训练集、测试集,最终可供算法模型进行训练。过程如下图:
![image](https://user-images.githubusercontent.com/30597946/168414107-e0ba6a1a-c859-4221-b205-6f0bdd53ec5e.png)
## 算法设计
通过利用LSTM时间序列的特性,我们就可以非常方便地处理序列数据。而温度数据以时间为轴适中连续排列,正符合这一特点,我们将清洗过的数据转变维度之后直接按小批量输入到LSTM网络中进行训练,通过不断地再每轮(epoch)训练中进行梯度下降计算,并不断打印出当前的损失函数值(Train Loss),使得模型最终可以实现收敛。
由于LSTM网络最终输出的为一个向量,而我们最终需要一个整数类型(与原始数据保持一致)的温度,所以我们需要对LSTM算法模型的输出后插入一个线性回归作为稠密层,将输出维度转换成最终1维的向量(温度)。
## 实验效果
![image](https://user-images.githubusercontent.com/30597946/168414129-affae6a4-421d-44e8-8ce9-fb15ae221ea2.png)
没有合适的资源?快使用搜索试试~ 我知道了~
基于 LSTM 的气温预测及可视化
共16个文件
py:8个
pyc:4个
xlsx:2个
需积分: 5 1 下载量 62 浏览量
2024-05-22
13:44:11
上传
评论 1
收藏 721KB ZIP 举报
温馨提示
LSTM (Long Short-Term Memory) 是一种特殊的循环神经网络(RNN)架构,用于处理具有长期依赖关系的序列数据。传统的RNN在处理长序列时往往会遇到梯度消失或梯度爆炸的问题,导致无法有效地捕捉长期依赖。LSTM通过引入门控机制(Gating Mechanism)和记忆单元(Memory Cell)来克服这些问题。 以下是LSTM的基本结构和主要组件: 记忆单元(Memory Cell):记忆单元是LSTM的核心,用于存储长期信息。它像一个传送带一样,在整个链上运行,只有一些小的线性交互。信息很容易地在其上保持不变。 输入门(Input Gate):输入门决定了哪些新的信息会被加入到记忆单元中。它由当前时刻的输入和上一时刻的隐藏状态共同决定。 遗忘门(Forget Gate):遗忘门决定了哪些信息会从记忆单元中被丢弃或遗忘。它也由当前时刻的输入和上一时刻的隐藏状态共同决定。 输出门(Output Gate):输出门决定了哪些信息会从记忆单元中输出到当前时刻的隐藏状态中。同样地,它也由当前时刻的输入和上一时刻的隐藏状态共同决定。 LSTM的计算过程可以大致描述为: 通过遗忘门决定从记忆单元中丢弃哪些信息。 通过输入门决定哪些新的信息会被加入到记忆单元中。 更新记忆单元的状态。 通过输出门决定哪些信息会从记忆单元中输出到当前时刻的隐藏状态中。 由于LSTM能够有效地处理长期依赖关系,它在许多序列建模任务中都取得了很好的效果,如语音识别、文本生成、机器翻译、时序预测等。
资源推荐
资源详情
资源评论
收起资源包目录
基于 LSTM 的气温预测及可视化 (Temperature prediction and visualization based on LSTM Project).zip (16个子文件)
content
ClimateAnalysis
weather_spider.py 5KB
data
weather_data_ori.xlsx 392KB
weather_data.xlsx 446KB
predict.py 3KB
dataset.py 1KB
model.py 2KB
data.py 3KB
train.py 4KB
__pycache__
model.cpython-38.pyc 1KB
config.cpython-38.pyc 445B
dataset.cpython-38.pyc 1KB
data.cpython-38.pyc 2KB
demo.py 732B
README.md 186B
config.py 400B
README.md 2KB
共 16 条
- 1
资源评论
生瓜蛋子
- 粉丝: 3913
- 资源: 7441
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Django和HTML的新疆地区水稻产量影响因素可视化分析系统(含数据集)
- windows conan2应用构建模板
- 3_base.apk.1
- 基于STM32F103C8T6的4g模块(air724ug)
- 基于Java技术的ASC学业支持中心并行项目开发设计源码
- 基于Java和微信支付的wxmall开源卖票商城设计源码
- 基于Java和前端技术的东软环保公众监督系统设计源码
- 基于Python、HTML、CSS的crawlerdemo软件工程实训爬虫设计源码
- 基于多智能体深度强化学习的边缘协同任务卸载方法设计源码
- 基于BS架构的Java、Vue、JavaScript、CSS、HTML整合的毕业设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功