ONLINE UPDATING FOR STEAM DATA: Using Divide

advertisement
TUGAS BIG DATA
KELOMPOK 6
“ONLINE UPDATING FOR STEAM DATA:
Using Divide-And-Conquer Estimators (Least Squares) in the Linear Model”
Dosen Pembimbing Mata Kuliah:
Drs. Danardono, M.P.H., Ph.D.
Vammie Nastiti Lestari, S.Si., M.Sc.
Nama Kelompok:
1. Rizqi Haryastuti
(14/364192/PA/15943)
2. Michael Vidianto Dwi Putra (14/366202/PA/16229)
3. Putri Aristiani
(13/348023/PA/15422)
4. Fathia Nur Rahmani
(13/352743/PA/15696)
PROGRAM STUDI STATISTIKA
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2017
Latar Belakang
Pada era saat ini hampir dikehidupan sehari-hari dan disetiap bidang sains sudah
mengalami kemajuan dan prevalensi teknologi computer yang memungkinkan dalam
pengumpulan data dengan ukuran yang besar atau sering disebut big data. Kemajuan tersebut
menjadi penemuan baru yang menimbulkan tantangan tersendiri untuk teori statistik, komputasi
dan metodologi, serta tantangan untuk menyimpanan data dan efisiensi komputasi.
Perkembangan metodologis terkini dalam statistik yang menjawab atau memenuhi
tantangan tersebut sebagian besar berfokus pada yang berbasis subsampling (Kleiner et al., 2014;
Liang et al., 2013; Maet al., 2013) kemudian membagi dan menggabungkan data tersebut (Lin dan
Xi, 2011; Guha et al., 2012 ; Chen dan Xie, 2014) , dan teknik pengolahan (wang et al. 2015).
Sedangkan yang menjadi pendekatan popular untuk analisis untuk data kompleks yang besar
adalah membagi dan menggabungkan. Pendekatan yang dilakukan sangat menarik karena dari data
yang diperoleh akan di bagi menjadi beberapa himpunan bagian dan kemudian mengunakan
metode numerik dan visualisasi yang diterapkan pada masing-masing subset terpisah, kemudian
mengumpulkan hasil dari masing-masing subset tersebut untuk menghasilkan solusi terkahir.
Sampai saat ini, sebagian besar berfokus di langkah pengumpulan akhir dalam estimasi atau
estimasi jumlah yang tidak diketahui dengan tidak memperhatikan estimasi kesalahan standar
(standard error).
Dalam beberapa aplikasi, data mencapai jumlah yang besar dan online. Contohnya analisis
updated yang di inginkan tanpa persyaratan penyimpanan. Sejauh ini jurnal yang menjadi acuan
pembuatan makalah ini adalah yang pertama untuk menarik kesimpulan pengaturan update online.
Bahkan dengan big data, menarik kesimpulan tetap menjadi isu penting bagi statistik. Dalam
makalah ini akan menyediakan formula kesalahan standar atau standard error untuk membagi dan
menggabungkan estimator dengan menggunakan model regresi linier untuk data online-updating.
Analisis regresi linier ini dapat dianggap sebagai analisis yang paling banyak digunakan untuk
mengidentifikasikan dan menjelaskan variable-variabel independen yang signifikan terhadap
variable dependen, serta mampu menjelaskan hubungan linear yang mungkin terjadi terhadap
variable tersebut, sedangkan estimator yang digunakan dalam model regresi linier ini adalah
estimator bias dan kesalahan kuadarat rata-rata (mean squart error atau MSE), karena estimator
tersebut merupakan estimator yang lebih unggul di bandingkan dengan estimator yang lainnya.
Selanjutnya akan menggembangkan estimasi algoritma iteratif dan kesimpulan statistik untuk
regesi liniear. Algoritma ini adalah komputasi yang sangat efisien, penyimpanan minimal intensif,
dan memenuhi untuk rank defisiensi.
Makalah ini akan membahas mengenai pendekatan pembagian dan penggabungan untuk
metode regresi linier dan mengenalkan formula untuk menghitung estimasi beta dan algoritma
model linier online-updating.
Penggunaan Online Updating dalam Estimasi Beta Regresi Linier
̂ ) dengan metode online updating, pada dasarnya
Dalam pengestimasian nilai beta (𝜷
̂ ) dengan metode divide and
pengestimasian dilakukan dengan pengestimasian nilai nilai beta (𝜷
conquer dengan indeks waktu yang sekuensial dimana keseluruhan data dibagi menjadi k subset
data yang lebih kecil dengan anggota masing-masing subsetnya 𝑛𝑘 .
Metode divide and conquer :
𝛽̂1
𝛽̂2
𝛽̂3
𝛽̂4
𝛽̂1234
Metode Online Updating :
𝛽̂1
𝛽̂2
𝛽̂12
𝛽̂12
𝛽̂3
𝛽̂123
𝛽̂123
𝛽̂4
𝛽̂1234
Pengestimasian dengan metode divide and conquer terjadi pada suatu aliran data pada suatu waktu
yang dibagi menjadi k subset. Sedangkan untuk metode online updating, aliran data terjadi
menurut urutan waktu dari subset pertama hingga subset ke k.
Dalam hal ini akan diberikan contoh penggunaan online updating pada estimasi nilai beta
regresi linier.
Diketahui bahwa Estimasi masing-masing subset (k subset) model regeresi linier :
𝛽̂𝑛𝑘,𝑘 = (∑ 𝑋′𝑘 𝑋𝑘 )−1 𝑋′𝑘 𝑦𝑘
Dimana 𝑋𝑘 dan 𝑦𝑘 merupakan Matriks X dan y dari subset ke-k
1
𝑥11 ⋯ 𝑥𝑝1
1
𝑥12 ⋯ 𝑥𝑝𝑛
𝑋𝑘 = [
]
⋮
⋮ ⋮
⋮
𝑛𝑘 𝑥1𝑛𝑘 … 𝑥𝑝𝑛𝑘
𝑦1
𝑦2
𝑦𝑘 = 𝑦3
[𝑦𝑛𝑘 ]
𝛽0
𝛽
𝛽̂𝑛𝑘,𝑘 (beta) = [ 1 ] untuk masing-masing subset.
⋮
𝛽𝑝
Menurut pendekatan divide and conquer (Lin and Xi, 2011) diperoleh estimasi sbb :
̂ = (∑ 𝑋′𝑘 𝑋𝑘 )−1 + ∑ 𝑋′𝑘 𝑋𝑘 𝛽𝑛𝑘,𝑘
𝜷
Estimasi tersebut merupakan estimasi beta gabungan dari k subset.
Kemudian degan menggunakan perspektif Bayesian diperoleh estimasi nilai beta regresi linier
untuk online updating subset ke-k sbb :
𝐾−1
𝐾−1
𝛽̂𝑘 = (∑ 𝑋′𝑙 𝑋𝑙 + 𝑋′𝑘 𝑋𝑘 ) (∑ 𝑋′𝑙 𝑋𝑙 𝛽̂𝑘−1 + 𝑋′𝑘 𝑋𝑘 𝛽̂𝑛𝑘,𝑘 )
−1
𝑙
𝑙
𝛽̂𝑘 = (𝑉𝑘−1 + 𝑋 ′ 𝑘 𝑋𝑘 )−1 (𝑉𝑘−1 𝛽̂𝑘−1 + 𝑋 ′ 𝑘 𝑋𝑘 𝛽̂𝑛𝑘,𝑘 )
Hasil diatas memungkinkan peneliti untuk meng-update nilai estimasinya setiap ada dataset yang
masuk untuk memperoleh nilai estimasi yang lebih aktual.
Dari hasil diatas diperoleh keuntungan bahwa untuk setiap periode waktunya, peneliti hanya perlu
menyimpan nilai X’kXk dan βk sedangkan data historis untuk masing-masing individu dapat
dihapus sehingga tidak memerlukan media penyimpanan yang sangat besar untuk menyimpan
database penelitian.
Ilustrasi Penggunaan Metode
 Pembagian data (divide and conquer)
Dimiliki satu set data regresi dengan 1 variabel dependen dan 4 variabel independen, serta
terdiri atas 25 observasi. Seperti pada metode divide and conquer, sejumlah observasi tersebut
dibagi dalam beberapa subset, yaitu 5 subset, dimana setiap subset terdiri dari 5 observasi.
Pemilihan jumlah subset ini dibebaskan kepada analis, begitu juga jumlah observasi dalam
setiap subset.
Subset 1 (k=1)
Subset 2 (k=2)
Subset 3 (k=3)
Subset 4 (k=4)
Subset 5 (k=5)
Sehingga didapatkan beta gabungan seperti berikut:
 Data update (k=6)
Selanjutnya terdapat 5 observasi baru dengan set yang sama dengan data regresi sebelumnya.
Ilustrasi ini menggambarkan bahwa terdapat updating terhadap data.
Dari set data baru tersebut, didapatkan:
 Estimasi untuk online updating
Setelah mendapatkan estimasi beta dari gabungan ke-5 subset dan juga data yang terbaru, kita
dapat menentukan estimasi beta yang lebih baru dengan menggabungan kedua estimasi
tersebut dengan menggunakan persamaan yang telah dijelaskan pada bab sebelumnya.
Hasilnya adalah sebagai berikut:
Dengan estimasi beta yang telah didapatkan, kita dapat membentuk model regresi untuk
selanjutnya dapat digunakan untuk menduga nilai dari variabel dependen.
 Simulasi regresi
Untuk perbandingan, kami melakukan analisis regresi linear sederhana terhadap 30 observasi
tersebut secara langsung. Didapatkan hasil sebagai berikut :
Kesimpulan
Dalam makalah ini, kami menerangkan secara singkat mengenai pendekatan yang
dilakukan sangat menarik karena dari data yang diperoleh akan di bagi menjadi beberapa
himpunan bagian dan kemudian mengunakan metode numerik dan visualisasi yang diterapkan
pada masing-masing subset terpisah. Kemudian mengumpulkan hasil dari masing-masing subset
tersebut untuk menghasilkan solusi terkahir. Sampai saat ini, sebagian besar berfokus di langkah
pengumpulan akhir dalam estimasi atau estimasi jumlah yang tidak diketahui dengan tidak
memperhatikan estimasi kesalahan standar (standard error).
Daftar Pustaka
Schifano ED, Wu J, Wang C, Yan J, Chen MH, Online Updating of Statistical Inference in the Big
Data Setting, Techonometrics. 2015 Forthcoming. Diakses pada 4 Mei 2017.
Wang C, Chen M, Scifano ED, Wu J, Yan J, Statistical Methods and Computing for Big Data.
2015 HHS Public Access. Diakses pada 4 Mei 2017.
Lampiran
Data regresi
Y
X1 X2
X3
X4
Subset
215.36 7
13.23 27.9
295.15 5
13.44 32.28 22.41
452.62 5
18.45 39.17 23.21 k=1
330.92 8
19.58 34.25 23.25
320.14 8
12.03 33.63 23.45
254.26 10
15.26 29.49 22.98
254.25 6
13.87 29.38 24.86
235.26 9
15.69 29.19 24.88 k=2
302.21 9
16.35 32.82 25
312.25 6
12.88 33.44 25.12
222.32 8
18.97 29.14 25.87
265.99 11
12.05 32.09 25.89
300.12 7
12.23 32.33 26.23 k=3
265.21 5
15.87 30.22 26.23
354.25 6
13.67 35.42 26.25
323.45 9
18.29 33.72 28.94
362.02 8
15.26 35.84 29.8
423
13.56 37.12 32.26 k=4
5
20.98
400.23 9
18.78 36.1
32.79
412.6
6
13.02 36.85 33.45
423.22 7
16.59 37.44 33.98
400.25 9
14.23 36.15 34.55
366.25 9
15.26 35.92 34.76 k=5
435.23 8
15.78 38.2
430.22 10
13.33 37.91 36.21
35.99
Data regresi update (k=6)
Y
X1 X2
X3
X4
352.16 9
12.89 34.79 36.25
365.21 8
12.45 35.91 36.87
415.25 8
19.25 36.96 36.99
451.29 8
14.32 38.98 40.12
512.33 8
13.45 39.33 44.98
Syntax Ilustrasi
Subset 1 (k=1)
Subset 2 (k=2)
xk1=read.delim("clipboard") #copy x
xk2=read.delim("clipboard") #copy x
yk1=read.delim("clipboard") #copy y
yk2=read.delim("clipboard") #copy y
Xm1=as.matrix(xk1)
Xm2=as.matrix(xk2)
Ym1=as.matrix(yk1)
Ym2=as.matrix(yk2)
b1=(solve(t(Xm1)%*%Xm1))%*%(t(Xm1)
b2=(solve(t(Xm2)%*%Xm2))%*%(t(Xm2)
%*%Ym1)
%*%Ym2)
Subset 3 (k=3)
Subset 4 (k=4)
xk3=read.delim("clipboard") #copy x
xk4=read.delim("clipboard") #copy x
yk3=read.delim("clipboard") #copy y
yk4=read.delim("clipboard") #copy y
Xm3=as.matrix(xk3)
Xm4=as.matrix(xk4)
Ym3=as.matrix(yk3)
Ym4=as.matrix(yk4)
b3=(solve(t(Xm3)%*%Xm3))%*%(t(Xm3)
b4=(solve(t(Xm4)%*%Xm4))%*%(t(Xm4)
%*%Ym3)
%*%Ym4)
Subset 5 (k=5)
xk5=read.delim("clipboard") #copy x
yk5=read.delim("clipboard") #copy y
Xm5=as.matrix(xk5)
Ym5=as.matrix(yk5)
b5=(solve(t(Xm5)%*%Xm5))%*%(t(Xm5)%*%Ym5)
Beta Gabungan
k1=t(Xm1)%*%Xm1
kb1=(t(Xm1)%*%Xm1)%*%b1
k2=t(Xm2)%*%Xm2
kb2=(t(Xm2)%*%Xm2)%*%b2
k3=t(Xm3)%*%Xm3
kb3=(t(Xm3)%*%Xm3)%*%b3
k4=t(Xm4)%*%Xm4
kb4=(t(Xm4)%*%Xm4)%*%b4
k5=t(Xm5)%*%Xm5
kb5=(t(Xm5)%*%Xm5)%*%b5
V=k1+k2+k3+k4+k5
Vb=kb1+kb2+kb3+kb4+kb5
b_gab=solve(V)%*%Vb
b_gab
Subset update (k=6)
xk6=read.delim("clipboard") #copy x
yk6=read.delim("clipboard") #copy y
Xm6=as.matrix(xk6)
Ym6=as.matrix(yk6)
b6=(solve(t(Xm6)%*%Xm6))%*%(t(Xm6)%*%Ym6)
Beta Update
b_update=(solve(Xm6+V))%*%((Xm6%*%b6)+(V%*%b_gab))
Download