Top Banner
PENGGUNAAN BIGLM DAN BIGANALYTICS DALAM R Dosen Pengampu : Dr. Danardono, MPH Vemmie Nastiti Lestar, S.Si., M.Sc Disusun Oleh : Nanda Noor Harkam Ansol (14/366258/PA/16236) Angelia Trince Monekaka (14/366174//PA/16220) Tri Mulyaningsih (14/366175/PA/16221) Novika Purba (14/368612/PA/16296) PROGRAM STUDI STATISTIKA DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA
22

danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

Apr 01, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

PENGGUNAAN BIGLM DAN BIGANALYTICS DALAM R

Dosen Pengampu : Dr. Danardono, MPH

Vemmie Nastiti Lestar, S.Si., M.Sc

Disusun Oleh :

Nanda Noor Harkam Ansol (14/366258/PA/16236)

Angelia Trince Monekaka (14/366174//PA/16220)

Tri Mulyaningsih (14/366175/PA/16221)

Novika Purba (14/368612/PA/16296)

PROGRAM STUDI STATISTIKA DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS GADJAH MADA

YOGYAKARTA

2017

Page 2: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

BAB I

PENDAHULUAN

1. Latar Belakang Masalah

Salah satu library di R yang cukup penting dan sangat sering digunakan adalah

lm(). Lm() digunakan untuk memfitting model-model linier seperti regresi linier, anava

satu arah, dan analisis covariansi. Meskipun penggunaan library lm dalam regresi linier

sangat umum dilakukan akan muncul permasalahan baru apabila data yang akan

dianalisis berukuran cukup besar. Hal ini dikarenakan apabila dalam analisis regresi

menggunakann library lm maka user harus menyertakan keseluruhan data sehingga

memori yang dibutuhkan cukup besar. Oleh karena itu, digunakanlah library biglm untuk

analisis regersi dengan data yang cukup besar.

Biglm menawarkan beberapa keuntungan diantaranya, biglm dalam analisis hanya

menyimpan data sebesar p2 dengan p adalah banyaknya variabel yang digunakan. Selain

itu biglm menawarkan fasilitas update. Fasilitas update dapat digunakan untuk

menganalisis regresi terhadap data yang telah dipartisi menjadi beberapa bagian. Idenya

adalah meregresikan data partisi tertentu kemudian setelah di analisis dan didapatkan

hasilnya akan digunakan fasilitas update dengan menambahkan data baru yang berasal

dari partisi yang lain. Dengan cara ini maka memori yang digunakan lebih kecil karena

gagasan dari fungsi biglm adalah menyimpan data ke dalam memori hanya pada saat di

running.

Big analytics merupakan package analisis yang digunakan untuk data berukuran

besar. Analisis yang terdapat pada package biganalytics diantaranya ada biglm.big.matrix,

bigglm.big.matrix, bigkmeans, binit, dan penerapan untuk big.matrix.objects.

2. Rumusan Masalah

a. Bagaimana perbedaan antara biglm dan lm?

b. Bagaimana penggunaan fasilitas update pada packages biglm?

c. Bagaimana perbedaan antara analisis pada matrix biasa dengan matrix menggunakan

package biganalytics?

3. Tujuan

a. Mengetahui penggunaan packages biglm dan biganalytics.

b. Mengetahui penggunaan fasilitas update pada biglm.

Page 3: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie
Page 4: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

BAB II

LANDASAN TEORI

1. Package Biglm

Biglm membuat/menciptakan objek model linier hanya dengan menggunakan

memori p^2 untuk variabel p. Data ini dapat diperbarui dengan menggunakan lebih

banyak update data. Model ini memungkinkan untuk menjalankan regresi linear pada

data set yang lebih besar dari pada memorynya.

Dalam package biglm, terdapat fungsi bigglm, bigglm.data.frame,

bigglm.function, bigglm.RODBC, biglm.

Usage

biglm(formula, data, weights=NULL, sandwich=FALSE)

## S3 method for class 'biglm'

update(object, moredata,...)

## S3 method for class 'biglm'

vcov(object,...)

## S3 method for class 'biglm'

coef(object,...)

## S3 method for class 'biglm'

summary(object,...)

## S3 method for class 'biglm'

AIC(object,...,k=2)

## S3 method for class 'biglm'

deviance(object,...)

Arguments

Page 5: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

Details

The model formula must not contain any data-dependent terms, as these will not be

consistent when updated. Factors are permitted, but the levels of the factor must be the

same across all data chunks(empty factor levels are ok). Offsets are allowed (since

version 0.8).

Value

An object of class biglm

2. Package Biganalytics

Package biganalytics diperlukan untuk objek big.matrix dari paket bigmemory.

Package biganalytics merupakan perluasan dari package bigmemory dengan variasi

analisis. Biganalytics menyediakan statistik ringkasan yang lebih jelas (melihat colmean,

dll ..), biganalytics menawarkan biglm.big.matrix, bigglm.big.matrix, bigkmeans, binit,

dan untuk objek big.matrix. Beberapa fungsi dapat digunakan dengan benda R

memberikan keuntungan dalam kecepatan dan efisiensi memori.

2.1 Library yang Terdapat pada Packages Biganalytics

big.matrix

Digunakan apply() untuk objek big.matrix

usage

apply(X, MARGIN, FUN, ...)

Arguments

X : a big.matrix object.

MARGIN : the margin. May be may only be 1 or 2, but otherwise

conforming to what you would expect from apply().

FUN : the function to apply.

... : other parameters to pass to the FUN parameter.

bigglm.big.matrix

Ini adalah pembungkus paket biglm Thomas Lumley, yang memungkinkannya

digunakan dengan data besar yang tersimpan dalam objek big.matrix

Usage

bigglm.big.matrix(formula, data, chunksize = NULL, ..., fc = NULL,

getNextChunkFunc = NULL) biglm.big.matrix(formula, data, chunksize =

NULL, ..., fc = NULL, getNextChunkFunc = NULL)

Page 6: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

Arguments

formula : a model formula.

Data :a big.matrix.

Chunksize : an integer maximum size of chunks of data to process

iteratively.

Fc : either column indices or names of variables that are factors.

... : options associated with the biglm

getNextChunkFunc: a function which retrieves chunk data

bigkmeans

Analisis k-means dengan menghemat memori

Usage

bigkmeans(x, centers, iter.max = 10, nstart = 1, dist = "euclid")

Arguments

X : a big.matrix object.

Centers : a scalar denoting the number of clusters, or for k clusters, a k by ncol(x)

matrix.

iter.max : the maximum number of iterations.

Nstart : number of random starts, to be done in parallel if there is a registered

backend (see below).

Dist : the distance function. Can be "euclid" or "cosine".

Binit

Menghitung elemen yang muncul di bins dari satu atau dua variabel

Usage

binit(x, cols, breaks = 10)

Arguments

X : a big.matrix or a matrix.

Cols : a vector of column indices or names of length 1 or 2.

Breaks : a number of bins to span the range from the maximum to the minimum,

or a vector (1-variable case) or list of two vectors (2-variable case)

where each vector is a triplet of min, max, and number of bins.

Page 7: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie
Page 8: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

BAB III

PEMBAHASAN

1. Implementasi Biglm dengan R

1.1 Perbandingan waktu eksekusi antara biglm dan lm

Untuk membandingkan waktu eksekusi antara biglm dan lm maka dilakukan

beberapa kali simulasi yaitu dari data berukuran kecil hingga berukuran cukup besar.

Data yang digunakan berasal dari pembangkitan data.

Syntax pembangkitan data:

x1=sample(1:4,1000000,TRUE)

x2=sample(25:61,1000000,TRUE)

x3=sample(567:1789000,1000000,TRUE)

y=-1.23+2.3*x1-0.98*x2+0.75*x3+rnorm(1000000,0,25)

Interpretasi data :

X1 adalah data kategorik yang terdiri dari 4 kategori

X2 adalah data berupa bilangan bulat positif yang berada diantara 24 dan 62

X3 adalah data berupa bilangan bulat positif yang berada diantara 566 dan 1789001

Y dibangkitkan dengan rumus regresi disertai penambahan error yang berdistribusi

normal dengan mean 0 dan variansi 25.

Pengukuran waktu

Dalam pengukuran waktu digunakan menu proc.time(). Dengan syntax :

ptm = proc.time()

model1=biglm(y~x1+x2+x3,data=data) syntax yang ingin kita ukur waktu

eksekusinya

proc.time()-ptm akan memunculkan waktu eksekusi

*Untuk output hasil eksekusi, kami tampilkan dalam lampiran.

Tabel 2.1 Hasil dari perbandingan lm dan biglm

  Proc Time

Size lm biglm

10 0.01 0.03

100 0.01 0.05

1000 0.03 0.02

10000 0.06 0.05

100000 0.06 0.02

Page 9: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

1000000 0.17 0.14

10000000 14.73 2.45

1.2 Penggunaan fasilitas update pada package biglm

Fasilitas update yang disediakan oleh package biglm memungkinkan kita

sebagai user untuk melakukan update data. Sebagai contoh kita melakukan analisis

regresi terhadap suatu set data dan mencari estimasi beta untuk masing-masing

variabel independen. Kemudian muncul data baru yang merupakan kelanjutan dari

data set sebelumnya. Dengan menggunakan fasilitas update, kita dapat mencari

estimasi beta yang baru tanpa harus melakukan estimasi terhadap keseluruhan data.

Dengan kata lain dapat lebih menghemat memori yang digunakan.

Berikut kami demonstrasikan penggunaan fasilitas update dipackage biglm.

Data yang kami gunakan sebagai demo memang belum bisa dikategorikan big, karena

disini kami hanya ingin menekankan penggunaan dari fasilitas update itu sendiri.

Deskripsi data

Data anime yang terdiri dari 4 variable yaitu :

Rating : menunjukkan kepopuleran suatu anime yang merupakan variable dependen

(y)

Type : jenis dari anime yang merupakan variabel kategorik

Episodes : merupakan jumlah episode

Members : jumlah anggota

a. Estimasi data awal

Data awal terdiri dari 10677 data

Page 10: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

Syntax untuk estimasi awal

ff<-rating~type+episodes+members

a=biglm(ff,data)

summary(a)

Hasil estimasi beta untuk data awal

Output 3.1

b. Estimasi dengan menu update

Data update

Page 11: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

Syntax estimasi dengan fasilitas update

b=update(a,dataupdate)

summary(b)

Hasil estimasi

Output 3.2

c. Perbandingan menu update dan cara konvensional

Perbandingan hasil estimasi

Cara konvensional adalah estimasi beta dengan melibatkan keseluruhan data.

Keseluruhan data

Page 12: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

Hasil estimasi konvensiona; (dengan data keseluruhan)

Ternyata apabila dibandingkan maka hasil estimasi dari cara

konvensional sama dengan hasil dengan fasilitas update (output 3.2)

Perbandingan waktu eksekusi

Konvensional Fasilitas update

Page 13: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

Dilihat dari waktunya terlihat bahwa fasilitas update lebih cepat dari

cara konvensional dengan kata lain, fasilitas update lebih menghemat memori

dan juga waktu dibandingkan dengan cara konvensional.

2. Implementasi Biganalytics dengan R

Implementasi biganalytics pada R kali ini lebih membahas tentang penggunaaanya pada

data yang berbentuk matrix.

Matrix tanpa biganalytics

Syntax :

data = matrix(sample(1:999999,100000,replace=TRUE),10000,10,

dimnames=list(NULL,c(“a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”,”i”,”j”)))

data

Interpretasi

data = data berbentuk matrix

replace = data pada sampel bersifat pengembalian (TRUE) dan tidak bersifat

pengembalian (FALSE)

dimnames = memberi nama pada kolom maupun baris

Mencari nilai mean pada data matrix

Syntax :

Mean(data)

Output :

Apakah bisa mencari nilai mean pada kolom a?

Syntax :

Colmean(data,”a”)

Ouput :

Kesimpulan

Pada matrix biasa tanpa menggunakan biganalytics kita tidak dapat mengetahui nilai

mean untuk kolom “a”. berdasarkan hal tersebut, tentu akan menyulitkan peneliti

apabila peneliti ingin mengetahui untuk masing-masing kolom. Selanjutnya, kita akan

mencoba melakukan analisis pada matrix dengan menggunakan package biganalytics.

Matrix dengan biganalytics

Page 14: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

Syntax :

Library(biganalytics)

data = as.big.matrix(matrix(sample(1:999999,100000,replace=TRUE),10000,10,

dimnames=list(NULL,c(“a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”,”i”,”j”))))

data [,]

Interpretasi

data = data berbentuk matrix

as.big.matrix = fungsi dimana data tersebut didefiinisikan berupa matrix berukuran

besar

replace = data pada sampel bersifat pengembalian (TRUE) dan tidak bersifat

pengembalian (FALSE)

dimnames = memberi nama pada kolom maupun baris

Mencari nilai mean pada data matrix

Syntax :

Mean(data)

Output :

Apakah bisa mencari nilai mean pada kolom a?

Syntax :

Colmean(data,”a”)

Ouput :

Kesimpulan

Pada matrix dengan menggunakan biganalytics kita dapat mengetahui nilai mean

untuk kolom “a”. Berdasarkan hal tersebut, tentu akan memudahkan peneliti apabila

peneliti ingin mengetahui untuk masing-masing kolom.

Contoh :

mengetahui mean masing-masing kolom

Syntax :

Colmean(data)

Ouput :

Page 15: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

mengetahui range masing-masing kolom

Syntax :

Biganalytics::apply(data,2,range)

Ouput :

Keterangan :

Data pada matrix tanpa package biganalytic maupun dengan biganalytics terlihat

berbeda (terlihat pada mean). Hal ini terjadi karena pengambilan sampel pada data

bersifat acak sehingga terdapat perbedaan dari data pada masing-masing matrix (tanpa

package maupun dengan package).

Page 16: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

BAB III

KESIMPULAN

Berdasarkan analisis yang telah dilakukan, dapat diambil kesimpulan bahwa:

1. Biglm memiliki bebrapa kelebihan dibandingkan dengan lm apabila dilihat dari

waktu eksekusi dan memori yang digunakan.

2. Biglm menawarkan menu update sehingga memudahkan dalam estimasi apabila

dimiliki data baru.

3. Biganalytics memberikan fasilitas yang cukup penting dalam komputasi.

Page 17: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

LAMPIRAN

1. Library lm dengan size : 10

2. Library biglm dengan size : 10

3. Library lm dengan size : 100

4. Library biglm dengan size : 100

5. Library lm dengan size : 1000

6. Library biglm dengan size : 1000

7. Library lm dengan size : 10000

8. Library biglm dengan size : 10000

9. Library lm dengan size : 100000

10. Library biglm dengan size : 100000

11. Library lm dengan size : 1000000

12. Library biglm dengan size : 1000000

13. Library lm dengan size : 10000000

14. Library biglm dengan size :

100000000

Page 18: danardono.staff.ugm.ac.iddanardono.staff.ugm.ac.id/matakuliah/bigdata/kel09 BIGLM... · Web viewPENGGUNAAN BIGLM DAN BIGANALYTICS DALAM RDosen Pengampu : Dr. Danardono, MPHVemmie

15. Data pada matrix tanpa package biglm

16. Data pada matrix dengan package biganalytics