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?
# 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.
## [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 |
##
## 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.