gpt4 book ai didi

python - 如何使用核密度估计绘制样本

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:45 25 4
gpt4 key购买 nike

在核密度估计中,空间中任意点的密度可以通过(wiki)来估计:

kde

在 sklearn 中可以从这个分布中抽取样本:

kde = KernelDensity().fit(z)  # fit kde
z_sampled = kde.sample(100) # draw 100 samples

是否有明确的公式可以从这样的分布中抽取样本?

最佳答案

这取决于内核。

但一般方法很简单。让我们在这里假设一个 gaussian-kernel:

  • X中均匀选取一个原点x
  • 从链接到这一点的内核中提取一个值:
    • 高斯:sample = Gaussian/Normal(x, b) (x=mean; b=standard deviation) 其中x = 统一选择的点 code> 和 b=Bandwidth

是的,抽样不需要配件。一切都取决于原始数据和带宽参数!

sklearn's implementation 比较:

i = rng.randint(data.shape[0], size=n_samples)

if self.kernel == 'gaussian':
return np.atleast_2d(rng.normal(data[i], self.bandwidth))

我省略了访问 data[i] 所需的底层树结构。 np.atleast_2d 只是为了与 sklearn 的 API 兼容。

关于python - 如何使用核密度估计绘制样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46488223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com