pysteps.timeseries.autoregression.estimate_ar_params_ols_localized

pysteps.timeseries.autoregression.estimate_ar_params_ols_localized

pysteps.timeseries.autoregression.estimate_ar_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 localized AR(p) model

\(x_{k+1,i}=c_i+\phi_{1,i}x_{k,i}+\phi_{2,i}x_{k-1,i}+\dots+\phi_{p,i}x_{k-p,i}+\phi_{p+1,i}\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.

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.

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 \(c_i\) 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’.

Returns
out: list

List of length p+1 containing the AR(p) parameter fields for for the lag-p terms and the innovation term. The parameter fields have the same shape as the elements of gamma. Nan values are assigned, where the sample size for estimating the parameters is too small. If include_constant_term is True, the constant term \(c_i\) 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 a zero array.