基于LSTM的多变量温度预测(python从入门到入坑)

Merlion笔记(三):多变量时间序列预测 在许多情况下,通过提供这些变量的未来值以及过去值,我们可以获得更好的预测。这些变量可以是与目标变量相关的外部因素,通常可以提高模型的预测性能。在多变量时间序列预测中,可以将外生回归变量作为输入,帮助模型捕捉到更多的信息,从而改善预测结果。在这里,我们的任务是预测每周的销售额。我们希望我们的模型能够考虑可能影响消费者需求的变量(例如温度、消费者价格指数和失业率),因为对这些变量的了解可以提高销售预测的质量。在这里,我们先在训练数据上训练初始模型,然后使用滑动窗口的方法获取模型在训练数据上的预测结果。 阅读详情

基于LSTM的多变量温度预测(python)

——我保证他能够运行,而且结果能够让你满意(如果你和我一样都是一个新手的话)

一、我为什么要写这些?

因为让人抓狂的课程大作业,我小组选择了一个多变量预测方面的课题,在我这个大三基本上还没接触过Python数据处理,甚至对神经网络什么的都只是仅限于听过的情况下,这个东西简直难如登天。

然后值得高兴的是网上有很多现成的值得快速模拟入门的代码,但是令人痛苦的是:杂乱无章而且缺乏解释,最后得出的结果也不能说明问题(结果很糟糕,不知道是什么原因)。

因此,我集网上多变量实例代码,结合自己的浅薄之见,做出如下总结,同时也是方便提醒自己——毕竟一星期速成的东西…希望能够支持我完成课程作业。

二、具体做了什么?

结合了多方经验,主要有

然后我根据这些大佬的例子结合一些粗浅的理解——

  1. 学会使用Anaconda(下载python库的)和Jyputer(允许单步执行代码块)
  2. 通过python强大的绘图,肉眼扫描提取相关性特征(最有可能影响温度变化的东西)
  3. 实现了从零到有切分处理csv数据集
  4. 单手建立一个啥参数都不调的(或者叫照抄)的神经网络结构3层LSTM——单手是因为我使用cv大法的时候在吃东西
  5. 成功训练出了一个利用前3小时数据,精确预测下一小时温度的模型,精度达到了99%(可能是因为时间跨度短,我还不懂,不过确实能运行出结果了)
    在训练集上的预测值和真实值结果曲线图片

三、源代码切块加注释,恳请批评指正(●’◡’●)ノ

PS:代码是在Jyputer上运行的,使用的库是利用Anaconda下载的
如果有知道这个的小可爱,建议去知道一下,不要乱copy代码然后没有库然后在配置的时候因为tensorflow和python版本问题,相关库更新问题,还有莫名其妙的报错而愤怒摔键盘。

1. block1导入相关包

import tensorflow as tf
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import os
import pandas as pd
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import r2_score
from tensorflow.keras import utils,losses,layers,Sequential
from tensorflow.keras.callbacks import ModelCheckpoint,TensorBoard

2.读取csv数据集,搜索jena_climate_2009_2016数据集,需要的自己去下载

data_path="D:\WorkSpace\jena_climate_2009_2016.csv"
dataset=pd.read_csv(data_path,parse_dates=['Date Time'],index_col=['Date Time'])

dataset.shape#输出数组形状(420551, 14)(行,列)
dataset.tail()#输出尾5个列
dataset.head()#数据结构如下,输出头5个列
dataset.info()

在这里插入图片描述

3.画图看相关性,提取有效特征集

#肉眼观察法————下面三块可以不要
plt.figure(figsize=(16,8))
#作图辅助库
sns.lineplot(x='p (mbar)',y='T (degC)',data=dataset[:10000])
plt.show()

plt.figure(figsize=(16,8))
sns.lineplot(x='Tdew (degC)',y='T (degC)',data=dataset[:10000])
plt.show()

plt.figure(figsize=(16
使用LSTM实现未来气温的预测 首先本人是非计算机专业,也没有学过python。只有在做题时会用到,前几天在做题时使用到了LSTM模型,并稍微了解了一点,只是到会用的程度,原理方面可以说一窍不通,大家互相交流。谢谢。 阅读详情

相关推荐

多变量预测结果及不同预测长度分析

在时间序列预测中,选择适当的输入长度和预测长度对模型的性能有显著影响。短期预测通常比长期预测更准确,因为模型在捕捉长时间依赖性和趋势变化时更具挑战性。通过比较不同预测长度下的 MSE 和 MAE,我们可以评估模型在短期和长期预测中的表现,并选择最合适的模型参数以实现最佳预测效果。在时间序列预测中,我们通常会考虑不同的预测长度,以评估模型在短期和长期预测中的表现。这里,我们以多变量时间序列预测为例,预测长度。假设我们有一个多变量时间序列模型,并且我们对 ILI 数据集和其他数据集进行了预测。

m0_51200050的博客 1576

Python时间序列LSTM预测系列教程(7)-多变量

空气污染预测案例 数据格式 No year month day hour pm2.5 DEWP TEMP PRES cbwd Iws Is Ir 1 2010 1 1 0 NA -21 -11 1021 NW 1.79 0 0 2 2010 1 1 1 NA -21 -12

iyangdi的博客 1万+

LSTM实现多变量时间序列预测(PyTorch版)

本专栏整理了《深度学习时间序列预测案例》,内包含了各种不同的基于深度学习模型的时间序列预测方法,例如LSTM、GRU、CNN(一维卷积、二维卷积)、LSTM-CNN、BiLSTM、Self-Attention、LSTM-Attention、Transformer等经典模型,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。

CSDN 精品推荐 4800

基于LSTM的多变量多步时间序列预测

在本篇文章中,我们将探讨如何使用LSTM模型来进行多变量输入的多步时间序列预测。通过使用LSTM模型,我们可以利用过去的观测值来预测未来的多个时间步的值。在训练模型之前,我们还需要指定一些超参数,例如LSTM单元的数量、激活函数、输入形状等。对于多变量输入的多步预测,我们需要根据过去的观测值来预测未来的多个时间步。假设我们的数据集包含多个特征(例如,温度、湿度和风速)和目标变量(例如,未来1小时的温度)。接下来,我们将使用Python和Keras库来实现基于LSTM的多变量多步时间序列预测。

code_program481的博客 897

STM32F407+LAN8720A+LwIP实战:FreeModbus TCP从机功能开发指南

本文详细介绍了基于STM32F407和LAN8720A硬件平台,结合LwIP协议栈实现FreeModbus TCP从机功能的开发指南。内容涵盖硬件连接、LwIP移植、FreeModbus TCP从机实现、任务调度及调试技巧,为工业控制领域的以太网通信开发提供实用参考。

weixin_29190651的博客 543

RseQC实战指南:从安装到RNA-Seq数据质控全流程解析

本文提供了一份详尽的RseQC实战指南,涵盖从安装配置到RNA-Seq数据质控的全流程。文章重点解析了RseQC作为专业质控工具的核心价值,手把手指导如何通过Conda或pip完成安装,并深入讲解了bam_stat.py、geneBody_coverage.py等关键模块的使用方法与结果解读技巧,帮助用户有效评估RNA完整性、文库构建质量及链特异性,确保下游分析的可靠性。

weixin_29200741的博客 194

记二开金蝶云星空动态表单艰辛历程

整个过程,开发接近一周,期间也有做其他事,遇到不会的第一时间也是找金蝶社区,搜索有无相关的解决问题经历。再就是问同事,最终还不能解决就提工单给供应商。响应一般都要大半天(我们公司是有vip,相对大半天能够响应是算好了),虽然有时候有响应,但是会转到其他研发老师,期间可能会是几天!如果是经常开发云星空的二开功能,熟练了速度回很快,但是对于接触不多的,或者刚入门的,会是个漫长的折磨过程。1、重新生产模块的dll.2、退出客户端3、重启iis4、等待五六分钟5、附加到进程6、登录客户端进去操作。

修炼中 3932

【电子元件篇】电容的九大作用与选型指南-超简单解读

本文系统介绍了电容的基础概念、核心功能及实际应用。电容作为存储电荷的被动元件,其容值公式为C=Q/V,单位包括法拉及常用派生单位。文章重点解析了电容的九大功能:滤波(通过RC低通电路抑制噪声)、耦合(传递交流隔离直流)、去耦(稳定供电)、储能(短暂供电)、定时(RC延时)、谐振(RLC振荡)、旁路(高频通路)、电压调节(DC-DC转换)以及保护(吸收浪涌)。同时详细阐述了电容分类(陶瓷/电解/薄膜等)、参数选型要点(耐压/容值/精度/温度)及PCB设计注意事项,并针对不同应用场景提供了具体选型建议和常见误区

2301_81299416的博客 3990

避坑指南:RK3588上编译EtherCAT 1.6时遇到的权限问题和模块安装错误

本文详细解析了在RK3588平台上编译EtherCAT 1.6时常见的权限问题和模块安装错误,提供了两种实战解决方案和嵌入式开发的通用权限管理策略。通过优化内核配置和编译参数,显著提升实时性能,帮助开发者高效完成EtherCAT主站部署。

weixin_33724046的博客 448

用WorkBuddy搭建漫剧AI自动化制作流水线全攻略

在内容创作领域,AI智能体正逐渐从单一工具辅助走向全流程自动化调度。其核心原理是将剧本、分镜、绘图、配音、剪辑等环节拆解为可独立执行的任务单元,由总控系统统一协调,从而大幅降低人力与时间成本。这种模式尤其适用于动态漫画(漫剧)这类环节多、专业度要求高的视频形态。传统制作流程中,角色一致性、配音周期和剪辑返工是公认的效率瓶颈,而借助AI智能体工作台,创作者只需输入故事创意,即可驱动多个数字分身协同完成内容生产。本文以WorkBuddy为例,详细展示如何配置模型、安装技能包并串联五段式流水线,将单集制作成本从万

weixin_28224217的博客 241

从TL431光耦到集成隔离器:3种反激电源反馈方案全对比,你的项目到底该选哪个?

本文深入对比了反激电源设计中TL431光耦、集成隔离器和原边反馈三种主流反馈方案的优缺点,帮助开发者在电源设计中选择最适合的方案。从精度、成本、隔离等级等多维度分析,为反激式(Flyback)拓扑的应用提供实用选型指南。

weixin_30536513的博客 397

TVBox源总失效?不如自己搭建一个!告别不稳定!手把手教你自建TVBox源,全网资源尽掌握!

🚀 TVBox源总失效?别慌!手把手教你自建TVBox源,打造一个稳定、海量、无广告的影视宝库!从此告别片荒,尽享丝滑观影体验!

XiaoqiangClub的博客 5361

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 贪心思想与二分思想
下一篇: 设计模式——创建型模式之工厂模式
代码之狐
博客等级 码龄7年 172粉丝 86原创
评论 22
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码之狐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值