Das Problem mit dem brms-Default y ~ x
Bei der Standard-Formel zentriert brms PrΓ€diktoren intern wΓ€hrend der SchΓ€tzung (Intercept-Reparametrisierung). Ein eigener
prior(β¦, class = Intercept) wirkt dann
nicht auf den "rohen" Intercept deiner PrΓ€diktoren, sondern auf einen intern verschobenen Parameter. Das fΓΌhrt bei unzentrierten PrΓ€diktoren β dem Regelfall in der Praxis β zu extremen Posterior-Standardfehlern und unbeabsichtigten Prior-Spezifikationen.
Unsere LΓΆsung: standardmΓ€Γig y ~ 0 + Intercept + x
Durch die explizite Modellierung des Intercepts:
β’ Der
Prior prior(normal(60, 20), class = b, coef = Intercept) wirkt direkt auf die Rohskala
β’ Der Prior entspricht dem erwarteten Outcome-Wert wenn alle PrΓ€diktoren = 0
β’ Kein interner Konflikt, keine versteckten Verschiebungen
β’ Die Prior-Bedeutung bleibt immer eindeutig auf der Rohskala
β’
Empfehlung: PrΓ€diktoren dennoch zentrieren (
scale() o. Γ.) β verbessert Interpretierbarkeit des Intercepts erheblich
und stabilisiert das MCMC-Sampling
Syntax-Unterschied
brms-Default:
prior(normal(0, 2.5), class = Intercept)
Explizit (diese Formel):
prior(normal(0, 2.5), class = b, coef = Intercept)
Ausnahme: Kumulativ-ordinale Modelle (cumulative) β deren gemeinsame Schwellenwerte bleiben bei class = Intercept, da brms sie anders behandelt.
Kategorisch (nominal) ist anders: brms schΓ€tzt pro Kategorie einen eigenen linearen PrΓ€diktor (dpar = "mu2", "mu3", β¦). Da die Kategorienanzahl von deinen Daten abhΓ€ngt, generiert dieser Builder dafΓΌr keine spezifischen Priors β brms nutzt seine eigenen Defaults, siehe Kommentar im generierten Code.