内置 OpenTS 时序大模型
KaiwuDB 预测分析引擎内置 OpenTS 时序大模型。用户可以通过 KAT 或 SQL 语句调用内置时序大模型,对时序数据进行预测分析。
支持同时对单个或多个变量进行预测。各变量独立预测,结果按输入列顺序返回,每个变量默认预测未来 100 步。
当前版本存在以下限制:
- 不支持自定义算法。
- 仅支持自回归预测,不支持以多个变量作为输入预测目标变量(例如,根据气温、风速等预测天气类型)。
- 输入列数最多 10 列,每列输入数据最多 50000 行。
本文介绍如何使用 KaiwuDB 预测分析引擎的内置时序大模型进行预测分析。
前提条件
- 已部署并启动 KaiwuDB 数据库(V3.1.0 及以上版本)。
- 已安装 KaiwuDB 预测分析引擎,且满足以下环境要求:
- Kubernetes 1.20 及以上版本。
- Python 3.8、3.9 或 3.10。
- 已创建目标时序库和时序表,并已写入相关数据。
步骤
以下示例假设已在 ts_db 数据库中创建时序表 t1 并写入相关数据。
导入内置时序大模型。
SET CLUSTER SETTING ml.enabled = true;激活内置时序大模型。
以下示例将
tsllm的第一个版本设置为活跃版本。SELECT kwdbml.set_active_version('tsllm', 1);调用内置时序大模型进行预测分析。
返回结果中,
n_variables表示预测的变量数量,predictions中的每个子数组对应一个输入变量的预测结果,顺序与输入列一致。单变量预测
以下示例对
t1时序表的a列进行预测分析。SELECT kwdbml.predict(array_agg(a)) USING tsllm FROM t1;预期输出:
kwdbml.predict --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {"n_variables": 1, "predictions": [489.11163330078125, 305.67230224609375, 522.8404541015625, 593.8882446289062, 366.367431640625, 815.3488159179688, 543.037353515625, 424.76812744140625, 468.74322509765625, 448.3457336425781]} (1 row)多变量预测
以下示例同时对
t1时序表的a列和b列进行预测分析。各变量独立预测,结果按输入列顺序返回。SELECT kwdbml.predict(array_agg(a), array_agg(b)) USING tsllm FROM t1;预期输出:
kwdbml.predict ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {"n_variables": 2, "predictions": [[489.3099670410156, 576.5405883789062, 565.8938598632812, 484.5823669433594, 417.71142578125, 505.8118591308594, 723.138427734375, 436.93963623046875, 616.1046752929688, 511.8031005859375], [262.2967224121094, 247.99717712402344, 198.07505798339844, 216.33871459960938, 264.9329833984375, 164.69932556152344, 283.3146667480469, 291.57794189453125, 157.2838897705078, 218.97805786132812]]} (1 row)