Parameter Awal

theta_A = 0.6
theta_B = 0.5

Parameter percobaan

theta_A = 0.8
theta_B = 0.3
# Data 5 set percobaan
H <- c(5,9,8,4,7)
T <- c(5,1,2,6,3)

# Parameter awal baru
theta_A <- 0.8
theta_B <- 0.3

# Maksimum iterasi
max_iter <- 20

hasil <- data.frame(
  Iterasi = integer(),
  Theta_A = numeric(),
  Theta_B = numeric()
)

for(iter in 1:max_iter){

  # E-Step
  prob_A <- theta_A^H * (1-theta_A)^T
  prob_B <- theta_B^H * (1-theta_B)^T

  wA <- prob_A/(prob_A+prob_B)
  wB <- prob_B/(prob_A+prob_B)

  # Estimasi jumlah H dan T
  H_A <- sum(wA*H)
  T_A <- sum(wA*T)

  H_B <- sum(wB*H)
  T_B <- sum(wB*T)

  # M-Step
  theta_A_new <- H_A/(H_A+T_A)
  theta_B_new <- H_B/(H_B+T_B)

  hasil <- rbind(
    hasil,
    data.frame(
      Iterasi=iter,
      Theta_A=theta_A_new,
      Theta_B=theta_B_new
    )
  )

  # Cek konvergensi
  if(abs(theta_A_new-theta_A)<0.0001 &
     abs(theta_B_new-theta_B)<0.0001){
    break
  }

  theta_A <- theta_A_new
  theta_B <- theta_B_new
}

hasil
##   Iterasi   Theta_A   Theta_B
## 1       1 0.7787091 0.4520490
## 2       2 0.7882281 0.4923334
## 3       3 0.7931977 0.5083972
## 4       4 0.7953350 0.5149843
## 5       5 0.7962079 0.5176929
## 6       6 0.7965578 0.5188065
## 7       7 0.7966972 0.5192641
## 8       8 0.7967525 0.5194521
## 9       9 0.7967745 0.5195293
cat("Theta A akhir =", theta_A_new,"\n")
## Theta A akhir = 0.7967745
cat("Theta B akhir =", theta_B_new,"\n")
## Theta B akhir = 0.5195293

Insight

Berdasarkan hasil simulasi, meskipun parameter awal diubah menjadi θA = 0,8 dan θB = 0,3, algoritma EM tetap bergerak menuju nilai parameter yang stabil setelah beberapa iterasi. Hal ini menunjukkan bahwa algoritma EM mampu memperbaiki estimasi awal melalui proses iteratif antara E-Step dan M-Step. Selain itu, hasil akhir tidak selalu sama dengan nilai awal karena algoritma berusaha mencari parameter yang memaksimalkan likelihood data yang diamati. Pemilihan parameter awal dapat memengaruhi kecepatan konvergensi dan dalam beberapa kasus dapat menyebabkan algoritma berhenti pada maksimum lokal yang berbeda. Oleh karena itu, pemilihan nilai awal yang baik dapat membantu memperoleh estimasi yang lebih cepat dan lebih stabil.