Zacznij terazZacznij za darmo

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

Zobacz kurs

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 z sleep_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 z sleep_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
Edytuj i uruchom kod