LoslegenKostenlos loslegen

Trace-Plots von Markov-Ketten

Ein Trace-Plot visualisiert das zeitliche Verhalten einer Markov-Kette. Konkret zeigt ein Trace-Plot für die \(m\)-Kette den beobachteten Kettenwert (y-Achse) gegen die zugehörige Iterationsnummer (x-Achse).

Du erstellst Trace-Plots der \(m\)-Kette auf zwei Arten: indem du die eingebaute Funktion plot() auf das mcmc.list-Objekt sleep_sim anwendest und – für mehr Kontrolle über die Grafik (und über Analysen in späteren Kapiteln) – ggplot() auf das data.frame-Objekt sleep_chains. Beide, sleep_sim und sleep_chains, befinden sich in deinem Workspace:

sleep_sim <- coda.samples(model = sleep_jags, variable.names = c("m", "s"), n.iter = 10000)
sleep_chains <- data.frame(sleep_sim[[1]], iter = 1:10000)

Diese Übung ist Teil des Kurses

Bayesianisches Modellieren mit RJAGS

Kurs anzeigen

Anleitung zur Übung

  • Wende plot() auf sleep_sim mit density = FALSE an, um Trace-Plots für die \(m\)- und \(s\)-Ketten zu erstellen. HINWEIS: Die 10.000 aufgezeichneten Iterations beginnen nach einer „Burn-in“-Phase, in der Stichproben verworfen werden. Daher startet die Zählung der Iterations nicht bei 1!

  • Wende ggplot() mit einer geom_line()-Ebene auf sleep_chains an, um den Trace-Plot der \(m\)-Kette nachzubauen.

  • Zoom rein: Erstelle einen ggplot()-Trace-Plot der ersten 100 Iterationen der \(m\)-Kette.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Use plot() to construct trace plots of the m and s chains


# Use ggplot() to construct a trace plot of the m chain
ggplot(___, aes(x = ___, y = ___)) + 
    geom_line()

# Trace plot the first 100 iterations of the m chain
ggplot(___, aes(x = ___, y = ___)) + 
    geom_line()
Code bearbeiten und ausführen