Langkah pertama adalah memasukkan data volume produksi air minum PDAM Kabupaten Serang dari Januari 2022 hingga Desember 2024 (36 observasi) dan mengubahnya ke dalam format objek time series (ts) dengan frekuensi bulanan (frequency = 12).
produksi <- c(410, 415, 405, 420, 430, 445, 455, 440, 425, 420, 418, 435,
440, 445, 438, 452, 462, 478, 488, 472, 458, 452, 450, 468,
470, 476, 468, 483, 494, 510, 521, 504, 489, 483, 480, 499)
produksi_ts <- ts(produksi, start = c(2022, 1), frequency = 12)
Dekomposisi dilakukan menggunakan fungsi decompose() dengan tipe “multiplicative”. Model ini mengasumsikan bahwa komponen data merupakan hasil kali dari Trend (T), Seasonal (S), dan Irregular/Residu (I).
# Melakukan dekomposisi multiplicative
dekomp_mul <- decompose(produksi_ts, type = "multiplicative")
# Menampilkan plot komponen dekomposisi
plot(dekomp_mul)
# Menampilkan 12 faktor musiman
faktor_musiman <- round(dekomp_mul$seasonal, 3)
print(faktor_musiman)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2022 0.990 0.996 0.974 1.000 1.017 1.045 1.063 1.022 0.984 0.966 0.956 0.988
## 2023 0.990 0.996 0.974 1.000 1.017 1.045 1.063 1.022 0.984 0.966 0.956 0.988
## 2024 0.990 0.996 0.974 1.000 1.017 1.045 1.063 1.022 0.984 0.966 0.956 0.988
Hasil perhitungan 12 faktor musiman (rounded 3 desimal):
Identifikasi: * Bulan dengan faktor musiman tertinggi adalah Juli (\(\approx 1.063\) atau 6.3% di atas tren). * Bulan dengan faktor musiman terendah adalah November (\(\approx 0.956\) atau 4.4% di bawah tren).
Untuk menguji apakah model Multiplicative benar-benar lebih baik dibandingkan Additive, kita membandingkan nilai standar deviasi dari komponen residu (random) masing-masing model.
# Dekomposisi dengan model additive sebagai pembanding
dekomp_add <- decompose(produksi_ts, type = "additive")
# Menghitung standar deviasi residu dari kedua model
sd_add <- sd(dekomp_add$random, na.rm = TRUE)
sd_mul <- sd(dekomp_mul$random, na.rm = TRUE)
cat("Standar Deviasi Residu Additive:", sd_add, "\n")
## Standar Deviasi Residu Additive: 0.4862621
cat("Standar Deviasi Residu Multiplicative:", sd_mul, "\n")
## Standar Deviasi Residu Multiplicative: 0.001249183