Разработка моделей ARIMA, SARIMAX, FB Prophet, VAR и ML с использованием библиотеки Auto-TS

Автоматизированное машинное обучение (AutoML) относится к автоматизации некоторых компонентов конвейера машинного обучения. AutoML ускоряет рабочий процесс специалиста по данным, автоматизируя некоторые процессы разработки моделей. Автоматизация позволяет неспециалистам обучать базовой модели машинного обучения, не обладая достаточными знаниями в этой области.

Существуют различные библиотеки Python с открытым исходным кодом для Auto-ML, включая TPOT, MLBox, Auto-Sklearn и т. Д., Которые могут автоматизировать классификационную или регрессионную модель машинного обучения. Для автоматизации задачи НЛП можно использовать Библиотеку AutoNLP.

В этой статье мы обсудим, как автоматизировать реализацию модели прогнозирования временных рядов с использованием модели Auto-TS с открытым исходным кодом.

Что такое Auto-TS:

Auto-TS - это библиотека Python с открытым исходным кодом, в которой реализована функция прогнозирования временных рядов. Он может обучать несколько моделей прогнозирования временных рядов, включая ARIMA, SARIMAX, FB Prophet, VAR и т. Д., Всего в одной строке кода Python, а затем выбирать из них лучшую для прогнозов.

Некоторые особенности библиотек Auto-TS:

  • Находит оптимальную модель прогнозирования временных рядов с помощью оптимизации генетического программирования.
  • Обучает наивные, статистические модели, модели машинного обучения и глубокого обучения со всеми возможными конфигурациями гиперпараметров и перекрестной проверкой.
  • Выполняет преобразования данных для обработки беспорядочных данных путем обучения оптимальному вменению NaN и удалению выбросов.
  • Выбор комбинации метрик для выбора модели.

Установка:

Auto-TS можно установить с помощью PyPl с помощью команды:

pip install autots

Импортируйте библиотеку, используя:

from auto_ts import auto_timeseries

Использование:

Набор данных, используемый в этом тематическом исследовании, - Цена акций Amazon с января 2006 г. по декабрь 2017 г., загруженный с Kaggle.

Эта библиотека включает только модели прогнозирования временных рядов поездов. В наборе данных должен быть столбец времени или формата данных.

  • Загрузите набор данных временного ряда со столбцом времени / даты
df = pd.read_csv("AMZN.csv", usecols=['Date', 'Close'])
df['Date'] = pd.to_datetime(df['Date'])
df = df.sort_values('Date')
  • Разделите все данные на обучающие и тестовые данные
train_df = df.iloc[:2800]
test_df = df.iloc[2800:]
  • Визуализируйте значения теста поезда для справки
train_df.Close.plot(figsize=(15,8), title= 'AMZN Stock Price', fontsize=14, label='Train')
test_df.Close.plot(figsize=(15,8), title= 'AMZN Stock Price', fontsize=14, label='Test')
plt.legend()
plt.grid()
plt.show()

  • Инициализируйте объект модели Auto-TS и подгоните обучающие данные.
model = auto_timeseries(forecast_period=219, score_type='rmse', time_interval='D', model_type='best')
model.fit(traindata= train_df, ts_column="Date", target="Close")
  • Сравните оценки для разных моделей
model.get_leaderboard()
model.plot_cv_scores()

  • Предскажите тестовые данные
future_predictions = model.predict(testdata=219)
  • Визуализируйте значения тестовых данных и прогнозы.

Заключение:

В этой статье мы обсудили, как реализовать моделирование временных рядов в одной строке кода Python. Auto-TS выполняет предварительную обработку данных, поскольку он удаляет выбросы из данных и обрабатывает беспорядочные данные, изучая оптимальное вменение NaN. Используя всего лишь одну строку кода, инициализируя объект Auto-TS и подбирая данные поезда, вы можете обучать несколько моделей временных рядов, включая ARIMA, SARIMAX, FB Prophet, VAR, и предлагать наиболее эффективную модель.

Результат модели действительно кажется удовлетворительным, но если мы попытаемся увеличить размер набора данных, результаты могут улучшиться.

Помимо библиотеки Auto-TS, которая обучает модели для набора данных временных рядов, у нас есть различные библиотеки AutoML, которые могут ускорить рабочий процесс специалиста по данным за счет автоматизации конвейера разработки моделей. Прочтите указанную ниже статью, чтобы узнать 8 библиотек AutoML.



Использованная литература:

[1] Документация Auto-TS: https://pypi.org/project/AutoTS/

Спасибо за чтение