Analisis Sistem Waktu: Panduan untuk Pemula

Hai sana, para ahli data masa depan! Saya sangat gembira untuk membawa Anda ke dalam perjalanan menarik melalui dunia Analisis Sistem Waktu menggunakan R. Sebagai orang yang telah mengajar ilmu komputer selama tahun-tahun yang saya enggan mengakui ( mari katakan saja saya ingat saat disket masih benar-benar fleksibel), saya telah melihat banyak siswa bertransformasi dari pemula sepenuhnya menjadi analis yang Percaya diri. Jadi, jangan khawatir jika Anda baru dalam pemrograman - kita akan mulai dari dasar-dasar dan bekerja bersama menuju atas.

R - Time Series Analysis

Apa Itu Analisis Sistem Waktu?

Sebelum kita masuk ke kode R, mari berbicara tentang apa sebenarnya Analisis Sistem Waktu. Bayangkan Anda melacak jumlah es krim yang dijual di toko lokal Anda setiap hari selama setahun. Itu adalah sistem waktu! Itu hanya sebuah urutan titik data yang diukur sepanjang waktu. Analisis Sistem Waktu membantu kita memahami pola, tren, dan membuat prediksi berdasarkan data historis ini.

Sekarang, mari kita merusak tangan dengan beberapa kode R!

Memulai dengan R

Pertama-tama, kita perlu menginstal R dan RStudio. Bayangkan R sebagai mesin dan RStudio sebagai dashboard mewah yang membuat mengemudi lebih mudah. Setelah Anda menginstal keduanya, buka RStudio, dan mari kita mulai!

# Ini adalah komentar di R. Itu tidak mempengaruhi kode, tapi membantu kita manusia memahami apa yang sedang berlangsung!

# Mari kita buat sistem waktu sederhana
sales <- c(100, 120, 140, 160, 180)
dates <- as.Date(c("2023-01-01", "2023-01-02", "2023-01-03", "2023-01-04", "2023-01-05"))

# Sekarang, mari kita gabungkannya menjadi objek sistem waktu
ts_data <- ts(sales, start = c(2023, 1), frequency = 365)

# Mari kita lihat apa yang kita buat
print(ts_data)

Dalam contoh ini, kita telah membuat sistem waktu sangat sederhana dari data penjualan harian. Fungsi c() digunakan untuk membuat vektor (bayangkan sebagai daftar) nilai. Kemudian kita gunakan fungsi ts() untuk membuat objek sistem waktu, menentukan kapan itu dimulai dan seberapa sering kita mengukur (setiap hari, dalam kasus ini).

Interval Waktu yang Berbeda

Sekarang, mari kita bicarakan tentang interval waktu yang berbeda. Data sistem waktu bisa harian, bulanan, triwulanan, atau interval lainnya yang Anda bisa bayangkan. R cukup fleksibel untuk menangani semua ini. Mari kita lihat beberapa contoh:

# Data bulanan
monthly_data <- ts(1:24, start = c(2022, 1), frequency = 12)

# Data triwulanan
quarterly_data <- ts(1:8, start = c(2022, 1), frequency = 4)

# Data tahunan
yearly_data <- ts(1:10, start = 2013)

# Mari kita cetaknya
print(monthly_data)
print(quarterly_data)
print(yearly_data)

Dalam contoh ini, kita membuat sistem waktu dengan frekuensi yang berbeda. Untuk data bulanan, kita gunakan frequency = 12 (12 bulan dalam setahun), untuk data triwulanan itu frequency = 4 (4 triwulan dalam setahun), dan untuk data tahunan, kita tidak perlu menentukan frekuensi.

Visualisasi Sistem Waktu

Mereka mengatakan bahwa gambar berharga ribuan kata, dan dalam analisis data, ini sungguh benar. Mari kita visualisasikan sistem waktu kita:

# Pertama, mari kita buat dataset yang lebih menarik
set.seed(123)  # Ini memastikan kita semua mendapatkan "acak" yang sama
sales <- 100 + cumsum(rnorm(100))  # Penjumlahan kumulatif dari bilangan acak
dates <- seq(as.Date("2023-01-01"), by = "day", length.out = 100)
ts_data <- ts(sales, start = c(2023, 1), frequency = 365)

# Sekarang, mari kita plotnya
plot(ts_data, main = "Penjualan Harian", xlab = "Tanggal", ylab = "Penjualan")

Kode ini membuat dataset penjualan yang tampak lebih realistis dengan sedikit keacakan, kemudian mengplotnya. Fungsi plot() adalah cara cepat dan mudah untuk visualisasi sistem waktu Anda.

Sistem Waktu Ganda

Dalam dunia nyata, kita sering ingin menganalisis sistem waktu ganda bersamaan. Mari kita buat dan visualisasikan sistem waktu ganda:

# Buat dua sistem waktu
set.seed(123)
sales_A <- 100 + cumsum(rnorm(100))
sales_B <- 120 + cumsum(rnorm(100))

# Gabungkannya menjadi sistem waktu ganda
multi_ts <- ts(cbind(sales_A, sales_B), start = c(2023, 1), frequency = 365)

# Plot kedua sistem waktu
plot(multi_ts, main = "Perbandingan Penjualan", xlab = "Tanggal", ylab = "Penjualan", col = c("blue", "red"))
legend("topleft", legend = c("Produk A", "Produk B"), col = c("blue", "red"), lty = 1)

Di sini, kita membuat dua sistem waktu dan menggabungkannya menggunakan cbind(). Kemudian kita plot mereka bersamaan, menggunakan warna yang berbeda untuk membedakan antara sistem.

Metode Analisis Sistem Waktu Umum

Sekarang kita telah menutup dasar-dasar, mari kita lihat beberapa metode umum yang digunakan dalam Analisis Sistem Waktu. Berikut adalah tabel yang menyajikan metode ini:

Metode Deskripsi Fungsi R
Moving Average Menghaluskan fluktuasi pendek ma() dari paket forecast
Exponential Smoothing Memberikan bobot yang lebih besar pada observasi terbaru ets() dari paket forecast
ARIMA Autoregressive Integrated Moving Average arima() atau auto.arima()
Decomposition Memecah series menjadi komponen tren, musiman, dan residual decompose() atau stl()

Mari kita mencoba salah satu metode ini - decomposisi:

# Decomposisi sistem waktu kita
decomposed <- decompose(ts_data)

# Plot decomposisi
plot(decomposed)

Decomposisi ini memecah sistem waktu kita menjadi tiga komponen: tren, musiman, dan acak. Itu adalah cara bagus untuk memahami pola dasar dalam data Anda.

Kesimpulan

Selamat! Anda baru saja mengambil langkah pertama ke dalam dunia menarik Analisis Sistem Waktu dengan R. Kita telah menutup dasar-dasar membuat, visualisasi, dan analisis data sistem waktu. Ingat, seperti belajar keterampilan baru, latihan membuat sempurna. Jangan takut untuk mencoba dataset dan metode yang berbeda.

Dalam tahun-tahun mengajar saya, saya menemukan bahwa siswa yang sukses adalah mereka yang mendekati setiap masalah dengan kecurigaan dan kekerasan. Jadi, terus menjelajahi, tetap bertanya, dan terutama, terus mengoding!

Credits: Image by storyset