AI News HubLIVE
站内改写1 分钟阅读

如何使用TimeCopilot构建基于基础模型和自动异常检测的预测管道

本教程展示了如何使用TimeCopilot构建端到端的预测工作流。它涵盖了数据准备、模型评估(包括统计模型、基础模型和可选的GPU模型)、滚动交叉验证、概率预测、异常检测以及可选的LLM代理解释。

来源MarkTechPost作者: Sana Hassan

本教程详细介绍了如何使用TimeCopilot库构建一个完整的端到端预测工作流。首先,我们准备了一个面板数据集,包含真实的航空乘客数据和一个人为合成的季节性序列,其中注入了三个异常点。接着,我们评估了一系列多样化的预测模型,包括统计模型(如AutoARIMA、AutoETS、SeasonalNaive和Theta)、Prophet以及基于基础模型的Chronos(如果GPU可用,还可选TimesFM)。我们使用滚动交叉验证(三个窗口)和多个误差指标(MAE、RMSE、MAPE)来确定最佳模型。

在环境准备方面,我们安装了TimeCopilot、UtilsForecast和Matplotlib,并固定了兼容的NumPy(1.26.4)和SciPy(1.13.1)版本以避免二进制冲突。然后加载AirPassengers数据集,并通过线性趋势、季节性正弦波和噪声生成合成序列,在特定索引处将数值乘以2.2作为异常。两个序列合并为面板数据,预测周期设为12个月,频率为月度。

模型配置阶段,我们根据硬件选择Chronos模型大小(有GPU时使用amazon/chronos-bolt-small,否则使用amazon/chronos-bolt-tiny),并可选添加TimesFM。所有模型通过TimeCopilotForecaster统一管理。滚动交叉验证后,我们计算每个模型的MAE、RMSE和MAPE,并生成排行榜,选择平均RMSE最低的模型作为最佳模型。

接下来,我们生成带有80%和95%预测区间的概率预测,并通过自定义绘图函数展示历史数据、点预测和不确定性范围。异常检测步骤中,我们在99%置信水平下识别异常点,并在合成序列中高亮显示了注入的异常。最后,我们探索了TimeCopilot的可选LLM代理:当提供OpenAI或Anthropic API密钥时,代理会自动选择模型,评估其是否优于SeasonalNaive,并以自然语言回答关于未来12个月航空乘客总量及峰值月份的问题。

整个流程从数据预处理到模型比较、概率预测、可视化、异常检测和智能解释,形成了一个无缝的工作流。通过结合自动化预测和LLM代理,我们既获得了准确的数值预测,也得到了清晰的决策支持信息。完整的代码可在附带的Notebook中找到。