2016-12-15 2 views
0

Ich habe ein ziemlich großes Modell, das ich mit pymc.MAP passen:Pymc MAP - Wie die endgültigen Werte zu extrahieren?

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

wo model eine großen Liste ist viele pymc Objekte enthält, die in einem MCMC Sampler gut funktioniert. Mein Problem ist jedoch, dass ich nicht weiß, wie ich die Ergebnisse extrahiere, wenn ich versuche, den obigen MAP anzupassen. Das Modell ist ziemlich groß, so bin ich nicht die ganze Datei gehen posten, aber zum Beispiel, enthält es definitiv:

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) 

Allerdings, wenn ich versuchen, die oben genannten Werte mit M.C.value oder M.C_0.value zu extrahieren, es gibt mir ein AttributeError: 'MAP' object has no attribute 'C_0' und so weiter. Was mache ich hier falsch? Gibt es eine spezielle Möglichkeit, die Objekte zu definieren, um sie später zu extrahieren?

Antwort

0

Die optimalen Werte sind in den Elementen der von Ihnen angegebenen Variablensammlungen enthalten. Versuchen Sie zum Beispiel C[0].value.