快速密度估计

机器算法验证 估计 密度函数
2022-03-30 19:57:01

假设您正在尝试估计随机变量的 pdf ,其中有大量 iid 样本(即非常大,想想数千 - 数百万)。X{Xi}i=1nn

一种选择是估计均值和方差,并假设它是高斯的。

另一方面,可以进行内核密度估计,以获得更准确的结果(尤其是在有这么多数据的情况下)。

问题是,我需要非常快速地评估生成的 pdf。如果我假设 pdf 是高斯的,那么评估 pdf非常快,但估计可能不准确。另一方面,内核密度估计会太慢而无法使用。fX(x)

所以问题是:获得比高斯更一般的pdf估计值的常用方法是什么,但以增量方式?理想情况下,我希望有一个具有多个参数(例如)的模型,可用于权衡估计精度和评估速度。k

我想到的可能方向是:

  1. 估计分布的矩,并仅根据这些矩找到 pdf。这里是矩的数量。但是,基于模型的pdf的模型是什么?k

  2. 个混合的高斯混合(这里,因为对于混合的每个元素,我们保持均值、方差和权重,并且权重总和为 1)。这是一个好主意吗?kk=3k1

欢迎任何其他想法。

谢谢!

相关问题:ML 估计

更新/澄清:

感谢到目前为止的所有答案。

我真的需要 pdf(不是 cdf,也不是从这个分布中采样)。具体来说,我使用朴素贝叶斯 (NB) 分类和回归的标量 pdf 估计:给定标签,每个特征都有一个 pdf,并且 NB 假设说它们是独立的。因此,为了计算后验(给定特征值的标签概率),我需要在观察到的特征值处评估不同的 pdf。

3个回答

在单变量情况下,一个快速的近似值:您可以采用适度数量的箱(在单变量情况下,说大约一千个,尽管这取决于您的带宽 - 您需要您的带宽来覆盖很多箱)和将点离散到 bin 中心;您只需按相应的 bin-count 缩放每个内核贡献。(这种做法真的不适合高维)

另一种方法是仅在有限数量的位置评估内核,并在它们之间使用某种形式的平滑插值。

我想您可以尝试对数样条密度估计,但它可能不会更快。

对于多元密度估计,您可以查看快速高斯变换,例如,请参见此处

OP 指出,样本矩的计算速度足以满足他的需要,并建议:

估计分布的矩,并仅根据这些矩找到 pdf

这可以通过只需要前 4 个时刻的 Pearson 拟合来完成。但是,它确实假设您的数据是单峰的并且......有用且稳健......峰度等不是太大。例如,参见我们的书 Rose/Smith(2002 - 免费下载)的第 5 章:

http://www.mathstatica.com/book/bookcontents.html

“输入”是前 4 个时刻——然后从那些时刻导出 pdf,其中函数形式已经象征性地计算出来,因此生成的 pdf 可以立即有效地计算。

如果 OP 指定,我认为这个问题会更好地定义:

  1. 高斯拟合效果如何?
  2. 核密度估计是什么样的?为什么不包括情节?
  3. 分布是否改变形状?如果有,请提供一些例子。

子抽样在这里不是一种选择吗?如果您已经开始考虑使用矩和参数形式,那么您可能不需要查看所有数百万个观察值。对于相对简单的参数分布(例如高斯分布),数百次观察可能就足够了。

完整的答案在很大程度上也取决于下游的使用。您是否会寻求随后从这个未知分布中采样新值?如果是这样,上面提到的Recdf中的方法可以正常工作,即使是从原始数据的下采样子集中。