Memuat
Memuat
ARIMA Box-Jenkins untuk Pendidikan dan Pembelajaran
0 kali dilihat
Memodelkan dan meramalkan kunjungan portal bulanan dengan ARIMA Box-Jenkins (analisis diilustrasikan dengan data sintetis). ARIMA Box-Jenkins memodelkan deret waktu dari nilai masa lalu (AR), selisih (I), dan galat masa lalu (MA), termasuk komponen musiman, untuk menghasilkan ramalan beserta interval. Cocok untuk skripsi dan tesis peramalan data bulanan seperti penjualan, produksi, harga, atau jumlah kunjungan.

Memodelkan dan meramalkan kunjungan portal bulanan dengan ARIMA Box-Jenkins (analisis diilustrasikan dengan data sintetis).
| Peran | Variabel | Satuan |
|---|---|---|
| Utama | Kunjungan portal bulanan | visits |
| Pendukung 1 | Jumlah mata kuliah daring | count |
| Pendukung 2 | Hari kuliah efektif | days |
Model terpilih ARIMA(1,0,0)(1,1,0)[12] untuk Kunjungan portal bulanan menghasilkan MAPE 2.16% dan RMSE 1.051 pada 12 bulan data uji. Uji Ljung-Box (p = 0.194) menunjukkan residual sudah white noise. Ramalan bulan berikutnya sebesar 40.21.
Dihitung dari data sintetis sebagai ilustrasi, bukan dari penelitian nyata.
ARIMA Box-Jenkins memodelkan deret waktu dari nilai masa lalu (AR), selisih (I), dan galat masa lalu (MA), termasuk komponen musiman, untuk menghasilkan ramalan beserta interval. Cocok untuk skripsi dan tesis peramalan data bulanan seperti penjualan, produksi, harga, atau jumlah kunjungan.
Laporkan orde model terpilih, koefisien, dan AICc, lalu hasil uji Ljung-Box residual. Nilai MAPE pada data uji menunjukkan ketepatan ramalan (di bawah 10% umumnya sangat baik); sajikan grafik ramalan dengan interval 95%.
Skrip awal singkat dengan nama variabel proyek ini. Versi yang diserahkan disesuaikan dengan data Anda dan diberi komentar lengkap.
# Contoh kode R: ARIMA (Box-Jenkins)
suppressPackageStartupMessages({
library(ggplot2)
library(patchwork)
library(forecast)
})
set.seed(42)
# ---- Gaya grafik ----
pal <- c("#1f6feb", "#e8590c", "#2f9e44", "#ae3ec9", "#f59f00")
warna <- list(bg = "#f4f6fa", panel = "#ffffff", teks = "#1f2933", redup = "#5f6b78", grid = "#e3e8ee", bar = "#1d3557")
tata <- 1
theme_set(theme_minimal(base_size = 11) + theme(legend.position = "bottom"))
# ---- Data sintetis: deret bulanan 8 tahun ----
bulan <- seq(as.Date("2017-01-01"), by = "month", length.out = 96)
tt <- seq_along(bulan)
musim <- sin(2 * pi * tt / 12 + runif(1, 0, 2 * pi)) * runif(1, 0.3, 0.8)
galat <- as.numeric(arima.sim(list(ar = runif(1, 0.3, 0.7)), n = 96, sd = 0.35))
z <- runif(1, 0.008, 0.02) * tt + musim + galat
d <- data.frame(bulan = bulan, monthly_portal_visits = round(100 + 15 * 0.6 * (z - mean(z)), 3))
write.csv(d, "data_contoh.csv", row.names = FALSE)
# ---- Analisis: ARIMA Box-Jenkins (identifikasi otomatis + evaluasi out-of-sample) ----
y <- ts(d$monthly_portal_visits, start = c(2017, 1), frequency = 12)
latih <- window(y, end = c(2023, 12))
uji <- window(y, start = c(2024, 1))
fit <- auto.arima(latih, stepwise = TRUE, approximation = FALSE)
print(summary(fit))
fc <- forecast(fit, h = length(uji))
ak <- accuracy(fc, uji)
print(ak)
lb <- Box.test(residuals(fit), lag = 12, type = "Ljung-Box", fitdf = length(coef(fit)))
print(lb)
ord <- arimaorder(fit)
label_model <- sprintf("ARIMA(%d,%d,%d)%s", ord[1], ord[2], ord[3],
if (length(ord) > 3) sprintf("(%d,%d,%d)[12]", ord[4], ord[5], ord[6]) else "")
fit_all <- Arima(y, model = fit) # model yang sama untuk peramalan 12 bulan ke depan
fc12 <- forecast(fit_all, h = 12)
# ---- Grafik ----
dd <- data.frame(t = as.numeric(time(y)), y = as.numeric(y), bagian = ifelse(time(y) >= 2024, "Test", "Training"))
df <- data.frame(t = as.numeric(time(fc$mean)), m = as.numeric(fc$mean),
lo = as.numeric(fc$lower[, 2]), hi = as.numeric(fc$upper[, 2]))
p1 <- ggplot() +
geom_ribbon(data = df, aes(t, ymin = lo, ymax = hi), fill = pal[2], alpha = 0.2) +
geom_line(data = dd, aes(t, y, colour = bagian), linewidth = 0.8) +
geom_line(data = df, aes(t, m, colour = "Forecast"), linewidth = 1, linetype = "dashed") +
scale_colour_manual(values = c(Training = pal[1], Test = warna$teks, Forecast = pal[2]), name = NULL) +
labs(title = paste(label_model, "forecast vs test data (95% interval)"), x = "Year", y = "monthly_portal_visits")
ac <- acf(residuals(fit), lag.max = 24, plot = FALSE)
da <- data.frame(lag = as.numeric(ac$lag[-1]) * 12, acf = as.numeric(ac$acf[-1]))
batas <- 1.96 / sqrt(length(residuals(fit)))
p2 <- ggplot(da, aes(lag, acf)) +
geom_hline(yintercept = c(-batas, batas), linetype = "dashed", colour = pal[2]) +
geom_hline(yintercept = 0, colour = warna$redup) +
geom_segment(aes(xend = lag, yend = 0), colour = pal[1], linewidth = 1) +
labs(title = "Residual ACF", x = "Lag (months)", y = "ACF")
p3 <- ggplot(data.frame(r = as.numeric(residuals(fit))), aes(r)) +
geom_histogram(aes(y = after_stat(density)), bins = 18, fill = pal[3], colour = warna$panel, alpha = 0.85) +
geom_density(colour = pal[2], linewidth = 0.9) +
labs(title = "Residual distribution", x = "Residual", y = "Density")
p_hasil <- if (tata == 1) p1 / (p2 | p3) + plot_layout(heights = c(1.3, 1)) else p1 / (p2 | p3)
print(p_hasil)
Berkas proyek aslinya tersedia. Bukan sekadar gambar di atas: Anda mendapat proyek R yang siap dijalankan. Berkas bisa diunduh setelah pembayaran, dan kami kirim lewat WhatsApp atau email.
ZIP: analisis.R + data_contoh.csv + BACA-DULU.txt
Pilih seberapa banyak bantuan yang Anda perlukan. Setiap paket yang lebih tinggi sudah mencakup semua item paket di bawahnya. Harga belum termasuk PPN 11%.
Paket 1
Rp 400.000
belum termasuk PPN 11%
Waktu pengerjaan: 5 hari kerja
Output: Berkas R + gambar hasil
Yang Anda terima
Paket 2 · paling dipilih
Rp 1.100.000
belum termasuk PPN 11%
Waktu pengerjaan: 9 hari kerja
Output: Kode + analisis + bahan interpretasi
Termasuk semua item Paket 1, ditambah
Paket 3
Rp 2.450.000
belum termasuk PPN 11%
Waktu pengerjaan: 14-17 hari kerja
Output: Kode + analisis + pendampingan hingga siap dipresentasikan
Termasuk semua item Paket 1 & 2, ditambah
Ya. Berkas proyek aslinya berupa ZIP berisi skrip analisis.R lengkap, data_contoh.csv, dan petunjuk BACA-DULU.txt. Berkas bisa diunduh setelah pembayaran, dan kami kirim lewat WhatsApp atau email. Untuk data Anda sendiri (Paket 2 dan 3), skrip disesuaikan dengan dataset Anda.
Cocok. ARIMA Box-Jenkins lazim dipakai pada jenjang ini di bidang Pendidikan dan Pembelajaran. Analisis kami sesuaikan dengan pertanyaan penelitian, data Anda sendiri, dan ketentuan dosen pembimbing.
Bukan. Lembar hasil dihitung dari data sintetis sebagai ilustrasi jenis keluaran R Studio. Untuk pesanan Anda, metode yang sama dijalankan pada data penelitian Anda sendiri.
Itu tujuan paketnya. Setiap skrip diberi komentar, dan Paket 3 mencakup dua sesi pendampingan serta latihan tanya jawab supaya Anda bisa menjelaskan metode dan hasilnya saat seminar dan sidang.
Tiap proyek punya tiga paket: Paket 1 (kode dan penjelasan) Rp 400.000, Paket 2 (analisis data Anda dan interpretasi) Rp 1.100.000, dan Paket 3 (pendampingan lengkap) Rp 2.450.000, belum termasuk PPN 11%. Data yang besar, metode tambahan, atau tenggat ketat menyesuaikan penawaran setelah konsultasi singkat.
Lembar hasil memakai data sintetis sebagai ilustrasi. R adalah bahasa pemrograman proyek R Foundation; RStudio dan Posit adalah merek dagang Posit PBC.
Kembali ke portofolio R Studio