Разработка моделей 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/
Спасибо за чтение