TUTORIAL:
BAYES'SCHE NETZE
PROBABILISTISCHE NETZE
(Bayesian Networks / Probabilistic Networks / Causal Belief Networks)
Interaktive Online-Beispiele I (Anwendungsbeispiele)
Reale Bayes'sche Netze können ziemlich groß werden. Wesentliche Effekte können aber auch mit den kleinen Netzen gezeigt werden, wie sie auf dieser Seite zu finden sind. Dies sind interaktive "Online-Beispiele", die in Java-Script implementiert wurden. Leider funktioniert es noch nicht mit allen Browsern. Derzeit dürfte es eigentlich nur mit Mozilla-Derivaten, wie Firefox oder Sea-Monkey und dem Safari-Browser korrekt funktionieren. Bei anderen Browsern (z.B. IE) funktioniert insbesondere die Darstellung der Links noch nicht, da das benötigte CSS3-Attribut "transform" bzw. das HTML5-Element "canvas" noch nicht unterstützt wird. Für alle bei denen es also leider nicht funktioniert, sind hier (fast) dieselben Beispiele in der "Offline-Variante" zu finden. Weitere Online-Beispiele insbesondere für spezielle Inferenz-Algorithmen sind hier und für dynamische Bayes'sche Netze (Hidden-Markov-Models) sind hier zu finden.

Die Bedienung sollte relativ intuitiv sein:
  • Anklicken eines Zustands schließt alle anderen Zustände aus (der Wahrscheinlichkeitsbalken färbt sich für solche unmöglichen Zustände rot), was der Beobachtung des angeklickten Zustands entspricht (der betreffende Wahrscheinlichkeitsbalken färbt sich blau).
  • Erneutes Anklicken desselben Zustands nimmt die Beobachtung zurück (alle Zustände werden wieder als möglich angesehen und erscheinen grün).
  • Anklicken eines ausgeschlossenen Zustands (roter Balken) fügt diesen den möglichen Zuständen (blauer Balken) hinzu, so dass also mehrere Zustände möglich sein können (dies stellt eine einfache Form von Soft-Evidence dar, die aber naturgemäß nur bei Knoten mit mehr als zwei Zuständen zum Tragen kommen kann). Diese Funktionalität ist beim Beispiel für dynamische Netze deaktiviert, weil sie dort mehr stört als nützt.
  • Im Beschreibungstext sind teilweise "Hyperlinks" unter der Bezeichnung "(klick)" zu finden, mit deren Hilfe die im Text beschriebene Evidenz direkt gesetzt und mit einem weiteren Klick auch wieder zurückgenommen werden kann.
  • Die Werte in den bedingten Wahrscheinlichkeitstafeln (CPTs) lassen sich ändern, indem man den zu ändernden Wert doppelt anklickt. Beim Verlassen des Feldes, bzw. durch Drücken der Return-Taste wird das Modell aktualisiert. Ohne Aktualisierung mehrere Felder kann man ändern, wenn man mit der Tabulator- oder den Cursor-Tasten weiterspringt.
    Achtung: Man muss selbst dafür Sorge tragen, dass die Werte in einer editierten Zeile zusammen den Wert 1 ergeben. Ist P(e|M) ungleich 1, ohne dass Evidenz gegeben wäre, dann deutet dies darauf hin, dass das irgendwo nicht der Fall ist.
  • Ebenso sind Zustands- und Knotennamen änderbar, indem man in der bedingten Wahrscheinlichkeitstafeln (CPT) den zu ändernden Knoten-/Zustandsnamen doppelt anklickt. Es ist nur der Names und die Zustände des Knotes selbst änderbar, nicht jedoch die seiner Elternknoten (dazu muss man die CPT des jeweiligen Elternknotens öffen).
  • Über die kleinen Pfeilsymbole rechts in den CPTs kann man Zustände hinzufügen, oder den letzten Zustand wieder löschen.
    Achtung: Beim Löschen von Zuständen geht i.d.R. Information verloren.
  • Über das Pfeilsymbol links in den CPTs kann man einen neuen Elternknoten hinzufügen und durch die Kreuzchen unterhalb jedes Elternknotennames lassen sich Elternknoten auch wieder entfernen.
    Achtung: Beim Hinzufügen von Elternknoten sollte darauf geachtet werden keine gerichteten Zyklen im Graphen zu erzeugen. Ein Wert ungleich 1 für P(e|M), ohne dass Evidenz gegeben ist kann dabei auch auf eine zyklische Struktur hindeuten. Beim Löschen von Elternknoten geht i.d.R. Information verloren.
In den Beispielen sind bereits die CPTs für alle Knoten geöffnet. Die Angabe die unter der Überschrift "P(e|M)", ebenfalls in einem kleinen Popup-Fenster erscheint, ist übrigens die Wahrscheinlichkeit der aktuellen Beobachtungen, gegeben das Modell (also das Bayes'sche Netz). Dieser Wert wir teilweise benutzt, um unplausible Eingaben (z.B. Sensorwerte) zu detektieren.
Bayes'sche Regel
BAYES'SCHE REGEL

Sehr anschaulich darstellen lässt sich das Bayes'sche Schließen am einfachen Beispiel einer "Krankheit X", zu deren Diagnose ein "Test auf X" existiert. Dabei ist das Testergebnis kausal davon abhängig ob die Krankheit vorliegt oder nicht (sicher nicht umgekehrt).

  1. Die Krankheit ist aber relativ selten: nur ein Mensch von 10000 ist an ihr erkrankt (siehe a-priori-Wahrscheinlichkeit im Knoten Krankheit_X). 
  2. Wenn ein Patient die Krankheit hat (klick), dann fällt der Test in 99.9% der Fälle positiv aus - in 0.1% der Fälle dagegen fälschlicher Weise negativ (Missing) (siehe Test_auf_X gegeben Krankheit_X=ja).
  3. Wenn ein Patient die Krankheit nicht hat (klick), dann ist das Testergebnis in 99.5% der Fälle negativ, in 0.5% der Fälle gibt es einen "Falschalarm" (false alarm) (Krankheit_X=nein)

Das Netz in dieser Weise zu benutzen ist noch wenig spannend, da diese Wahrscheinlichkeiten zur Definition dieses BNs direkt anzugeben sind (siehe bedingte Wahrscheinlichkeitstafeln). Sie können dabei sowohl aus Daten als auch durch Expertenwissen bestimmt werden.

Interessanter sowohl für dieses Beispiel als auch in "Real-Life" ist nun umgekehrt vom Ausgang des Tests auf die Erkrankung zu schließen.

  1. Wenn der Test negativ ausfällt (klick), dann ist die Wahrscheinlichkeit trotzdem die Krankheit zu haben mit 0.00001% extrem klein (so klein, dass sie hier als "0" dargestellt wird)
  2. Wenn der Test dagegen anschlägt (klick), dann ist liegt die Wahrscheinlichkeit tatsächlich an "X" erkrankt zu sein trotzdem nur bei knapp 2%

Obwohl die eingebrachte Information intuitiv verständlich ist verblüfft dieses Ergebnis die meisten Menschen zunächst - scheint der Test doch auf den ersten Blick eine ziemlich sichere Aussage zu treffen. Das "Geheimnis" liegt hier natürlich in der Seltenheit der Krankheit. 
Um die Ergebnisse dieses Modells nachzurechnen reicht die Bayes'sche Formel:

P(A|B)  =
P(B|A) P(A) / P(B)
mit
P(B)  =
P(B|A) P(A)

A

Erst recht bei komplizierteren Zusammenhängen (reale BN's z.B. im medizinischen Bereich haben z.T. hunderte von Merkmalen) rechtfertigt sich die Anwendung von BN's, die zum einen ihr "Wissen" intuitiv verständlich in der Form eines Graphen (globales Wissen) und zum anderen durch bedingte Wahrscheinlichkeiten in Abhängigkeit von den direkten Ursachen (lokales Wissen) repräsentieren. Damit sind BN's kein Black-Box-Verfahren, sondern ermöglichen die Kombination von Expertenwissen und Datenauswertungen (Lernverfahren).

Explaining Away
EXPLAINING AWAY

Bayes'sche Netze beachten konsequent die Gesetze der Wahrscheinlichkeitsrechnung, was auch die innere Konsistenz des Modells gewährleistet. Im Vergleich zu anderen Verfahren sehr gut abgebildet wird dadurch z.B. der Explaining-Away-Effekt. In diesem Beispiel führt die Beobachtung, dass die Straße nass ist (klick) zunächst dazu, dass beide Ursachen - Regen und Wasserrohrbruch - an Wahrscheinlichkeit zunehmen. Im zweiten Schritt wird aber zusätzlich bekannt, dass es tatsächlich einen Wasserrohrbruch gegeben hat (klick), wodurch die Wahrscheinlichkeit für Regen annähernd wieder auf die A-Priori-Wahrscheinlichkeit von 20% sinkt. Umgekehrt würde natürlich auch das Wissen, dass es gerade geregnet hat, die Wahrscheinlichkeit für einen Wasserrohrbruch wieder fast auf dessen A-Priori-Wahrscheinlichkeit von hier 5% zurückfallen lassen (zurück). Dass die Wahrscheinlichkeiten nicht komplett auf den A-Priori-Wert zurückfallen liegt übrigens daran, dass auch die Wahrscheinlichkeit, dafür dass beide Ursachen zugleich eingetreten sind gestiegen ist, wenn auch eben nur ganz geringfügig.

Ungerichtete Verbindungen 
UNGERICHTETE VERBINDUNG

Ein Problem in der Modellierung von BN's ist die Kausalitätsannahme, die nicht immer zutreffend ist. Es müsste auch ungerichtete Verbindungen geben, die keine Ursache-Wirkung-Beziehung darstellen. Dies ist nur mit einem kleinen Trick zu realisieren:
Zwei Knoten A und B, die in einer solchen ungerichteten Beziehung stehen erhalten einen gemeinsamen Kindknoten. Dieser hat zwei Zustände, hier plausibel und unplausibel genannt. Alle plausiblen / unplausiblen Zustandkombinationen der Knoten A und B sprechen für den jeweiligen Zustand des Verbindungsknoten. Im gezeigten Beispiel wurden z.B. die Kombinationen a1,b1 und a2,b2 als plausibel angenommen während a1,b2 und a2,b1 unplausibel sind.
Der Verbindungsknoten wird immer als Verbindung=plausibel instanziiert, so dass damit die gewünschte Abhängigkeit zwischen A und B hergestellt ist.

Soft Evidence
SOFT-EVIDENCE

Neben Beobachtungen der Art, dass ein einziger Zustand eines Merkmals mit Sicherheit bekannt ist (hard Evidence), kann es auch unsichere Information (soft Evidence) geben.

  • Diese kann z.B. bei einem Merkmal mit mehr als zwei Zuständen einen oder mehrere mit Sicherheit ausschließen, wobei aber noch mehr als ein Zustand möglich bleibt (klick um b1 und b2 als möglich anzusehen, b3 jedoch auszuschließen), oder
  • es kann ein subjektiver Glauben ausgedrückt werden, dass ein Zustand eher anzunehmen ist als ein anderer (klick um b1 mit 8, b2 mit 4 und b3 mit 2 zu gewichten).
Sowohl harte Evidenz als auch die beiden Formen weicher Evidenz können mittels eines Finding-Vektors ausgedrückt werden, der für jeden Zustand des betrachteten Merkmals einen Wert enthält:
  • Eine "0" schließt den Zustand mit Sicherheit aus
  • Werte >0 geben in Relation zueinander die Stärke des subjektiven Glaubens an (Bild 10). 
  • Für harte Evidenz und wenn nur Zustände ausgeschlossen werden sollen enthält der Finding-Vektor nur die Werte "0" und "1".
Eine konkrete Soft Evidence kann auch als ein zusätzlicher Kind-Knoten modelliert werden, der dann hart instanziiert wird. Dieses ist in Bild 11 für die in Bild 10 gezeigte soft Evidence bezüglich Knoten B dargestellt. Der Knoten SoftEvid wird mit SoftEvid=x instanziiert. Die Werte der Spalte für SoftEvid=x der CPT von SoftEvid stehen in dem selben Verhältnis wie die Werte des o.g. Finding-Vektors (klick um dieselbe Soft-Evidenz über den Knoten Soft-Evid zu setzen). Dies soll aber weniger als Alternative zur Verwendung von Soft Evidence verstanden werden, sondern dient vielmehr der formalen Beschreibung dessen was Soft Evidence eigentlich ist. So wird damit insbesondere klar, wie sich Soft Evidence in Bezug auf die d-separtion/d-connection von Merkmalen auswirkt: 
  • serielle und divergierende Verbindungen werden nicht d-separiert
  • konvergierende Verbindungen jedoch d-connected.
"Zonk"
ZONK

Ein nettes Beispiel, über das sich (angeblich) selbst Mathe-Profs miteinander in die Wolle geraten sind, ist dieses: Ein Kandidat hat die Wahl zwischen drei verschlossenen Toren. Hinter einem verbirgt sich ein Preis, hinter den andern beiden sind Nieten ("Zonks"). Nachdem der Kandidat ein Tor gewählt hat öffnet der Quizmaster eines der beiden anderen Tore - und zwar eines hinter dem sich der Preis nicht befindet (der Quizmaster weiß also wo der Preis ist). Nun erhält der Kandidat noch einmal die Chance sich umzuentscheiden, also evtl. das andere noch nicht geöffnete Tor zu nehmen. Die Frage lautet nun: Ist es sinnvoller die erste Entscheidung zu ändern oder sie beizubehalten? Die CPT für den Knoten (welches Tor öffnet der) Quizmaster ist dargestellt. Die anderen beiden CPT's enthalten die A-Priori-Wahrscheinlichkeiten für die Wahl (des Kandidaten) und (wo ist der) Preis. Diese liegen jeweils bei 1/3 für jedes Tor. Wenn der Kandidat z.b. zunächst Tor1 wählt (klick) und der Quizmaster dann Tor2 öffnet (klick). Es zeigt sich, dass es sinnvoll ist zu wechseln, da die Wahrscheinlichkeit dass sich der Preis hinter Tor3 befindet nun bei 2/3 zu 1/3 für Tor1 liegt. Alle übrigen möglichen Fälle liefern dasselbe Resultat: Man verdoppelt die Gewinnchanchen, wenn man immer die erste Wahl ändert. Das Beispiel zeigt nochmals wie ein Ergebnis auf das nicht jeder ohne Weiteres kommt mit Hilfe eines BN's berechnet werden kann, das wohl (fast) jeder hätte aufstellen können.

Simpson Paradox
SIMPSON PARADOX

Das sogenannte Simpson-Paradox hat schon in einigen realen - teils recht makabren - Fällen zu (gewollter) Fehlinformation geführt. Auch das hier gezeigte Beispiel ist an einen realen Fall angelehnt - allerdings startk vereinfacht. Die Frage ist: Wo sind die Heilungs-Chancen besser - in Krankenhaus A oder in Krankenhaus B? Man sieht, dass die Chancen in Krankenhaus B (klick) mit 85% besser stehen als in Krankenhaus A (klick) mit (81.67%) Heilungs-Chance. Also in welches Krankenhaus würde man gehen wenn man die Wahl hat? Krankenhaus B? Besser nicht! Die CPT des Merkmals Heilung (rechts unten) die zusätzlich nach der Schwere der Krankheit aufgeschlüsselt ist zeigt deutlich, dass die Chancen sowohl von leichten als auch von schweren Krankheiten geheilt zu werden in Krankenhaus A jeweils 5% besser liegen! Der Effekt rührt daher, dass schwer Kranke eher in Krankenhaus A, leichter Erkrankte eher in Krankenhaus B landen (siehe CPT des Merkmals Krankenhaus; rechts oben). Einfach gesagt: In Krankenhaus A sind mehr schwer Kranke, die die Gesamt-Heilungs-Chancen nach unten ziehen.

Fahrradhelme
FAHRRADHELME

Diese Abwandlung des Simpson-Paradoxons ist eine mögliche Erklärung dafür, wie teilweise erstaunliche Werte für die Schutzwirkung von Helmen zustande kommen. Wenn man sich die Daten, die da teilweise benutzt werden nämlich genauer ansieht, muss einen stutzig machen, dass Helme offenbar sogar die Beine schützen! Und das wo doch allgemein bekannt ist, dass jede subjektiv die Sicherheit erhöhende Einrichtung/Maßnahme immer - zumindest teilweise - durch eine erhöhte Risikobereitschaft ausgeglichen wird. Belegt ist z.B., dass Helmträger mit geringen Seitenabständen überholt werden. Dass sie auch selbst wegen des vermentlichen Schutzes durch den Helm risikobereiter sind, ist stark anzunehmen. Dass Unfälle deshalb insgesamt glimpflicher ausgehen ist sehr unwahrscheinlich.
Das Szenario das hier nun angenommen wird ist folgendes: Es existieren zwei deutlich unterschiedliche Gruppen von Radfahrern:

  • Gruppe A trägt häufig Helm und geht auch bei kleineren Verletzungen zum Arzt - z.B. Kinder, Sportler, rel. gut situierte und krankenversicherte Personen (Helmdaten stammen teilw. aus den USA, wo das keine Selbstverständlichkeit ist)
  • Gruppe B trägt selten Helm und geht erst bei schwereren Verletzungen zum Arzt - z.B. Alltagsfahrer, ärmere Personen evtl. nicht krankenversichert

Das obige Netz beschreibt diesen Zusammenhang, wobei ich hier nicht weiter zwischen Kopf- und anderen Verletzungen, sondern nur zwischen schweren und leichten Verletzungen differenziert habe - das wäre möglich, würde das Netz für dieses Beispiel aber nur unnötig aufblähen. Zu beachten ist, dass in der Statistik nur Leute auftauchen, die in Behandlung waren. Wir müssen diese Beobachtung also setzen (klick). Der Effekt ist dann, dass wir bei schweren (Kopf-)Verletzungen (klick) eher auf "hat keinen Helm getragen" schließen können während bei leichten Verletzungen (klick) sich die Wahrscheinlichkeit in Richtung für das Tragen eines Helmes verändert. Umgekehrt kann man aus dem Tragen eines Helmes (klick) darauf schließen, dass der Patient eher wegen leichterer Verletzungen behandelt wird, während das Nicht-Tragen (klick) die Wahrscheinlichkeit schwerer (Kopf-)Verletzungen erhöht. Das alles liegt aber nur daran, dass Helmträger mit höherer Wahrscheinlichkeit aus Gruppe A stammen und entsprechend häufiger schon mit kleineren Wehwehchen nach einem Fahrradunfall zum Arzt rennen und dadurch deren schwere Kopfverletzungen in der Masse der weniger schweren Verletzungen untergehen.
Garkeinen Zusammenhang zwischen Helmtragen und Verletzungsschwere besteht in diesem Modell, wenn wir nicht wissen, ob jemand behandelt wurde oder nicht (klick). Man sieht aber vor allem auch, dass wenn man weiß zu welcher Gruppe jemand gehört - egal ob Gruppe A (klick), oder Gruppe B (klick) das Tragen (klick) bzw. Nicht-Tragen (klick) eines Helms keinen Einfluss mehr auf die Häufigkeit schwerer Kopfverletzungen hat.
Dies ist ein hypothetisches Modell, welches bestimmte Artefakte der Daten gut erklären kann - es ist jedoch kein Beweis, dass die echter Erklärung für die Daten genau auf dieses Phänomen zurückzuführen ist. Dass in den realen Daten aber etwas nicht stimmen kann erkennt man an der mysteriösen und (gerne verschwiegenen) scheinbaren "Schutzwirkung" auch für andere Körperteile.

Ohne das hier allzusehr ausdehnen zu wollen, sei der Vollständigkeit halber noch dazugesagt, dass andere, seriösere Untersuchungen belegen, dass evtl. vorhandene geringe positive Effekte auf Schädelverletzungen durch das erhöhte Risiko für Nackenverletzungen, das Helme mit sich bringen (mehr Masse, mehr Hebelwirkung beim Verdrehen des Kopfes durch den größeren Umfang) wieder zunichte gemacht werden. Auch sind Fahrradhelme nicht für schwere Unfälle ausgelegt und sind nicht vergleichbar z.B. mit Integralhelmen wie sie bei Motarradfahrern üblich sind. Trotzdem ist das Risiko (auch das für Kopfverletzungen) beim Fahrradfahren nicht höher als bei anderen Fortbewegungsarten, wie z.B. dem Autofahren (trotz Airbags, etc.) oder dem Zu-Fuß-Gehen.

Patrick Rammelt, 07/2013