假设我有一个形状为 (100000,1) 的数组,表示 0 到 1 之间均匀分布的变量 X 的样本。我想近似该变量的概率密度,我使用 Scikit-Learn KernelDensity 来做到这一点。
问题是我只得到一个未标准化的结果。概率密度的积分总和不等于1。我应该如何自动归一化?难道我做错了什么 ?
def kde_sklearn(data, grid, **kwargs):
"""
Kernel Density Estimation with Scikit-learn
Parameters
----------
data : numpy.array
Data points used to compute a density estimator. It
has `n x p` dimensions, representing n points and p
variables.
grid : numpy.array
Data points at which the desity will be estimated. It
has `m x p` dimensions, representing m points and p
variables.
Returns
-------
out : numpy.array
Density estimate. …Run Code Online (Sandbox Code Playgroud)