AutoTS是一个为Python设计的时间序列包,旨在快速部署大规模高精度预测。
2023年,AutoTS在M6预测竞赛中获胜,在12个月的股票市场预测中提供了最高性能的投资决策。
AutoTS包含数十个可以以sklearn风格使用.fit()和.predict()的预测模型。
这些模型包括朴素、统计、机器学习和深度学习模型。
此外,还有超过30种特定于时间序列的转换可以以sklearn风格使用.fit()、.transform()和.inverse_transform()。
所有这些函数直接作用于Pandas数据框,无需转换为专有对象。
所有模型都支持多变量(多个时间序列)输出预测,并支持概率(上/下界)预测。 大多数模型可以轻松扩展到数万甚至数十万个输入序列。 许多模型还支持传入用户定义的外生回归变量。
这些模型都设计用于集成到AutoML特征搜索中,通过遗传算法自动为给定数据集找到最佳模型、预处理和集成方法。
水平和马赛克风格的集成是旗舰级的集成类型,允许每个序列获得最精确的模型,同时保持可扩展性。
多种指标和交叉验证选项、应用子集和权重的能力、回归器生成工具、模拟预测模式、事件风险预测、实时数据集、模板导入和导出、绘图以及一系列数据整形参数构成了可用的功能集。
pip install autots
这包括基本模型的依赖项,但某些模型和方法需要额外的包。
请注意,有几个其他项目选择了类似的名称,所以请确保您使用的是正确的AutoTS代码、论文和文档。
AutoTS的输入数据预期以长格式或宽格式提供:
pandas.DatetimeIndex的pandas.DataFrame,每列是一个不同的序列。datetime格式)None。date_col、id_col和value_col参数传递给.fit()。对于宽格式数据不需要参数。低级函数仅设计用于宽格式数据。
# 也可以加载:_hourly, _monthly, _weekly, _yearly, 或 _live_daily from autots import AutoTS, load_daily # 示例数据集可以使用长格式或宽格式的导入形式 long = False df = load_daily(long=long) model = AutoTS( forecast_length=21, frequency='infer', prediction_interval=0.9, ensemble='auto', model_list="fast", # "superfast", "default", "fast_parallel" transformer_list="fast", # "superfast", drop_most_recent=1, max_generations=4, num_validations=2, validation_method="backwards" ) model = model.fit( df, date_col='datetime' if long else None, value_col='value' if long else None, id_col='series_id' if long else None, ) prediction = model.predict() # 绘制样本图 prediction.plot(model.df_wide_numeric, series=model.df_wide_numeric.columns[0], start_date="2019-01-01") # 打印最佳模型的详细信息 print(model) # 点预测数据框 forecasts_df = prediction.forecast # 上界和下界预测 forecasts_up, forecasts_low = prediction.upper_forecast, prediction.lower_forecast # 所有尝试过的模型结果的准确性 model_results = model.results() # 并从交叉验证中汇总 validation_results = model.results("validation")
低级 API,尤其是大量 scikit-learn 风格的时间序列转换器部分,也可以独立于 AutoML 框架使用。
查看 extended_tutorial.md 获取更详细的功能指南。
另外也可以看看 production_example.py
superfast(简单的朴素模型)和 fast(更复杂但仍然更快的模型,针对多个序列优化)fast_parallel(fast 和 parallel 的组合)或 parallel
n_jobs 通常使用 ='auto' 就能很好地适应,但根据环境需要进行调整from autots.models.model_list import model_lists 查看预定义列表的字典(有些是为内部使用定义的)subset 参数,subset=100 通常能很好地概括数万个相似序列。
subset,传递序列的 weights 将使子集选择偏向优先级更高的序列。model_interrupt=True,这样当按下 KeyboardInterrupt(即 crtl+c)时会跳过当前模型(但如果中断发生在几代之间,它会停止整个训练)。.fit() 的 result_file 方法,它会在每一代后保存进度 - 这对于保存长时间训练的进度很有帮助。使用 import_results 来恢复。transformer_max_depth 设置为较低的数值(比如 2)会提高速度。也可以使用 transformer_list == 'fast' 或 'superfast'。ensemble='horizontal-max' 和 model_list='no_shared_fast' 可以相对较好地扩展,因为每个模型只在需要的序列上运行。num_validations 和 models_to_validate 将减少运行时间,但可能导致模型选择效果较差。frequency 和 aggfunc 来完成,但最好在将数据传入 AutoTS 之前完成。metric_weighting 中将 runtime_weighting 设置为更高的值。这将引导搜索朝向更快的模型,尽管可能会以牺牲准确性为代价 。也被称为 CATS 项目(Catlin's Automated Time Series),因此有了这个标志。


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


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


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


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站 式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

