ID (Indonesia) Translation

Selamat datang, para ahli data masa depan! Saya sangat senang untuk membawa Anda dalam perjalanan menarik melalui dunia Analisis Series Waktu menggunakan R. Sebagai seseorang yang telah mengajar ilmu komputer selama tahun-tahun yang lebih banyak daripada yang saya inginkan ( 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 Series Waktu?

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

Sekarang, mari kita merabaikan tangan dengan beberapa kode R!

Memulai dengan R

Pertama-tama, kita perlu menginstal R dan RStudio. Bayangkan R sebagai mesin dan RStudio sebagai dasbor mewah yang membuat menyetir menjadi 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 terjadi!

# Mari kita buat series 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 series 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 series 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 series waktu, menentukan kapan itu dimulai dan seberapa sering kita mengukur (harian, dalam hal ini).

Interval Waktu yang Berbeda

Sekarang, mari kita bicarakan tentang interval waktu yang berbeda. Data series waktu dapat berupa harian, bulanan, kuartal, atau interval lain yang Anda bisa bayangkan. R cukup fleksibel untuk menangani semuanya. Mari kita lihat beberapa contoh:

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

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

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

# Mari kita cetak mereka
print(monthly_data)
print(quarterly_data)
print(yearly_data)

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

Visualisasi Series Waktu

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

# Pertama, mari kita buat dataset yang lebih menarik
set.seed(123)  # Ini memastikan kita semua mendapat angka "random" yang sama
sales <- 100 + cumsum(rnorm(100))  # Penjumlahan kumulatif dari angka random
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 series waktu Anda.

Series Waktu Ganda

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

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

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

# Plot kedua series
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 series dan menggabungkannya menggunakan cbind(). Kemudian kita plot mereka bersamaan, menggunakan warna yang berbeda untuk membedakan antara series.

Metode Analisis Series Waktu Umum

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

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

Mari kita mencoba salah satu metode ini - decomposisi:

# Decompose series waktu kita
decomposed <- decompose(ts_data)

# Plot decomposisi
plot(decomposed)

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

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dalam dunia menarik Analisis Series Waktu dengan R. Kita telah menutup dasar-dasar membuat, visualisasi, dan menganalisis data series 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 menonjol adalah mereka yang mendekati setiap masalah dengan kecurigaan dan kebulatan. Jadi, terus menjelajahi, terus bertanya, dan terutama, terus mengoding!

Credits: Image by storyset