2016-12-15 17 views
0

我有我適合與pymc.MAP一個相當大的模型:Pymc MAP - 如何提取最終值?

M = pymc.MAP(model) 
M.fit(iterlim=1000) 

其中model是包含許多pymc對象的大名單,其在MCMC採樣器工作正常。但是,我的問題是,當我嘗試適應上述MAP時,我不知道如何提取結果。該模型是相當大的,所以我沒有要發佈整個文件,但例如,它肯定包含:

arctanA = np.empty(numbins, dtype=object) 
C = np.empty(numbins, dtype=object) 
for i in range(numbins): 
    arctanA[i] = pymc.Uniform('arctanA_%i' %i, -math.pi/2, math.pi/2) 
    C[i] = pymc.Uniform('C_%i' %i, 0, 2) 

然而,當我嘗試用M.C.valueM.C_0.value提取上述數值,它給了我一個AttributeError: 'MAP' object has no attribute 'C_0'等等。那麼我在這裏做錯了什麼?是否有一些特殊的方式需要定義對象以便稍後提取它們?

回答

0

最佳值位於您指定的變量集合的元素中。例如,嘗試C[0].value