Regression for a time series

My dataset is a univariate monthly time series. I'm looking to predict the future values. Until now I have used ARIMA models. I've heard of other models of regression, but they need to have X and y as a training set unlike ARIMA.

• Is there an efficient method to get training and testing data?

• What are the best models that I can use?

Implementations in Python are also welcome.

• Can you clarify your first question? – Richard Hardy Feb 17 '17 at 14:35
• I've worked with basic regression models, all of them used data with more than 1 feature. My problem is with this dataset I have only 1 feature. I can't use fit(X,y), in ARIMA I only pass fit(ts). So is there a way that I can have X and y with my current dataset ? (I'm new to regression models and time series) – datascana Feb 17 '17 at 15:14

Moreover, in the context of seasonal time series you may exploit the fact that the data exhibits seasonal patterns. Then you may use a seasonal ARIMA (SARIMA) model or a regression with ARIMA errors where the regressors are seasonal dummy variables. In R you do that with the the function arima. To include dummies you use the function's argument xreg into which you supply a data matrix made of columns that are the seasonal dummy variables corresponding to your original time series. (As an alternative for dummies, you may use Fourier terms; see Rob J. Hyndman's blog post "Forecasting with long seasonal periods".)