Prediksi Permintaan menggunakan Monte Carlo
# Nilai variabel
permintaan_teh <- c(50, 60, 70, 80, 90)
# Frekuensi observasi
frekuensi_teh <- c(10, 20, 40, 20, 10)
# Hitung probabilitas
prob_teh <- frekuensi_teh / sum(frekuensi_teh)
Simulasi Monte Carlo
# Prediksi 5 hari ke depan
sim_5_hari <- sample(permintaan_teh, size = 5, replace = TRUE, prob = prob_teh)
# Prediksi 20 hari ke depan
sim_20_hari <- sample(permintaan_teh, size = 20, replace = TRUE, prob = prob_teh)
cat("Prediksi permintaan 5 hari ke depan:", sim_5_hari, "\n")
Prediksi permintaan 5 hari ke depan: 70 90 80 50 70
cat("Rata-rata (5 hari):", mean(sim_5_hari), "gelas\n\n")
Rata-rata (5 hari): 72 gelas
cat("Rata-rata permintaan 20 hari ke depan:", mean(sim_20_hari), "gelas")
Rata-rata permintaan 20 hari ke depan: 71 gelas
Bangkitkanlah data dengan distribusi eksponensial untuk variabel
permintaan
set.seed(123)
# Membangkitkan 10 data permintaan (Distribusi Eksponensial)
# Rate = 1/70 ditentukan dari 1/rata-rata.
data_permintaan <- rexp(n = 10, rate = 1/70)
# Membangkitkan data frekuensi (Distribusi Normal)
# Misal Mean = 20, SD = 5
data_frekuensi <- rnorm(n = 10, mean = 20, sd = 5)
Prediksi permintaan
simulasi <- function(n_hari) {
hasil <- rexp(n = n_hari, rate = 1/mean(data_permintaan))
return(mean(hasil))
}
cat("Rata-rata prediksi 5 hari :", simulasi(5), "\n")
Rata-rata prediksi 5 hari : 58.60744
cat("Rata-rata prediksi 20 hari :", simulasi(20), "\n")
Rata-rata prediksi 20 hari : 59.95929
cat("Rata-rata prediksi 100 hari :", simulasi(100), "\n")
Rata-rata prediksi 100 hari : 42.99804
cat("Rata-rata prediksi 1000 hari :", simulasi(1000), "\n")
Rata-rata prediksi 1000 hari : 45.17073
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KIyBQcmVkaWtzaSBQZXJtaW50YWFuIG1lbmdndW5ha2FuIE1vbnRlIENhcmxvDQpgYGB7cn0NCiMgTmlsYWkgdmFyaWFiZWwNCnBlcm1pbnRhYW5fdGVoIDwtIGMoNTAsIDYwLCA3MCwgODAsIDkwKSAgDQojIEZyZWt1ZW5zaSBvYnNlcnZhc2kNCmZyZWt1ZW5zaV90ZWggPC0gYygxMCwgMjAsIDQwLCAyMCwgMTApICANCmBgYA0KDQpgYGB7cn0NCiMgSGl0dW5nIHByb2JhYmlsaXRhcw0KcHJvYl90ZWggPC0gZnJla3VlbnNpX3RlaCAvIHN1bShmcmVrdWVuc2lfdGVoKQ0KYGBgDQoNCiMjIFNpbXVsYXNpIE1vbnRlIENhcmxvDQpgYGB7cn0NCiMgUHJlZGlrc2kgNSBoYXJpIGtlIGRlcGFuDQpzaW1fNV9oYXJpIDwtIHNhbXBsZShwZXJtaW50YWFuX3RlaCwgc2l6ZSA9IDUsIHJlcGxhY2UgPSBUUlVFLCBwcm9iID0gcHJvYl90ZWgpDQpgYGANCmBgYHtyfQ0KIyBQcmVkaWtzaSAyMCBoYXJpIGtlIGRlcGFuDQpzaW1fMjBfaGFyaSA8LSBzYW1wbGUocGVybWludGFhbl90ZWgsIHNpemUgPSAyMCwgcmVwbGFjZSA9IFRSVUUsIHByb2IgPSBwcm9iX3RlaCkNCmBgYA0KDQpgYGB7cn0NCmNhdCgiUHJlZGlrc2kgcGVybWludGFhbiA1IGhhcmkga2UgZGVwYW46Iiwgc2ltXzVfaGFyaSwgIlxuIikNCmNhdCgiUmF0YS1yYXRhICg1IGhhcmkpOiIsIG1lYW4oc2ltXzVfaGFyaSksICJnZWxhc1xuXG4iKQ0KDQpjYXQoIlJhdGEtcmF0YSBwZXJtaW50YWFuIDIwIGhhcmkga2UgZGVwYW46IiwgbWVhbihzaW1fMjBfaGFyaSksICJnZWxhcyIpDQpgYGANCg0KIyBCYW5na2l0a2FubGFoIGRhdGEgZGVuZ2FuIGRpc3RyaWJ1c2kgZWtzcG9uZW5zaWFsIHVudHVrIHZhcmlhYmVsIHBlcm1pbnRhYW4gDQpgYGB7cn0NCnNldC5zZWVkKDEyMykNCmBgYA0KDQpgYGB7cn0NCiMgTWVtYmFuZ2tpdGthbiAxMCBkYXRhIHBlcm1pbnRhYW4gKERpc3RyaWJ1c2kgRWtzcG9uZW5zaWFsKSANCiMgUmF0ZSA9IDEvNzAgZGl0ZW50dWthbiBkYXJpIDEvcmF0YS1yYXRhLiANCmRhdGFfcGVybWludGFhbiA8LSByZXhwKG4gPSAxMCwgcmF0ZSA9IDEvNzApDQpgYGANCg0KYGBge3J9DQojIE1lbWJhbmdraXRrYW4gZGF0YSBmcmVrdWVuc2kgKERpc3RyaWJ1c2kgTm9ybWFsKSANCiMgTWlzYWwgTWVhbiA9IDIwLCBTRCA9IDUNCmRhdGFfZnJla3VlbnNpIDwtIHJub3JtKG4gPSAxMCwgbWVhbiA9IDIwLCBzZCA9IDUpDQpgYGANCg0KIyMgUHJlZGlrc2kgcGVybWludGFhbg0KYGBge3J9DQpzaW11bGFzaSA8LSBmdW5jdGlvbihuX2hhcmkpIHsNCiAgaGFzaWwgPC0gcmV4cChuID0gbl9oYXJpLCByYXRlID0gMS9tZWFuKGRhdGFfcGVybWludGFhbikpDQogIHJldHVybihtZWFuKGhhc2lsKSkNCn0NCmBgYA0KDQpgYGB7cn0NCmNhdCgiUmF0YS1yYXRhIHByZWRpa3NpIDUgaGFyaSAgICA6Iiwgc2ltdWxhc2koNSksICJcbiIpDQpjYXQoIlJhdGEtcmF0YSBwcmVkaWtzaSAyMCBoYXJpICAgOiIsIHNpbXVsYXNpKDIwKSwgIlxuIikNCmNhdCgiUmF0YS1yYXRhIHByZWRpa3NpIDEwMCBoYXJpICA6Iiwgc2ltdWxhc2koMTAwKSwgIlxuIikNCmNhdCgiUmF0YS1yYXRhIHByZWRpa3NpIDEwMDAgaGFyaSA6Iiwgc2ltdWxhc2koMTAwMCksICJcbiIpDQpgYGANCg0K