2016-07-08 53 views
0

我有一個數據點的向量,似乎代表了3D高斯分佈或高斯混合分佈。有沒有辦法將3D高斯分佈或高斯混合分佈擬合到這個矩陣中,如果是的話,是否存在這樣的庫(例如在Python中)?有沒有辦法將3D高斯分佈或高斯混合分佈擬合到矢量上?

這個問題似乎涉及到下面的一個,但我想,以適應3D高斯它: Fit multivariate gaussian distribution to a given dataset

目標最終結果是這樣的(單一分佈或混合物): enter image description here

例如,非常簡化的,我的數據載體(從該高斯(混合物)的分佈應該汲取)看起來像這樣:

[[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

看起來像你想的Z型的東西= gaussian1(x,y)+ gaussian2(x,y)等?因爲那些只是普通的二維高斯,那麼... – VBB

+0

我這麼認爲,但我想從數據中學習這些函數(即代表這種分佈的矩陣)。 – MaVe

+0

所以你有(x,y,z)集定義在這些飛機上的點?或者這些圖表代表數據的包絡? – VBB

回答

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