###### 9 Essential Time-Series Forecasting Methods In Python # 9 Essential Time-Series Forecasting Methods In Python • Autoregression (AR)
• Autoregressive Moving Average (ARMA)
• Autoregressive Integrated Moving Average (ARIMA)
• Seasonal Autoregressive Integrated Moving-Average (SARIMA)
• Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors (SARIMAX)
• Vector Autoregression (VAR)
• Vector Autoregression Moving-Average (VARMA)
• Vector Autoregression Moving-Average with Exogenous Regressors (VARMAX)
• Holt Winter’s Exponential Smoothing (HWES)  Machine Learning is widely used for classification and forecasting problems on time series problems. When there is a predictive model to predict an unknown variable; where time acts as an independent variable and a target-dependent variable, time-series forecasting comes into the picture.

A predicted value can be anything from the salaries of a potential employee or credit score of an account holder in the bank. Any data science aspirant with a formal introduction to statistics would have come across confidence intervals which are a measure of certainty of a certain model.

So to predict or forecast the values of certain data over a period requires specific techniques and there are many, developed over the years. Each has its special use, and care must be taken to select the correct technique for a particular application. The forecaster has a role to play in technique selection and the better they understand the range of forecasting possibilities, the more likely it is that a company’s forecasting efforts will bear fruit.

The selection of a method depends on the context of the forecast, the relevance and availability of historical data, the degree of accuracy desirable, the time period to be forecast, the cost of the forecast to the enterprise, and the time taken for analysis.

### Factors Influencing Forecasting

• Increasing or decreasing trends
• Seasonality
• Size of dataset

The components of time-series are as complex and sophisticated as the data itself. With increasing time, the data obtained increases and it doesn’t always mean that more data means more information but, a larger sample avoids the error that arises due to random sampling.

So, for every application, the technique used, changes. Source: Data science blog

In this article we list down the most widely used time-series forecasting methods which can be used in Python with just a single line of code:

### Autoregression (AR)

The autoregression (AR) method models as a linear function of the observations at prior time steps.

The notation for the model involves specifying the order of the model p as a parameter to the AR function.

`from statsmodel.tsa.ar_model import AR`

### Autoregressive Moving Average (ARMA)

The (ARMA) method combines both Autoregression (AR) and Moving Average (MA) models.

`from statsmodel.tsa.arima_model import ARMA`

### Autoregressive Integrated Moving Average (ARIMA)

(ARIMA) method combines both Autoregression (AR) and Moving Average (MA) models as well as a differencing pre-processing step of the sequence to make the sequence stationary, called integration

`from statsmodel.tsa.arima_model import ARIMA`

### Seasonal Autoregressive Integrated Moving-Average (SARIMA)

The Seasonal Autoregressive Integrated Moving Average (SARIMA) method models the next step in the sequence as a linear function of the differenced observations, errors, differenced seasonal observations, and seasonal errors at prior time steps.

It combines the ARIMA model with the ability to perform the same autoregression, differencing, and moving average modeling at the seasonal level.

`from statsmodel.tsa.statespace.sarimax import SARIMAX`

### Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors (SARIMAX)

The Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors (SARIMAX) is an extension of the SARIMA model that also includes the modeling of exogenous variables.

The SARIMAX method can also be used to model the subsumed models with exogenous variables, such as ARX, MAX, ARMAX, and ARIMAX

`from statsmodel.tsa.statespace.sarimax import SARIMAX`

### Vector Autoregression (VAR)

The Vector Autoregression method uses an AR model. It is the generalization of AR to multiple parallel time series.

`from statsmodel.tsa.vector_ar.var_model import VAR`

### Vector Autoregression Moving-Average (VARMA)

It is the generalization of ARMA to multiple parallel time series, e.g. multivariate time series.

`from statsmodel.tsa.statespace.varmax import VARMAX`

### Vector Autoregression Moving-Average with Exogenous Regressors (VARMAX)

The Vector Autoregression Moving-Average with Exogenous Regressors (VARMAX) is an extension of the VARMA model that also includes the modeling of exogenous variables. It is a multivariate version of the ARMAX method.

### Holt Winter’s Exponential Smoothing (HWES)

The Holt Winter’s Exponential Smoothing (HWES) is an exponentially weighted linear function of observations at prior time steps, taking trends and seasonality into account.

`from statsmodel.tsa.holtwinters import ExponentialSmoothing`

What Do You Think?