Ray
在 Ray 上分布式运行 TimeGPT
Ray 是一个开源的统一计算框架,用于扩展 Python 工作负载。在本指南中,我们将解释如何在 Ray 上使用 TimeGPT
。
目录
1. 安装
通过 Fugue 安装 Ray。Fugue 提供了一个易于使用的分布式计算接口,允许用户在包括 Ray 在内的多个分布式计算框架之上执行 Python 代码。
注意
您可以使用
pip
安装fugue
如果在分布式 Ray
集群上执行,请确保在所有 worker 上安装了 nixtla
库。
2. 加载数据
您可以将数据加载为 pandas DataFrame。在本教程中,我们将使用一个包含不同市场每小时电价的数据集。
unique_id | ds | y | |
---|---|---|---|
0 | BE | 2016-10-22 00:00:00 | 70.00 |
1 | BE | 2016-10-22 01:00:00 | 37.10 |
2 | BE | 2016-10-22 02:00:00 | 37.10 |
3 | BE | 2016-10-22 03:00:00 | 44.75 |
4 | BE | 2016-10-22 04:00:00 | 37.10 |
3. 初始化 Ray
初始化 Ray
并将 pandas DataFrame 转换为 Ray
DataFrame。
4. 在 Ray 上使用 TimeGPT
在 Ray
上使用 TimeGPT
与非分布式情况几乎完全相同。唯一的区别是您需要使用 Ray
DataFrame。
首先,实例化 NixtlaClient
类。
👍 使用 Azure AI 端点
要使用 Azure AI 端点,请设置
base_url
参数
nixtla_client = NixtlaClient(base_url="you azure ai endpoint", api_key="your api_key")
然后使用 NixtlaClient
类中的任何方法,例如 forecast
或 cross_validation
。
📘 Azure AI 中可用的模型
如果您正在使用 Azure AI 端点,请务必设置
model="azureai"
nixtla_client.forecast(..., model="azureai")
对于公共 API,我们支持两种模型:
timegpt-1
和timegpt-1-long-horizon
。默认情况下使用
timegpt-1
。请参阅此教程,了解何时以及如何使用timegpt-1-long-horizon
。
要可视化结果,请使用 to_pandas
方法将 Ray
的输出转换为 pandas DataFrame。
unique_id | ds | TimeGPT | |
---|---|---|---|
55 | NP | 2018-12-24 07:00:00 | 55.387066 |
56 | NP | 2018-12-24 08:00:00 | 56.115517 |
57 | NP | 2018-12-24 09:00:00 | 56.090714 |
58 | NP | 2018-12-24 10:00:00 | 55.813717 |
59 | NP | 2018-12-24 11:00:00 | 55.528519 |
unique_id | ds | cutoff | TimeGPT | |
---|---|---|---|---|
295 | NP | 2018-12-23 19:00:00 | 2018-12-23 11:00:00 | 53.632019 |
296 | NP | 2018-12-23 20:00:00 | 2018-12-23 11:00:00 | 52.512775 |
297 | NP | 2018-12-23 21:00:00 | 2018-12-23 11:00:00 | 51.894035 |
298 | NP | 2018-12-23 22:00:00 | 2018-12-23 11:00:00 | 51.06572 |
299 | NP | 2018-12-23 23:00:00 | 2018-12-23 11:00:00 | 50.32592 |
您还可以在 Ray
上使用 TimeGPT
处理外部变量。为此,请参阅外部变量教程。请记住,您需要使用 Ray
DataFrame 而不是 pandas DataFrame。
5. 关闭 Ray
完成后,关闭 Ray
会话。