Oleh
DRAJAT INDRA PURNAMA
140720187008
TESIS
UNIVERSITAS PADJADJARAN
BANDUNG
2020
Scanned by CamScanner
ABSTRAK
iv
4. Abstract :
v
KATA PENGANTAR
SWT, karena atas izin, taufik, hidayah, limpahan rahmat serta karunia-Nya
tesis ini tidak terlepas dari bantuan, motivasi, dukungan serta doa dari berbagai
1. Ibu Prof. Dr. Budi Nurani Ruchjana, MS selaku Ketua Tim Pembimbing dan
Ibu Dra. Enny Supartini, MS selaku Anggota Tim Pembimbing, yang telah
2. Ibu Dr. Siti Muchlisoh dan Bapak Yudhie Andriyana, M.Sc, Ph.D selaku Tim
Penguji yang telah memberikan saran dan koreksi dalam penyempurnaan tesis
ini.
mengikuti perkuliahan.
4. Kepala BPS RI, Kepala Pusdiklat BPS, Kepala BPS Propinsi Sulawesi
vi
5. Kedua orang tua, Mamak dan Bapak mertua, Istriku tercinta Yuni Setyawati
serta kedua anak sholehahku Annisa Ayatul Husna dan Khansa Kamila
Shalihah atas doa, motivasi, dan dukungan selama penulis menjalani studi dan
dan jauh dari kesempurnaan. Oleh karena itu, kritik dan saran yang membangun
sangat penulis harapkan demi perbaikan tesis ini. Semoga tesis ini dapat
vii
DAFTAR ISI
PENGESAHAN ............................................................................................ ii
ABSTRAK ....................................................................................................iv
BAB I PENDAHULUAN............................................................................... 1
viii
2.7 Support Vector Machine (SVM)..................................................... 22
(SARIMA). .................................................................................... 30
ix
4.3 Identifikasi Plot Data Harga Gabah ................................................ 60
Terbaik ............................................................................... 65
SVR ............................................................................................... 67
SVR ............................................................................................... 70
4.9 Peramalan Harga Gabah Pada Oktober 2019 – September 2020 ..... 71
5.1 Kesimpulan.................................................................................... 73
DAFTAR PUSTAKA................................................................................... 75
LAMPIRAN ................................................................................................. 78
x
DAFTAR TABEL
Tabel 4.2 Uji Ramsey RESET Pada Data Harga Gabah ............................... 59
Tabel 4.3 Uji ADF Data Harga Gabah Sebelum dan Sesudah Differencing ... 61
Tabel 4.4 Identifikasi Pola Musiman Pada Data Harga Gabah Menggunakan
Tabel 4.8 Rentang Nilai Parameter Metode Grid Search Tahapan Loose
Grid ............................................................................................ 69
Tabel 4.9 Rentang Nilai Parameter Metode Grid Search Tahapan Finer
Grid ........................................................................................... 69
SVR ............................................................................................ 71
xi
DAFTAR GAMBAR
Gambar 3.1 Ilustrasi model SVR dan Plot 𝜀-insensitive loss function .......... 43
Gambar 4.1 Plot Data Harga Gabah Januari 2009 – Agustus 2018 .............. 60
Gambar 4.2 Plot ACF dan PACF Data Harga Gabah Diferencing
xii
DAFTAR LAMPIRAN
Lampiran 7 Trial and Error Pemilihan Jumlah Lag Input Data Model
SVR ......................................................................................... 90
xiii
BAB I
PENDAHULUAN
negara sampai dengan perseorangan, yang tercermin dari tersedianya pangan yang
cukup, baik jumlah maupun mutunya, aman, beragam, bergizi, merata, dan
masyarakat, untuk dapat hidup sehat, aktif, dan produktif secara berkelanjutan
empat aspek yang harus terpenuhi yaitu tersedia, dapat diakses, dapat
komoditi yang sangat strategis, baik dari aspek ekonomi, sosial, lingkungan dan
politik. Dalam kaitannya dengan ketahanan pangan salah satu unsur penting
nasional adalah pasokan dan stabilisasi harga beras (Bappenas, 2010). Stabilitas
harga beras diperlukan untuk mencegah fluktuasi harga beras. Menurut BPS
Gabah merupakan cikal bakal beras sehingga ketersediaan dan harga beras
dapat dipengaruhi ketersediaan gabah maupun harga gabah. Salah satu faktor
1
yang mempengaruhi harga dan ketersediaan gabah adalah pola penanaman padi
yang dilakukan hampir secara serentak pada musim tertentu sehingga berakibat
pada berlebihnya pasokan saat panen dan langkanya pasokan saat paceklik (BPS,
2018). Fenomena musim panen raya selalu menyebabkan anjloknya harga gabah
karena terjadi lonjakan volume hasil panen. Akibatnya, tingkat harga relatif
rendah sepanjang musim panen dan merangkak naik sampai musim panen
berikutnya.
Data harga gabah merupakan data berkala yang disajikan dalam kurun
waktu bulanan dan dikategorikan sebagai data deret waktu sehingga peramalan
data harga gabah dapat menggunakan analisis deret waktu univariat. Analisis
deret waktu univariat memiliki kelebihan yaitu hanya menggunakan data variabel
yang akan diteliti perilakunya saja dengan melihat data historis tanpa perlu
sehingga pola pergerakan masa lalu dapat menjadi informasi yang akurat untuk
Pergerakan data harga gabah dapat dilihat dalam Gambar 1.1. Berdasarkan
Gambar 1.1 dapat dilihat bahwa data harga gabah cenderung tidak stasioner dalam
tren naik. Selain itu, harga gabah memiliki pola yang tidak teratur dengan besaran
kenaikan dan penurunan yang bervariatif. Hal ini membuat pergerakan harga
2
Plot Data Harga Gabah
0 20 40 60 80 100 120
Model univariat yang umum digunakan dalam peramalan data deret waktu
diperkenalkan pertama kali oleh Box dan Jenkins (1976). Model ini melakukan
differencing data terlebih dahulu untuk menghasilkan data runtun waktu yang
stasioner, dan selanjutnya melakukan proses ARMA pada data hasil differencing
tersebut. ARIMA sangat baik ketepatannya untuk peramalan jangka pendek dan
untuk data runtun waktu non stasioner pada saat linear karena prinsip utama
dalam model ARIMA adalah bahwa model ini dibangun oleh proses linear. Akan
apabila digunakan pada data yang mengandung pola nonlinear (Zhang, 2003).
Apabila model ARIMA tetap digunakan untuk memodelkan pada data nonlinear,
maka kemungkinan akan menghasilkan varian residual yang tidak konstan sebagai
akibat dari karakteristik data dengan volatilitas yang tinggi serta memiliki
3
fluktuasi data yang besar. Metode ARIMA sendiri memiliki beberapa model
alternatif yang dikembangkan sesuai dengan pola dan karakteristik data salah
memprediksi data deret waktu nonlinear. SVR adalah modifikasi Support Vector
Machine (SVM) yang digunakan untuk pendekatan regresi (Boser et al, 1992).
masalah data nonlinear dengan trik kernel dan dapat mengatasi masalah
overfitting dimana model yang dihasilkan hanya menghasilkan model yang baik
untuk data training dan tidak untuk data testing. Namun demikian, SVR memiliki
SVR seperti epsilon (𝜀), cost (C), dan gamma (𝛾), kemudian memilih parameter
optimal pada rentang tersebut. Untuk mengatasai masalah tersebut, salah satu cara
yang dapat digunakan dalam menentukan parameter dalam SVR adalah dengan
metode grid search. Grid search merupakan kombinasi parameter yang diujikan
pada suatu model SVR untuk mencari nilai error dalam klasifikasi (Hsu et al.,
2016).
Dalam kehidupan nyata masalah deret waktu tidak selalu linear atau
sekaligus yaitu data mengandung pola nonlinear secara keseluruhan tetapi secara
4
parsial mengandung pola linear. Oleh karena itu, banyak penelitian yang telah
model nonlinear. Model hybrid digunakan karena model tunggal tidak dapat
secara total mengidentifikasi semua karakteristik data deret waktu (Terui dan Van
Dijk, 2002). Salah satu model hybrid adalah model hybrid SARIMA-SVR yang
merupakan kombinasi model SARIMA dan model SVR. Model hybrid ini
adalah Pai dan Lin (2005) menggunakan hybrid ARIMA-SVM pada data harga
saham, Chen dan Wang (2007) menggunakan hybrid SARIMA-SVM pada nilai
dengan tujuan untuk memodelkan dan meramalkan data harga gabah nasional di
tingkat petani. Hal ini didasarkan pada uraian sebelumnya bahwa data harga
gabah merupakan data yang tidak stasioner, terdapat pola musiman dan memiliki
5
1.2. Rumusan Masalah
data deret waktu yang tidak stasioner, terdapat pola musiman serta
Berdasarkan uraian pada rumusan masalah maka tujuan yang ingin dicapai
kondisi data deret waktu yang tidak stasioner, terdapat pola musiman serta
keilmuan mengenai analisis data deret waktu, khususnya model hybrid SARIMA-
SVR untuk peramalan harga gabah nasional di tingkat petani. Hasil peramalan
diharapkan dapat memberikan informasi dini dan acuan empiris baik bagi
6
pemerintah, dunia usaha, maupun para peneliti lainnya. Khusus bagi pemerintah,
ini, sehingga fokus pada suatu topik tertentu. Adapun batasan masalah dalam
1. Data yang digunakan dalam penelitian ini adalah data bulanan berupa data
harga gabah nasional dengan kualitas gabah kering giling (GKG) di tingkat
petani pada rentang waktu Januari 2009 sampai dengan September 2019.
2. Penelitian ini menggunakan model SVR dengan fungsi kernel Radial Basic
Function (RBF).
7
BAB II
TINJAUAN PUSTAKA
Komoditi gabah merupakan cikal bakal dari beras yang merupakan makanan
terkait dengan manajemen stok, penetapan harga domestik, dan kuota impor
sangat diperlukan agar tidak menimbulkan gejolak harga gabah. Berkaitan dengan
upaya stabilisasi harga gabah di tingkat petani, pemerintah melalui Badan Pusat
Upaya lain pemerintah untuk menjaga stabilitas harga gabah adalah melalui
adalah harga minimal yang harus dibayarkan pihak penggilingan atau pembeli
kepada petani sesuai dengan kualitas gabah sebagaimana yang telah ditetapkan
1) Harga di tingkat petani adalah harga yang disepakati pada waktu terjadinya
8
2) Harga di tingkat penggilingan adalah harga di tingkat petani ditambah dengan
komponen mutunya (kadar air dan kadar hampa), gabah dikelompokkan menjadi
1) Gabah Kering Giling (GKG) adalah gabah dengan kadar air < 14 % dan kadar
hampa/kotoran < 3 %.
2) Gabah Kering Panen (GKP) adala gabah dengan kadar air 14 % sampai 25 %
3) Gabah kualitas rendah adalah gabah dengan kadar air > 25 % dan kadar
hampa/kotoran > 10 %.
∑𝑚
𝑗=1 P𝑛𝑖𝑗
̅
P𝑛𝑖 =
𝑚
dengan
̅𝑛𝑖
P : Rata-rata harga gabah kualitas 𝑖 pada bulan ke-𝑛.
𝑚 : Jumlah observasi.
Suatu model peramalan dalam analisis data deret waktu disebut linear jika
tidak memuat fungsi nonlinear dari lag atau variabel prediktor (Chatfield, 2004).
9
nonlinear dalam deret waktu adalah hubungan nonlinear antara variabel respon
dengan lag-lag atau variabel prediktornya. Salah satu uji untuk mengetahui linear
atau nonlinear suatu data deret waktu dapat menggunakan uji Ramsey RESET
RESET berawal dari ide bahwa jika tidak terdapat nonlinearitas maka berbagai
menyatakan 𝑌𝑡 (Kim et al., 2004). Prosedur uji Ramsey RESET dapat dijelaskan
sebagai
𝑌𝑡 = 𝑓𝑡 + 𝑒𝑡 , dengan 𝑓𝑡 = 𝑋𝑡 𝜃𝑡 (2.1)
2) Melakukan regresi 𝑒𝑡 pada 𝑓𝑡𝑘 dengan 𝑓𝑡𝑘 adalah transformasi nonlinear dari
model alternatif
1) Hipotesis
2) Statistik uji
10
[(𝐞𝑇𝑡 𝐞𝑡 − 𝐯𝑡𝑇 𝐯𝑡 )⁄(𝑘 − 1)]
𝑅𝐸𝑆𝐸𝑇 = (2.4)
[(𝐯𝑡𝑇 𝐯𝑡 )⁄(𝑛 − 𝑘)]
dengan
n : banyaknya pengamatan
3) Kriteria uji
Tolak 𝐻0 jika 𝑅𝐸𝑆𝐸𝑇 > 𝐹(𝑘−1,𝑛−𝑘) , artinya data deret waktu mengandung
pola nonlinear.
Data stasioner adalah data deret waktu yang tidak memiliki tren, pola
musiman serta nilai rata-rata dan variansnya konstan atau homogen dari waktu ke
waktu (Cryer, 1986). Data yang stasioner adalah data yang variansnya tidak
3) 𝐶𝑜𝑣[𝑍𝑡 , 𝑍𝑡+𝑘 ] = 𝐸 [(𝑍𝑡 − 𝜇)(𝑍𝑡+𝑘 − 𝜇)] = 𝛾𝑘 , kovarians antara dua data deret
waktu hanya bergantung pada selang waktu k antara dua periode waktu
11
Stasioneritas dalam rata-rata data deret waktu dapat dilihat melalui plot
Autocorrelation Function (ACF), jika plot ACF turun dengan lambat diduga data
deret waktu belum stasioner dalam rata-rata. Selain itu, uji stasioneritas dalam
rata-rata juga dapat dilihat dari terdapat atau tidaknya akar unit (unit root).
Pengujian akar unit dapat dilakukan menggunakan uji Augmented Dickey Fuller
(ADF). Statistik uji ADF merupakan perluasan dari model Autoregressive orde 1
Square (OLS). Uji ADF diestimasi ke dalam tiga bentuk pendekatan model AR(1)
sebagai berikut:
𝑍𝑡 = 𝛾𝑍𝑡−1 + 𝜀𝑡 .
𝑍𝑡 = 𝛽1 + 𝛾𝑍𝑡−1 + 𝜀𝑡 .
𝑍𝑡 = 𝛽1 + 𝛽2 𝑡 + 𝛾𝑍𝑡−1 + 𝜀𝑡 .
berikut
1) Hipotesis
2) Statistik uji
𝛾̂ − 1
𝑇= ~𝑡
𝑠𝑒(𝛾̂) (𝑛−𝑝−1)
dengan 𝑠𝑒(𝛾̂) adalah standar error dari 𝛾̂ dan p adalah banyaknya parameter
12
3) Kriteria uji
Tolak 𝐻0 jika nilai 𝑇 > 𝑡𝑡𝑎𝑏𝑒𝑙 , artinya data stasioner dalam rata-rata. Jika data
2.4. Differencing
sampai data stasioner yaitu dengan cara mengurangi nilai data pada suatu periode
dengan nilai data periode sebelumnya. Apabila data deret waktu tidak stasioner
dalam rata-rata, maka data tersebut dapat dibuat lebih mendekati stasioner dengan
dengan
𝑍𝑡 : observasi waktu t
menjadi
𝑍𝑡′ = 𝑍𝑡 − 𝐵𝑍𝑡
= (1 − 𝐵)𝑍𝑡
13
𝑍𝑡′′ = 𝑍𝑡′ − 𝑍𝑡−1
′
= 𝑍𝑡′ − 𝑍𝑡−1
′
= 𝑍𝑡 − 2𝑍𝑡−1 + 𝑍𝑡−2
= (1 − 2𝐵 + 𝐵2 )𝑍𝑡
= (1 − 𝐵)2 𝑍𝑡
𝑍𝑡′ = (1 − 𝐵)𝑑 𝑍𝑡
dengan
𝑑 : orde differencing.
data bulanan S = 12 dan seterusnya. Misalkan data deret waktu mengandung pola
dengan
𝑍𝑡 : observasi waktu t
14
Menggunakan operator Backshift musiman (BS), persamaan (2.6) dapat
𝑍𝑡∗ = 𝑍𝑡 − 𝐵 𝑆 𝑍𝑡−𝑆
= (1 − 𝐵 𝑆 )𝑍𝑡
dirumuskan sebagai
𝑍𝑡∗ = (1 − 𝐵 𝑆 )𝐷 𝑍𝑡
dengan
Data deret waktu sering menunjukkan suatu pola yang musiman. Pola
musiman terjadi jika suatu deret dipengaruhi oleh faktor musiman (misalnya
pola identik yang berulang secara periodik (Darmawan dkk, 2012). Beberapa
contoh pola musiman disajikan pada Gambar 2.1. Pada Gambar 2.1, gambar (a)
musiman aditif tren, dan gambar (c) menunjukkan pola musiman multiplikatif
tren.
15
(a) (b)
(c)
Gambar 2.1. Pola Data Musiman
melalui plot data per periodenya (Buys-Ballot) dan melalui grafik ACF. Namun,
jika data tidak hanya dipengaruhi pola musiman, tetapi juga dipengaruhi pola tren,
maka pola musiman tidak mudah untuk diidentifikasi. Untuk mengatasi hal itu,
pengujian adanya pola musiman pada data deret waktu dapat dilakukan dengan
16
pada data stasioner sehingga untuk data nonstasioner perlu dilakukan proses
sebagai berikut
dengan
𝜔𝑡 : frekuensi fourier
2) Karena persamaan (2.7) pada dasarnya secara esensi koefisien fourier sama
dengan koefisien pada regresi standar maka bila diimplementasikan pada data
𝑛 ⁄2
𝜔𝑘 = 2𝜋𝑘⁄𝑛
17
𝑛
2 (𝑛 − 1 )
𝑏𝑘 = ∑ 𝑍𝑘 sin 𝜔𝑘 𝑡 , 𝑘 = 1,2, … ,
𝑛 2
𝑡=1
𝑛𝑎02 , 𝑘=0
𝑛 2 (𝑛 − 1)
𝐼 (𝜔𝑘 ) = (𝑎 + 𝑏𝑘2 ), 𝑘 = 1,2, … ,
2 𝑘 2
2
𝑛
{𝑛𝑎𝑘 , 𝑘 = jika 𝑛 genap
2
a. Hipotesis
b. Statistik uji
𝐼 (1) (𝜔(1) )
𝑇= (2.8)
∑[𝑛 ⁄2]
( )
𝑘=1 𝐼 𝜔𝑘
dengan
fourier
c. Kriteria uji
18
Tabel 2.1. Nilai Kritis Perbandingan Ordinat Maksimum dari
Periodogram dengan jumlah Periodegram (α = 0,05)
univariat yang umum digunakan dalam peramalan data deret waktu (Box dan
dan model Moving Average (MA) pada data yang sudah di lakukan diferencing.
nonstasioner terlebih dahulu untuk menghasilkan data deret waktu yang stasioner,
dan selanjutnya melakukan proses ARMA pada data hasil differencing tersebut.
19
Menurut Makridakis (1999), model AR orde p yang biasa disebut AR(p)
dimodelkan sebagai
atau
(1 − 𝜙1 𝐵 − 𝜙2 𝐵2 − ⋯ − 𝜙𝑝 𝐵𝑝 )𝑍𝑡 = 𝜀𝑡
iid
dengan 𝜀𝑡 merupakan unsur residual yang menyebar normal dan independen 𝜀𝑡 ~
𝑍𝑡 = 𝜙1 𝑍𝑡−1 + 𝜀𝑡
(𝑍𝑡 ) dipengaruhi oleh kesalahan sekarang (𝜀𝑡 ) dan kesalahan waktu sebelumnya
(𝜀𝑡−𝑞 ) . Menurut Makridakis (1999), model MA orde q yang biasa disebut MA(q)
dimodelkan sebagai
atau
iid
dengan 𝜀𝑡 merupakan unsur residual yang menyebar normal dan independen 𝜀𝑡 ~
20
Sebagai contoh, model MA dengan orde 1 atau disebut model MA(1)
dan kesalahan satu waktu sebelumnya. Model MA(1) dimodelkan sebagai berikut
𝑍𝑡 = 𝜀𝑡 − 𝜃1 𝜀𝑡−1
atau
𝜙𝑝 (𝐵)𝑍𝑡 = 𝜃𝑞 (𝐵)𝜀𝑡
dengan
𝜙𝑝 (𝐵) = 1 − 𝜙1 𝐵 − 𝜙2 𝐵2 − ⋯ − 𝜙𝑝 𝐵𝑝
𝜃𝑞 (𝐵) = 1 − 𝜃1 𝐵 − 𝜃2 𝐵2 − ⋯ − 𝜃𝑞 𝐵𝑞
𝑍𝑡 = 𝜙1 𝑍𝑡−1 + 𝜀𝑡 − 𝜃1 𝜀𝑡−1
21
Jika data stasioner pada proses diferencing sebanyak d kali, dengan model
dasar ARMA (p,q) , maka model yang terbentuk menjadi ARIMA (p,d,q).
dengan
𝜙𝑝 : parameter AR
𝜃𝑞 : parameter MA
B : operator Backshift
iid
𝜀𝑡 : residual yang menyebar normal dan independen 𝜀𝑡 ~ N(0,2)
stasioner, maka dengan model dasar ARMA(1,1) model akan membentuk model
𝜙1 (𝐵)(1 − 𝐵) 𝑍𝑡 = 𝜃1 (𝐵)𝜀𝑡
pertama kali oleh Boser, Guyon dan Vapnik pada tahun 1992 untuk melakukan
prediksi dalam kasus klasifikasi maupun regresi. Selanjutnya, SVM untuk kasus
regresi dikenal sebagai SVR. SVM merupakan salah satu algoritma untuk
mengatasi masalah pengenalan pada dua pola dengan menetapkan vector space.
22
Penetapan vector space tersebut bertujuan untuk mencari decision surface terbaik
dalam membagi data kedalam dua kelas dan margin antar dua kelas tersebut.
Decision surface dalam kasus data yang terbagi linear (linearly separable) adalah
hyperplane.
hyperplane terbaik yang berfungsi sebagai pemisah dua buah kelas secara
linear pada input space (Vapnik, 1995). Gambar 2.2 memperlihatkan beberapa
pattern yang merupakan anggota dari dua buah kelas +1 dan –1. Pattern yang
(a) (b)
hyperplane optimal sebagai pemisah dua kelas secara linear pada input space.
23
adalah jarak antara hyperplane tersebut dengan pattern terdekat dari masing-
masing kelas. Pattern yang paling dekat ini disebut sebagai support vector. Pada
Gambar 2.2 (b), garis solid menunjukkan hyperplane yang terbaik, yaitu yang
terletak tepat pada tengah-tengah kedua kelas. Jarak antara garis solid dengan
garis putus-putus disebut margin, sedangkan sedangkan titik merah dan kuning
{−1, +1} menyatakan label kelas. Hyperplane klasifikasi linear SVM dinotasikan
sebagai
𝐰. 𝐱 𝑖 + 𝑏 = 0
dengan 𝐰 adalah vektor parameter (bobot) dan b adalah konstanta (bias). Data 𝑥𝑖
yang masuk ke dalam kelas (-1) adalah data yang memenuhi pertidaksamaan
Data 𝑥𝑖 yang masuk ke dalam kelas (+1) adalah data yang memenuhi
pertidaksamaan
memenuhi persamaan
𝐰. 𝐱 𝑎 + 𝑏 = −1 (2.12)
dan 𝑥𝑏 berada di kelas +1 adalah data pada support vector sehingga memenuhi
persamaan
𝐰. 𝐱 𝑏 + 𝑏 = +1. (2.13)
24
Margin dapat dihitung dengan mengurangkan persamaan (2.13) dengan
𝐰(𝐱 𝑏 − 𝐱 𝑎 ) = 2 (2.14)
Margin hyperplane diberikan oleh jarak antara dua hyperplane dari dua kelas
2
‖𝐰‖ . 𝑑 = 2 atau 𝑑 = (2.15)
‖𝐰‖
1
min ‖𝐰‖ 2
𝑤 2
dengan kendala persamaan (2.10) dan (2.11) persamaan yang dituliskan kembali
sebagai
𝑦𝑖 (𝐰. 𝐱 𝑖 + 𝑏) ≥ 1, 𝑖 = 1,2, … , 𝑛.
(Licker, 2003).
Pada kenyataanya, data training tidak selalu terpisah secara linear (linearly
Algoritma SVM untuk mengatasi kasus data terpisah secara linear juga mampu
untuk mengatasi kasus data terpisah secara nonlinear menggunakan Soft Margin
25
Hyperplane, atau dengan memetakan vektor pada data asli di input space ke ruang
berdimensi lebih tinggi feature space, dimana fitur baru yang mengandung
interaksi terms dari data asli dan titik data pada feature space tersebut akan
terbagi secara linear (Vapnik, 1995). Gambar 2.3 menunjukkan contoh pemetaan
dari input space ke feature space dengan dimensi yang lebih tinggi. Jika terdapat
pada feature space mampu memisahkan kedua kelas yang pada dimensi
bergantung pada perkalian skalar (dot product) dari data yang sudah
𝜑 tidak diketahui dan sulit dipahami secara mudah sehingga dapat digantikan
dengan metode kernel. Hal ini disebut sebagai kernel trick (Pratama, 2018).
menentukan support vector, kita hanya cukup mengetahui fungsi kernel yang
26
2.8. Pemrograman Kuadratis (Quadratic Programming)
sebagai berikut
1
𝑓(𝐱) = 𝐜 𝑇 𝐱 + 𝐱 𝑇 𝐐𝐱
2
berukuran 𝑛 × 1.
27
optimal suatu fungsi tujuan dengan kendala-kendala tertentu yang harus dipenuhi.
Sebagai contoh diberikan suatu fungsi tujuan sebagai masalah optimasi dengan
𝜕𝐿(𝐱,𝛼)
= 0 dengan 𝑖 = 1,2, … , 𝑛
𝜕𝑥𝑖
𝜕𝐿(𝐱,𝛼)
= 0 dengan 𝑗 = 1,2, … , 𝑚
𝜕𝛼𝑗
yang dapat digunakan untuk pencarian titik optimum dari suatu fungsi yang
digunakan untuk mencari solusi yang optimum dari suatu fungsi tanpa
memandang sifat dari fungsi tersebut apakah linear atau nonlinear. Sehingga
28
metode KKT dapat digunakan untuk memecahkan persoalan baik linear maupun
nonlinear.
berupa persamaan. Akan tetapi, terdapat masalah optimasi yang memiliki kendala
1
𝐿(𝐱, 𝐲) = 𝐱 𝑇 𝐐𝐱 + 𝐜 𝑇 𝐱 + 𝛼 (𝑨𝐱 − 𝐛 )
2
dengan 𝛼 adalah pengali lagrange. Maka kondisi KKT dari persoalan persamaan
terpenuhi jika
𝜕𝐿
1) ≥ 0 atau 𝐱 𝑇 𝐐 + 𝐜 𝑇 + 𝛼𝐀 ≥ 0
𝜕𝑥𝑖
𝜕𝐿
2) ≥ 0 atau 𝐀𝐱 − 𝐛 ≥ 0
𝜕𝛼𝑗
𝜕𝐿
3) 𝑥𝑖 𝜕𝑥 = 0 atau 𝐱 𝑇 (𝐐𝐱 + 𝐜 + 𝐀𝑇 𝛼 ) = 0
𝑖
5) 𝑥𝑖 ≥ 0
6) 𝛼𝑗 ≥ 0
29
BAB III
Data yang digunakan dalam penelitian ini adalah data sekunder yang
diperoleh dari Badan Pusat Statistik (BPS). Data dalam penelitian ini merupakan
data harga gabah di tingkat petani yang bersumber dari survei monitoring harga
produsen gabah bulanan yang dilakukan oleh BPS. Survei harga beras tersebut
Indonesia. Data merupakan data deret waktu periode Januari 2009 sampai dengan
Model deret waktu yang digunakan adalah model deret waktu univariat,
sehingga hanya terdapat satu variabel yang digunakan dalam penelitian, yaitu data
harga gabah di tingkat petani. Harga gabah tersebut merupakan rata-rata harga
bulanan. Menurut kualitas gabahnya, data yang digunakan pada penelitian ini
satu tahun untuk data bulanan namun tidak menutup kemungkinan untuk periode
30
musim yang lain. Model ARIMA yang melibatkan efek musiman didalamnya
disebut juga dengan model SARIMA. Model SARIMA terdiri dari dua bagian,
yaitu bagian tidak musiman dan bagian musiman. Bagian tidak musiman dari
model SARIMA merupakan model ARIMA yang dijelaskan pada Subbab 2.6.
Bentuk umum dari proses AR musiman untuk periode S dan orde P atau
atau
Sebagai contoh untuk model AR(P)S akan diperlihakan AR(1)12 yaitu suatu
𝑍𝑡 = Φ1 𝑍𝑡−12 + 𝜀𝑡
Bentuk umum dari proses MA musiman periode S dan orde Q atau MA(Q)S
didefinisikan sebagai
atau
iid
dengan 𝜀𝑡 merupakan unsur residual yang menyebar normal dan independen 𝜀𝑡 ~
31
Sebagai contoh untuk model MA(Q)S akan diperlihakan MA(1)12 yaitu suatu
𝑍𝑡 = 𝜀𝑡 − Θ1 𝜀𝑡−12
dengan
𝜙𝑝 : parameter AR
𝜙𝑝 (𝐵) : 1 − 𝜙1 𝐵 − 𝜙2 𝐵2 − ⋯ − 𝜙𝑝 𝐵𝑝
Φ𝑃 : parameter AR musiman
Φ𝑃 (𝐵 𝑆 ) : 1 − Φ1 𝐵 𝑠 − Φ2 𝐵2𝑠 − ⋯ − Φ𝑃 𝐵𝑃𝑠
𝜃𝑞 : parameter MA
𝜃𝑞 (𝐵) : 1 − 𝜃1 𝐵 − 𝜃2 𝐵2 − ⋯ − 𝜃𝑞 𝐵𝑞
Θ𝑄 : parameter MA musiman
Θ 𝑄 (𝐵 ) : 1 − Θ1 𝐵 𝑠 − Θ2 𝐵2𝑠 − ⋯ − Θ𝑄 𝐵𝑄𝑠
32
Sebagai contoh untuk model SARIMA(p,d,q)(P,D,Q)S akan diperlihakan
kestasioneran dan pola musiman. Jika data tidak memenuhi asumsi kestasioneran,
apabila tidak stasioner dalam rata-rata dan dilakukan transformasi jika tidak
AR, MA, AR musiman, dan MA musiman pada model SARIMA dilihat dengan
Function (PACF).
33
Estimasi nilai ACF dan PACF pada dasarnya digunakan untuk menjelaskan
pola yang ada di dalam suatu data deret waktu, baik secara grafik maupun
numerik. Nilai ACF dan PACF sering digunakan untuk menemukan model terbaik
observasi data deret waktu univariat berkorelasi. Plot estimasi ACF (𝜌̂𝑘 ) dan
masing-masing pasangan variabel (𝑍𝑡 , 𝑍𝑡+𝑘 ). Menurut Wei (2006), rumus ACF
𝛾̂𝑘 ∑𝑛−𝑘 ̅ ̅
𝑡=1 (𝑍𝑡 − 𝑍 )(𝑍𝑡+𝑘 − 𝑍 )
𝜌̂𝑘 = = , 𝑘 = 1,2, … (3.1)
𝛾̂0 ∑𝑛−𝑘 ̅ 2
𝑡=1 (𝑍𝑡 − 𝑍 )
dengan Z̅ = ∑n−k
t=1 Zt ⁄n, nilai korelasi berada antara −1 < ρ
̂ k < 1, autokovarians
𝛾̂𝑘 = 𝛾̂−𝑘 , autokorelasi 𝜌̂𝑘 = 𝜌̂−𝑘 , dan 𝛾̂0 = 𝑣𝑎𝑟(𝑍𝑡 ), serta 𝜌̂0 = 1. Apabila nilai
ACF membentuk pola turun secara perlahan (dies down), maka data deret waktu
korelasi 𝑍𝑡+1 dan 𝑍𝑡+2 terhadap 𝑍𝑡+3 . Nilai korelasi pada PACF menggunakan
34
dengan mempertimbangkan efek terhadap variabel lain. Rumus PACF menurut
dengan 𝜙̂11 = 𝜌̂1 , dan 𝜙̂𝑘+1,𝑗 = 𝜙̂𝑘,𝑗 − 𝜙̂𝑘+1,𝑘+1 𝜙̂𝑘,𝑘+1−𝑗 . Apabila nilai PACF
membentuk pola turun secara perlahan (dies down), maka data deret waktu tidak
stasioner.
pola memotong dalam plot PACF, sedangkan orde waktu untuk model MA dan
MA musiman ditentukan dengan melihat pola memotong dalam plot ACF. Jika
plot PACF membentuk pola memotong atau cut off pada lag p, maka model yang
tepat adalah AR orde p. Jika plot ACF membentuk pola memotong atau cut off
pada lag q, maka model yang tepat adalah MA ored q atau MA(q). Sedangkan
untuk pola musiman, jika plot PACF membentuk pola memotong atau cut off pada
lag musiman P, maka model yang tepat adalah AR musiman orde P. Jika plot
ACF membentuk pola memotong atau cut off pada lag musiman Q, maka model
Salah satu metode yang dapat digunakan untuk estimasi parameter model
bentuk ARMA (p,q). Oleh karena itu, proses estimasi parameter model SARIMA
35
dapat mengikuti proses pendugaan untuk model ini. Bentuk umum model
𝜃𝑞 𝜀𝑡−𝑞 (3.3)
iid
Dengan asumsi bahwa 𝜀𝑡 adalah sebuah proses white noise dan independen 𝜀𝑡 ~
𝑛 𝑝
1
𝑃(𝜙, 𝜇, 𝜃, 𝜎𝜀2 ) = (2𝜋𝜎𝜀2 )−𝑛⁄2 exp (− 2 ∑ (𝑍𝑡 − ∑ 𝜙𝑖 𝑍𝑡−𝑖
2𝜎𝜀
𝑡=1 𝑖=1
𝑞 2
+ ∑ 𝜃𝑗 𝜀𝑡−𝑗 ) ) (3.6)
𝑗=1
dengan mengambil log natural dari persamaan (3.6) diperoleh persamaan berikut
𝐿 = ln 𝑃 (𝜙, 𝜇, 𝜃, 𝜎𝜀2 )
𝑝 𝑞 2
𝑛
𝑛 1
= − ln(2𝜋𝜎𝜀2 ) − 2 ∑ (𝑍𝑡 − ∑ 𝜙𝑖 𝑍𝑡−𝑖 + ∑ 𝜃𝑗 𝜀𝑡−𝑗 ) (3.7)
2 2𝜎𝜀
𝑡=1 𝑖=1 𝑗=1
36
Estimasi parameter 𝜙𝑝 dan 𝜃𝑞 dari model ARMA(p,q) dapat diperoleh dengan
ARMA(1,1). Dengan memasukkan nilai p=1 dan q=1 pada persamaan (3.7)
𝐿 = ln 𝑃(𝜙, 𝜇, 𝜃, 𝜎𝜀2 )
2
𝑛 1 1
𝑛 1
= − ln(2𝜋𝜎𝜀2 ) − 2 ∑ (𝑍𝑡 − ∑ 𝜙𝑖 𝑍𝑡−𝑖 + ∑ 𝜃𝑗 𝜀𝑡−𝑗 )
2 2𝜎𝜀
𝑡=1 𝑖=1 𝑗=1
𝑛
𝑛 1
= ln(2𝜋𝜎𝜀2 ) − 2 ∑(𝑍𝑡 − 𝜙1 𝑍𝑡−1 + 𝜃1 𝜀𝑡−1 )2 .
2 2𝜎𝜀
𝑡=1
𝑛
1
= − 2 ∑[(𝑍𝑡 − 𝜙1 𝑍𝑡−1 + 𝜃1 𝜀𝑡−1 )(−(𝑍𝑡−1 ))]
𝜎𝜀
𝑡=1
𝑛 𝑛 𝑛
𝑍𝑡 𝑍𝑡−1 𝜙1 (𝑍𝑡−1 )2 𝜃1 𝜀𝑡−1 𝑍𝑡−1
=∑ 2
− ∑ 2
−∑ .
𝜎𝜀 𝜎𝜀 𝜎𝜀2
𝑡=1 𝑡=1 𝑡=1
𝜕𝐿
Dengan menyamakan 𝜕𝜙 = 0 diperoleh
1
𝑛 𝑛 𝑛
𝜙̂1 (𝑍𝑡−1 )2 𝑍𝑡 𝑍𝑡−1 𝜃1 𝜀𝑡−1 𝑍𝑡−1
∑ = ∑ − ∑
𝜎𝜀2 𝜎𝜀2 𝜎𝜀2
𝑡=1 𝑡=1 𝑡=1
𝑛 𝑛 𝑛
(𝑍𝑡−1 )2 𝑍𝑡 𝑍𝑡−1 𝜃1 𝜀𝑡−1 𝑍𝑡−1
𝜙̂1 ∑ 2
=∑ 2
−∑
𝜎𝜀 𝜎𝜀 𝜎𝜀2
𝑡=1 𝑡=1 𝑡=1
37
𝑛 𝑛 𝑛
𝑍𝑡 𝑍𝑡−1 𝜃1 𝜀𝑡−1 𝑍𝑡−1 𝜎𝜀2
̂
𝜙1 = (∑ −∑ ) (∑ )
𝜎𝜀2 𝜎𝜀2 (𝑍𝑡−1 )2
𝑡=1 𝑡=1 𝑡=1
𝑛 𝑛
𝑍𝑡 𝑍𝑡−1 𝜃1 𝜀𝑡−1 𝑍𝑡−1
𝜙̂1 = ∑ 2
−∑
(𝑍𝑡−1 ) (𝑍𝑡−1 )2
𝑡=1 𝑡=1
𝑛 𝑛
𝑍𝑡 𝜃1 𝜀𝑡−1
𝜙̂1 = ∑ −∑ .
𝑍𝑡−1 𝑍𝑡−1
𝑡=1 𝑡=1
𝑛
1
= − 2 ∑[(𝑍𝑡 − 𝜙1 𝑍𝑡−1 + 𝜃1 𝜀𝑡−1 )(𝜀𝑡−1 )]
𝜎𝜀
𝑡=1
𝑛 𝑛 𝑛
𝑍𝑡 𝜀𝑡−1 𝜙1 𝑍𝑡−1 𝜀𝑡−1 𝜃1 (𝜀𝑡−1 )2
=∑ − ∑ − ∑ .
𝜎𝜀2 𝜎𝜀2 𝜎𝜀2
𝑡=1 𝑡=1 𝑡=1
𝜕𝐿
Dengan menyamakan 𝜕𝜃 = 0 diperoleh
1
𝑛 𝑛 𝑛
𝜃̂1 (𝜀𝑡−1 )2 𝑍𝑡 𝜀𝑡−1 𝜙1 𝑍𝑡−1 𝜀𝑡−1
∑ 2
=∑ 2
−∑
𝜎𝜀 𝜎𝜀 𝜎𝜀2
𝑡=1 𝑡=1 𝑡=1
𝑛 𝑛 𝑛
(𝜀𝑡−1 )2 𝑍𝑡 𝜀𝑡−1 𝜙1 𝑍𝑡−1 𝜀𝑡−1
𝜃̂1 ∑ 2
=∑ 2
−∑
𝜎𝜀 𝜎𝜀 𝜎𝜀2
𝑡=1 𝑡=1 𝑡=1
𝑛 𝑛 𝑛
𝑍𝑡 𝜀𝑡−1 𝜙1 𝑍𝑡−1 𝜀𝑡−1 𝜎𝜀2
̂
𝜃1 = (∑ −∑ ) (∑ )
𝜎𝜀2 𝜎𝜀2 (𝜀𝑡−1 )2
𝑡=1 𝑡=1 𝑡=1
𝑛 𝑛
𝑍𝑡 𝜀𝑡−1 𝜙1 𝑍𝑡−1 𝜀𝑡−1
𝜃̂1 = ∑ 2
−∑
(𝜀𝑡−1 ) (𝜀𝑡−1 )2
𝑡=1 𝑡=1
𝑛 𝑛
𝑍𝑡 𝜙1 𝑍𝑡−1
𝜃̂1 = ∑ −∑ .
𝜀𝑡−1 𝜀𝑡−1
𝑡=1 𝑡=1
38
3.3.3. Pengujian Signifikansi Parameter
Suatu model dikatakan model yang baik apabila parameter yang diestimasi
signifikan atau nilai parameternya tidak sama dengan nol. Pengujian signifikansi
masuk ke dalam model atau tidak. Misalkan 𝜙̂𝑖 adalah nilai estimasi dari
parameter AR pada model SARIMA dan 𝑠𝑒(𝜙̂𝑖 ) adalah standar error dari nilai
1. Hipotesis
2. Statistik uji
𝜙̂𝑖
𝑡ℎ𝑖𝑡𝑢𝑛𝑔 =
𝑠𝑒(𝜙̂𝑖 )
3. Kriteria uji
Tolak 𝐻0 jika nilai |𝑡ℎ𝑖𝑡𝑢𝑛𝑔 | > 𝑡(𝛼;𝑛−𝑝−1) atau 𝑝𝑣𝑎𝑙𝑢𝑒 < 𝛼, artinya parameter
2
Jika terdapat koefisien yang tidak signifikan, maka koefisien atau order lag
tersebut dapat dibuang dari model dan model dapat diestimasi kembali tanpa
39
3.3.4. Pengujian Diagnostik Model SARIMA
sudah memenuhi syarat suatu model layak atau tidak untuk melakukan peramalan.
Suatu model dikatakan layak jika parameter model sudah signifikan dan residual
Asumsi residual bersifat white noise maksudnya barisan variabel acak tidak
berkorelasi dengan rata-rata dan varians konstan (𝜎𝜀2 ), sehingga residual dari
masing-masing data saling independen antara satu dengan yang lainnya. Menurut
Pankratz (1983), uji white noise dilakukan dengan cara memodelkan ulang
∑𝑛−𝑘
𝑡=1 (𝜀̂𝑡 − 𝜀̅)(𝜀̂𝑡+𝑘 − 𝜀̅)
𝜌𝑘 (𝜀̂) =
∑𝑛−𝑘
𝑡=1 (𝜀̂𝑡 − 𝜀̅)
2
dengan 𝜌𝑘 (𝜀̂) adalah estimasi ACF residual, k adalah orde waktu, dan n adalah
1) Hipotesis
noise)
2) Statistik uji
40
𝑚
𝜌𝑘2
𝑄 = 𝑛 (𝑛 + 2) ∑ ,𝑛 > 𝑘 (3.8)
𝑛−𝑘
𝑘=1
3) Kriteria uji
2
Tolak 𝐻0 jika 𝑄 > 𝜒(𝛼,𝑚−𝑝−𝑞) atau 𝑝𝑣𝑎𝑙𝑢𝑒 < 𝛼, artinya residual tidak bersifat
white noise.
1) Hipotesis
2) Statistik uji
dengan
3) Kriteria uji
Tolak 𝐻0 jika 𝐷ℎ𝑖𝑡𝑢𝑛𝑔 > 𝐷(1−𝛼),𝑛 , artinya residual tidak berdistribusi normal.
SVR, data training dikonversikan ke dalam bentuk time lag yang nantinya sebagai
41
data input dalam model SVR. Untuk menentukan banyaknya lag untuk input data
pada SVR didasarkan pada penelitian Balkin (2000). Menurut Balkin (2000)
banyaknya lag untuk input SVR untuk data deret waktu bulanan adalah 1 lag
sampai 15 lag. Prosedurnya adalah dengan melakukan trial and error pada jumlah
1 lag sampai 15 lag, dipilih jumlah lag yang memiliki error terkecil.
penerapan SVM yang digunakan untuk kasus regresi yang outputnya berupa
bilangan riil atau kontinu. Ide dasar dari SVR yaitu dengan menentukan set data
yang dibagi menjadi data training dan data testing. Kemudian dari data training
tersebut ditentukan suatu fungsi regresi dengan batasan deviasi tertentu sehingga
suatu fungsi resiko (risk function) dengan cara meminimalkan batas atas dari
generalization error.
mencerminkan besaran deviasi dari nilai aktual untuk semua data training. Nilai 𝜀
menunjukkan batas dari rentang data aktual yang bisa diestimasi oleh fungsi.
Secara visual, model SVR membentuk semacam tabung (tube) yang lebarnya
masing-masing 𝜀 atau sering disebut 𝜀-tube .Ilustrasi model SVR disajikan pada
Gambar 3.1. Konsep SRM pada SVR ini menyebabkan SVR mampu mengatasi
42
menggambarkan random error atau noise, kondisi ini akan mengakibatkan hasil
(a) (b)
Gambar 3.1. (a). Ilustrasi model SVR, (b). Plot 𝜀-insensitive loss function
Dengan SVR, akan ditemukan suatu fungsi 𝑓(𝐱 𝑖 ) yang mempunyai deviasi paling
besar 𝜀 dari nilai aktual 𝑦𝑖 untuk semua data training maka dengan SVR ketika 𝜀
sama dengan 0 akan didapatkan regresi yang sempurna. Fungsi regresi yang
𝑓(𝐱 𝑖 ) = 𝐰. 𝐱 𝑖 + 𝑏 (3.10)
sini berfungsi untuk meminimalkan fungsi resiko. Fungsi resiko minimal akan
43
membuat suatu fungsi menjadi setipis (flat) mungkin sehingga kapasitas fungsi
atau dituliskan
𝑛
1
min ‖𝐰‖ 2 + 𝐶 ∑ 𝐸𝜀 (𝑦𝑖 − 𝑓(𝐱 𝑖 )) (3.11)
𝐰 2
𝑖=1
dengan ‖𝐰‖ adalah reguralisasi yang merupakan fungsi yang diminimumkan agar
membuat fungsi setipis (flat) mugkin. Konstanta 𝐶 (𝐶𝑜𝑠𝑡) > 0 adalah nilai tawar
(trade off) antara ketipisan fungsi 𝑓 dan batas atas deviasi lebih dari 𝜀 yang masih
bisa ditoleransi (Smola dan Scholkopf, 2004). Nilai C kemudian menjadi nilai
penalti dari data training yang memiliki deviasi lebih besar ɛ dari nilai aktual.
Jika nilai C terlalu kecil, maka fungsi akan semakin toleran terhadap kesalahan
tersebut. Sedangkan jika nilai C terlalu besar,maka fungsi akan semakin tidak
didefinisikan sebagai
dengan kendala
𝑦𝑖 ≤ 𝑓(𝐱 𝑖 ) + 𝜀
𝑦𝑖 ≥ 𝑓(𝐱 𝑖 ) − 𝜀
44
Fungsi regresi 𝑓 diasumsikan merupakan fungsi yang dapat
dalam rentang 𝑓 ± 𝜀 atau berada di dalam 𝜀-tube disebut feasible. Sedangkan titik
yang berada diluar rentang 𝑓 ± 𝜀 atau di luar 𝜀-tube disebut infeasible. Titik
infeasible ini ditambahkan dengan variabel slack positif 𝜉𝑖 , 𝜉𝑖∗ untuk mengatasi
dengan kendala
𝑦𝑖 ≤ 𝑓(𝐱 𝑖 ) + 𝜀 + 𝜉𝑖
𝜉𝑖 , 𝜉𝑖∗ ≥ 0
lagrange untuk setiap kendala pada persamaan (3.13) yang dituliskan sebagai
𝑛 𝑛
1
𝐿𝑝 (𝐰, 𝑏, 𝜉𝑖 , 𝜉𝑖∗ , 𝛼𝑖 , 𝛼𝑖∗ , 𝜂𝑖 , 𝜂𝑖∗ ) = ‖𝐰‖ 2 + 𝐶 ∑(𝜉𝑖 + 𝜉𝑖∗ ) − ∑(𝜂𝑖 𝜉𝑖 + 𝜂𝑖∗ 𝜉𝑖∗ )
2
𝑖=1 𝑖=1
𝑛 𝑛
45
dengan 𝛼𝑖 , 𝛼𝑖∗ , 𝜂𝑖 , 𝜂𝑖∗ ≥ 0 adalah koefisisien lagrange. Untuk meminimualkan
𝑛
𝜕𝐿𝑝
= 0 ⇒ ∑(𝛼𝑖 − 𝛼𝑖∗ ) = 0 (3.16)
𝜕𝑏
𝑖=1
𝜕𝐿𝑝
= 0 ⇒ 𝛼𝑖 + 𝜂𝑖 = 𝐶 (3.17)
𝜕𝜉𝑖
𝜕𝐿𝑝
= 0 ⇒ 𝛼𝑖∗ + 𝜂𝑖∗ = 𝐶 (3.18)
𝜕𝜉𝑖∗
Menurut Pratama (2018), karena koefisien langrange 𝛼𝑖 dan 𝛼𝑖∗ yang tidak
46
𝑛 𝑛 𝑛
1
max∗ ∑ 𝑦𝑖 (𝛼𝑖 −𝛼𝑖∗ ) − 𝜀 ∑(𝛼𝑖 +𝛼𝑖∗ ) − ∑ (𝛼𝑖 −𝛼𝑖∗ )(𝛼𝑗 −𝛼𝑗∗ )𝐱 𝑖 𝐱𝑗
𝛼𝑖 𝛼𝑖 2
𝑖=1 𝑖=1 𝑖,𝑗=1
dengan kendala
𝑛
∑(𝛼𝑖 − 𝛼𝑖∗ ) = 0
𝑖=1
0 ≤ 𝛼𝑖 , 𝛼𝑖∗ ≤ 𝐶. (3.19)
parameter w dalam bentuk koefisien lagrange 𝛼𝑖 dan 𝛼𝑖∗ yang dapat ditulis
kembali sebagai
𝑛
sehingga fungsi regresi pada persamaan (3.10) dapat dituliskan sebagai berikut
𝑛
training 𝐱 𝑖 atau disebut sebagai ekspansi support vector. Hal ini berarti bahwa
untuk membentuk fungsi regresi tidak tergantung pada data 𝐱 𝑖 di input space
tetapi tergantung pada jumlah support vector. Support vector pada SVR
merupakan data training yang berada tepat pada 𝜀-tube atau berada di luar 𝜀-tube
Menurut Smola dan Scholkopf (2004), solusi optimal untuk bias (b) dapat
yang menyatakan bahwa solusi yang diperoleh adalah optimal atau pada solusi
47
tersebut variabel dan kendala dari bentuk dualitas lagrange bertemu. Untuk
𝛼𝑖 (𝜀 + 𝜉𝑖 − 𝑦𝑖 + 𝑓(𝐱 𝑖 )) = 0 (3.22)
(𝐶 − 𝛼𝑖 )𝜉𝑖 = 0 (3.24)
Dari Persamaan (3.24) dan (3.25), nilai (𝐶 − 𝛼𝑖 ), (𝐶 − 𝛼𝑖∗ ) > 0 didapat saat
𝜉𝑖, 𝜉𝑖∗ = 0. Saat (𝐶 − 𝛼𝑖 ), (𝐶 − 𝛼𝑖∗ ) > 0, batasan awal nilai 𝛼𝑖 dan 𝛼𝑖∗ dari
persamaan (3.17) dan (3.18) berubah menjadi 𝛼𝑖 , 𝛼𝑖∗ < 𝐶. Sementara itu dari
persamaan (3.22) dan (3.23), 𝛼𝑖 , 𝛼𝑖∗ > 0 saat 𝜀 + 𝜉𝑖 − 𝑦𝑖 + 𝑓(𝐱 𝑖 ) dan 𝜀 + 𝜉𝑖∗ +
menjadi 0 < 𝛼𝑖 < 𝐶 dan 0 < 𝛼𝑖∗ < 𝐶. Pada saat nilai 𝛼𝑖 dan 𝛼𝑖∗ berada dalam
rentang ini, maka nilai 𝜉𝑖 dan 𝜉𝑖∗ akan sama dengan nol, sehingga Persamaan
𝜀 − 𝑦𝑖 + 𝑓 (𝐱 𝑖 ) = 0 untuk 0 ≤ 𝛼𝑖 ≤ 𝐶 (3.26)
𝑓 (𝐱 𝑖 ) = 𝐰. 𝐱 𝑖 + 𝑏 (3.28)
𝑏 = 𝑦𝑖 − 𝐰. 𝐱 𝑖 − 𝜀 untuk 0 ≤ 𝛼𝑖 ≤ 𝐶
dan
48
𝑏 = 𝑦𝑖 − 𝐰. 𝐱 𝑖 + 𝜀 untuk 0 ≤ 𝛼𝑖∗ ≤ 𝐶
Pada umumnya data dalam dunia nyata jarang yang bersifat linear
input space ke feature space dengan dimensi yang lebih tinggi melalui suatu
pada umumnya tidak diketahui dan sulit dipahami. Menurut Vapnik (1995),
masalah ini dapat diatasi dengan kernel trick yaitu perkalian skalar (dot product)
𝜑(𝐱 𝑖 ). 𝜑(𝐱) dalam feature space dapat digantikan dengan fungsi kernel
kernel maka support vector bisa ditentukan tanpa perlu mengetahui wujud fungsi
49
Perbedaan utama antara kasus linear dan nonlinear adalah bahwa dalam kasus
nonlinear, 𝐰 tidak diberikan secara eksplisit lagi. Selain itu, dalam kasus
harus diatur dengan benar karena dapat mempengaruhi akurasi regresi. Parameter
yang tidak tepat dapat menyebabkan untuk overfitting atau underfitting. Dalam
penelitian ini, kernel yang digunakan pada model SVR adalah kernel Radial Basis
Sehingga fungsi regresi SVR nonlinear dengan kernel RBF adalah sebagai berikut
𝑛
dengan 𝛾 > 0. SVR dengan fungsi kernel RBF memiliki tiga parameter yang
yang optimal untuk menghasilkan model terbaik. Metode yang digunakan untuk
mencari parameter optimal pada penelitian ini adalah metode grid search.
pada suatu model SVM untuk mencari nilai error dalam klasifikasi (Hsu et al.,
50
sehingga model tersebut mampu secara akurat memprediksi data testing. Salah
satu pendekatan dalam grid search adalah prosedur cross validation. Prosedur
cross validation adalah membagi secara acak data training menjadi n subset yang
berukuran sama. Satu subset digunakan sebagai data testing dan n-1 subset
Terdapat beberapa model dalam cross validation, pada penelitian ini akan
digunakan metode 10-fold cross validation. Pada 10-fold cross validation data
training set dipartisi secara acak menjadi 10 subset berukuran sama. Pada subset
sebagai data training. Proses validasi silang dilakukan sebanyak 10 kali. Hasil
dari setiap proses validasi kemudian dirata-ratakan untuk mendapatkan nilai error
klasifikasi tunggal. Keuntungan dari metode ini adalah setiap data pada penelitian
ini digunakan baik untuk validasi dan training tepat satu kali pada setiap proses
validasi.
yang sangat lama sehingga Hsu et al. (2016), menyarankan untuk melakukakan
grid search dengan dua tahap yaitu loose grid dan finer grid. Loose grid adalah
sedangkan finer grid adalah tahapan selanjutnya dari loose grid dimana saat
didapat nilai C dan 𝛾 dengan error terendah, maka finer grid menggunakan nilai
di sekitaran C dan 𝛾 tersebut. Sejalan dengan hal tersebut, pada penelitian ini akan
digunakan grid search dengan dua tahapan yaitu loose grid dan finer grid untuk
51
3.5. Model Hybrid SARIMA-SVR
lingkup linear maupun nonlinear masing-masing. Akan tetapi, tidak satupun dari
model tersebut yang merupakan model universal yang sesuai untuk setiap kondisi
data. Sering ditemukan kesulitan dalam penerapan model pada kasus data deret
waktu yang mengandung pola linear dan nonlinear sekaligus, sehingga kombinasi
nonlinear.
model SVR. Dalam model hybrid ini, data deret waktu diasumsikan terdiri dari
komponen linear dan koponen linear. Menurut Zhang (2003), secara umum model
data deret waktu yang merupakan kombinasi komponen linear dan nonlinear
𝑍𝑡 = 𝐿𝑡 + 𝑁𝑡
dengan 𝑍𝑡 merupakan data deret waktu pada waktu ke-t, 𝐿𝑡 merupakan komponen
input data deret waktu asli. Hasil estimasi dari model SARIMA selanjutnya
52
diasumsikan mengandung hubungan nonlinier. Residual dari model komponen
𝜀𝑡 = 𝑍𝑡 − 𝐿̂𝑡
dengan 𝜀𝑡 merupakan residual model SARIMA waktu ke-t dan 𝐿̂𝑡 merupakan
dengan input data merupakan residual dari model SARIMA. Model SVR dari
ditentukan oleh SVR dan 𝑟𝑡 merupakan residual model SVR pada waktu ke-t.
𝑍̂𝑡 = 𝐿̂𝑡 + 𝑁
̂𝑡
̂𝑡 komponen
komponen linear waktu ke-t hasil ramalan dari model SARIMA dan 𝑁
ketepatan estimasi model maupun ramalan. Nilai MAPE pada data training
53
digunakan untuk melihat ketepatan estimasi model sedangkan nilai MAPE pada
membagi persentase dari rata-rata harga mutlak residual pada tiap periode dengan
dengan 𝑍𝑡 adalah nilai observasi pada waktu ke-t, 𝑍̂𝑡 adalah nilai peramalan pada
waku ke-t dan n adalah banyaknya observasi. Model yang baik memiliki nilai
MAPE sesuai kriteria pada Tabel 3.1 (Chang, et al dalam Qomariyah, 2017).
Tahap awal dalam penelitian ini melakukan uji linearitas menggunakan uji
ramsey RESET. Data yang dikehendaki dalam peneltian ini adalah data yang
penentuan jumlah data training yang akan digunakan sebagai in sample dan
penentuan jumlah data testing sebagai out sample pada data harga gabah. Dasar
pembagian data ini berdasarkan kriteria Woschnagg dan Cipan (2004) bahwa
54
untuk data testing dapat sejumlah 10 persen dari total keseluruhan data.
Berdasarkan kriteria tersebut, sampel yang digunakan sejumlah 129 data (Januari
2009 - September 2019) dibagi menjadi dua bagian, yaitu sebanyak 116 data
training (Januari 2009 - Agustus 2018) dan 13 data testing (September 2018-
September 2019).
sebagai berikut
spektral.
10) Menggunakan residual SARIMA terbaik untuk input data SVR, diawali
11) Menentukan fungsi kernel yang digunakan yaitu kernel Radial Basis
Function (RBF).
55
12) Menentukan rentang nilai parameter 𝐶, 𝛾 dan 𝜀
15) Memperoleh nilai optimal dari parameter untuk model SVR sehingga didapat
16) Menggabungkan model pada langkah (8) dan (15) sehingga diperoleh model
hybrid SARIMA-SVR.
dan peramalan dengan menggunakan kriteria MAPE pada data training dan
testing.
SVR.
56
Mulai
Data Training Data Testing
Plot Data
Model SARIMA
Ya Tidak Terbaik
ARIMA Stasioner ? Differencing
Residual Model
SARIMA Terbaik
Tidak
Musiman ?
Penentuan Banyaknya
Time Lag Residual
SARIMA
Ya
Identifikasi Model SARIMA
Penentuan Kernel
RBF
Penentuan Rentang
Uji Parameter (𝐶, 𝛾 dan 𝜀)
Signifikansi Tidak
Parameter
Metode Grid Search
Ya Tahapan Loose Grid
Uji
Diagnostik Metode Grid Search
Tidak Tahapan Finer Grid
Ya
Pemilihan Model Model SVR
SARIMA Terbaik Terbaik
Peramalan Harga
Gabah
Selesai
57
BAB IV
HASIL DAN PEMBAHASAN
Dalam bab ini akan dijelaskan analisis dan hasil pemodelan hybrid
Penelitian ini menggunakan data harga gabah pada periode Januari 2009
sampai September 2019 (129 Data). Data harga gabah pada periode Januari 2009
sampai Agustus 2018 (116 Data) digunakan sebagai data training sedangkan data
pada periode September 2018 sampai September 2019 (13 Data) digunakan
sebagai data testing. Hasil analisis deskriptif data harga gabah pada periode
Januari 2009 sampai September 2019 dapat dilihat pada Tabel 4.1.
Berdasarkan Tabel 4.1 dapat ditunjukkan bahwa nilai rata-rata harga gabah
periode Januari 2009 sampai dengan September 2019 adalah 4.665,38 rupiah.
Selanjutnya, harga gabah tertinggi adalah pada Januari 2018 yaitu sebesar
6.001,87 rupiah. Sedangkan harga gabah terendah adalah pada April 2009 yaitu
58
sebesar 2.638,09 rupiah. Data harga gabah secara lengkap dapat dilihat pada
Lampiran 1.
September 2019 mengalami kenaikan yang cukup signifikan. Dengan harga rata-
rata gabah sebesar 4.665,38 rupiah diindikasikan bahwa data harga gabah tidak
stasioner dalam rata-rata. Untuk membuktikan hal tersebut, maka dilakukan uji
menggunakan uji Ramsey RESET dengan statistik uji mengikuti persamaan (2.4).
Hasil uji Ramsey RESET pada data harga gabah selama periode Januari 2009
Berdasarkan Tabel 4.2 menunjukkan bahwa nilai statistik uji Ramsey RESET
yang lebih besar dari F(0,05;1;113) = 3,9251 atau nilai p-value yang lebih kecil dari
𝛼 = 5 % maka dapat disimpulkan 𝐻0 ditolak yang berarti bahwa data harga gabah
Lampiran 2.
59
4.3. Identifikasi Plot Data Harga Gabah
Langkah awal dalam analisis deret waktu adalah dengan membuat plot data
secara visual. Plot data deret waktu mengenai pergerakan harga gabah dari
periode Januari 2009 sampai dengan Agustus 2018 dapat dilihat pada Gambar 4.1.
0 20 40 60 80 100 120
Gambar 4.1 Plot Data Harga Gabah Januari 2009 – Agustus 2018
pada Januari 2009 sampai Agustus 2018 menunjukkan pola tren naik dan juga
terjadi fluktuasi harga gabah. Fenomena ini mengindikasikan bahwa harga gabah
sepanjang Januari 2009 sampai Agustus 2018 cenderung terus meningkat serta
terjadi kenaikan dan penurunan harga setiap tahun. Fluktuasi harga tersebut
diduga disebabkan oleh adanya adanya efek musiman seperti musim panen yang
bersamaan sebagai akibat dari musim tanam yang hampir bersamaan. Sehingga,
60
akan dilakukan pengujian stasioneritas dan identifikasi pola musiman pada data
harga gabah.
Syarat yang harus dipenuhi sebelum melakukan analisis data deret waktu
adalah kestasioneran data. Dalam penelitian ini dilakukan uji stasioneritas data
menggunakan uji Augmented Dickey Fuller (ADF) untuk data harga gabah. Hasil
uji ADF pada data harga gabah disajikan pada Tabel 4.3.
Tabel 4.3 Uji ADF Data Harga Gabah Sebelum dan Sesudah Differencing
Berdasarkan Tabel 4.3, hasil uji ADF pada data harga gabah menunjukkan
disimpulkan data harga gabah tidak stasioner. Oleh karena itu, salah satu cara
yang dilakukan untuk membuat data stasioner adalah dengan differencing. Setelah
differencing orde satu, hasil uji ADF pada data harga gabah hasil differencing
61
(2.8). Selain untuk melihat ada tidaknya pola musiman pada data deret waktu,
regresi spektral juga digunakan untuk menentukan periode dari musiman. Hasil
pengujian efek musiman pada data harga gabah dengan menggunakan regresi
Tabel 4.4 Identifikasi Pola Musiman Pada Data Harga Gabah Menggunakan
Regresi Spektral
Berdasarkan Tabel 4.4, hasil identifikasi pola musiman pada data harga
gabah menunjukkan nilai statistik uji regresi spektral 𝑇 = 0,2043092 yang lebih
mengunakan regresi spektral juga diperoleh bahwa data harga gabah mempunyai
nilai periodesitas musiman 6,052632. Artinya data harga gabah mempunyai pola
untuk model SARIMA yang akan dibangun. Identifikasi awal orde waktu pada
62
penelitian ini dilakukan berdasarkan plot ACF dan PACF yang dibangun
gabah merupakan data yang tidak stasioner sehingga perlu dilakukan differencing
pertama. Plot ACF dan PACF data asli dan data hasil differencing pertama
terdapat pada Lampiran 4. Selain itu, identifikasi pola musiman pada data harga
gabah menunjukkan bahwa data harga gabah mengandung pola musiman dengan
dan PACF data harga gabah setelah dilakukan diferencing pertama dan
0.0
0.5
Partial ACF
-0.2
ACF
0.0
-0.4
-0.6
-0.5
0 10 20 30 40 50 0 10 20 30 40 50
Lag Lag
Gambar 4.2 Plot ACF dan PACF Data Harga Gabah Diferencing Pertama
dan Diferencing Musiman lag 6
menggunakan plot ACF dan PACF pada Gambar 4.2. Berdasarkan Gambar 4.2
63
terlihat bahwa ACF maupun PACF signifikan pada lag 6 sehingga ditetapkan
yang baik adalah model yang memiliki parameter yang sedikit) dapat digunakan
Lampiran 6.
Estimasi Standar
No Model Parameter t-hitung Kesimpulan
Parameter Error
SARIMA AR Musiman (1) -0,5437 0,1205 -4,51 Signifikan
1
(0,1,0)(1,1,1)6 MA Musiman (1) -0,7558 0,1771 -4,27 Signifikan
AR (1) -0,6121 0,2151 -2,85 Signifikan
AR (2) -0,2463 0,0964 -2,56 Signifikan
SARIMA
2 MA(1) 0,5148 0,2111 2,44 Signifikan
(2,1,1)(1,1,1)6
AR Musiman (1) -0,5459 0,1068 -5,11 Signifikan
MA Musiman (1) -0,8073 0,1361 -5,93 Signifikan
AR (1) -0,9564 0,1332 -7,18 Signifikan
AR(2) -0,8367 0,1747 -4,79 Signifikan
SARIMA MA(1) 0,8581 0,1845 4,65 Signifikan
3
(2,1,2)(1,1,1)6 MA(2) 0,6319 0,2256 2,80 Signifikan
AR Musiman (1) -0,5781 0,0933 -6,20 Signifikan
MA Musiman (1) -0,9152 0,1572 -5,82 Signifikan
64
Berdasarkan Lampiran 6 terdapat sembilan kemungkinan model SARIMA.
menggunakan nilai t-tabel sebesar 1,98 maka dari sembilan kemungkinan model
SARIMA hanya tiga model yang memiliki hasil uji parsial semua parameternya
SARIMA(2,1,2)(1,1,1)6. Hasil uji parsial ketiga model tersebut dapat dilihat pada
Tabel 4.5. Tahap selanjutnya dilakukan uji diagnostik dari ketiga model tersebut
dengan melakukan uji residual white noise dan uji residual normal untuk
keseluruhan.
model deret waktu sudah terpenuhi. Dalam penelitian ini, uji asumsi yang
dilakukan adalah uji residual white noise dengan statistik uji menggunakan
persamaan (3.8). Hasil pengujian residual white noise dari model SARIMA yang
Hasil uji asumsi white noise pada Tabel 4.6 menunjukkan bahwa pada
untuk setiap lag mempunyai nilai p-value lebih besar dari 𝛼 = 5 %, maka dapat
disimpulkan 𝐻0 diterima yang berarti bahwa tidak ada korelasi antar residual
(1,1,1)6 pada nilai uji Portmanteau terdapat lag yang mempunyai nilai p-value
65
lebih kecil dari 𝛼 = 5 %, maka dapat disimpulkan 𝐻0 ditolak yang berarti bahwa
terdapat korelasi antar residual sehingga asumsi residual white noise pada model
MODEL
Lag SARIMA(0,1,0)(1,1,1)6 SARIMA(2,1,1)(1,1,1)6 SARIMA(2,1,2)(1,1,1)6
Statistik p-value Statistik p-value Statistik p-value
1 1,2597 0,2617 0,0052 0,9426 4,5681e-04 0,9829
3 7,4340 0,0593 0,0747 0,9947 0,31323 0,9575
5 11,5021 0,0423 3,1163 0,6821 1,2217 0,9428
7 14,2707 0,0466 5,4803 0,6016 2,3129 0,9405
9 14,6142 0,1021 5,8340 0,7564 3,1758 0,9569
… … … … … … …
59 82,0763 0,0252 58,8144 0,4823 46,1963 0,8876
60 82,1183 0,0305 58,8630 0,5173 46,4685 0,8998
menggunakan uji Kolmogorov Smirnov dengan statistik uji pada persamaan (3.9).
Hasil uji asumsi residual normal dengan uji Kolmogorov Smirnov menunjukkan
kecil dari 𝛼 = 5 %. Hal ini berarti bahwa 𝐻0 ditolak sehingga dapat disimpulkan
66
berdistribusi normal dapat diabaikan. Secara lengkap, hasil pengujian diagnostik
67
kernel. Sebelum masuk ke pemodelan menggunakan SVR, langkah pertama yang
bentuk time lag yang nantinya sebagai data input dalam model SVR. Penentuan
banyak time lag adalah dengan melakukan percobaan (trial and error) yaitu
mencoba segala kemungkinan banyaknya time lag (antara 1 lag sampai 15 lag)
dan memilih jumlah time lag yang memberikan nilai error terkecil. Dari proses
trial and error seperti pada Lampiran 7, didapat nilai error terkecil adalah pada
digunakan SVR adalah dengan input data residual sebanyak dua lag.
untuk kasus nonlinear adalah menentukan fungsi kernel. Pada penelitian ini
dibatasi hanya menggunakan fungsi kernel Radial Basic Function (RBF). Pada
mendapatkan nilai parameter yang optimal maka pada penelitian ini digunakan
metode grid search menggunakan prosedur 10-fold cross validation dengan dua
parameter. Pada tahapan loose grid digunakan nilai parameter C dan 𝛾 dengan
penelitian ini rentang nilai parameter yang digunakan pada metode grid search
68
Tabel 4.8 Rentang Nilai Parameter Metode Grid Search Tahapan Loose Grid
Rentang nilai parameter pada Tabel 4.8 digunakan untuk proses penentuan
parameter model SVR. Melalui proses grid search pada tahapan loose grid
diperoleh nilai optimal dari parameter model SVR adalah 𝐶 = 2−1 , 𝛾 = 27 dan
𝜀 = 0,02. Setelah diperoleh parameter optimal model SVR pada tahapan loose
grid, maka langkah selanjutnya dilakukan grid search menggunakan metode grid
search tahapan finer grid. Finer grid merupakan tahapan grid search
menggunakan sekitaran nilai C, 𝛾 dan 𝜀 yang diperoleh pada tahapan loose grid.
Tabel 4.9. Rentang Nilai Parameter Metode Grid Search Tahapan Finer Grid
Rentang nilai parameter yang digunakan pada tahapan finer grid dapat
dilihat pada Tabel 4.9. Melalui proses grid search pada tahapan finer grid
diperoleh nilai optimal dari parameter model SVR adalah 𝐶 = 2−1,25 , 𝛾 = 27 dan
tahapan finer grid merupakan parameter optimal yang digunakan pada model
SVR. Sehingga diperoleh model SVR terbaik adalah model SVR menggunakan
69
kernel Radial Basic Function (RBF) dengan nilai parameternya adalah 𝐶 =
model SVR disebut sebagai komponen nonlinear dari model hybrid SARIMA-
menggunakan model SVR terbaik. Pada penelitian ini diperoleh model hybrid
70
membandingan nilai MAPE. Hasil perhitungan nilai MAPE pada data training
dan testing pada model SARIMA dan hybrid SARIMA-SVR dapat dilihat pada
Tabel 4.10.
Karenanya dalam peramalan harga gabah selama satu tahun kedepan (Oktober
meramalkan harga gabah pada Oktober 2019 – September 2020. Hasil peramalan
harga gabah pada Oktober 2019 – September 2020 yang dapat dilihat pada Tabel
4.11.
71
Tabel 4.11. Peramalan Harga Gabah Oktober 2019 – September 2020
72
BAB V
5.1. Kesimpulan
deret waktu univariat untuk data deret waktu yang tidak stasioner, terdapat pola
musimam dan memiliki pola data linear dan nonlinear sekaligus. Penelitian ini
didasarkan pada fenomena kondisi data deret waktu yang tidak stasioner dan
data yang dianalisis dalam penelitian ini juga memiliki pola data yang linear
linear. Residual dari model SARIMA dijadikan input untuk model SVR.
73
menggunakan kernel RBF dengan nilai parameternya adalah 𝐶 =
model SARIMA dan model SVR, yang ditunjukkan dari nilai MAPE paling
5.2. Saran
Berdasarkan hasil penelitian yang telah dilakukan, maka saran yang dapat
diberikan adalah
1. Model hybrid SARIMA-SVR adalah salah satu alternatif model yang dapat
musiman dan memiliki pola data linear dan nonlinear sekaligus. Penelitian
data yang tidak stasioner, terdapat pola musiman dan memiliki pola data
2. Model SVR pada penelitian ini menggunakan fungsi kernel RBF. Untuk
3. Penerapan model hybrid SARIMA-SVR pada penelitian ini adalah pada data
harga gabah yang merupakan data deret waktu bulanan. Untuk penelitian
waktu harian dengan jumlah pengamatan selama lebih dari satu tahun.
74
DAFTAR PUSTAKA
Aguilar, J.J.R, Turias, I.J, Come, M.J.J and Cerbán, M.M. 2011. Hybrid
Approaches of Support Vector Regression and SARIMA Models to
Forecast the Inspections Volume. Intelligent Modelling of Systems
Research Group, University of Cádiz.
Alwee, R., Shamsuddin, S.M and Sallehuddin, R. 2013. Hybrid Support
Vector Regression and Autoregressive Integrated Moving Average
Models Improved by Particle Swarm Optimization for Property
Crime Rates Forecasting with Economic Indicators. The Scientific
World Journal Volume 2013.
Amalia. 2009. Peranan Persyaratan Karush-Kuhn-Tucker Dalam
Menyelesaikan Pemrograman Kuadratis. Skripsi. Medan:
Universitas Sumatera Utara.
Balkin, S.D., and Ord, J.K. 2000. Automatic neural network modeling for
univariate time series. International Journal of Forecasting, Vol. 16
: 509-515.
Bappenas. 2010. Rencana Pembangunan Jangka Menengah (RPJHMN)
2010-2014 (Peraturan Pemerintah Nomor 5 Tahun 2010).
Jakarta : Bappenas.
Boser, B.E., Guyon, I., and Vapnik, V. 1992. A Training Algorithm for
Optimal Margin Classifiers. Proceedings of the fifth annual
workshop on Computational learning theory (COLT) : 144-152.
Box, G.E., and Jenkins, G.M. 1976. Time Series Analysis Forecasting and
Control. California : Holden Day.
BPS. 2018. Statistik Harga Produsen Gabah di Indonesia. Jakarta: BPS.
Chatfield, C. 2004. The Analysis of Time Series An Indtroduction Sixth
Edition. United States of America : Chapman & Hall/CRC.
Chen, K. Y. dan Wang, C. H. 2007. A hybrid SARIMA and support vector
machines in forecasting the production values of the machinery
industry in Taiwan. Expert Systems with Applications 32, 254–264.
75
Cryer, J.D. 1986. Time Series Analysis. Boston : PWS-KENT Publishing
Company
Darmawan, G., Mulyani, S., dan Sudartianto. 2012. Pengujian Pola Musiman
Pada Data Deret Waktu Dengan Menggunakan Regresi Spektral.
Prosiding Seminar Nasional Statistika FMIPA Universitas
Padjajaran : 63-72.
Ding, Z. 2012. Application od Support Vector Machine Regression in Stock
Price Forecasting. Business, Economics, and Financial Sci.,
Manag., AISC 143, 359-365.
Haykin, S. 2009. Neural Networks and Learning Machines, Third Edition.
New Jersey : Pearson Education, Inc.
Hsu, C. W., Chang, C.C., and Lin, C.J. 2016. A Practical Guide to Support
Vector Classificaton. Taipei : Department of Computer Science
National Taiwan University.
Kim, T.H., Lee., Y.S., and Newbold, P. 2004. Spurious Nonlinear Regressions
in Econometrics. Nottingham: University of Nottingham.
Licker, M. D. 2003. Dictionary of Mathematics: Second Edition. New York :
McGraw-Hill.
Makridakis, S and Wheelwright, S.C. 1999. Metode dan aplikasi peramalan.
Jakarta : Binarupa Aksara.
Mulyaningsih, T. 2015. Model Generalized Space Time Autoregressive
Integrated untuk Peramalan Indeks Harga Konsumen Beberapa
Kota di Jawa Tengah. Tesis. Bandung: Universitas Padjajaran.
Pai, P. F dan Lin, C. S. 2005. A hybrid ARIMA and support vector machines
model in stock price forecasting. The International Journal of
Management Science Omega 33, 497-505.
Pankratz, A. 1983. Forecasting With Univariate Box-Jenkins Models Concept
and Cases. New York : John Wiley and Sons.
Pramudhitasari, L. 2016. Model Hybrid ARIMA-SVR untuk Peramalan Data
Runtun Waktu. Tesis. Yogyakarta : Universitas Gajah Mada.
76
Pratama, J.A. 2018. Sentiment Analysis Menggunakan Algoritma Support
Vector Machines Pada Layanan Jejaring Sosial Twitter (Studi
Kasus Elektabilitas Bakal Calon Gubernur dan Bakal Calon Wakil
Gubernur PILKADA Jawa Barat Tahun 2018). Tesis. Bandung:
Universitas Padjadjaran.
Qomariyah, L. 2017. Penerapan Model Generalized Space Time
Autoregressive Integrated Moving Average (GSTARIMA) untuk
Peramalan Volume Ekspor Perikanan dan Komoditas Laut
Lainnya. Tesis. Bandung: Universitas Padjadjaran.
Ramsey, J. B. 1969. Tests for Specification Errors in Classical Linear Least
Squares Regression Analysis. Journal of the Royal Statistical
Society, Series B. 31 (2): 350–371.
Santosa, B. 2007. Data Mining: Teknik Pemanfaatan Data untuk Keperluan
Bisnis, Teori dan Aplikasi. Yogyakarta : Graha Ilmu.
Smola, A.J. dan Scholkopf, B. 2004. A Tutorial On Support Vector
Regression. Statistic and Computing 14, 199-222.
Terui, N dan Van Dijk, H. K. 2002. Combined forecasts from linear and non
linear time series models. International Journal of Forecasting 18.
421-438.
Vapnik, V.N. 1995. The Nature of Statistical Learning Theory. New York:
Springer
Woschnagg, E dan Cipan, J. 2004. Evaluating Forecast Accuracy. University
of Vienna: Austria.
Wei, W.W.S. 2006. Time Series Analysis: Univariate and Multivariate
Methods, Second Edition. New York : Pearson Education.
Zhang, G.P. 2003. Time Series Forecasting using a Hybrid ARIMA dan
Neural Network Model. Neurocomputing 50,159-175.
77
LAMPIRAN
Lampiran 1. Data Bulanan Rata-rata Harga Gabah Kering Giling (GKG) Nasional
Tingkat Petani Periode Januari 2009 sampai dengan September 2019
Harga Harga
No Bulan No Bulan
Gabah Gabah
1 Januari 2009 3035.53 33 September 2011 4190.09
2 Februari 2009 3128.5 34 Oktober 2011 4291.77
3 Maret 2009 3006.1 35 November 2011 4371.45
4 April 2009 2638.09 36 Desember 2011 4550.31
5 Mei 2009 2984.03 37 Januari 2012 4708.08
6 Juni 2009 3019.01 38 Februari 2012 4640.1
7 Juli 2009 2947.03 39 Maret 2012 4266.05
8 Agustus 2009 2970.75 40 April 2012 4265.04
9 September 2009 3019.95 41 Mei 2012 4258.67
10 Oktober 2009 3117.39 42 Juni 2012 4305.13
11 November 2009 3020.89 43 Juli 2012 4428.95
12 Desember 2009 3079.79 44 Agustus 2012 4380.32
13 Januari 2010 3475.98 45 September 2012 4405.29
14 Februari 2010 3552.97 46 Oktober 2012 4465.66
15 Maret 2010 3516.07 47 November 2012 4585.89
16 April 2010 3186.38 48 Desember 2012 4773.62
17 Mei 2010 3358.29 49 Januari 2013 4812.16
18 Juni 2010 3412.52 50 Februari 2013 4724.86
19 Juli 2010 3463.2 51 Maret 2013 4437.56
20 Agustus 2010 3548.33 52 April 2013 4232.08
21 September 2010 3533.86 53 Mei 2013 4448.57
22 Oktober 2010 3681.24 54 Juni 2013 4503.1
23 November 2010 3791.32 55 Juli 2013 4587.16
24 Desember 2010 3868.86 56 Agustus 2013 4581.08
25 Januari 2011 4144.8 57 September 2013 4627.11
26 Februari 2011 3987.38 58 Oktober 2013 4664.4
27 Maret 2011 3742.33 59 November 2013 4704.82
28 April 2011 3663.81 60 Desember 2013 4805.64
29 Mei 2011 3577.62 61 Januari 2014 4776.26
30 Juni 2011 3859.65 62 Februari 2014 4791.95
31 Juli 2011 3990.07 63 Maret 2014 4790.71
32 Agustus 2011 3988.54 64 April 2014 4528.88
78
Harga Harga
No Bulan No Bulan
Gabah Gabah
65 Mei 2014 4572.07 98 Februari 2017 5524.85
66 Juni 2014 4664.43 99 Maret 2017 5451.71
67 Juli 2014 4597.59 100 April 2017 5219.96
68 Agustus 2014 4630.94 101 Mei 2017 5531.22
69 September 2014 4643.25 102 Juni 2017 5564.34
70 Oktober 2014 4782.74 103 Juli 2017 5457.41
71 November 2014 4936.49 104 Agustus 2017 5470.63
72 Desember 2014 5264.16 105 September 2017 5502.49
73 Januari 2015 5447.14 106 Oktober 2017 5531.88
74 Februari 2015 5357 107 November 2017 5593.36
75 Maret 2015 5264.01 108 Desember 2017 5605.6
76 April 2015 4842.69 109 Januari 2018 6001.87
77 Mei 2015 4885.75 110 Februari 2018 5960.91
78 Juni 2015 5234.51 111 Maret 2018 5441.81
79 Juli 2015 5237.8 112 April 2018 5242.38
80 Agustus 2015 5247.92 113 Mei 2018 5266.89
81 September 2015 5330.12 114 Juni 2018 5360.66
82 Oktober 2015 5355.76 115 Juli 2018 5206.27
83 November 2015 5523.57 116 Agustus 2018 5307.94
84 Desember 2015 5631.66 117 September 2018 5398.92
85 Januari 2016 5689.13 118 Oktober 2018 5467.2
86 Februari 2016 5753.18 119 November 2018 5646.37
87 Maret 2016 5500.77 120 Desember 2018 5713.71
88 April 2016 5473.99 121 Januari 2019 5779.84
89 Mei 2016 5509.78 122 Februari 2019 5827.67
90 Juni 2016 5430.07 123 Maret 2019 5529.65
91 Juli 2016 5380.28 124 April 2019 5126.59
92 Agustus 2016 5404.89 125 Mei 2019 5171.89
93 September 2016 5284.58 126 Juni 2019 5246
94 Oktober 2016 5311.7 127 Juli 2019 5277.23
95 November 2016 5325.28 128 Agustus 2019 5308.74
96 Desember 2016 5438.21 129 September 2019 5391.51
97 Januari 2017 5542.32
79
Lampiran 2. Uji Linearitas
1. Hipotesis
2. Statistik uji
3. Kriteria uji
Tolak 𝐻0 jika 𝑅𝐸𝑆𝐸𝑇 > 𝐹(𝑘−1,𝑛−𝑘) atau p-value <𝛼, artinya data harga gabah
80
Lampiran 3. Syntax Software R Identifikasi Musiman
#DATA TRAINING
GABAH<-OLAH[1:116]
#DIFFERENCING PERTAMA
GABAH.diff1<-diff(GABAH, diff=1)
81
k<-which.max(periodogram)
omega<-(2*pi*k)/n
Periode<-(2*pi)/omega
Thitung<-(max(periodogram))/sum(periodogram)
Nbintang<-c(seq(5,50,by=5))
galpha<-c(0.68377,0.44495,0.33462,0.27040,0.22805,0.19784,
0.17513,0.15738,0.14310,0.13135)
Tabel<-cbind(Nbintang,galpha)
Ttabel<-Tabel[10,2]
> Thitung
[1] 0.2043092
> Ttabel
galpha
0.13135
> Periode
[1] 6.052632
82
Lampiran 4. Plot ACF dan PACF
1.0
1.0
0.8
0.8
0.6
0.6
Partial ACF
ACF
0.4
0.4
0.2
0.2
0.0
0.0
-0.2
-0.2
0 10 20 30 40 50 0 10 20 30 40 50
Lag Lag
0.3
0.8
0.2
0.6
0.1
Partial ACF
0.4
ACF
0.0
0.2
-0.1
0.0
-0.2
-0.2
-0.3
0 10 20 30 40 50 0 10 20 30 40 50
Lag Lag
83
Lampiran 5. Syntax Software R Model Hybrid SARIMA-SVR
rm(list=ls())
library(tseries)
library(forecast)
library(fGarch)
library(lmtest)
library(tidyverse)
library(FinTS)
library("portes")
#INPUT DATA HARGA GABAH
data <- read.table(file.choose(), header=T, sep=",")
data
OLAH=data[,2]
OLAH
84
#ADF TEST DATA DIFFERENCING PERTAMA (PERIODE=6)- UJI
STASIONERITAS
adf.test(GABAHmus.diff1)
#PLOT ACF & PACF DIFFERENCING PERTAMA (PERIODE=6)
win.graph()
par(mfrow=c(3,1))
ts.plot(GABAHmus.diff1, col = "green", main = "Plot Data
Gabah Diffencing Pertama dan Differencing Musiman Pertama ")
acf(GABAHmus.diff1,lag=50)
pacf(GABAHmus.diff1,lag=50)
#STATISTIK UJI T
n<-length(GABAH)
85
qt(c(0.025), df=n-1, lower.tail=F)
#UJI DIAGNOSTIK
#MODEL SARIMA(0,1,0)(1,1,1)6– SARIMA_MODEL1
residu1<-Sarima_Model1$residuals
portest(residu1,lags=seq(1,60,1),test=c("Ljung"),
MonteCarlo=FALSE)
ks.test(residu1,"pnorm")
#MODEL SARIMA(2,1,1)(1,1,1)6 – SARIMA_MODEL7
residu7<-Sarima_Model7$residuals
portest(residu7,lags=seq(1,60,1),test=c("Ljung"),
MonteCarlo=FALSE)
ks.test(residu7,"pnorm")
#MODEL SARIMA(2,1,2)(1,1,1)6 – SARIMA_MODEL9
residu9<-Sarima_Model9$residuals
portest(residu9,lags=seq(1,60,1),test=c("Ljung"),
MonteCarlo=FALSE)
ks.test(residu9,"pnorm")
#MASUK KE SVR
#DATA TIME LAG
residu_train<-window(residu_sarima)
#TIME LAG = 2
d1=CasesSeries(residu_train, c(1,2))
d1
train_Y<-d1[3]
train_X<-d1[1:2]
train_Y
train_X
#GRID SEARCH
86
#LOOSE GRID
set.seed(1000)
tc <- tune.control(cross = 10)
tune.model1<-tune.svm(y~., data=d1, scale=T, type="eps-
regression",
kernel="radial",cost=list(2^-7,2^-5,2^-3,2^-
1,2^1,2^3,2^5,2^7), epsilon=seq(0.01,0.1,0.01),
gamma=list(2^-7,2^-5,2^-3,2^-1,2^1,2^3,2^5,2^7),
tolerance=0.001, shrinking=T, fitted=T, tunecontrol = tc)
summary(tune.model1)
model.svm1<-tune.model1$best.model
model.svm1
#FINER GRID
set.seed(1000)
tc <- tune.control(cross = 10)
tune.model2<-tune.svm(y~., data=d1, scale=T, type="eps-
regression",
kernel="radial", cost=list(2^-1.75, 2^-1.5, 2^-1.25, 2^-1,
2^-0.75, 2^-0.5, 2^-0.25), epsilon=0.02,
gamma=list(2^6.25, 2^6.5, 2^6.75, 2^7),
tolerance=0.001, shrinking=T, fitted=T, tunecontrol = tc)
summary(tune.model2)
model.svm2<-tune.model2$best.model
model.svm2
87
pred_test4<-predict(model.svm2,
newdata=data.frame(lag2=pred_test2,lag1=pred_test3))
pred_test5<-predict(model.svm2,
newdata=data.frame(lag2=pred_test3,lag1=pred_test4))
pred_test6<-predict(model.svm2,
newdata=data.frame(lag2=pred_test4,lag1=pred_test5))
pred_test7<-predict(model.svm2,
newdata=data.frame(lag2=pred_test5,lag1=pred_test6))
pred_test8<-predict(model.svm2,
newdata=data.frame(lag2=pred_test6,lag1=pred_test7))
pred_test9<-predict(model.svm2,
newdata=data.frame(lag2=pred_test7,lag1=pred_test8))
pred_test10<-predict(model.svm2,
newdata=data.frame(lag2=pred_test8,lag1=pred_test9))
pred_test11<-predict(model.svm2,
newdata=data.frame(lag2=pred_test9,lag1=pred_test10))
pred_test12<-predict(model.svm2,
newdata=data.frame(lag2=pred_test10,lag1=pred_test11))
pred_test13<-predict(model.svm2,
newdata=data.frame(lag2=pred_test11,lag1=pred_test12))
pred_test<-
c(pred_test1,pred_test2,pred_test3,pred_test4,pred_test5,pre
d_test6,pred_test7,
pred_test8,pred_test9,pred_test10,pred_test11,pred_tes
t12,pred_test13)
pred_test
88
Lampiran 6. Hasil Uji Parsial Model SARIMA
Estimasi Standar
No Model Parameter t-hitung Kesimpulan
Parameter Error
SARIMA AR Musiman (1) -0.5437 0.1205 -4.5120 Signifikan
1
(0,1,0)(1,1,1)6 MA Musiman (1) -0.7558 0.1771 -4.2676 Signifikan
AR (1) -0.1011 0.0973 -1.0391 Tidak Signifikan
SARIMA
2 AR Musiman (1) -0.5649 0.1162 -4.8614 Signifikan
(1,1,0)(1,1,1)6
MA Musiman (1) -0.7516 0.1693 -4.4395 Signifikan
MA (1) -0.1415 0.1104 -1.2817 Tidak Signifikan
SARIMA
3 AR Musiman (1) -0.5727 0.1133 -5.0547 Signifikan
(0,1,1)(1,1,1)6
MA Musiman (1) -0.7510 0.1633 -4.5989 Signifikan
AR (1) 0.5248 0.3610 1.4537 Tidak Signifikan
SARIMA MA (1) -0.6625 0.3203 -2.0684 Signifikan
4
(1,1,1)(1,1,1)6 AR Musiman (1) -0.5761 0.1127 -5.1118 Signifikan
MA Musiman (1) -0.7217 0.1626 -4.4385 Signifikan
AR (1) -0.1195 0.0977 -1.2231 Tidak Signifikan
SARIMA AR (2) -0.1656 0.0932 -1.7768 Signifikan
5
(2,1,0)(1,1,1)6 AR Musiman (1) -0.5647 0.1068 -5.2875 Signifikan
MA Musiman (1) -0.7644 0.1437 -5.3194 Signifikan
MA (1) -0.0779 0.1027 -0.7585 Tidak Signifikan
SARIMA MA (2) -0.1880 0.1098 -1.7122 Tidak Signifikan
6
(0,1,2)(1,1,1)6 AR Musiman (1) -0.5613 0.1106 -5.0750 Signifikan
MA Musiman (1) -0.7509 0.1471 -5.1047 Signifikan
AR (1) -0.6121 0.2151 -2.8457 Signifikan
AR (2) -0.2463 0.0964 -2.5550 Signifikan
SARIMA
7 MA(1) 0.5148 0.2111 2.4387 Signifikan
(2,1,1)(1,1,1)6
AR Musiman (1) -0.5459 0.1068 -5.1114 Signifikan
MA Musiman (1) -0.8073 0.1361 -5.9317 Signifikan
AR (1) -0.3979 0.2888 -1.3778 Tidak Signifikan
MA(1) 0.3137 0.2884 1.0877 Tidak Signifikan
SARIMA
8 MA(2) -0.2135 0.0913 -2.3384 Signifikan
(1,1,2)(1,1,1)6
AR Musiman (1) -0.5514 0.1116 -4.9409 Signifikan
MA Musiman (1) -0.7747 0.1468 -5.2772 Signifikan
AR (1) -0.9564 0.1332 -7.1802 Signifikan
AR(2) -0.8367 0.1747 -4.7894 Signifikan
SARIMA MA(1) 0.8581 0.1845 4.6509 Signifikan
9
(2,1,2)(1,1,1)6 MA(2) 0.6319 0.2256 2.8010 Signifikan
AR Musiman (1) -0.5781 0.0933 -6.1961 Signifikan
MA Musiman (1) -0.9152 0.1572 -5.8219 Signifikan
89
Lampiran 7. Trial and Error Pemilihan Jumlah Lag Input Data Model SVR
90