三個高斯分布的混合
如果在模擬中再加入一個分布,會發生什麼變化?你會發現,元件數增加後,機率密度會擴散以涵蓋新增的分布,但推理方式仍然延續上一題的邏輯。
本練習屬於課程
R 中的混合模型
練習說明
- 建立
assignments,其取值為 0、1、2,對應的機率分別為 0.3、0.4、0.3。 - 資料框
mixture在assignments為 1 時,從mean為 5、sd為 2 的高斯分布取樣;若assignments為 2,則mean為 10、sd為 1;否則為標準常態分布。 - 繪製具有 50 個區間的直方圖。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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..), ___ = ___)