kusto series_decompose_forecast() 返回所有空值
kusto series_decompose_forecast() returning all nulls
我正在尝试探索kusto提供的预测功能。我尝试了显然生成文档显示的预测趋势的示例。然而,我随后在我们的生产数据上尝试了具有相似参数的预测功能。由于某种原因,预测值全部为空。
我们的 kusto 原始数据如下所示:
我想预测 a0 的值。这是我的查询:
...
| distinct ['name']))
| summarize a0=avg(todouble(['temp'])) by d0=bin(['timestamp'], 1s), d1=['name']
| summarize timeAsList = make_list(d0), dataAsList0 = make_list(a0)
| extend forecast = series_decompose_forecast(dataAsList0, 60*60*24*3) // 3 day forecast
| render timechart
这是查询呈现的内容:
这条线只是我们的生产数据,不是预测。如您所见,实际的预测数组只是一个空值数组。
查询有什么问题?
series_decompose_forecast 的第二个参数定义了从原始时间序列中排除训练的点数。在您的情况下,原始时间序列的长度约为 1:39 小时(只需查看屏幕截图),因此设置 3 天不留任何数据用于训练。在调用 series_decompose_forecast 之前,您需要使用预测期扩展时间序列。我还建议使用 make-series 来创建时间序列,填补空白,而不是通过 bin 和 make list 进行汇总。所以最终的查询应该如下所示。我无法测试它,因为我无权访问数据。如果您需要,请分享示例数据表,我可以为您制作完整的工作查询[=11=]
谢谢
阿迪
let start_time=datetime(...);
let end_time=datetime(...);
let dt=1s;
let forecast_points=60*60*24*3
tbl
| make-series a0=avg(todouble(temp)) on timestamp from start_time to (end_time+forecast_points*dt) step dt
| extend forecast = series_decompose_forecast(a0, forecast_points) // 3 day forecast
| render timechart
我正在尝试探索kusto提供的预测功能。我尝试了显然生成文档显示的预测趋势的示例。然而,我随后在我们的生产数据上尝试了具有相似参数的预测功能。由于某种原因,预测值全部为空。
我们的 kusto 原始数据如下所示:
我想预测 a0 的值。这是我的查询:
...
| distinct ['name']))
| summarize a0=avg(todouble(['temp'])) by d0=bin(['timestamp'], 1s), d1=['name']
| summarize timeAsList = make_list(d0), dataAsList0 = make_list(a0)
| extend forecast = series_decompose_forecast(dataAsList0, 60*60*24*3) // 3 day forecast
| render timechart
这是查询呈现的内容:
这条线只是我们的生产数据,不是预测。如您所见,实际的预测数组只是一个空值数组。
查询有什么问题?
series_decompose_forecast 的第二个参数定义了从原始时间序列中排除训练的点数。在您的情况下,原始时间序列的长度约为 1:39 小时(只需查看屏幕截图),因此设置 3 天不留任何数据用于训练。在调用 series_decompose_forecast 之前,您需要使用预测期扩展时间序列。我还建议使用 make-series 来创建时间序列,填补空白,而不是通过 bin 和 make list 进行汇总。所以最终的查询应该如下所示。我无法测试它,因为我无权访问数据。如果您需要,请分享示例数据表,我可以为您制作完整的工作查询[=11=]
谢谢 阿迪
let start_time=datetime(...);
let end_time=datetime(...);
let dt=1s;
let forecast_points=60*60*24*3
tbl
| make-series a0=avg(todouble(temp)) on timestamp from start_time to (end_time+forecast_points*dt) step dt
| extend forecast = series_decompose_forecast(a0, forecast_points) // 3 day forecast
| render timechart