← 开源
winedarksea

AutoTS

Automated Time Series Forecasting

Model DevelopmentClassical MLPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
1.43k
Star
127
Fork
+2
本周
1
贡献者
创建于 2019-11-26 · 更新于 2026-10-14 · 今日第 10353 名
主要开发者

winedarksea/AutoTS 排名第 10,353,有 1,431 个星标。

同类别比较

winedarksea/AutoTS 排名第 10,353,此处有 8 个同类条目;scikit-learn-contrib/metric-learn 排名第 10,352。

同类别比较
名称排名指标
andyzeng/tsdf-fusion-python10,342
语言:
Python
星标数:
1,433
分叉数:
235
简介:
Python code to fuse multiple RGB-D images into a TSDF voxel volume.
denizyuret/Knet.jl10,349
语言:
Jupyter Notebook
星标数:
1,431
分叉数:
224
简介:
Koç University deep learning framework.
logpai/loglizer10,350
语言:
Jupyter Notebook
星标数:
1,431
分叉数:
436
简介:
A machine learning toolkit for log-based anomaly detection [ISSRE'16]
scikit-learn-contrib/metric-learn10,352
语言:
Python
星标数:
1,431
分叉数:
232
简介:
Metric learning algorithms in Python
KaiyangZhou/Dassl.pytorch10,355
语言:
Python
星标数:
1,430
分叉数:
196
简介:
A PyTorch toolbox for domain generalization, domain adaptation and semi-supervised learning.
nianticlabs/simplerecon10,359
语言:
Python
星标数:
1,430
分叉数:
130
简介:
[ECCV 2022] SimpleRecon: 3D Reconstruction Without 3D Convolutions
openai/SWELancer-Benchmark10,360
星标数:
1,430
分叉数:
136
简介:
This repo contains the dataset and code for the paper "SWE-Lancer: Can Frontier LLMs Earn $1 Million from Real-World Freelance Software Engineering?"
qfgaohao/pytorch-ssd10,361
语言:
Python
星标数:
1,430
分叉数:
540
简介:
MobileNetV1, MobileNetV2, VGG based SSD/SSD-lite implementation in Pytorch 1.0 / Pytorch 0.4. Out-of-box support for retraining on Open Images dataset. ONNX and Caffe2 support. Experiment Ideas like CoordConv.
关键参数与规格
关键参数与规格
参数值
语言Python
类别Model Development
子类别Classical ML
关键词AutoML, Timeseries
星标数1,431
分叉数127
贡献者1
创建日期2019-11-26
更新日期2026-10-14
1 天星标数0
7 天星标数2
排名10,353
上次排名10,355
排名变化2
7 天星标排名8,057
上次 7 天星标排名8,101
7 天星标排名变化44
总星标排名8,402
上次总星标排名8,391
总星标排名变化-11
国家USA
README 摘录

AutoTS AutoTS is a time series package for Python designed for rapidly deploying high-accuracy forecasts at scale. Give it a try in your browser with the official demo app. In 2023, AutoTS won in the M6 forecasting competition, delivering the highest performance investment decisions across 12 months of stock market forecasting. There are dozens of forecasting models usable in the style of and . These includes naive, statistical, machine learning, and deep learning models. Additionally, there are over 30 time

series specific transforms usable in the style of , and . All of these function directly on Pandas Dataframes, without the need for conversion to proprietary objects. All models support forecasting multivariate (multiple time series) outputs and also support probabilistic (upper/lower bound) forecasts. Most models can readily scale to tens and even hundreds of thousands of input series. Many models also support passing in user-defined exogenous regressors. These models are all designed for integration in an AutoML feature search which

automatically finds the best models, preprocessing, and ensembling for a given dataset through genetic algorithms. Horizontal and mosaic style ensembles are the flagship ensembling types, allowing each series to receive the most accurate possible models while still maintaining scalability. A combination of metrics and cross-validation options, the ability to apply subsets and weighting, regressor generation tools, simulation forecasting mode, event risk forecasting, live datasets, template import and export, plotting, and a collection of data shaping parameters round out the

available feature set. Table of Contents Installation Basic Use Tips for Speed and Large Data Flowchart Extended Tutorial GitHub or Docs Production Example Installation This includes dependencies for basic models, but additonal packages are required for some models and methods. Be advised there are several other projects that have chosen similar names, so make sure you are on the right AutoTS code, papers, and documentation. Basic Use Input data for AutoTS is expected to come in either a *long* or

a *wide* format: The *wide* format is a with a and each column a distinct series. The *long* format has three columns: Date (ideally already in pandas-recognized format) Series ID. For a single time series, series_id can be . Value For *long* data, the column name for each of these is passed to as , , and . No parameters are needed for *wide* data. Lower-level functions are only designed for style data. The lower-level API, in particular the large

section of time series transformers in the scikit-learn style, can also be utilized independently from the AutoML framework. md for a more detailed guide to features. Also take a look at the production_example. py Tips for Speed and Large Data: Use appropriate model lists, especially the predefined lists: Use the parameter when there are many similar series, will often generalize well for tens of thousands of similar series. Set to skip only the current model when you hit

. 5 seconds to end the entire run, or pass something like to tighten/loosen the window. Use the method of

常见问题

记录了多少星标和分叉?

winedarksea/AutoTS 有 1,431 个星标和 127 个分叉。

仓库排名是多少?

winedarksea/AutoTS 排名第 10,353。

记录的语言和类别是什么?

winedarksea/AutoTS 有 1,431 个星标,语言为 Python,类别为 Model Development。

哪个仓库排名最接近?

winedarksea/AutoTS 与 scikit-learn-contrib/metric-learn 比较,后者排名第 10,352,有 1,431 个星标。

README

AutoTS

AutoTS is a time series package for Python designed for rapidly deploying high-accuracy forecasts at scale. Give it a try in your browser with the official demo app.

In 2023, AutoTS won in the M6 forecasting competition, delivering the highest performance investment decisions across 12 months of stock market forecasting.

There are dozens of forecasting models usable in the sklearn style of .fit() and .predict(). These includes naive, statistical, machine learning, and deep learning models. Additionally, there are over 30 time series specific transforms usable in the sklearn style of .fit(), .transform() and .inverse_transform(). All of these function directly on Pandas Dataframes, without the need for conversion to proprietary objects.

All models support forecasting multivariate (multiple time series) outputs and also support probabilistic (upper/lower bound) forecasts. Most models can readily scale to tens and even hundreds of thousands of input series. Many models also support passing in user-defined exogenous regressors.

These models are all designed for integration in an AutoML feature search which automatically finds the best models, preprocessing, and ensembling for a given dataset through genetic algorithms.

Horizontal and mosaic style ensembles are the flagship ensembling types, allowing each series to receive the most accurate possible models while still maintaining scalability.

A combination of metrics and cross-validation options, the ability to apply subsets and weighting, regressor generation tools, simulation forecasting mode, event risk forecasting, live datasets, template import and export, plotting, and a collection of data shaping parameters round out the available feature set.

Table of Contents

Installation

pip install autots

This includes dependencies for basic models, but additonal packages are required for some models and methods.

Be advised there are several other projects that have chosen similar names, so make sure you are on the right AutoTS code, papers, and documentation.

Basic Use

Input data for AutoTS is expected to come in either a long or a wide format:

  • The wide format is a pandas.DataFrame with a pandas.DatetimeIndex and each column a distinct series.
  • The long format has three columns:
    • Date (ideally already in pandas-recognized datetime format)
    • Series ID. For a single time series, series_id can be = None.
    • Value
  • For long data, the column name for each of these is passed to .fit() as date_col, id_col, and value_col. No parameters are needed for wide data.

Lower-level functions are only designed for wide style data.

# also load: _hourly, _monthly, _weekly, _yearly, or _live_daily
from autots import AutoTS, load_daily

# sample datasets can be used in either of the long or wide import shapes
long = False
df = load_daily(long=long)

model = AutoTS(
    forecast_length=21,
    frequency="infer",
    prediction_interval=0.9,
    ensemble=None,
    model_list="superfast",  # "fast", "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()
# plot a sample
prediction.plot(model.df_wide_numeric,
                series=model.df_wide_numeric.columns[0],
                start_date="2019-01-01")
# Print the details of the best model
print(model)

# point forecasts dataframe
forecasts_df = prediction.forecast
# upper and lower forecasts
forecasts_up, forecasts_low = prediction.upper_forecast, prediction.lower_forecast

# accuracy of all tried model results
model_results = model.results()
# and aggregated from cross validation
validation_results = model.results("validation")

The lower-level API, in particular the large section of time series transformers in the scikit-learn style, can also be utilized independently from the AutoML framework.

Check out extended_tutorial.md for a more detailed guide to features.

Also take a look at the production_example.py

Tips for Speed and Large Data:

  • Use appropriate model lists, especially the predefined lists:
    • superfast (simple naive models) and fast (more complex but still faster models, optimized for many series)
    • fast_parallel (a combination of fast and parallel) or parallel, given many CPU cores are available
      • n_jobs usually gets pretty close with ='auto' but adjust as necessary for the environment
    • 'scalable' is the best list to avoid crashing when many series are present. There is also a transformer_list = 'scalable'
    • see a dict of predefined lists (some defined for internal use) with from autots.models.model_list import model_lists
  • Use the subset parameter when there are many similar series, subset=100 will often generalize well for tens of thousands of similar series.
    • if using subset, passing weights for series will weight subset selection towards higher priority series.
    • if limited by RAM, it can be distributed by running multiple instances of AutoTS on different batches of data, having first imported a template pretrained as a starting point for all.
  • Set model_interrupt=True to skip only the current model when you hit Ctrl+C. Tap Ctrl+C a second time within 1.5 seconds to end the entire run, or pass something like model_interrupt={"mode": "skip", "double_press_window": 1.2} to tighten/loosen the window.
  • Use the result_file method of .fit() which will save progress after each generation - helpful to save progress if a long training is being done. Use import_results to recover.
  • While Transformations are pretty fast, setting transformer_max_depth to a lower number (say, 2) will increase speed. Also utilize transformer_list == 'fast' or 'superfast'.
  • Check out this example of using AutoTS with pandas UDF.
  • Ensembles are obviously slower to predict because they run many models, 'distance' models 2x slower, and 'simple' models 3x-5x slower.
    • ensemble='horizontal-max' with model_list='no_shared_fast' can scale relatively well given many cpu cores because each model is only run on the series it is needed for.
  • Reducing num_validations and models_to_validate will decrease runtime but may lead to poorer model selections.
  • For datasets with many records, upsampling (for example, from daily to monthly frequency forecasts) can reduce training time if appropriate.
    • this can be done by adjusting frequency and aggfunc but is probably best done before passing data into AutoTS.
  • It will be faster if NaN's are already filled. If a search for optimal NaN fill method is not required, then fill any NaN with a satisfactory method before passing to class.
  • Set runtime_weighting in metric_weighting to a higher value. This will guide the search towards faster models, although it may come at the expense of accuracy.
  • Memory shortage is the most common cause of random process/kernel crashes. Try testing a data subset and using a different model list if issues occur. Please also report crashes if found to be linked to a specific set of model parameters (not AutoTS parameters but the underlying forecasting model params). Also crashes vary significantly by setup such as underlying linpack/blas so seeing crash differences between environments can be expected.

MCP Server

See the README.md in ./autots/mcp. Note install with pip install autots[mcp] for full dependencies, or the equivalent pip install autots-mcp.

{
  "mcpServers": {
    "autots": {
      "command": "autots-mcp"
    }
  }
}

mcp-name: io.github.winedarksea/AutoTS

How to Contribute:

  • Give feedback on where you find the documentation confusing
  • Use AutoTS and...
    • Report errors and request features by adding Issues on GitHub
    • Posting the top model templates for your data (to help improve the starting templates)
    • Feel free to recommend different search grid parameters for your favorite models
  • And, of course, contributing to the codebase directly on GitHub.

AutoTS Process

flowchart TD
    A[Initiate AutoTS Model] --> B[Import Template]
    B --> C[Load Data]
    C --> D[Split Data Into Initial Train/Test Holdout]
    D --> E[Run Initial Template Models]
    E --> F[Evaluate Accuracy Metrics on Results]
    F --> G[Generate Score from Accuracy Metrics]
    G --> H{Max Generations Reached or Timeout?}

    H -->|No| I[Evaluate All Previous Templates]
    I --> J[Genetic Algorithm Combines Best Results and New Random Parameters into New Template]
    J --> K[Run New Template Models and Evaluate]
    K --> G

    H -->|Yes| L[Select Best Models by Score for Validation Template]
    L --> M[Run Validation Template on Additional Holdouts]
    M --> N[Evaluate and Score Validation Results]
    N --> O{Create Ensembles?}
    
    O -->|Yes| P[Generate Ensembles from Validation Results]
    P --> Q[Run Ensembles Through Validation]
    Q --> N

    O -->|No| R[Export Best Models Template]
    R --> S[Select Single Best Model]
    S --> T[Generate Future Time Forecast]
    T --> U[Visualize Results]

    R --> B[Import Best Models Template]

Citation

If you wish to cite AutoTS in an academic work, the following paper may be used.

Colin Catlin, Adaptive forecasting in dynamic markets: An evaluation of AutoTS within the M6 competition, International Journal of Forecasting, Volume 41, Issue 4, 2025, Pages 1485-1493, ISSN 0169-2070, https://doi.org/10.1016/j.ijforecast.2025.08.004.

Also known as Project CATS (Catlin's Automated Time Series) hence the logo.

排名相邻
同类项目