Oleh :
!" # !$ %
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 di Indonesia. Alternatif penyelesaian untuk problem ini adalah menggunakan
statistika dan/atau , 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 dan di implementasikan berdasarkan sistem semantik bahasa di bawah sistem operasi Macintosh. Saat ini 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 dan membuat dokumentasi untuk R. R bersifat , 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
! , yang saat ini dikenal dengan nama
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 data. Akan tetapi untuk sebagaian besar keperluan analisa statistika, pemrograman dengan R hampir identik dengan perintah yang dikenal di dalam Splus.
& ' ( ) * "
Karena R bersifat GNU (lihat ), 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:
' ( )
“Gratis”. " dapat memiliki kopi dan menginstal software ini secara bebas tanpa perlu membayar fee untuk lisensi
Portability. Jika seorang pernah mempelajari software ini, mereka bebas untuk mempelajari dan menggunakannya sampai kapanpun yang diiinginkan (berbeda misalnya dengan lisensi yang bersifat
# )
$ . R bersifat % , lebih umum
dibanding software statistika manapun yang pernah ada. Dengan demikian jika seorang memutuskan untuk berpindah sistem operasi, maka penyesuaian akan relatif lebih mudah untuk dilakukan
& dan ' . Berbagai metode analisa statistik (metode(
metode 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)
. " 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 ' + )
• ' &" . Interaksi utama antara dengan R adalah bersifat CLI (Command Line Interface). Dengan demikian untuk dapat
untuk R untuk memfasilitasi GUI bagi berbagai analisa statistika standar yang dikembangkan oleh John Fox dari Department of Sociology, Mc. Master University. Sedangkan , # - %
( ) adalah versi GUI alternatif dari R(
commander, yang dikembangkan oleh Philippe Grosjean dan Eric Lecoutre.
• $ . 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.
. '' !$ % * ' + # ! !$ *!% * "/
R dapat diperoleh secara “gratis”, di CRAN(archive (The Comprehen(sive R
Archive Network) pada alamat , (nama virtual dari
). Server utama CRAN berlokasi di Universitas Teknologi Vienna, Austria, dan dimirror lebih kurang
di 17 % di 5 benua (lihat ). 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(
% 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
/ %. Suatu % adalah kumpulan perintah/fungsi yang dapat digunakan untuk melakukan analisa tertentu (mirip halnya dengan ( dalam MATLAB). Sebagai contoh, % berisikan berbagai fungsi yang dapat digunakan untuk melakukan analisa runtun waktu, dan lain(lain. Instalasi standar dari R memuat berbagai % dasar seperti
dan . Diluar % % dasar ini, terdapat sejumlah besar % hasil kontribusi dari pengguna R yang harus diinstal satu demi satu jika diperlukan. Daftar semua library yang tersedia dapat diakses dari
CRAN pada alamat . Sebelum dapat
digunakan suatu library yang telah diinstal pada R harus di loading kedalam memori dengan menggunakan perintah !"
Untuk proses instalasi, ini tidak terlalu sulit untuk di
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 men sejumlah paket(paket (yakni library tambahan) yang tersedia pada web.
. ' * *!%
'' ,0 *
*!%
1. Double klik $ ' %&11 / yang terdapat pada direktori
2 ,0 " *!% .
Maka jendela dialog berikut akan muncul.
2. Klik / dan selanjutnya pilih
tombol ## )
+ , 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
0 !% Namun disini kita akan menginstal R pada lokasi defaultnya, yakni pada direktori
34 ! +
' 4 4 %&11 . Untuk itu,
tekan tombol / tanpa
merubah lokasi instalasi. maka
akan ada dialog untuk
konfirmasi STUDI
KASUS I.3
Studi Kasus : Instalasi OSS R.2.01 pada OS WINDOWS Workfile : rw2001.exe
keterangan
Silahkan ikuti instruksi dari pemberi materi , diharapkan tidak mendahului proses installasi untuk mendapatkan hasil yang terbaik
4. Default instalasi adalah menggunakan mode "
. Untuk itu, silahkan klik / untuk melanjutkan proses instalasi. Klik / sekali lagi pada jendela dialog selanjutnya, maka proses instalasi akan dimulai.
5. Apabila proses instalasi telah selesai, klik )5 lalu pada desktop windows dan start
menu dari windows akan terdapat shortcut dari R. seperti
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 ' 6 / . Klik 7 pada
dialog - ! #
' , !++ * * *!%
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
# 2 ''
# 8 9 $ !+ '!# ' :
$ ' .Arahkan lokasi pada dialog !! ke direktori , 2 # - % dan pilih
file #+* ;1 <, = : .
Lihat seperti pada jendela dialog berikut
Klik . Maka R akan
menginstal paket Rcommander, yang ditandai dengan dialog berikut pada R (perhatikan jendela ,#! !' )
>
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 ,#!++ * dapat
dijalankan dengan dua cara yang
berbeda, yakni dengan
mengetikkan perintah berikut pada
,#! !'
>library(Rcmdr)
dan menekan satu kali, atau cara kedua dengan memilih menu
# 2 ! * # dan
memilih Rcmdr pada daftar paket library yang terinstal. Lihat jendela dialog berikut
dan klik . Maka akan muncul jendela dialog berikut:
Klik 7 . Dialog berikut akan muncul dilayar
Jika anda terhubung online di
internet, anda dapat
di archive R, yakni pada homepage 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 !# '
# * # ! > , dan klik
tombol 0 !% 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
, 2 #!++ * ,
karenanya arahkan browsing ke direktori ini dan double klik direktori #!++ * seperti seperti ditunjukkan pada gambar berikut:
Klik . Maka didapat informasi berikut
3 Lokasi dari #
* # ! > dapat anda sesuaikan
dengan lokasi dimana anda menyimpan file(file instalasi diatas.
Selanjutnya klik . Maka R akan melakukan instalasi automatis dari paket(paket program yang diperlukan. Apabila proses instalasi telah selesai dan berlangsung sukses, paket R( commander akan diloading seperti yang muncul pada gambar berikut:
4. Tutup R(Commander dan R
dengan memilih menu
' 2 / 2 !+
!++ * * pada
jendela program R
Commander
: Jika terdapat error dalam proses instalasi R( commander, instal semua library yang diperlukan oleh R( commander, menggunakan menu
# 2 '' # 8 9
$ !+ '!# ' : $ ' dan
' , # ? % * ' +
+ ! *!%
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 # 2 ''
# 8 9 $ !+ '!# ' :
$ ' .Arahkan lokasi pada dialog !! ke direktori , 2 # - % dan pilih file
& ; =,. : . Lihat
seperti pada jendela dialog berikut
Klik . 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 # ? % ;1 @,A : ,
#' &;1 @,= : dan
%/ > )! ;1 & = : (lakukan
dengan menekan tombolo CTRL dan memilih semua paket yang diperlukan). Jika instalasi telah selesai, dapat dilihat dialog berikut pada jendela #! !'
>install.packages(choose.files('',filters=Filte rs[c('zip','All'),]), .libPaths()[1], CRAN = NULL)
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.
• Langkah selanjutnya adalah menginstal program tambahan
yang diperlukan untuk
menjalankan program # ? % pada sistem Windows. Ini dilakukan dengan menginstal
program # ? % , ;1 @,
. " / yang terdapat pada
direktori 2 # ? % .
Langkah instalasi adalah sebagai berikut. Double klik file
# ? % , ;1 @,. " / ,
maka jendela dialog setup
# ? % , berikut akan
Selanjutnya proses instalasi
dapat dilakukan dengan
mengikuti wizard instalasi dan menggunakan semua modus default instalasi. Jika proses instalasi telah selesai, klik tombol ) untuk menutup proses instalasi. Pada * ! dari windows, maupun pada
+ " dari windows, akan muncul
shortcut dari program R( SciViews. Shortcut ini pada desktop akan tampak sebagai berikut:
Untuk melakukan test apakah instalasi telah berjalan dengan baik, double klik shortcut diatas. Apabila instalasi berjalandengan baik, maka jendela program R( Sciviews akan diloading, seperti
yang tampak pada gambar berikut:
Untuk keluar dari R(Sciviews dan kembali ke jendela standar dari program R pilih menu ' 2 /
# - % ! '>. Untuk keluar
dari R, gunakan menu ' 2 /
3 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.
Pada kolom , anda untuk sementara tidak perlu merubah informasi yang tertulis dikolom ini.
2. Jalankan R, kemudian load library bernama SvGUI
menggunakan menu
# 2 ! * # .
. & ' * "/
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 ,& 1 1, +* BAC + 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
2. Klik OK maka proses instalasi akan dimulai. Silahkan menunggu sampai proses instalasi selesai. Pada gambar berikut, tampak proses instalasi dari R sedang berlangsung.
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
! ) ' # ! 6 # # 6 .
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:
3
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
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.
. ' , !++ * * "/
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:
, " ' "/ #! !'
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.
, " #! !' 5 ' ! ' * !
Pastikan komputer anda terhubung ke internet. Sebagai root, jalankan R. Kemudian ketikkan
install.packages(”Rcmdr”, dep=T)
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.
= ' "
= ( *- # * '#"' !
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 # 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 / " "$ ( * # ' * ( * x=1
X # pesan error, X tidak dikenali
= & " * - ! * +
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 . Pada bagian ini akan dikenalkan cara menginput data berupa vektor dan matriks didalam
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
12 11 10 9
8 7 6 5
4 3 2 1
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 Y
4 25
5 27
3 21
6 24
2 20
= . " * ( * + 8* $ + 9
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:
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
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 LamaKerja
23 2
21 3
24 4
22 6
26 7
28 2
25 2
21 1
20 1
20 1
Panggil data Karyawan (Periksa Jika ada kesalahan input data)
3. Menginput data Matriks
Silahkan Input data Berdimensi berikur dengan nama MatriksKaryawan
21 21 20 20
21 25 28 26
22 24 21 23
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
B + !
3 Pada bagian 2 nanti, proses importing data akan sangat mudah dilakukan dengan menggunakan fasilitas GUI R(Cmdr
+( # '
Membaca data melalui keyboard umumnya bukanlah hal yang umum dilakukan dalam operasi data untuk . Umumnya kita memiliki himpunan data yang disimpan sebagai ASCII file, yang kita ingin baca menggunakan . 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 +>- # ! / dalam R working direktori (andaikan disini working direktori anda adalah #32 "+2 ("* , maka simpan file ini didirektori tersebut. Silahkan anda buat menggunakan editor seperti ! *
Kita dapat membaca data tersebut diatas kedalam 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 +>- # ! / untuk scan diperlukan dalam command scan diatas. Lebih lanjut kita mungkin melakukan operasi pemberian nilai dari scanning +>- # ! / diatas ke suatu object , seperti contoh berikut
> data.scan <(scan("myvector.txt")
dan kita dapat melakukan operasi(operasi data untuk data hasil scanning diatas menggunakan nama * # .
Contoh, misalkan kita dapat membuat matriks sebagai berikut >matrix(data.scan,6)
Jika data yang kita miliki tidak berada di %! * # ! , maka kita harus menulis seluruh nama path dari data tersebut. Sebagai contoh, kita ingin membaca +>- # ! / yang disimpan didirektori #32 + 25 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 # .
tampilkan data hasil scan diatas dengan mengetikkan: data.scan atau data.scan.2
+( # * $! + * )
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 # / (tab delimited text) yang berisikan informasi berikut:
MPG ENGINE HORSE ACCEL
18 307 130 12
15 350 165 11.5
18 318 150 11
26 304 150 12
17 302 140 10.5
15 429 198 10
14 454 220 9
Andaikan file data ini tersimpan di direktori #34 + . Kita dapat membaca file ini menjadi suatu data frame object di dalam R menggunakan command/fungsi * (' sebagai berikut:
> data.auto <( read.table("c:\\temp\\cars.txt", header = T)
Argumen optional ) * D diatas bertujuan agar menggunakan baris pertama dari file sebagai header/nama dari nama variabel. Object data.auto dapat dilihat dengan mengetikkan * " !di prompt
> data.auto
3 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 # # - (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 %) D diatas bertujuan agar
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 :
+ ! * * ! + >
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 ' ) * + * * !
E . 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)
: ekuivalennya dapat digunakan c:\\praktikum\\cars.sav sebagai lokasi nama file
C * *
Proses editing dari data (disini object) didalam dapat dilakukan menggunakan 4 command: $ /dan *
semisal untuk mengedit data berdimensi maka kita hanya perlu mengetikkan fix(NamaFile)
STUDI KASUS
(1.6)
Studi Kasus : Mengedit data
Sebuah UKM ingin memperbaiki data beberapa karyawannya Yang telah di input sebelumnya (Pada data frame)
Silahkan edit data Karyawan
C + ! + *
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
-Menampilkan mean median minimum maksimum summary(NamaData)
Menampilkan Standard Deviasi sd(NamaData) Mencari Transpose Matriks
t(NamaMatriks) Menghitung Invers Matriks
solveCrossprod(NamaMatriks) +
Pekalian matrix X dan Y =X%*%Y
Penjumlahan matrix X dan 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=…)
C +(" ! + * " #
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
#!( +(" # ' ! ' !
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.
1
o 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
STUDI KASUS
I.6
Studi Kasus : 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
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_xkuadrat-
sum_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>
! 3
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.
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)
& " 8 #!++ * 9
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 yang ada. Pada 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 ) # *.
Berikut beberapa cara menggunakan paket Rcommander 1. Mengaktifkan Rcommander dari R console
# 6 ! * # 6 ' ) #+* 6
Maka akan muncul kotak dialog sebagai berikut:
+ Menggunakan Menu ,
Untuk me load script ' 6 ! * #
Untuk Save Output Work space dan lain sebagainya Untuk keluar dari paket Commander ' 6 /
- Menggunakan menu!
Menginput data baru dengan cara 6 % *
Import data dari file pakat program lain 6 + !
6 ' ) E *
. Menggunakan menu
Melihat deskriptif korealasi frekwensi dan tabel dengan
# 6 "++ 6 ' ) ' > *
Menggunakan tabel kontingensi /tabulasi silang # 6
Melakukan uji rata(rata seperti uji z t(test ANOVA dengan vara
# 6 6 ' ) ' > *
Uji proporsi dengan cara # 6 ! ! !
Uji kesamaan variansi seperti Lavene dan Barlet dengan cara
# 6 ? #
Analisa Non parametrik # 6 ! + #
Pemodelan seperti pemodelan linier regresi sederhana multivariat logit dan probit dengan cara # 6 +!* '
6 ' ) +!* ' > *
Analisis Multivariat seperti Reabilitas, PCA, dan analisis Faktor dapat dilakukan dengan # 6 * + ! ' ' 6
' ) ' > *
/ Menggunakan menu
Untuk analisa statistika secara geafis seprti bar chart qq plot dan sebagainya dapat dilakukan dengan cara ) 6 ' )
+ " $ > *
6. Menggunakan menu$
Untuk melakukan uji kelayakan model 0 Menggunakan menu!
Untuk pengerjaan yang berkaitan dengan distribusi peluang
& & ' ! ' * , !++ *
& & ' ! '
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.
"* " & & 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).
& & & ' ! ' '
Analisa korelasi parsial bertujuan untuk melihat hubungan antara dua variabel, dengan memasukkan variabel lain sebagai pengontrol.
"* " & &.&. Dari data karyawan diatas, amatilah hubungan diantara dua variabel GAJI, USIA dengan variabel pengalaman KERJA sebagai faktor pengontrol.
& & . ! ' " " * ! * '
"* " & & . 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).
& . ' +!* ' * ) *
"' - ' +
Analisis regresi digunakan untuk menjelaskan atau menggambarkan suatu variabel response(output, dependen) 1 dan satu atau lebih variabel input (prediktor, independen atau explanatory variable) X1,...,Xp. Jika p=1,
maka regresi yang terbentuk disebut regresi sederhana, sedangkan jika p>1
maka regresi yang terbentuk disebut atau regresi
# . Jika terdapat lebih dari satu Y, maka regresi tersebut disebut
# 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).
+ ' ' !
Dengan model regresi linear sederhana, akan diamati hubungan dari pasangan variabel dependen dan satu variabel independen (xi,yi) dengan persamaanya
i i
i x
y =
β
0 +β
1 +ε
Nilai dari
β
0,β
1 tidak diketahui dan akan diestimasi dari data. Nilaiεiadalah komponen error yakni besarnya perbedaan dari nilai y terhadap model linear. Estimasi dariβ
0,β
1 dibawah asumsi komponen errorεiadalah iid normal dengan mean µ dan variansiσ2 dapat dilakukan dengan menggunakan metode least square. Nilai estimasi dari parameterβ
0,β
1 adalahx
"* " & . Nilai maksimum detak jantung dari seseorang terhadap
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 R( Commander
1. Data entry
Data entry dapat dilakukan dengan memilih menu 2 % *
Pada jendela dialog yang muncul, isikan nama variabel* E " . Maka jendela data editing akan dibuka. Isikan data diatas, dengan membuat
variabel baru bernama " (bertipe numerik), dan + / (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 ) 2 #
'! Pilih variabel usia sebagai variabel x dan variabel maxrate sebagai variabel respon. Selanjutnya hanya pilih ' F" ' dalam pilihan plot. Klik OK untuk menampilkan grafik. Grafik ini dapat disimpan dengan
menu ) 2 - ) ! $ ' .
Terlihat adanya hubungan linear antara variabel independen dan variabel dependen
3. Estimasi dari model
Untuk melakukan estimasi dari model, pilih menu # 2
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 normalitas dan homokedastik dapat dilakukan dengan menggunakan
menu !* ' 2 )20 # * ! # '!
'!
*" ' - $ *3Plot 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
! + ' FF '! 3 Tampak residual berada disekitar garis lurus, yakni dapat
disimpulkan bahwa residual mengikuti distribusi normal
# ' ,'!# ! '! : plot ini menampilkan nilai dari standardized residual.
Kesimpulan ekuivalen dengan plot residual vs fitted diatas. Nilai tertinggi menunjukkan residual terbesar
!! * # '! : 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
!* ' 2 "+ # ' * ! # 2 " ( ! $!
" !#! ' ! . Pilih untuk alternative hypothesis rho !=0. Diperoleh
output berikut
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")
' +"'
-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;
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.
' ),' ) +!* '
) &3 + ' ) ? ( ' * !# *" %
!* ' + 0 # % *
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%
0 !* ! % * ' # !
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
!* %
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.
) .3 ! # #) #
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 2 3 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)
) =3 $! + - ( ' 8 * * ( ) * %! )! 9
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.
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.
+!* ' 3
• 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”.
& = ' +!* ' ! ' +
!* '
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+ i
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 E(Y|xi). Ini dapat diperoleh sebagai berikut. Definisikan πi=P(Yi)=P(Yi=1|X=xi). Maka E(Y|xi)= πi.1+(1(πi)*0= πi.
Beberapa asumsi LPM
o i iid normalitas
o YiBerdistribusi Bernoulli
Namun pada kenyataannya model jarang digunakan karena memiliki beberapa kelemahan yaitu (Gujarati 2004) :
1. inonnormal (yakni karena Yidikotomi, maka uijuga 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
$! + π3 !* ' ! * !(
Untuk membuat harga πiselalu 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 parameter( parameter yang akan diestimasi. Fungsi P () diasumsikan smooth dan simetris, dan mendekati nilai symmetric π=0 dan 1 secara asimtotis. Jika fungsi P() diasumsikan % ,maka model dapat ditulis ulang sebagai
P(1(πi)= ηi= α+ βXi
Untuk transformasi P(), sering digunakan CDF dari distribusi normal standar
∫
∞atau, lebih umum, fungsi logistik
Z
Disini konstantaπ ≈3.141 dan e ≈2.718.
Dengan menggunakan CDF normal
φ
(z)diperoleh linear probit model∫
∞+i
Secara umum, harga transformasi fungsi logit dan fungsi probit ekuivalen nilainya, kecuali pada nilai ekstrem dari
π
i. Akan tetapi, ada dua kelebihandari 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 langsungsebagai , sedangkan transformasi invers
φ
−1(π
i) tidak memilikiinterpretasi lansung.
– Untuk logit model, pandang nilai rasio odds i
Maka diperoleh i
i
1 disebut logit dari π, yakni nilai log dari odds ratio kejadian Y bernilai 1 (kejadian sukses) dibandingkan dengan dengan kemungkinan bernilai 0 .
GFungsi 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 .
!* ' ! * !(
! !) !* ' !
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
X3= IPK
Misalkan dari output program didapatkan hasil sebagai berikut: Dependen :Nilai
Metode:Logit
variabel Koefisien p-value Constant -11.011 0.010 X1 0.08761 0.000 X2 2.13211 0.021 X3 1.9971 0.040
Maka model logitnya telah kita dapatkan yaitu
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
)
E = 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
0.8671
Atau dengan kata lain orang tersebut memiliki peluang sebesar 70% untuk mendapatkan nilai A dengan kondisi demikian
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 Koefisien p-value
Constant -0.8133 0.003
X1 0.05846 0.021
Maka diperoleh peluang kepemilikan rumah
∫
∞ +Misalkan dimiliki nilai pendapatan 1 (juta rupiah). Maka diperoleh
)
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.
"* " & = 8 ' '! " " * ("' 9.
Lakukan analisa regresi logistik untuk mengestimasi peluang kepemilikan rumah diberikan suatu nilai income.
"* " & = & ' '! '! " " * !
("'
Dimiliki data hipotetik yang tersedia pada file logit.txt. Lakukan analisa regresi logistik terhadap variabel y terhadap semua variabel independen lain.
"* " & = . ' '! !( " " * !
("'
Dimiliki data hipotetik yang tersedia pada file probit.txt. Lakukan analisa regresi logistik terhadap variabel y terhadap semua variabel independen x.
& B ' " " " *
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
! 4
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
5
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 $
Trend dapat dimodelkan dengan berbagai cara Linear filtering
∑
∞
T
λ
,contoh, rata(rata bergerak (moving average)∑
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)
6
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
7 6
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
$ "
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
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 12 periode selanjutnya (contoh Sep. 1995 to Aug.1996).
plot(beer,xlim=c(1956,1999))
lines(predict(HWSmoth,n.ahead=48),col=2)