我正在尝试使用scipy在特定点估计数据集的密度。
from scipy.stats import gaussian_kde
import numpy as np
我有一个3D点的数据集
A
(这只是一个最简单的例子。我的实际数据具有更多维度和更多样本)。A = np.array([[0.078377 , 0.76737392, 0.45038174],
[0.65990129, 0.13154658, 0.30770917],
[0.46068406, 0.22751313, 0.28122463]])
我想要估算密度的点
,并且需要润色内容使其更加易懂。B = np.array([[0.40209377, 0.21063273, 0.75885516],
[0.91709997, 0.79303252, 0.65156937]])
但是我似乎无法使用gaussian_kde
函数,因为
result = gaussian_kde(A.T)(B.T)
返回值
LinAlgError: Matrix is not positive definite
如何修复这个错误?如何获取我的样本的密度?