Analisis Deret Waktu

Stasioneritas Suhu Udara Kota Cilegon (Jan 2023 - Des 2024)

Data

Berikut data suhu udara rata-rata bulanan Kota Cilegon periode Januari 2023–Desember 2024 (°C):

# Data suhu udara rata-rata bulanan Kota Cilegon (°C) tahun 2023-2024
suhu <- 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,
          28.0,28.1,28.6,29.2,29.4,28.8,28.2,28.3,28.6,28.9,28.4,28.1)

# Membuat nama bulan dan tahun
bulan <- rep(month.abb, 2)
tahun <- rep(c(2023, 2024), each = 12)
label_x <- paste(bulan, tahun)

df <- data.frame(
  Tahun = tahun,
  Bulan = factor(bulan, levels = month.abb),
  Suhu  = suhu
)

# Menampilkan tabel
knitr::kable(
  matrix(suhu, nrow = 2, byrow = TRUE,
         dimnames = list(c("2023", "2024"), month.abb))
)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
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

1. Buat objek ts dan plot runtun waktu dari data suhu tersebut.

# Membuat data menjadi objek time series
suhu_ts <- ts(suhu, start = c(2023, 1), frequency = 12)
suhu_ts
##       Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
## 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
# Plot runtun waktu
plot(suhu_ts, type="o", pch=16, col="steelblue4", lwd=2,
     main="Suhu Udara Rata-rata Kota Cilegon\nJanuari 2023 - Desember 2024",
     xlab="Waktu (Tahun)",
     ylab="Suhu (°C)")

# Menambahkan keterangan data
legend("topleft", legend="Data",
       col="steelblue4", lwd=2, pch=16, bty="n")

# Menambahkan garis bantu
grid()

Interpretasi: Berdasarkan grafik, suhu udara Kota Cilegon selama Januari 2023–Desember 2024 mengalami naik turun setiap bulannya. Suhu cenderung naik dari awal tahun hingga mencapai puncak sekitar bulan Mei, kemudian menurun kembali sampai akhir tahun. Pola naik-turun ini berulang pada tahun 2023 dan 2024, sehingga dapat dikatakan data memiliki pola musiman. Suhu tertinggi terlihat pada Mei 2024 (±29,4°C), sedangkan suhu terendah berada di awal tahun 2023 (±27,8°C).

2. Hitung rata-rata dan variansi data per tahun. Apakah keduanya relatif stabil?

# Membuat vektor tahun sesuai urutan data suhu (12 bulan per tahun)
tahun <- rep(2023:2024, each = 12)

# Menghitung rata-rata dan variansi suhu per tahun
tapply(suhu, tahun, mean); tapply(suhu, tahun, var)
##   2023   2024 
## 28.325 28.550
##      2023      2024 
## 0.1784091 0.2045455
# tampilkan dalam bentuk tabel
rata2  <- tapply(suhu, tahun, mean)
varian <- tapply(suhu, tahun, var)

knitr::kable(data.frame(Tahun = names(rata2), Rata2 = round(rata2,3), Variansi = round(varian,4)),
             row.names = FALSE)
Tahun Rata2 Variansi
2023 28.325 0.1784
2024 28.550 0.2045

Interpretasi: Berdasarkan hasil perhitungan, rata-rata suhu tahun 2023 adalah 28,325°C, sedangkan tahun 2024 sebesar 28,550°C. Nilainya tidak jauh berbeda, sehingga rata-rata suhu kedua tahun tersebut relatif stabil.Untuk variansi, tahun 2023 sebesar 0,1784 dan tahun 2024 sebesar 0,2045. Variansi tahun 2024 sedikit lebih besar, artinya suhu pada tahun 2024 sedikit lebih bervariasi dibandingkan tahun 2023. Jadi, rata-rata dan variansi suhu dari 2023 ke 2024 masih tergolong relatif stabil.

3. Hitung dan plot ACF hingga lag 12. Apakah pola ACF turun cepat, lambat, atau berulang periodik?

# Menghitung dan memplot ACF (correlogram) hingga lag 12
acf(suhu_ts, lag.max = 12)

# Ditampilkan dalam bentuk tabel
acf_hasil <- acf(suhu_ts, lag.max = 12, plot = FALSE)   # hitung ACF tanpa nge-plot

# Membuat tabel ACF horizontal (lag sebagai kolom)
tabel_acf <- matrix(round(as.numeric(acf_hasil$acf), 3), nrow = 1,
                     dimnames = list("r_k", paste0("Lag ", 0:12)))

knitr::kable(tabel_acf)
Lag 0 Lag 1 Lag 2 Lag 3 Lag 4 Lag 5 Lag 6 Lag 7 Lag 8 Lag 9 Lag 10 Lag 11 Lag 12
r_k 1 0.541 -0.195 -0.499 -0.25 0.126 0.175 -0.056 -0.29 -0.31 -0.034 0.307 0.43

Interpretasi: Berdasarkan grafik dan tabel ACF, nilai ACF pada lag 1 sebesar 0,541, kemudian turun menjadi negatif pada lag 2 hingga lag 4. Setelah itu, nilai ACF kembali naik dan turun pada lag berikutnya. Hal ini menunjukkan bahwa pola ACF tidak menurun secara terus-menerus, tetapi mengalami naik-turun atau berosilasi. Jadi, ACF pada data suhu cenderung menunjukkan pola berulang/periodik.

4. Terapkan uji signifikansi 𝑟𝑘 dan Box-Pierce. Simpulkan apakah data ini dapat dikategorikan stasioner, dan jelaskan alasannya.

# Uji signifikansi r_k (batas kepercayaan 95%)
n <- length(suhu)
batas <- 1.96/sqrt(n)
batas
## [1] 0.4000833
# Cek lag mana yang signifikan
acf_suhu <- acf(suhu_ts, lag.max = 12, plot = FALSE)
nilai_acf <- as.numeric(acf_suhu$acf[-1])

hasil_signifikansi <- data.frame(
  Lag = 1:12,
  ACF = round(nilai_acf, 3),
  Batas_95 = round(batas, 3),
  Signifikansi = abs(nilai_acf) > batas
)

knitr::kable(hasil_signifikansi)
Lag ACF Batas_95 Signifikansi
1 0.541 0.4 TRUE
2 -0.195 0.4 FALSE
3 -0.499 0.4 TRUE
4 -0.250 0.4 FALSE
5 0.126 0.4 FALSE
6 0.175 0.4 FALSE
7 -0.056 0.4 FALSE
8 -0.290 0.4 FALSE
9 -0.310 0.4 FALSE
10 -0.034 0.4 FALSE
11 0.307 0.4 FALSE
12 0.430 0.4 TRUE
# Uji Box-Pierce
Box.test(suhu, lag = 12, type = "Box-Pierce")
## 
##  Box-Pierce test
## 
## data:  suhu
## X-squared = 27.653, df = 12, p-value = 0.006215

Interpretasi: Berdasarkan uji signifikansi \(r_k\), batas signifikansi 95% adalah ±0,400. Nilai ACF yang melewati batas tersebut terdapat pada lag 1 (0,541), lag 3 (-0,499), dan lag 12 (0,430), sehingga ketiga lag tersebut signifikan. Selain itu, uji Box-Pierce menghasilkan p-value sebesar 0,006215. Karena p-value < 0,05, maka H0 ditolak, artinya data bukan white noise. White noise berarti data yang bergerak secara acak dan tidak memiliki hubungan atau pola antarwaktu. Jadi, pada data suhu masih terdapat autokorelasi atau pola antarwaktu.

Namun, hasil uji ini tidak secara langsung menentukan stasioner atau tidaknya data. Dari hasil sebelumnya, rata-rata dan variansi suhu tahun 2023 dan 2024 relatif stabil serta tidak terlihat tren yang terus meningkat atau menurun.Jadi, data suhu dapat dianggap relatif stasioner, tetapi masih memiliki pola musiman.

Kesimpulan Akhir

Dari hasil analisis di atas, rata-rata dan variansi suhu antar tahun relatif stabil, tapi ACF menunjukkan pola musiman dengan autokorelasi signifikan di lag 1, 3, dan 12 (Box-Pierce menolak H0, p=0,006215). Jadi, data suhu Kota Cilegon ini tergolong stasioner lemah dengan pola musiman.