3つのガウス分布の混合
シミュレーションにもう1つ分布を加えると、何が変わるでしょうか? 成分数を増やすと、密度の質量が追加の分布を含むように広がりますが、考え方は前の演習と同じです。
この演習はコースの一部です
R で学ぶ Mixture Models
演習の手順
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..), ___ = ___)