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辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
像人一 样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手, 复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交 流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号