Учебное пособие по использованию rego, новой библиотеки машинного обучения для автоматического прогнозирования временных рядов, доступной для R и Python.

1. Что такое рего?

rego — это новый алгоритм машинного обучения для прогнозирования и условного исчисления временных рядов. Он может автоматически устанавливать все необходимые параметры, поэтому в минимальной конфигурации требуется только целевая переменная и зависимые переменные, если они есть. Он может решать большие задачи с сотнями или тысячами зависимых переменных и задачи, в которых количество зависимых переменных превышает количество наблюдений. Более того, его можно использовать не только с временными рядами, но и с любой другой целевой переменной с действительным знаком. Реализованный алгоритм включает методологию байесовского стохастического поиска для выбора модели и надежную оценку, основанную на начальной загрузке. rego работает быстро, потому что весь код написан на C++.

2. Чему вы научитесь?

В ходе этого урока вы узнаете, как:

  • установить rego в R и Python
  • прогнозировать временные ряды с помощью regoв R и Python.

3. Как установить рего в R

Вы можете установить rego прямо из CRAN.

install.packages("rego")

3. Как установить рего на Python

Вы можете установить rego с помощью PIP, предварительно установив его зависимости: setuptools, Cython и pandas.

pip install --upgrade setuptools
pip install Cython
pip install pandas
pip install rego

4. Как прогнозировать временные ряды с помощью rego

Теперь мы готовы попробовать rego, используя серию данных в реальном времени. Прежде всего, нам нужно загрузить наши данные: одномерный временной ряд.

#R

library(rego)
Data=read.csv("https://app.channelattribution.net/data/Data_air.csv",sep=";",header=FALSE) 
colnames(Data)=c("target")

#Питон

import pandas as pd 
from rego import * 
import plotly.express as px
Data=pd.read_csv("https://app.channelattribution.net/data/Data_air.csv",sep=";",header=None) 
Data.columns=["target"]

Как видите, наши данные хранятся в кадре данных pandas с целевой переменной в качестве первого столбца. Но rego также может принимать зависимые переменные, которые необходимо сохранять, начиная со второго столбца.

Мы можем построить нашу целевую переменную.

Более подробную информацию можно найти на официальной странице проекта.

#R

plot(Data$target,type="l",ylab="target")

#Питон

fig = px.line(Data,y="target") 
fig.show()

Как видите, наша целевая переменная — это сезонный временной ряд с возрастающей тенденцией. Более того, в середине временного ряда отсутствуют некоторые наблюдения. В конце временного ряда также отсутствуют некоторые наблюдения, которые представляют горизонт нашего прогноза. Я имею в виду, что отсутствующие наблюдения в конце временного ряда были искусственно добавлены, чтобы позволить rego делать по ним прогнозы. Таким образом, rego делает прогнозы по всем имеющимся отсутствующим наблюдениям.

rego включает функцию regpred, которую можно использовать для прогнозирования.

#R и #Python

res=regpred(Data)

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

#R

predictions=res$prediction
 plot(predictions$real,type="l",ylim=c(min(predictions,na.rm=TRUE)*0.95,max(predictions,na.rm=TRUE)*1.05)) lines(predictions$predicted,col=”blue”) lines(predictions$lower_bound,col=”red”) lines(predictions$upper_bound,col=”red”)

#Питон

predictions=res["prediction"] 
fig = px.line(predictions) 
fig.show()

4. Релевантные ссылки

"Документация"

Р КРАН

Питон ПЮПИ

ГИТ

5. Вывод

В этом руководстве мы показали, как легко использовать rego с R и Python для автоматического прогнозирования одномерных временных рядов с пропущенными значениями или без них.