statsmodels.非参数.核密度.KDE多元

class statsmodels.nonparametric.kernel_density.KDEMultivariate(data, var_type, bw=None, defaults=None)[source]

多元核密度估计器。

此密度估计器可以处理单变量和多变量数据,包括混合连续/有序离散/无序离散数据。它还提供了交叉验证的带宽选择方法(最小二乘法、最大似然法)。

Parameters:
datalist of ndarrays or 2-D ndarray

用于核密度估计的训练数据,用于确定带宽。如果是一个二维数组,形状应为 (观测数量, 变量数量)。如果是一个列表,每个列表元素是一个单独的观测值。

var_typestr

变量的类型:

  • c : 连续

  • u : 无序 (离散)

  • o : 有序 (离散)

字符串应包含每个变量的类型说明符,例如 var_type='ccuo'

bwarray_like or str, optional

如果是一个数组,它是用户指定的固定带宽。如果是字符串,应该是以下之一:

  • normal_reference: 正常参考经验法则(默认)

  • cv_ml: 交叉验证最大似然

  • cv_ls: 交叉验证最小二乘法

defaultsEstimatorSettings instance, optional

用于(高效)带宽估计的默认值。

Attributes:
bwarray_like

带宽参数。

示例

>>> 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))

估计一个二元分布并显示找到的带宽:

>>> dens_u = sm.nonparametric.KDEMultivariate(data=[c1,c2],
...     var_type='cc', bw='normal_reference')
>>> dens_u.bw
array([ 0.39967419,  0.38423292])

方法

cdf([data_predict])

计算累积分布函数。

imse(bw)

返回无条件核密度估计的积分均方误差。

loo_likelihood(bw[, func])

返回留一法似然函数。

pdf([data_predict])

评估概率密度函数。


Last update: Oct 16, 2024