I am looking for support with an issue I’m having trying to fit my timeseries data using the Nixtla AutoARIMA model. My timeseries is in a frequency of 5 minutes and has a dailyseasonality (seasonal periods = 12*24=288). The original data is of length 26349 and was split 80/20 into train and test sets.
I have configured my dataframe into the requisite format (i.e., renamed the columns to “ds”, “y” and “unique_id”) and my date column is in a correct date/time format.
My issue is that after instantiating the model, and fitting it, my results indicate an “ARIMA(0,0,0) with zero mean”. These results were accessed by using the following command arima_string(sf.fitted_[0,0].model_)
.
I know that these are erroneouos results based on my knowledge of the data under study, and to investigate further, I ran the predict method on the new fitted model forecast = sf.forecast(df=train, h=288, level=[0.95])
.
The forecast returns a dataframe of a far greater length than my specified horizon length (forecast length is 7505568).
I am pretty sure I am doing something wrong. I have included my code below. Thanks in advance.
from statsforecast import StatsForecast
from statsforecast.models import AutoARIMA
from statsforecast.arima import arima_string
# from https://nixtlaverse.nixtla.io/statsforecast/docs/models/autoarima.html
# Instantiating the model
season_length = 288 # daily
horizon = len(test) # number of predictions
models = [AutoARIMA(season_length=season_length)]
# instantiating, continued
sf = StatsForecast(df= train, models = models, freq='5T', n_jobs=-1)
sf.fit()
# Accessing the results
arima_string(sf.fitted_[0,0].model_)
I tried to ensure that the ‘ds’ column is in the correct date/time format.