Pendahuluan

Laporan ini menggabungkan Tugas 5 dan Tugas 6 mata kuliah Analisis Deret Waktu (STA623303) menggunakan satu dataset, yaitu volume produksi air minum PDAM Kabupaten Serang periode Januari 2022 sampai Desember 2024. Data terdiri atas 36 observasi bulanan dalam satuan ribu m³ per bulan dan seluruhnya bersumber dari Tugas 5.

Bagian Tugas 5 membahas dekomposisi additive, arah pertumbuhan tren, 12 indeks musiman, serta pemeriksaan residu. Bagian Tugas 6 menerapkan dekomposisi multiplicative pada data yang sama, memeriksa perubahan kenaikan April dan Desember, menampilkan 12 faktor musiman, membandingkan residu kedua model, serta menentukan model yang lebih sesuai. Struktur penjelasan, pemformatan angka, tabel, dan grafik mengikuti laporan tugas sebelumnya.

Data Produksi Air PDAM

Data dimasukkan satu kali sesuai urutan kalender, lalu dibentuk menjadi objek runtun waktu bulanan dengan titik awal Januari 2022 dan frekuensi 12. Objek ini digunakan bersama pada kedua bagian analisis.

# Volume produksi air minum PDAM Kabupaten Serang (ribu m3/bulan)
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
)

stopifnot(length(produksi) == 36L, all(is.finite(produksi)), all(produksi > 0))
produksi_ts <- ts(produksi, start = c(2022, 1), frequency = 12)

nama_bulan <- c(
  "Januari", "Februari", "Maret", "April", "Mei", "Juni",
  "Juli", "Agustus", "September", "Oktober", "November", "Desember"
)
label_periode <- paste(rep(nama_bulan, 3), rep(2022:2024, each = 12))
produksi_tahunan <- matrix(produksi, nrow = 12, ncol = 3)

print(produksi_ts)
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2022 410 415 405 420 430 445 455 440 425 420 418 435
## 2023 440 445 438 452 462 478 488 472 458 452 450 468
## 2024 470 476 468 483 494 510 521 504 489 483 480 499

1 Tugas 5: Dekomposisi Additive

Bagian Tugas 5 ini menganalisis volume produksi air minum PDAM Kabupaten Serang pada periode Januari 2022 sampai Desember 2024, terdiri atas 36 observasi bulanan dalam satuan ribu m³ per bulan. Analisis disusun untuk menjawab empat soal Latihan Pendalaman Materi (Tugas Mandiri) pada materi Pertemuan 6 mata kuliah Analisis Deret Waktu (STA623303), yang ditempatkan pada folder Tugas 5. Data yang sama digunakan pada bagian Tugas 6 untuk membandingkan dekomposisi additive dan multiplicative. Tujuan analisis meliputi: (1) membentuk objek runtun waktu bulanan dan melakukan dekomposisi additive; (2) menampilkan komponen tren serta memeriksa arah pertumbuhannya; (3) menginterpretasikan 12 indeks musiman dan mengidentifikasi bulan tertinggi serta terendah; dan (4) memeriksa ringkasan statistik, simpangan baku, serta pola residu di sekitar nol.

Model dekomposisi additive memisahkan nilai pengamatan menjadi penjumlahan komponen tren, musiman, dan residu:

\[ Z_t = T_t + S_t + e_t. \]

Komponen \(T_t\) menggambarkan perubahan level produksi jangka panjang, \(S_t\) menunjukkan tambahan atau pengurangan produksi akibat pola bulan kalender, sedangkan \(e_t\) merupakan bagian yang belum dijelaskan oleh kedua komponen tersebut. Model ini sesuai ketika besarnya ayunan musiman relatif tetap dalam satuan asli, walaupun level produksi meningkat. Data yang digunakan merupakan data penugasan; dugaan mengenai penyebab pola bulanan diperlakukan sebagai interpretasi, bukan sebagai fakta operasional PDAM yang telah diverifikasi.

1.1 Objek Time Series dan Dekomposisi Additive

Objek produksi_ts yang telah dibentuk pada bagian data bersama digunakan untuk dekomposisi additive. Titik awalnya Januari 2022 (start = c(2022, 1)), dengan frekuensi 12 yang menyatakan satu siklus musiman sepanjang 12 bulan.

Grafik data asli disajikan untuk melihat perubahan level produksi dan keterulangan fluktuasi bulanan sebelum komponen-komponennya dipisahkan.

plot(
  produksi_ts, type = "o", pch = 16, col = "black",
  xlab = "Waktu", ylab = "Produksi Air (ribu m3/bulan)",
  main = "Produksi Air Minum PDAM Kabupaten Serang, 2022-2024"
)

Produksi air PDAM meningkat dari 2022 sampai 2024 dengan puncak bulanan berulang pada Juli.

Grafik di atas memuat 36 observasi, dari nilai terendah 405 ribu m³ pada Maret 2022 sampai nilai tertinggi 521 ribu m³ pada Juli 2024. Pola produksi memperlihatkan kenaikan level antartahun, disertai puncak yang berulang sekitar pertengahan tahun. Untuk memisahkan kedua pola tersebut, diterapkan fungsi decompose() dengan tipe additive.

# Dekomposisi klasik menggunakan centered moving average 2 x 12
dekomp_add <- decompose(produksi_ts, type = "additive")
tren <- dekomp_add$trend
musiman <- dekomp_add$seasonal
residu <- dekomp_add$random
indeks_musiman <- as.numeric(dekomp_add$figure)

# Pemeriksaan identitas model pada periode yang memiliki tren
idx_valid <- which(!is.na(tren))
stopifnot(
  length(idx_valid) == 24L,
  abs(sum(indeks_musiman)) < 1e-8,
  max(abs(produksi_ts[idx_valid] -
    (tren[idx_valid] + musiman[idx_valid] + residu[idx_valid]))) < 1e-8
)
plot(dekomp_add)

Empat panel menampilkan data asli, tren yang naik, musiman berulang, dan residu kecil di sekitar nol.

Visualisasi dekomposisi menampilkan empat panel: data asli (observed), tren (trend), musiman (seasonal), dan residu (random). Tren bergerak naik dengan lebih halus daripada data asli, sementara pola musiman berulang setiap tahun. Panel tren dan residu hanya terisi dari Juli 2022 sampai Juni 2024. Enam bulan pertama dan enam bulan terakhir bernilai NA karena perhitungan tren terpusat memerlukan data di kedua sisi periode pengamatan; nilai tersebut bukan produksi nol atau data asli yang hilang.

1.2 Komponen Tren dan Arah Pertumbuhan Produksi

Fungsi decompose() mengestimasi tren bulanan menggunakan Centered Moving Average (CMA) \(2\times12\). Karena periode musiman 12 merupakan bilangan genap, dua rata-rata bergerak 12 bulan yang berurutan dirata-ratakan kembali agar hasilnya berada tepat pada bulan pengamatan. Bobot akhirnya dapat dituliskan sebagai:

\[ \widehat{T}_t = \frac{Z_{t-6}}{24} + \frac{1}{12}\sum_{j=-5}^{5} Z_{t+j} + \frac{Z_{t+6}}{24}. \]

Dengan 36 observasi, tren dapat dihitung pada \(t=7,\ldots,30\). Tabel berikut menampilkan komponen tren pada seluruh bulan, termasuk posisi yang tidak dapat diestimasi.

tabel_tren <- data.frame(
  t = seq_along(produksi),
  Periode = label_periode,
  Produksi = fmt(produksi, 0),
  Tren = ifelse(is.na(tren), "-", fmt(tren, 3))
)

knitr::kable(
  tabel_tren, align = "c",
  col.names = c("t", "Periode Pengamatan", "Produksi (ribu m³)", "Tren CMA (ribu m³)")
)
t Periode Pengamatan Produksi (ribu m³) Tren CMA (ribu m³)
1 Januari 2022 410 -
2 Februari 2022 415 -
3 Maret 2022 405 -
4 April 2022 420 -
5 Mei 2022 430 -
6 Juni 2022 445 -
7 Juli 2022 455 427,750
8 Agustus 2022 440 430,250
9 September 2022 425 432,875
10 Oktober 2022 420 435,583
11 November 2022 418 438,250
12 Desember 2022 435 440,958
13 Januari 2023 440 443,708
14 Februari 2023 445 446,417
15 Maret 2023 438 449,125
16 April 2023 452 451,833
17 Mei 2023 462 454,500
18 Juni 2023 478 457,208
19 Juli 2023 488 459,833
20 Agustus 2023 472 462,375
21 September 2023 458 464,917
22 Oktober 2023 452 467,458
23 November 2023 450 470,083
24 Desember 2023 468 472,750
25 Januari 2024 470 475,458
26 Februari 2024 476 478,167
27 Maret 2024 468 480,792
28 April 2024 483 483,375
29 Mei 2024 494 485,917
30 Juni 2024 510 488,458
31 Juli 2024 521 -
32 Agustus 2024 504 -
33 September 2024 489 -
34 Oktober 2024 483 -
35 November 2024 480 -
36 Desember 2024 499 -

Komponen tren digambarkan bersama data asli agar pergerakan jangka panjang dapat dibedakan dari fluktuasi musiman.

plot(
  produksi_ts, type = "o", pch = 16, col = "gray50",
  xlab = "Waktu", ylab = "Produksi Air (ribu m3/bulan)",
  main = "Data Aktual dan Komponen Tren Produksi Air PDAM"
)
lines(tren, col = "steelblue", lwd = 2, lty = 2)
legend(
  "topleft", legend = c("Data Aktual", "Tren CMA 2 x 12"),
  col = c("gray50", "steelblue"), pch = c(16, NA),
  lty = c(1, 2), lwd = c(1, 2), bty = "n"
)

Tren CMA meningkat dari 427,75 ribu m3 pada Juli 2022 menjadi 488,46 ribu m3 pada Juni 2024.

tren_valid <- as.numeric(tren[idx_valid])
kenaikan_tren <- tail(tren_valid, 1) - head(tren_valid, 1)
kenaikan_per_bulan <- kenaikan_tren / (length(tren_valid) - 1)
rerata_tahunan <- colMeans(produksi_tahunan)
rentang_tahunan <- apply(produksi_tahunan, 2, function(x) diff(range(x)))

tabel_tahunan <- data.frame(
  Tahun = 2022:2024,
  Rata_rata = fmt(rerata_tahunan, 3),
  Minimum = fmt(apply(produksi_tahunan, 2, min), 0),
  Maksimum = fmt(apply(produksi_tahunan, 2, max), 0),
  Rentang = fmt(rentang_tahunan, 0)
)
knitr::kable(
  tabel_tahunan, align = "c",
  col.names = c("Tahun", "Rata-Rata", "Minimum", "Maksimum", "Rentang Maksimum-Minimum")
)
Tahun Rata-Rata Minimum Maksimum Rentang Maksimum-Minimum
2022 426,500 405 455 50
2023 458,583 438 488 50
2024 489,750 468 521 53

Berdasarkan tabel dan grafik di atas, produksi air minum menunjukkan tren naik. Temuan tersebut dapat dijelaskan sebagai berikut:

  1. Kenaikan Komponen Tren: Nilai CMA meningkat dari 427,750 ribu m³ pada Juli 2022 menjadi 488,458 ribu m³ pada Juni 2024. Selisihnya sebesar 60,708 ribu m³ selama 23 interval bulanan, atau rata-rata 2,639 ribu m³ per bulan. Seluruh 23 perubahan CMA antarbulan bernilai positif. Angka ini menggambarkan kenaikan tren historis pada bagian tengah data, bukan ramalan untuk bulan di luar pengamatan.
  2. Dukungan Rata-Rata Tahunan: Rata-rata produksi meningkat dari 426,500 ribu m³ pada 2022 menjadi 458,583 ribu m³ pada 2023 dan 489,750 ribu m³ pada 2024. Peningkatan level tidak hanya terjadi pada satu bulan puncak, tetapi terlihat pada keseluruhan pola tahunan.
  3. Ayunan Musiman Relatif Tetap: Rentang maksimum-minimum tahunan masing-masing sebesar 50, 50, dan 53 ribu m³. Rentang mentah ini masih mencakup pengaruh tren, tetapi besarnya yang relatif serupa memberi dukungan awal bagi penggunaan model additive.

1.3 Dua Belas Indeks Musiman dan Interpretasinya

Setelah tren diperoleh, pengaruh tren dihilangkan melalui selisih \(D_t=Z_t-\widehat{T}_t\). Selisih tersebut dirata-ratakan untuk setiap bulan kalender, kemudian dinormalisasi agar jumlah 12 indeks musiman sama dengan nol:

\[ \widehat{S}_m = \overline{D}_m - \frac{1}{12}\sum_{j=1}^{12}\overline{D}_j, \qquad \sum_{m=1}^{12}\widehat{S}_m=0. \]

Indeks positif menyatakan produksi yang cenderung lebih tinggi daripada tren, sedangkan indeks negatif menyatakan produksi yang cenderung lebih rendah. Seluruh indeks masih memiliki satuan ribu m³ per bulan, sehingga interpretasinya merupakan selisih volume, bukan persentase.

idx_maks <- which.max(indeks_musiman)
idx_min <- which.min(indeks_musiman)

tabel_musiman <- data.frame(
  Bulan = nama_bulan,
  Indeks = fmt(indeks_musiman, 3),
  Pengaruh = ifelse(indeks_musiman > 0, "Di atas tren", "Di bawah tren")
)
knitr::kable(
  tabel_musiman, align = "c",
  col.names = c("Bulan", "Indeks Musiman (ribu m³)", "Interpretasi")
)
Bulan Indeks Musiman (ribu m³) Interpretasi
Januari -4,540 Di bawah tren
Februari -1,748 Di bawah tren
Maret -11,915 Di bawah tren
April -0,061 Di bawah tren
Mei 7,835 Di atas tren
Juni 21,210 Di atas tren
Juli 27,752 Di atas tren
Agustus 9,731 Di atas tren
September -7,352 Di bawah tren
Oktober -15,477 Di bawah tren
November -20,123 Di bawah tren
Desember -5,311 Di bawah tren
cat("Jumlah 12 indeks musiman:", fmt(sum(indeks_musiman), 6), "ribu m3\n")
## Jumlah 12 indeks musiman: 0,000000 ribu m3
posisi <- barplot(
  indeks_musiman, names.arg = substr(nama_bulan, 1, 3),
  col = ifelse(indeks_musiman >= 0, "steelblue", "gray60"),
  border = NA, ylim = c(-26, 34),
  xlab = "Bulan", ylab = "Indeks Musiman (ribu m3/bulan)",
  main = "Dua Belas Indeks Musiman Additive Produksi Air PDAM"
)
abline(h = 0, lty = 2, col = "gray30")
text(
  posisi, indeks_musiman, labels = fmt(indeks_musiman, 2),
  pos = ifelse(indeks_musiman >= 0, 3, 1), cex = 0.8
)

Indeks musiman additive tertinggi terjadi pada Juli dan terendah pada November.

Tabel dan grafik di atas memperlihatkan beberapa karakteristik pola musiman:

  1. Bulan dengan Pengaruh Musiman Tertinggi: Bulan Juli memiliki indeks tertinggi sebesar +27,752 ribu m³. Artinya, setelah pengaruh tren dipisahkan, produksi pada Juli cenderung berada sekitar 27,752 ribu m³ di atas level trennya. Juni juga memiliki indeks positif sebesar 21,210 ribu m³, sehingga kenaikan musiman terutama terkonsentrasi pada pertengahan tahun.
  2. Bulan dengan Pengaruh Musiman Terendah: Bulan November memiliki indeks terendah sebesar -20,123 ribu m³. Dengan demikian, produksi November cenderung berada 20,123 ribu m³ di bawah trennya. Oktober dan Maret juga menunjukkan pengaruh musiman negatif yang cukup besar, masing-masing sebesar -15,477 dan -11,915 ribu m³.
  3. Dugaan Penjelasan Pola: Tingginya produksi pada Juni-Juli mungkin berkaitan dengan meningkatnya kebutuhan air atau penyesuaian operasi saat pasokan air alternatif berkurang pada musim kemarau. Rendahnya produksi pada November mungkin berkaitan dengan perubahan kebutuhan pelanggan ketika memasuki musim hujan, atau penyesuaian operasi dan pemeliharaan. Dugaan ini memerlukan data curah hujan, konsumsi pelanggan, kapasitas instalasi, dan jadwal pemeliharaan untuk dikonfirmasi; data produksi saja tidak dapat menetapkan penyebabnya.
  4. Pembedaan Indeks Musiman dan Nilai Aktual: Bulan dengan indeks terendah tidak harus menjadi bulan dengan produksi aktual paling kecil. Nilai minimum aktual terdapat pada Maret 2022, sedangkan indeks minimum terdapat pada November, karena indeks musiman telah dikoreksi terhadap level tren yang berubah menurut waktu.

1.4 Pemeriksaan Komponen Residu

Residu diperoleh dengan mengurangkan estimasi tren dan musiman dari data asli:

\[ \widehat{e}_t=Z_t-\widehat{T}_t-\widehat{S}_t. \]

Pada model additive, residu diharapkan berada di sekitar nol. Pemeriksaan menggunakan summary() dan sd(..., na.rm = TRUE) hanya melibatkan 24 periode yang memiliki estimasi tren. Dua belas NA pada tepi deret tetap dipertahankan dan tidak diganti dengan nol.

summary(residu)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
## -0.9184 -0.4184 -0.0434 -0.0434  0.3316  0.8316      12
sd_residu <- sd(residu, na.rm = TRUE)
sd_residu
## [1] 0.4862621
residu_valid <- as.numeric(residu[idx_valid])
ringkasan_residu <- c(
  min(residu_valid), unname(quantile(residu_valid, 0.25)),
  median(residu_valid), mean(residu_valid),
  unname(quantile(residu_valid, 0.75)), max(residu_valid), sd_residu
)
tabel_residu <- data.frame(
  Statistik = c("Minimum", "Kuartil 1", "Median", "Rata-Rata", "Kuartil 3", "Maksimum", "Simpangan Baku"),
  Nilai = fmt(ringkasan_residu, 6)
)
knitr::kable(
  tabel_residu, align = "c",
  col.names = c("Statistik Residu", "Nilai (ribu m³)")
)
Statistik Residu Nilai (ribu m³)
Minimum -0,918403
Kuartil 1 -0,418403
Median -0,043403
Rata-Rata -0,043403
Kuartil 3 0,331597
Maksimum 0,831597
Simpangan Baku 0,486262
cat("Residu tersedia:", length(residu_valid), "bulan\n")
## Residu tersedia: 24 bulan
cat("Residu tidak tersedia:", sum(is.na(residu)), "bulan\n")
## Residu tidak tersedia: 12 bulan
plot(
  residu, type = "o", pch = 16, col = "black", ylim = c(-1.2, 1.2),
  xlab = "Waktu", ylab = "Residu (ribu m3/bulan)",
  main = "Komponen Residu Dekomposisi Additive Produksi Air PDAM"
)
abline(h = 0, col = "gray30", lty = 2)
abline(h = mean(residu_valid), col = "steelblue", lty = 3)
legend(
  "topright", legend = c("Residu", "Garis Nol", "Rata-Rata Residu"),
  col = c("black", "gray30", "steelblue"),
  pch = c(16, NA, NA), lty = c(1, 2, 3), bty = "n"
)

Residu additive kecil dan berganti tanda di sekitar nol, dengan sebagian pola tahunan yang masih perlu diperiksa.

Untuk melengkapi pemeriksaan visual, ditampilkan ACF residu hingga lag 12 bulan. Grafik ini bersifat diagnostik deskriptif; garis batas pada ACF merupakan pendekatan dan tidak membuktikan keacakan residu dengan sendirinya.

# Gunakan vektor agar lag pada sumbu ditampilkan dalam satuan bulan
acf_residu <- acf(
  residu_valid, lag.max = 12, plot = FALSE
)
plot(acf_residu, xlab = "Lag (bulan)", main = "ACF Residu Additive Produksi Air PDAM")

ACF residu menunjukkan korelasi negatif pada lag 12, sehingga keacakan sempurna tidak dapat dinyatakan.

acf_lag12 <- as.numeric(acf_residu$acf)[13]

Berdasarkan pemeriksaan tersebut, dapat diberikan penilaian berikut:

  1. Pusat Residu Dekat Nol: Rata-rata residu sebesar -0,043403 ribu m³ dan median sebesar -0,043403 ribu m³. Nilai residu berada pada rentang -0,918403 sampai 0,831597 ribu m³. Terdapat 12 residu positif dan 12 residu negatif, sehingga tidak terlihat bias besar yang terus berada pada satu sisi garis nol.
  2. Besaran Residu Kecil: Simpangan baku residu sebesar 0,486262 ribu m³, setara dengan sekitar 486,26 m³. Nilai tersebut hanya sekitar 0,106% dari rata-rata produksi pada periode yang memiliki residu. Pemisahan tren dan musiman berhasil menyisakan deviasi yang kecil pada bagian data yang dapat dihitung.
  3. Penilaian Keacakan: Residu berfluktuasi kecil di sekitar nol, tetapi belum dapat dinyatakan sepenuhnya acak atau white noise. ACF lag 12 bernilai -0,500, menunjukkan hubungan negatif pada bulan yang berjarak satu tahun. Dengan 36 data asli, setiap indeks musiman hanya diperkirakan dari dua selisih terhadap tren; proses pengurangan rata-rata bulanan itu sendiri membuat residu pada bulan kalender yang sama saling mengimbangi. Oleh karena itu, sebagian pola ACF dapat muncul karena cara estimasi dan pendeknya deret, bukan semata-mata gangguan operasional.
  4. Batas Interpretasi: Residu yang kecil mendukung kemampuan model additive untuk merangkum data historis, tetapi tidak membuktikan akurasi ramalan atau menjamin residu independen. Pemeriksaan dengan data yang lebih panjang diperlukan untuk mengevaluasi kestabilan pola musiman dan sifat residu secara lebih kuat.

Kesimpulan Tugas 5

Berdasarkan dekomposisi volume produksi air minum PDAM Kabupaten Serang periode Januari 2022 sampai Desember 2024, diperoleh kesimpulan sebagai berikut:

  1. Pembentukan Model: Data telah dibentuk menjadi objek ts bulanan dengan frekuensi 12 dan dipisahkan menggunakan decompose(..., type = "additive"). Komponen tren dan residu tersedia pada Juli 2022 sampai Juni 2024, sementara enam bulan pada setiap tepi deret bernilai NA akibat kebutuhan jendela CMA.
  2. Tren Produksi: Produksi memperlihatkan tren naik. CMA meningkat dari 427,750 menjadi 488,458 ribu m³, dengan rata-rata kenaikan sekitar 2,639 ribu m³ per bulan pada rentang yang dapat diestimasi.
  3. Pola Musiman: Juli merupakan bulan dengan indeks tertinggi (+27,752 ribu m³), sedangkan November memiliki indeks terendah (-20,123 ribu m³). Perubahan kebutuhan air dan kondisi musim merupakan dugaan penjelasan yang masih memerlukan data pendukung.
  4. Residu dan Kesesuaian Model: Rata-rata residu mendekati nol (-0,043403 ribu m³), dengan simpangan baku 0,486262 ribu m³. Model additive merangkum tren dan pola musiman dengan deviasi historis yang kecil. Meskipun residu bergerak di sekitar nol, ACF dan keterbatasan jumlah observasi membuat klaim keacakan sempurna belum dapat diberikan.

2 Tugas 6: Dekomposisi Multiplicative

Bagian Tugas 6 ini menganalisis volume produksi air minum PDAM Kabupaten Serang pada periode Januari 2022 sampai Desember 2024, terdiri atas 36 observasi bulanan dalam satuan ribu m³ per bulan. Data yang digunakan sama persis dengan data pada Tugas 5. Analisis mengikuti empat soal Latihan Pendalaman Materi pada Pertemuan 7 mata kuliah Analisis Deret Waktu (STA623303), dengan konteks dan satuan disesuaikan menjadi produksi air minum. Tujuannya meliputi: (1) memvisualisasikan data dan memeriksa apakah kenaikan April serta Desember membesar dari 2023 ke 2024; (2) melakukan dekomposisi multiplicative dan menginterpretasikan 12 faktor musiman; (3) membandingkan simpangan baku residu model multiplicative dengan additive; dan (4) memilih model yang lebih sesuai berdasarkan pola data dan hasil perbandingan.

Model dekomposisi multiplicative memisahkan nilai pengamatan menjadi hasil kali komponen tren, musiman, dan residu:

\[ Z_t=T_t\times S_t\times e_t. \]

Komponen \(T_t\) memiliki satuan ribu m³ per bulan, sedangkan \(S_t\) dan \(e_t\) berupa rasio tanpa satuan. Faktor musiman \(S_t=1\) berarti produksi berada pada level tren, \(S_t>1\) berarti di atas tren, dan \(S_t<1\) berarti di bawah tren. Pengaruh musiman dalam persen dihitung sebagai \((S_t-1)\times100\%\). Penerapan model ini merupakan bagian dari perbandingan metode; kesesuaian model ditentukan setelah hasil analisis diperiksa.

2.1 Plot Data dan Perubahan Besaran Fluktuasi Musiman

Bagian ini menggunakan kembali objek produksi_ts dari data bersama, dengan 36 observasi bulanan sejak Januari 2022 dan frekuensi 12. Seluruh nilai produksi positif, sehingga memenuhi syarat pembagian pada dekomposisi multiplicative.

Plot runtun waktu disajikan untuk melihat perubahan level produksi dan fluktuasi bulanan pada keseluruhan periode pengamatan.

plot(
  produksi_ts, type = "o", pch = 16, col = "black",
  xlab = "Waktu", ylab = "Produksi Air (ribu m3/bulan)",
  main = "Produksi Air Minum PDAM Kabupaten Serang, 2022-2024"
)

Produksi air meningkat dari 2022 sampai 2024 dengan puncak aktual pada Juli di setiap tahun.

Grafik di atas memuat 36 observasi bulanan. Produksi berkisar dari nilai terendah 405 ribu m³ pada Maret 2022 sampai nilai tertinggi 521 ribu m³ pada Juli 2024. Perbandingan pola bulanan ketiga tahun ditampilkan pada sumbu yang sama agar kenaikan level dapat dibedakan dari perubahan besarnya fluktuasi.

warna <- c("black", "steelblue", "gray50")
matplot(
  1:12, produksi_tahunan, type = "o", pch = c(16, 17, 15),
  lty = c(1, 2, 3), col = warna, lwd = 1.5, xaxt = "n",
  xlab = "Bulan", ylab = "Produksi Air (ribu m3/bulan)",
  main = "Perbandingan Pola Produksi Air Tahun 2022, 2023, dan 2024"
)
axis(1, at = 1:12, labels = substr(nama_bulan, 1, 3))
legend(
  "topleft", legend = paste("Tahun", 2022:2024),
  col = warna, pch = c(16, 17, 15), lty = c(1, 2, 3), bty = "n"
)

Kurva produksi 2022, 2023, dan 2024 memiliki bentuk serupa, dengan puncak Juli dan kenaikan level antartahun.

Sesuai poin pertama soal Tugas 6, April dan Desember tetap diperiksa. Istilah kenaikan pada tabel berikut mengacu pada selisih terhadap bulan sebelumnya, yaitu April dikurangi Maret dan Desember dikurangi November. Besaran ini bersifat deskriptif dan masih mengandung pengaruh tren.

bulan_diperiksa <- c(4, 12)
lonjakan_2023 <- produksi_tahunan[bulan_diperiksa, 2] -
  produksi_tahunan[bulan_diperiksa - 1, 2]
lonjakan_2024 <- produksi_tahunan[bulan_diperiksa, 3] -
  produksi_tahunan[bulan_diperiksa - 1, 3]

tabel_perbandingan <- data.frame(
  Bulan = nama_bulan[bulan_diperiksa],
  Produksi_2023 = fmt(produksi_tahunan[bulan_diperiksa, 2], 0),
  Produksi_2024 = fmt(produksi_tahunan[bulan_diperiksa, 3], 0),
  Kenaikan_2023 = fmt(lonjakan_2023, 0),
  Kenaikan_2024 = fmt(lonjakan_2024, 0),
  Perubahan = fmt(lonjakan_2024 - lonjakan_2023, 0)
)
knitr::kable(
  tabel_perbandingan, align = "c",
  col.names = c("Bulan", "Produksi 2023", "Produksi 2024",
    "Kenaikan dari Bulan Sebelumnya 2023",
    "Kenaikan dari Bulan Sebelumnya 2024", "Perubahan Kenaikan")
)
Bulan Produksi 2023 Produksi 2024 Kenaikan dari Bulan Sebelumnya 2023 Kenaikan dari Bulan Sebelumnya 2024 Perubahan Kenaikan
April 452 483 14 15 1
Desember 468 499 18 19 1

Seluruh kolom angka pada tabel memiliki satuan ribu m³. Ringkasan tahunan berikut melengkapi pemeriksaan dengan membandingkan level rata-rata dan rentang maksimum-minimum.

colnames(produksi_tahunan) <- 2022:2024
rerata_tahunan <- colMeans(produksi_tahunan)
rentang_tahunan <- apply(produksi_tahunan, 2, function(x) diff(range(x)))
rentang_relatif <- rentang_tahunan / rerata_tahunan * 100

tabel_tahunan <- data.frame(
  Tahun = 2022:2024,
  Rata_rata = fmt(rerata_tahunan, 3),
  Minimum = fmt(apply(produksi_tahunan, 2, min), 0),
  Maksimum = fmt(apply(produksi_tahunan, 2, max), 0),
  Rentang = fmt(rentang_tahunan, 0),
  Rentang_relatif = paste0(fmt(rentang_relatif, 3), "%")
)
knitr::kable(
  tabel_tahunan, align = "c",
  col.names = c("Tahun", "Rata-Rata", "Minimum", "Maksimum",
    "Rentang Maksimum-Minimum", "Rentang/Rata-Rata (%)")
)
Tahun Rata-Rata Minimum Maksimum Rentang Maksimum-Minimum Rentang/Rata-Rata (%)
2022 2022 426,500 405 455 50 11,723%
2023 2023 458,583 438 488 50 10,903%
2024 2024 489,750 468 521 53 10,822%

Berdasarkan grafik dan tabel di atas, dapat diidentifikasi beberapa karakteristik utama:

  1. Kenaikan April Bertambah Sedikit: Produksi April naik dari 452 ribu m³ pada 2023 menjadi 483 ribu m³ pada 2024. Kenaikan terhadap Maret berubah dari 14 menjadi 15 ribu m³, sehingga kenaikan April membesar hanya 1 ribu m³.
  2. Kenaikan Desember Bertambah Sedikit: Produksi Desember meningkat dari 468 menjadi 499 ribu m³. Selisih terhadap November berubah dari 18 menjadi 19 ribu m³, atau hanya bertambah 1 ribu m³. Dengan demikian, kenaikan April dan Desember sama-sama membesar sedikit dari 2023 ke 2024. Selisih nilai aktual antartahun tidak identik dengan pembesaran kenaikan terhadap bulan sebelumnya.
  3. Ayunan Nominal Relatif Tetap: Rata-rata produksi meningkat dari 426,500 menjadi 458,583 dan 489,750 ribu m³. Rentang tahunan hanya berubah dari 50 menjadi 50 dan 53 ribu m³. Rentang relatif justru turun dari 11,723% menjadi 10,822%. Rentang mentah masih mengandung tren, tetapi pola ini memberi dukungan awal bagi efek musiman berupa tambahan volume yang relatif tetap.
  4. Puncak Aktual Berada pada Juli: Produksi maksimum setiap tahun terdapat pada Juli, masing-masing 455, 488, dan 521 ribu m³. April dan Desember tetap dibahas sesuai soal, sedangkan bulan tertinggi dan terendah setelah koreksi tren ditentukan melalui faktor musiman pada bagian berikut.

2.2 Dekomposisi Multiplicative dan Dua Belas Faktor Musiman

Komponen tren diestimasi menggunakan Centered Moving Average (CMA) \(2\times12\), sama seperti pada Tugas 5. Setelah tren diperoleh, rasio \(R_t=Z_t/\widehat{T}_t\) dirata-ratakan untuk setiap bulan kalender dan dinormalisasi agar rata-rata 12 faktor musiman sama dengan satu:

\[ \widehat{S}_m=\frac{\overline{R}_m} {\frac{1}{12}\sum_{j=1}^{12}\overline{R}_j}, \qquad \frac{1}{12}\sum_{m=1}^{12}\widehat{S}_m=1. \]

dekomp_mul <- decompose(produksi_ts, type = "multiplicative")
tren <- dekomp_mul$trend
faktor_musiman <- as.numeric(dekomp_mul$figure)
residu_mul <- dekomp_mul$random
idx_valid <- which(!is.na(tren))

stopifnot(
  length(idx_valid) == 24L,
  all(tren[idx_valid] > 0),
  abs(mean(faktor_musiman) - 1) < 1e-8,
  max(abs(produksi_ts[idx_valid] -
    tren[idx_valid] * dekomp_mul$seasonal[idx_valid] *
      residu_mul[idx_valid])) < 1e-8
)
print(tren)
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2022       NA       NA       NA       NA       NA       NA 427.7500 430.2500
## 2023 443.7083 446.4167 449.1250 451.8333 454.5000 457.2083 459.8333 462.3750
## 2024 475.4583 478.1667 480.7917 483.3750 485.9167 488.4583       NA       NA
##           Sep      Oct      Nov      Dec
## 2022 432.8750 435.5833 438.2500 440.9583
## 2023 464.9167 467.4583 470.0833 472.7500
## 2024       NA       NA       NA       NA

Komponen tren dan residu tersedia pada Juli 2022 sampai Juni 2024. Enam bulan pertama dan enam bulan terakhir bernilai NA karena jendela CMA membutuhkan data di kedua sisi bulan pengamatan. Posisi tersebut bukan data produksi yang hilang dan tidak diganti dengan nol.

plot(dekomp_mul)

Empat panel memperlihatkan data produksi, tren naik, faktor musiman berulang, dan residu rasio yang berfluktuasi di sekitar satu.

Grafik dekomposisi memperlihatkan tren yang bergerak naik dengan lebih halus daripada data asli. Faktor musiman berulang setiap tahun, sedangkan residu berfluktuasi kecil di sekitar satu. Tabel berikut menampilkan 12 faktor dan pengaruh persentasenya terhadap tren.

idx_maks <- which.max(faktor_musiman)
idx_min <- which.min(faktor_musiman)
efek_persen <- (faktor_musiman - 1) * 100

tabel_musiman <- data.frame(
  Bulan = nama_bulan,
  Faktor = fmt(faktor_musiman, 6),
  Efek = paste0(fmt(efek_persen, 3), "%"),
  Interpretasi = ifelse(faktor_musiman > 1, "Di atas tren", "Di bawah tren")
)
knitr::kable(
  tabel_musiman, align = "c",
  col.names = c("Bulan", "Faktor Musiman", "Pengaruh terhadap Tren (%)", "Interpretasi")
)
Bulan Faktor Musiman Pengaruh terhadap Tren (%) Interpretasi
Januari 0,990187 -0,981% Di bawah tren
Februari 0,996255 -0,375% Di bawah tren
Maret 0,974417 -2,558% Di bawah tren
April 0,999904 -0,010% Di bawah tren
Mei 1,016678 1,668% Di atas tren
Juni 1,044901 4,490% Di atas tren
Juli 1,062594 6,259% Di atas tren
Agustus 1,021849 2,185% Di atas tren
September 0,983571 -1,643% Di bawah tren
Oktober 0,965681 -3,432% Di bawah tren
November 0,955638 -4,436% Di bawah tren
Desember 0,988326 -1,167% Di bawah tren
cat("Rata-rata 12 faktor musiman:", fmt(mean(faktor_musiman), 6), "\n")
## Rata-rata 12 faktor musiman: 1,000000
plot(
  1:12, faktor_musiman, type = "o", pch = 16, col = "steelblue",
  xaxt = "n", ylim = c(0.94, 1.08),
  xlab = "Bulan", ylab = "Faktor Musiman (rasio)",
  main = "Dua Belas Faktor Musiman Multiplicative Produksi Air PDAM"
)
axis(1, at = 1:12, labels = substr(nama_bulan, 1, 3))
abline(h = 1, lty = 2, col = "gray30")
text(1:12, faktor_musiman, labels = fmt(faktor_musiman, 3), pos = 3, cex = 0.8)

Faktor musiman produksi tertinggi terjadi pada Juli dan terendah pada November.

Interpretasi faktor musiman adalah sebagai berikut:

  1. Bulan dengan Faktor Tertinggi: Bulan Juli memiliki faktor 1,062594, yang berarti produksi cenderung 6,259% di atas tren. Juni juga memiliki faktor di atas satu, yaitu 1,044901, sehingga pengaruh musiman positif terutama terlihat pada pertengahan tahun.
  2. Bulan dengan Faktor Terendah: Bulan November memiliki faktor 0,955638, atau produksi sekitar 4,436% di bawah tren. Oktober dan Maret juga memiliki faktor di bawah satu, masing-masing 0,965681 dan 0,974417.
  3. Kenaikan Antarbulan Berbeda dari Efek Musiman: Faktor April sebesar 0,999904 dan Desember sebesar 0,988326 berada di bawah satu. Walaupun produksi aktual meningkat dari bulan sebelumnya, nilainya belum melampaui level tren setelah koreksi. Karena itu, kenaikan dari Maret atau November tidak langsung berarti April atau Desember merupakan puncak musiman.
  4. Dugaan Penjelasan dan Batas Estimasi: Produksi tinggi pada Juni-Juli mungkin berkaitan dengan kebutuhan air atau penyesuaian operasi pada musim kemarau, sedangkan produksi yang lebih rendah pada November mungkin berkaitan dengan perubahan kebutuhan saat musim hujan atau pemeliharaan. Data produksi saja tidak dapat memastikan penyebab tersebut. Setiap faktor musiman hanya ditaksir dari dua rasio terhadap CMA pada bulan kalender yang sama, sehingga kestabilannya masih perlu diperiksa menggunakan deret yang lebih panjang.

2.3 Perbandingan Simpangan Baku Residu Kedua Model

Data yang sama juga didekomposisi menggunakan model additive, sehingga perbandingan konsisten dengan Tugas 5. Residu kedua model didefinisikan sebagai:

\[ \widehat{e}^{\mathrm{mul}}_t =\frac{Z_t}{\widehat{T}_t\widehat{S}^{\mathrm{mul}}_t}, \qquad \widehat{e}^{\mathrm{add}}_t =Z_t-\widehat{T}_t-\widehat{S}^{\mathrm{add}}_t. \]

Residu multiplicative berupa rasio dengan pusat sekitar satu, sedangkan residu additive memiliki satuan ribu m³ dengan pusat sekitar nol. Ringkasan statistik dan simpangan baku dihitung pada 24 periode yang tersedia untuk kedua model.

dekomp_add <- decompose(produksi_ts, type = "additive")
residu_add <- dekomp_add$random
valid_bersama <- which(!is.na(residu_mul) & !is.na(residu_add))

stopifnot(
  identical(valid_bersama, idx_valid),
  max(abs(dekomp_add$trend[idx_valid] - tren[idx_valid])) < 1e-8,
  abs(sum(dekomp_add$figure)) < 1e-8
)

sd_mul <- sd(residu_mul, na.rm = TRUE)
sd_add <- sd(residu_add, na.rm = TRUE)
rerata_mul <- mean(residu_mul, na.rm = TRUE)
rerata_add <- mean(residu_add, na.rm = TRUE)

summary(residu_mul)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##  0.9981  0.9989  0.9999  0.9999  1.0009  1.0017      12
sd_mul
## [1] 0.001249183
summary(residu_add)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
## -0.9184 -0.4184 -0.0434 -0.0434  0.3316  0.8316      12
sd_add
## [1] 0.4862621
tabel_sd <- data.frame(
  Model = c("Multiplicative", "Additive"),
  Jumlah = rep(length(valid_bersama), 2),
  Rata_rata = fmt(c(rerata_mul, rerata_add), 6),
  SD = fmt(c(sd_mul, sd_add), 6),
  Satuan = c("Rasio (tanpa satuan)", "Ribu m³")
)
knitr::kable(
  tabel_sd, align = "c",
  col.names = c("Model", "Jumlah Residu", "Rata-Rata Residu", "Simpangan Baku", "Skala Residu")
)
Model Jumlah Residu Rata-Rata Residu Simpangan Baku Skala Residu
Multiplicative 24 0,999893 0,001249 Rasio (tanpa satuan)
Additive 24 -0,043403 0,486262 Ribu m³

Nilai residu pada setiap periode yang memiliki tren ditampilkan dalam tabel berikut agar besar deviasinya dapat diperiksa secara langsung.

tabel_residu <- data.frame(
  Periode = label_periode[valid_bersama],
  Additive = fmt(residu_add[valid_bersama], 6),
  Multiplicative = fmt(residu_mul[valid_bersama], 6)
)
knitr::kable(
  tabel_residu, align = "c",
  col.names = c("Periode Pengamatan", "Residu Additive (ribu m³)", "Residu Multiplicative (rasio)")
)
Periode Pengamatan Residu Additive (ribu m³) Residu Multiplicative (rasio)
Juli 2022 -0,501736 1,001046
Agustus 2022 0,019097 1,000795
September 2022 -0,522569 0,998207
Oktober 2022 -0,105903 0,998491
November 2022 -0,126736 0,998070
Desember 2022 -0,647569 0,998140
Januari 2023 0,831597 1,001469
Februari 2023 0,331597 1,000574
Maret 2023 0,789931 1,000834
April 2023 0,227431 1,000465
Mei 2023 -0,335069 0,999827
Juni 2023 -0,418403 1,000550
Juli 2023 0,414931 0,998739
Agustus 2023 -0,105903 0,998990
September 2023 0,435764 1,001578
Oktober 2023 0,019097 1,001294
November 2023 0,039931 1,001715
Desember 2023 0,560764 1,001645
Januari 2024 -0,918403 0,998316
Februari 2024 -0,418403 0,999211
Maret 2024 -0,876736 0,998951
April 2024 -0,314236 0,999320
Mei 2024 0,248264 0,999958
Juni 2024 0,331597 0,999235
par(mfrow = c(2, 1), mar = c(4, 4.5, 3, 1))
plot(
  residu_add, type = "o", pch = 16, col = "black", ylim = c(-1.2, 1.2),
  xlab = "Waktu", ylab = "Residu (ribu m3/bulan)", main = "Residu Model Additive"
)
abline(h = 0, lty = 2, col = "gray30")
plot(
  residu_mul, type = "o", pch = 17, col = "steelblue", ylim = c(0.9975, 1.0025),
  xlab = "Waktu", ylab = "Residu (rasio)", main = "Residu Model Multiplicative"
)
abline(h = 1, lty = 2, col = "gray30")

Residu additive bergerak di sekitar nol, sedangkan residu multiplicative bergerak di sekitar satu; satuan kedua panel berbeda.

par(mfrow = c(1, 1), mar = c(5.1, 4.1, 4.1, 2.1))

Berdasarkan tabel dan grafik di atas, dapat diberikan penilaian berikut:

  1. Residu Multiplicative Dekat Satu: Rata-rata residu sebesar 0,999893, dengan rentang 0,998070 sampai 1,001715. Simpangan bakunya sebesar 0,001249, setara dengan 0,1249 poin persentase pada skala deviasi rasio.
  2. Residu Additive Dekat Nol: Rata-rata residu sebesar -0,043403 ribu m³, dengan simpangan baku 0,486262 ribu m³. Hasil ini sama dengan hasil Tugas 5 karena data, periode pengamatan, dan prosedur dekomposisinya sama.
  3. SD Mentah Tidak Dapat Dibandingkan Langsung: Angka 0,001249 pada skala rasio lebih kecil secara numerik daripada 0,486262 pada skala ribu m³. Namun, perbedaan satuan membuat perbandingan tersebut tidak membuktikan keunggulan model multiplicative. Grafik kedua residu juga memakai skala berbeda sesuai pusat masing-masing.
  4. Residu Kecil Belum Membuktikan Keacakan: Kedua residu tidak konstan dan menunjukkan deviasi kecil. Akan tetapi, hanya tersedia dua pengamatan yang telah dikoreksi terhadap tren untuk setiap bulan kalender. Estimasi musiman menggunakan data yang sama dengan data pembentukan residu, sehingga residu kecil tidak serta-merta membuktikan white noise atau ketepatan ramalan.

2.3.1 Pemeriksaan Galat dalam Satuan yang Sama

Untuk melengkapi perbandingan SD, dihitung selisih antara data aktual dan rekonstruksi tren-musiman. Kedua selisih dinyatakan dalam satuan ribu m³ dan dihitung pada periode yang sama:

\[ u^{\mathrm{add}}_t=Z_t-(\widehat{T}_t+\widehat{S}^{\mathrm{add}}_t), \qquad u^{\mathrm{mul}}_t=Z_t-\widehat{T}_t\widehat{S}^{\mathrm{mul}}_t. \]

Untuk model additive, galat ini sama dengan residu aditif. Untuk model multiplicative, galat pada satuan asli setara dengan \(\widehat{T}_t\widehat{S}^{\mathrm{mul}}_t(\widehat{e}^{\mathrm{mul}}_t-1)\). Dengan demikian, perbandingan tidak mencampurkan rasio dengan volume produksi. Ukuran yang digunakan adalah \(\mathrm{MAE}=\mathrm{mean}(|u_t|)\), \(\mathrm{RMSE}=\sqrt{\mathrm{mean}(u_t^2)}\), dan \(\mathrm{MAPE}=\mathrm{mean}(|u_t|/Z_t)\times100\%\).

fitted_add <- dekomp_add$trend + dekomp_add$seasonal
fitted_mul <- dekomp_mul$trend * dekomp_mul$seasonal
aktual_valid <- produksi[valid_bersama]
galat_add <- as.numeric(produksi_ts[valid_bersama] - fitted_add[valid_bersama])
galat_mul <- as.numeric(produksi_ts[valid_bersama] - fitted_mul[valid_bersama])

rmse_add <- sqrt(mean(galat_add^2))
rmse_mul <- sqrt(mean(galat_mul^2))
mae_add <- mean(abs(galat_add))
mae_mul <- mean(abs(galat_mul))
mape_add <- mean(abs(galat_add) / aktual_valid) * 100
mape_mul <- mean(abs(galat_mul) / aktual_valid) * 100

stopifnot(
  max(abs(galat_add - as.numeric(residu_add[valid_bersama]))) < 1e-8,
  max(abs(galat_mul - as.numeric(fitted_mul[valid_bersama]) *
    (as.numeric(residu_mul[valid_bersama]) - 1))) < 1e-8
)

tabel_galat <- data.frame(
  Model = c("Additive", "Multiplicative"),
  MAE = fmt(c(mae_add, mae_mul), 6),
  RMSE = fmt(c(rmse_add, rmse_mul), 6),
  MAPE = paste0(fmt(c(mape_add, mape_mul), 6), "%")
)
knitr::kable(
  tabel_galat, align = "c",
  col.names = c("Model", "MAE (ribu m³)", "RMSE (ribu m³)", "MAPE Rekonstruksi (%)")
)
Model MAE (ribu m³) RMSE (ribu m³) MAPE Rekonstruksi (%)
Additive 0,397569 0,477998 0,086780%
Multiplicative 0,499953 0,551710 0,110486%

Perbandingan pada skala yang sama memperlihatkan RMSE additive sebesar 0,477998 ribu m³, lebih rendah daripada RMSE multiplicative sebesar 0,551710 ribu m³. MAE dan MAPE rekonstruksi juga lebih rendah pada model additive. Ukuran ini menilai kecocokan pada data historis yang dipakai untuk mengestimasi komponen, sehingga tidak diperlakukan sebagai hasil evaluasi ramalan pada data uji.

2.4 Pemilihan Model Berdasarkan Hasil Analisis

Berdasarkan hasil poin 1 sampai 3, model additive lebih sesuai untuk mendeskripsikan data produksi air minum PDAM Kabupaten Serang. Alasan dan batas penilaiannya adalah sebagai berikut:

  1. Besaran Fluktuasi Lebih Dekat pada Tambahan Tetap: Kenaikan April terhadap Maret hanya berubah dari 14 menjadi 15 ribu m³ dari 2023 ke 2024, sementara kenaikan Desember terhadap November berubah dari 18 menjadi 19 ribu m³. Pembesaran masing-masing hanya satu ribu m³. Rentang tahunan juga relatif tetap walaupun rata-rata produksi meningkat. Pola ini memberi dukungan awal bagi efek musiman berupa selisih volume yang relatif tetap; pemeriksaan galat pada skala asli melengkapi penilaian tersebut.
  2. Pola Bulan Tertinggi dan Terendah Konsisten: Dekomposisi multiplicative tetap menemukan Juli sebagai bulan dengan faktor tertinggi (1,062594) dan November sebagai bulan terendah (0,955638), sama dengan urutan ekstrem indeks additive pada Tugas 5. Kesamaan ini menunjukkan bahwa kedua model menangkap pola kalender, tetapi tidak menjadi alasan tersendiri untuk memilih model multiplicative.
  3. Rekonstruksi Additive Memiliki Galat Lebih Rendah: Pada 24 periode yang sama dan satuan yang sama, RMSE additive sebesar 0,477998 ribu m³ lebih rendah daripada RMSE multiplicative sebesar 0,551710 ribu m³. MAE dan MAPE memberikan arah perbandingan yang sama. Bukti ini mendukung pola visual, sedangkan angka SD mentah tidak digunakan untuk menentukan pemenang karena satuannya berbeda.
  4. Keputusan Merupakan Penilaian Deskriptif: Kedua model memiliki galat rekonstruksi yang kecil dan hanya didasarkan pada tiga tahun data. Pilihan additive berlaku untuk rangkuman historis pada dataset ini; keunggulan peramalan belum diuji. Deret yang lebih panjang dan evaluasi ramalan pada data yang tidak digunakan dalam estimasi diperlukan untuk menilai kestabilan serta kemampuan prediksi model.

Kesimpulan Tugas 6

Berdasarkan dekomposisi volume produksi air minum PDAM Kabupaten Serang periode Januari 2022 sampai Desember 2024 menggunakan data yang sama dengan Tugas 5, diperoleh kesimpulan sebagai berikut:

  1. Perubahan Fluktuasi: Kenaikan April terhadap Maret bertambah dari 14 menjadi 15 ribu m³ dari 2023 ke 2024. Kenaikan Desember terhadap November bertambah dari 18 menjadi 19 ribu m³. Keduanya membesar hanya satu ribu m³, sementara rentang tahunan relatif tetap meskipun level produksi meningkat.
  2. Faktor Musiman: Model multiplicative menghasilkan 12 faktor dengan rata-rata satu. Juli memiliki faktor tertinggi (1,062594, atau 6,259% di atas tren), sedangkan November memiliki faktor terendah (0,955638, atau 4,436% di bawah tren).
  3. Perbandingan Residu: SD residu multiplicative sebesar 0,001249 pada skala rasio, sedangkan SD residu additive sebesar 0,486262 ribu m³. Perbandingan yang disamakan satuannya memberikan RMSE additive 0,477998 ribu m³ dan RMSE multiplicative 0,551710 ribu m³.
  4. Model yang Dipilih: Model additive lebih sesuai untuk merangkum data ini karena ayunan nominal relatif tetap dan galat rekonstruksi pada satuan asli lebih rendah. Keputusan ini konsisten dengan hasil Tugas 5 dan belum merupakan bukti keunggulan ramalan di luar sampel.

Sumber Data dan Metode

  • Materi Pertemuan 6, Konsep Dekomposisi dan Model Additive (Analisis Deret Waktu), halaman 17: Latihan Pendalaman Materi, sumber seluruh 36 data produksi air minum PDAM Kabupaten Serang yang digunakan pada Tugas 5 dan Tugas 6 ini.
  • Materi Pertemuan 7, Dekomposisi Model Multiplicative (Analisis Deret Waktu), halaman 13: acuan empat pertanyaan dan metode Tugas 6, dengan penerapan pada data produksi air PDAM dari Tugas 5.
  • R Core Team, Classical Seasonal Decomposition by Moving Averages: dokumentasi fungsi stats::decompose().