statsmodels.regression.process_regression.GaussianCovariance

class statsmodels.regression.process_regression.GaussianCovariance[source]

An implementation of ProcessCovariance using the Gaussian kernel.

This class represents a parametric covariance model for a Gaussian process as described in the work of Paciorek et al. cited below.

Following Paciorek et al [1], the covariance between observations with index i and j is given by:

\[s[i] \cdot s[j] \cdot h(|time[i] - time[j]| / \sqrt{(u[i] + u[j]) / 2}) \cdot \frac{u[i]^{1/4}u[j]^{1/4}}{\sqrt{(u[i] + u[j])/2}}\]

The ProcessMLE class allows linear models with this covariance structure to be fit using maximum likelihood (ML), which is equivalent to generalized least squares (GLS) in this setting.

The mean and covariance parameters of the model are fit jointly. The mean, scaling, and smoothing parameters can be linked to covariates. The mean parameters are linked linearly, and the scaling and smoothing parameters use an exponential link to preserve positivity.

The reference of Paciorek et al. below provides more details. Note that here we only implement the 1-dimensional version of their approach.

References

1

Paciorek, C. J. and Schervish, M. J. (2006). Spatial modeling using a new class of nonstationary covariance functions. Environmetrics, 17:483–506. https://papers.nips.cc/paper/2350-nonstationary-covariance-functions-for-gaussian-process-regression.pdf

Methods

get_cov(time, sc, sm)

Returns the covariance matrix for given time values.

jac(time, sc, sm)

The Jacobian of the covariance with respect to the parameters.

Methods

get_cov(time, sc, sm)

Returns the covariance matrix for given time values.

jac(time, sc, sm)

The Jacobian of the covariance with respect to the parameters.