测量点云的熵

Oli*_*ken 5 statistics

我有一个点云,我想测量(/近似)熵(密度-熵)。只有当我为点云中的每个点分配一个概率时,才能计算熵。这样做的常用方法是什么?

笔记:

我的一个想法是使用内核密度估计(wiki)来计算密度:

有没有通用的方法,还是我应该只使用 kde?

0-_*_*_-0 1

核密度估计器是一个成熟的经典 https://jakevdp.github.io/PythonDataScienceHandbook/05.13-kernel-densis-estimation.html

如果您有很多点或需要特别快,直方图可能值得一试。实现可以非常简单,例如 python

import numpy as np
hist = np.histogramdd(np.array(data), bins=n_bins)[0]
hist /= hist.sum()
hist = hist.flatten()
hist = hist[hist.nonzero()]
entropy = -0.5 * np.sum(hist * np.log2(hist))
Run Code Online (Sandbox Code Playgroud)

或者,如果您在高维度中工作,高斯混合模型可能是一个有用的代理。https://scikit-learn.org/stable/modules/密度.html