参数估计

R 中的混合模型

Victor Medina

Researcher at The University of Edinburgh

head(data)
         x
1 3.294453
2 5.818586
3 2.380493
4 4.415913
5 5.048659
6 4.750195

R 中的混合模型

假设

  1. 哪个分布?→ 高斯分布 ✓
  2. 簇数?→ 2 个簇 ✓
  3. 需要哪些参数?
    • 2 个均值
    • 2 个比例
    • 2 个标准差 → 均为 1 ✓

⇒ 需估计 4 个参数!(2 个均值和 2 个比例)

R 中的混合模型

1 已知概率 →

估计均值与比例

2 已知均值与比例 →

估计概率

R 中的混合模型

步骤 1:已知概率

head(data_with_probs)
         x prob_red prob_blue
1 3.294453     0.64      0.36
2 5.818586     0.01      0.99
3 2.380493     0.92      0.08
4 4.415913     0.16      0.84
5 5.048659     0.05      0.95
6 4.750195     0.09      0.91

R 中的混合模型

用于均值

means_estimates <- data_with_probs %>%
   summarise(mean_red = sum(x * prob_red) / sum(prob_red),
             mean_blue = sum(x * prob_blue) / sum(prob_blue))
means_estimates
  mean_red mean_blue
1  2.86925  5.062976

用于比例

proportions_estimates <- data_with_probs %>% 
   summarise(proportion_red = mean(prob_red),
             proportion_blue = 1 - proportion_red)
proportions_estimates
  proportion_red proportion_blue
1          0.305           0.695
R 中的混合模型

R 中的混合模型

步骤 2:已知均值与比例

R 中的混合模型

R 中的混合模型

R 中的混合模型

R 中的混合模型

步骤 2:缩放后的概率

$\text{Probability}_{\text{ blue}}=\frac{0.065}{0.115 + 0.065}=0.36$

data %>% 
   mutate(prob_from_red = 0.3 * dnorm(x, mean = 3),
          prob_from_blue = 0.7 * dnorm(x,mean = 5),
          prob_red = prob_from_red/(prob_from_red + prob_from_blue),
          prob_blue = prob_from_blue/(prob_from_red + prob_from_blue)) %>% 
   select(x, prob_red, prob_blue) %>% head(4)
         x   prob_red  prob_blue
1 3.294453 0.63733037 0.36266963
2 5.818586 0.01115698 0.98884302
3 2.380493 0.91619343 0.08380657
4 4.415913 0.15721146 0.84278854
R 中的混合模型

小结

  • 知道概率时 → 估计均值与比例
  • 知道均值与比例时 → 估计概率

R 中的混合模型

Vamos praticar!

R 中的混合模型

Preparing Video For Download...