Quickstart¶
magi
pip¶
$ pip install magi
Imports¶
from magi.core import forecast
from magi.plotting import fc_plot, acc_plot
from magi.utils import gen_ts
from magi.accuracy import accuracy
Single series R model¶
Input format should be a series with datetime index
df = gen_ts()
fc_obj = forecast(time_series=df['ts2'],forecast_periods=18,frequency=12)
forecast_dic = fc_obj.R(model='auto.arima(rdata,D=1,stationary=TRUE)')
Multiple Series R model in parallel¶
Input format should be a dataframe of series with datetime index with datetime index, returning fitted and predicted values in a dataframe
from dask.distributed import Client, LocalCluster
import dask
cluster = LocalCluster()
client = Client(cluster)
df = gen_ts()
fc_obj = forecast(time_series=df,forecast_periods=18,frequency=12)
forecast_df = fc_obj.R(model='thetaf',fit_pred=True)
Single Series Prophet model¶
df = gen_ts()
fc_obj = forecast(time_series=df['ts2'],forecast_periods=18,frequency=12)
forecast_dic = fc_obj.prophet(changepoint_prior_scale=.25)
Multiple Series Prophet model in parallel¶
This exampe also shows calling cleaning ts function which removes outliers and linearly interpolates missing values. Returns resulting residuals as dataframe
from dask.distributed import Client, LocalCluster
import dask
cluster = LocalCluster()
client = Client(cluster)
df = gen_ts()
fc_obj = forecast(time_series=df,forecast_periods=18,frequency=12)
forecast_df = fc_obj.tsclean().prophet(changepoint_prior_scale=.25,residuals=True)