Anda di halaman 1dari 41

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 pada jendela Packages (kanan bawah), sehingga
muncul

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.
Contoh:

>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.
Contoh:

>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.
Contoh:

>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)
Contoh:

>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
Contoh:
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() Menghasilkan plot fungsi autokorelasi


diff() Menghasilkan data yang terdifferensiasi
ts() Menghasilkan kelas data time series
tsdisplay Menghasilkan plot data terhadap waktu, acf dan pacf
naive() Menghasilkan peramalan dengan metode naive
snaive() Menghasilkan peramalan dengan metode naive musiman
rwf() Menghasilkan peramalan dengan metode random walk
colMeans() Menghasilkan nilai rata-rata data berupa kolom
meanf() Menghasilkan rata-rata semua data yang ada
SMA() Menghasilkan peramalan yang dihitung berdasarkan nilai rata-rata k
periode terakhir
HoltWinters() Menghasilkan peramalan dengan metode eksponential smoothing
forecast.HoltWinters() Menghasilkan peramalan periode mendatang (outsample) dengan metode
eksponential smooting
decompose() Menghasilkan komponen dekomposisi
sindexf() Menghasilkan indeks seasonal
seasonalplot() Menghasilkan plot musiman
forecast.lm() Menghasilkan peramalan periode mendatang (outsample) dengan model
linear

9
PRAKTIKUM 2
Grafik Time Series dan Fungsi Autokorelasi

Tujuan : Mahasiswa dapat menggunakan software RStudio untuk identifikasi pola data timeseries,
dengan mengamati

a. Grafik data time series terhadap waktu


b. Grafik fungsi autokorelasi

Petunjuk:

1. Import data yang akan digunakan. Misal dipilih data revenue tahun 1955 hingga 1997, yang
sudah tersimpan dalam komputer dengan nama Tab3-4.csv. Klik Import Dataset-From Text
File... – pilih lokasi data yang akan digunakan – klik pada data yang dipilih – Import.
2. Kelas dari objek Tab3.4 merupakan data.frame.

>class(Tab3.4)
[1] "data.frame"

sehingga untuk menggambar grafiknya ubah kelas data frame tersebut menjadi kelas ts
terlebih dahulu, caranya adalah

>revenue<-ts(Tab3.4, start=c(1955))
>class(revenue)
[1] "ts"

3. Menggambar grafik revenue

>plot(revenue)

Sehingga muncul

10
4. Tipe, ketebalan, dan warna garis pada grafik dapat diubah dengan perintah lty (line type),
lwd (line width) dan col (colour).

>plot(revenue,lty=1,lwd=2,col=1)

atau
>plot(revenue,lty=1,lwd=”red”,col=1)

Akan menghasilkan plot

Perintah lty (line tipe) dalam R menunjukkan perintah tipe garis. Beberapa tipe garis dalam
R, yaitu
lty Tipe garis Gambar
0 blank
1 Solid (default)
2 dashed
3 dotted
4 dotdash
5 Longdash
6 twodash

Perintah lwd (line width) dalam R menunjukkan perintah tebal garis . Jika tidak ada perintah
lwd maka tebal garis yang digunakan adalah sesuai default yaitu lwd=1.

Pilihan col (colour) dapat dinyatakan dalam indeks atau nama. sebagai contohnya
col= Keterangan
1 “white” argumen untuk warna putih
2 “black” argumen untuk warna hitam
3 “green” argumen untuk warna hijau
4 “blue” argumen untuk warna biru

11
5. Untuk menambahkan judul, sumber data, keterangan axis dan ordinat gunakan perintah

>plot(revenue,main="Sears Operating Revenue:1995-1997",


sub="Source:Hanke&Wichern, Business Forecasting, Pearson, 2005",
xlab="Year", ylab="Operating Revenue")

Sehingga diperoleh

6. Menggambar grafik fungsi autokorelasi dapat dilakukan dengan menggunakan perintah acf()

>acf(revenue, main="FungsiAutokorelasi Data Revenue", xlab="lag",


ylab="autokorelasi")

7. Perintah diff() dapat digunakan untuk differensiasi data. Plot data fungsi autokorelasi dari
data terdifferensiasi dapat secara langsung diperoleh dengan cara

>plot(diff(revenue), main="Sears Operating Revenue Data First


Differences",xlab="Year",ylab="Differenced Data")

12
>acf(diff(revenue), main="FungsiAutokorelasiuntuk Revenue
Terdifferensiasi",xlab="Lag",ylab="Autokorelasi")

8. Untuk menambahkan jumlah lag pada plot autokorelasi gunakan perintah lag.max, contoh

>acf(diff(revenue),lag.max=20,plot=TRUE,
main="FungsiAutokorelasiuntuk Revenue
Terdifferensiasi",xlab="Lag",ylab="Autokorelasi")

9. Perintah plot=TRUE untuk menampilkan plot ACF sedangkan plot=FALSE untuk


menampilkan nilai autokorelasi

>acf(diff(revenue),lag.max=20,plot=FALSE,main="FungsiAutokorelasiuntu
k Revenue Terdifferensiasi",xlab="Lag",ylab="Autokorelasi")
Autocorrelations of series ‘diff(revenue)’, by lag
0 1 2 3 4 5 6 7 8 9 10 11
1.000 -0.083 0.057 0.305 0.020 -0.040 -0.043 0.044 -0.091 -0.089 -0.022 -0.052
12 13 14 15 16 17 18 19 20
-0.220 -0.045 0.013 -0.250 0.056 0.019 -0.063 -0.034 -0.008

13
PRAKTIKUM 3
Metode Naive

Tujuan:

Mahasiswa dapat menggunakan RStudio untuk peramalan dengan metode Naive

Pengantar:

Fungsi naive(y, h)atau fungsi rwf(y,h) digunakan untuk meramalkan h periode ke depan dari data
time series y. Semua nilai peramalan untuk h periode kedepan adalah sama dengan nilai terakhir
dari data y.

Fungsi snaive(y, h)digunakan untuk meramalkan h periode ke depan dari data time series musiman
y. Nilai peramalan untuk h periode kedepan adalah sama dengan nilai terakhir dari periode
musiman data y yang bersesuaian.

Fungsi rwf(y,h, drift=TRUE) digunakan untuk meramalkan h periode ke depan dari data time series
y, yang mengandung tren. Nilai peramalan untuk h periode kedepan adalah sama dengan nilai
terakhir ditambahkan dengan rata-rata perubahan data y pada setiap periodenya.
𝑡
ℎ ℎ(𝑦𝑡 − 𝑦𝑡−1 )
𝑦𝑡+1 = 𝑦𝑡 + (𝑦𝑡 − 𝑦𝑡−𝑖 ) = 𝑦𝑡 +
𝑡−1 𝑡−1
𝑖=1

Petunjuk:

1. Install package forecast


2. Import data Acme Tool Company (Hanke & Wichern, 2005: 103)

Import Datasets – From TextFile... – pilih data acme (tipe file : csv)
>acme<-ts(Acme$Saws,frequency=4, start=c(1996,1))
>acme
Qtr1 Qtr2 Qtr3 Qtr4
1996 500 350 250 400
1997 450 350 200 300
1998 350 200 150 400
1999 550 350 250 550
2000 550 400 350 600
2001 750 500 400 650
2002 850 600 450 700

3. Meramalkan data tahun 2003 kuartal 1 hingga kuartal 4 dengan fungsi naive()

>naive(acme,4)
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
2003 Q1 700 481.4811 918.5189 365.80416 1034.196
2003 Q2 700 390.9676 1009.0324 227.37571 1172.624
2003 Q3 700 321.5141 1078.4859 121.15583 1278.844
2003 Q4 700 262.9622 1137.0378 31.60832 1368.392

Terlihat bahwa keempat hasil peramalan bernilai 700, yakni sama dengan nilai terakhir data
yang digunakan untuk meramalkan.

14
4. Meramalkan data tahun 2003 kuartal 1 hingga kuartal 4 dengan fungsi snaive()

>snaive(acme,4)
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
2003 Q1 850 719.2022 980.7978 649.962 1050.038
2003 Q2 600 469.2022 730.7978 399.962 800.038
2003 Q3 450 319.2022 580.7978 249.962 650.038
2003 Q4 700 569.2022 830.7978 499.962 900.038

Terlihat bahwa keempat hasil peramalan bernilai sama dengan empat periode terakhir yaitu
data Qtr 1, Qtr 2, Qtr 3 dan Qtr 4 tahun 2002.
5. Meramalkan tahun 2003 kuartal 1 dan kuartal 2 dengan fungsi rwf()

>rwf(acme,2,drift=TRUE)
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
2003 Q1 707.4074 480.8537 933.9611 360.9234 1053.891
2003 Q2 714.8148 388.7483 1040.8813 216.1392 1213.490

Terlihat bahwa hasil ramalan kuartal 1 tahun 2003 (data ke-29) adalah hasil jumlah data ke-
28 dengan selisih data ke-28 dengan data ke-1 dibagi 27, dan begitu juga dengan data ke-30.
6. Hasil perbandingan plot antara ketiga metode

>plot(acme1, main="PeramalanTahun 2003")


>lines(acme3$mean,col=3)
>lines(acme2$mean,col=2)
>legend("topleft",lty=1,lwd=1, col=c(4,2,3),
+ legend=c("metode Naive","Metode Naive musiman","Metode
Naive Tren"))

15
PRAKTIKUM 4
Peramalan berdasarkan rata-rata

Tujuan:
Mahasiswa dapat menggunakan RStudio dalam peramalan time series dengan metode rata-
rata.
Pengantar:
Metode peramalan berdasarkan rata-rata yang dibahas dalam praktikum ini adalah
a. Simple average, yaitu metode peramalan didasarkan pada rata-rata dari semua data
masa lalu
b. Moving average, yaitu metode peramalan didasarkan pada rata-rata dari beberapa data
periode terakhir. Moving average order k dinotasikan dengan MA(k) dan peramalan
untuk data ke-t+1 diperoleh dari nilai rata-rata data ke-(t-k+1) hingga data ke-t.

Petunjuk:
1. Import data pada Tabel 3-4 (Hanke & Wichern, 2005: 108) dengan cara Import Datasets
– From TextFile... – pilih data yang akan digunakan
2. Untuk mengubah kelas data frame menjadi kelas data time series gunakan

>spokane=ts(spokane)

3. Menggambar grafik time series data spokane

>plot(spokane,main="Gasoline Purchases for Spokane Transit


Authority",xlab="week",ylab="Gallons")

4. Meramalkan data ke-31 dengan metode simple average

>colMeans(spokane)
Gallons
282.0333

Atau dapat juga dengan perintah

>meanf(spokane,1)
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
31 282.0333 256.8791 307.1876 242.8043 321.2624

16
Nilai 282,0333 diperoleh dari rata-rata data ke-1 hingga data ke-30.

5. Meramalkan data dengan metode MA berorder 5 atau MA(5)

>SMA(spokane,5)
[1] NA NANANA 289.8 288.4 280.6
[8] 275.0 271.6 270.2 277.0 284.0 286.2 295.6
[15] 293.4 282.0 281.0 278.4 275.8 281.0 294.0
[22] 297.4 299.0 289.4 280.8 267.8 262.2 261.6
[29] 272.0 277.0

Untuk order k=5, data ke-6 diramalkan berdasarkan rata-rata data ke-1 hingga data ke-5,
yaitu 289,8 dan seterusnya. Sehingga data ke-31 diramalkan berdasarkan rata-rata data
ke-26 hingga data ke-30,yaitu 277.

6. Menggambar grafik data spokane dan hasil ramalannya dengan metode MA (5). Pada
langkah 5 terlihat bahwa peramalan data ke-6 terletak pada baris/urutan ke-5 sehingga
perlu digeser terlebih dahulu menjadi urutan ke-6, caranya adalah dengan fungsi lag()

>y=SMA(spokane,5)
>lag=lag(y,-1)
>lag
Time Series:
Start = 2
End = 31
Frequency = 1
[1] NA NANANA 289.8 288.4 280.6
[8] 275.0 271.6 270.2 277.0 284.0 286.2 295.6
[15] 293.4 282.0 281.0 278.4 275.8 281.0 294.0
[22] 297.4 299.0 289.4 280.8 267.8 262.2 261.6
[29] 272.0 277.0

Dari output di atas terlihat bahwa urutan ke-5 telah bergeser ke urutan ke-6, hal ini
ditandai dengan informasi Start=2. Dengan fungsi cbind(), dapat dilihat data riil dan data
hasil ramalan mulai minggu ke-6 hingga minggu ke-30. Sedangkan minggu ke-31 hanya
terdapat nilai ramalan saja karena data riilnya tidak ada.

>cbind(spokane,lag)
Time Series:
Start = 1
End = 31
Frequency = 1
spokane lag
1 275 NA
2 291 NA
3 307 NA
4 281 NA
5 295 NA
6 268 289.8
7 252 288.4
8 279 280.6
9 264 275.0
10 288 271.6
11 302 270.2
12 287 277.0
13 290 284.0
14 311 286.2
15 277 295.6
16 245 293.4
17 282 282.0
18 277 281.0
19 298 278.4
20 303 275.8
21 310 281.0

17
22 299 294.0
23 285 297.4
24 250 299.0
25 260 289.4
26 245 280.8
27 271 267.8
28 282 262.2
29 302 261.6
30 285 272.0
31 NA 277.0

Plot data rill dan nilai ramalan dapat diperoleh dengan perintah

>plot(spokane,main="peramalandengan MA(5)")
>lines(lag,col=2,lwd=3)
>legend("bottomleft",lty=1,lwd=1, col=c(1,2), legend=c("data
riil","ramalan"))

7. Menghitung nilai residu hasil peramalan terhadap data riil

>error=c(spokane-lag)
>error
[1] NA NANANA -21.8 -36.4 -1.6 -11.0 16.4 31.8 10.0 6.0 24.8
[14] -18.6 -48.4 0.0 -4.0 19.6 27.2 29.0 5.0 -12.4 -49.0 -29.4 -35.8 3.2
[27] 19.8 40.4 13.0

8. Menentukan plot autokorelasi dari residu


Oleh karena data residu mengandung data hilang maka pada fungsi acf() perlu
dicantumkan na.action=na.pass.

>acf(error,na.action=na.pass,main="fungsiautokorelasiuntukresidu
MA(5)")

18
9. Plot residu, acf dan pacf

>tsdisplay(error,main="residudengan MA(5)")

19
PRAKTIKUM 5
Metode Simple Eksponential Smoothing
Tujuan:

Mahasiswa dapat menggunakan R-studio untuk menentukan model time series menggunakan
metode simple eksponential smoothing.

Pengantar

Metode eksponensial smoothing dapat ditentukan melalui fungsi


HoltWinters(x, alpha = NULL, beta = NULL, gamma = NULL)
Dengan x adalah data time series, sedangkan alpha, beta dan gamma adalah parameter Holt
Winters. Ketiga parameter ini bernilai antara [0,1]. Beta menunjukkan parameter tren dan gamma
menunjukkan paramater seasonal.

Metode simple eksponential smoothing digunakan untuk data stasioner (tidak mengandung tren dan
seasonal), sehingga parameter yang digunakan hanya alpha saja. Sebagai contoh penerapannya
gunakan data Acme Tool Company Sales (Tabel 4.7 pada Hanke & Wichern (2005))

Petunjuk:

1. Import data acme.


Import Datasets – From TextFile... – pilih data acme (tipe file : csv)
>acme<-ts(Acme$Saws,frequency=4, start=c(1996,1))
>acme
Qtr1 Qtr2 Qtr3 Qtr4
1996 500 350 250 400
1997 450 350 200 300
1998 350 200 150 400
1999 550 350 250 550
2000 550 400 350 600
2001 750 500 400 650
2002 850 600 450 700

2. Metode simple eksponential smoothing dengan alpha=0,1, dituliskan dengan perintah

>acme.ses=HoltWinters(acme,alpha=0.1,beta=FALSE,gamma=FALSE)

3. informasi yang tersedia dari fungsi HoltWinters dapat dilihat menggunakan perintah
names()

>names(acme.ses)
[1] "fitted" "x" "alpha"
[4] "beta" "gamma" "coefficients"
[7] "seasonal" "SSE" "call"

>acme.ses
Holt-Winters exponential smoothing without trend and without seasonal
component.

Call:
HoltWinters(x = acme, alpha = 0.1, beta = FALSE, gamma = FALSE)

Smoothing parameters:
alpha: 0.1
beta : FALSE

20
gamma: FALSE

Coefficients:
[,1]
a 528.8249

>acme.ses$fitted
xhat level
1996 Q2 500.0000 500.0000
1996 Q3 485.0000 485.0000
1996 Q4 461.5000 461.5000
1997 Q1 455.3500 455.3500
1997 Q2 454.8150 454.8150
1997 Q3 444.3335 444.3335
1997 Q4 419.9002 419.9002
1998 Q1 407.9101 407.9101
1998 Q2 402.1191 402.1191
1998 Q3 381.9072 381.9072
1998 Q4 358.7165 358.7165
1999 Q1 362.8448 362.8448
1999 Q2 381.5604 381.5604
1999 Q3 378.4043 378.4043
1999 Q4 365.5639 365.5639
2000 Q1 384.0075 384.0075
2000 Q2 400.6067 400.6067
2000 Q3 400.5461 400.5461
2000 Q4 395.4915 395.4915
2001 Q1 415.9423 415.9423
2001 Q2 449.3481 449.3481
2001 Q3 454.4133 454.4133
2001 Q4 448.9720 448.9720
2002 Q1 469.0748 469.0748
2002 Q2 507.1673 507.1673
2002 Q3 516.4506 516.4506
2002 Q4 509.8055 509.8055

>acme.ses$SSE
[1] 776592.8

4. plot dari model simple eksponential smoothing dengan alpha = 0,1

>plot(acme.ses)

5. informasi ukuran keakuratan model yang diperoleh

>accuracy(acme.ses)
ME RMSE MAE MPE MAPE MASE
10.6759065 169.5956805 139.9215693 -15.0314753 38.37995180.9214347

6. Peramalan untuk 10 periode kedepan

>ramal.acme.ses=forecast.HoltWinters(acme.ses,h=10)

21
>ramal.acme.ses
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
2003 Q1 528.8249 307.7783 749.8716 190.7633 866.8866
2003 Q2 528.8249 306.6758 750.9741 189.0772 868.5727
2003 Q3 528.8249 305.5788 752.0711 187.3994 870.2505
2003 Q4 528.8249 304.4871 753.1628 185.7298 871.9201
2004 Q1 528.8249 303.4007 754.2492 184.0684 873.5815
2004 Q2 528.8249 302.3196 755.3303 182.4148 875.2351
2004 Q3 528.8249 301.2435 756.4064 180.7692 876.8807
2004 Q4 528.8249 300.1725 757.4774 179.1313 878.5186
2005 Q1 528.8249 299.1065 758.5433 177.5010 880.1489
2005 Q2 528.8249 298.0455 759.6044 175.8782 881.7717

>plot(ramal.acme.ses)

7. Uji diagnostik

>ramal.acme.ses$residual
Qtr1 Qtr2 Qtr3 Qtr4
1996 -150.0000000 -235.0000000 -61.5000000
1997 -5.3500000 -104.8150000 -244.3335000 -119.9001500
1998 -57.9101350 -202.1191215 -231.9072094 41.2835116
1999 187.1551604 -31.5603556 -128.4043201 184.4361120
2000 165.9925008 -0.6067493 -50.5460744 204.5085331
2001 334.0576797 50.6519118 -54.4132794 201.0280485
2002 380.9252437 92.8327193 -66.4505526 190.1945026

>plot(ramal.acme.ses$residual)
> acf (ramal.acme.ses$residual)
> pacf(ramal.acme.ses$residual)

22
>Box.test(ramal.acme.ses$residuals, lag=20, type="Ljung-Box")
Box-Ljung test

data: ramal.acme.ses$residuals
X-squared = 76.8522, df = 20, p-value = 1.335e-08

8. Mencari nilai alpha yang optimal

>acme.ses2=HoltWinters(acme,beta=FALSE,gamma=FALSE)
>acme.ses2
Holt-Winters exponential smoothing without trend and without seasonal
component.

Call:
HoltWinters(x = acme, beta = FALSE, gamma = FALSE)

Smoothing parameters:
alpha: 0.322893
beta : FALSE
gamma: FALSE

Coefficients:
[,1]
a 613.0116

Terlihat bahwa nilai optimal alpha adalah 0,322893. Untuk mengetahui keakuratan model, hasil
ramalan ke depan dan uji diagnostik dapat dilakukan menggunakan cara yang sama pada langkah 5
s.d langkah 7.

23
PRAKTIKUM 6
Metode Holt’s Exsponential Smoothing

Tujuan:
Mahasiswa dapat menggunakan R-studio untuk menentukan model time series menggunakan
metode Holt’s eksponential smoothing.

Pengantar:
Metode Holt’s melibatkan dua parameter, yaitu alpha dan beta. Metode ini digunakan untuk data
time series dengan pola tren.

Petunjuk:
1. Import Datasets – From TextFile... – pilih data acme (tipe file : csv)
>acme<-ts(Acme$Saws,frequency=4, start=c(1996,1))
>acme
Qtr1 Qtr2 Qtr3 Qtr4
1996 500 350 250 400
1997 450 350 200 300
1998 350 200 150 400
1999 550 350 250 550
2000 550 400 350 600
2001 750 500 400 650
2002 850 600 450 700

2. Menentukannilai alpha dan beta yang optimum

>acme.holt=HoltWinters(acme, gamma=FALSE)
>acme.holt
Holt-Winters exponential smoothing with trend and without seasonal
component.

Call:
HoltWinters(x = acme, gamma = FALSE)

Smoothing parameters:
alpha: 1
beta : 0.1275661
gamma: FALSE

Coefficients:
[,1]
a 700.00000
b 18.28632

Terlihatbahwa alpha yang optimal adalah 1 dan beta yang optimal adalah 0,1275661.

3. Plot model Holt’s eksponential smoothing

>plot(acme.holt)

24
4. Ukuran tingkat keakuratan model

>accuracy(acme.holt)
ME RMSE MAE MPE MAPE MASE
181.902796 327.081175 265.492082 38.308969 62.193591 1.748362

5. Hasil ramalan untuk 15 periode ke depan

>ramal.acme.holt=forecast.HoltWinters(acme.holt,h=15)
>ramal.acme.holt
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
2003 Q1 718.2863 476.73025 959.8424 348.85819 1087.714
2003 Q2 736.5726 372.51910 1100.6262 179.80079 1293.344
2003 Q3 754.8590 281.09109 1228.6268 30.29352 1479.424
2003 Q4 773.1453 193.48035 1352.8102 -113.37572 1659.666
2004 Q1 791.4316 106.52261 1476.3406 -256.04631 1838.910
2004 Q2 809.7179 18.75539 1600.6805 -399.95489 2019.391
2004 Q3 828.0042 -70.59172 1726.6002 -546.27969 2202.288
2004 Q4 846.2906 -161.95459 1854.5357 -695.68734 2388.268
2005 Q1 864.5769 -255.58897 1984.7427 -848.56895 2577.723
2005 Q2 882.8632 -351.64621 2117.3726 -1005.15602 2770.882
2005 Q3 901.1495 -450.21394 2252.5130 -1165.58255 2967.882
2005 Q4 919.4358 -551.33938 2390.2111 -1329.92075 3168.792
2006 Q1 937.7222 -655.04340 2530.4877 -1498.20256 3373.647
2006 Q2 956.0085 -761.32941 2673.3464 -1670.43318 3582.450
2006 Q3 974.2948 -870.18906 2818.7787 -1846.59983 3795.189

>plot(ramal.acme.holt)

6. Uji diagnostik

>ramal.acme.holt$residual
Qtr1 Qtr2 Qtr3 Qtr4
1996 50.000000 293.621696
1997 156.165529 -13.755895 -62.001110 195.908129
1998 120.916897 -94.507997 17.548018 315.309486
1999 175.086692 -197.248430 -72.086222 337.109534
2000 -5.894206 -155.142305 -35.351410 269.158230
2001 134.822771 -282.376041 -96.354437 265.937120
2002 182.012565 -291.206063 -154.058049 265.594532

25
>tsdisplay(ramal.acme.holt$residual)

>Box.test(ramal.acme.holt$residual,lag=20,type="Ljung-Box")
Box-Ljung test

data: ramal.acme.holt$residual
X-squared = 116.8906, df = 20, p-value = 1.11e-15

26
PRAKTIKUM 7
Metode Holt-Winters Exsponential Smoothing

Tujuan:
Mahasiswa dapat menggunakan R-studio untuk menentukan model time series menggunakan
metode Holt-Winter eksponential smoothing.

Pengantar:
Metode Holt-Winter eksponential smoothing melibatkan tiga parameter, yaitu alpha, beta dan
gamma. Metode ini digunakan untuk data time series dengan pola tren dan musiman. Ada dua tipe
metode Holt-Winters, yaitu additive dan multiplicative (terhadap musiman).
1. Holt-Winters Additive (terhadap musiman)

𝑌𝑡+ℎ = 𝐿𝑡 + ℎ𝑇𝑡 + 𝑆𝑡−𝑝

dengan

𝐿𝑡 = 𝛼 𝑌𝑡 − 𝑆𝑡−𝑝 + 1 − 𝛼 𝐿𝑡−1 + 𝑇𝑡−1

𝑇𝑡 = 𝛽 𝐿𝑡 − 𝐿𝑡−1 + 1 − 𝛽 𝑇𝑡−1

𝑆𝑡 = 𝛾 𝑌𝑡 − 𝐿𝑡 + (1 − 𝛾)𝑆𝑡−𝑝

2. Holt-Winters Multiplicative (terhadap musiman)

𝑌𝑡+ℎ = (𝐿𝑡 + ℎ𝑇𝑡 )𝑆𝑡−𝑝+ℎ

dengan

𝑌𝑡
𝐿𝑡 = 𝛼 + 1 − 𝛼 𝐿𝑡−1 + 𝑇𝑡−1
𝑆𝑡−𝑝

𝑇𝑡 = 𝛽 𝐿𝑡 − 𝐿𝑡−1 + 1 − 𝛽 𝑇𝑡−1

𝑌𝑡
𝑆𝑡 = 𝛾 + (1 − 𝛾)𝑆𝑡−𝑝
𝐿𝑡

𝐿𝑡 : nilai penghalusan (smoothed) atau estimasi levelke-t

𝑇𝑡 : estimasi tren ke-t

𝑆𝑡 : estimasi musiman ke-t

𝑝: periode musiman

27
Petunjuk:
1. Import Datasets – From TextFile... – pilih data acme (tipe file : csv)
>acme<-ts(Acme$Saws,frequency=4, start=c(1996,1))
>acme
Qtr1 Qtr2 Qtr3 Qtr4
1996 500 350 250 400
1997 450 350 200 300
1998 350 200 150 400
1999 550 350 250 550
2000 550 400 350 600
2001 750 500 400 650
2002 850 600 450 700

2. Menentukan nilai alpha, beta dan gamma yang optimum untuk Holt-Winters additive

>acme.ahw=HoltWinters(acme, seasonal="additive")
>acme.ahw
Holt-Winters exponential smoothing with trend and additive
seasonalcomponent.

Call:
HoltWinters(x = acme, seasonal = "additive")

Smoothing parameters:
alpha: 0.4745088
beta : 0.1384328
gamma: 1

Coefficients:
[,1]
a 603.22988
b 12.87664
s1 265.99678
s2 -19.21102
s3 -160.54602
s4 96.77012
>acme.ahw$SSE
[1] 121324.3

3. Grafik komponen musiman dan tren

plot(acme.ahw$fitted)

4. Grafik ramalan in-sample vs nilai data riil

plot(acme.ahw)

28
5. Menentukan tingkat keakuratan model
>accuracy(acme.ahw)
ME RMSE MAE MPE MAPE MASE
234.338841 339.501315 264.004623 51.115485 61.172429 1.738567

6. Hasil ramalan 10 periode ke depan

>ramal.acme.ahw=forecast.HoltWinters(acme.ahw,h=10)
>plot(ramal.acme.ahw)

7. Uji diagnostik
>tsdisplay(ramal.acme.ahw$residual)

29
>Box.test(ramal.acme.ahw$residual,lag=20,type="Ljung-Box")
Box-Ljung test
data: ramal.acme.ahw$residual
X-squared = 17.1707, df = 20, p-value = 0.6419

8. Menentukan nilai alpha, beta dan gamma optimum untuk model Holt-Winter multiplicative

>acme.mhw=HoltWinters(acme,seasonal="mult")
>acme.mhw
Holt-Winters exponential smoothing with trend and multiplicative seasonal
component.

Call:
HoltWinters(x = acme, seasonal = "mult")

Smoothing parameters:
alpha: 0.7994528
beta : 0.0796615
gamma: 0.9536164

Coefficients:
[,1]
a 604.4295661
b 8.3559147
s1 1.3566250
s2 0.9168943
s3 0.6912627
s4 1.1594859

>acme.mhw$SSE
[1] 114487

>accuracy(acme.mhw)
ME RMSE MAE MPE MAPE MASE
235.593193 351.750029 267.235057 49.680688 59.720212 1.759841

Untuk langkah-langkah berikutnya sama dengan langkah 6 s.d langkah 7.

30
PRAKTIKUM 8
Metode Dekomposisi

Tujuan:

Mahasiswa dapat menggunakan RStudio untuk peramalan time series dengan metode dekomposisi
additive dan multiplikatif.

Petunjuk

1. Import Datasets – From TextFile... – pilih data outboard marine sales (Hanke & Wichern,
2005: 173)

>outboardmarine<-ts(Tab5.4, frequency=4,start=c(1990,1))
>outboardmarine
Qtr1 Qtr2 Qtr3 Qtr4
1990 232.7 309.2 310.7 293.0
1991 205.1 234.4 285.4 258.7
1992 193.2 263.7 292.5 315.2
1993 178.3 274.5 295.4 286.4
1994 190.8 263.5 318.8 305.3
1995 242.6 318.8 329.6 338.2
1996 232.1 285.6 291.0 281.4

2. Menentukan komponen dekomposisi multiplikatif

>komp_outboardmarine<-decompose(outboardmarine,
type="multiplicative")
>komp_outboardmarine
$x
Qtr1 Qtr2 Qtr3 Qtr4
1990 232.7 309.2 310.7 293.0
1991 205.1 234.4 285.4 258.7
1992 193.2 263.7 292.5 315.2
1993 178.3 274.5 295.4 286.4
1994 190.8 263.5 318.8 305.3
1995 242.6 318.8 329.6 338.2
1996 232.1 285.6 291.0 281.4

$seasonal
Qtr1 Qtr2 Qtr3 Qtr4
1990 0.7631976 1.0106864 1.1239890 1.1021270
1991 0.7631976 1.0106864 1.1239890 1.1021270
1992 0.7631976 1.0106864 1.1239890 1.1021270
1993 0.7631976 1.0106864 1.1239890 1.1021270
1994 0.7631976 1.0106864 1.1239890 1.1021270
1995 0.7631976 1.0106864 1.1239890 1.1021270
1996 0.7631976 1.0106864 1.1239890 1.1021270

$trend
Qtr1 Qtr2 Qtr3 Qtr4
1990 NA NA 282.9500 270.1500
1991 257.6375 250.1875 244.4125 246.5875
1992 251.1375 259.0875 264.2875 263.7750
1993 265.4875 262.2500 260.2125 260.4000
1994 261.9500 267.2375 276.0750 289.4625
1995 297.7250 303.1875 305.9875 300.5250
1996 291.5500 279.6250 NA NA
$random
Qtr1 Qtr2 Qtr3 Qtr4
1990 NA NA 0.9769436 0.9840814
1991 1.0430847 0.9269911 1.0388874 0.9519053
1992 1.0079954 1.0070412 0.9846620 1.0842288
1993 0.8799748 1.0356438 1.0099975 0.9979308
1994 0.9543836 0.9755888 1.0273754 0.9569800
1995 1.0676736 1.0403766 0.9583441 1.0210838
1996 1.0430979 1.0105685 NA NA

31
$figure
[1] 0.7631976 1.0106864 1.1239890 1.1021270

$type
[1] "multiplicative"

attr(,"class")
[1] "decomposed.ts"

3. Grafik dari masing-masing komponen

>plot(komp_outboardmarine)

4. Menentukan indeks musiman

>indmusiman<- sindexf(komp_outboardmarine,4)
>indmusiman
Qtr1 Qtr2 Qtr3 Qtr4
1997 0.7631976 1.0106864 1.1239890 1.1021270

5. Menentukan persamaan garis tren, yaitu persamaan regresi terhadap waktu.

Tentukanvariabeltterlebihdahulu

> t=1:28
>length(t)
[1] 28
>length(outboardmarine)
[1] 28

Persamaan regresi ditentukan dengan fungsi lm()

>res=lm(outboardmarine~t)
>res
Call:
lm(formula = outboardmarine ~ t)

32
Coefficients:
(Intercept) t
253.742 1.284

Sehinggapersamaannyaadalah T = 253,742 + 1,284t

>abline(res)

6. Peramalan data ke-29 menggunakan metode dekomposisi multiplikatif


Ramalan tren data ke-29

> t29=253.742+1.284*29
>t29
[1] 290.978

Dalam langkah 4 diperoleh indeks musiman tahun 2007 kuartal 1 adalah 0,7631976 sehingga

> y29=t29*0.7631976
> y29
[1] 222.0737

Dengan cara yang sama, dapat ditentukan peramalan data ke-30 dan seterusnya.

> t30=253.742+1.284*30
> y30=t30*1.009305
> y30
[1] 294.9815

> y31=(253.742+1.284*31)*1.129605
> y31
[1] 331.591

dst

7. Menentukan komponen tren dan musiman dengan metode dekomposisi additif. Data yang
digunakan adalah data pada Tabel 5-10 (Hanke & Wichern, 2005: 197)

>murphi<- read.table("D:/bahan
ajar/bahanmodul/Hanke/excel/Ch5/murphi.csv", header=T, quote="\"")
>murphy=ts(murphi,frequency=12,start=c(1996,1))
>murphy
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1996 4946 4968 5601 5454 5721 5690 5804 6040 5843 6087 6469 7002
1997 5416 5393 5907 5768 6107 6016 6131 6499 6249 6472 6946 7615

33
1998 5876 5818 6342 6143 6442 6407 6545 6758 6485 6805 7361 8079
1999 6061 6187 6792 6587 6918 6920 7030 7491 7305 7571 8013 8727
2000 6776 6847 7531 7333 7685 7518 7672 7992 7645 7923 8297 8537
2001 7005 6855 7420 7183 7554 7475 7687 7922 7426 7736 8483 9329
2002 7120 7124 7817 7538 7921 7757 7816 8208 7828

Untuk menentukan komponen dekomposisi additive, caranya sama dengan dekomposisi


multiplikatif. Dalam hal ini default adlah additive, sehingga tanpa menuliskan
type=”additive”, model dekomposisi yang diperoleh adalah dekomposisi additive.

>komponen_murphy=decompose(murphy)
>komponen_murphy
$x
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1996 4946 4968 5601 5454 5721 5690 5804 6040 5843 6087 6469 7002
1997 5416 5393 5907 5768 6107 6016 6131 6499 6249 6472 6946 7615
1998 5876 5818 6342 6143 6442 6407 6545 6758 6485 6805 7361 8079
1999 6061 6187 6792 6587 6918 6920 7030 7491 7305 7571 8013 8727
2000 6776 6847 7531 7333 7685 7518 7672 7992 7645 7923 8297 8537
2001 7005 6855 7420 7183 7554 7475 7687 7922 7426 7736 8483 9329
2002 7120 7124 7817 7538 7921 7757 7816 8208 7828

$seasonal
Jan Feb Mar Apr May Jun Jul
1996 -660.60324 -694.63102 -125.97130 -362.30324 -54.42824 -164.60324 -46.76991
1997 -660.60324 -694.63102 -125.97130 -362.30324 -54.42824 -164.60324 -46.76991
1998 -660.60324 -694.63102 -125.97130 -362.30324 -54.42824 -164.60324 -46.76991
1999 -660.60324 -694.63102 -125.97130 -362.30324 -54.42824 -164.60324 -46.76991
2000 -660.60324 -694.63102 -125.97130 -362.30324 -54.42824 -164.60324 -46.76991
2001 -660.60324 -694.63102 -125.97130 -362.30324 -54.42824 -164.60324 -46.76991
2002 -660.60324 -694.63102 -125.97130 -362.30324 -54.42824 -164.60324 -46.76991
Aug Sep Oct Nov Dec
1996 228.66065 -93.20046 150.43843 616.52176 1206.88981
1997 228.66065 -93.20046 150.43843 616.52176 1206.88981
1998 228.66065 -93.20046 150.43843 616.52176 1206.88981
1999 228.66065 -93.20046 150.43843 616.52176 1206.88981
2000 228.66065 -93.20046 150.43843 616.52176 1206.88981
2001 228.66065 -93.20046 150.43843 616.52176 1206.88981
2002 228.66065 -93.20046

$trend
Jan Feb Mar Apr May Jun Jul Aug Sep
1996 NA NANANANANA 5821.667 5858.958 5889.417
1997 6001.292 6034.042 6070.083 6103.042 6138.958 6184.375 6229.083 6265.958 6301.792
1998 6428.917 6456.958 6477.583 6501.292 6532.458 6569.083 6596.125 6619.208 6653.333
1999 6811.708 6862.458 6927.167 6993.250 7052.333 7106.500 7163.292 7220.583 7278.875
2000 7512.333 7559.958 7595.000 7623.833 7650.333 7654.250 7655.875 7665.750 7661.458
2001 7630.458 7628.167 7616.125 7599.208 7599.167 7639.917 7677.708 7693.708 7721.458
2002 7827.042 7844.333 7873.000 NA NANANANANA
Oct Nov Dec
1996 5915.250 5944.417 5974.083
1997 6335.542 6365.125 6395.375
1998 6690.583 6728.917 6770.125
1999 7340.750 7403.792 7460.667
2000 7650.583 7638.875 7631.625
2001 7752.792 7782.875 7809.917
2002
$random
Jan Feb Mar Apr May Jun
1996 NA NANANANANA
1997 75.3115741 53.5893519 -37.1120370 27.2615741 22.4699074 -3.7717593
1998 107.6865741 55.6726852 -9.6120370 4.0115741 -36.0300926 2.5199074
1999 -90.1050926 19.1726852 -9.1953704 -43.9467593 -79.9050926 -21.8967593
2000 -75.7300926 -18.3273148 61.9712963 71.4699074 89.0949074 28.3532407
2001 35.1449074 -78.5356481 -70.1537037 -53.9050926 9.2615741 -0.3134259
2002 -46.4384259 -25.7023148 69.9712963 NA NANA
Jul Aug Sep Oct Nov Dec
1996 29.1032407 -47.6189815 46.7837963 21.3115741 -91.9384259 -178.9731481
1997 -51.3134259 4.3810185 40.4087963 -13.9800926 -35.6467593 12.7351852
1998 -4.3550926 -89.8689815 -75.1328704 -36.0217593 15.5615741 101.9851852
1999 -86.5217593 41.7560185 119.3254630 79.8115741 -7.3134259 59.4435185
2000 62.8949074 97.5893519 76.7421296 121.9782407 41.6032407 -301.5148148
2001 56.0615741 -0.3689815 -202.2578704 -167.2300926 83.6032407 312.1935185
2002 NA NANA
$figure
[1] -660.60324 -694.63102 -125.97130 -362.30324 -54.42824 -164.60324 -46.76991
[8] 228.66065 -93.20046 150.43843 616.52176 1206.88981

34
$type
[1] "additive"
attr(,"class")
[1] "decomposed.ts"

8. Plot komponen dekomposisi

>plot(komponen_murphy)

9. Menentukan persamaan garis tren.

>i=1:81
>tren=lm(murphy~i)
>tren
Call:
lm(formula = murphy ~ i)

Coefficients:
(Intercept) i
5604.80 32.45

Diperoleh persamaan tren 𝑇𝑡 = 5604,8 + 32,45𝑡.

10. Menentukan nilai ramalan tren

>ramaltren=5604.80+32.45*i
>ramaltren
[1] 5637.25 5669.70 5702.15 5734.60 5767.05 5799.50 5831.95 5864.40 5896.85 5929.30
[11] 5961.75 5994.20 6026.65 6059.10 6091.55 6124.00 6156.45 6188.90 6221.35 6253.80
[21] 6286.25 6318.70 6351.15 6383.60 6416.05 6448.50 6480.95 6513.40 6545.85 6578.30
[31] 6610.75 6643.20 6675.65 6708.10 6740.55 6773.00 6805.45 6837.90 6870.35 6902.80
[41] 6935.25 6967.70 7000.15 7032.60 7065.05 7097.50 7129.95 7162.40 7194.85 7227.30
[51] 7259.75 7292.20 7324.65 7357.10 7389.55 7422.00 7454.45 7486.90 7519.35 7551.80
[61] 7584.25 7616.70 7649.15 7681.60 7714.05 7746.50 7778.95 7811.40 7843.85 7876.30
[71] 7908.75 7941.20 7973.65 8006.10 8038.55 8071.00 8103.45 8135.90 8168.35 8200.80
[81] 8233.25

11. Menentukan nilai ramalan menggunakan metode dekomposisi additive

>ramal_murphy=ramaltren+komponen_murphy$seasonal

35
>ramal_murphy
Jan Feb Mar Apr May Jun Jul Aug Sep
1996 4976.647 4975.069 5576.179 5372.297 5712.622 5634.897 5785.180 6093.061 5803.650
1997 5366.047 5364.469 5965.579 5761.697 6102.022 6024.297 6174.580 6482.461 6193.050
1998 5755.447 5753.869 6354.979 6151.097 6491.422 6413.697 6563.980 6871.861 6582.450
1999 6144.847 6143.269 6744.379 6540.497 6880.822 6803.097 6953.380 7261.261 6971.850
2000 6534.247 6532.669 7133.779 6929.897 7270.222 7192.497 7342.780 7650.661 7361.250
2001 6923.647 6922.069 7523.179 7319.297 7659.622 7581.897 7732.180 8040.061 7750.650
2002 7313.047 7311.469 7912.579 7708.697 8049.022 7971.297 8121.580 8429.461 8140.050
Oct Nov Dec
1996 6079.738 6578.272 7201.090
1997 6469.138 6967.672 7590.490
1998 6858.538 7357.072 7979.890
1999 7247.938 7746.472 8369.290
2000 7637.338 8135.872 8758.690
2001 8026.738 8525.272 9148.090
2002

12. Menghitung residu dan menggambarkan plot residu, acf dan pacf.

>residu=murphy-ramal_murphy

>tsdisplay(residu,main="residudenganmetodedekomposisi additive")

36
PRAKTIKUM 9
Metode Time Series Regresi
Tujuan:

Mahasiswa dapat menggunakan R-Studio untuk memodelkan data time series dengan metode time
series regresi

Petunjuk:

1. Import data Tab8-1.csv.


Caranya: Import Dataset- From Text file... kemudian pilih data yang akan digunakan klik
import.

Data tersebut merupakan data penjualan Reynolds Metals tahun 1976 hingga 1996,
sehingga

>RMsales<-ts(Tab8.1,start=c(1976,1))
>RMsales
Time Series:
Start = 1976
End = 1996
Frequency = 1
Sales Income Ln.Sales.Ln.Income.
1976 295 273.4 5.686975 5.610936
1977 400 291.3 5.991465 5.674354
1978 390 306.9 5.966147 5.726522
1979 425 317.1 6.052089 5.759217
1980 547 336.1 6.304449 5.817409
1981 555 349.4 6.318968 5.856217
1982 620 362.9 6.429719 5.894127
1983 720 383.9 6.579251 5.950382
1984 880 402.8 6.779922 5.998440
1985 1050 437.0 6.956545 6.079933
1986 1290 472.2 7.162397 6.157403
1987 1528 510.4 7.331715 6.235195
1988 1586 544.5 7.368970 6.299868
1989 1960 588.1 7.580700 6.376897
1990 2118 630.4 7.658228 6.446355
1991 2116 685.9 7.657283 6.530732
1992 2477 742.8 7.814803 6.610427
1993 3199 801.3 8.070594 6.686235
1994 3702 903.1 8.216628 6.805833
1995 3316 983.6 8.106515 6.891219
1996 2702 1076.7 7.901748 6.981656

2. Membentuk persamaan regresi

>model=lm(Tab8.1$Sales~Tab8.1$Income)
>model
Call:
lm(formula = Tab8.1$Sales ~ Tab8.1$Income)
Coefficients:
(Intercept) Tab8.1$Income
-792.002 4.255

Dengan demikian diperoleh persamaan:


Sales = -792,002 + 4,255 Income
3. Menampilkan nilai Durbin Watson.
Package yang dibutuhkan adalah lmtest.

37
>dwtest(model)
Durbin-Watson test
data: model
DW = 0.8713, p-value = 0.0007507
alternative hypothesis: true autocorrelation is greater than 0

Nilai p-value < 0.05% sehingga dapat disimpulkan bahwa error mengandung autokorelasi.
4. Berikut akan diberikan contoh yang lain, dengan lebih dari satu variabel dependent. Contoh
diambil dari Case 8-4 pada buku Hanke & Wichern(2005:369). Variabel independent
dinyatakan sebagai variabel dummy.
5. Membentuk persamaan regresi

>Novak=lm(Case8.4$Sales~Case8.4$Time+Case8.4$S1+Case8.4$S2+Case8.4$S3
+Case8.4$S4+Case8.4$S5+Case8.4$S6+Case8.4$S7+Case8.4$S8+Case8.4$S9+Ca
se8.4$S10+Case8.4$S11)
>Novak
Call:
lm(formula = Case8.4$Sales ~ Case8.4$Time + Case8.4$S1 + Case8.4$S2 + Case8.4$S3 +
Case8.4$S4 + Case8.4$S5 + Case8.4$S6 + Case8.4$S7 + Case8.4$S8 + Case8.4$S9 +
Case8.4$S10 + Case8.4$S11)
Coefficients:
(Intercept) Case8.4$Time Case8.4$S1 Case8.4$S2 Case8.4$S3 Case8.4$S4
-35023 2752 -48459 -29808 21681 119019
Case8.4$S5 Case8.4$S6 Case8.4$S7 Case8.4$S8 Case8.4$S9 Case8.4$S10
139212 57713 21689 74014 7872 -9009
Case8.4$S11
-25050

Dengandemikian persamaan regresi menjadi

Sales = -35023 + 2752 Time – 48459 S1 – 29808 S2 + 21681 S3 + 119019 S4 + 139212 S5 +


57713 S6 + 21689 S7 + 74014 S8 + 7872 S9 – 9009 S10 – 25050 S11

6. Untuk mengetahui informasi lebih lanjut gunakan perintah summary()

>summary(Novak)
Call:
lm(formula = Case8.4$Sales ~ Case8.4$Time + Case8.4$S1 + Case8.4$S2 +
Case8.4$S3 + Case8.4$S4 + Case8.4$S5 + Case8.4$S6 + Case8.4$S7 +
Case8.4$S8 + Case8.4$S9 + Case8.4$S10 + Case8.4$S11)
Residuals:
Min 1Q Median 3Q Max
-79425 -24470 -3091 18566 86758
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -35024 15441 -2.268 0.025912 *
Case8.4$Time 2752 141 19.517< 2e-16 ***
Case8.4$S1 -48459 19059 -2.543 0.012863 *
Case8.4$S2 -29808 19048 -1.565 0.121427
Case8.4$S3 21681 19039 1.139 0.258056
Case8.4$S4 119019 19030 6.254 1.65e-08 ***
Case8.4$S5 139212 19022 7.319 1.45e-10 ***
Case8.4$S6 57713 19015 3.035 0.003210 **
Case8.4$S7 21689 19009 1.141 0.257170
Case8.4$S8 74014 19005 3.895 0.000198 ***
Case8.4$S9 7872 19001 0.414 0.679708
Case8.4$S10 -9009 18998 -0.474 0.636600
Case8.4$S11 -25050 18997 -1.319 0.190908
---
Signif.codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 37990 on 83 degrees of freedom
Multiple R-squared: 0.8771, Adjusted R-squared: 0.8594
F-statistic: 49.38 on 12 and 83 DF, p-value: < 2.2e-16

38
>dwtest(Novak)
Durbin-Watson test
data: Novak
DW = 1.4094, p-value = 0.0026
alternative hypothesis: true autocorrelation is greater than 0

7. Menggambar ACF dari residual Novak

>tsdisplay(Novak$residual)

8. Menentukan model autoregressive dengan analisis regresi variabel Sales sebagai variabel
dependen dan Y-lagged periode 12 sebagai variabel independent. Untuk lebih mudahnya
data diolah terlebih dahulu dengan bantuan software Ms Excel sehingga menjadi

Data ke-13 dipengaruhi oleh data ke-1, data


ke -14 dipengaruhi oleh data ke-2 dan
seterusnya...

Selanjutnya data disimpan dalam ekstensi csv dan di import dalam R.

39
9. Menentukan persamaan regresi dan menghitung nilai Durbin Watson

>Ar.Novak=lm(tux$Sales~tux$Y.lagged)
>Ar.Novak
Call:
lm(formula = tux$Sales ~ tux$Y.lagged)

Coefficients:
(Intercept) tux$Y.lagged
24786.416 1.068

>summary(Ar.Novak)
Call:
lm(formula = tux$Sales ~ tux$Y.lagged)

Residuals:
Min 1Q Median 3Q Max
-86908 -18848 -590 13755 92671

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.479e+04 5.322e+03 4.658 1.22e-05 ***
tux$Y.lagged 1.068e+00 3.803e-02 28.084 < 2e-16 ***
---
Signif.codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 30780 on 82 degrees of freedom
Multiple R-squared: 0.9058, Adjusted R-squared: 0.9047
F-statistic: 788.7 on 1 and 82 DF, p-value: < 2.2e-16

>dwtest(Ar.Novak)
Durbin-Watson test

data: Ar.Novak
DW = 1.829, p-value = 0.1906
alternative hypothesis: true autocorrelation is greater than 0

40
Daftar Pustaka
Hanke, J.E., & D. W. Wicern, 2005, Business Forecasting, 8th ed, Ney Jersey: Pearson Prentice Hall.

http://www.squaregoldfish.co.uk/2010/01/20/r-the-acf-function-and-statistical-significance/

http://a-little-book-of-r-for-time-series.readthedocs.org/en/latest/src/timeseries.html

http://otexts.com/fpp/2/3/

http://www.prenhall.com/Hanke/7/

http://students.washington.edu/mclarkso/documents/line%20styles%20Ver2.pdf

http://stat.ethz.ch/R-manual/R-patched/library/stats/html/acf.html

http:// www.win.tue.nl/~aserebre/2IS55/2011-
2012/2IS55%20Time%20Series%20with%20R%202011_2012.pdf

41

Anda mungkin juga menyukai