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