Update 02-forecast.md

This commit is contained in:
Haojun Liao 2024-12-13 18:15:41 +08:00 committed by GitHub
parent 0b2705d680
commit 5ff10141f5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 11 additions and 10 deletions

View File

@ -36,6 +36,7 @@ return {
import numpy as np import numpy as np
from taosanalytics.service import AbstractForecastService from taosanalytics.service import AbstractForecastService
# 算法实现类名称 需要以下划线 "_" 开始,并以 Service 结束 # 算法实现类名称 需要以下划线 "_" 开始,并以 Service 结束
class _MyForecastService(AbstractForecastService): class _MyForecastService(AbstractForecastService):
""" 定义类,从 AbstractForecastService 继承并实现其定义的抽象方法 execute """ """ 定义类,从 AbstractForecastService 继承并实现其定义的抽象方法 execute """
@ -51,12 +52,12 @@ class _MyForecastService(AbstractForecastService):
super().__init__() super().__init__()
def execute(self): def execute(self):
""" 算法逻辑的核心实现""" """ 算法逻辑的核心实现"""
res = [] res = []
"""这个预测算法固定返回 1 作为预测值,预测值的数量是用户通过 self.fc_rows 指定""" """这个预测算法固定返回 1 作为预测值,预测值的数量是用户通过 self.fc_rows 指定"""
ts_list = [self.start_ts + i * self.time_step for i in range(self.fc_rows)] ts_list = [self.start_ts + i * self.time_step for i in range(self.fc_rows)]
res.app(ts_list) # 设置预测结果时间戳列 res.append(ts_list) # 设置预测结果时间戳列
"""生成全部为 1 的预测结果 """ """生成全部为 1 的预测结果 """
res_list = [1] * self.fc_rows res_list = [1] * self.fc_rows
@ -64,18 +65,18 @@ class _MyForecastService(AbstractForecastService):
"""检查用户输入,是否要求返回预测置信区间上下界""" """检查用户输入,是否要求返回预测置信区间上下界"""
if self.return_conf: if self.return_conf:
"""对于没有计算预测置信区间上下界的算法,直接返回预测值作为上下界即可""" """对于没有计算预测置信区间上下界的算法,直接返回预测值作为上下界即可"""
bound_list = [1] * self.fc_rows bound_list = [1] * self.fc_rows
res.append(bound_list) # 预测结果置信区间下界 res.append(bound_list) # 预测结果置信区间下界
res.append(bound_list) # 预测结果执行区间上界 res.append(bound_list) # 预测结果执行区间上界
"""返回结果""" """返回结果"""
return { "res": res, "mse": 0} return {"res": res, "mse": 0}
def set_params(self, params): def set_params(self, params):
"""该算法无需任何输入参数,直接重载父类该函数,不处理算法参数设置逻辑""" """该算法无需任何输入参数,直接调用父类函数,不处理算法参数设置逻辑"""
pass return super().set_params(params)
``` ```
将该文件保存在 `./taosanalytics/algo/fc/` 目录下,然后重启 taosanode 服务。在 TDengine 命令行接口中执行 `SHOW ANODES FULL` 能够看到新加入的算法。应用就可以通过 SQL 语句调用该预测算法。 将该文件保存在 `./taosanalytics/algo/fc/` 目录下,然后重启 taosanode 服务。在 TDengine 命令行接口中执行 `SHOW ANODES FULL` 能够看到新加入的算法。应用就可以通过 SQL 语句调用该预测算法。