package ff dan ffbase dalam r untuk big datadanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 big...

21
PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATA Membahas komputasi, mencoba, dan mendemonstrasikan package FF dalam Big DataPaper ini disusun untuk memenuhi tugas mata kuliah Big Data Yogyakarta, 8 Mei 2017 Disusun oleh : Nur Fadhillah R Nst (13/348000/PA/15416) Indah Rini Setyowati (14/363382/PA/15844) Annaz Trio Wardhana (14/366130/PA/16215) Fidelis Restu (14/368628/PA/16298) Dosen Pengampu : Drs. Danardono M.P.H., Ph.D. Vemmie Nastiti Lestari, M.Sc. PROGRAM STUDI STATISTIKA DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA 2017

Upload: phungliem

Post on 16-Mar-2019

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATA

“Membahas komputasi, mencoba, dan mendemonstrasikan package FF dalam Big Data”

Paper ini disusun untuk memenuhi tugas mata kuliah Big Data

Yogyakarta, 8 Mei 2017

Disusun oleh :

Nur Fadhillah R Nst (13/348000/PA/15416)

Indah Rini Setyowati (14/363382/PA/15844)

Annaz Trio Wardhana (14/366130/PA/16215)

Fidelis Restu (14/368628/PA/16298)

Dosen Pengampu : Drs. Danardono M.P.H., Ph.D.

Vemmie Nastiti Lestari, M.Sc.

PROGRAM STUDI STATISTIKA

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS GADJAH MADA

2017

Page 2: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

BAB I

PRINSIP FF DAN FFBASE

A. Pendahuluan

Package ff merupakan salah satu package pada R yang digunakan untuk menangani sistem

data pada big data. Package ini merupakan cara yang paling tepat dan efisien saat ingin

menyelesaikan masalah dengan suatu dataset yang sangat besar karena peralatannya yang

lengkap.

Kelebihan package ff disbanding dengan package bidgata yang lain adalah sebagai

berikut.

- Tidak membatasi untuk mengejakan tipe data numerik dan matriks saja seperti package

bigmemory, tetapi juga relatif lebih mudah untuk mengakses tipe data karakter, vektor,

bahkan faktor.

- Mempunyai fungsionalitas pemuatan data yang efisien dari flat/scv file.

- Tidak pelu menggunakan package sqldf untuk mendapatkan dan menambahkan sepanjang

waktu data tersebut di kanan (RAM-terbatas) ukuran ke dan dari database SQLite.

- Memiliki tingkat fungsi yang lebih tinggi (seperti menerapkan set of family, mengurutkan,

…) daripada package mmap yang tampaknya kurang bisa digunakan.

- Memungkinkan untuk bekerja dengan dataset yang tidak dapat diletakkan di memory yang

package database nya tidak memungkinkan.

Salah satu package yang menunjang bekerjanya package ff adalah package ffbase.

Package tersebut sekarang berisi beberapa ekstensi yang sangat berguna. Package ini juga berisi

banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar melalui package ff.

Beberapa fungsi tersebut diantaranya sebagai berikut.

1. Operasi dasar : c, unique, duplicated, ffmatch, ffdfmatch, %in%, is.na, all, any, cut, ffwhich,

ffappend, ffdf append, dll.

2. Operator standard pada vektor : +, -, *, /, ^, %%, %/%, ==, !=, <, <=, >=, >, &, |, !, dll.

3. Operator matematika : abs, sign, sqrt, ceiling, floor, truch, round, signif, log, log10, log2,

log1p, exp, expm1, acos, acosh, asin, asinh, atan, atanh, cos, cosh, sin, sinh, tan, tanh,

gamma, 1gamma, digamma, trigamma, dll.

4. Selection dan manipulasi data : subset, transform, with, within, ffwhich, dll.

5. Ringkasan statistik : sum, min, max, range, quantile, hist, dll.

6. Transformasi data : cumsum, cumprod, cumin, cummax, table, tabulate, merge, ffdfply, dll.

Page 3: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

Fungsi-fungsi tersebut bekerja pada objek atau benda kelas ffdf dari package ff. disamping

itu, ada beberapa fungsi tambahan yang memungkinakan pengelompokan lebih cepat dengan

tidak terbatas pada package ff saja. Misalnya, agregasi kelompok akan lebih cepat jika

digunakan fungsi : bySum, byMean, binned_sum, binned_sumsq, binned_tabulate, dll.

B. Fungsi Dasar dan Fungsi Matematika

Terdapat 2 fungsi mendasar yang digunakan dalam package ff, yaitu ff dan ffdf. Dikatakan

mendasar karena kedua fungsi tersebut digunakan untuk membuat suatu data berbentuk vektor

dan matrix (untuk ff) dan data frame (untuk ffdf).

1. Fungsi ff

Fungsi ff dapat digunakan untuk membentuk flat file 1 dimensi. Syntax yang digunakan

adalah :

ff(vmode=”…”,length=…)

Setelah itu, dibentuk data seperti biasa, dan digunakan syntax untuk memodifikasi flat file 1

dimensi yang telah terbuat tadi. Bentuk seperti ini dinamakan vektor ff.

Contoh :

Selain itu, fungsi ff dapat digunakan untuk membentuk flat file multi dimensi. Syntax yang

digunakan adalah :

ff(vmode=”…”,dim=…)

Setelah itu, dibentuk data seperti biasa, dan digunakan syntax untuk memodifikasi flat file 1

dimensi yang telah terbuat tadi. Pada 1 dimensi, digunakan data “rivers” yang merupakan

data bawaan dari R. Pada multi dimensi ini akan diberikan contoh dengan membuat data

sendiri. Bentuk seperti ini dinamakan matriks ff.

Contoh :

Page 4: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

2. Fungsi ffdf

Fungsi ffdf ini sering digunakan dalam aplikasi penyelesaian bigdata. Ffdm singkatan dari

FF Data Frame. Berikut akan ditunjukkan perbedaan data frame biasa dengan ffdf.

Di atas merupakan bentu data frame biasa yang sering digunakan. Berikut output jika data di

atas dirubah menjadi ffdf.

Perbedaan data frame dengan ffdf yaitu jika digunakan pada big data. Pada data frame biasa,

hanya mampu membaca beberapa data saja, tetapi pada ffdf data bisa dibaca secara

menyeluruh dengan waktu yang lebih cepat.

Berikut perbedaan pembacaan big data pada Ms. Excel, R tanpa package, dan R dengan

package ff.

Page 5: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

a) Ms. Excel

Jumlah data yang terlalu besar, menyebabkan Ms. Excel tidak bisa membaca data secara

keseluruhan. Hal ini dikarenakan Ms. Excel mempunyai jumlah baris maksimal.

b) R tanpa package

R tanpa package juga tidak bisa membaca data secara menyeluruh. Dia hanya dapat

membaca maksimal 1308378 baris data.

c) R dengan package ff

Package ff pada R bisa membaca data secara keseluruhan. Hal paling mendasar yang

bisa diambil dari sini yaitu kita bisa mengetahui jumlah data yang ada.

Dari ketiga perbandingan di atas, bisa diambil kesimpulan bahwa tidak semua aplikasi bisa

digunakan untuk membaca apalagi melakukan pengolahan big data. Package ff merupakan

salah satu package yang dapat digunakan untuk membaca big data dengan tepat.

3. Operasi Penjumlahan

Fungsi ini digunakan untuk menjumlahkan vektor dalam bentuk ff. Syntax yang digunakan

adalah sebagai berikut.

sum(x, na.rm = FALSE, range = NULL)

Page 6: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

dimana :

- x : objek ff yang akan dijumlahkan

- na.rm : apakah missing value ingin dihapus?

- range : jumlah integer vektor yang ingin dijumlahkan

Pada intinya operasi penjumlahan pada package ff dan tanpa ff sama, perbedaannya

hanyalah jenis pada objek yang digunakan.

4. Operasi Mean

Fungsi ini digunakan untuk menghitung nilai rata – rata atau mean dari suatu objek data.

Syntax yang digunakan adalah sebagai berikut:

mean(x, trim = 0, na.rm = FALSE, ...)

dimana:

- x : objek pada R yang akan dihitung nilai mean atau rata – ratanya

- trim : nilai pecahan (0 sampai 0,5) dari pengamatan untuk dihilangkan dari setiap

ujung nilai x sebelum menghitung mean. Nilai yang berada diluar interval yang telah

ditentukan tersebut akan digunakan sebagai titik akhir terdekat.

- na.rm : apakah missing value ingin dihapus sebelum dilakukan proses komputasi?

- . . . : argument lebih lanjut

5. Operasi Perkalian Matrix

Pada dasarnya operasi matriks untuk big data tidak tersedia pada packages ff dan ffbase,

packages ff dan ffbase hanya berfokus pada pembentukan matriks. Untuk melakukan

operasi matriks dapat dilakukan secara manual atau seperti operasi matriks di R, atau

menggunakan bantuan beberapa packages seperti biganalytics, atau bigalgebra. Namun pada

pembahasan kali ini, akan digunakan operasi matriks secara manual tanpa bantuan packages

tambahan, mengingat tujuan dari penelitian ini adalah focus pada penggunaan packages ff

dan ffbase.

Page 7: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

BAB II

IMPLEMENTASI

A. Penerapan Fungsi Sum, Mean, Dan Kali Matriks Pada Regresi

Selanjutnya akan dibahas mengenai 3 fungsi yang sering digunakan dalam pengolahan data,

yaitu fungsi sum, mean, dan kali matrix pada ff. Diperlukan package “ffbase” untuk

menjalankan fungus tersebut.

Ketiga fungsi tersebut akan diterapkan pada regresi, yaitu sebagai berikut.

d) Sum, digunakan untuk mencari estimasi parameter pada regresi linear sederhana.

�̂� =𝑛∑𝑋𝑌 − ∑𝑋∑𝑌

𝑛∑𝑋2 − (∑𝑌)2

e) Mean, digunakan untuk mencari estimasi parameter pada regresi linear sederhana.

�̂� = �̅� − �̂��̅�

f) Kali matrix, digunakan untuk mencari estimasi parameter pada regresi linear ganda.

�̂� = (𝑿′𝑿)−𝟏𝑿′𝒀

Studi kasus yang digunakan yaitu data airline tahun 1987, dengan variabel Y = ArrTime dan

variabel X = DepTime untuk regresi sederhana. Sedangkan untuk regresi ganda, digunakan Y =

ArrTime, X1 = DepTime, dan X2 = Distance.

Sum FF

Pada studi kasus ini, terdapat beberapa langkah yang dilakukan untuk menggunakan fungsi

ffbase hingga didapatkan nilai estimasinya.

1. Membaca data

2. Mengambil variabel yang ingin dijumlahkan

Page 8: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

3. Melalukan Perhitungan Package “ffbase”

4. Setelah itu, karena terjadi warning, maka dilakukan perhitungan manual untuk mencari

estimator 𝛽 dari nilai-nilai yang telah diperoleh.

�̂� =𝑛∑𝑋𝑌 − ∑𝑋∑𝑌

𝑛∑𝑋2 − (∑𝑌)2

=1311826(2,87 × 1012) − (1769297027)(1923665971)

1311826(2,72 × 1012) − (1769297027)2

=3,7 × 1018 − 3,4 × 1018

2,98 × 1018 − 3,13 × 1018

= −2

Mean FF

Pada studi kasus ini, terdapat beberapa langkah yang dilakukan untuk menggunakan fungsi

ffbase hingga didapatkan nilai estimasinya.

1. Membaca data

Page 9: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

2. Mengambil variabel yang ingin dijumlahkan

3. Melalukan Perhitungan Package “ffbase”

Sebelumnya telah diketahui bahwa nilai estimator 𝛽 sebesar -2. Jadi, diperoleh nilai estimator 𝛼

sebagai berikut :

�̂� = �̅� − �̂��̅� = 4231.703

Page 10: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

Operasi Perkalian Matriks

Untuk operasi perkalian matriks, diambil studi kasus pencarian nilai estimasi β pada regresi

ganda. Data yang digunakan adalah data yang sama pada pembahasan sebelumnya. Data yang

digunakan sebagai berikut :

Berdasarkan data di atas, variable dependen (Y) yang diambil untuk estimasi regresi adalah

ArrTime, dan variable independen (X1 dan X2) yang diambil untuk estimasi regresi adalah

DepTime, dan Distance.

Diketahui rumus estimasi nilai β pada regresi ganda sebagai berikut :

�̂� = (𝑿′𝑿)−𝟏𝑿′𝒀

Berdasarkan rumus di atas, maka langkah awal yang dilakukan adalah membentuk matriks X

dengan dimensi N x 3, dan matriks Y dengan dimensi N x 1, dimana N adalah jumlah data yang

digunakan.

Page 11: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

Berikut sintaks untuk pembentukan matriks X dan Y

1. Matriks X

2. Matriks Y

Keterangan :

Data[,5], data[,7] dan data[,18] menunjukkan urutan kolom dari variabel-variabel yang diambil

pada data. Variabel dependen ArrTime diambil dari data pada kolom ketujuh, sedangkan

variabel independen DepTime, dan Distance berturut – turut diambil dari data pada kolom

kelima dan kedelapan belas.

Setelah dibentuk matriks X dan Y, maka akan dibentuk matriks (XTX)-1 dan (XTY). Operasi

perkalian matriks yang digunakan menggunakan operasi matriks manual pada R, tanpa bantuan

packages khusus. Bentuk matriks (XTX)-1 dan (XTY) didapat sebagai berikut :

Page 12: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

1. Matriks (XTX)-1

Karena matriks (XTX) terdapat NA yang kemungkinan disebabkan oleh adanya missing

value pada salah satu atau kedua variabel independen, maka terdapat nilai NA pada

perkalian XTX. Hal ini mengakibatkan invers dari XTX tidak dapat dihitung.

2. Matriks (XTY)

Hal yang sama terjadi pada perkalian matriks XTY, pada perkalian matriks ini terdapat nilai

NA yang kemungkinan disebabkan oleh adanya missing value pada data yang digunakan.

Karena pada kedua perkalian matriks ini menghasilkan nilai NA, maka penghitungan nilai

estimasi β dengan contoh data ini tidak dapat dilakukan. Namun secara tidak langsung studi

kasus ini menunjukkan bahwa operasi perkalian matriks untuk data besar dapat dilakukan secara

manual. Selain itu dari studi kasus ini menunjukkan bahwa packages ff dapat digunakan untuk

pembentukan matriks.

B. Perbandingan Waktu

Untuk membandingkan proses waktu yang digunakan oleh suatu data dengan atau tanpa

menggunakan package ff, digunakan syntax berikut.

ptm <- proctime()

…(syntax yang akan dihitung prosesnya)…

proctime – ptm

Digunakan data vektor berukuran 24 (puluhan), 150 (ratusan), 4.974 (ribuan), 39.644

(puluhribuan), dan 1.311.026 (bigdata). Masing-masing data vektor di atas dikenakan proses

pembacaan data, operasi sum, dan operasi mean. Hasil (output) pada perbandingan waktu dapat

dilihat di lampiran.

Page 13: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

Diperoleh kesimpulan dari perbandingan waktu sebagai berikut.

Banyaknya

Data

Lama Waktu (Detik)

Baca Data Sum Mean

Tanpa ff Dengan ff Tanpa ff Dengan ff Tanpa ff Dengan ff

Puluhan 0,02 0,04 0,02 0,03 0,01 0,02

Ratusan 0,03 0,04 0,01 0,01 0,02 0,02

Ribuan 0,05 0,11 0,01 0,03 0,02 0,02

Puluhribuan 0,11 0,13 0,01 0,08 0,02 0,02

Big Data 13,45 12,45 0,03 0,02 0,05 0,04

Dari tabel di atas, diperoleh beberapa kesimpulan terkait perbandingan waktunya.

Lama waktu menggunakan package ff dan tanpa menggunakan ff tidak berbeda secara

signifikan. Untuk big data, proses dengan package ff relatif lebih cepat daripada tanpa

package ff. Untuk non big data, proses tanpa package ff lebih cepat dari pada dengan

package ff.

Big data yang dimaksud adalah data yang ukurannya sangat besar hingga Ms. Excel tidak

bisa membaca. Karena meskipun data besar hingga puluh ribuan, akan tetapi itu belum

termasuk big data.

Dari beberapa kesimpulan atas, bisa disimpulkan bahwa package ff lebih baik digunakan hanya

untuk big data saja. Jika data masih bisa terbaca oleh excel, maka tidak perlu digunakan

package ff.

Page 14: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

BAB III

KESIMPULAN

1. Package ff merupakan salah satu package pada R yang digunakan untuk menangani sistem data

pada big data.

2. Salah satu package yang menunjang bekerjanya package ff adalah package ffbase. Package ini

berisi banyak fungsi dari paket dasar R untuk penggunaan dengan data besar melalui package

ff.

3. Fungsi mendasar yang digunakan dalam package ff, yaitu ff dan ffdf. Dikatakan mendasar

karena kedua fungsi tersebut digunakan untuk membuat suatu data berbentuk vektor dan

matrix (untuk ff) dan data frame (untuk ffdf).

4. Tidak semua aplikasi bisa digunakan untuk membaca apalagi melakukan pengolahan big data.

Package ff merupakan salah satu package yang dapat digunakan untuk membaca big data

dengan tepat.

5. Pada intinya operasi penjumlahan (sum), perhitungan rata-rata (mean), dan perkalian matrix

pada package ff dan tanpa ff sama, perbedaannya hanyalah jenis pada objek yang digunakan.

Package ff menggunakan data jenis ff atau ffbase.

6. Package ff lebih baik digunakan hanya untuk big data saja. Jika data masih bisa terbaca oleh

excel, maka tidak perlu digunakan package ff.

Page 15: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

LAMPIRAN

Deskripsi Fungsi

1. Fungsi ff

2. Fungsi ffdf

3. Fungsi sum.ff

Page 16: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

4. Fungsi mean.ff

Output Perbandingan Waktu

1. Baca Data

a. Puluhan

b. Ratusan

Page 17: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

c. Ribuan

d. Puluh Ribuan

Page 18: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

e. Big Data

2. Perhitungan Sum

a. Puluhan

b. Ratusan

Page 19: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

c. Ribuan

d. Puluh Ribuan

e. Big Data

Page 20: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

3. Perhitungan Mean

a. Puluhan

b. Ratusan

c. Ribuan

Page 21: PACKAGE FF DAN FFBASE DALAM R UNTUK BIG DATAdanardono.staff.ugm.ac.id/matakuliah/bigdata/kel11 BIG DATA_PACKAGE...banyak fungsi dari paket dasar R untuk penggunaan dengan dataser besar

d. Puluh Ribuan

e. Big Data