Intro — AutoTS 0.2.1 documentation

# Intro

# AutoTS

Model Selection for Multiple Time Series

Simple package for comparing and predicting with open-source time series implementations.

For other time series needs, check out the list here.

## Features

- Twenty available model classes, with tens of thousands of possible hyperparameter configurations

- Finds optimal time series models by genetic programming

- Handles univariate and multivariate/parallel time series

- Point and probabilistic forecasts

- Ability to handle messy data by learning optimal NaN imputation and outlier removal

- Ability to add external known-in-advance regressor

- Allows automatic ensembling of best models

- Multiple cross validation options

- Subsetting and weighting to improve search on many multivariate series

- Option to use one or a combination of metrics for model selection

- Ability to upsample data to a custom frequency

- Import and export of templates allowing greater user customization

## Basic Use

    pip install autots

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

Input data is expected to come in a ‘long’ format with three columns:

- Date (ideally already in pd.DateTime format)

- Value

- Series ID. For a single time series, series_id can be `= None`.

The column name for each of these is passed to .fit().

    # also: _hourly, _daily, _weekly, or _yearly
    from autots.datasets import load_monthly
    df_long = load_monthly()

    from autots import AutoTS
    model = AutoTS(forecast_length=3, frequency='infer',
                   prediction_interval=0.9, ensemble=None,
                   model_list='superfast',
                   max_generations=5, num_validations=2,
                   validation_method='even')
    model = model.fit(df_long, date_col='datetime',
                      value_col='value', id_col='series_id')

    # Print the name of the best model
    print(model)

    prediction = model.predict()
    # point forecasts dataframe
    forecasts_df = prediction.forecast
    # accuracy of all tried model results
    model_results = model.results()
    # and aggregated from cross validation
    validation_results = model.results("validation")

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

## 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!

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