Ekonometriks

Pertemuan 10


Kontak : \(\downarrow\)
Email
Instagram https://www.instagram.com/claraevania/
RPubs https://rpubs.com/claradellaevania/

1. Introduction

Analisis Deret waktu merupakan suatu analisis pengumpulan suatu data dari waktu ke waktu dimana memungkinkan pengestimasian efek pada Y dari perubahan X dari waktu ke waktu. Atau kata lain Analisis time series merupakan suatu analisis yang melibatkan penggunaan data deret waktu atau data time series untuk membuat model yang akan digunakan sebagai dasar peramalan.

Dengan menguasai analisis time series, kita dapat memahami penyebab yang mendasari suatu tren atau pola sistemik yang terjadi dari waktu ke waktu. Dengan metode time series yang tepat, kita dapat memprediksi kemungkinan kejadian di masa depan dengan lebih baik.

Dalam Analisis Deret Waktu hal yang harus dilakukan pertama kali adalan Memplot Data dimana dengan Grafik ini memungkinkan banyak fitur data yang divisualisasikan dimana ini termasuk pola, pengamatan yang tidak biasa, perubahan dari waktu ke waktu, dan hubungan antar variabel.

2. Time Series Objects

Deret waktu itu kita menganggapnya sebagai suatu daftar angka dengan beberapa infomasi berapa kali angka tersebut dicatat. Dimana ini dapat disimpan sebagai objek ts pada R.

dt <- ts(c(30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330,360,390, 420), start=2007) 
dt
## Time Series:
## Start = 2007 
## End = 2020 
## Frequency = 1 
##  [1]  30  60  90 120 150 180 210 240 270 300 330 360 390 420

Jika kita memiliki data tahunan dimana pengamatannya satu per tahun, maka kita hanya perlu memberikan tahun awal atau tahun akhir. Pengamatan yang biasanya lebih sering dari sekali pertahun dapat menambahkan argumen frekuensi.

Contohnya adalah pada data bulanan yang sudah disimpan sebagai vektor numerik dt , lalu diubah menjadi objek ts SEPERTI :

DataBul <- ts(dt, start=2020, frequency=12)
DataBul
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2020  30  60  90 120 150 180 210 240 270 300 330 360
## 2021 390 420

Data yang sebelumnya digunakan sudah disimpan sebagai objek ts, namun jika ingin bekerja menggunakan data sendiri, hanya perlu menggunakan fungsi. Frekuensi merupakan jumlah pengamatan yang berulang dimana saat menggunakan fungsi ts pada R diharuskan menggunakan pilihan :

3. Time Plots

Pengamatan diplot terhadap waktu pengamatan dengan pengamatan berurutan bergabung dengan garis lurus .

library(fpp)  # Data for "Forecasting: principles and practice"
library (DT)
datatable(melsyd,
caption = htmltools::tags$caption(
style = 'caption-side: bottom; text-align: center;',
htmltools::em('Table 1: Passengers: Melbourne-Sydney')), 
options = list (dom='t'))

Pada Plot ini menunjukan beban penumpang ekonomi mingguan di ANSETT AIRLINES antara dua kota terbesar yang terletak di AUSTRALIA

library(ggplot2)
autoplot(melsyd[, "Economy.Class"]) + 
  ggtitle("Figure 1: Economy class passengers: Melbourne-Sydney")+
  xlab ("Year") + 
  ylab ("Thousands")

Perintah autoplot() digunakan untuk menghasilkan plot yang sesuai dari argumen yang diberikan dimana ini mengenali melsyd[,“Economy.Class”] sebagai deret waktu dan menghasilkan plot waktu.

Pada tahun 1989 merupakan periode tidak ada pengangkutan penumpang dikarenakan perselisihan industri.

Pada Tahun 1992 merupakan masa pengurangan beban disebabkan oleh uji coba beberapa kursi kelas ekonomi yang digantikan kursi kelas bisnis.

Pada tahun 1991 merupakan masa peningkatan besar dalam beban penumpang. Lalu terdapat penurunan besar dalam beban sekitar awal setiap tahun dikarenakan efek liburan.

Selama tahun 1987, terdapat peningkatan fluktuasi jangka panjang dalam tingkat seri. Lalu menurun pada tahun 1989, namun meningkat lagi pada tahun 1990 dan 1991. Terdapat beberapa periode pengamatan yang hilang.

Selanjutnya plot dibawah ini menunjukkan serangakain waktu yang lebih sederhana dengan penjualan bulanan obat Antidiabetes di Australia.

autoplot(a10)+
  ggtitle("Figure 2: Antidiabetic drug sales")+
  ylab("$ million")+
  xlab ("Year")

Terlihat Jelas bahwa pada plot ini, tren jelas dan meningkat dimana pola musiman sangat kuat dan bertambah besar dengan meningkatnya suatu lebel seri. Namun juga terjadi penurunan pada awal tahun dikarenakan skema dari subsidi pemerintah yang membuat pasien hemat biaya dalam menimbun obat pada akhir tahun kalender.

4. Time Series Patterns

4.1 Tren

Ketika terdapat kenaikan atau penurunan jangka panjang dalam data maka Tren akan muncul. Penyebutan tren sebagai “perubahan arah”, ketika tren itu mungkin berubah dari tren meningkat ke tren menurun.

4.2 Musiman

Ketika deret waktu dipengaruhi oleh faktor musiman seperti waktu dalam setahun atau hari dalam seminggu, maka pola musiman terjadi.Musiman selalu dalam frekuensi yang tetap dan diketahui.

4.3 Siklus

Siklus akan terjadi jika data menunjukkan kenaikan dan penurunan yang tidak dari frekuensi tetap. Fluktuasi ini biasanya disebabkan oleh kondisi ekonomi, dan sering dikaitkan dengan “siklus bisnis”. Durasi fluktuasi ini biasanya minimal 2 tahun. Jika fluktuasi bukan frekuensi tetap, maka fluktuasi tersebut bersifat siklik. Pada umumnya panjang rata-rata siklus lebih panjang daripada panjang pola musiman.

Seluruh tren, musiman, dan siklus masuk kedalam deret waktu. Pada metode peramalan, dilakukan pengidentifikasian pola deret waktu pada suatu data dimana memilih metode yang mampu menangkap pola dengan benar.

  • Pada plot Penjualan perumahan bulanan yang terletak di kiri atas menunjukkan musim yang kuat dalam setiap tahun, dan beberapa perilaku siklus yang kuat dengan jangka waktu sekitar 6-10 tahun.

  • Pada Plot Kontrak treasury bill AS yang terletak di kanan atas menunjukkan hasil dari pasar Chicago selama 100 hari perdagangan berturut-turut pada tahun 1981. Ini tidak ada musim, namun tren penurunan yang jelas. Jika dilihat hanya dalam 100 hari, tren tersebut tampaknya menjadi tren.

  • Pada Plot Produksi listrik triwulanan Australia yang terletak dikiri bawah menunjukkan tren peningkatan yang kuat dengan musim yang kuat. Bukti siklik tidak ada

  • Pada Plot Perubahan harian pada harga saham penutupan Google yang terletak dikanan bawah tidak memiliki tren, musiman, atau perilaku siklus. Ada fluktuasi acak yang tampaknya tidak dapat diprediksi, dan pengembangan model peramalan akan terhambat dikarenakan tidak adanya pola yang kuat.

5. Plot Musiman

Pada plot musiman ini hampir mirip dengan plot waktu kecuali bahwa data diplot terhadap “musim” individu di mana data diamati.

Sebuah contoh diberikan di bawah ini menunjukkan penjualan obat antidiabetes.

ggseasonplot(a10, year.labels=TRUE, year.labels.left=TRUE)+
ylab ("$ million")+
ggtitle("Figure 4: Seasonal plot antidiabetic drug sales")

Data yang ada pada plot ini merupakan data yang sama seperti sebelumnya, namun sekarang data dari setiap musim tumpang tindih. Plot musiman memungkinkan pola musiman yang mendasarinya terlihat lebih jelas, dan sangat berguna dalam mengidentifikasi tahun-tahun di mana pola tersebut berubah.

Dalam plot ini, terjadi sebuah lonjakan penjualan yang besar pada bulan Januari setiap tahunnya. Grafik ini menunjukkan bahwa terdapat jumlah penjualan yang sangat kecil di bulan Maret 2008 Sedikitnya jumlah penjualan pada bulan Juni 2008 disebabkan karena belum lengkapnya penghitungan penjualan pada saat pendataan.Variasi yang berguna pada plot musiman menggunakan koordinat kutub.

Pengaturan polar=TRUE membuat sumbu deret waktu menjadi melingkar dan bukan horizontal, seperti yang ditunjukkan di bawah ini.

ggseasonplot (a10, polar=TRUE)+
  ylab ("$ million")+
  ggtitle("Figure 5: Polar seasonal plot 2 antidiabetic drug sales")

6. Plot Subseri Musiman

Dimana merupakan plot alternatif dalam pola musiman yang data pada setiap musim dikumpulkan dalam plot waktu yang terpisah.

ggsubseriesplot(a10)+
  ylab("$ million")+
  ggtitle("Figure 6: Seasonal subseries plot antidiabetic drug sales")

Rata-rata untuk setiap bulan ditujukan dengan Garis Horizontal. Dimana Bentuk plot ini memungkinkan pola musim yang mendasarinya terlihat jelas, dan menunjukkan perubahan musim dari waktu ke waktu yang sangat berguna dalam mengidentifikasi perubahan dalam musim tertentu.

7. ScatterPlots

Grafik ini berguna dalam memvisualisasikan deret waktu individual dan untuk mengeksplorasi hubungan antara deret waktu.

Gambar dibawah ini menunjukkan dua deret waktu: permintaan listrik setengah jam (dalam Gigawatt) dan suhu (dalam derajat Celcius), untuk tahun 2014 di Victoria, Australia. Suhu untuk Melbourne, kota terbesar di Victoria, sedangkan nilai permintaan untuk seluruh negara bagian.

library(fpp2) #Half-hourly and daily electricity demand for Victoria, Australia, in 2014 
autoplot(elecdemand[,c("Demand","Temperature")], facets=TRUE)+
  xlab ("Year: 2014") + ylab("") +
  ggtitle("Figure 7: Half-hourly electricity demand ~ Victoria, Australia")

Hubungan antara permintaan dan suhu dapat dipelajari dengan memplot satu seri terhadap yang lain.

qplot (Temperature, Demand, data=as.data.frame(elecdemand)) +
  ylab ("Demand (GW)") + xlab ("Temperature (Celsius)")

7.1 Matriks ScatterPlot

Untuk memplot setiap variabel terhadap satu sama lain variabel dapat menggunakam beberapa variabel prediktor potensial. Lima rangkaian waktu yang ditunjukkan , menunjukkan jumlah pengunjung triwulanan untuk lima wilayah New South Wales, Australia.

autoplot(visnights[,1:5], facets=TRUE) +
  ylab ("Number of visitor nights each quarter (millions)")

Hubungan antara kelima deret waktu dapat dilihat dengan memplot setiap deret waktu terhadap deret waktu lainnya yang dapat diatur dalam matriks scatterplot, seperti yang ditunjukkan pada Gambar di bawah ini

GGally::ggpairs(as.data.frame(visnights[,1:5]))

Pada setiap panel, variabel pada sumbu vertikal diberikan oleh nama variabel pada baris tersebut, dan variabel pada sumbu horizontal diberikan oleh nama variabel pada kolom tersebut.

Nilai dari matriks scatterplot ini memungkinkan tampilan cepat dari hubungan antara semua pasangan variabel. Dalam contoh ini, plot kolom kedua menunjukkan ada hubungan positif yang kuat antara pengunjung pantai utara NSW dan pengunjung pantai selatan NSW, tetapi tidak ada hubungan yang terdeteksi antara pengunjung pantai utara NSW dan pengunjung ke pedalaman selatan NSW. Pencilan juga bisa terlihat. Hal ini paling mudah terlihat pada dua plot pertama di kolom kiri Gambar di atas, di mana nilai terbesar untuk NSW Metro terpisah dari awan utama pengamatan.

8. Lag Plots

Sebaran produksi bir Australia triwulanan, di mana sumbu horizontal menunjukkan nilai lag dari deret waktu yang ditunjukkan pada gambar dibawah ini. Sehingga Setiap grafik menunjukkan yt diplot terhadap yt−k untuk nilai k yang berbeda.

library(tsibbledata)
library(tsibble)
library(stats)
library(dplyr)
library(feasts)
library(fabletools)
library(lubridate)
recent_production <- aus_production %>% 
  filter (year(Quarter) >= 2000)
recent_production %>%
  gg_lag(Beer, geom= "point")

Pada Plot ini warna-warna menunjukkan empat variabel pada sumbu vertikal. Dimana terlihat memiliki hubungan yang sangat positif pada lag 4 dan lag 8 yang mana akan mencerminkan suatu musim yang kuat dalam data. Namun juga memiliki hubungan negatif pada lag 2 dan lag 6 dikarenakan puncak Q4 melawan Q2.

Fungsi window() digunakan dalam mengekstrak sebagian dari deret waktu. Dimana pada data ini, akan mengekstrak data dari Ausbeer pada tahun 1992.

9. Autocorrelation

Autokorelasi sama dengan korelasi dalam mengukur hubungan linear antara nilai-nilai tertinggal dalam deret waktu. Koefisien Autokorelasi dalam mengukur hubungan antara yt dan yt−1,r2 mengukur hubungan antara yt dan yt−2,$ dan seterusnya. Dimana rk dituliskan sebagai berikut :

T merupakan panjang deret waktu, Kesembilan koefisien autokorelasi pada data produksi diberikan dalam tabel berikut :

Dimana ini sesuai dengan sembilan scatterplot yang menunjukkan fungsi autokorelasi/ACF.

recent_production %>% 
  ACF (Beer) %>% 
  autoplot()+labs (title="Australian beer production")

Dari Grafik diatas dapat ditarik suatu kesimpulan bahwa :

  • r4 terlihat lebih tinggi dibandingkan lag lainnya yang disebabkan puncak dan paling lebih cenderung terpisah dan empat perempat.

  • r2 terlihat lebih negatif dibanding lag lainnya dikarenakan lembah cenderung dua perempat yang terletak di belakang puncak

  • Garis berwarna biru yang putus-putus menunjukkan apakah korelasi berbeda nyata dari nol

Data yang memiliki tren , autokorelasi pada lag kecil cenderung besar dan positif dikarenakan suatu pengamatan yang berdekatan dalam waktu yang berukuran dekat. Sehingga ACF memiliki nilai positif yang secara perlahan menurun seiring dengan peningkatan lag. Sementara data yang bersifat Musiman, autokorelasi akan lebih besar pada lag musiman dari pada lag lainnya.

Rangkaian permintaan listrik bulanan Australia yang diplot pada Gambar dibawah ini yang menunjukkan tren dan musiman.

aelec <- window(elec, start=1980) 
autoplot (aelec) + xlab ("Year") + ylab ("GWh")

ggAcf(aelec, lag=48)

10. White Noise

White Noise merupakan sebuah deret waktu yang tidak menunjukkan autokorelasi. Contoh rangkaiannya adalah sebagai berikut :

library(forecast)
library(ggplot2)
set.seed (30)
y <- ts(rnorm(50))
autoplot(y)+ ggtitle("White noise")

ggAcf(y)

Pada Series White Noise,diharapkan setiap autokorelasi mendekati nol . Namun mereka tidak akan sama persis dengan nol dikarenakan terdapat beberapa variasi acak.

Untuk Deret White Noise, dapat diperkitakan bahwa 95% lonjakan pada ACF berada di dalam :

\[±2/√T\]

Dimana T ini merupakan deret waktu. Ini juga sangat umum dalam memplot batas-batas pada grafik ACF. Jika lebih dari 5% paku berada di luar batas ini, maka rangkaian tersebut mungkin bukan white noise.

Maka dalam contohnya ini jika T=50 maka batas-batasnya berada pada :

\[ \begin{align} =&±2/√50\\ =&±28 \end{align} \]

Semua koefisien yang autokorelasi berada dalam batas-batas dapat mengkonfirmasikan bahwa datanya adalah white noise.