Zacznij terazZacznij za darmo

Obliczanie predykcji a posteriori

Przed chwilą zbadałeś(-aś) a posteriori trend wagi \(Y\) wśród dorosłych o wzroście \(X = 180\): \(m\)180 \(= a + b * 180\). Ramka danych weight_chains zawiera 100 000 wartości \(m\)180 wiarygodnych a posteriori, które wyznaczono na podstawie odpowiednich wartości \(a\) i \(b\):

> head(weight_chains, 2)
          a        b        s iter     m_180
1 -113.9029 1.072505 8.772007    1  79.14803
2 -115.0644 1.077914 8.986393    2  78.96014

Zapomnij na chwilę o trendzie – co jeśli chcesz przewidzieć wagę konkretnej osoby dorosłej o wzroście 180 cm? To możliwe! Aby to zrobić, trzeba uwzględnić zmienność indywidualną względem trendu, którą modeluje:

\(Y\)180 \(\sim N(m\)180\(, s^2)\)

Korzystając z tego modelu, zasymuluj prognozy wagi dla każdego zestawu wiarygodnych parametrów a posteriori z weight_chains.

To ćwiczenie jest częścią kursu

Modelowanie bayesowskie z RJAGS

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj funkcji rnorm(), aby zasymulować pojedynczą prognozę wagi dla ustawień parametrów z pierwszego wiersza weight_chains.
  • Powtórz powyższe dla ustawień parametrów z drugiego wiersza weight_chains.
  • Zasymuluj pojedynczą prognozę wagi dla każdego z 100 000 zestawów parametrów w weight_chains. Zapisz wyniki jako nową zmienną Y_180 w weight_chains.
  • Wyświetl pierwsze 6 wierszy wartości parametrów i prognoz z weight_chains.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Simulate 1 prediction under the first parameter set
rnorm(n = 1, mean = ___, sd = ___)

# Simulate 1 prediction under the second parameter set
rnorm(n = 1, mean = ___, sd = ___)

# Simulate & store 1 prediction under each parameter set
weight_chains <- weight_chains  %>% 
    mutate(Y_180 = rnorm(n = 100000, mean = ___, sd = ___))

# Print the first 6 parameter sets & predictions
Edytuj i uruchom kod