statsmodels.stats.correlation_tools.kernel_covariance

statsmodels.stats.correlation_tools.kernel_covariance(exog, loc, groups, kernel=None, bw=None)[source]

Use kernel averaging to estimate a multivariate covariance function.

The goal is to estimate a covariance function C(x, y) = cov(Z(x), Z(y)) where x, y are vectors in R^p (e.g. representing locations in time or space), and Z(.) represents a multivariate process on R^p.

The data used for estimation can be observed at arbitrary values of the position vector, and there can be multiple independent observations from the process.

Parameters:
exog : array_like

The rows of exog are realizations of the process obtained at specified points.

loc : array_like

The rows of loc are the locations (e.g. in space or time) at which the rows of exog are observed.

groups : array_like

The values of groups are labels for distinct independent copies of the process.

kernel : MultivariateKernel instance, optional

An instance of MultivariateKernel, defaults to GaussianMultivariateKernel.

bw : array_like or scalar

A bandwidth vector, or bandwidth multiplier. If a 1d array, it contains kernel bandwidths for each component of the process, and must have length equal to the number of columns of exog. If a scalar, bw is a bandwidth multiplier used to adjust the default bandwidth; if None, a default bandwidth is used.

Returns:

  • A real-valued function C(x, y) that returns an estimate of the covariance

  • between values of the process located at x and y.

References