Blandning av tre normalfördelningar
Vad händer om vi lägger till ytterligare en fördelning i simuleringen? Du kommer att se att fler komponenter sprider massdensiteten så att den täcker in den extra fördelningen – men logiken är densamma som i föregående övning.
Den här övningen är en del av kursen
Blandningsmodeller i R
Övningsinstruktioner
- Skapa
assignments, som antar värdena 0, 1 och 2 med sannolikheterna 0,3, 0,4 respektive 0,3. - Dataramen
mixturesamplar från en normalfördelning medmean5 ochsd2 närassignmentsär 1. Omassignmentsär 2 ärmean10 ochsd1. Annars används standardnormalfördelningen. - Rita ett histogram med 50 intervall.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
number_observations <- 1000
# Create the assignment object
assignments <- sample(
c(0,1,2), size = number_observations, replace = TRUE, prob = c(0.3, ___, 0.3)
)
# Simulate the GMM with 3 distributions
mixture <- data.frame(
x = ifelse(___ == 1, rnorm(n = number_observations, mean = ___, sd = ___), ifelse(assignments == 2, rnorm(n = number_observations, mean = ___, sd = ___), rnorm(n = ___)))
)
# Plot the mixture
mixture %>%
ggplot() + ___(aes(x = x, y = ..density..), ___ = ___)