始める無料で始める

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..), ___ = ___)
コードを編集して実行