Deret waktu

Dalam statistika dan pemrosesan sinyal, **deret waktu** adalah rangkaian data yang berupa nilai pengamatan (pengamatan) yang diukur selama kurun waktu tertentu, berdasarkan waktu dengan interval yang uniform sama. Beberapa Contoh data deret waktu adalah produksi total tahunan produk pertanian indonesia, harga penutupan harisan sebuah saham di pasar modal untuk kurun waktu satu bulan, suhu udara per jam, dan penjualan total bulanan sebuah pasar swalayan dalam waktu satu tahun.

**Analisis deret waktu** (Bahasa Inggris: *time series analysis*) merupakan metode yang mepelajari deret waktu, baik dari segi teori yang menaunginya maupun untuk membuat peramalan (prediksi). Prediksi / Peramalan deret waktu adalah penggunaan model untuk memprediksi nilai pada waktu mendatang berdasar peristiwa yang telah terjadi. Di dunia bisnis, data deret waktu digunakan sebagai bahan acuan pembuatan keputusan sekarang, untuk proyeksi, maupun untuk perencanaan pada masa depan. Contoh penggunaannya adalah pada harga pembukaan harga saham di bursa efek berdasar performa sebelumnya.

## Asumsi-asumsi deret waktu
Ada beberapa asumsi penting yang harus dipenuhi agar data deret waktu dapat digunakan dalam keperluan proyeksi/peramalan. Beberapa diantaranya adalah adanya ketergantungan antara kejadian masa mendatang terhadap masa sebelumnya atau lebih dikenal dengan istilah adanya autokorelasi antara Zt dan Zt-k. Asumsi berikutnya adalah aktivitas pada masa depan mengikuti pola yang terjadi pada masa lalu dan hubungan/keterkaitan pada masa lalu dapat ditentukan dengan pengamatan atau penelitian.
Akurasi yang dihasilkan dari peramalan deret waktu, sangat ditentukan oleh seberapa jauh asumsi-asumsi diatas dipenuhi.

## Komponen deret waktu
Model klasik deret waktu yang biasa digunakan adalah perkalian dari 4 komponen deret waktu.
:Yt = Tt X Ct X St X It, dengan
:Yt: variabel respon pada waktu-t.
:Tt: trend sekuler, yaitu gerakan umum plot data dalam jangka panjang.
:Ct: pergerakan siklus, yaitu pola data deret waktu yang terjadi dan mengalami perulangan setelah periode waktu tertentu.
:St: fluktuasi musim, yaitu pola teratur tahunan yang berulang pada tiap tahun.
:It:variasi tak beraturan, dimana komponen ini tidak dapat diduga sebelumnya dan bersifat acak, seperti adanya bencana.

## Metode pemulusan deret waktu
Ada sejumlah metode pemulusan untuk deret waktu. Dua jenis model yang banyak digunakan adalah model *rataan bergerak* (*moving average*) (MA) dan model *autoregresif* (AR). Kedua model ini bergantung pada data sebelumnya secara linier dan dibahas lebih detail pada artikel *[[autoregressive moving average models]]* (ARMA). 

Ahli ekonomi menggunakan analisis deret waktu sebagai alat bantu perencanaan baik jangka pendek maupun jangka panjang. Perusahaan energi misalnya, akan melakukan peramalan konsumsi daya baik jangka panjang maupun jangka pendek (musiman).

= Analisis Deret Waktu dengan RStudio =
Analisis deret waktu bertujuan untuk membuat model yang dapat berguna untuk memprediksi nilai pada waktu akan datang berdasarkan observasi-observasi untuk memprediksi nilai pada waktu yang akan datang berdasarkan observasi-observasi yang telah ada. Ada beberapa langkah untuk membangun model deret waktu sebagai berikut:

* Spesifikasi atau Identifikasi Model

Pada tahap ini, kita memiliki model dengan *prinsip parsimony* (model sederhana) dengan jumlah parameter yang sedikit. Prosesnya dengan membuat plot observasi terhadap waktu kemudian diamati apakah grafiknya sudah stasioner, memiliki tren naik atau turun, dan mengandung unsur musiman.

* Pencocokan (*fitting*) model

Pada tahap ini, kita menemukan estimasi atau taksiran terbaik dari parameter yang tidak diketahui.

* Diagnosis model

Disini kita akan menganalisis kualitas model, apakah model cukup layak dengan melihat plot error dan plot normal.

Terdapat dua model deret waktu stasioner yaitu model AR (*Auto Regressive*), model MA (*Moving Average*), dan gabungan keduanya, yaitu model ARMA.

# Model MA:Z_t = a_t-\psi_1a_{\scriptstyle\text{t-1}}-\psi_2a_{\scriptstyle\text{t-2}}-...-\psi_qa_{\scriptstyle\text{t-q}}
# Model AR: Z_t =\mu+\phi_1Z{\scriptstyle\text{t-1}}+\phi_2Z{\scriptstyle\text{t-2}}+...+\phi_pZ{\scriptstyle\text{t-p}}+a_t
# Model ARMA: Z_t =\mu+\phi_1Z{\scriptstyle\text{t-1}}+\phi_2Z{\scriptstyle\text{t-2}}+...+\phi_pZ{\scriptstyle\text{t-p}}+a_t-\psi_1a_{\scriptstyle\text{t-1}}-\psi_2a_{\scriptstyle\text{t-2}}-...-\psi_qa_{\scriptstyle\text{t-q}}

Cara membedakan model yang digunakan tersebut, kita dapat membuat grafik ACF dan PACF

## Perhitungan dengan RStudio

```r
library(forecast)
library(tseries)

x<-read.csv("nama file.csv", header = TRUE)

y<-subset(x, select='y')
print(y)
ts_data<-ts(y)
print(ts_data)
plot(ts_data)

#Jika grafik belum stasioner, maka lakukan diferensi
diff1<-diff(ts_data)
plot(diff1)

#berhenti di diferensi satu kali, variansinya membersar stlh di diferensi dua kali. (misalkan)
diff2<-diff(diff1)
plot(diff2)

acf(diff1, plot=F)
acf(diff1)
pacf(diff1, plot=F)
pacf(diff1)

#model berdasarkan grafik acf dan pacf
#model AR(1)
arimaxyz<-arima(diff1,order=c(x,y,z)) #ordenya x, y, dan z, dilihat manual dari grafik ACF dan PACFnya
summary(arimaxyz)

#model yang sesuai ARIMA(x,y,z) -> otomatis
auto<-auto.arima(diff1)
summary(auto)

#melihat residualnya
res<-residuals(arimaxyz) #pilih model dari arimaxyz(prinsip parsimony)
plot(res)
qqnorm(res)
qqline(res, col="red")

#Uji hipotesis untuk korelasi
Box.test(res,type = "Ljung-Box")

#Penentuan untuk t+1
forecast(arimaxyz)
plot(forecast(arimaxyz))

#langkah memodelkan hasil prediksi
fit_model<-fitted(arimaxyz)
plot(fitted(arimaxyz))
plot(ts_data)
lines(fit_model, col="red")

#Kita melihat perbandingan model dari hasil manual(dilihat dari grafik ACF dan PACF)
#dengan model auto. Bandingkan nilai AIC-nya, jika nilai AIC-nya berbeda sedikit, pilih model yang
#lebih sederhana, sesuai dengan prinsip parsimony. LjungBox tes dilakukan supaya kita dapat melihat
#korelasi antar lag. Jika tidak berkorelasi, maka tidak ada model deret waktu yang dapat memodelkan
#data deret waktu.
```

## Referensi