有没有办法从多元核估计中的概率密度得到概率?

Is there a way to get the probability from the probability density in multivariate kernel estimation?

我第一次使用matlab中的多元核密度问题

我有一个 3 维样本数据(坐标轴中的 x、y、z),我想使用核密度估计找到某个体积中的概率。所以,我在matlab中使用了mvksdensity函数,得到了我决定的点的概率密度(估计函数值)。

我最初想做的是(如果我能细化函数的话)对给定体积的多元函数进行三重积分。但 mvksdensity 函数只有 returns 密度估计而没有 return 函数。我以为会有一种简单的方法可以根据密度计算概率,但我被卡住了。有人对此有任何有用的信息吗?提前致谢。

我考虑过 fitdist 函数来查找分布,但它只适用于单变量内核分布。

我也试过用mvncdf,这个函数是在设置均值和标准差后return对样本数据的行求多元正态分布的cdf的函数。但是然后我必须计算每个数据点中每个正态分布的给定体积的概率,然后将其相加,这对于大量数据来说效率低下,我不知道这是不是正确的方法。

我可以建议以下 Monte-Carlo 方法。您找到一个主体积,其中包含估计概率密度的全部质量。为了效率,这应该尽可能小。然后,您在主卷中生成大量测试点,这些点可以在网格上或根据均匀分布随机生成。特定体积 V 的概率含量可以通过 V 中测试点的密度值之和除以所有测试点的密度值之和来估计。但是,恐怕在 3D 中您至少需要 1E6 个测试点,可能更多。如果您允许我访问您的样本,我很乐意尝试我的建议。计算出 V 的估计概率内容的标准误差估计值也应该相当容易。