pysteps.timeseries.autoregression.estimate_ar_params_ols

pysteps.timeseries.autoregression.estimate_ar_params_ols

pysteps.timeseries.autoregression.estimate_ar_params_ols(x, p, d=0, check_stationarity=True, include_constant_term=False, h=0, lam=0.0)

Estimate the parameters of an autoregressive AR(p) model

\(x_{k+1}=c+\phi_1 x_k+\phi_2 x_{k-1}+\dots+\phi_p x_{k-p}+\phi_{p+1}\epsilon\)

by using ordinary least squares (OLS). If \(d\geq 1\), the parameters are estimated for a d times differenced time series that is integrated back to the original one by summation of the differences.

Parameters
x: array_like

Array of shape (n,…) containing a time series of length n=p+d+h+1. The remaining dimensions are flattened. The rows and columns of x represent time steps and samples, respectively.

p: int

The order of the model.

d: {0,1}

The order of differencing to apply to the time series.

check_stationarity: bool

Check the stationarity of the estimated model.

include_constant_term: bool

Include the constant term \(c\) to the model.

h: int

If h>0, the fitting is done by using a history of length h in addition to the minimal required number of time steps n=p+d+1.

lam: float

If lam>0, the regression is regularized by adding a penalty term (i.e. ridge regression).

Returns
out: list

The estimated parameter matrices \(\mathbf{\Phi}_1,\mathbf{\Phi}_2, \dots,\mathbf{\Phi}_{p+1}\). If include_constant_term is True, the constant term \(c\) is added to the beginning of the list.

Notes

Estimation of the innovation term parameter \(\phi_{p+1}\) is currently implemented for p<=2. If p > 2, \(\phi_{p+1}\) is set to zero.