Ich portierte das Beispiel von Simple Bayesian Network via Monte Carlo Markov Chain von zu PyMC3
und es funktioniert.
Das Ergebnis kann in den folgenden gist auf GitHub in der Datei pymc3_rain_sprinkler_grass_simple_bayesian_network.py.
Einfache Bayesian Netzwerk über Monte Carlo Markov Chain portiert zu PyMC3
ich finden wollte das ursprüngliche Beispiel erweitern, indem Beweise bereitstellt, z.B. dass das Gras nass ist und dann lassen Sie mich die Antwort auf Fragen wie "gegeben Gras ist nass, was ist die Wahrscheinlichkeit, dass es geregnet hat?".
Es scheint, dass die resultierende Spur "konstant" ist, z. es gibt kein Element der Zufälligkeit mehr. Werfen Sie einen Blick auf pymc3_rain_sprinkler_grass_simple_bayesian_network_with_evidence.py
im Wesentlichen und führen Sie die df.drop_duplicates()
um zu sehen, was ich meine.
Was mache ich falsch?
Ich habe den gist mit dem gleichen Code in 'PyMC2' aktualisiert. Die 'PyMC2'-Version leidet nicht unter dem gleichen Problem wie die PyMC3-Version. Irgendwelche Ideen? –
In [pymc3-multiple-observed-values] (http://stackoverflow.com/questions/24242660/pymc3-multiple-observed-values) habe ich die folgende Aussage gefunden: "Es ist grundsätzlich nichts falsch mit Ihrem Ansatz, mit Ausnahme der Fallstricke einer Bayes'schen MCMC-Analyse: (1) Nicht-Konvergenz, (2) die Prioren, (3) das Modell. " Ich denke, mein Fall ist ein ähnlicher Fall und ich werde die Lösung weiter abstimmen. Wenn ich als Beweis gebe, dass das Gras nicht nass ist, anstatt dass das Gras nass ist, dann funktioniert auch die "PyMC3" Version. Ich werde weiterhin meine Ergebnisse hier und im Wesentlichen aktualisieren. –