Naiwne błędy standardowe
Średnia z \(m\) łańcucha Markowa stanowi estymator wartości oczekiwanej a posteriori parametru \(m\). Naiwny błąd standardowy mierzy potencjalny błąd tej estymacji. Możemy go wykorzystać do wyznaczenia odpowiedniej długości łańcucha. Załóżmy na przykład, że celem jest estymacja wartości oczekiwanej a posteriori \(m\) z błędem standardowym nieprzekraczającym 0,1 ms. Jeśli zaobserwowany naiwny błąd standardowy przekracza ten próg – nie ma problemu! Wystarczy uruchomić dłuższy łańcuch – błąd wynikający z aproksymacji rozkładu a posteriori łańcuchem Markowa maleje wraz ze wzrostem jego długości.
Do dyspozycji masz zdefiniowany model sleep_model oraz skompilowany obiekt sleep_jags.
To ćwiczenie jest częścią kursu
Modelowanie bayesowskie z RJAGS
Instrukcje do ćwiczenia
ZASYMULUJ 1000 losowań z modelu a posteriori \(m\) i \(s\). Zapisz je w
sleep_sim_1.Oblicz
summary()dla łańcuchów zsleep_sim_1.Jeśli naiwny błąd standardowy łańcucha \(m\) przekracza wartość docelową 0,1, dostosuj symulację: spróbuj użyć 500 lub 10 000 losowań (zamiast 1000). Wyniki zapisz w
sleep_sim_2.Oblicz
summary()dla łańcuchów zsleep_sim_2. Sprawdź, czy nowa symulacja spełnia kryterium. Jeśli nie – wróć do poprzedniego kroku i powtórz!
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# SIMULATE the posterior
sleep_sim_1 <- coda.samples(model = ___, variable.names = c("m", "s"), n.iter = ___)
# Summarize the m and s chains of sleep_sim_1
# RE-SIMULATE the posterior
sleep_sim_2 <- coda.samples(model = ___, variable.names = c("m", "s"), n.iter = ___)
# Summarize the m and s chains of sleep_sim_2