JGOS 2005, © Dedi Rosadi
WORKSHOP APLIKASI ANALISIS STATISTIKA TERAPAN
DENGAN OPEN SOURCE SOFTWARE R
Oleh : Dr. Dedi Rosadi, S.Si., M.Sc.
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
1
JGOS 2005, © Dedi Rosadi
MATERI SESI I WORKSHOP APLIKASI ANALISIS STATISTIKA TERAPAN DENGAN OPEN SOURCE SOFTWARE R
1.1. Deskripsi Singkat Open Source Software R Dewasa ini, telah tersedia cukup banyak paket software untuk keperluan analisa statistika, diantaranya yang relatif populer di Indonesia adalah SPSS, Minitab, MicroStat, MATLAB, Eviews, Splus, dan lain-lain. Sebagian besar software statistika yang populer diatas bersifat komersil dengan harga lisensi yang relatif sangat mahal untuk ukuran sebagian besar user di Indonesia. Alternatif penyelesaian untuk problem ini adalah menggunakan softwaresoftware statistika open source dan/atau freeware, diantaranya seperti: • Open Stats (http://www.statpages.org/miller/openstat/) • SalStat (http://salstat.sunsite.dk) • Vista (http://www.visualstats.org) • R (R Development Core Team, 2004) • Dan lain-lain (lihat http://freestatistics.altervista.org/stat.php atau http://www.statistics.com/content/ freesoft/AZlisting.html). Dalam workshop ini, kita akan memfokuskan penggunaan R untuk analisa statistika. R yang telah dikenal dalam versinya yang sekarang ini (versi terakhir per November 2004 adalah 2.0.1.) merupakan suatu sistem analisa statistika yang relatif komplet, yang merupakan hasil dari kolaborasi riset berbagai statistisi di seluruh dunia. Versi paling awal R dibuat tahun 1992 di Universitas Auckland, New Zealand oleh Ross Ihaka dan Robert Gentleman (yang mungkin menjelaskan asal muasal akronim nama R untuk software ini). Pada awalnya R dikembangkan menggunakan bahasa LISP dan di implementasikan berdasarkan sistem semantik bahasa Scheme di bawah sistem operasi Macintosh. Saat ini source code kernel R dikembangkan oleh R Core Team, yang beranggotakan 17 orang statistisi dari berbagai penjuru dunia (lihat http://www.r-project.org/contributors.html), dan oleh masyarakat statistisi di seluruh penjuru dunia yang memberikan kontribusi berupa kode, melaporkan bug dan membuat dokumentasi untuk R. R bersifat multiplatforms, dengan file instalasi binary/file tar tersedia untuk system operasi Windows, Mac OS, Mac OS X, Free BSD, NetBSD, Linux, Irix, Solaris, AIX dan HPUX. Sintaks dari bahasa R secara umum ekuivalen dengan software statistika komersil SPlus (saat ini SPlus di jual oleh Insightful Corp, dikembangkan berdasarkan kode asli bahasa S yang dibuat oleh oleh Richard A. Becker, John M. Chambers, dan Allan R. Wilks dari AT&T Bell Labs. Statistics Research Department, yang saat ini dikenal dengan nama Lucent Technologies). Ada beberapa perbedaan kecil antara R dan Splus, seperti (1) Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
2
JGOS 2005, © Dedi Rosadi
penggunaan operator “=” mulai R versi 1.7.0 untuk menggantikan operator pemberian nilai "<-" didalam SPlus; dan (2). Objek tidak disimpan sebagai file-file terpisah dalam satu direktori kerja, tetapi disimpan secara internal sebagai file image data. Akan tetapi untuk sebagaian besar keperluan analisa statistika, pemrograman dengan R hampir identik dengan perintah yang dikenal di dalam Splus. 1.2. Kelebihan dan Kekurangan R Karena R bersifat GNU (lihat http://www.gnu.org), maka untuk menggunakan R tidak diperlukan pembayaran lisensi. Ada beberapa alasan lain selain alasan ini untuk menggunakan R dibandingkan dengan software statistik komersil, yang dapat dituliskan sebagai berikut: Kelebihan “Gratis”. User dapat memiliki kopi dan menginstal software ini secara bebas tanpa perlu membayar fee untuk lisensi Portability. Jika seorang user pernah mempelajari software ini, mereka bebas untuk mempelajari dan menggunakannya sampai kapanpun yang diiinginkan (berbeda misalnya dengan lisensi software yang bersifat student version) Multiplatform. R bersifat multiplatform operating sytems, lebih umum dibanding software statistika manapun yang pernah ada. Dengan demikian jika seorang user memutuskan untuk berpindah sistem operasi, maka penyesuaian akan relatif lebih mudah untuk dilakukan General dan Cutting-edge. Berbagai metode analisa statistik (metodemetode klasik maupun metode-metode baru) telah diprogramkan kedalam bahasa R. Dengan demikian, software ini dapat digunakan untuk berbagai macam analisa statistika (jika tidak dapat dikatakan untuk semua hal berkaitan dengan analisa statistika) Programmable. User dapat memprogramkan metode baru atau mengembangkan modifikasi dari fungsi-fungsi analisa statistika yang telah ada dalam sistem R Bahasa berbasis analisa matriks. Bahasa R sangat baik untuk melakukan programming dengan basis matriks (seperti halnya dalam bahasa MATLAB, GAUSS atau OX). Fasilitas grafik yang relatif baik Relatif cukup cepat, dan khususnya memiliki kemampuan management memori yang lebih baik dibandingkan dengan beberapa software lain Kelemahan • Point and Click GUI. Interaksi utama antara user dengan R adalah bersifat CLI (Command Line Interface). Dengan demikian untuk dapat menggunakan R, diperlukan penyesuaian-penyesuaian bagi user yang telah terbiasa dengan fasilitas Point and Click GUI. Untungnya, pada saat ini telah tersedia beberapa GUI (Graphical User Interface) sederhana untuk keperluan beberapa analisa statistika tertentu. Untuk keperluan pengajaran statistika dasar dapat digunakan GUI R-commander dan RSciViews. R-commander. R commander merupakan library tambahan Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
3
JGOS 2005, © Dedi Rosadi
•
untuk R untuk memfasilitasi GUI bagi berbagai analisa statistika standar yang dikembangkan oleh John Fox dari Department of Sociology, Mc. Master University. Sedangkan R-Sciviews (http://www.sciviews.org/SciViews-R) adalah versi GUI alternatif dari Rcommander, yang dikembangkan oleh Philippe Grosjean dan Eric Lecoutre. Missing statistical function. Walaupun analisa statistika dalam R sudah cukup lengkap, belum semua metode statistik telah diimplementasikan didalam R, seperti misalnya metode LAD regression (least absolute deviation regression), M-estimates dan lain-lain. Namun karena R merupakan suatu bahasa yang paling “standard” untuk keperluan riset statistika, dapat dikatakan ketersediaan serta kelengkapan fungsi-fungsi tambahan hanyalah merupakan masalah waktu saja.
1.3. Installasi Software R dalam OS Microsoft Windows dan Linux R dapat diperoleh secara “gratis”, di CRAN-archive (The Comprehen-sive R Archive Network) pada alamat http://cran.r-project.org, (nama virtual dari http://www.ci.tuwien.ac.at/R-project). Server utama CRAN berlokasi di Universitas Teknologi Vienna, Austria, dan dimirror world-wide lebih kurang di 17 repository di 5 benua (lihat http://cran.r-project.org/mirrors.html). Saat ini CRAN telah di mirror di UGM dialamat http://cran.ugm.ac.id. Pada server CRAN dapat didowload file instalasi binary dan source code dari R-base system dalam sistem operasi Windows (semua versi), Macintosh (System 8.6 to 9.1 and MacOS X), dan untuk beberapa jenis distro linux (Mandrake, Suse dan RedHat). Fungsionalitas dan kemampuan dari R sebagian besar diperoleh dari Add-on packages/library. Suatu library adalah kumpulan perintah/fungsi yang dapat digunakan untuk melakukan analisa tertentu (mirip halnya dengan Toolbox dalam MATLAB). Sebagai contoh, library ts berisikan berbagai fungsi yang dapat digunakan untuk melakukan analisa runtun waktu, dan lain-lain. Instalasi standar dari R memuat berbagai library dasar seperti stats, graphics, utils, datasets dan base. Diluar library-library dasar ini, terdapat sejumlah besar library hasil kontribusi dari pengguna R yang harus diinstal satu demi satu jika diperlukan. Daftar semua library yang tersedia dapat diakses dari link download CRAN pada alamat http://cran.rproject.org/. Sebelum dapat digunakan suatu library yang telah diinstal pada R harus di loading kedalam memori dengan menggunakan perintah library(“nama library”). Untuk proses instalasi, software ini tidak terlalu sulit untuk di install atau prosedurnya hampir sama dengan dengan software yang lain. Tidak jauh berbeda dengan paket program pengolahan data statistika yang populer seperti SPSS, Minitab, SAS dan S-plus, serta program komputasi MATLAB, paket program R ini memiliki banyak alat analisis data statistika yang sangat lengkap, bahkan untuk metode komputasi statistiknya secara subjektif dapat dikatakan bahwa OSS ini memiliki banyak kelebihan
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
4
JGOS 2005, © Dedi Rosadi
dibandingkan paket program komputasi komersial lainnya seperti salah satunya yang sering digunakan yaitu MATLAB. Interaksi user dengan R dapat dilakukan dengan menggunakan R console maupun dengan menggunakan menu GUI. Pada bagian ini, akan diberikan metode instalasi R dan instalasi R-GUI (R-Commander pada Linux dan Windows, serta R-Sciviews pada Windows). Untuk installasi R-GUI, dapat dilakukan secara offline dengan mendownload sejumlah paket-paket (yakni library tambahan) yang tersedia pada web.
STUDI KASUS I.3
Studi Kasus Workfile
: Instalasi OSS R.2.01 pada OS WINDOWS : rw2001.exe keterangan Silahkan ikuti instruksi dari pemberi materi , diharapkan tidak mendahului proses installasi untuk mendapatkan hasil yang terbaik karena hasil installasi anda akan di gunakan dalam praktek workshop selanjutnya . TERIMA KASIH
1.3.1. Instalasi Pada OS Windows Installasi Windows
R-Base
Pada
OS
1. Double klik file rw2001.exe yang terdapat pada direktori R/R-Base Setup Windows. Maka jendela dialog berikut akan muncul.
2. Klik Next dan selanjutnya pilih tombol I accept the agreement, dan pilih Next. Jendela dialog berikut akan ditampilkan dilayar, untuk menentukan lokasi instalasi dari R
3. untuk merubah lokasi installasi file, silahkan browse pada lokasi yang diinginkan dengan mengklik pada tombol Browse... Namun disini kita akan menginstal R pada lokasi defaultnya, yakni pada direktori C:\Program Files\R\rw2001. Untuk itu, tekan tombol Next tanpa merubah lokasi instalasi. maka akan ada dialog untuk konfirmasi
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
5
JGOS 2005, © Dedi Rosadi
menu dari windows akan terdapat shortcut dari R. seperti
4. Default instalasi adalah menggunakan mode User instalation. Untuk itu, silahkan klik Next untuk melanjutkan proses instalasi. Klik Next sekali lagi pada jendela dialog selanjutnya, maka proses instalasi akan dimulai.
6. Langkah terakhir adalah melakukan testing . Silahkan double klik shortcut R, maka akan muncul jendela berikut
7. Untuk keluar dari R, dapat dilakukan dengan dua cara. Pertama, ketikkan >q(). Cara lain adalah dengan memilih menu File|Exit. Klik Yes pada dialog Save Workspace Image. 5. Apabila proses instalasi telah selesai, klik Finish, lalu pada desktop windows dan start
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
6
JGOS 2005, © Dedi Rosadi
Menginstal R-Commander Pada OS Windows Apabila anda telah selesai melakukan instalasi untuk R, lakukan langkah-langkah berikut untuk instalasi R-commander: 1. Pertama jalankan program R. Tunggu sampai jendela program R terbuka. 2. Untuk menginstal R commander, pilih menu Packages/Install package(s) from local zip files ... .Arahkan lokasi pada dialog Look in ke direktori R-GUI/Rsciviews dan pilih file Rcmdr_0.9-14.zip. Lihat seperti pada jendela dialog berikut
>library(Rcmdr) dan menekan Enter satu kali, atau cara kedua dengan memilih menu Packages/Load package ... dan memilih Rcmdr pada daftar paket library yang terinstal. Lihat jendela dialog berikut
dan klik OK. Maka akan muncul jendela dialog berikut:
Klik Open. Maka R akan menginstal paket Rcommander, yang ditandai dengan dialog berikut pada R (perhatikan jendela R-console)
Klik Yes. Dialog berikut akan muncul dilayar
> install.packages(choose.files('',filters=F ilters[c('zip','All'),]), .libPaths()[1], CRAN = NULL) package 'Rcmdr' successfully unpacked and MD5 sums checked updating HTML package descriptions
3. Paket R-commander dapat dijalankan dengan dua cara yang berbeda, yakni dengan mengetikkan perintah berikut pada R-console
Jika anda terhubung online di internet, anda dapat mendownload paket-paket program/library yang diperlukan
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
7
JGOS 2005, © Dedi Rosadi
di archive R, yakni pada homepage CRAN terdekat. Akan tetapi pada contoh ini, kita akan melakukan instalasi menggunakan library yang terdapat di direktori lokal yang telah tersedia pada cd instalasi. Untuk itu pilih tombol Local package directory , dan klik tombol Browse untuk membrowsing ke direktori lokal yakni lokasi tempat penyimpanan paket-paket program yang diperlukan (Catatan: file-file yang diperlukan tersedia pada CD instalasi). File-file yang diperlukan tersedia pada direktori R-GUI/Rcommander, karenanya arahkan browsing ke direktori ini dan double klik direktori Rcommander seperti seperti ditunjukkan pada gambar berikut:
Klik OK. Maka didapat informasi berikut
Catatan : Lokasi dari package directory dapat anda sesuaikan dengan lokasi dimana anda menyimpan file-file instalasi diatas. Selanjutnya klik OK. Maka R akan melakukan instalasi automatis dari paket-paket program yang diperlukan. Apabila proses instalasi telah selesai dan berlangsung sukses, paket Rcommander akan diloading seperti yang muncul pada gambar berikut:
4. Tutup R-Commander dan R dengan memilih menu File/Exit/From Commander and R pada jendela program R Commander Catatan: Jika terdapat error dalam proses instalasi Rcommander, instal semua library yang diperlukan oleh Rcommander, menggunakan menu Packages/Install package(s) from local zip files ... dan arahkan ke lokasi file instalasi Rcommander. Lakukan instalasi untuk semua library yang diperlukan (lakukan dengan menekan tombol CTRL dan memilih semua paket yang diperlukan).
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
8
JGOS 2005, © Dedi Rosadi
Menginstal R-SciViews dalam sistem operasi Windows Pada bagian ini akan dilakukan instalasi R-SciViews. Ada beberapa bagian instalasi yang perlu dilakukan, yang dapat diberikan sebagai-berikut • Lakukan instalasi paket-paket dari R yang diperlukan. Ini dapat dilakukan sebagai berikut. Jalankan R versi 2.1. Kemudian, pilih menu Packages/Install package(s) from local zip files ... .Arahkan lokasi pada dialog Look in ke direktori RGUI/Rsciviews dan pilih file R2HTML_1.4-3.zip. Lihat seperti pada jendela dialog berikut
package 'R2HTML' successfully unpacked and MD5 sums checked updating HTML package descriptions >install.packages(choose.files('',filters=Filte rs[c('zip','All'),]), .libPaths()[1], CRAN = NULL) bundle 'SciViews' successfully unpacked and MD5 sums checked updating HTML package descriptions >install.packages(choose.files('',filters=Filte rs[c('zip','All'),]), .libPaths()[1], CRAN = NULL) package 'tcltk2' successfully unpacked and MD5 sums checked updating HTML package descriptions >install.packages(choose.files('',filters=Filte rs[c('zip','All'),]), .libPaths()[1], CRAN = NULL) package 'wxPython' successfully unpacked and MD5 sums checked updating HTML package descriptions Selanjutnya, tutup program R.
Klik Open. Maka sekarang paket R2HTML_1.4-3.zip dari R akan terinstal sebagai bagian dari instalasi R. Lakukan instalasi yang sama seperti diatas untuk paket SciViews_0.7-8.zip, tcltk2_0.7-4.zip dan wxPython_0.2.4.zip (lakukan dengan menekan tombolo CTRL dan memilih semua paket yang diperlukan). Jika instalasi telah selesai, dapat dilihat dialog berikut pada jendela Rconsole
• Langkah selanjutnya adalah menginstal program tambahan yang diperlukan untuk menjalankan program SciViews pada sistem Windows. Ini dilakukan dengan menginstal program SciViews-R_0.73Setup.exe yang terdapat pada direktori RGUI/RsciViews. Langkah instalasi adalah sebagai berikut. Double klik file SciViews-R_0.7-3Setup.exe, maka jendela dialog setup SciViews-R berikut akan muncul
>install.packages(choose.files('',filters=Filte rs[c('zip','All'),]), .libPaths()[1], CRAN = NULL)
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
9
JGOS 2005, © Dedi Rosadi
yang tampak berikut:
Selanjutnya proses instalasi dapat dilakukan dengan mengikuti wizard instalasi dan menggunakan semua modus default instalasi. Jika proses instalasi telah selesai, klik tombol Finish untuk menutup proses instalasi. Pada desktop dari windows, maupun pada start menu dari windows, akan muncul shortcut dari program RSciViews. Shortcut ini pada desktop akan tampak sebagai berikut:
SciViews R Console.lnk
Untuk melakukan test apakah instalasi telah berjalan dengan baik, double klik shortcut diatas. Apabila instalasi berjalandengan baik, maka jendela program RSciviews akan diloading, seperti
pada
gambar
Untuk keluar dari R-Sciviews dan kembali ke jendela standar dari program R pilih menu File/Exit Sciviews only. Untuk keluar dari R, gunakan menu File/Exit R. Catatan : jika karena satu dan lain hal R-sciviews tidak jalan (karena R-Sciviews masih versi Beta), maka lakukan hal berikut : 1. Buat kopi dari shortcut R. Namakan sebagai R-Sciviews. Kemudian klik kanan, pilih properties, lalu pada kolom target, isikan tambahan perintah –sdi, lihat gambar berikut
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
10
JGOS 2005, © Dedi Rosadi
Pada kolom Start in, anda untuk sementara tidak perlu merubah informasi yang tertulis dikolom ini. 2. Jalankan R, kemudian load library bernama SvGUI
menggunakan menu Packages/Load package .... Setiap kali anda ingin menjalankan R-Sciviews, selalu klik shortcut untuk R yang ini, jangan mengklik shortcut yang lain.
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
11
JGOS 2005, © Dedi Rosadi
1.3.2. Instalasi Pada OS Linux
1. Berikut kita akan tunjukkan proses instalasi dari R pada Linux Mandrake dengan RPM file. Pastikan anda sekarang memiliki authorisasi sebagai root. Double klik file RPM dengan nama R-2.0.01mdk.i586.rpm untuk instalasi pada distro Linux Mandrake yang terdapat pada direktori yang tersedia. Instalasi pada distro linux yang lain bersifat ekuivalen. Jendela dialog berikut akan ditampilkan dilayar, untuk menentukan lokasi instalasi dari R
3. Apabila proses instalasi telah selesai, klik Finish untuk keluar dari proses installasi Jika semua berlangsung dengan sukses, maka pada start menu menu dari Linux akan muncul menu aplikasi tambahan berupa Another application|Science|R.
Shortcut dari program R pada start menu Linux dapat dilihat pada gambar berikut
4. lakukan test. R-Terminal akan di loading, seperti yang tampak pada gambar berikut:
2. Klik OK maka proses instalasi akan dimulai. Silahkan menunggu sampai proses instalasi selesai. Pada gambar berikut, tampak proses instalasi dari R sedang berlangsung.
Catatan: 1. Instalasi R dapat juga dilakukan dengan menggunakan linux console . Untuk memudahkan proses instalasi, dapat digunakan program urpmi. Untuk instalasi R pada mandrake, sebagai root, ketikkan perintah urpmi R-1.7.1-1mdk.i586.rpm urpmi akan meminta anda untuk memasukkan cd instalasi yang bersesuaian untuk menginstal library yang diperlukan oleh R. Hal ini diperlukan untuk Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
12
JGOS 2005, © Dedi Rosadi
menghindari munculnya komplain terhadap kehilangan sejumlah library libwhatever.so dalam instalasi R. 2. R dapat juga diinstal dari source tarbal. Pada mandrake linux, ini dapat dilakukan sebagai berikut: - dalam system anda, harus diinstal sejumlah development packages: rpm-devel, glibc-devel, ncurses-devel, readline-devel, libtermcap-devel, zlib-devel, XFree86-devel, libjpeg-devel, libpng-devel. Nama dan versi dari paket ini berbeda-beda untuk distro mandrake, sebagai contoh pada mandrake 8.1 libjpeg-devel disebut libjpeg62-devel. - Selain itu, anda harus menginstal tcl, tk and tetex; - Petunjuk instalasi lebih lanjut silahkan baca file readme.txt pada direktori CRAN archive /bin/linux/ sesuai dengan distro linux yang anda gunakan. Library yang diperlukan mungkin berbeda-beda pada distro linux yang berbeda-beda. 3. Menginstal R-Commander Pada OS Linux Pada OS Linux, kita dapat juga menggunakan menu GUI R-Commander, yang penggunaannya sama halnya dengan R-Commander yang tersedia pada windows. Untuk instalasi paket ini, pada sistem anda diperlukan sejumlah library dari linux yakni: alsa, audiofile, bzip2, esound, gcc-g77, glib,
glibc, gnome-libs, gtk, imlib, libgcc, libglade, libjpeg, libpng, libxml, ncurses, readline, XFree86, zlib, tcl, tk and tetex. Sebagian besar library ini biasanya sudah ikut terinstal dalam instalasi standar dari linux (kecuali mungkin library gcc-g77). Untuk menginstal paket R-cmdr, dapat dilakukan dengan beberapa cara: -Menggunakan linux console Jalankan linux console. Pindah ke direktori penyimpanan source file dari paket R-cmdr. Kemudian sebagai root, ketikkan perintah: R CMD INSTALL namapaket.tgz namapaket.tgz menunjukkan nama semua source file dari sejumlah paket yang terdapat pada direktori source instalasi R-cmdr. -Menggunakan R console, instalasi online dengan koneksi ke CRAN Pastikan komputer anda terhubung ke internet. Sebagai root, jalankan R. Kemudian ketikkan install.packages(”Rcmdr”, dep=T) Maka R akan meloading list dari semua mirror CRAN yang tersedia. Pilih salah satu mirror CRAN dan kemudian klik OK, maka R akan mendowload semua paket library yang diperlukan dan secara otomatis menginstal paket
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
13
JGOS 2005, © Dedi Rosadi
ini pada lokasi yang bersesuaian. Mirror cran.ugm.ac.id dapat dilist ke dalam daftar dengan menambahkan informasi yang diperlukan pada file CRAN_mirrors.csv yang terdapat di direktori /doc dalam instalasi R pada sistem anda. 1.4. Pengenalan Penggunaan R 1.4.1. R Sebagai Advanced Calculator Agar mudah mempelajari penggunaan R di dalam prakteknya maka kita akan memulai penggunaan R secara sederhana layaknya kalkulator yang dapat mengoperasikan fungsi aritmatika, seperti penambahan, pengurangan, perkalian serta pembagian. Hal ini akan membantu kita didalam memahami dasar pembuatan program statistika atau komputasi statistika yang akan dibahas pada bagian selanjutnya. Selengkapnya sebagai berikut Jalankan program R. Ketikkan perintah-perintah berikut pada R-Console. o Penggunaan R sebagai advanced calculator 1+2 100-2/30 sqrt(0.0001) o
Spasi tidak berpengaruh 1+ 2
o
Spasi tidak diletakkan antar nilai 3 1+2 #pesan syntax error
o
Bahasa S (R dan SPlus) bersifat “case sensitive”, yakni TEST berbeda dengan Test /Huruf besar dan kecil di bedakan x=1 X # pesan error, X tidak dikenali
1.4.2 Penginputan data vektor dan matriks Karena sebagian besar dasar-dasar analisa statistika multivariat menggunakan dasar vektor serta matriks sebagai perhitungannya, maka sebaiknya kita mengenal tentang matriks, vektor dan operasinya didalam R. Pada bagian ini akan dikenalkan cara menginput data berupa vektor dan matriks didalam R Berikut contoh penginputan data berupa vektor NamaData=c(5,14,8,9,5) NamaData #untuk melihat elemen-elemen objek vektor NamaData yang telah di inputkan Entry data dengan perintah matrix NamaMatriks1=matrix(c(1,2,3,4,5,6,7,8,9,10,11,12),nrow=3,ncol=4) Contoh hasil penginputan matriks dengan 4 kolom dan 3 baris diatas yaitu seperti berikut
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
14
JGOS 2005, © Dedi Rosadi
1 5
2 6
3 7
4 8
9 10 11 12 Contoh menginput data dengan matriks satu kolom untuk matriks X dan untuk Y saja X=matrix(c(4,5,3,6,2)) y=matrix(c(25,27,21,24,20)) X 4 5 3 6 2
Y 25 27 21 24 20
1.4.3. Penginputan data ber dimensi (data frame) Teknis penginputan data berdimensi pada jendela Terminal ataupun pada console windows pada prinsipnya tidak jauh berbeda dengan prosedur komputasi pada software komputasi lainnya. Penginputan data pada jendela console dapat di lakukan dengan perintah sebagai berikut: NamaData <- edit(as.data.frame(NULL)) Jika telah dipanggil maka tampilan kolom data editor yang akan ditampilkan ialah sebagai berikut: Pada Windows Pada Linux
Jika penginputan selesai maka dengan menutup data editor data sudah otomatis tersimpan dalam internal image data R
STUDI KASUS I.4
Studi Kasus
: MengInput data Vektor Matriks dan Berdimensi
Ilustrasi Sebuah UKM ingin mendata beberapa karyawannya guna keperluan selanjutnya dengan beberapa tipe penginputan data
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
15
JGOS 2005, © Dedi Rosadi
STUDI KASUS I.4 1. mengInput data Vektor Silahkan Input data berikut dengan nama UmurKaryawan (23, 21, 24, 22, 26, 28, 25, 21, 20, 20) Panggil data Umur Karyawan (Periksa Jika ada kesalahan input data)
LANJUTAN STUDI KASUS I.4 2. mengInput data Ber Dimensi Silahkan Input data Berdimensi berikur dengan nama Karyawan Umur 23 21 24 22 26 28 25 21 20 20
LamaKerja 2 3 4 6 7 2 2 1 1 1
Panggil data Karyawan (Periksa Jika ada kesalahan input data) 3. Menginput data Matriks Silahkan Input data Berdimensi berikur dengan nama MatriksKaryawan
23 26 20
21 28 20
24 25 21
22 21 21
Panggil data MatriksKaryawan (Periksa Jika ada kesalahan input data) dicoba menginput dengan matriks satu kolom untuk matriks X dan Y X=matrix(c(4,5,3,6,2)) y=matrix(c(25,27,21,24,20)) panggil matriks X panggil matriks Y
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
16
JGOS 2005, © Dedi Rosadi
1.5. Import Data Catatan penting: Pada bagian 2 nanti, proses importing data akan sangat mudah dilakukan dengan menggunakan fasilitas GUI R-Cmdr Membaca ASCII File Membaca data melalui keyboard umumnya bukanlah hal yang umum dilakukan dalam operasi data untuk R. Umumnya kita memiliki himpunan data yang disimpan sebagai ASCII file, yang kita ingin baca menggunakan R. Suatu ASCII file biasanya terdiri atas bilangan bilangan yang dipisahkan menggunakan spasi , tab, tanda akhir baris / tanda baris baru, atau pembatas yang lain. Misalkan saja kita miliki data myvector.txt dalam R working direktori (andaikan disini working direktori anda adalah c:/praktikum/sibudi, maka simpan file ini didirektori tersebut. Silahkan anda buat menggunakan editor seperti notepad
Kita dapat membaca data tersebut diatas kedalam R menggunakan command scan dengan myvector.txt sebagai argumen. > scan("myvector.txt") [1] 62 63 60 59 49 45 47 61 67 56 89 45 48 49 51 56 67 65 54 43 49 50 [23] 54 55 Tanda petik sebelum dan sesudah argumen myvector.txt untuk scan diperlukan dalam command scan diatas. Lebih lanjut kita mungkin melakukan operasi pemberian nilai dari scanning myvector.txt diatas ke suatu object R, seperti contoh berikut > data.scan <-scan("myvector.txt") dan kita dapat melakukan operasi-operasi data untuk data hasil scanning diatas menggunakan nama data.scan. Contoh, misalkan kita dapat membuat matriks sebagai berikut >matrix(data.scan,6) Jika data yang kita miliki tidak berada di R working directori, maka kita harus menulis seluruh nama path dari data tersebut. Sebagai contoh, kita ingin membaca myvector.txt yang disimpan didirektori c:/temp/, maka ketikkan : > data.scan.2 <-scan("c:\\temp\\myvector.txt") Disini kita harus menggunkan dua garis miring karena R/R menganggap bahwa satu garis miring sebagai karakter Esc . tampilkan data hasil scan diatas dengan mengetikkan: data.scan atau data.scan.2 Membaca data format spreadsheet Kerap kali yang dimiliki adalah data berbentuk bertipe table data frame yang telah diedit/disimpan dengan sebagai file Excel. Untuk dapat Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
17
JGOS 2005, © Dedi Rosadi
diimport kedalam R, simpan file excel tersebut dengan perintah Save as, dan ubah menjadi format Text Tab delimited (ekstensi .txt) atau CSV comma delimited (ekstensi .csv). Selanjutnya, data ini dapat dimport menggunakan perintah read.table atau read.csv. Misalkan saja, data dari file cars.xls telah disimpan menjadi file cars.txt (tab delimited text) yang berisikan informasi berikut: MPG 18 307 15 350 18 318 26 304 17 302 15 429 14 454
ENGINE 130 165 150 150 140 198 220
HORSE ACCEL 12 11.5 11 12 10.5 10 9
Andaikan file data ini tersimpan di direktori c:\temp . Kita dapat membaca file ini menjadi suatu data frame object di dalam R menggunakan command/fungsi read.table sebagai berikut: > data.auto <- read.table("c:\\temp\\cars.txt", header = T) Argumen optional header =T diatas bertujuan agar R menggunakan baris pertama dari file sebagai header/nama dari nama variabel. Object data.auto dapat dilihat dengan mengetikkan data.auto di prompt R > data.auto Catatan: jika file cars.txt diatas disimpan dalam direktori kerja R, maka lokasi dari file tidak usah ditulis, yakni gunakan perintah : > data.auto <- read.table("cars.txt", header = T) Sekarang, misalkan saja, data dari file cars.xls telah disimpan menjadi file cars.csv (comma delimited) yang berisikan informasi yang sama denga file cars.txt diatas. Maka file ini dapat diimport menggunakan perintah read.csv, sbb > data.auto.csv <- read.csv("c:\\temp\\cars.csv", strip.white = TRUE) Argumen optional strip.white = TRUE diatas bertujuan agar R menggunakan baris pertama dari file sebagai header/nama dari nama variabel. Jika file cars.csv diatas disimpan dalam direktori kerja R, maka lokasi dari file tidak usah ditulis, yakni gunakan perintah : > data.auto.csv <- read.csv("cars.csv", strip.white = TRUE)
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
18
JGOS 2005, © Dedi Rosadi
Import data dari Paket Program Statistik Lainnya R memiliki paket/library foreign untuk melakukan importing dari data file dalam format beberapa paket statistika lain. Saat ini yang tersedia adalah • Epi info : gunakan perintah read.epiinfo untuk membaca .REC • Minitab : gunakan perintah read.mtp untuk membaca file ‘Minitab Portable Worksheet’ • SAS : gunakan perintah read.xport atau read.ssd. Selain itu, tersedia pada paket HMisc fungsi sas.get untuk reading file SAS • S+ 3.*, 4.* dan 2000: gunakan fungsi read.S untuk membaca objek S+ • SPSS: gunakan perintah read.spss untuk membaca file .sav. • Stata ver 5,6,7,8: gunakan perintah read.dta untuk mengimport, dan perintah write.dta untuk mengeksport kedalam format Stata • Systat: gunakan perintah read.systat untuk membaca file hasil perintah SAVE dari Sysytat Berikut ini hanya akan diberikan contoh untuk mengimport file SPSS. Misalkan dimiliki data bernama cars.sav, yang telah disimpan didirektori kerja R. Maka dapat digunakan perintah berikut: > read.spss("cars.sav", use.value.labels=TRUE, max.value.labels=Inf, to.data.frame=TRUE) Disini “value label” dari level untuk variable bertipe factor akan digunakan semua. Bandingkan hasilnya dengan perintah berikut: >read.spss("cars.sav",use.value.labels=FALSE) Misalkan file cars.sav ini disimpan didirektori c:/praktikum, maka harus digunakan tambahan lokasi dari file, lihat contoh berikut >read.spss("c:/praktikum/cars.sav", use.value.labels=TRUE, max.value.labels=Inf, to.data.frame=TRUE) Catatan: ekuivalennya dapat digunakan c:\\praktikum\\cars.sav sebagai lokasi nama file 1.6. Mengedit data Proses editing dari data (disini object) didalam R dapat dilakukan menggunakan 4 command: fix dan edit semisal untuk mengedit data berdimensi maka kita hanya perlu mengetikkan fix(NamaFile) Studi Kasus STUDI KASUS (1.6)
: Mengedit data
Sebuah UKM ingin memperbaiki data beberapa karyawannya Yang telah di input sebelumnya (Pada data frame) Silahkan edit data Karyawan Untuk Karyawan ber umur 23 Lama kerjanya menjadi 5 Untuk Karyawan ber umur 24 Lama kerjanya menjadi 6
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
19
JGOS 2005, © Dedi Rosadi
1.6. Dasar Pemrograman dengan R Setelah mengenal cara penginputan edit serta mengimport data maka langkah selanjutnya ialah mengenal beberapa perintah dalam R yang berguna nantinya untuk kepentingan komputasi, atau pembetukan program statistika yang di inginkan. Disini tidak akan dibahas semua bahasa perintah pemrograman dalam R, namun disini hanya akan memperkenalkan beberapa perintah yang penting yang nantinya seringkali di gunakan didalam pembuatan syntax komputasi statistika sederhana baik untuk data matrix ataupun vektor. Sebenarnya untuk bahasa perintah dari R sebagian besar di ambil dari kependekan nama operasi matematika nya seperti untuk mencari standard deviasi dari X maka kita tinggal mengetikkan sd(X) demikian juga mean, sqrt dan lain sebagainya. Berikut pengenalan beberapa perintah sederhana dalam R Deskriptive Menampilkan mean median minimum maksimum summary(NamaData) Menampilkan Standard Deviasi sd(NamaData) Matriks Mencari Transpose Matriks t(NamaMatriks) Menghitung Invers Matriks solveCrossprod(NamaMatriks) Aritmatika Matriks Pekalian matrix X dan Y Penjumlahan matrix X dan Y
=X%*%Y = X%+%Y
Selain perintah-perintah dasar di atas dalam R telah tersedia sejumlah fungsi/perintah yang dapat langsung digunakan untuk melakukan berbagai pemodelan dan pengujian statistika. Misalkan untuk melakukan prosedur uji rata-rata, yaitu prosedur uji t , dapat digunakan perintah t.test(NamaData,mu=…) 1.6.1. Pembuatan Program dengan Menggunakan Script Pembuatan program komputasi dengan script pada hakikatnya sama dengan menggunakan operasi aritmatika pada jendela console R namun disini semua perintah terlebih dahulu disimpan didalam suatu file script, dan apabila script telah selesai di buat maka hasilnya dapa di load sebagai R source code yang dapat digunakan sesuai kegunaannya.
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
20
JGOS 2005, © Dedi Rosadi
Berikut akan kita praktekan pembuatan program komputasi statistika dengan bantuan script dengan implementasi sederhana pada suatu kasus yaitu analisis korelasi dengan dasar eori sebagai berikut Mencoba Membuat Script Analisis Korelasi Pearson Untuk mengukur variabel X terhadap variabel respon Y digunakan analisis korelasi menggunakan koefisien korelasi (r) yang dapat diinterpretasikan bahwa 100% R-square variasi-variasi variabel Y disebabkan karena hubungannya dengan variabel X secara linear.
r=
n ∑ XY − ∑ X ∑ Y n ∑ X 2 − (∑ X ) 2
n ∑ Y 2 − (∑ Y ) 2
, −1 ≤ r ≤ 1
Nilai r + (positif) berarti variabel X berpengaruh secara positif terhadap Y. Makin dekat ke 1 makin sempurna hubungan linear X dan Y o Nilai r – (negatif) berarti variabel berpengaruh secara berlawanan terhadap Y. Makin dekat ke 1 makin sempurna hubungan linear terbalik X dan Y o Nilai r mendekati 0 berarti variabel X tidak berpengaruh secara linear. Jika rumusan diatas telah kita pahami maka untuk pembuatan syntax R tidaklah sulit hanya tinggl menterjemahkan rumus di atas menjadi bahasa komputasi R o
Studi Kasus STUDI KASUS I.6
: Pengenalan Komputasi Statistika
Ilustrasi Sebuah UKM ingin mengetahui apakah benar rata-rata umur karyawannya 20 tahun. Selanjutnya ingin diketahui apakah ada korelasi antara faktor X dan Y didalam perusahaannya (jika semisal X= biaya iklan dan Y=Pendapatan)
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
21
JGOS 2005, © Dedi Rosadi
STUDI KASUS I.6. 1. Uji rata-rata untuk mengetahui apakah benar rata-rata umur karyawan 20 tahun??(beserta desktiptive nya) Silahkangunakan tools yang sudah tersedia pada R dengan cara ketikan
t.test(UmurKaryawan,mu20) Analisa Output (Akan dijelaskan oleh instruktur ) 2. Membuat Script Analisis korelasi Langkah awal pilih File|New Script Dari rumusan korelasi sebelumnya dapat kita buat suatu syntax seperti berikut (silahkan di coba di ketik) analisis_korelasi=function(X,Y) { n=length(X) sum_xy=t(X)%*%Y sum_x=sum(X) sum_y=sum(Y) sum_xkuadrat=t(X)%*%X sum_kuadratx=sum_x^2 sum_ykuadrat=t(Y)%*%Y sum_kuadraty=sum_y^2 r=(n*sum_xy-sum_x*sum_y)/(sqrt(n*sum_xkuadratsum_xkuadrat)*sqrt(n*sum_ykuadrat-sum_kuadraty)) R_square=r^2 cat("nilai korelasi=",r,"\n") cat("nilai determinasi =",r^2,"\n") cat("nilai R-square dapat diartikan bahwa kira-kira",R_square*100,” persen variasi harga-harga Y disebabkan karena hubungannya dengan variabel X\n") }
Jika Script diatas telah selsai di ketik maka klik File |Save as lalu beri nama analisis_korelasi lalu tutup jendela script Untuk menjalankan script yang telah kita buat klik File|Source Code|pilih file analisis_korelasi lalu pada jendela console ketikan > analisis_korelasi(X,Y) Maka dengan data X dan Y yang telah di input pada studi kasus 1.4 akan didapatkan output analisis korelasi <Silahkan di coba>
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
22
JGOS 2005, © Dedi Rosadi
STUDI KASUS Tambahan
Restart Komputer dan gunalan OS Linux kerjakan studi kasus 1.4 1.6 dan cari deskriptif data UmurKaryawan Terdapat File script analisis regresi sederhana multivariat dan logistik yang terdapat didalam direktori kerja anda silahkan di lihat dan di coba jika perlu namun nanti pada akhir sesi 2 akan di demo kan penggunaannya (silahkan coba di buka)
Note: o Untuk Materi sesi pertama ini dalam penggunaanya akan bersifat ekuivalen dalam Console Windows maupun Console LINUX namun pada materi sesi dua nanti akan kita gunakan fitur tambahan pada paket installasi di windows dengan GUI yang relatif memudahkan o Untuk sesi pertama mungkin akan terasa berat bagi yang belum mengenal dasar-dasar komputasi di dalam bidangnya, namun pada sesi kedua bagi peserta yang telah terbiasa menggunakan paket program statistika seperti SPSS dan Minitab akan mudah untuk memahami karena kita akan mulai menggunakan fasilitas Rcommander dengan GUI yang relatif mudah, dan hanya tinggal meng klik menu seperti pada paket program pengolahan data komersial lainnya.
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
23
JGOS 2005, © Dedi Rosadi
MATERI SESI II WORKSHOP APLIKASI ANALISIS STATISTIKA TERAPAN DENGAN OPEN SOURCE SOFTWARE R
2.1. Penggunaan R GUI (Rcommander) Disini akan kita coba gunakan salah satu paket program yang telah kita install sebelumya yaitu Rcommander sebagai alat untuk melakukan analisa regresi sederhana, multivariat, logit dan probit. Pada prisipnya cara kerja pada R comander relatif sama dengan paket program analisis data satatistika komersial lainnya, namun pada R Commander tedapat sedikit perbedaan tampilan data. Pada paket program komersial, biasanya data yang di input dapat dilihat langsung , namun pada R comander data yang telah selesai di input tidak diperlihatkan, namun ke aktifan dari data dapat dilihat pada menu bar yang ada. Pada menu bar yang ada jika terdapat data yang aktif maka akan tedapat tanda bertuliskan nama file data yang digunakan. Namun jika tidak terdapat data yang aktif maka akan terdapat tanda <no active data set>. Berikut beberapa cara menggunakan paket Rcommander 1. Mengaktifkan Rcommander dari R console Package|Load Package|Pilih Rcmdr|OK Maka akan muncul kotak dialog sebagai berikut:
2. Menggunakan Menu File Untuk me load script File|Load Script Untuk Save Output Work space dan lain sebagainya Untuk keluar dari paket Commander File|Exit 3. Menggunakan menu Data Menginput data baru dengan cara Data|New data set Import data dari file pakat program lain Data|Import Data|Pilih jenis data 4. Menggunakan menu Statistics Melihat deskriptif korealasi frekwensi dan tabel dengan Statistics| Summaries | pilih analisa yang di inginkan Menggunakan tabel kontingensi /tabulasi silang Statistics | Contingency Table
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
24
JGOS 2005, © Dedi Rosadi
Melakukan uji rata-rata seperti uji z t-test ANOVA dengan vara Statistics | Mean | pilih analisa yang di inginkan Uji proporsi dengan cara Statistics | Proportion Uji kesamaan variansi seperti Lavene dan Barlet dengan cara Statistics| Variances Analisa Non parametrik Statistics|Nonparametric test Pemodelan seperti pemodelan linier regresi sederhana multivariat logit dan probit dengan cara Statistics | Fit model | pilih pemodelan yang di inginkan Analisis Multivariat seperti Reabilitas, PCA, dan analisis Faktor dapat dilakukan dengan Statistics | dimensional analisis | pilih analisa yang di inginkan 5. Menggunakan menu graph Untuk analisa statistika secara geafis seprti bar chart qq plot dan sebagainya dapat dilakukan dengan cara Graph | pilih menu grafis yang di inginkan 6. Menggunakan menu Models Untuk melakukan uji kelayakan model 7. Menggunakan menu Distributions Untuk pengerjaan yang berkaitan dengan distribusi peluang
2.2. Analisa Korelasi dengan R-Commander 2.2.1. Analisa Korelasi Analisa korelasi bertujuan untuk mengamati apakah diantara dua variabel terdapat hubungan, dan jika ada hubungan, bagaimanakah arah hubungan dan seberapa besar hubungan tersebut. Data yang dianalisa dapat berupa data kualitatif ataupun kuantitatif. Studi Kasus 2.2.1. Untuk ilustrasi kapabilitas R, dalam latihan ini, kita akan mencoba membandingkan hasil analisa paket SPSS dan R. Dimiliki data Karyawan.sav (Santoso, 2004). Ingin diamati bagaimanakah hubungan antara Gaji, Usia dan Pengalaman Kerja seorang karyawan (yang disimpan kedalam variabel GAJI, USIA, KERJA).
2.2.2. Analisa korelasi parsial Analisa korelasi parsial bertujuan untuk melihat hubungan antara dua variabel, dengan memasukkan variabel lain sebagai pengontrol. Studi Kasus 2.2.2. Dari data karyawan diatas, amatilah hubungan diantara dua variabel GAJI, USIA dengan variabel pengalaman KERJA sebagai faktor pengontrol.
2.2.3. Korelasi untuk data ordinal Korelasi ini bertujuan untuk mengamati hubungan antara dua atau lebih variabel ordinal (berjenjang, misal sangat baik, baik, tidak baik dst). Perhitungannya dilakukan dengan menggunakan koefisien korelasi Spearman
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
25
JGOS 2005, © Dedi Rosadi
Studi kasus 2.2.3. Dimiliki data nilai_karyawan.sav (Santoso, 2004). Ingin diamati bagaimanakah hubungan antara prestasi kerja, IQ para karyawan dan loyalitasnya (yang disimpan kedalam variabel PRESTASI, IQ, LOYAL).
2.3. Aplikasi Pemodelan Regresi Linier Sederhana dan Regresi Multivariat Dalam R Pengantar Analisis regresi digunakan untuk menjelaskan atau menggambarkan suatu variabel response(output, dependen) Y dan satu atau lebih variabel input (prediktor, independen atau explanatory variable) X 1 ,..., X p . Jika p=1, maka regresi yang terbentuk disebut regresi sederhana, sedangkan jika p>1 maka regresi yang terbentuk disebut multiple regression atau regresi multivariat. Jika terdapat lebih dari satu Y, maka regresi tersebut disebut multivariate multiple regression yang tidak dipelajari dalam workshop ini. Pada bagian ini, akan dipelajari metode regresi pada keadaan variabel dependen merupakan variabel kontinu, sedangkan variabel input dapat bernilai kontinu, diskrit atau kategorik. Analisa regresi memiliki beberapa tujuan penting, seperti: 1. Untuk melakukan/membuat prediksi terhadap Y dimasa yang akan datang 2. Untuk menganalisa efek atau hubungan diantara variabel input dan dependen 3. Untuk mendapatkan deskripsi dari struktur data. Beberapa perluasan dari model regresi yang dibicarakan disini misalnya seperti model regresi untuk variabel respon multivariat, model respon biner (yakni regresi logistic) dan model respon counting (poisson regression).
Simple linear regression Dengan model regresi linear sederhana, akan diamati hubungan dari pasangan variabel dependen dan satu variabel independen ( xi , y i ) dengan persamaanya
y i = β 0 + β 1 xi + ε i Nilai dari β 0 , β 1 tidak diketahui dan akan diestimasi dari data. Nilai εi adalah komponen error yakni besarnya perbedaan dari nilai y terhadap model linear. Estimasi dari β 0 , β 1 dibawah asumsi komponen error εi adalah iid normal dengan mean µ dan variansi σ2 dapat dilakukan dengan menggunakan metode least square. Nilai estimasi dari parameter β 0 , β 1 adalah
b1 =
∑ ( x − x )( y − y ) , b ∑ (x − x) i
i
2
0
= y − b1 x
i
Studi kasus 2.3.1. Nilai maksimum detak jantung dari seseorang terhadap umur (dalam tahun) dapat digambarkan dengan persamaan Max=220-umur Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
26
JGOS 2005, © Dedi Rosadi
Misalkan pernyataan ini akan dibuktikan secara empiris, dengan mengamati 15 orang dan diperoleh data berikut: Umur
18
23
25
35
65
54
34
56
72
19
23
42
18
39
37
Max detak
202
186
187
180
156
169
174
172
153
199
193
174
198
183
178
Langkah-langkah analisa regresi sederhana dengan menggunakan RCommander 1. Data entry Data entry dapat dilakukan dengan memilih menu Data/New data set... Pada jendela dialog yang muncul, isikan nama variabel detakjantung. Maka jendela data editing akan dibuka. Isikan data diatas, dengan membuat variabel baru bernama usia (bertipe numerik), dan maxrate(bertipe numerik). Isikan data diatas, kemudian tutup jendela data editor. Maka sekarang objek data bernama detakjantung sedang aktif di R-commander 2. Mengamati hubungan antar usia dan maxrate Untuk mengamati apakah terdapat hubungan linear antara variabel usia dan maxrate, akan dibuat scatter plot dari data. Pilih menu Graphs/Scatter plot. Pilih variabel usia sebagai variabel x dan variabel maxrate sebagai variabel respon. Selanjutnya hanya pilih least square line dalam pilihan plot. Klik OK untuk menampilkan grafik. Grafik ini dapat disimpan dengan menu Graphs/Save grah to file.
Terlihat adanya hubungan linear antara variabel independen dan variabel dependen 3. Estimasi dari model Untuk melakukan estimasi dari model, pilih menu Statistics/Fit models/Linear regression. Kemudian isikan modeldetakjantung pada Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
27
JGOS 2005, © Dedi Rosadi
kolom Enter name for model, dan pilih maxrate sebagai respon variabel dan usia sebagai explanatory variabel. Klik OK, maka diperoleh output berikut pada layar output > summary(modeldetakjantung) Call: lm(formula = maxrate ~ usia, data = detakjantung) Residuals: Min 1Q Median 3Q Max -15.8544 -2.9478 -0.8013 5.0522 9.8380 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 204.1910 3.7960 53.791 < 2e-16 *** usia -0.6683 0.0938 -7.125 7.76e-06 *** --Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 Residual standard error: 6.856 on 13 degrees of freedom Multiple R-Squared: 0.7961, Adjusted R-squared: 0.7804 F-statistic: 50.76 on 1 and 13 DF, p-value: 7.764e-06
Terlihat disini komponen b0 dan b1 signifikan pada α=5%. Model hasil estimasi adalah yˆ = 210.05 - 0.79773 * x . 4. Diagnostic check Validitas dari model dapat di amati secara grafis menggunakan beberapa metode standar. Asumsi bahwa komponen error dari model iid normal dapat diamati dari residual yang berdistribusi normal. Akan tetapi, asumsi independensi dari residual pasti tidak berlaku karena diketahui bahwa jumlahan residual akan bernilai 0 akan tetapi jika model sesuai, maka tidak akan terdapat korelasi serial dalam residual. a. Test for normality Bentuk Uji : Ho: residual berdistribusi Normal Ha: residual tidak berdistribusi Normal Terdapat banyak metode untuk melakukan uji normalitas terhadap residual. Akan tetapi, disini akan dilakukan pengamatan menggunakan qq plot b. Uji untuk serial korelasi Bentuk Uji : Ho:Tidak terdapat serial korelasi pada residual Ha : Terdapat serial korelasi pada residual Uji untuk serial korelasi dapat dilakukan dengan menggunakan uji durbin watson. Kemudian, asumsi bahwa komponen error memiliki variansi yang tetap dalam waktu (homokedastik) dapat diamati dengan melihat plot residual vs fitted value. Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
28
JGOS 2005, © Dedi Rosadi
Uji normalitas dan homokedastik dapat dilakukan dengan menggunakan menu Models/Graph/Basic diagnostic plots
Keterangan plot Residual vs fitted: Plot ini membuat plot dari fitted value vs residual. Amati penyebaran residual disekitar garis y=0. Tampak disini tidak terlihat adanya trend, sehingga dapat disimpulkan bahwa residual homokedastik. Demikian pula tampak data menyebar cukup random disekitar garis y=0, sehingga disimpulkan model linear cukup baik untuk memodelkan hubungan y dan x Normal qq plot: Tampak residual berada disekitar garis lurus, yakni dapat disimpulkan bahwa residual mengikuti distribusi normal Scale-location plot: plot ini menampilkan nilai dari standardized residual. Kesimpulan ekuivalen dengan plot residual vs fitted diatas. Nilai tertinggi menunjukkan residual terbesar Cook distance plot: menampilkan titik yang memiliki pengaruh terbesar terhadap estimasi garis regresi. Seringkali didalam analisa regresi, data yang memiliki cook distance relatif sangat besar, walaupun mungkin bukan merupakan residual, pengaruhnya terhadap hasil fitting model dianalisa dengan dibuang dari data. Lebih lanjut tentang diagnostic check ini akan diberikan pada bagian regresi multivariat. Uji durbin watson dapat dilakukan dengan memilih menu Models/Numerical diagnostics/Durbin Watson test for autocorrelation. Pilih untuk alternative hypothesis rho !=0. Diperoleh output berikut > dwtest(maxrate ~ usia, alternative="two.sided", data=detakjantung) Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
29
JGOS 2005, © Dedi Rosadi
Durbin-Watson test data: maxrate ~ usia DW = 2.4856, p-value = 0.367 alternative hypothesis: true autocorelation is not 0
Diperoleh kesimpulan bahwa hipotesa nol tidak ditolak pada α=5% (Ho di tolak jika p-value <5% untuk α=5%) 5. Untuk mendapatkan nilai-nilai dari fitted value yˆ dari modeldetakjantung diatas, dapat digunakan perintah fitted(modeldetakjantung). Untuk menampilkan plot dari fitted value yˆ dan nilai y original, dapat digunakan perintah berikut (ketikkan pada jendela perintah R-Commander dan blok perintah ini, lalu klik kanan kemudian submit) plot(usia,fitted(modeldetakjantung)) points(usia,maxrate,col="red") Pada grafik yang dibuat, titik hitam menyatakan fitted value, sedangkan titik-titik warna merah nilai y. 6. Prediksi dari nilai y menggunakan modeldetakjantung hasil estimasi diatas untuk diberikan suatu nilai x tertentu, dapat di hitung menggunakan perintah predict. Misalkan ingin dihitung nilai prediksi max rate untuk usia 50 dan 60, maka dapat digunakan perintah predict(modeldetakjantung,data.frame(usia=c(50,60))) 7. Kita dapat juga menampilkan plot dari fitted value dan interval konfidensi dari nilai fitted value. Misalkan saja, untuk contoh diplot nilai interval konfidensi 95% dari fitted value, dapat digunakan perintah berikut plot(usia,fitted(modeldetakjantung)) abline(modeldetakjantung) IKbawah= predict(modeldetakjantung,data.frame(usia=sort(usia)),level=0.95,interval="confidence")[,2] points(sort(usia),IKbawah,type="l") IKatas= predict(modeldetakjantung,data.frame(usia=sort(usia)),level=0.95,interval="confidence")[,3] points(sort(usia),IKatas,type="l") points(usia,maxrate,col="red")
Analisa regresi multivariat Model regresi multivariat dengan k variabel prediktor secara umum dapat diberikan sebagai berikut: Yi = β0 + β1Xi1 + β2Xi2 + … + βkXik + εi Dengan asumsi standar: Yi adalah nilai variabel respon dalam observasi ke-i β0, β1, …, βk adalah parameter Xik adalah nilai nilai variabel independen yang ke-k dalam observasi ke-i εi adalah nilai random error dengan mean E{εi}= 0 dan variansi σ2 {εi} = σ2 diasumsikan berdistribusi normal εi dan εj tidak berkorelasi sehingga nilai covariansinya σ {εi,εj} = 0 untuk semua i dan j; Secara umum, langkah-langkah analisa regresi dapat dilakukan dengan cara sebagai berikut:
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
30
JGOS 2005, © Dedi Rosadi
1. Menentukan variabel dependen dan variabel independen dari model 2. Membangun model dan melakukan seleksi terhadap variabel independen yang signifikan dalam model 3. Melakukan diagnostic checking, yakni mengecek asumsi konstant variansi (homoskedasticity), normality residual, serial korelasi dan multikolinearitas 4. Melakukan transformasi terhadap variabel respon dan/atau variabel independen Langkah 2, 3 dan 4 diatas dapat juga dibalik, yakni pertama tama melakukan diagnostic checking, kemudian melakukan transformasi, kemudian melakukan seleksi variabel, dan kemudian diagnostic check. Keterangan langkah-langkah pemodelan Langkah 2: Pemilihan Variabel dengan Procedure Stepwise A. Metode Eliminasi Backward Metode eliminasi ini dilakukan dengan langkah-langkah berikut: 1. Mulai dengan model terlengkap, yakni mengandung semua variabel prediktor 2. Hapus prediktor yang memiliki nilai p-value terbesar lebih besar dari nilai kriteria α 3. Ulangi fitting model, kemudian kembali ke langkah 2 4. Berhenti jika semua nilai p-value kurang dari kriteria α Nilai kriteria α sering disebut sebagai ”p-to remove” dan tidakselalu harus bernilai α=5%. Jika performansi dari prediksi, sering diguakan nilai α yang lebih besar, seperti 15-20% B. Metode Forward Selection Langkah –langkahnya merupakan kebalikan dari metode backward, yakni sbb: 1. Mulai dengan tidak ada variabel dalam model (model dengan konstanta) 2. Untuk semua variabel prediktor tidak dalam model, pilih satu variabel dengan nilai p-value terkecil kurang dari nilai kriteria α 3. Lanjutkan, sampai tidak terdapat variabel prediktor yang dapat ditambahkan kedalam model C. Metode Stepwise Metode ini merupakan kombinasi dari metode bacward dan forward, yakni metode ini dilakukan pada situasi dimana kita ingin menambahkan atau membuang variabel prediktor yang telah dibuang atau ditambahkan pada langkah-langkah pemilihan terdahulu. Analisa pemilihan variabel dengan metode diatas ini pada R dilakukan secara manual. Metode pemilihan variabel dapat juga dilakukan dengan menggunakan metode information criterion seperti Akaike Information Criterion (AIC), Bayes Information Criterion (BIC) (tidak dibahas pada workshop ini).
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
31
JGOS 2005, © Dedi Rosadi
Langkah 3: Diagnostic checking Pada bagian analisa regresi sederhana (simple regression), telah dibahas beberapa metode diagnostic check. Berikut beberapa keterangan singkat tentang uji diagnostic check dari model regresi 1. Normalitas residual (telah dibahas secara singkat didepan) 2. Multikolinearitas Pada uji multikolinearitas, akan diuji apakah pada model regresi ditemukan adanya korelasi antar variabel independen. Jika terjadi korelasi, maka dinamakan terdapat problem multikolinearitas. Model regresi yang baik seharusnya tidak terdapat korelasi antar variabel independen. Jika terjadi kolinearitas, maka hasil estimasi dari koefisien menjadi tidak valid, dan analisa dapat dilakukan dengan dua cara • Mengeluarkan salah satu variabel yang memiliki hubungan korelasi yang kuat • Melakukan analisa regresi bayesian atau regresi ridge (tidak dibahas disini) Uji multikolinearitas ini secara singkat dapat dinyatakan dengan hipotesa berikut: Ho:Tidak Terjadi multikolinearitas dalam model Ha: terjadi multikolinearitas dalam model Uji dapat dilakukan dengan menggunakan Variance Inflation factor (VIF) atau tolerance (1/VIF). Regresi yang bebas multikolinearitas biasanya memiliki VIF disekitar satu, atau tolerance mendekati satu. 3. Heteroskedastisitas Uji ini bertujuan untuk menganalisa apakah variansi dari residual tetap sepanjang waktu (homokedastik) atau berubah oleh waktu (heteroskedastik). Bentuk uji ini dapat dituliskan sbb: Ho: Asumsi homokedastisitas terpenuhi Ha: Asumsi homokedastisitas tidak terpenuhi Apabila terjadi heteroskedastisitas, dapat dilakukan beberapa hal (tidak dibahas di workshop): • Melakukan analisa generalized least square terhadap model, atau • Melakukan transformasi terhadap data response. Transformasi dapat dilakukan dengan menggunakan metode Box Cox power transformation. 4. Autokorelasi Telah dibahas didepan (dengan menggunakan uji durbin watson) Langkah 4: Transformasi variabel (tidak dibahas diworkshop) Transformasi terhadap variabel dependen dapat dilakukan dengan menggunakan metode box cox power. Transformasi juga dapat dilakukan terhadap variabel independen, seperti dengan melakukan analisa broken stick regression (regresi dengan memecah variabel independen), atau melakukan analisa regresi multivariat dengan memasukkan komponen polynomial dari variabel independen. STUDI KASUS 2.3.2. (Regresi berganda). Untuk ilustrasi kapabilitas R, dalam latihan ini, kita akan mencoba membandingkan hasil analisa regresi multivariat dengan paket Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
32
JGOS 2005, © Dedi Rosadi
SPSS dan R. Dimiliki data penjualan (variabel sales), biaya iklan koran (variabel iklan_ko), biaya iklan di radio (variabel iklan_ra), jumlah outlet diseluruh daerah (variabel outlet) dan jumlah salesman (variabel salesman). Data tersimpan dalam file regresimultivariat.sav (Santoso, 2004). Lakukan analisa regresi dengan sales sebagai variabel dependen dan iklan_ko, iklan_ra, outlet dan salesman sebagai variabel independe. Lakukan juga analisa pemilihan variabel terbaik. Catatan Pemodelan: • Lakukan analisa yang sama dengan diatas menggunakan SPSS. Bandingkan hasilnya dengan output dari R. Apakah anda menemukan perbedaan? • Seorang pembuat model mungkin memperoleh kesimpulan model yang berbeda dibandingkan dengan pembuat model yang lain. Ini mungkin terjadi karena adanya perbedaan metode pemilihan variabel, ataupun perbedaan urutan langkah pemodelan. Ini sejalan dengan pepatah terkenal dalam statistical modeling: ”All models are wrong but some models are useful”. 2.4. Aplikasi Pemodelan Regresi Logistik Dalam R Model LPM Pada bagian ini pembahasan akan kita lanjutkan untuk Pemodelan logit dan probit. Secara sederhana perbedaan antara regresi biasa dengan pemodelan logit ialah haya pada variabel dependent atau responsenya. Pada regresi biasa, data dependent merupakan data kontinyu namun pada regresi logistik data dari variabel dependennya berupa kategorik baik biner (seperti Ya atau Tidak) yang sering disebut dikotomus atau bisa juga polycotomus seperti ( sangat tidak setuju, tidak setuju, biasa saja, setuju, sangat setuju). Namun pada workshop ini, yang akan kita bahas hanya untuk variabel dependent yang dicotomus. Model logit sebenarnya berdasar dari ide Linier Probability Model (LPM) yang secara sederhana dapat di ilustrasikan sebagai berikut: Yi = β0 + β1Xi1 + ui Misalkan variabel X merupakan pendapatan suatu keluarga dan variabel Y merupakan keadaan dimana suatu keluarga memiliki rumah (Y=1) dan tidak memiliki rumah (Y=0), dalam hal ini baik analisa regresi baik sederhana maupun multivariat tidak dapat memodelkan permasalahan diatas. LPM dapat menyelesaikan permasalahan ini dengan ide bahwa ekspektasi kondisional Y dari Xi dapat di interpretasikan sebagai probabilitas kondisional saat suatu event Yi akan muncul oleh karena Xi atau dituliskan Ini dapat diperoleh sebagai berikut. Definisikan E(Y|xi). πi=P(Yi)=P(Yi=1|X=xi). Maka E(Y|xi)= πi.1+(1-πi)*0= πi. Beberapa asumsi LPM o ui iid normalitas o Yi Berdistribusi Bernoulli o Probabilitas terjadinya suatu event, 0≤ E(Y|xi)≤1 Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
33
JGOS 2005, © Dedi Rosadi
Namun pada kenyataannya model jarang digunakan karena memiliki beberapa kelemahan yaitu (Gujarati 2004) : 1. ui nonnormal (yakni karena Yi dikotomi, maka ui juga dikotomi) 2. Asumsi heteroskedastisitas tidak terpenuhi 3. Terkadang nilai dari Pi berada diluar range 0-1 4. Nilai R2 yang umumnya kecil Sebenarnya dengan menaikan jumlah data dan menggunakan tekhnik estimasi parameter WLS dapat mengatasi maslah-maslalah diats namun tetap saja pemodelan LPM pada kenyataanya tidak dapat diterima walau secara fundamental atau secara logis , karena sebagian besar kejadian dalam pemodelan dengan nilai dependent berupa data diskrit atau dengan asumsi output merupakan suatu probabilitas tidak dapat serta merta di modelkan secara linier (gujarati 2004 ::hal 593 ). Oleh karena itu kita memerlukan model alternatif yang dapat digunakan relatif memenuhi asumsi –asumsi diatas dan logis atau dapat di interpretasikan secara fundamental yaitu dengan pemodelan Logit Transformasi πi: Model Logit dan Probit Untuk membuat harga πi selalu berada diantar 0 dan 1, maka kita memerlukan suatu fungsi monoton positif (non decreasing) yang memetakan linear prediktor η = α+βX ke unit interval. Transformasi tipe ini diharapkan akan mempertahankan struktur linear dari model, dan menghindari nilai peluang berada diluar interval [0,1]. Sembarang fungsi distribusi kumulatif (CDF) akan memenuhi kriteria diatas πi = P(Yi=1|X=xi)= P (ηi) = P (α+ βXi) Dimana fungsi CDF P () dipilih sebelumya dan α, β adalah parameterparameter yang akan diestimasi. Fungsi P () diasumsikan smooth dan simetris, dan mendekati nilai symmetric π=0 dan 1 secara asimtotis. Jika fungsi P() diasumsikan strictly increasing,maka model dapat ditulis ulang sebagai P-1(πi )= ηi = α+ βXi Untuk transformasi P(), sering digunakan CDF dari distribusi normal standar
φ ( z) =
1 2π
z
∫e
1 2 x 2
∞
dx
atau, lebih umum, fungsi logistik
1 eZ Λ( z ) = = 1 + e −Z 1 + e Z Disini konstanta π ≈3.141 dan e ≈2.718. Dengan menggunakan CDF normal φ (z ) diperoleh linear probit model
π i = φ (α + βxi ) =
1 2π
∫
α + β xi
∞
1
x2
e 2 dx
Sementara itu, dengan menggunakan fungsi logistik, diperoleh linear logistik regression atau linear logit model
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
34
JGOS 2005, © Dedi Rosadi
π i = Λ (α + β xi ) =
1 e α + βxi = 1 + e −α + βxi 1 + e α + βxi
Secara umum, harga transformasi fungsi logit dan fungsi probit ekuivalen nilainya, kecuali pada nilai ekstrem dari π i . Akan tetapi, ada dua kelebihan dari fungsi logit dibandingkan dengan model probit 1. Simplicity Persamaan dari fungsi logistic relatif sederhana, sedangkan fungsi normal lebih kompleks. Perbedaan ini bersifat trivial untuk data dikotomi, tetapi untuk data polythomus, dimana diperlukan model multivariat logistic atau multivariat normal, terlihat bahwa model logistic akan jauh lebih sederhana 2. Interpretability Transformasi invers dari logit model Λ−1 (π i ) dapat diinterpretasikan langsung sebagai log-odds, sedangkan transformasi invers φ −1 (π i ) tidak memiliki interpretasi lansung. – Untuk logit model, pandang nilai rasio odds
πi = e α + βx 1− πi πi Maka diperoleh log = α + βX i . 1− πi πi –Transformasi Λ−1 ( Pi ) = log disebut logit dari π, yakni nilai log dari odds 1− π i i
ratio kejadian Y bernilai 1 (kejadian sukses) dibandingkan dengan dengan kemungkinan bernilai 0 . –Fungsi logit bersifat simetrik disekitar 0 dan terbatas diatas dan dibawah. Model logit dan probit diatas dapat secara langsung diperluas untuk model dengan beberapa variabel prediktor. Sementara model dengan variabel response polythomus tidak dibahas pada workshop ini .
Interpretasi Model Logit dan Probit Contoh interpretasi Model Logit Misal disini kita akan memodelkan masalah
efek metode pengajaran yang
berbeda. Dimiliki data berikut: Y=
1 jika nilai akhir A 0 jika nilai akhir B atau C
X1=
nilai awal test
X2=
1 metode pembelajaran A 0 metode pembelajaran B
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
35
JGOS 2005, © Dedi Rosadi
X3=
IPK
Misalkan dari output program didapatkan hasil sebagai berikut: Dependen :Nilai Metode:Logit variabel Koefisien Constant -11.011 X1 0.08761 X2 2.13211 X3 1.9971
p-value 0.010 0.000 0.021 0.040
Maka model logitnya telah kita dapatkan yaitu
π i = −11.001 + 0.088 X 1 + 2.13 X 2 + 1.998 X 3 Interpretasi hasil disini bukan lah nilai kuantitatif dari response melainkan probabilitas /pelung terjadinya suatu event dalam hal ini mendapatkan nilai A Dengan persamaan distribusi komulatif
π i = E (Y = 1 | X i ) =
1 1+ e
− ( β1 + β 2 X I )
E (Y = 1 | X ) dibaca harga harapan/peluang terjadinya suatu event dengan nilai kuantitatif 1 dalam hal ini mendapatkan nilai A didalam response dengan input /prediktor X
Maka jika terdapat seseorang dengan kriteria X1= (Nilai awal test) 20 X2=(medapatkan kriteria metode pembelajaran A ) 1 Berapakah kemungkinan ia mendapatkan nilai A ialah ???? Kita gunakan model
Z i = −11.001 + 0.088 X 1 + 2.13 X 2 + 1.998 X 3 = −11.001 + 0.088(20) + 2.13(1) + 1.998(4) = 0.8671
π i = E (Y = 1 | X ) =
1 1+ e
− ( 0.8671)
= 0.703018
Atau dengan kata lain orang tersebut memiliki peluang sebesar 70% untuk mendapatkan nilai A dengan kondisi demikian Contoh interpretasi Model Probit Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
36
JGOS 2005, © Dedi Rosadi
Misalkan dimiliki data tentang kepemilikan rumah, dengan variabel Y=
1 jika memiliki rumah 0 jika tidak memiliki rumah
X1=
pendapatan (dalam juta)
Misalkan hasil estimasi diperoleh sebagai berikut Dependen :I Metode:Probit variabel Constant X1
Koefisien -0.8133 0.05846
p-value 0.003 0.021
Maka diperoleh peluang kepemilikan rumah
π i = φ (-0.8133 + 0.05846 xi ) =
1 2π
∫
-0.8133+ 0.05846 xi
∞
1
x2
e 2 dx
Misalkan dimiliki nilai pendapatan 1 (juta rupiah). Maka diperoleh
φ[−0.8133 + 0.054846(1)] = φ (−0.7258) , dengan φ (−0.7258) adalah nilai cdf normal standard dititik − 0.7258 . Jika kita lihat didalam tabel cdf normal standar maka dapat diketahui bahwa φ (−0.7258) ialah sekitar 0.3066. Diperoleh disini peluang kepemilikan rumah sebesar 0.3 untuk penghasilan 1 juta. Studi kasus 2.4.1. (Analisa regresi logistik untuk data tabular). Dimiliki data tabular (hypothetik) berikut (Gujarati, 2004) X (Income, dalam juta rupiah)
Ni (Jumlah Keluarga dengan income tersebut)
6 8 10 13 15 20 25 30 35 40
40 50 60 80 100 70 65 50 40 25
Ni(jumlah keluarga yang memiliki rumah) 8 12 18 28 45 36 39 33 30 20
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
37
JGOS 2005, © Dedi Rosadi
Lakukan analisa regresi logistik untuk mengestimasi peluang kepemilikan rumah diberikan suatu nilai income. Studi Kasus 2.4.2. Analisa regresi logistik logit untuk data non tabular Dimiliki data hipotetik yang tersedia pada file logit.txt. Lakukan analisa regresi logistik terhadap variabel y terhadap semua variabel independen lain.
Studi Kasus 2.4.3. Analisa regresi logistik probit untuk data non tabular Dimiliki data hipotetik yang tersedia pada file probit.txt. Lakukan analisa regresi logistik terhadap variabel y terhadap semua variabel independen x.
2.5. Pengantar Analisa Runtun Waktu dengan R Pada R Analisa time series dasar dapat dilakukan dengan library ts (mulai versi 1.7 digabung kedalam library stats), Analisa lebih lanjut dapat dilakukan dengan library: R-metrics (library fSeries untuk analisa model ARIMA, ARCH/GARCH), tseries. Pada bagian ini kita tidak menggunakan fasilitas GUI pada prakteknya namun akan kita gunakan perintah-perintah pada console R-base. Jadi untuk sesi terakhir ini hanya akan diberikan pengenalan dan demo penggunaan R dalam Time Series Analysis. Lebih lanjut pengantar pengenealan R dalam time series analysis yaitu sebagai berikut Deskripsi data runtun waktu: Adalah data yang dikumpulkan, dicatat, atau diobservasi berdasarkan urutan waktu Tujuan analisa runtun waktu secara umum adalah untuk menemukan bentuk pola variasi dari data dimasa lampau dan menggunakan pengetahuan ini untuk melakukan peramalan terhadap sifat-sifat dari data dimasa yang akan datang Pemodelan data Runtun Waktu Untuk tujuan peramalan, data runtun waktu sering didekomposisikan kedalam empat komponen utama: Trend: bentuk penurunan atau pertambahan data Musiman (seasonal) : fluktuasi berulang (dan beraturan) dalam suatu kurun waktu tertentu Siklikal (cyclical): pola siklus, umumnya periode waktu relatif lebih panjang dibanding musiman Komponen tak beraturan (irregular): pola acak Model dengan trend Data time series Xt didekomposisikan kedalam komponen trend Tt, seasonal St dan irregular et Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
38
JGOS 2005, © Dedi Rosadi
Trend dapat dimodelkan dengan berbagai cara
Linear filtering Tt =
∞
∑λ X i
t +i
,contoh, rata-rata bergerak (moving average)
i = −∞
Tt =
a 1 ∑ X t +i 2a + 1 i = a
Regresi trend, contoh: model parabola X t = β 0 + β 1t + β 1t 2 + ε t
Model kausal Alternatif pemodelan data runtun waktu dengan komponen trend (tetapi tidak seasonal) adalah dengan menggunakan model ARIMA (autoregressive integrated moving average) yang diusulkan Box Jenkins Model dengan komponen musiman dapat dianalisa dengan model SARIMA (seasonal ARIMA) Eksponensial Smoothing Untuk keperluan peramalan, seringkali dilakukan dengan metode penghalusan eksponensial, yakni dengan cara mendapatkan model tanpa komponen irregular Prediksi nilai satu satuan waktu kedepan diketahui data dari Xt sampai pada waktu t=τ adalah dengan menggunakan rata-rata terbobot dari data dimasa yang lampau Lebih lanjut tentang Eksponensial Smoothing Pada eksponensial smoothing nilai λi diberikan sebagai bobot geometrik, yakni λi=α(1- α)I, 0< α<1 Model diatas hanya digunakan untuk data tanpa komponen trend dan/atau musiman Jika mengandung komponen trend dan/atau musiman dapat digunakan metode penghalusan Holt-Winters, yang memerlukan tiga parameter penghalusan, yakni α (untuk “level” dari proses), β (untuk penghalusan trend), dan γ (untuk komponen musiman)
STUDI KASUS 2.2
Studi Kasus : Pengenalan Time series Work file (Image) : Beer.dat (silahkan di load image yang tersedia) Ilustrasi Sebuah perusahaan minuman ingin melakukan Peramalan terhadap data yang dimiliknnya, guna kepentingan perusahaan kedepannya. Dengan data runtun waktu yang dimiliki perusahaan tersebut akan dilakukan analisa Time Series dengan metode Exponensial smoothing meramal 12 periode kedepan serta 4 tahun kedepan.
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
39
JGOS 2005, © Dedi Rosadi
Langkah komputasi Time Series #Contoh Exponential Smoothing menggunakan metode Holt WInter HWSmoth=HoltWinters(beer) #menggunakan Exponential Smoothing untuk data beer data dan menyimpan hasil kedalam objek HWSmoth HWSmoth #menunjukan output , smotthing parameter, alpha=0,076; beta=0,07 dan gamma=0.145 dalam kasus ini . plot(beer) HWSmoth$fitted #menunjukan list nilai fitted value (pencocokan), seasonal (musiman ), trend and irregular components lines(HWSmoth$fitted[,2],col="red") #menambahkan
fitted data kedalam plot Lanjutan Langkah komputasi Time Series
#Prediksi
menggunakan
hasil dari exponential smothing model
predict(HWSmoth,n.ahead=12) #menampilkan untuk nilai prediksi pada (contoh Sep. 1995 to Aug.1996).
12 periode selanjutnya
plot(beer,xlim=c(1956,1999)) lines(predict(HWSmoth,n.ahead=48),col=2) # prediksi untuk 4 tahun kedepan
(contoh 48 bulan):
Daftar Pustaka Gujarati, D., 2004, Basic Econometrics, Mc Graw Hill Rosadi, D., 2005, Modul Praktikum Komputasi Statistika, Lab Komputasi Statistika Matematika, FMIPA UGM Santoso, S., 2004, Buku Latihan SPSS Statistik Parametrik, Elex Media Komputindo, Jakarta
Modul ini bebas digunakan untuk maksud nonkomersial. Jika digunakan untuk tujuan komersial, harus dengan persetujuan author. Contact:
[email protected]
40