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.
 A: If you had only one variable in a cross sectional setting, then it would indeed be difficult to talk about a regression model. However, in a time series setting there are some helpful tricks. In autoregressive models you use lags of the dependent variable as regressors since you expect that the past values of the variable may help predict the future values. That is how AR models work, and ARIMA is a generalization of that. 
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".)
You may read more in Hyndman & Athanasopoulos "Forecasting: Principles and Practice" Section 8.9 and Section 9.1, for example.
