pysteps.timeseries.autoregression.estimate_var_params_ols_localized(x, p, window_radius, d=0, include_constant_term=False, h=0, lam=0.0, window='gaussian')#

Estimate the parameters of a vector autoregressive VAR(p) model

\(\mathbf{x}_{k+1,i}=\mathbf{c}_i+\mathbf{\Phi}_{1,i}\mathbf{x}_{k,i}+ \mathbf{\Phi}_{2,i}\mathbf{x}_{k-1,i}+\dots+\mathbf{\Phi}_{p,i} \mathbf{x}_{k-p,i}+\mathbf{\Phi}_{p+1,i}\mathbf{\epsilon}\)

by using ordinary least squares (OLS), where \(i\) denote spatial coordinates with arbitrary dimension. 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.

  • x (array_like) – Array of shape (n, q, :) containing a time series of length n=p+d+h+1 with q-dimensional variables. The remaining dimensions are flattened. The remaining dimensions starting from the third one represent the samples.

  • p (int) – The order of the model.

  • window_radius (float) – Radius of the moving window. If window is ‘gaussian’, window_radius is the standard deviation of the Gaussian filter. If window is ‘uniform’, the size of the window is 2*window_radius+1.

  • d ({0,1}) – The order of differencing to apply to the time series.

  • include_constant_term (bool) – Include the constant term \(\mathbf{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).

  • window ({"gaussian", "uniform"}) – The weight function to use for the moving window. Applicable if window_radius < np.inf. Defaults to ‘gaussian’.


out – The estimated parameter matrices \(\mathbf{\Phi}_{1,i}, \mathbf{\Phi}_{2,i},\dots,\mathbf{\Phi}_{p+1,i}\). If include_constant_term is True, the constant term \(\mathbf{c}_i\) is added to the beginning of the list. Each element of the list is a matrix of shape (x.shape[2:], q, q).

Return type:



Estimation of the innovation parameter \(\mathbf{\Phi}_{p+1}\) is not currently implemented, and it is set to a zero matrix.