statsmodels.nonparametric.kernel_density.KDEMultivariate
-
class statsmodels.nonparametric.kernel_density.KDEMultivariate(data, var_type, bw=None, defaults=)
[source] -
Multivariate kernel density estimator.
This density estimator can handle univariate as well as multivariate data, including mixed continuous / ordered discrete / unordered discrete data. It also provides cross-validated bandwidth selection methods (least squares, maximum likelihood).
Parameters: data: list of ndarrays or 2-D ndarray :
The training data for the Kernel Density Estimation, used to determine the bandwidth(s). If a 2-D array, should be of shape (num_observations, num_variables). If a list, each list element is a separate observation.
var_type: str :
The type of the variables:
- c : continuous
- u : unordered (discrete)
- o : ordered (discrete)
The string should contain a type specifier for each variable, so for example
var_type='ccuo'
.bw: array_like or str, optional :
If an array, it is a fixed user-specified bandwidth. If a string, should be one of:
- normal_reference: normal reference rule of thumb (default)
- cv_ml: cross validation maximum likelihood
- cv_ls: cross validation least squares
defaults: EstimatorSettings instance, optional :
The default values for (efficient) bandwidth estimation.
See also
Examples
12345>>>
import
statsmodels.api as sm
>>> nobs
=
300
>>> np.random.seed(
1234
)
# Seed random generator
>>> c1
=
np.random.normal(size
=
(nobs,
1
))
>>> c2
=
np.random.normal(
2
,
1
, size
=
(nobs,
1
))
Estimate a bivariate distribution and display the bandwidth found:
1234>>> dens_u
=
sm.nonparametric.KDEMultivariate(data
=
[c1,c2],
... var_type
=
'cc'
, bw
=
'normal_reference'
)
>>> dens_u.bw
array([
0.39967419
,
0.38423292
])
Attributes
bw: array_like The bandwidth parameters. Methods
cdf
([data_predict])Evaluate the cumulative distribution function. imse
(bw)Returns the Integrated Mean Square Error for the unconditional KDE. loo_likelihood
(bw[, func])Returns the leave-one-out likelihood function. pdf
([data_predict])Evaluate the probability density function.
Please login to continue.