statsmodels.nonparametric.kernel_density.KDEMultivariateConditional

class statsmodels.nonparametric.kernel_density.KDEMultivariateConditional(endog, exog, dep_type, indep_type, bw, defaults=None)[source]

条件多元核密度估计器。

计算 P(Y_1,Y_2,...Y_n | X_1,X_2...X_m) = P(X_1, X_2,...X_n, Y_1, Y_2,..., Y_m)/P(X_1, X_2,..., X_m)。 条件密度根据定义是两个密度之比, 参见 [1]

Parameters:
endoglist of ndarrays or 2-D ndarray

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

exoglist of ndarrays or 2-D ndarray

自变量的训练数据;与endog形状相同。

dep_typestr

因变量的类型:

c : 连续 u : 无序(离散) o : 有序(离散)

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

indep_typestr

自变量的类型;指定方式类似于dep_type

bwarray_like or str, optional

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

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

  • cv_ml: 交叉验证最大似然

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

defaultsInstance of class EstimatorSettings

高效带宽估计的默认值

Attributes:
bwarray_like

带宽参数

另请参阅

KDEMultivariate

参考文献

示例

>>> import statsmodels.api as sm
>>> nobs = 300
>>> c1 = np.random.normal(size=(nobs,1))
>>> c2 = np.random.normal(2,1,size=(nobs,1))
>>> dens_c = sm.nonparametric.KDEMultivariateConditional(endog=[c1],
...     exog=[c2], dep_type='c', indep_type='c', bw='normal_reference')
>>> dens_c.bw   # show computed bandwidth
array([ 0.41223484,  0.40976931])

方法

cdf([endog_predict, exog_predict])

条件密度的累积分布函数。

imse(bw)

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

loo_likelihood(bw[, func])

返回数据的留一法条件似然值。

pdf([endog_predict, exog_predict])

评估概率密度函数。


Last update: Oct 16, 2024