三个高斯分布的混合
如果在模拟中再加入一个分布,会发生什么变化?您会看到,随着组件数量增加,概率密度会分散以覆盖新增的分布,但思路仍与上一个练习一致。
本练习是课程的一部分
R 中的混合模型
练习说明
- 创建
assignments,其取值为 0、1、2,对应的概率分别为 0.3、0.4、0.3。 - 当
assignments为 1 时,数据框mixture从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..), ___ = ___)