10 Oktober 2016
Analitik Data Tingkat Lanjut
(Regresi)
Pokok Bahasan
1. Konsep Regresi
2. Analisis Teknikal dan Fundamental
3. Regresi Linear & Regresi Logistic (Optional)
4. Regresi Non-Linear
o Extreme Learning Machine (ELM) untuk Big Data o Support Vector Machine (SVM) untuk Regresi
(Support Vector Regression (SVR))
5. Studi Kasus
6. Tugas
Konsep Regresi (Just Review)
• Regresi adalah membangun model untuk memprediksi nilai (satu target atau multi-target) dari data masukan (dengan dimensi tertentu) yang telah ada.
• Goal : Membangun model regresi untuk mencari hubungan antara satu atau lebih variabel independen atau prediktor (X atau X1, X2, .., Xn) dengan variabel dependen atau respon single atau multi-target (Y atau
Y1, Y2, .., Yn). 13200 13250 13300 13350 13400 13450 13500 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Visualisasi Hasil Peramalan Iterasi SVR 100000
Konsep Regresi (Just Review)
• Prediksi berbeda dengan klasifikasi (dalam machine
learning, klasifikasi dianggap sebagai salah satu jenis
dari prediksi).
• Klasifikasi digunakan untuk memprediksi label kelas/kategori.
• Klasifikasi dapat dibagi lagi menjadi dua macam, yaitu: – supervised classification (Klasifikasi) dan
– unsupervised classification (Clustering sudah dibahas pada pertemuan sebelumya)
• Prediksi versus Peramalan (Jangka waktu merupakan kata kunci untuk membedakan antara prediksi dan peramalan)
Ada beberapa jenis pendekatan yang dilakukan untuk meramalkan, misal pada nilai tukar uang diantaranya (Madura, 2011):o Analisis Teknikal
Melibatkan data historis nilai tukar untuk meramalkan nilai di masa yang
akan datang.
Prinsip yang biasanya dianut oleh para teknikalis, bahwa nilai kurs sudah
menjadi nilai yang representatif dari seluruh informasi yang relevan
mempengaruhi kurs tersebut, kurs akan bertahan pada trend tertentu, dan nilai kurs merupakan nilai yang repetitif berulang dari pola sebelumnya (Neely et al., 2011).
Namun terkadang peramalan secara teknis tidak terlalu membantu untuk
jangka waktu yang cukup lama. Banyak peneliti yang berselisih pendapat
mengenai peramalan teknis, meskipun secara umum peramalan teknis memberikan konsistensi yang baik.
o Analisis Fundamental
Ada beberapa jenis pendekatan yang dilakukan untuk meramalkan, misal pada nilai tukar uang diantaranya (Madura, 2011):o Analisis Fundamental
Didasari hubungan fundamental antara variabel – variabel ekonomi
terhadap nilai tukar tersebut, seperti faktor – faktor yang mempengaruhi
nilai tukar. Misalnya saja:
Tingkat inflasi
Suku bunga
Neraca Perdagangan (log pembayaran dari hasil jual beli barang dan jasa antara negara)
Hutang Publik (Public Debt),
Rasio Harga Ekspor dan Harga Impor, dan
Kestabilan Politik dan Ekonomi.
Dari uraian sebelumnya, apakah bisa dilakukan penggabungan Analisis Teknikal dan Fundamental?
Perhatikan dataset berikut:
Bagaimana Membangun model regresi yaitu dengan mencari hubungan antara satu atau lebih variabel independen atau explanatory variable atau prediktor (X) dengan variabel dependen atau respon (Y)?Regresi Linear & Regresi Logistik
No (X) (Y)
1 10 15
2 6 20
3 3 12
Regresi Linear:Regresi Linear & Regresi Logistik
2 2 1 x x n x -xy n b y
n x b -y x b y b0 1
1
x
b
b
y
ˆ
0
1
Metode ELM ini pertama kali diperkenalkan oleh Huang (2004) (Huang, Zhu, & Siew, 2004).
ELM merupakan jaringan syaraf tiruan (JST) feedforward dengan single hidden layer atau disebut dengan Single Hidden Layer Feedforward Neural Networks (SLFNs) (Sun, Choi, Au, & Yu, 2008).Extreme Learning Machine (ELM)
untuk Big Data
Arsitektur ELM
Input Layer Hidden Layer Output Layer fitur ke-1 fitur ke-2 fitur ke-k Hasil Prediksi i j k
Metode pembelajaran ELM dibuat untuk mengatasi beberapa kelemahan dari jaringan syaraf tiruan feedforward, terutama dalam hal learning speed.
Menurut Huang (2004), JST feedforward masih memiliki kelemahan dalam learning speed karena semua parameter pada jaringan ditentukan secara iterative dengan menggunakan metode pembelajaran satu persatu untuk setiap data.Extreme Learning Machine (ELM)
untuk Big Data
Langkah-langkah training algoritma Extreme Learning Machine (ELM):1. Buat random Wjk sebagai bobot masukan.
2. Hitung matrik keluaran hidden layer H = 1/(1+exp(-X.WT))
3. Hitung output weight dimana H+=(HT.H)-1.HT
4. Hitung
Extreme Learning Machine (ELM)
untuk Big Data
Input Layer Hidden Layer Output Layer fitur ke-1 fitur ke-2 fitur ke-k i j k Hasil Prediksi jk W j i y ˆ . ˆ H Y Y H . ˆ
Langkah testing ELM: 1. Diketahu Wjk, dan .2. Hitung H = 1/(1+exp(-Xtest.WT))
3. Hitung
4. Hitung nilai evaluasi, misal dengan MAPE. ˆ ˆ . ˆ H Y
Langkah-langkah training ELM dengan bias:1. Buat random Wjk sebagai bobot masukan dan nilai bias b jika ada. Ukuran matrik bias b adalah [1 x j]
2. Hitung matrik keluaran hidden layer H = 1/(1+exp(-(X.WT +
ones(Ntrain,1)*b))). Dan Ntrain adalah banyaknya data training.
3. Hitung output weight dimana H+=(HT.H)-1.HT
4. Hitung
Extreme Learning Machine (ELM)
untuk Big Data
Input Layer Hidden Layer Output Layer fitur ke-1 fitur ke-2 fitur ke-k i j k Hasil Prediksi jk W j i y ˆ . ˆ H Y Y H . ˆ
Langkah testing ELM:1. Diketahu Wjk, nilai bias b jika ada, dan .
2. Hitung H = 1/(1+exp(-(Xtest.WT
+ ones(Ntest,1)*b)))
3. Hitung
4. Hitung nilai evaluasi, misal dengan MAPE. ˆ ˆ . ˆ H Y bias
Arsitektur Artificial Neural Network Backpropagation (ANN):Studi Kasus Sederhana dengan ELM
Misalkan diketahui, data training (terdapat 3 fitur dansingle target) sebagai berikut:
Data Fitur Target
1 2 3 1 1 1 1 1 2 1 0 1 1 3 1 1 0 1 4 1 1 0 2 5 0 1 0 2 6 0 0 0 2 7 0 1 0 3 8 1 1 0 3 9 0 0 0 3 Diketahui,
N : Banyaknya data training = 9
k : Banyaknya dimensi input layer = 3 i : Banyaknya dimensi output layer = 1
Misal diset,
j : Banyaknya dimensi hidden layer= 3
Input Layer Hidden Layer Output Layer fitur ke-1 fitur ke-2 fitur ke-k i j k Hasil Prediksi
1. Men-generate bobot input (Wj x k) antara input layer dan hidden layer. Ukuran W adalah [j x k], yang nilainya di-generate antara [-0.5,0.5].
Penyelesaian: -0.4 0.2 0.1 -0.2 0 0.4 -0.3 0.3 -0.1 W = jk W j i y
Studi Kasus Sederhana dengan ELM
Misalkan diketahui, data training (terdapat 3 fitur dansingle target) sebagai berikut:
1 1 1 1 0 1 1 1 0 1 1 0 X = 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 Input Layer Hidden Layer Output Layer fitur ke-1 fitur ke-2 fitur ke-k i j k Hasil Prediksi
1. Men-generate bobot input (Wj x k) antara input layer dan hidden layer. Ukuran W adalah [j x k], yang nilainya di-generate antara [-0.5,0.5].
2. Hitung matrik inisialisasi output hidden layer (Hinit = X.WT) Penyelesaian: 1 . 0 3 . 0 3 . 0 4 . 0 0 2 . 0 1 . 0 2 . 0 4 . 0 W Hinit = -0.1 0.2 -0.1 -0.3 0.2 -0.4 -0.2 -0.2 0 -0.2 -0.2 0 0.2 0 0.3 0 0 0 0.2 0 0.3 -0.2 -0.2 0 0 0 0
Studi Kasus Sederhana dengan ELM
Misalkan diketahui, data training (terdapat 3 fitur dansingle target) sebagai berikut:
1 1 1 1 0 1 1 1 0 1 1 0 X = 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 Input Layer Hidden Layer Output Layer fitur ke-1 fitur ke-2 fitur ke-k i j k Hasil Prediksi
2. Hitung matrik inisialisasi output hidden layer (Hinit = X.WT)
3. Htung matrik H = 1/(1+exp(-Hinit)) Penyelesaian: Hinit = -0.1 0.2 -0.1 -0.3 0.2 -0.4 -0.2 -0.2 0 -0.2 -0.2 0 0.2 0 0.3 0 0 0 0.2 0 0.3 -0.2 -0.2 0 0 0 0 H = 0.48 0.55 0.48 0.43 0.55 0.40 0.45 0.45 0.50 0.45 0.45 0.50 0.55 0.50 0.57 0.50 0.50 0.50 0.55 0.50 0.57 0.45 0.45 0.50 0.50 0.50 0.50
Studi Kasus Sederhana dengan ELM
Misalkan diketahui, data training (terdapat 3 fitur dansingle target) sebagai berikut:
1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 2 X = 0 1 0 2 0 0 0 2 0 1 0 3 1 1 0 3 0 0 0 3 Input Layer Hidden Layer Output Layer fitur ke-1 fitur ke-2 fitur ke-k i j k Hasil Prediksi
3. Htung matrik H = 1/(1+exp(-Hinit))
4. Hitung matrik H+=(HT.H)-1.HT Penyelesaian: H = 0.48 0.55 0.48 0.43 0.55 0.40 0.45 0.45 0.50 0.45 0.45 0.50 0.55 0.50 0.57 0.50 0.50 0.50 0.55 0.50 0.57 0.45 0.45 0.50 0.50 0.50 0.50 -2.18 -1.37 -9.11 -9.11 6.69 7.57 6.69 -9.11 7.57 2.58 3.98 1.68 1.68 -3.13 -1.74 -3.13 1.68 -1.74 -0.21 -2.38 7.33 7.33 -3.13 -5.35 -3.13 7.33 -5.35 H+ = Y =
Studi Kasus Sederhana dengan ELM
Misalkan diketahui, data training (terdapat 3 fitur dansingle target) sebagai berikut:
1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 2 X = 0 1 0 2 0 0 0 2 0 1 0 3 1 1 0 3 0 0 0 3 Input Layer Hidden Layer Output Layer fitur ke-1 fitur ke-2 fitur ke-k i j k Hasil Prediksi 4. Hitung matrik H+=(HT.H)-1.HT
5. Hitung beta topi atau hasil nilai beta yang diestimasi 6. Menghitung Y prediksi Penyelesaian: -2.18 -1.37 -9.11 -9.11 6.69 7.57 6.69 -9.11 7.57 2.58 3.98 1.68 1.68 -3.13 -1.74 -3.13 1.68 -1.74 -0.21 -2.38 7.33 7.33 -3.13 -5.35 -3.13 7.33 -5.35 H+ = Y = ˆ Y H . ˆ 13.06-7.74 -0.98 ˆ . ˆ H Y 1.48 0.91 1.90 1.90 2.75 2.17 2.75 1.90 2.17 Yˆ
Studi Kasus Sederhana dengan ELM
Misalkan diketahui, data training (terdapat 3 fitur dansingle target) sebagai berikut:
1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 2 X = 0 1 0 2 0 0 0 2 0 1 0 3 1 1 0 3 0 0 0 3 Input Layer Hidden Layer Output Layer fitur ke-1 fitur ke-2 fitur ke-k i j k Hasil Prediksi 6. Menghitung Y prediksi 7. Hitung MAPE
Pada proses training, didapatkan hasil testing menggunakan data training sendiri masih memiliki error MAPE sebesar 30.11
Penyelesaian: Y = ˆ . ˆ H Y 1.48 0.91 1.90 1.90 2.75 2.17 2.75 1.90 2.17 Yˆ
N i i i i y y y N MAPE 1 | 100 ˆ | 1 11 . 30 Studi Kasus Sederhana dengan ELM
Misalkan diketahui, data training (terdapat 3 fitur dansingle target) sebagai berikut:
1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 2 X = 0 1 0 2 0 0 0 2 0 1 0 3 1 1 0 3 0 0 0 3 Input Layer Hidden Layer Output Layer fitur ke-1 fitur ke-2 fitur ke-k i j k Hasil Prediksi 6. Menghitung Y prediksi 7. Hitung MAPE
Pada proses training, didapatkan hasil testing menggunakan data training sendiri masih memiliki error MAPE sebesar 30.11
Penyelesaian: Y = ˆ . ˆ H Y 1.48 0.91 1.90 1.90 2.75 2.17 2.75 1.90 2.17 Yˆ
9 1 | 100 ˆ | 9 1 N i i i i y y y N MAPE 11 . 30 Studi Kasus Sederhana dengan ELM
Misalkan diketahui, data testing sebagai berikut:1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 2 X = 0 1 0 2 0 0 0 2 0 1 0 3 1 1 0 3 0 0 0 3 Y = 1 0 1 Xtest = 1 1 0 0 1 0 Ytest = Data training: Data testing: Diketahui,
N : Banyaknya data training = 9
k : Banyaknya input layer = 3
i : Banyaknya output layer = 1 Misal diset,
j : Banyaknya hidden layer = 3
1. Hitung matrik inisialisasi output hidden layer (Hinit = Xtest.WT) Penyelesaian: -0.4 0.2 0.1 -0.2 0 0.4 -0.3 0.3 -0.1 W = 1 1 3 -0.3 0.2 -0.4 -0.2 -0.2 0 0.2 0 0.3 Hinit = ˆ 13.06-7.74 -0.98
Studi Kasus Sederhana dengan ELM
Misalkan diketahui, data testing sebagai berikut:1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 2 X = 0 1 0 2 0 0 0 2 0 1 0 3 1 1 0 3 0 0 0 3 Y = 1 0 1 Xtest = 1 1 0 0 1 0 Ytest = Data training: Data testing: 1 1 3
2. Htung matrik output hidden H = 1/(1+exp(-Hinit))
3. Menghitung Y prediksi
, diketahui , maka
4. Hitung MAPE
Pada proses testing, didapatkan hasil prediksi dengan error MAPE sebesar 36.0048
Penyelesaian: 0.43 0.55 0.40 0.45 0.45 0.50 0.55 0.50 0.57 H = ˆ . ˆ H Y ˆ 13.06 -7.74 -0.98 Yˆ 0.91 1.90 2.75 0048 . 36 | 100 ˆ | 3 1 3 1 N i i i i y y y N MAPE
Algoritma Support Vector Regression
(SVR)
Konsep SVR didasarkan pada
risk minimization, yaitu untuk
mengestimasi suatu fungsi
dengan cara meminimalkan batas dari generalization error,
sehingga SVR mampu
mengatasi overfitting.
Fungsi regresi dari metode SVR
adalah sebagai berikut (Sethu Vijayakumar & Si Wu, 1999)
ALGORITMA SEKUENSIAL TRAINING SVR :
1. Inisialisasi parameter SVR yang
digunakan
2. Rumus memperoleh Matrik Hessian
)
)
,
(
(
2
i j ijK
x
x
R
3. Untuk tiap training point lakukan:
4. Kembali ke langkah ketiga, sampai pada kondisi iterasi maksimum atau
dan
5. Dengan mengunakan fungsi peramalan berikut: l j j j ij i i y R E 1 * ) (
* *
* , , max min i i i i E C
i i i
i E C min max , , i i i
* * * i i i
) ) , ( ( ) ( ) ( 2 1 *
x x K x f i l i i i
i max max
i* Tugas Kelompok
1. Diketahui data berikut:
Tentukan hasil Φ(x1) dan Φ(x2) dengan menggunakan kernel Polynomial dengan c = 1 dan d = 2.
2. Pada Studi Kasus Sederhana proses training dengan ELM, jika diketahui hasil random W adalah sebagai berikut:
Tentukan nilai MAPE dari data testing berikut
2 2 2 1 1 1 b a x b a x -0.1 -0.2 0.4 0.4 0.3 0.2 -0.2 -0.1 -0.2 W = 1.5 0.5 1 Xtest = 1 1 0.2 0.6 2 0 Ytest = 0.71.8 3
10 Oktober 2016