Winita Sulandari, M.Si MODUL PRAKTIKUM METODE PERAMALAN menggunakan Jurusan Matematika FMIPA UNS 2013
PENGANTAR Modul praktikum ini bertujuan mengenalkan kepada mahasiswa tentang bagaimana menggunakan paket program RStudio untuk analisis data statistik dan peramalan. Materi yang dibahas meliputi metode peramalan sederhana seperti metode Naive, Simple Average, Moving Average, Exponential Smoothing, Holt-Winters, Dekomposisi dan Time Series Regresi. Data yang digunakan dalam materi praktikum bersumber dari buku Hanke & Wichern(2005). Mahaiswa dapat mengunduh data ini di http://www.prenhall.com/hanke/7/.
DAFTAR ISI PENGANTAR... 2 DAFTAR ISI... 3 PRAKTIKUM 1 Peramalan dengan R STudio... 4 PRAKTIKUM 2 Grafik Time Series dan Fungsi Autokorelasi... 10 PRAKTIKUM 3 Metode Naive... 14 PRAKTIKUM 4 Peramalan berdasarkan rata-rata... 16 PRAKTIKUM 5 Metode Simple Eksponential Smoothing... 20 PRAKTIKUM 6 Metode Holt s Exsponential Smoothing... 24 PRAKTIKUM 7 Metode Holt-Winters Exsponential Smoothing... 27 PRAKTIKUM 8 Metode Dekomposisi... 31 PRAKTIKUM 9 Metode Time Series Regresi... 37 Daftar Pustaka... 41
PRAKTIKUM 1 Peramalan dengan R STudio Tujuan: Mengenalkan kepada mahasiswa tentang pengantar penggunaan RStudio, dimulai dari bagaimana instal RStudio, paket yang dibutuhkan dan operasi didalamnya Download dan Instalasi RStudio 1. Buka web http://www.rstudio.com/ide/download/ untuk download Rstudio 2. Pilih dan akan muncul keterangan bahwa Rstudio memerlukan R 2.11.1 atau versi yang lebih tinggi. Link untuk download software R telah tersedia jika anda belum memiliki dan menginstalnya. 3. Download RSTudio sesuai dengan platforms system anda 4. Jika download berhasil anda akan mendapatkan file Rstudio 0.97.248.exe. Klik file tersebut dan ikuti petunjuk instalasi yang ada. 5. Setelah instalasi selesai, Rstudio dapat dijalankan dengan klik pada ikon. Tampilan RStudio RStudio memuat beberapa windows (jendela), sebagaimana terlihat pada Gambar 1. script window Workspace/history window command window File/plots/packages/help window 4
Pada bagian kiri atas terdapat jendela editor (script window). Kumpulan perintah (script) dapat di edit dan disimpan pada jendela ini. Jika anda tidak menemukan jendela ini, anda dapat membukanya dengan cara klik File-New-R script. Perintah pada jendela editor tidak dapat langsung dijalankan, harus dikirim terlebih dahulu ke jendela perintah dengan cara CTRL+ENTER Pada bagian kiri bawah terdapat jendela perintah (command window). Jendela ini merupakan jendela utama, anda dapat mengetikkan perintah setelah tanda > dan R akan eksekusi perintah anda. Pada bagian kanan atas terdapat jendela workspace dan history. Pada jendela ini anda dapat mengedit data dan melihat perintah-perintah apa saja yang sudah dijalankan. Pada bagian kanan bawah terdapat jendela files, plots, packages dan help. Pada jendela ini anda dapat instal dan memanggil packages yang dibutuhkan.fasilitas help dapat diakses melalui jendela ini. Manajemen Direktori Kerja Sebelum memulai bekerja, atur direktori kerja anda, yaitu lokasi/folder dimana semua data dan script anda akan disimpan dengan cara klik Session-Set Working Directory-Choose Directory... atau CTRL+SHITF+K dan tentukan folder kerja anda. Packages atau Libraries Beberapa packages yang dibutuhkan dalam peramalan adalah 1. rstudio 2. lmtest 3. datasets 4. car 5. forecast 6. TTR Untuk instal packages, klik muncul pada jendela Packages (kanan bawah), sehingga Ketikkan packages yang dibutuhkan dan klik Install. 5
Untuk mengetahui packages yang sudah terinstal, klik packages pada jendela kanan bawah dan beri tanda untuk memanggil packages yang dibutuhkan. Manajemen Data 1. Memasukkan data dengan R-Console Data dalam R dianggap sebagai objek. Nama obyek dalam R harus diawali dengan huruf, bukan angka. >1a=c(2,3) Error: unexpected symbol in "1a" Jika nama objek diawali dengan angka maka akan muncul pesan error seperti tercantum di atas. Contoh nama objek yang benar adalah >a1=c(2,3) >a1 [1] 2 3 Ada beberapa tipe data dalam R, diantaranya adalah vektor, matriks, data frame,dan list. a. Vektor Contoh perintah memasukkan data vektor >datasales=c(500, 350, 250, 400, 450, 350, 200, 300) >datasales [1] 500 350 250 400 450 350 200 300 Untuk mengetahui kelas data yang telah dimasukkan ketikkan class(nama data) >class(datasales) [1] "numeric" Untuk membangun objek time series dari data numerik, gunakan fungsi ts (singkatan dari time series) >sales=ts(datasales) >sales Time Series: Start = 1 End = 8 Frequency = 1 [1] 500 350 250 400 450 350 200 300 >class(sales) [1] "ts" b. Matriks Untuk mendefinikan matriks gunakan fungsi matrix. >data=matrix(data=c(1,2,3,5,4,6,7,9,8),ncol=3) 6
>data [,1] [,2] [,3] [1,] 1 5 7 [2,] 2 4 9 [3,] 3 6 8 ncol menunjukkan banyaknya kolom sedangkan nrow menunjukkan banyaknya baris. c. Data frame Data time series sering disimpan dalam data frame. Data frame merupakan suatu matriks dengan nama di atas kolom. Hal ini memudahkan kita untuk memanggil dan menggunakan salah satu kolom data tanpa mengetahui posisinya dimana. >datajagung=data.frame(bulan=c("jan","feb","mar"),luas=c(200,300, 400),produksi=c(5000,7500,9000)) >datajagung Bulan luas produksi 1 jan 200 5000 2 feb 300 7500 3 mar 400 9000 Untuk memanggil data produksi, gunakan perintah namaobjek$namakolom contoh >datajagung$produksi [1] 5000 7500 9000 d. List Berbeda dengan matriks atau data frame, list merupakan kumpulan vektor dengan panjang vektor yang berbeda (tidak harus sama) >Daftar=list(a=1, b=2,3,4, c=rnorm(10)) >Daftar $a [1] 1 $b [1] 2 [[3]] [1] 3 [[4]] [1] 4 $c [1] -1.00798120-2.10181284-0.01915392-0.25529349-1.87101947-0.23920750 [7] 0.76652072 0.13696679-1.04447920-0.29707550 2. Memanggil data yang telah disediakan oleh R Datasets Packages. Data apa saja yang telah disediakan dapat anda lihat di http://stat.ethz.ch/r-manual/r-patched/library/datasets/html/00index.html Memanggil data bulanan penumpang pesawat tahun 1949-1960, gunakan perintah 7
>AirPassengers Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 1949 112 118 132 129 121 135 148 148 136 119 104 118 1950 115 126 141 135 125 149 170 170 158 133 114 140 1951 145 150 178 163 172 178 199 199 184 162 146 166 1952 171 180 193 181 183 218 230 242 209 191 172 194 1953 196 196 236 235 229 243 264 272 237 211 180 201 1954 204 188 235 227 234 264 302 293 259 229 203 229 1955 242 233 267 269 270 315 364 347 312 274 237 278 1956 284 277 317 313 318 374 413 405 355 306 271 306 1957 315 301 356 348 355 422 465 467 404 347 305 336 1958 340 318 362 348 363 435 491 505 404 359 310 337 1959 360 342 406 396 420 472 548 559 463 407 362 405 1960 417 391 419 461 472 535 622 606 508 461 390 432 3. Import Data a. Import data dari web Misal data yang digunakan adalah data jumlah kelahiran bayi periode Januari 1946 hingga Desember 1959, yang diambil dari http://robjhyndman.com/tsdldata/data/nybirths.dat Kita dapat membaca dan menyimpan data tersebut dalam R Studio dengan cara Klik Import Dataset, pilih From Web URL..., kemudian masukkan alamat web yang dituju. Cara lain Misal akan diambil data penjualan suvenir periode Januari 1978-December 1993 dari http://robjhyndman.com/tsdldata/data/fancy.dat >souvenir<-scan("http://robjhyndman.com/tsdldata/data/fancy.dat") Informasi untuk mendapatkan data dari internet dapat anda jumpai di http://www.inside-r.org/howto/finding-data-internet b. Import data dari file text R dapat membaca data dengan ekstensi txt atau csv. Jika ingin melakukan import data excel, simpan data tersebut ke dalam ekstensi csv terlebih dahulu. Setelah itu klik Import Dataset-From Text File... pilih file akan diimpor. 8
Pilih Yes untuk mengikutkan nama kolom pada data frame Fungsi-Fungsi Dalam Peramalan Time Series acf() diff() ts() tsdisplay naive() snaive() rwf() colmeans() meanf() SMA() HoltWinters() forecast.holtwinters() decompose() sindexf() seasonalplot() forecast.lm() Menghasilkan plot fungsi autokorelasi Menghasilkan data yang terdifferensiasi Menghasilkan kelas data time series Menghasilkan plot data terhadap waktu, acf dan pacf Menghasilkan peramalan dengan metode naive Menghasilkan peramalan dengan metode naive musiman Menghasilkan peramalan dengan metode random walk Menghasilkan nilai rata-rata data berupa kolom Menghasilkan rata-rata semua data yang ada Menghasilkan peramalan yang dihitung berdasarkan nilai rata-rata k periode terakhir Menghasilkan peramalan dengan metode eksponential smoothing Menghasilkan peramalan periode mendatang (outsample) dengan metode eksponential smooting Menghasilkan komponen dekomposisi Menghasilkan indeks seasonal Menghasilkan plot musiman Menghasilkan peramalan periode mendatang (outsample) dengan model linear 9