2017-09-04 83 views
0

問題:我有指示從概率分佈採樣的座標的數據點(在這種情況下,我們將假設一個離散的概率分佈函數)我們基本上形成'best PDF格式的pdf「。使用scipy創建pdf樣本座標的最佳擬合概率分佈

已知:樣品座標PDF和PDF類型的類型,以適應於它(例如lognorm)

回程:理想的PDF參數,或者,最適合的分配的可替換的座標。

我還沒有在這個問題/答案的stackoverflow上找到一個問題,我知道這可能是不好的做法。似乎scipy明確地喜歡原始數據來構建PDF參數,而不是來自pdf的樣本座標。

我有載體,其中:

x = list(range(40)) 

y = 
[0.032935611986072325, 
0.15399668951796566, 
0.19217568076280733, 
0.16189644686218774, 
0.11504756998080325, 
0.09474568682103104, 
0.08971162676825704, 
0.06198299715985481, 
0.04408241680044377, 
0.026817519111333753, 
0.013562814925870696, 
0.007007365243147507, 
0.003909173588759217, 
0.0015053452905258473, 
0.00037481359597322736, 
0.0001378624720821066, 
5.734365756863486e-05, 
2.9711739672867803e-05, 
8.022169711674307e-06, 
5.942347934573561e-06, 
2.228380475465085e-06, 
3.7139674591084754e-06, 
8.913521901860341e-07, 
8.913521901860341e-07, 
5.94234793457356e-07, 
2.97117396728678e-07, 
2.97117396728678e-07, 
2.97117396728678e-07, 
1.48558698364339e-07, 
0.0, 
0.0, 
0.0, 
0.0, 
0.0, 
0.0, 
0.0, 
0.0, 
0.0, 
0.0] 

回答

1

呼喚你的PDF f(x)

如果數據確實代表{x, f(x)}那麼你可以嘗試簡單優化的f使用例如參數https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.leastsq.html#scipy.optimize.leastsq

如果在另一方面的數據是從概率分佈的樣本,即你的數據看起來像{x}但每個x選擇的概率爲f(x),那麼你應該嘗試馬爾可夫鏈蒙特卡羅估計f。有多種選擇的Python:

https://pystan.readthedocs.io/en/latest/

http://docs.pymc.io/notebooks/getting_started.html#Model-fitting