BAB II LANDASAN TEORI 2.1
DATA MINING “Data Mining adalah analisis otomatis dari data yang berjumlah banyak atau kompleks dengan tujuan untuk menemukan pola atau kecenderungan yang
penting
yang
biasanya
tidak
disadari
keberadaannya.”
(Pramudiono,2006) 2.1.1
Tahapan Data Mining Sebagai suatu rangkaian proses, data mining dapat dibagi menjadi beberapa tahap yang diilustrasikan pada gambar 2.1 dibawah ini :
Gambar 2.1 Tahap-tahap Data Mining Sumber: Han, Jiawei, Kamber, & Micheline, Data Mining: Concepts and Techniques, (Canada: McGrawHill, 1998) Keterangan: 1. Data Selection, yaitu proses memilih dan memisahkan data-data yang ada berdasarkan kriteria-kriteria tertentu.
II-1
II-2
2. Data Preprocessing, merupakan proses mempersiapkan data dengan cara membersihkan data yang tidak lengkap, tidak konsisten, serta noisy (data cleaning). 3. Data Transformation, merupakan proses untuk mengubah data ke dalam bentuk yang lebih navigable dan usable, misalnya dengan menambahkan field-field tertentu. 4. Data Mining, merupakan proses untuk mendapatkan pola-pola yang menarik dari data yang dapat dimanfaatkan lebih lanjut. 5. Interpretation/Evaluation, dalam tahap ini, pola-pola yang telah diidentifikasi kemudian diintepretasikan ke bentuk knowledge yang lebih mudah dipahami oleh user (misalnya dalam bentuk grafik), sehingga dapat membantu dalam pengambilan keputusan 2.1.2
Pengelompokan Data Mining Data mining dibagi menjadi beberapa kelompok berdasarkan tugas yang dapat dilakukan, yaitu : 1. Deskripsi Terkadang peneliti dan analis secara sederhana ingin mencari cara untuk menggambarkan pola dan kecenderungan yang terdapat dalam data. 2. Estimasi Estimasi hampir sama dengan klasifikasi, kecuali variable target estimasi lebih ke arah numeric daripada ke arah kategori. Model dibangun menggunakan record lengakp yang menyediakan nilai dari variable target sebagai nilai prediksi 3. Prediksi Prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi nilai dari hasil akan ada di masa mendatang. Beberapa metode dan teknik yang digunakan dalam klasifikasi dan estimasi dapat pula digunakan (untuk keadaan yang tepat) untuk prediksi
4. Klasifikasi Dalam klasifikasi, terdapat nilai target variable kategori. Sebagai contoh penggolongan pendapatan dapat dipisah dalam tiga kategori pendapatan tinggi, pendapatan sedang, dan pendapatan rendah 5. Pengklusteran Pengklusteran merupakan pengelompokan record, pengamatan atau memperhatikan dan membentuk kelas objek-objek yang memiliki kemiripan 6. Asosiasi Tugas asosiasi dalam data mining adalah menemukan atribut yang muncul dalam satu waktu. Dalam dunia bisnis lebih sering disebut analisis keranjang belanja [8] 2.2
PREDIKSI Prediksi (Forecasting) didefinisikan sebagai alat / teknik untuk memperkirakan suatu nilai pada masa yang akan datang dengan memperhatikan data atau informasi yang relevan, baik data / informasi masa lalu atau data / informasi saat ini. Terdapat 2 metode dalam prediksi, diantaranya : [9] 1.
Metode Kualitatif Metode ini digunakan dimana tidak ada model matematik, biasanya dikarenakan data yang ada tidak cukup representatif untuk meramalkan masa yang akan datang (long term forecasting). Peramalan kualitatif menggunakan pertimbangan pendapat-pendapat para pakar yang ahli atau experd di bidangnya. Adapun kelebihan dari metode ini adalah biaya yang dikeluarkan sangat murah (tanpa data) dan cepat diperoleh. Sementara kekurangannya yaitu bersifat subyektif sehingga seringkali dikatakan kurang ilmiah.
II-3
II-4
2.
Metode Kuantitatif Penggunaan metode ini didasari ketersediaan data mentah disertai serangkaian kaidah matematis untuk meramalkan hasil di masa depan. Terdapat beberapa macam model peramalan yang tergolong metode kualitiatif, yaitu: a) Model-model Regresi Perluasan dari metode Regresi Linier dimalan meramalkan suatu variabel yang memiliki hubungan secra linier dengan variabel bebas yang diketahui atau diandalkan. b) Model Ekonometrik Menggunakan
serangkaian
persamaan-persamaan
regresi
dimana
terdapat variabel-variabel tidak bebas yang menstimulasi segmensegmen ekonomi seperti harga dan lainnya. c) Model Time Series Analysis (Deret Waktu) Memasang suatu garis trend yang representatif dengan data-data masa lalu (historis) berdasarkan kecenderungan datanya dan memproyeksikan data tersebut ke masa yang akan datang. 2.2.1
Time Series Analysis Data time series adalah data deret waktu yaitu sekumpulan data pada satu periode waktu tertentu. Peramalan time series adalah peramalan berdasarkan perilaku data masa lampau untuk diproyeksikan ke masa depan dengan memanfaatkan persamaan matematika dan statistika. Tipe data time series menurut terbagi atas beberapa jenis, antara lain (Arsyad, 2001) : 1. Siklus Pola siklus adalah suatu seri perubahan naik atau turun, sehingga pola siklus ini berubah dan bervariasi dari satu siklus ke siklus berikutnya. Pola siklus dan pola tak beraturan didapatkan dengan menghilangkan pola kecenderungan dan pola musiman jika data yang digunakan berbentuk
mingguan, bulanan, atau kuartalan. Jika data yang digunakan adalah data tahunan maka yang harus dihilangkan adalah pola kecenderungan saja . 2. Random Pola yang acak yang tidak teratur, sehingga tidak dapat digambarkan. Pola acak ini disebabkan oleh peristiwa yang tak terduga seperti perang, bencana alam, kerusuhan, dan lain-lain. Karena bentuknya tak beraturan atau tidak selalu terjadi dan tidak bisa diramalkan maka pola variasi acak ini dalam analisanya diwakili dengan indeks 100% atau sama dengan 1. 3. Trend Trend atau kecenderungan adalah komponen jangka panjang mempunyai kecenderungan tertentu dalam pola data, baik yang arahnya meningkat ataupun menurun dari waktu ke waktu, sehingga pola kecenderungan dalam jangka panjang jarang sekali menunjukkan suatu pola yang konstan. Teknik yang sering digunakan untuk mendapatkan trend suatu data deret waktu adalah rata-rata bergerak linier, pemulusan eksponensial, model Gompertz, dimana teknik-teknik tersebut hanya menggunakan data masa lalu
untuk
mendapatkan
pola
kecenderungannya
dan
tidak
memperhitungkan faktor-faktor lain yang mempengaruhi permintaan produk. 4. Musiman Pola musiman menunjukkan suatu gerakan yang berulang dari satu periode ke periode berikutnya secara teratur. Pola musiman ini dapat ditunjukkan oleh datadata yang dikelompokkan secara mingguan, bulanan, atau kuartalan, tetapi untuk data yang berbentuk data tahunan tidak terdapat pola musimannya. Pola musiman ini harus dihitung setiap minggu, bulan, atau kuartalan tergantung pada data yang digunakan untuk setiap tahunnya, dan pola musiman ini dinyatakan dalam bentuk angka. Teknik yang digunakan untuk menentukan nilai pola musiman adalah metode
II-5
II-6
rata-rata bergerak, pemulusan eksponensial dari Winter, dekomposisi klasik. Teknik peramalan time series terdiri atas : 1 Statistik a. Moving Average b. Exponential Smoothing c. Regresi d.
ARIMA (Box Jenkins)
2 Kecerdasan Buatan a.
Neural Network
b. Algoritma Genetika
2.3
c.
Simulated Annealing
d.
Genetic Programming
e.
Klasifikasi
f.
Hybrid [10]
METODE ARIMA ARIMA (Autoregressive Integreated Moving Average) paling umum digunakan untuk meramalkan suatu data runtun waktu. Hal ini dikarenakan model ini dapat di aplikasikan pada pola data runtun waktu yang nonstationer atau non-linier dengan cara transformasi, seperti differencing dan lagging [1] Metode ARIMA pertama kali dikembangkan oleh George Box dan Gwilym Jenkins, oleh karena itu metode ini juga sering disebut dengan BoxJenkins models. ARIMA mewakili tiga pemodelan, yaitu Autoregressive (AR), Moving Average (MA), dan Autoregressive Moving Average (ARIMA)
Tahapan Metode ARIMA 1. Metode
diidentifikasi
menggunakan
autokorelasi
dan
parsial
autokorelasi 2. Metode ditafsir dan diestimasi menggunakan data masa lalu 3. Pengujian dilakukan untuk mendapatkan metode yang layak dipakai untuk penerapan peramalan 4. Penerapan, yaitu peramalan nilai dari deret berkala yang akan datang dengan metode yang telah diuji 2.3.1. Mengidentifikasi Model Kebanyakan deret berkala bersifat non-stasioner dan bahwa aspek pada AR dan MA dari model ARIMA hanya berkenaan dengan deret berkala yang stasioner. Stasioner berarti tidak terdapat pertumbuhan atau penurunan pada data. Data secara kasarnya harus horizontal sepanjang sumbu waktu. Suatu deret yang tidak stasioner harus diubah menjadi data stasioner dengan melakukan differencing. Differencing adalah menghitung perubahan atau selisih nilai observasi. Persamaan differencing sebagai berikut X’t= Xt –Xt-1
(2.1)
Keterangan : X’t : nilai deret berkala setelah differencing Xt : nilai deret berkala pada waktu t Persamaan diatas juga dapat ditulis kembali menjadi : X‘t = Xt- BXt
(2.2)
Keterangan : B : orde differencing Suatu deret berskala dikatakan stasioner atau menunjukkan kesalahan acak adalah jika koefisien autokorelasi untuk semua lag, yaitu angka yang
II-7
II-8
ditunjukkan pada setiap interval secara statistic tidak berbeda dari nol atau berbeda dari nol hanyauntuk beberapa lag yang di depan. Suatu koefisien autokorelasi dikatakan tidak berbeda dari nol jika berada dalam interval. 0 ± Za/2(1/√𝑛)
(2.3)
Keterangan Za/2: Nilai variable normal standar dengan keyakinan 1 – α N : banyaknya data Setelah data stasioner, maka selanjutnya menentukan model ARIMA dengan cara dilihat melalui autokorelasi dan partial autokorelasi
a. Autocorrelation Function (ACF) ACF adalah korelasi antara data pada periode waktu t dengan periode waktu sebelumnya t-1. Berikut langkah-langkah menghitung nilai ACF terdapat pada persamaan 2.4 dibawah ini
rk =
∑𝑛−𝑘 𝑡=𝑏 (𝑋𝑡 −𝑋𝑟𝑎𝑡𝑎)(𝑋𝑡+𝑘 −𝑋𝑟𝑎𝑡𝑎) 2 ∑𝑛 𝑡=𝑏(𝑋𝑡 −𝑋𝑟𝑎𝑡𝑎)
Keterangan :
rk = Nilai sample ACF pada lag k. Xt = Nilai deret berkala pada waktu t Xrata = Rata-rata dari data berkala
Nilai standar error ACF pada lag k dapat dilihat pada rumus 2.5 dibawah ini :
𝑆𝑟𝑘 =
2 1/2 (1 + 2 ∑𝑘−1 𝑗=1 𝑟𝑘 )
(𝑛 − 𝑏 + 1)1/2
Keterangan : 𝑆𝑟𝑘 = Nilai standar error ACF pada lag k. rk = Nilai sample ACF pada lag k n = Banyaknya data b = Awal periode dari data
Nilai ACF pada lag k dapat dilihat pada rumus 2.6 dibawah ini :
𝑟
𝑡𝑟𝑘 = 𝑠 𝑘
𝑟𝑘
b. Partial Autocorrelation Function (PACF) Autokorelasi partial digunakan untuk mengukur tingkat kecerdasan antara Xt dan Xt-k , apabila pengaruh dari lag time dianggap terpisah. Satu – satunya tujuan didalam analisis deret berkala adalah untuk membantu menetapkan model ARIMA yang tepat. Nilai sample PACF berorde k dapat di lihat pada rumus 2.7 : 𝑟𝑘 −∑𝑘−1 𝑗=1 𝑟𝑘−1,𝑗 𝑟𝑘−𝑗
𝑟𝑘𝑘 =
1−∑𝑘−1 𝑗=1 𝑟𝑘−1,𝑗 𝑟𝑗
𝑟𝑘𝑗 =𝑟𝑘−1,𝑗 − 𝑟𝑘𝑘 𝑟𝑘−1,𝑘−𝑗 Untuk j = 1,2,3,….,k-1 Keterangan : rkk = nilai sample PACF pada ordo ke k rk = Nilai sample ACF pada lag ke k
II-9
II-10
Nilai standar error PACF berorde k dapat dilihat pada rumus 2.8 :
Srkk =
1 (𝑛−𝑏+1)1/2
Keterangan Srkk = nilai standar error PACF pada lag k n = jumlah data b = awal periode data. Nilai PACF berorde k dapat dilihat pada rumus 2.9 :
trkk =
𝑟𝑘𝑘 𝑠𝑟𝑘𝑘
keterangan : trkk = nilai statistic PACF pada ordo ke k rkk = nilai sample PACF pada ordo ke k. Srkk = nilai standart error PACF pada lag k. [2] 2.3.2
Penafsiran Parameter Metode
ARIMA
dibagi
kedalam
3
kelompok,
yaitu
model
autoregressive (AR), moving average (MA). Dan model campuran ARIMA (autoregressive moving average) yang mempunyai karakteristik dari dua model pertama 2.3.2.1 Autoregressive (AR) Bentuk umum dari model autoregresif dengan ordo p (AR(p)) atau model ARIMA(P,0,0) dinyatakan pada persamaan 2.10 sebagai berikut: 𝑋𝑡 = 𝜇 ′ + ∅1 𝑋𝑡−1 + ∅2 𝑋𝑡−2 + ⋯ + ∅𝑝 𝑋𝑡−𝑝 + 𝑒𝑡
Keterangan : µ = suatu konstanta ∅𝑝 = 𝑝𝑎𝑟𝑎𝑚𝑒𝑡𝑒𝑟 𝑎𝑢𝑡𝑜𝑟𝑒𝑔𝑟𝑒𝑠𝑖𝑓 𝑘𝑒 − 𝑝 𝑒𝑡 = 𝑛𝑖𝑙𝑎𝑖 𝑘𝑒𝑠𝑎𝑙𝑎ℎ𝑎𝑛 𝑝𝑎𝑑𝑎 𝑠𝑎𝑎𝑡 𝑡 maksud dari autoregresif yaitu nilai X dipengaruhi oleh nilai x periode sebelumnya hingga periode ke-p. jadi yang berpengaruh disini adalah variabel itu sendiri. [2] Pendugaan parameter AR dapat ditentukan dengan metode perkalian matriks yang ditunjukan pada Rumus 2.11. 𝛽 = (𝑍 ′ 𝑍)−1 𝑍′𝑌 1 𝑋𝑝 ⋮ 𝑍= ⋮ 1 𝑋𝑛−1
𝑋𝑝−(𝑝−1) ⋮ 𝑋𝑛−𝑝
𝑋𝑝+1 𝑌= ⋮ 𝑋𝑛 Keterangan : p
: orde model AR
Xp : data ke –p n
: banyaknya periode pengamatan
β
: pendugaan persamaan parameter [3]
II-11
II-12
2.3.2.2 Moving Average (MA) Bentuk umum dari model moving average dengan ordo q (MA(q))
atau
model
ARIMA(0,0,q)
dinyatakan
dalam
persamaan 2.12 sebagai berikut: 𝑋𝑡 = 𝜇 ′ − 𝜃1 𝑒𝑡−1 + 𝜃2 𝑒𝑡−2 + ⋯ + 𝜃𝑞 𝑒𝑡−𝑘 + 𝑒𝑡 keterangan : µ = suatu konstanta θ = parameter moving average et-k = nilai kesalahan pada saat t-k Maksud dari moving average yaitu nilai variabel x dipengaruhi oleh error dari varibel x tersebut. Pendugaan parameter MA dapat ditentukan dengan metode perkalian matriks yang ditunjukan pada Rumus 2.13. 𝛽 = (𝑍 ′ 𝑍)−1 𝑍′𝑌 1 𝑋𝑞+1−1 − 𝑋𝑞+1 ⋮ 𝑍= ⋮ 1 𝑋𝑛−1 − 𝑋𝑛 𝑋𝑞+1 𝑌= ⋮ 𝑋𝑛
Keterangan : q
: orde model MA
Xq : data ke –q
𝑋𝑞+1−𝑞 − 𝑋𝑞+1 ⋮ 𝑋𝑛−𝑞 − 𝑋𝑛
n
: banyaknya periode pengamatan
β
: pendugaan persamaan parameter [3]
2.3.2.3 Autoregressive and Moving Average (ARIMA) Menurut Hanke & Wichern (2009), pada Metode ARIMA ordo p dan q (AR (p) dan MA(q)) adalah gabungan antara Autoregressive Model (AR) dan Moving Average (MA). Perusamaan 2.14 berikut merupakan rumus dari ARIMA:[2] 𝑋𝑡 = 𝜇 ′ + ∅1 𝑋𝑡−1 + ∅2 𝑋𝑡−2 + ⋯ + ∅𝑝 𝑋𝑡−𝑝 + 𝑒𝑡 − 𝜃1 𝑒𝑡−1 − 𝜃2 𝑒𝑡−2 − ⋯ − 𝜃𝑞 𝑒𝑡−𝑞 2.4
SINGLE EXPONENTIAL SMOOTHING Model mengasumsikan bahwa data berfluktuasi di sekitar nilai rata-rata yang tetap, tanpa trend atau pola pertumbuhan yang konsisten. Persamaan 2.15 dibawah ini merupakan rumus untuk metode Single Exponential Smoothing adalah sebagai berikut : Ft + 1 = α * Xt + (1-α) *Ft Keterangan : Ft = peramalan untuk periode t Xt + (1-α) = nilai actual time series Ft + 1 = peramalan pada waktu t+1 α = konstanta perantara antara 0 dan 1 [4]
II-13
II-14
2.5
PERHITUNGAN ERROR Menurut Makridakis, Wheelwright & Hyndman (1998), untuk menguji ukuran kesalahan peramalan bisa mengunakan beberapa metode. Salah satu cara yang digunakan yaitu MAPE (Mean Absolute Percentage Error). MAPE digunakan untuk melihat seberapa jauh (dalam %) hasil prediksi melenceng dari data sebenarnya. Semakin kecil MAPE yang dihasilkan dari sebuah metode prediksi maka akan semakin baik metode tersebut. Persamaan 2.16 berikut ini merupakan rumus MAPE: [6]
𝑀𝐴𝑃𝐸 =
∑𝑛𝑡=1
Keterangan : Xt = Nilai data periode ke – t Ft = Nilai ramalan periode ke – t N = Banyaknya data
𝑋𝑡 − 𝐹𝑡
𝑛
𝑋𝑡