我有一个数据点矢量,似乎代表了一个3D高斯分布或一个高斯混合分布。有没有办法将3D高斯分布或高斯混合分布拟合到这个矩阵,如果是的话,是否存在可以做到这一点的库(例如在Python中)?
问题似乎与下面的问题有关,但我想在其中加入3D高斯: Fit multivariate gaussian distribution to a given dataset
例如,非常简化,我的数据向量(应该从中学习高斯(混合)分布)如下所示:
[[0,0,0,0,0,0], [0,1,1,1,1,0], [0,1,2,2,1,0], [1,2,3,3,2,1], [0,1,2,2,1,0], [0,0,0,0,0,0]]
答案 0 :(得分:0)
如果你知道高斯人的数量,我可以给出答案。您的向量在X,Y点的网格上给出Z值。你可以制作X和Y向量:
import numpy as np
num_x, num_y = np.shape(z)
xx = np.outer(np.ones(num_x), np.arange(num_y))
yy = np.outer(np.arange(num_x), np.ones(num_y))
然后遵循任何常规拟合程序,例如2D Gaussian Fit for intensities at certain coordinates in Python。
答案 1 :(得分:0)
有所谓的高斯混合模型(GMM),背后有很多文献。并且有python代码可以进行采样,参数估计等,不确定它是否符合您的需求
http://scikit-learn.org/stable/modules/generated/sklearn.mixture.GMM.html
免责声明:使用scikit,但从未使用过GMM