工具系列:TimeGPT_(6)同时预测多个时间序列

TimeGPT提供了一个强大的多系列预测解决方案,它涉及同时分析多个数据系列,而不是单个系列。该工具可以使用广泛的系列进行微调,使您能够根据自己的特定需求或任务来定制模型。

# Import the colab_badge module from the nixtlats.utils package
from nixtlats.utils import colab_badge
# 导入colab_badge模块,用于在Colab中显示徽章
colab_badge('docs/tutorials/6_multiple_series')
# 导入load_dotenv函数,用于加载.env文件中的环境变量
from dotenv import load_dotenv
# 加载环境变量配置文件
load_dotenv()
True
# 导入pandas和TimeGPT模块
import pandas as pd
from nixtlats import TimeGPT
/home/ubuntu/miniconda/envs/nixtlats/lib/python3.11/site-packages/statsforecast/core.py:25: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.htmlfrom tqdm.autonotebook import tqdm
# 定义TimeGPT对象,传入token参数,该参数默认值为os.environ.get("TIMEGPT_TOKEN")
# 这里使用了自己提供的token,用于身份验证和访问TimeGPT APItimegpt = TimeGPT(token = 'my_token_provided_by_nixtla'
)
# 创建一个TimeGPT对象,用于生成时间相关的文本。
timegpt = TimeGPT()

以下数据集包含不同电力市场的价格。让我们看看如何进行预测。预测方法的主要参数是包含要预测的时间序列的历史值的输入数据框架。该数据框架可以包含来自许多时间序列的信息。使用“unique_id”列来标识数据集中不同的时间序列。

# 从指定的URL读取csv文件,并将其存储在DataFrame中
df = pd.read_csv('https://raw.githubusercontent.com/Nixtla/transfer-learning-time-series/main/datasets/electricity-short.csv')# 显示DataFrame的前几行数据
df.head()
unique_iddsy
0BE2016-12-01 00:00:0072.00
1BE2016-12-01 01:00:0065.80
2BE2016-12-01 02:00:0059.99
3BE2016-12-01 03:00:0050.69
4BE2016-12-01 04:00:0052.58

让我们使用StatsForecast来绘制这个系列。

# 调用timegpt模块中的plot函数,并传入df参数
timegpt.plot(df)

我们只需要将数据帧传递给函数,就可以一次性为所有时间序列创建预测。


# 使用timegpt库中的forecast函数对数据进行预测
# 参数df表示输入的数据框
# 参数h表示预测的时间步长,这里设置为24
# 参数level表示置信水平,这里设置为[80, 90]
timegpt_fcst_multiseries_df = timegpt.forecast(df=df, h=24, level=[80, 90])# 输出预测结果的前几行
timegpt_fcst_multiseries_df.head()
INFO:nixtlats.timegpt:Validating inputs...
INFO:nixtlats.timegpt:Preprocessing dataframes...
INFO:nixtlats.timegpt:Inferred freq: H
INFO:nixtlats.timegpt:Restricting input...
INFO:nixtlats.timegpt:Calling Forecast Endpoint...
unique_iddsTimeGPTTimeGPT-lo-90TimeGPT-lo-80TimeGPT-hi-80TimeGPT-hi-90
0BE2016-12-31 00:00:0046.15117636.66047538.33701953.96533455.641878
1BE2016-12-31 01:00:0042.42659831.60222733.97671750.87647853.250968
2BE2016-12-31 02:00:0040.24288930.43996633.63498146.85079850.045813
3BE2016-12-31 03:00:0038.26533926.84148131.02209645.50858249.689197
4BE2016-12-31 04:00:0036.61880118.54138427.98134845.25625554.696218

# 绘制时间序列图
timegpt.plot(df, timegpt_fcst_multiseries_df, max_insample_length=365, level=[80, 90])

历史预测

您还可以通过添加add_history=True参数来计算历史预测的预测区间。

# 使用timegpt库中的forecast函数对数据进行预测
# 参数df表示输入的数据框
# 参数h表示预测的时间步长,这里设置为24
# 参数level表示置信水平,这里设置为[80, 90]
# 参数add_history表示是否添加历史数据,这里设置为True
timegpt_fcst_multiseries_with_history_df = timegpt.forecast(df=df, h=24, level=[80, 90], add_history=True)# 打印预测结果的前几行
timegpt_fcst_multiseries_with_history_df.head()
INFO:nixtlats.timegpt:Validating inputs...
INFO:nixtlats.timegpt:Preprocessing dataframes...
INFO:nixtlats.timegpt:Inferred freq: H
INFO:nixtlats.timegpt:Calling Forecast Endpoint...
INFO:nixtlats.timegpt:Calling Historical Forecast Endpoint...
unique_iddsTimeGPTTimeGPT-lo-80TimeGPT-lo-90TimeGPT-hi-80TimeGPT-hi-90
0BE2016-12-06 00:00:0055.75632542.06646938.18558569.44618073.327064
1BE2016-12-06 01:00:0052.82019839.13034235.24945866.51005470.390938
2BE2016-12-06 02:00:0046.85107833.16122229.28033860.54093464.421818
3BE2016-12-06 03:00:0050.64088436.95102933.07014564.33074068.211624
4BE2016-12-06 04:00:0052.42039538.73053934.84965566.11025169.991134
# 绘制时间序列图
timegpt.plot(df,  # 数据框,包含要绘制的时间序列数据timegpt_fcst_multiseries_with_history_df.groupby('unique_id').tail(365 + 24),  # 根据唯一ID分组的数据框,包含历史数据和预测数据max_insample_length=365,  # 最大的历史数据长度level=[80, 90],  # 置信水平
)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/581627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu 使用openssl制作一个自签名证书

我们需要为浏览器创建自己的根CA证书来信任自签名证书。因此,让我们首先创建根CA证书 创建根CA证书 创建文件夹 mkdir openssl && cd openssl执行以下openssl命令,生成 rootCA.key 以及 rootCA.crt. 用你的域名或者ip地址替换demo.mlopshub.c…

如何将自己的项目上传到github上,并进行项目管理

将项目上传到GitHub并进行项目管理是一个多步骤的过程。以下是一个简单的示例,指导您如何完成这一过程: 1. 创建GitHub账户 如果您还没有GitHub账户,请先在 GitHub 上注册一个。 2. 创建新仓库 登录您的GitHub账户。在GitHub主页的右上角…

HTML简介、基本骨架、标签的关系、注释、路径

1 HTML HTML超文本标记语言 超文本——链接 标记——标记也叫标签&#xff0c;带尖括号<>的文本 标签语法&#xff1a; 标签成对出现&#xff0c;中间包裹内容 <>里面放英文字母(标签名) 结束标签比开始标签多/ 拓展&#xff1a; 双标签&#xff1a;成对出现的标签…

编程语言的未来

当我们思考编程语言的未来时&#xff0c;我们不能忽视JavaScript的重要性。作为前端开发者&#xff0c;我们深知JavaScript在开发中的重要性。它不仅改变了我们与网页的交互方式&#xff0c;还推动了整个前端开发领域的发展。 那么&#xff0c;从当前的趋势和技术发展来看&…

HarmonyOS —— UIAbility 页面跳转总结

HarmonyOS —— UIAbility 页面跳转总结 Author&#xff1a;Gorit Date&#xff1a;2023年12月27日 一、系统环境 HarmonOS API9SDK 3.1.0Stage 模型 二、应用内跳转 在应用内之前实现不同 page 的跳转&#xff0c;我们使用 router 即可&#xff0c;页面跳转主要支持如下…

Python:PyTorch

简介 PyTorch是一个开源的机器学习库&#xff0c;由Facebook的人工智能研究团队&#xff08;FAIR&#xff09;开发&#xff0c;用于应用于机器学习和深度学习的Python程序。PyTorch基于Torch&#xff0c;使用Python语言重新编写&#xff0c;使得它更容易使用和扩展。它支持强大…

生产系统稳定上线600天!中国联通CUDB for OceanBase的开源共建和规模化应用

中国联通软件研究院架构部平台承载了上千应用的数据库需求&#xff0c;并且现存大量数据库使用过程缺少规范、缺少监控&#xff0c;同时还存在着数据库核心技术相关风险。为了实现核心技术自主可控&#xff0c;及时为用户解决线上问题、满足用户的功能需求&#xff0c;提供物美…

gnu工程的编译 - 以libiconv为例

文章目录 gnu工程的编译 - 以libiconv为例概述gnu官方源码包的发布版从官方的代码库直接迁出的git版源码如果安装了360, 需要添加开发相关的目录到信任区生成 configrue 的方法备注END gnu工程的编译 - 以libiconv为例 概述 gnu工程的下载分2种: gnu官方源码包的发布版 这种…

Global Mapper SDK 19 中文开发文档(八)

7.2.8 GM_DBUtil &#xff08;1&#xff09;声明 public static class GM_DBUtil &#xff08;2&#xff09;方法 方法描述DBGetTableList获取指定空间数据库中的表列表DBIsDatabaseFile指示输入文件是否为数据库&#xff08;Esri地理数据库、Spatialite等&#xff09;DBMa…

gitee+picgo+typora图床搭建

giteepicgotypora图床搭建 1.安装typora 官网下载直接安装&#xff1a;https://www.typora.io/#download 2.编辑typora图像设置 打开 文件 -> 偏好设置 -> 图像设置 插入图片时 选择 上传图片设置 上传服务 为 PicGo-Core(command line) 3.为typora安装PicGo-Core 点…

vue 父页面监听子页面值的变化

在Vue中&#xff0c;可以通过使用$emit()来触发事件并传递数据。 首先&#xff0c;需要在父组件中定义一个自定义事件名称&#xff0c;然后将该事件与相应的处理函数关联起来。当子组件改变了其值时&#xff0c;就会调用这个处理函数。 下面是一个示例代码&#xff1a; <…

达梦dm.ini参数之SELECT_LOCK_MODE详解

一、背景 1.现象概述 某项目当晚分区表变更&#xff0c;因为manager工具多开了1个窗口执行了语句慢取消了&#xff0c;新开了一个会话窗口执行添加分区/删除分区/truncate分区卡死了&#xff0c;v$session查不到关于这张分区表的阻塞和事务&#xff0c;但是在v$lock里根据表的…

DRF(Django Rest Framework)框架基于restAPI协议规范的知识点总结

Django Rest Framework学习 一、初识DRF组件 1.1 FBV和CBV FBV&#xff1a;function based view from django.shortcuts import render, HttpResponse # 这种是基于FBV模式 函数模式实现Views函数 def login(request):if request.method GET:return HttpResponse("Get…

腾讯云轻量应用服务器快速入门_建站/环境部署/云盘/电商/宝塔/SRS教程汇总

腾讯云轻量应用服务器Lighthouse是新一代开箱即用、使用简单的轻量级云服务器&#xff0c;支持多种镜像应用模板一键部署所需环境和应用&#xff0c;如在云端构建网站、Web应用、小程序/小游戏、APP、电商应用、云盘/图床和开发测试环境&#xff0c;腾讯云服务器网txyfwq.com分…

Golang 通用代码生成器仙童发布 2.4.0 电音仙女尝鲜版二,改进三大部分生成功能群

Golang 通用代码生成器仙童发布 2.4.0 电音仙女尝鲜版二&#xff0c;改进三大部分生成功能群 Golang 通用代码生成器仙童已发布 2.4.0 电音仙女尝鲜版二及其介绍视频。尝鲜版二改进了三大部分生成功能群。 视频请见&#xff1a; https://www.bilibili.com/video/BV1Q64y1H75…

js如何判断一个字符串是否为json格式

try/catch判断 function isJSON(str) {if (typeof str string) {try {JSON.parse(str);return true;} catch(e) {console.log(e);return false;}}console.log(It is not a string!) }以上try/catch的确实不能完全检验一个字符串是JSON格式的字符串&#xff0c;有许多例外…

CH07_简单化

Facade 模式 外观模式&#xff08;Facade&#xff09;&#xff0c;为子系统中的一组接口提供一个一致的界面&#xff0c;此模式定义了一个高层接口&#xff0c;这个接口使得这一个系统更加容易使用。 类图 说明 Facade&#xff08;窗口&#xff09; Facade角色是代表构成系统…

【用unity实现100个游戏之19】制作一个3D传送门游戏,实现类似鬼打墙,迷宫,镜子,任意门效果

最终效果 文章目录 最终效果素材第一人称人物移动开门效果显示原理渲染相机跟着我们视角移动门的摄像机跟着我们旋转近裁剪面设置传送配置代码实现传送效果结束完结素材 https://assetstore.unity.com/packages/3d/props/interior/door-free-pack-aferar-148411

andriod安卓水果商城系统课设

​ 一、目的及任务要求 随着当今社会经济的快速发展和网络的迅速普及&#xff0c;手机基本成为了每个人都随身携带的电子产品。传统的购物方式已经满足不了现代人日益追求便利及高效率的购物心理&#xff0c;而通过移动手机上的在线购物系统&#xff0c;可以便捷地甚至足不出…

XV7011BB陀螺传感仪的规格书

角速率输出(16/24bit)优异的温度偏置稳定性工作温度范围-20℃至80℃(可选:-40℃至85℃) 角速率输出(16/24bit)优异的温度偏置稳定性工作温度范围-20℃至80℃(可选:-40℃至85℃)内置温度传感器内置可选数字滤波器低功耗视频:XV7000系列&#xff0c;用于…