LOO-CV fragt: Wie gut sagt mein Modell einen Datenpunkt vorher, den es nicht gesehen hat? Das ist die ehrlichste Frage, die man einem Modell stellen kann — und sie entlarvt Overfitting, das in-sample unsichtbar bleibt.
Übersicht
Full-data-Fit Modell A LOO-Fit Modell B LOO-Fit Datenpunkt LOO-Vorhersage Ć·
Modell A Linear (Grad 1)
elpdloo (A) —
Modell B Polynom (Grad 4)
elpdloo (B) —
Wozu ein Modell fitten, wenn man es sowieso an den Trainingsdaten misst? LOO fragt ehrlicher: Wie gut generalisiert das Modell auf Punkte, die es nicht kannte? Klicke Weiter → oder starte die Animation, um Punkt fĂŒr Punkt durch den Datensatz zu gehen.
Wichtig: LOO wird in brms direkt ins Modell-Objekt geschrieben — model.1 <- add_criterion(model.1, c("loo")) — und steht dann fĂŒr den Vergleich bereit: loo_compare(model.1, model.2, model.3). Kopiere diesen Output unten ein.
Input
Threshold Explorer — Wann ist ein Unterschied belastbar?
–5.0
2.5
Die drei Entscheidungsszenarien
Der Unterschied ist grĂ¶ĂŸer als seine Unsicherheit. Das ist ein belastbarer Befund.

Beispiel: elpd_diff = −8.7, SE = 3.4 → Ratio = 2.56 → Modell A ist klar besser.

Empfehlung: Verwende das bessere Modell. Dokumentiere elpd_diff und SE im Bericht. PrĂŒfe inhaltlich, warum das Modell besser passt — das ist die eigentliche Frage.
Die Modelle sind nicht klar trennbar. Das ist kein Fehler — es bedeutet, dass beide die Daten Ă€hnlich gut erklĂ€ren. Die Messunsicherheit von LOO selbst erlaubt keine klare Entscheidung.

Empfehlung: WĂ€hle nach Parsimonie (einfacheres Modell) oder inhaltlichen GrĂŒnden. Berichte die Ähnlichkeit transparent. ErwĂ€ge Modell-Stacking via loo_model_weights().
Hohe Pareto-k-Werte zeigen einflussreiche Datenpunkte — dort ist die PSIS-Approximation unzuverlĂ€ssig. Das LOO-Ergebnis selbst ist mit Vorsicht zu interpretieren.

Empfehlung: Refitte mit reloo() fĂŒr die problematischen Beobachtungen (echtes LOO, kostet N zusĂ€tzliche Fits). PrĂŒfe ob einzelne Ausreißer das Modell dominieren. Berichte den Anteil problematischer k-Werte.
WAIC vs. LOO

WAIC und LOO-CV schĂ€tzen dasselbe Ziel: Out-of-Sample-VorhersagegĂŒte. LOO via PSIS ist robuster und heute der Standard (Vehtari et al. 2017). Der numerische Unterschied zwischen beiden ist in der Praxis meist gering — solange keine extremen k-Werte vorliegen. Verwende LOO, und prĂŒfe die Pareto-k-Diagnostics als QualitĂ€tskontrolle.

brms-Code fĂŒr den LOO-Workflow
# 1. Modelle fitten (save_pars nötig fĂŒr LOO/WAIC)
model.1 <- brm(y ~ x, data = d, save_pars = save_pars(all = TRUE))
model.2 <- brm(y ~ x + z, data = d, save_pars = save_pars(all = TRUE))
model.3 <- brm(y ~ x + z + w, data = d, save_pars = save_pars(all = TRUE))

# 2. LOO direkt ins Modell-Objekt schreiben (kein separates loo-Objekt nötig)
model.1 <- add_criterion(model.1, c("loo"))
model.2 <- add_criterion(model.2, c("loo"))
model.3 <- add_criterion(model.3, c("loo"))

# 3. Modelle vergleichen — LOO wird direkt aus den Objekten gelesen
loo_compare(model.1, model.2, model.3) # → elpd_diff, se_diff ← diesen Output in Stufe 2 einfĂŒgen

# 4. Pareto-k Diagnostics fĂŒr ein einzelnes Modell prĂŒfen
print(model.1$criteria$loo) # ← diesen Output optional in Stufe 2 einfĂŒgen

# 5. Model Stacking — Ensemble-Gewichte statt ein Modell wĂ€hlen (optional)
# Fragt: welche Kombination der Modelle sagt neue Daten am besten vorher?
# Gewichte summieren zu 1; Modell mit w ≈ 0 trĂ€gt nichts bei.
loo_model_weights(model.1, model.2, model.3) # → z.B. model.1=0.12, model.2=0.73, model.3=0.15

# 6. Bei hohen k-Werten: reloo() direkt ins Objekt
model.1 <- add_criterion(model.1, c("loo"), reloo = TRUE, k_threshold = 0.7)
NĂ€chster Schritt: Ein Modell wurde ausgewĂ€hlt — jetzt geht es um die inhaltliche Interpretation des Posteriors. → Decision Lab
← Posterior Predictive Check Decision Lab →
LOO Lab — Hilfe
Wozu dieses Tool?
LOO-CV (Leave-One-Out Cross-Validation) misst die Out-of-Sample-VorhersagegĂŒte eines Bayesianischen Modells. Das Tool hat drei Stufen: Konzept → R-Output analysieren → Entscheidung treffen.

Hinweis: Dieses Tool berechnet kein LOO — das ist im Browser nicht machbar. Du berechnest LOO in R mit add_criterion() und kopierst den Output in Stufe 2.
Stufe 1 — Die Idee
Modell A (linear) vs. Modell B (Polynom Grad 4) auf demselben Datensatz. Jeder Schritt: ein Punkt wird herausgenommen, beide Modelle auf N−1 Punkten refittet, dann die Vorhersage verglichen. Die gestrichelte Linie = LOO-Fit; der ◆ = LOO-Vorhersage; der Pfeil = Residuum.
Stufe 2 — R-Output
LOO in R wird direkt ins Modell-Objekt geschrieben:
model.1 <- add_criterion(model.1, c("loo"))
Danach: loo_compare(model.1, model.2, ...) → Output ins erste Textfeld.
Das zweite Feld (optional) nimmt den Output von print(model.1$criteria$loo) fĂŒr die Pareto-k Diagnostics eines einzelnen Modells. Beispiel laden zeigt das erwartete Format.
Model Stacking
Model Stacking ist eine Form von Model Averaging — aber ohne Modell-Priors. Statt ein Modell zu wĂ€hlen, wird ein Ensemble gebildet:

ƶ = w₁·ƶ₁ + w₂·ƶ₂ + wâ‚ƒÂ·Ć¶â‚ƒ (Gewichte summieren zu 1)

Die Gewichte werden direkt aus der LOO-Vorhersageleistung optimiert (Yao et al. 2018). Redundante Modelle bekommen automatisch Gewicht ≈ 0.

vs. klassischem Model Averaging (BMA):
BMA gewichtet nach Modell-Posterior-Wahrscheinlichkeit — Stacking nach Out-of-Sample-VorhersagegĂŒte. Stacking ist robuster gegen Ă€hnliche Modelle und prior-sensitiver BMA-Probleme (McElreath Kap. 7).
Entscheidungsregel
|elpd_diff| > 2·SE → klarer Unterschied
|elpd_diff| < 2·SE → praktisch ununterscheidbar
k > 0.7 → LOO-SchĂ€tzung unsicher, reloo() empfohlen
Voraussetzungen
brms Model Builder (Modellstruktur) · Posterior PPC (Modelldiagnostik)