mlforecast

mlforecast

高性能可扩展的机器学习时间序列预测框架

mlforecast是一个基于机器学习模型的时间序列预测框架,具有高效的特征工程实现和良好的可扩展性。该框架支持pandas、polars、spark等多种数据格式,兼容sklearn API,能够处理海量数据。除了支持概率预测和外生变量,mlforecast还提供分布式训练功能,适用于大规模生产环境的时间序列预测任务。框架采用熟悉的fit和predict接口,便于快速上手和集成到现有项目中。

MLForecast时间序列预测机器学习特征工程分布式训练Github开源项目

mlforecast

发推 Slack

<!-- 警告:此文件是自动生成的!请勿编辑! --> <div align="center"> <center> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/943167d9-bc68-4184-a68e-a272f08e147a.png" /> </center> <h1 align="center"> 机器学习 🤖 预测 </h1> <h3 align="center"> 可扩展的时间序列预测机器学习 </h3>

CI Python PyPi conda-forge 许可证

mlforecast 是一个使用机器学习模型进行时间序列预测的框架,可选择使用远程集群来处理海量数据。

</div>

安装

PyPI

pip install mlforecast

conda-forge

conda install -c conda-forge mlforecast

更详细的安装说明请参考安装页面

快速入门

从这个快速指南开始。

按照这个端到端演练了解最佳实践。

示例笔记本

为什么选择mlforecast?

目前Python中的机器学习模型替代方案速度慢、精度低且扩展性差。因此我们创建了一个可用于生产环境的预测库。MLForecast包含高效的特征工程,可用于训练任何机器学习模型(具有fitpredict方法,如sklearn)以适应数百万个时间序列。

特性

  • Python中最快的时间序列预测特征工程实现。
  • 与pandas、polars、spark、dask和ray开箱即用的兼容性。
  • 基于保形预测的概率预测。
  • 支持外生变量和静态协变量。
  • 熟悉的sklearn语法:.fit.predict

缺少什么功能?请提出issue或在Slack上与我们联系。

示例和指南

📚 端到端演练:多个时间序列的模型训练、评估和选择。

🔎 概率预测:使用保形预测生成预测区间。

👩‍🔬 交叉验证:稳健的模型性能评估。

🔌 预测需求高峰:用于检测日峰值和降低电费的电力负荷预测。

📈 迁移学习:使用一组时间序列预训练模型,然后使用该预训练模型预测另一个时间序列。

🌡️ 分布式训练:使用Dask、Ray或Spark集群进行大规模模型训练。

如何使用

以下提供了一个非常基本的概述,更详细的描述请参阅文档

数据设置

将您的时间序列以长格式存储在pandas数据框中,即每行表示特定序列和时间戳的一个观测值。

from mlforecast.utils import generate_daily_series series = generate_daily_series( n_series=20, max_length=100, n_static_features=1, static_as_categorical=False, with_trend=True ) series.head()
<div>
unique_iddsystatic_0
0id_002000-01-0117.51916772
1id_002000-01-0287.79969572
2id_002000-01-03177.44297572
3id_002000-01-04232.70411072
4id_002000-01-05317.51047472
</div> > 注意:unique_id 作为数据集中每个独特时间序列的标识符。如果您只使用数据集中的单一时间序列,请将此列设置为常量值。

模型

接下来定义您的模型,每个模型都将在所有系列上进行训练。这些可以是任何遵循scikit-learn API的回归器。

import lightgbm as lgb from sklearn.linear_model import LinearRegression
models = [ lgb.LGBMRegressor(random_state=0, verbosity=-1), LinearRegression(), ]

预测对象

现在使用模型和您想要使用的特征实例化一个 MLForecast 对象。特征可以是滞后项、滞后项的转换和日期特征。您还可以定义在拟合前应用于目标的转换,这些转换在预测时会被恢复。

from mlforecast import MLForecast from mlforecast.lag_transforms import ExpandingMean, RollingMean from mlforecast.target_transforms import Differences
fcst = MLForecast( models=models, freq='D', lags=[7, 14], lag_transforms={ 1: [ExpandingMean()], 7: [RollingMean(window_size=28)] }, date_features=['dayofweek'], target_transforms=[Differences([1])], )

训练

要计算特征并训练模型,在您的 Forecast 对象上调用 fit

fcst.fit(series)
MLForecast(models=[LGBMRegressor, LinearRegression], freq=D, lag_features=['lag7', 'lag14', 'expanding_mean_lag1', 'rolling_mean_lag7_window_size28'], date_features=['dayofweek'], num_threads=1)

预测

要获取未来 n 天的预测,在预测对象上调用 predict(n)。这将自动处理特征所需的更新,使用递归策略。

predictions = fcst.predict(14) predictions
<div>
unique_iddsLGBMRegressorLinearRegression
0id_002000-04-04299.923771311.432371
1id_002000-04-05365.424147379.466214
2id_002000-04-06432.562441460.234028
3id_002000-04-07495.628000524.278924
4id_002000-04-0860.78622379.828767
...............
275id_192000-03-2336.26678028.333215
276id_192000-03-2444.37098433.368228
277id_192000-03-2550.74622238.613001
278id_192000-03-2658.90652443.447398
279id_192000-03-2763.07394948.666783
<p>280 行 × 4 列</p> </div>

可视化结果

from utilsforecast.plotting import plot_series
fig = plot_series(series, predictions, max_ids=4, plot_random=False)

如何贡献

请参阅 CONTRIBUTING.md

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多