Data permintaan dan frekuensi
permintaan1 <- c(50, 60, 70, 80, 90)
frekuensi1 <- c(10, 20, 40, 20, 10)
prob1 <- frekuensi1 / sum(frekuensi1)
data.frame(permintaan1, frekuensi1, prob1)
## permintaan1 frekuensi1 prob1
## 1 50 10 0.1
## 2 60 20 0.2
## 3 70 40 0.4
## 4 80 20 0.2
## 5 90 10 0.1
Ekspetasi
ekspektasi1 <- sum(permintaan1 * prob1)
ekspektasi1
## [1] 70
Simulasi
set.seed(123)
# 5 hari
sim_5 <- sample(permintaan1, 5, replace = TRUE, prob = prob1)
mean(sim_5)
## [1] 70
# 20 hari
sim_20 <- sample(permintaan1, 20, replace = TRUE, prob = prob1)
mean(sim_20)
## [1] 69.5
Bangkitan Data
set.seed(123)
permintaan2 <- rexp(10, rate = 1/70)
frekuensi2 <- abs(rnorm(10, mean = 50, sd = 10))
prob2 <- frekuensi2 / sum(frekuensi2)
data.frame(permintaan2, frekuensi2)
## permintaan2 frekuensi2
## 1 59.042008 45.54338
## 2 40.362719 62.24082
## 3 93.033841 53.59814
## 4 2.210415 54.00771
## 5 3.934768 51.10683
## 6 22.155085 44.44159
## 7 21.995910 67.86913
## 8 10.168676 54.97850
## 9 190.836553 30.33383
## 10 2.040741 57.01356
Ekspetasi
ekspektasi2 <- sum(permintaan2 * prob2)
ekspektasi2
## [1] 37.32203
Simulasi
simulasi_permintaan <- function(n_hari) {
sample(permintaan2, size = n_hari, replace = TRUE, prob = prob2)
}
Prediksi
mean(simulasi_permintaan(5))
## [1] 20.62071
mean(simulasi_permintaan(20))
## [1] 24.84458
mean(simulasi_permintaan(100))
## [1] 41.61977
mean(simulasi_permintaan(1000))
## [1] 36.2668