PyTorch搭建ANN实现时间序列预测(风速预测)
目录
- I. 数据集
- II. 特征构造
- III. 数据处理
- 1.数据预处理
- 2.数据集构造
- IV. ANN模型
- 1.模型训练
- 2.模型预测及表现
- V. 源码及数据
时间序列预测系列文章:
- 深入理解PyTorch中LSTM的输入和输出(从input输入到Linear输出)
- PyTorch搭建LSTM实现时间序列预测(负荷预测)
- PyTorch搭建LSTM实现多变量时间序列预测(负荷预测)
- PyTorch搭建双向LSTM实现时间序列预测(负荷预测)
- PyTorch搭建LSTM实现多变量多步长时间序列预测(一):直接多输出
- PyTorch搭建LSTM实现多变量多步长时间序列预测(二):单步滚动预测
- PyTorch搭建LSTM实现多变量多步长时间序列预测(三):多模型单步预测
- PyTorch搭建LSTM实现多变量多步长时间序列预测(四):多模型滚动预测
- PyTorch搭建LSTM实现多变量多步长时间序列预测(五):seq2seq
- PyTorch中实现LSTM多步长时间序列预测的几种方法总结(负荷预测)
- PyTorch-LSTM时间序列预测中如何预测真正的未来值
- PyTorch搭建LSTM实现多变量输入多变量输出时间序列预测(多任务学习)
- PyTorch搭建ANN实现时间序列预测(风速预测)
- PyTorch搭建CNN实现时间序列预测(风速预测)
- PyTorch搭建CNN-LSTM混合模型实现多变量多步长时间序列预测(负荷预测)
- PyTorch搭建Transformer实现多变量多步长时间序列预测(负荷预测)
- PyTorch时间序列预测系列文章总结(代码使用方法)
- TensorFlow搭建LSTM实现时间序列预测(负荷预测)
- TensorFlow搭建LSTM实现多变量时间序列预测(负荷预测)
- TensorFlow搭建双向LSTM实现时间序列预测(负荷预测)
- TensorFlow搭建LSTM实现多变量多步长时间序列预测(一):直接多输出
- TensorFlow搭建LSTM实现多变量多步长时间序列预测(二):单步滚动预测
- TensorFlow搭建LSTM实现多变量多步长时间序列预测(三):多模型单步预测
- TensorFlow搭建LSTM实现多变量多步长时间序列预测(四):多模型滚动预测
- TensorFlow搭建LSTM实现多变量多步长时间序列预测(五):seq2seq
- TensorFlow搭建LSTM实现多变量输入多变量输出时间序列预测(多任务学习)
- TensorFlow搭建ANN实现时间序列预测(风速预测)
- TensorFlow搭建CNN实现时间序列预测(风速预测)
- TensorFlow搭建CNN-LSTM混合模型实现多变量多步长时间序列预测(负荷预测)
I. 数据集
数据集为Barcelona某段时间内的气象数据,其中包括温度、湿度以及风速等。本文将简单搭建来对风速进行预测。
II. 特征构造
对于风速的预测,除了考虑历史风速数据外,还应该充分考虑其余气象因素的影响。因此,我们根据前24个时刻的风速+其余气象数据来预测下一时刻的风速。
III. 数据处理
1.数据预处理
数据预处理阶段,主要将某些列上的文本数据转为数值型数据,同时对原始数据进行归一化处理。文本数据如下所示:
经过转换后,上述各个类别分别被赋予不同的数值,比如"sky is clear"为0,"few clouds"为1。
def load_data():df = pd.read_csv('Barcelona/Barcelona.csv')df.drop_duplicates(subset=[df.columns[0]], inplace=True)df.drop([df.columns[0], df.columns[1]], axis=1, inplace=True)# weather_mainlistType = df['weather_main'].unique()df.fillna(method='ffill', inplace=True)dic = dict.fromkeys(listType)for i in range(len(listType)):dic[listType[i]] = idf['weather_main'] = df['weather_main'].map(dic)# weather_descriptionlistType = df['weather_description'].unique()dic = dict.fromkeys(listType)for i in range(len(listType)):dic[listType[i]] = idf['weather_description'] = df['weather_description'].map(dic)# weather_iconlistType = df['weather_icon'].unique()dic = dict.fromkeys(listType)for i in range(len(listType)):dic[listType[i]] = idf['weather_icon'] = df['weather_icon'].map(dic)# print(df)return df
2.数据集构造
利用前24个小时的风速数据+气象数据来预测下一时刻的风速,数据被划分为三部分:Dtr、Val以及Dte,Dtr用作训练集,Val用作验证集,Dte用作测试集,模型训练返回的是验证集上表现最优的模型。
IV. ANN模型
1.模型训练
ANN模型搭建如下:
class ANN(nn.Module):def __init__(self):super(ANN, self).__init__()self.seq_len = seq_lenself.input_size = input_sizeself.nn = torch.nn.Sequential(nn.Linear(seq_len * input_size, 128),torch.nn.ReLU(),nn.Linear(128, 256),torch.nn.ReLU(),nn.Linear(256, 128),torch.nn.ReLU(),nn.Linear(128, 1))def forward(self, x):# x(batch_size, seq_len, input_size)x = x.view(x.shape[0], -1)x = self.nn(x)return x
2.模型预测及表现
训练50轮,ANN在Dte上的表现如下表所示:
MAE | RMSE |
---|---|
0.96 | 1.28 |
V. 源码及数据
后面将陆续公开~
PyTorch搭建ANN实现时间序列预测(风速预测)相关推荐
- TensorFlow搭建CNN实现时间序列预测(风速预测)
目录 I. 数据集 II. 特征构造 III. 一维卷积 IV. 数据处理 1. 数据预处理 2. 数据集构造 V. CNN模型 1. 模型搭建 2. 模型训练及表现 VI. 源码及数据 时间序列预测 ...
- TensorFlow搭建LSTM实现时间序列预测(负荷预测)
目录 I. 前言 II. 数据处理 III. 模型 IV. 训练/测试 V. 源码及数据 I. 前言 前面已经写过不少时间序列预测的文章: 深入理解PyTorch中LSTM的输入和输出(从input输 ...
- 基于pytorch搭建多特征CNN-LSTM时间序列预测代码详细解读(附完整代码)
系列文章目录 lstm系列文章目录 1.基于pytorch搭建多特征LSTM时间序列预测代码详细解读(附完整代码) 2.基于pytorch搭建多特征CNN-LSTM时间序列预测代码详细解读(附完整代码 ...
- 【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)
目录 一.深度学习项目的基本构成 二.实战(猫狗分类) 1.数据集下载 2.dataset.py文件 3.model.py 4.config.py 5.predict.py 一.深度学习项目的基本构成 ...
- LSTM 时间序列预测+股票预测案例(Pytorch版)
文章目录 LSTM 时间序列预测 股票预测案例 数据特征 对收盘价(Close)单特征进行预测 1. 导入数据 2. 将股票数据收盘价(Close)进行可视化展示 3. 特征工程 4. 数据集制作 5 ...
- lstm代码_只需5行代码!LSTM时间序列建模以及预测
最近我在github上看到一个项目,项目内容是将深度学习方法(LSTM.RNN.GRU)进行时间序列建模的过程进行了封装,使得调用者调用者只需5行代码能完成时间序列建模以及预测的全过程. 项目本身是使 ...
- 【Python】时间序列数据分析与预测之Python工具汇总
本文中总结了十多种时间序列数据分析和预测工具和python库,在我们处理时间序列项目时,可以翻开本文,根据需要选择合适的工具,将会事半功倍! 在处理时间序列项目时,数据科学家或 ML 工程师通常会使用 ...
- 时序预测 | MATLAB实现贝叶斯优化CNN-LSTM时间序列预测(股票价格预测)
时序预测 | MATLAB实现贝叶斯优化CNN-LSTM时间序列预测(股票价格预测) 目录 时序预测 | MATLAB实现贝叶斯优化CNN-LSTM时间序列预测(股票价格预测) 效果一览 基本介绍 模 ...
- 时间序列数据分析与预测之Python工具汇总
大家好,我是辰哥 本文中硬核总结了十多种时间序列数据分析和预测工具和python库,在我们处理时间序列项目时,可以翻开本文,根据需要选择合适的工具,将会事半功倍! 在处理时间序列项目时, ...
- 只需5行代码! LSTM时间序列建模以及预测
最近我在github上看到一个项目,项目内容是将深度学习方法(LSTM.RNN.GRU)进行时间序列建模的过程进行了封装,使得调用者调用者只需5行代码能完成时间序列建模以及预测的全过程. 项目本身是使 ...
最新文章
- ceph rados命令使用
- 轻松学Pytorch – 行人检测Mask-RCNN模型训练与使用
- UCenter实现同步登陆原理
- oracle端口号为什么有三个,oracle安装时出现一个端口号
- iOS 利用长按手势移动 Table View Cells
- shell scripts 之 代码量统计
- 面试大厂应该注意哪些问题?算法太TM重要了
- html自动按键,VBS脚本和HTML DOM自动操作网页
- Java:使用 Java 开发的一个异常处理框架
- 还花几个小时整理线缆你就OUT了,VR自由漫步来了
- 第四季-专题17-LCD驱动程序设计
- c语言乘法怎么手写,发现要实现手写乘法计算过程也让我头疼
- CC2530的硬件功能及实例讲解
- 【C++课程设计】基于单向链表的通讯录管理程序
- 管家婆辉煌-- 连接服务器失败处理办法
- 趣味代码 python画小猪佩奇
- 《大数据原理:复杂信息的准备、共享和分析》一一1.3 自动编码 格物致知。...
- python爬虫代理ip_Python爬虫如何获取代理ip及ip验证?
- jude 5.5.2 UML
- 解决Request header field XXX is not allowed by access-control-allow-headers in preflight response