Ich habe das Buch "Bayesian Method for Hackers" gelesen und in diesem Eintrag möchte ich dazu meine Meinung äußern.
Bayesian Methods for Hackers | |
Cameron Davidson-Pilon | |
Addison-Wesley Professional | |
2015-07-16 | |
ISBN-13: 9780133902839 | |
320 Seiten | |
google reader, amazon.com, amazon.de. |
Auf GitHub kann man fast alles das Buch lesen. Aber ich habe trotzdem eine physische Kopie gekauft, da sie bequem für mich ist.
Meine Motivation
Der Ansatz war ein A/B-Test. Die Theorie eines Hypothesen-Tests ist zwar nicht kompliziert. Aber es ist schwer, das Ergebnis zu verwenden. Der $p$-Wert hat nämlich wenig Informationen. Deshalb wollte ich eine realistische Anwendung eines A/B-Tests kennen und ich habe auf einen Bayessischen A/B-Test gestoßen.
Darüber hinaus interessiere ich mich dafür, dass man durch Bayessische Analyse "weight-decay" interpretieren kann. Das Fakt ist einfach toll und Bayessische Analyse kann nützlich sein. Deswegen habe ich mich dafür entschieden, Bayessische Analyse zu lernen.
Als Mathematiker habe ich einigermaßen Kenntnisse auf Bayessischer Analyse, aber als Data-Scientist soll ich Simulation machen. Deshalb habe ich dieses Buch mit vielen Beispielen ausgewählt.
Einfühlung zu PyMC
Das Buch nimmt nicht an, dass Leser Kenntnisse auf Mathematik haben. Aber natürlich sind Kenntnisse auf Wahrscheinlichkeitstheorie hilfreich, da es genau darum geht.
Das Buch hat zwei große Vorteile: Der eine ist die Benutzung der realen Daten. Der andere ist die Erhaltung vieler Codes. Ein Nachteil des Buchs ist die Version von PyMC.
Der richtige Name des Buch ist "Einführung zu PyMC". (Siehe § 1.4.2.)
PyMC is a Python library for programming Bayesian analysis. It is a fast, well-maintained library. The only unfortunate part is that its documentation is lacking in certain areas, especially those that bridge the gap between beginner and hacker. One of this book's main goals is to solve that problem, and also to demonstrate why PyMC is so cool.
Die Skripts im Buch sind auf PyMC geschrieben, aber PyMC funktioniert nur auf Python 2. (Ich konnte die Bibliothek nicht installieren.) Für Python 3 gibt es eine andere Bibliothek: PyMC3. Aber die Syntax von PyMC3 ist ganz anderes als PyMC, deshalb sind die Skripts im Buch nicht hilfreich, wenn man Python 3 benutzen wollte.
Glücklicherweise gibt es die Version mit PyMC3 auf GitHub und die man kostenlos lesen. Deshalb braucht man das Buch nicht zu kaufen, um das Buch zu lesen.
Einfache Erklärung und viele Beispiele
Obwohl das Buch eine Einfühlung zu PyMC ist, kann man PyMC3 nicht systematisch lernen. Die Erklärung des Buches ist leicht zu verstehen, aber zu leicht, um selbst ein kompliziertes Modell zu erstellen. (Vor allem gibt es nicht genug Erklärung zur Beziehung zwischen PyMC3 und Theano.)
Die wichtigste Eigenschaft des Buches ist viele Beispiele. Die Beispiele sind praktisch. Obwohl die Erklärung nicht ausführlich ist, ist sie genug, um zu verstehen, wie man ein Bayessisches Modell verwenden kann.
Fazit
Das Buch ist eine einzige praktische Einfühlung zu PyMC3. Wenn man Anwendungen und Syntax von PyMC verstehen wollte, dann das Buch ist empfehlenswert. Aber man sollte nach dem Lesen Bayesische Analyse weiter lernen.