Data Suhu Udara Kota Cilegon

Data suhu udara rata-rata bulanan Kota Cilegon periode Januari 2023 hingga Desember 2024 (dalam \(^\circ\text{C}\)):

# Input data bulanan
suhu_2023 <- c(27.8, 27.9, 28.3, 28.9, 29.1, 28.6, 28.0, 28.1, 28.4, 28.7, 28.2, 27.9)
suhu_2024 <- c(28.0, 28.1, 28.6, 29.2, 29.4, 28.8, 28.2, 28.3, 28.6, 28.9, 28.4, 28.1)
bulan <- c("Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des")

# Tabel data
tabel_suhu <- rbind("2023" = suhu_2023, "2024" = suhu_2024)
colnames(tabel_suhu) <- bulan
kable(tabel_suhu)
Jan Feb Mar Apr Mei Jun Jul Agu Sep Okt Nov Des
2023 27.8 27.9 28.3 28.9 29.1 28.6 28.0 28.1 28.4 28.7 28.2 27.9
2024 28.0 28.1 28.6 29.2 29.4 28.8 28.2 28.3 28.6 28.9 28.4 28.1

Soal 1: Objek ts dan Plot Runtun Waktu

Objek deret waktu (ts) dibuat dengan menggabungkan data tahun 2023 dan 2024, dimulai dari Januari 2023 dengan frekuensi 12 (bulanan).

# Membuat objek time series
suhu_ts <- ts(c(suhu_2023, suhu_2024), start = c(2023, 1), frequency = 12)

# Membuat plot runtun waktu
plot(suhu_ts, 
     type = "o", 
     pch = 19, 
     col = "#1e40af", 
     lwd = 2,
     ylim = c(27.5, 29.8),
     main = "Runtun Waktu Suhu Udara Kota Cilegon (2023–2024)",
     xlab = "Bulan", 
     ylab = "Suhu Udara (°C)",
     xaxt = "n")

# Label sumbu X per bulan
waktu_label <- c("Jan 23", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des",
                 "Jan 24", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des")
axis(1, at = seq(2023, 2024 + 11/12, by = 1/12), labels = waktu_label, las = 2, cex.axis = 0.8)
grid(col = "#cbd5e1", lty = "dotted")

# Garis tren linear
abline(lm(suhu_ts ~ time(suhu_ts)), col = "#dc2626", lty = 2, lwd = 2)

# Legenda
legend("topleft", legend = c("Data Aktual", "Garis Tren"), 
       col = c("#1e40af", "#dc2626"), pch = c(19, NA), lty = c(1, 2), lwd = 2, bty = "n")

Penjelasan:

Dari grafik runtun waktu di atas terlihat bahwa: 1. Suhu udara rata-rata bulanan Kota Cilegon berfluktuasi antara \(27{,}8^\circ\text{C}\) hingga \(29{,}4^\circ\text{C}\). 2. Pola pergerakan suhu antar-tahun sangat konsisten dan berulang teratur: suhu terendah terjadi di awal tahun (Januari–Februari), kemudian meningkat mencapai puncak tertinggi pada bulan Mei (\(29{,}1^\circ\text{C}\) di 2023 dan \(29{,}4^\circ\text{C}\) di 2024), sedikit menurun di pertengahan tahun (Juli), lalu mengalami kenaikan sekunder di bulan Oktober (\(28{,}7^\circ\text{C}\) di 2023 dan \(28{,}9^\circ\text{C}\) di 2024). 3. Garis tren menunjukkan sedikit kemiringan positif yang sangat landai, di mana suhu tahun 2024 hanya bergeser naik tipis sekitar \(0{,}2^\circ\text{C}\) dibandingkan tahun 2023.


Soal 2: Rata-Rata dan Variansi Data per Tahun

Perhitungan nilai rata-rata dan variansi data suhu udara untuk masing-masing tahun:

# Menghitung rata-rata dan variansi per tahun
tahun <- rep(2023:2024, each = 12)
rata_rata <- tapply(c(suhu_2023, suhu_2024), tahun, mean)
variansi  <- tapply(c(suhu_2023, suhu_2024), tahun, var)

# Tabel ringkasan
ringkasan_tahunan <- data.frame(
  Tahun = c("2023", "2024"),
  Rata_Rata = round(rata_rata, 4),
  Variansi  = round(variansi, 4)
)
kable(ringkasan_tahunan)
Tahun Rata_Rata Variansi
2023 2023 28.325 0.1784
2024 2024 28.550 0.2045

Penjelasan:

Apakah keduanya relatif stabil?

Ya, keduanya relatif sangat stabil.

  1. Rata-rata: Rata-rata suhu tahun 2023 adalah \(28{,}3250^\circ\text{C}\) dan tahun 2024 adalah \(28{,}5500^\circ\text{C}\). Selisih perubahannya hanya sebesar \(0{,}2250^\circ\text{C}\) (perubahan kurang dari \(1\%\)), yang menunjukkan rataan suhu dari tahun ke tahun berada pada level yang konstan dan stabil.
  2. Variansi: Variansi suhu tahun 2023 sebesar \(0{,}1784\) dan tahun 2024 sebesar \(0{,}2045\). Selisih variansi sangat kecil (\(0{,}0261\)), yang menandakan bahwa besarnya variasi atau rentang sebaran fluktuasi suhu udara antar-tahun relatif seragam (homogen).

Soal 3: Hitung dan Plot ACF hingga Lag 12

Perhitungan fungsi autokorelasi (ACF) dan visualisasi correlogram hingga lag 12:

# Menghitung dan memplot ACF hingga lag 12
acf_suhu <- acf(suhu_ts, lag.max = 12, 
                main = "Correlogram (Plot ACF) Suhu Udara Kota Cilegon",
                col = "#1e40af", lwd = 2)
grid(col = "#cbd5e1", lty = "dotted")

# Tabel nilai ACF
tabel_acf <- data.frame(
  Lag = 0:12,
  ACF = round(as.vector(acf_suhu$acf), 4)
)
kable(tabel_acf)
Lag ACF
0 1.0000
1 0.5405
2 -0.1946
3 -0.4994
4 -0.2503
5 0.1263
6 0.1747
7 -0.0559
8 -0.2895
9 -0.3097
10 -0.0336
11 0.3074
12 0.4303

Penjelasan:

Apakah pola ACF turun cepat, lambat, atau berulang periodik?

Pola ACF tersebut adalah berulang secara periodik (bergelombang / osilasi).

Alasannya: 1. Nilai ACF tidak langsung turun cepat menuju nol (seperti pada proses white noise murni). 2. Nilai ACF juga tidak meluruh sangat lambat secara linear dari 1 menuju 0 (bukan non-stasioner akibat tren kuat/akar unit). 3. Nilai ACF membentuk pola gelombang periodik yang khas: bernilai positif tinggi di lag 1 (\(0{,}5405\)), kemudian turun ke nilai negatif di lag 3 (\(-0{,}4994\)), berangsur naik kembali mendekati nol di sekitar lag 6, lalu berayun naik hingga kembali positif signifikan pada lag 12 (\(0{,}4303\)). Pola berulang tiap 12 lag ini mencerminkan adanya komponen musiman tahunan (periode 12 bulan) yang berulang secara teratur.


Soal 4: Uji Signifikansi \(r_k\) dan Box-Pierce serta Kesimpulan Kestasioneran

Uji Signifikansi \(r_k\)

Pengujian signifikansi individual nilai \(r_k\) dilakukan dengan membandingkan nilai autokorelasi terhadap batas kritis \(\pm 1{,}96/\sqrt{n}\), di mana \(n = 24\) sehingga batas signifikansinya adalah \(\pm 1{,}96/\sqrt{24} \approx \pm 0{,}4001\).

# Uji signifikansi individual r_k
n <- length(suhu_ts)
batas_kritis <- 1.96 / sqrt(n)
r_k <- as.vector(acf_suhu$acf)[-1] # lag 1 sampai 12

uji_rk <- data.frame(
  Lag = 1:12,
  r_k = round(r_k, 4),
  Batas_Kritis = round(batas_kritis, 4),
  Signifikan = ifelse(abs(r_k) > batas_kritis, "Ya (Signifikan)", "Tidak")
)
kable(uji_rk)
Lag r_k Batas_Kritis Signifikan
1 0.5405 0.4001 Ya (Signifikan)
2 -0.1946 0.4001 Tidak
3 -0.4994 0.4001 Ya (Signifikan)
4 -0.2503 0.4001 Tidak
5 0.1263 0.4001 Tidak
6 0.1747 0.4001 Tidak
7 -0.0559 0.4001 Tidak
8 -0.2895 0.4001 Tidak
9 -0.3097 0.4001 Tidak
10 -0.0336 0.4001 Tidak
11 0.3074 0.4001 Tidak
12 0.4303 0.4001 Ya (Signifikan)

Uji Box-Pierce

Uji Box-Pierce digunakan untuk menguji signifikansi autokorelasi hingga lag 12 secara serentak:

# Uji Box-Pierce pada lag 12
Box.test(suhu_ts, lag = 12, type = "Box-Pierce")
## 
##  Box-Pierce test
## 
## data:  suhu_ts
## X-squared = 27.653, df = 12, p-value = 0.006215

Penjelasan dan Kesimpulan Kestasioneran:

  1. Hasil Uji Signifikansi \(r_k\): Terdapat 3 lag yang signifikan (menembus batas kritis \(\pm 0{,}4001\)), yaitu:

    • Lag 1 (\(r_1 = 0{,}5405\)): Signifikan positif, menunjukkan suhu bulan berjalan memiliki keterikatan kuat dengan 1 bulan sebelumnya.
    • Lag 3 (\(r_3 = -0{,}4994\)): Signifikan negatif, merefleksikan perubahan pola antar-musim dengan jeda kuartalan (3 bulan).
    • Lag 12 (\(r_{12} = 0{,}4303\)): Signifikan positif, membuktikan keterikatan kuat siklus tahunan (bulan yang sama di tahun berikutnya).
  2. Hasil Uji Box-Pierce: Diperoleh nilai statistik \(X\text{-squared} = 27{,}653\) dengan \(df = 12\) dan \(p\text{-value} = 0{,}006215\). Karena \(p\text{-value} < 0{,}05\), maka keputusan adalah Tolak \(H_0\). Ini berarti data tidak bersifat white noise dan secara keseluruhan memiliki autokorelasi serial yang signifikan.

  3. Kesimpulan Kestasioneran: > Data suhu udara Kota Cilegon dapat dikategorikan sebagai DATA STASIONER LEMAH (WEAKLY STATIONARY) DENGAN POLA MUSIMAN.

    Alasannya:

    • Kestabilan Rataan dan Ragam: Sebagaimana hasil pada Soal 2, nilai rata-rata dan variansi data per tahun terbukti relatif stabil sepanjang waktu dan tidak memiliki tren jangka panjang yang mendominasi.
    • Sifat Autokorelasi Musiman: Mengacu pada materi perkuliahan, pola ACF yang berulang periodik dan hasil uji Box-Pierce yang menolak \(H_0\) bukan berarti data tersebut non-stasioner karena tren/varians meledak, melainkan karena data memiliki ketergantungan musiman yang kuat (seasonal dependency). Data musiman yang rata-rata dan variasinya tetap stabil dari tahun ke tahun tetap dapat dikategorikan sebagai stasioner lemah.