You are on page 1of 306

SUHARTONO

2008 Lab. Statistik Komputasi, ITS, Surabaya

ANALISISDATASTATISTIK DENGAN

sht90

Dedicatedto

When the Lord created the world and people to live in it an enterprise which, according to modern science, took a very long time I could well imagine that He reasoned with Himself as follows: If I make everything predictable, these human beings, whom I have endowed with pretty good brains, will undoubtedly learn to predict everything, and they will thereupon have no motive to do anything at all, because they will recognize that the future is totally determined and cannot be influenced by any human action. On the other hand, if I make everything unpredictable, they will gradually discover that there is no rational basis for any decision whatsoever and, as in the first case, they will thereupon have no motive to do anything at all. Neither scheme would make sense. I must therefore create a mixture of the two. Let some things be predictable and let others be unpredictable. They will then, amongst many other things, have the very important task of finding out which is which.
Small Is Beautiful
E.F.SCHUMACHER

Untuk Azizah, Alivia, Vanissa

ii

sht90

KataPengantar

KATAPENGANTAR
R adalah suatu sistem untuk analisis data yang termasuk kelompok software statistik open source yang tidak memerlukan lisensi atau gratis, yang dikenal dengan freeware. Sampai saat ini, pengguna statistika di Indonesia masih belum banyak yang menggunakan R untuk keperluan analisis data. Sebagian besar pengguna statistika di Indonesia masih menggunakan paketpaket statistik komersil, seperti SPSS, MINITAB, Splus,SAS,atauEviews.Salahsatufaktorpenyebabnyaadalahmasihterbatasnyabuku tentangRyangditerbitkandalambahasaIndonesia. Buku ini bukan merupakan suatu buku teks tentang teoriteori dalam analisis statistik,tetapilebihmerupakanbukuterapantentangmetodemetodestatistikdengan penggunaan R. Tujuan penulisan buku ini adalah untuk menunjukkan bagaimana cara melakukan analisis data statistik dengan menggunakan R. Dalam hal ini, ditunjukkan bagaimanaRsebagaisuatupaketstatistikyangpowerfuldanmenyediakansistemgrafik yang baik untuk mendukung analisis. Jika proses perhitungan dalam analisis data menjadimudah,makaenergidaripenggunastatistikadiharapkandapatlebihdifokuskan padapemahamantentangdatayangdianalisis. BukuiniditujukanuntukpenggunaRsecaraumumsebagaipetunjukpengantar pemakaian R untuk analisis data statistik. Selain itu, buku ini juga diharapkan dapat dipakaidikelaskelaspadapengajaranstatistikabaikdileveldasarataupunlevellanjut denganteknikteknikanalisisstatistiktertentu.Saatinibukuinidigunakansebagaisalah satureferensipadamatakuliahAnalisisDataIdanIIdiProgramSarjana(S1)danmata kuliah Analisis Data di Program Magister (S2) Jurusan Statistika, Institut Teknologi SepuluhNopember(ITS),Surabaya. PaketRmemilikifasilitasyangsangatbanyakuntukanalisisdatastatistik,mulai dari metode yang klasik sampai dengan yang modern. Pada Bab 1 diuraikan tentang paketstatistikR,yaitutentangsejarahsingkat,caramemperolehdanmenginstal,serta fasilitas RGUI (Graphical User Interface) atau RCommander dan cara menginstalnya. Bab2dan3membahastentangmanajemendatadiR,khususnyadenganmenggunakan fasilitasdiRCommanderdanperintahlangsungdiRConsole. Analisisgrafik padaR dijelaskanpada Bab 4, khususnya penggunaan fasilitas di RCommander.PadaBab5dibahastentangpenggunaanfasilitasdiRCommanderuntuk perhitungan fungsi distribusi peluang, yang mencakup perhitungan peluang pada distribusikontinudandiskrit.Bahasantentanganalisisstatistikdeskriptifdijelaskanpada Bab 6. Pada Bab 7 dijelaskan tentang penggunaan fasilitas di RCommander untuk analisisstatistikinferensi,yangmencakupujihipotesistentangratarata,proporsi,dan varians.DalamBab8dibahastentanganalisisregresilinear.Padabagianakhirdaribab ini diberikan ringkasan beberapa perintah dan library yang berkaitan dengan analisis regresi. iii

sht90

KataPengantar

Bahasan tentang penggunaan fasilitas di RCommander untuk model linear tergeneralisir(GLM)dijelaskanpadaBab9.DalamBab10dibahastentanganalisisgrafik dengan menggunakan perintah langsung di RConsole atau command line. Bab 11 membahastentangpenggunaanRuntukanalisisruntunwaktu.Dalambab ini adatiga subbab utama tentang modelmodel dalam analisis runtun waktu yang dibahas, yaitu model tren linear, model eksponensial smoothing, dan model ARIMA. Di akhir bab ini diberikan pula ringkasan beberapa perintah dan library yang berkaitan dengan analisis runtunwaktu. Pada Bab 12 dijelaskan tentang penggunaan R untuk analisis multivariat, yang mencakuptentangAnalisisFaktor,AnalisisDiskriminan,danAnalisisCluster.DalamBab 13 dijelaskan tentang model regresi nonparametrik dan estimasi densitas. Fokus pembahasan adalah pada regresi dengan kernel dan spline. Di akhir bab ini juga diberikanringkasanbeberapaperintahdanlibraryyangberkaitandenganaplikasikernel danspline. Selanjutnya,padaBab14dibahastentangmodelnonlinear.Dalambabinijuga dibahas tentang beberapa uji statistik untuk deteksi hubungan nonlinear, yaitu Uji Ramseys RESET,Uji White, dan UjiTerasvirta. Pada akhirnya,dalam Bab 15 dijelaskan tentangpengantarpemrogramandiR. Padakesempatanini,penulismengucapkanterimakasihyangsebesarbesarnya kepadadosendosenpenulisyangtelahbanyakmenginspirasiperkembanganakademik penulis, khususnya Drs. Kresnayana Yahya, M.Sc. dan Ir. Dwiatmono A.W., M.Ikom. selamapenulismenempuhS1diITSSurabaya,Prof.T.SubbaRaodanDr.JingsongYuan dari Department of Mathematics, University of Manchester, United Kingdom, selama penulismenempuhS2,danProf.Subanar,Ph.D.selamapenulismenempuhS3diUGM Yogyakarta. Penulis juga mengucapkan banyak terima kasih kepada kolegakolega akademik penulis yang telah banyak membantu dalam proses penulisan buku ini, khususnya R. Mohamad Atok, S.Si., M.Si. dan Wahyu Wibowo, S.Si., M.Si. Akhirnya, penulisjugamengucapkanbanyakterimakasihkepadamahasiswa/ipenulis,khususnya mahasiswa/i S1 Statistika 2005 yang telah melakukan download paket dan library R secarabersamasamasehinggabanyaklibrary(hampir1000library)yangsekarangtelah tersediadandapatdiaktifkan. Masukandanumpanbalikdaripembacasangatdiharapkanuntukperbaikanisi bukuini.Pembacadapatmengirimkansarandankritikmelaluiemailkealamatpenulis, yaitu suhartono@statistika.its.ac.id atau har_arema@yahoo.com. Semoga buku ini dapatmemberikanmanfaat,khususnyabagiperkembanganilmustatistikadiIndonesia dansecaraumumbagiparapembaca.

Surabaya,29September2008 Penulis, Suhartono

iv

sht90

DaftarIsi

DAFTARISI
KATAPENGANTAR DAFTARISI BAB1.PAKETSTATISTIKR 1.1Pendahuluan 1.2 SejarahSingkatR 1.3CaraMemperolehR,PaketdanLibrary 1.4InstalasiRdalamSistemOperasiWindows 1.5GUIRCommanderdanInstalasinyadalamSistemOperasiWindows 1.6ManajemenDirektoriKerjadiR 1.7Fasilitashelp 1.7.1Mencarihelpdarisuatuperintah(command)tertentu 1.7.2Menggunakanhelpsearchengine 1.7.3OnlineSearchEngine BAB2.MANAJEMENDATADIPAKETR 2.1DataEntrymenggunakanRGuidenganRCommander 2.2 MenampilkandatayangsedangaktifdiRCommander 2.3 EditingdatadiRCommander 2.4 ImportingdatadiRCommander 2.4.1ImportingdatafileExceldiRCommander 2.4.2ImportingdatafileSPSSdiRCommander 2.4.3ImportingdatafileMINITABdiRCommander 2.5 Memilihdatasetyangaktif 2.6 Transformasidatasetataupengaturanvariabelpadadataset 2.6.1Recodeataukodeulangpeubah 2.6.2Computeatauhitungpeubahbaru hal. iv vi 1 1 1 1 2 4 6 10 10 12 15 16 16 19 20 20 20 22 22 24 25 25 27 29 30 30 31 34 37 38 38 39 41

BAB3.MANAJEMENDATADIRDENGANCOMMANDLINE 3.1JenisjenisDataObjek 3.1.1DataArraySatuDimensiatauDataVektor 3.1.2DataMatriks 3.1.3DataFrame 3.1.4DataList

3.2 ImportingDatapadaCommandLine 3.2.1MembacaFileASCII 3.2.2ImportingDataFileExcel 3.2.3ImportingDatadariPaketStatistik

sht90

DaftarIsi

BAB4.GRAFIKMENGGUNAKANRCommander 4.1GrafikdalamRGUI 4.2 GrafikHistogram 4.3 DiagramDahandanDaun(StemandLeaf) 4.4 GrafikBoxPlot 4.5 GrafikQQPlot 4.6 GrafikDiagramPencar(ScatterPlot) 4.7 GrafikPlotRatarata(Mean) 4.8 DiagramBatang(BarChart) 4.9 DiagramLingkaran(PieChart) 4.10PlotIndeks BAB5.FUNGSIDISTRIBUSIPELUANGDIRCommander 5.1FungsiDistribusiKontinu 5.1.1MenghitungKuantildariDistribusiNormal 5.1.2MenghitungPeluangdariDistribusiNormal 5.1.3MembuatPlotdariDistribusiNormal 5.1.4MembangkitkanDatadariDistribusiNormal 5.2FungsiDistribusiDiskrit 5.2.1MenghitungKuantildariDistribusiBinomial 5.2.2MenghitungPeluangdariDistribusiBinomial 5.2.3MembuatPlotdariDistribusiBinomial 5.2.4MembangkitkanDatadariDistribusiBinomial

43 45 46 48 50 51 53 55 56 57 58 61 62 62 64 65 67 70 71 72 74 76 80 81 81 83 85 86 88 89 91 92 94 97 99 99 102 107

BAB6.STATISTIKDESKRIPTIFMENGGUNAKANRCommander 6.1RingkasanNumerik(Summary) 6.1.1RingkasanNumerikdariSemuaVariabel 6.1.2RingkasanNumerikuntukSuatuVariabel 6.2 DistribusiFrekuensi 6.3 TabelStatistika 6.4 MatriksKorelasi 6.5 UjiKorelasi 6.6 UjiKenormalanShapiroWilk 6.7 TabelKontingensiDuaArah 6.8 EntryLangsungDataFrekuensiuntukTabelKotingensiDuaArah

BAB7.STATISTIKINFERENSIMENGGUNAKANRCommander 7.1PengujianRatarata(Mean) 7.1.1PengujianRataratasampeltunggal 7.1.2PengujianPerbedaanRatarataDuasampelsalingbebas 7.1.3PengujianPerbedaanRatarataSampelBerpasangan vi

sht90

DaftarIsi

7.1.4AnalisisVarianssatuarah(OnewayANOVA) 7.1.5AnalisisVariansduaarah(MultiwayANOVA)

110 115 118 118 120 121 122 123 125 128 128 132 137 144 158 158 161 166 168 168 172 176 177 178 179 180 180 182 184 185 187 189 193 195 196 198 203

7.2PengujianKesamaanVariansi 7.2.1PengujianKesamaanDuaVariansi 7.2.2UjiBartlett 7.2.3UjiLevene 7.3PengujianProporsi 7.3.1PengujianProporsiSampelTunggal 7.3.2PengujianProporsiDuaSampel BAB8.ANALISISREGRESIMENGGUNAKANRCommander 8.1RegresiLinear 8.2ModelLinear 8.3CekDiagnosaKesesuaianModelRegresiLinear 8.4 Rangkumanperintahdanlibraryyangberkaitandengan AnalisisRegresi

BAB9.GENERALIZEDLINEARMODELMENGGUNAKANRCommander 9.1PengantarTeoriModelLinearTergeneralisir 9.2ContohKasusModelLinearTergeneralisirdenganRCommander

BAB10.GRAFIKMENGGUNAKANRCLI 10.1 FungsifungsiPlotUtama 10.1.1Perintahplot() 10.1.2 Perintahqqnorm(x),qqline(x),qqplot(x,y) 10.1.3 Perintahhist(x) 10.1.4 Perintahimage(x,y,z,),contour(x,y,z,),persp(x,y,z,) 10.1.5 Argumenargumenuntukfungsiplotutama 10.2 FungsifungsiPlotTambahan 10.3 FungsifungsiPlotyangbersifatinteraktif 10.4 NotasiMatematikapadaPlot 10.5 Settingparametergrafik

BAB11.ANALISISRUNTUNWAKTUDENGANR 11.1 ModelTrendLinear 11.2.ModelExponentialSmoothing 11.2.1 ModelHoltWintersAditif 11.2.2 ModelHoltWintersMultiplikatif 11.2.3 ModelEksponensialGanda 11.2.4 ModelEksponensialSmoothingSederhana 11.3 ModelARIMA 11.3.1 ContohKasusModelARIMANonmusimanyangStasioner

vii

sht90

DaftarIsi

11.3.2 11.3.3 11.3.4 11.3.5

ContohKasusModelNonmusimanyangTidakStasioner ModelARIMAMusiman ContohKasusModelARIMAMusiman KriteriaPemilihanModel

211 216 219 225 227 230 230 232 234 237 237 241 243 249 254 256 256 259 263 263 267 274 277 277 280 281 284 284 286 289 292 295 298

11.4 Rangkumanperintahdanlibraryyangberkaitandengan AnalisisRuntunWaktu

BAB12. ANALISISMULTIVARIATDENGANR 12.1 AnalisisFaktor 12.2 AnalisisDiskriminan 12.3 AnalisisCluster

BAB13. REGRESINONPARAMETRIKDANESTIMASIDENSITAS 13.1 EstimasiDensitasdenganKernel 13.2 RegresiNonparametrikdenganKernel 13.3 RegresiNonparametrikdenganSpline 13.4 JenisjenisBasisSpline 13.5 RangkumanlibraryuntukAplikasiKerneldanSpline

BAB14. MODELNONLINEAR 14.1 EstimasiModelRegresiNonlinear 14.2 PerintahnlsdanSSasympOriguntukestimasimodelnonlinear 14.3 UjiDeteksiHubunganNonlinear 14.3.1 UjiRamsey'sRESET 14.3.2 UjiWhite 14.3.3 UjiTerasvirta BAB15. PENGENALANPEMROGRAMANDALAMR 15.1 PenulisanFungsi 15.2 TypeDatadanOperator 15.3 ControlFlowdidalamR 15.4 Beberapatopikyangberhubungandenganfungsi 15.4.1 Argumendarisuatufungsi 15.4.2 Mengaturtampilandarioutput 15.5 Contohcontohfungsi

DAFTARPUSTAKA DAFTARINDEKS TENTANGPENULIS

viii

sht90

PaketStatistikR

BAB1 PAKETSTATISTIKR

1.1. Pendahuluan
Secara umum ada dua macam kelompok paket software statistik untuk keperluan analisis data, yaitu kelompok software komersil dan kelompok software statistik open source atau freeware. Beberapa contoh software statistik komersil yang populardiIndonesiaadalahSPSS, MINITAB,Eviews,SAS,danSplus.Sedangkancontoh dari freeware statistik antara lain R, Open Stats, SalStat, Vista, dan lainlain (lihat http://www.statistics.com/content/freesoft/AZlisting.html). Softwarestatistikyangkomersilmensyaratkanlisensidenganhargayangrelatif sangat mahal untuk ukuran sebagian besar pengguna di Indonesia. Dengan demikian, salah satu alternatif penyelesaian dari mahalnya lisensi tersebut adalah melalui penggunaanfreewarestatistik,khususnyaR.

1.2. SejarahSingkatR
R dalam versi terakhirnya, yaitu versi 2.7.2 per 25 Agustus 2008, merupakan suatusistemanalisisdatastatistikyangkompletsebagaihasildarikolaborasipenelitian berbagai ahli statistik (statistisi) di seluruh dunia. Versi awal dari R dibuat pada tahun 1992diUniversitasAuckland,NewZealandolehRossIhakadanRobertGentleman.Pada saat ini, source code kernel R dikembangkan terutama oleh R Core Team yang beranggotakan 17 orang statistisi dari berbagai penjuru dunia (lihat http://www.r project.org/contributors.html).Selainitu,parastatistisilainpenggunaRdiseluruhdunia jugamemberikankontribusiberupakode,melaporkanbug,danmembuatdokumentasi untukR. Paket statistik R bersifat multiplatforms, dengan file instalasi binary/file tar tersedia untuk sistem operasi Windows, Mac OS, Mac OS X, Linux, Free BSD, NetBSD, irix,Solaris,AIX,danHPUX.Secaraumum,sintaksdaribahasaRadalahekuivalendengan paket statistik Splus, sehingga sebagian besar keperluan analisis statistika, dan pemrogramandenganRadalahhampiridentikdenganperintahyangdikenaldiSplus.

1.3. CaraMemperolehR,PaketdanLibrary
R dapat diperoleh secara gratis di CRANarchive yaitu The Comprehensice R Archive Network di alamat http://cran.rproject.org. Pada server CRAN ini dapat didownloadfileinstalasibinarydansourcecodedariRbasesystemdalamsistemoperasi Windows(semuaversi),beberapajenisdistrolinux,danMacintosh. Fungsi dan kemampuan dari R sebagian besar dapat diperoleh melalui Addon packages/library.Suatulibraryadalahkumpulanperintahataufungsiyangdapatdi

sht90

PaketStatistikR

gunakan untuk melakukan analisis tertentu. Sebagai contoh, fungsi untuk melakukan analisis time series dapat diperoleh di library ts. Instalasi standar dari R akan memuat berbagailibrarydasar,antaralainbase,datasets,graphics,utils,danstats.Librarylain hasilkontribusidaripenggunaR(diluaryangstandar)harusdiinstalsatupersatusesuai denganyangdibutuhkanuntukanalisis.Daftarsemualibraryyangtersediadapatdiakses darilinkdownloadCRANdialamathttp://cran.rproject.org.

1.4. InstalasiRdalamSistemOperasiWindows
Tahapan utama sebelum melakukan instalasi R dalam sitem operasi Windows adalah mendownload file R2.7.2win32.exe yang dapat diperoleh di http://cran.r project.org.Setelahitu,langkahlangkahinstalasiRdapatdilakukansepertiberikut: Klikduakali(doubleclick)fileR2.7.2win32.exeyangterdapatpadadirektoriyang telah disediakan, maka akan muncul jendela dialog seperti pada Gambar 1.1. berikutini.

Gambar1.1.JendeladialogawalinstalasiRdalamsitemoperasiWindows

Setelah itu, lanjutkan jalannya proses instalasi dengan mengikuti Wizard dan menggunakanpilihanpilihandefaultinstalasi. Jika proses instalasi telah selesai, klik Finish untuk keluar dari proses instalasi. Apabila semua proses berjalan dengan sukses, maka pada Desktop Windows dan StartMenudariWindowsakanterdapatShortcutdariRsepertipadaGambar1.2. berikutini.

sht90

PaketStatistikR

Gambar1.2.ShortcutdariR

Langkah terakhir jika instalasi R telah selesai adalah melakukan pengecekan atau pengujianapakahprogramRdapatberjalandenganbaik.Lakukanklikduakalipada shortcut R di Desktop atau pada Start Menu. Jika instalasi berlangsung dengan baik,makajendelaprogramRakanterbukasepertiyangterlihatpadaGambar1.3.

Gambar1.3.JendelaawalprogramR,jikainstalasiberjalansukses

JikaselesaibekerjadenganR,makauntukkeluardariRdapatdilakukandengandua cara,yaitu:

1. Ketikkanq()padacommandlinediRconsole,yaitu >q() 2. PilihmenuFile,pilihExit,dankemudianklikYespadadialogSaveWorkspace Image.

sht90

PaketStatistikR

1.5. GUIRCommanderdanInstalasinyadalamSistemOperasiWindows
Pada awalnya, interaksi utama antara pengguna dengan R adalah bersifat Command Line Interface (CLI). Dengan demikian, untuk dapat menggunakan R di perlukan penyesuaianpenyesuaian bagi pengguna yang telah terbiasa dengan fasilitas Point and Click Graphical User Interface (GUI). Untungnya, pada saat ini telah tersedia beberapaGUIsederhanauntukkeperluanbeberapaanalisisstatistikatertentu,khusus nyayangberkaitandenganmanajemendatadiR.LibraryRcommanderyangterdiridari Rcmdr, RcmdrPlugin.TechingDemos, RcmdrPlugin.epack, RcmdrPlugin.HH, dan RcmdrPlugin.FactoMineR,merupakanlibrarytambahandariRuntukmemfasilitasiGUI yangdapatdigunakanuntukberbagaianalisisstatistikadasar. Instalasi libray Rcommander dapat dilakukan apabila filefile library di atas sudah didownload dari server CRAN. Jika instalasi untuk R telah selesai dan berjalan sukses,makalangkahlangkahuntukintalasiRcommanderadalahsebagaiberikut: 1. Pertama, jalankan program R sampai jendela program R terbuka (seperti yang terlihatpadaGambar1.3diatas).

2. UntukmenginstalRcommander,pilihmenuPackages,pilihInstallpackage(s)from localzipfiles.KemudianarahkanlokasipadadialogLookinkedirektoridimana file Rcmdr_1.310.zip, RcmdrPlugin.HH_1.15.zip, RcmdrPlugin.epack_1.01.zip, RcmdrPlugin.TechingDemos_1.310.zip, RcmdrPlugin.FactoMineR_1.00.zip. Pilih semuafiletersebut,sepertiyangterlihatpadajendeladialogpadaGambar1.4.

Gambar1.4.JendeladialoguntukinstalasiRcommander

sht90

PaketStatistikR

Kemudian klik Open, maka R akan menginstal paket Rcommander yang ditandai dengandialogberikutpadajendelaRconsole.

>utils:::menuInstallLocal() package 'RcmdrPlugin.TeachingDemos' successfully unpacked and MD5 sums checked package'Rcmdr'successfullyunpackedandMD5sumschecked package'RcmdrPlugin.epack'successfullyunpackedandMD5sumschecked package 'RcmdrPlugin.FactoMineR' successfully unpacked and MD5 sums checked package'RcmdrPlugin.HH'successfullyunpackedandMD5sumschecked updatingHTMLpackagedescriptions >

3. PaketRcommanderdapatdijalankandenganduacarayangberbeda,yaitu:

Dengan mengetikkan perintah library(Rcmdr) pada jendela Rconsole dan menekanEntersatukali.

>library(Rcmdr)

MemilihmenuPackages,pilihLoadpackagedankemudianmemilihRcmdr pada daftar paket library yang telah terinstal, seperti yang terlihat pada Gambar1.5.

Gambar1.5.JendeladialoguntukmenjalankanRcommander

sht90

PaketStatistikR

Apabila proses instalasi paket Rcommander berjalan dengan sukses, maka paket RcommandertersebutakandiloadingdanmunculsepertipadaGambar1.6berikut ini.

Gambar1.6.JendelaawaldaripaketlibraryRcommander

Pada saat ini, bahasa yang digunakan dalam paket Rcommander sudah ada yang dalam bahasa Indonesia sebagai hasil pengembangan dan kontribusi statistisi di Indonesia. 4. Untuk keluar dari paket Rcommander dan sekaligus R dapat dilakukan dengan memilihmenuFile,pilihKeluar,danklikpadapilihanDariCommanderdanRyang tersediadijendelaRcommander.

1.6. ManajemenDirektoriKerjadiR
CarakerjadariRadalahsamadenganSplus,yaitubekerjadengansatudirektori untuk satu projek. R akan menyimpan file image dari semua obyek atau internal data dan history dari semua perintah yang pernah diketikkan di jendela Rconsole pada direktorikerjasecaraotomatisataudefaultdenganfileberekstensi.Rdata.Lokasi

sht90

PaketStatistikR

default dari direktori kerja R adalah direktori C:\Program Files\R\R2.7.2. Untuk keperluan pekerjaan seharihari yang menggunakan R akan lebih baik jika dilakukan padadirektoritersendiri,misalnyadirektoridengannamayangsesuaidenganpekerjaan yangdijalankan.Dengandemikianakanmemudahkandalammelihathistorydanobyek yangberhubungandenganpekerjaantersebut.

1.6.1. Mengubahlokasidirektorikerjaatauworkspace
Berikut ini adalah langkahlangkah yang dapat digunakan untuk membuat direktorikhususdarisuatupekerjaandenganmenggunakanR. Misalkan kita telah mempunyai direktori C:\Kerja_dg_R (buatlah direktori ini jika belum ada). Langkah pertama, buatlah satu direktori baru di C:\Kerja_dg_R dengan nama direktori Nama_Pekerjaan, misalkan Kerja1. Dengan demikian, padatahapinidiperolehsuatudirektoribaruyaitu C:\Kerja_dg_R\Kerja1.

BuatlahcopydarishortcutprogramRdidesktopwindow,danrenameshortcutini sebagai shortcut Kerja1. Sehingga di desktop window muncul shortcut Kerja1 sepertiGambar1.7berikutini.

Gambar1.7.ShortcutdidesktopwindowdengannamaKerja1

Kemudian arahkan mouse pada shortcut tersebut dan klik kanan. Pilih Properties danganti informasipadakolomStartin menjadi C:\Kerja_dg_R\Kerja1 seperti yangterlihatpadaGambar1.8,setelahituklikOK.

Untuk mengetahui perubahan lokasi direktori kerja di R, lakukan klik dua kali pada icon shortcut Kerja1 untuk menjalankan R. Sebagai ilustrasi sederhana, ketikkan beberapabarisperintahberikutinisetelahjendelaRterbuka.

>x=1:15 >y=x+5 >x [1]123456789101112131415 >y [1]67891011121314151617181920

sht90

PaketStatistikR

C:\Program Files\R\R-2.7.2\bin\Rgui.exe

Gambar1.8.PerubahanlokasidirektorikerjakeC:\Kerja_dg_R\Kerja1

Setelah mengetikkan beberapa baris perintah di atas, lakukan keluar dari R dengan memilihmenuFile/Exit. Padadialogpertanyaan Save workspaceimage?, klik pada pilihan YES. Sekarang, jika dilakukan browsing di direktori C:\Kerja_dg_R\Kerja1 makaakanditemukansatufilebernama.Rdatayangmerupakannamadefaultfileimage daridirektorikerja,danfileyanglainbernama.Rhistoryyangmerupakannamadefault darifileyangberisikanhistorydarisemuaperintahyangpernahdiketikkan.Keduafileini secara default akan diloading oleh R pada saat dijalankan untuk suatu sesi pekerjaan. History dan data dari suatu sesi terakhir (yang telah tersimpan sebelum keluar) dapat diakses pada jendela Rconsole dengan menggunakan tanda panah ke atas dan ke bawah.

sht90

PaketStatistikR

1.6.2. Menyimpanimagedirektorikerja
Pada bagian sebelumnya telah dijelaskan bagaimana semua obyek yang digunakan dalam satu sesi pemakaian R, yaitu mulai dibukanya program R sampai ditutup kembali, akan disimpan secara default ke dalam file .Rdata. Supaya filefile pekerjaan lebih terorganisir, R memberikan fasilitas tambahan untuk menyimpan data atauobyek yang digunakandalamsetiap sesiR ke dalam file workspacetertentu yang memiliki ekstensi .Rdata. Filefile ini selanjutnya dapat diload kembali jika diperlukan. Sebagai contoh, jalankan program R dan ketikkan beberapa perintah berikut ini ke dalamjendelaRconsole.

>x=1:15 >y=x+5 >x [1]123456789101112131415 >y [1]67891011121314151617181920

Prosespenyimpanandataatauobyek,yaituxdanysepertiyangtertulisdiatas, kedalamdirektoriC:\Kerja_dg_R\Kerja1dengannamafilecoba1.Rdatadapatdilakukan dengan menggunakan menu File, dan pilih Save Workspace . Selanjutnya lakukan keluar dari R, dan pilih No (yang berarti tidak menyimpan imag dari file kerja) pada dialogSaveWorkspaceImage?SekarangjalankankembaliprogramR,makadataatau obyekdifilecoba1.Rdatadapatdiloadkembalidenganmenggunakanduamacamcara, yaitu: PilihmenuFile,danpilihLoadWorkspace,dansetelahitupilihfiledidirektori C:\Kerja_dg_R\Kerja1dengannamacoba1.Rdata

GunakanperintahberikutpadajendelaRconsole

>load("C:\\Kerja_dg_R\\Kerja1\\Coba1.RData") >objects() [1]"x""y" >x [1]123456789101112131415 >y [1]67891011121314151617181920

DarijendelakotakRconsolediatasdapatdilihatbahwasemuaobyekyangdikerjakan pada sesi sebelumnya telah berhasil diload kembali. Dengan cara yang sama, semua historydariperintahpadasuatusesidapatdisimpanmelaluimenuFile,danpilihSave

sht90

PaketStatistikR

History . Untuk melakukan load kembali history pada sesi sebelumnya yang sudah tersimpan ini, dapat dilakukan dengan melalui menu File, dan pilih Load History , kemudianpilihnamafilehistoryyangakandipanggilkembalitersebut.HistorydarisesiR yang telah diload ini dapat diakses dengan menggunakan tanda panah ke atas dan ke bawah.

1.7. Fasilitashelp
Secara umum ada beberapa fasilitas help dari R yang dapat diakses dengan berbagaicara,antaralain: Mencarihelpdarisuatuperintah(command)tertentu Menggunakanhelpsearchengine OnlineSearchEngine

1.7.1. Mencarihelpdarisuatuperintah(command)tertentu
Adabeberapaperintahyangdapatdigunakanuntukmencarihelpataubantuan terhadap suatu fungsi atau perintah dari R yang telah diketahui namanya. Sebagai contoh, jika ingin diketahui secara detail tentang suatu perintah atau fungsi R yang bernama plot, maka pada jendela Rconsole dapat diketikkan salah satu perintah berikutini,yaitu:

>help(plot) >?plot

Jendela help yang sama dapat juga diperoleh dengan menggunakan menu dengan pilihanHelp, dan pilihR function (text)dan setelahjendeladialogmuncul,ketikkan kataplotsepertiyangterlihatpadaGambar1.9berikutini.

Gambar1.9.Jendeladialoghelpuntuksuatufungsiatauperintah

10

sht90

PaketStatistikR

Setelah salah satu dari perintah di atas dijalankan, maka akan ditampilkan bagian dari jendela help dari perintah plot seperti yang terlihat pada Gambar 1.10 berikutini.

Gambar1.10.Hasilpencarianhelpuntuksuatufungsiplot Penjelasandarijendelahasilpencarianhelpuntukfungsiplotiniadalahsebagaiberikut: Ada dua kolom jendela yang muncul, yaitu kolom kiri tentang index dari fungsi atau perintah yang dicari (misal plot), dan kolom kanan adalah hasil atau penjelasandaripencarianfungsiyangingindiketahui.

Pada bagian kiri atas kolom jendela hasil help adalah tentang keterangan nama dari perintah atau fungsi yang sedang ditampilkan dan nama paket atau library yangmemuatperintahtersebut.Dalamcontohdiatas,untukperintahplotdapat dilihatbahwaperintahplotinitersimpandalampaketataulibrarygraphics..

Padasetiapjendelahelpdarisuatuperintahsecaraumumakanmemuatbagian bagianberikut:

Description:uraiansingkattentangperintahtersebut Usage:uraiantentangsyntaxperintahuntukpenggunaanperintahtersebut. Arguments:uraiantentangargumenargumenyangdiperlukandarifungsi atauperintahtersebut. Details:uraianyanglebihlengkap(daripadayangdiberikanpadabagian description)tentangperintahtersebut.

11

sht90

PaketStatistikR

Values:uraiantentangoutputperintahtersebut. Author(s):uraiantentangauthordariperintahtersebut. References:uraiantentangreferensiyangdapatdigunakanuntuk memperolehketeranganlebihlanjutdariperintahtersebut. Seealso:bagianiniberisidaftarperintahataufungsiyangberkaitan eratdenganperintahtersebut. Example:bagianiniberisicontohcontohpenggunaanperintahtersebut.

1.7.2. Menggunakanhelpsearchengine
Metodepencarianhelplainyangdapatdilakukanadalahdenganmenggunakan pencarianterhadapkatakunci.Beberapametodeyangdapatdilakukanuntuktujuan inidapatdijelaskansepertiberikutini. a.Menggunakanperintahapropos(katakunci) Perintah ini dapat digunakan untuk memperoleh daftar perintahperintah dari semua paketatau library yangtelah terinstal pada sistem Ryang memuat suatukata kunci.Berikutiniadalahcontohhasilperintahapropos(plot).

>apropos("plot") [1]".__C__recordedplot" [4]"barplot.default" [7]"boxplot.default" [10]"coplot" [13]"lag.plot" [16]"mosaicplot" [19]"plot.density" [22]"plot.lm" [25]"plot.spec" [28]"plot.stepfun" [31]"plot.window" [34]"qqplot" [37]"savePlot" [40]"sunflowerplot" >

"assocplot" "biplot" "boxplot.stats" "fourfoldplot" "matplot" "plot" "plot.design" "plot.mlm" "plot.spec.coherency" "plot.ts" "plot.xy" "recordPlot" "screeplot" "termplot"

"barplot" "boxplot" "cdplot" "interaction.plot" "monthplot" "plot.default" "plot.ecdf" "plot.new" "plot.spec.phase" "plot.TukeyHSD" "preplot" "replayPlot" "spineplot" "ts.plot"

Dari hasil jendela di Rconsole tersebut dapat dilihat output yang memuat kata kunci plotdalamsuatunamaperintah.Outputyangdiperolehakanberbedadantergantung padalibraryyangterinstalpadakomputer. Output yang sama dapat pula diperoleh dengan menggunakan menu utama pada pilihan Help, kemudian pilih Apropos dan selanjutnya ketik plot pada jendela dialogsepertiyangterlihatpadaGambar1.11berikutini.

12

sht90

PaketStatistikR

Gambar1.11.JendeladialogAproposuntukpencariansuatuperintah

b.Menggunakanperintahhelp.search(katakunci) Perintah ini akan melakukan pencarian terhadap sebuah string bernama kata kuncidisemuapaketataulibraryyangtelahterinstalpadasistemR.Berikutiniadalah contohperintahhelp.search(plot)padajendelaRconsole.

>help.search("plot")

HasildariperintahtersebutdapatdilihatpadaGambar1.12berikutini.

Gambar1.12.Hasilpencarianhelpdenganperintahhelp.search(plot)

13

sht90

PaketStatistikR

Dari hasil untuk contoh di atas dapat dilihat keterangan nama perintah atau fungsi besertanamapaketataulibrary(katayangdidalamkurung)yangmemuatstringplot. Output yang diperoleh akan berbeda dan tergantung pada library yang terinstal pada komputer. Output yang sama dapat pula diperoleh dengan menggunakan menu utama pada pilihan Help,kemudian pilih Searchhelp dan selanjutnyaketik plot padajendela dialogsepertiyangterlihatpadaGambar1.13berikutini.

Gambar1.13.JendeladialogSearchhelpuntukpencariansuatuperintah

c.Menggunakanversihtmldarijendelahelp Tampilan dari help dalam versi html dapat diperoleh melalui fungsi atau perintah help.start() pada jendela Rconsole. Selain itu, jendela help dalam html ini dapatpuladibukamenggunakanmenupadapilihanHelp,dankemudianpilihHtmlhelp. Berikutiniadalahcontohhelp.start()padajendelaRconsole.

>help.start()

HasildariperintahtersebutdapatdilihatpadaGambar1.14.Beberapaketeranganatau uraiandarihasiljendelahelpversihtmladalahsebagaiberikut: Pada bagian Manuals, diperoleh daftar link dari semua file manual dalam versi htmldariR.Versifilepdfdarifilemanualinidapatdiaksesmelaluimenuutama Help,danpilihaManuals(inPdf)dariR.

Pada bagian Reference terdiri dari dua informasi utama, yaitu tentang Package yang berisi daftar semua paket atau library yang telah diinstal pada sistem, dan tentang Search Engine & Keywords yang dapat digunakan untuk pencarian kata kunci(keywords)dalamsemuapaketataulibraryyangtelahdiinstaldalamsistem Ryangadadikomputer.

14

sht90

PaketStatistikR

PadabagianMiscellaneousMaterialterdiridaribeberapalinkbeberapainformasi tambahanyangpentinguntukdiketahuilebihlanjut.

Gambar1.14.Hasilpencarianhelpdalamversihtmldenganperintahhelp.start()

1.7.3. OnlineSearchEngine
Informasi tentang R secara online dapat dicari dengan menggunakan search engine di alamat http:\\cran.rproject.org\search.html. Pada alamat tersebut dapat diperolehsemuainformasitentangRyangadadalamsitusCRAN,informasisemuapaket ataulibraryyangtersediauntukR,danditambahinformasiyangtersediapadaarchive mailinglistrhelp@stat.math.ethz.ch.

15

sht90

ManajemendatadiPaketR

BAB2 MANAJEMENDATADIPAKETR

Manajemendatayangmeliputidataentry,edit,importdanexport,merupakan suatulangkahyangpentingdalamanalisisstatistika.Adabeberapamacamdanukuran datayangdapatdiolahmenggunakanR.Secaraumum,minimaladaduamacambentuk data yang dapat diolah, yaitu data yang dimasukkan langsung lewat R editor melalui keyboard, dan data yang sudah ditulis menggunakan Program Sheet lain, seperti Text, SPSS, MINITAB, Access ataupun dBase. R menyediakan dua cara untuk melakukan manajemen data, yaitu menggunakan RGUI dan melalui command line di Rconsole. Pada bab ini, pembahasan tentang manajemen data difokuskan yang melalui RGUI, khususnyapemakaianRCommander.

2.1. DataEntrymenggunakanRGuidenganRCommander
Padatahapawal,aktifkankembaliprogramRdenganmengklikiconshortcutnya. KemudianloadlibraryRCommanderdenganmengetikkanperintahlibrary(Rcmdr)pada jendela Rconsole, dan tunggu sampai RCommander selesai diloading. Jika proses berjalansuksesmakaakannampakjendelaRCommandersepertipadaGambar2.1.

Gambar2.1.JendelaawaldaripaketlibraryRcommanderyangsuksesdiloading

16

sht90

ManajemendatadiPaketR

PengisiandatasecaralangsungviaRdenganmenggunakanRcommanderdapat dilakukan melalui menu Data, dan pilih Dataset baru . Setelah itu, jendela dialog pengisiannamadatasetakanditampilkan,sepertiyangterlihatpadaGambar2.2.Pada kotakdialognamadataset,tuliskanlatihan1sebagainamadatasetbarutersebut.

Gambar2.2.Jendeladialogpengisiannamadataset KemudianklikOK,danjendelaRGuiDataEditorakanterbukasepertipadaGambar2.3 berikutini.

Gambar2.3.JendelaRGuiDataEditoruntukpengisiandata Pengisiannamavariabeldilakukandengancaraklikpadakolompalingatasdari data editor. Sebagai contoh, untuk mengisikan nama variabel pertama, misalnya responden,klikpadavar1.KemudianpadajendelaVariableeditorsepertiyangterlihat pada Gambar 2.4, isikan responden sebagai variable name dan tipe data adalah character(karenayangakandiisikanpadakolominiadalahnamanamaresponden).

17

sht90

ManajemendatadiPaketR

Gambar2.4.JendelaVariableeditoruntukpengisiannamavariabel Sebagailatihan,isikandatatentangnamamahasiswa,nilaiUANtigamatapelajaran,dan IPKsemester1,berikutinikedalamRDataeditor.

Responden Adi Budi Dany Eka Fery Nuri Rury

Matematika 8.0 7.6 6.9 8.9 9.5 7.3 6.5

BIndonesia 9.1 8.8 8.1 9.2 9.6 8.7 7.5

BInggris 8.4 8.5 7.2 9.0 9.5 7.9 8.2

IPK1 3.35 3.02 2.90 3.42 3.75 3.26 2.76

Padadasarnya,prosespengisiandatainiadalahsamadenganpaketstatistikyanglain, yaitu mulai isiannama kolom dan tipe data yangdiinputkan (numeric ataucharacter). Setelah semua data selesai diinputkan, maka akan diperoleh tampilan Data Editor sepertiberikutini.

Gambar2.5.JendelaDataEditorsetelahsemuadataselesaidiisikan

18

sht90

ManajemendatadiPaketR

Setelah dilakukan data entry, maka tutup jendela R Data Editor diatas untuk mengakhiri proses data entry. Pada jendela RCommander terlihat Data set yang dengan nama latihan1 saat ini sedang aktif, seperti yang terlihat pada Gambar 2.6. Untuk menampilkan data yang sedang aktif di Jendela Keluaran RCommander, tulis namadatasetyaitulatihan1diJendelaSkrip,kemudianklikKirim,makaakanterlihat datasepertiberikutini.

Gambar2.6.JendelaRCommandersetelahdilakukanprosesentrydata

2.2.MenampilkandatayangsedangaktifdiRCommander
Untukmenampilkandatayangsedangaktifdimemori,lakukandenganmengklik tombolLihatdataset.Setelahitujendeladataakandibukadanmenampilkandatayang sedangaktifdimemorikomputersaatini,yaitudatalatihan1berikutini.

Gambar2.7.Jendeladatalatihan1yangsedangaktifdimemori

19

sht90

ManajemendatadiPaketR

2.3.EditingdatadiRCommander
Untuk melakukan editing terhadap data latihan1, lakukan dengan mengklik tombolEdit data set.Setelah itujendelaData Editor akandibukakembali,danproses editingdatadapatlangsungdilakukanpadadatadatayangsalahketik.Jikaeditingtelah selesai dilakukan, tutup jendela Data Editor untuk kembali ke jendela Rcommander. HasileditingyangtelahdilakukandapatdilihatdenganklikpadatombolLihatdataset.

2.4.ImportingdatadiRCommander
Seperti yang telah dijelaskan pada bagian sebelumnya, secara umum proses data entry di RCommander dapat dilakukan dengan dua macam cara, yaitu dilakukan langsung melalui Data Editor dan melalui import data dari format data yang diberikan olehprogramlain.ProgramyangformatdatanyadapatdibacaolehRadalahdatadari fileteksatauclipboard,datasetSPSS,datasetMINITAB,datasetSTATA,datadariExcel, Access,ataudBase,sepertiyangterlihatpadajendelamenuberikut.

Gambar2.8.JendelaImpordatapadaRCommander Pada bagian berikut ini akan dijelaskan penggunaan impor data dari Excel, SPSS, dan MINITAB. Untuk file dari program yang lain, proses impor data melalui RCommander dapat dilakukan secara sama dengan cara mengimpor data dari program Excel, SPSS, ataupunMINITAB.

2.4.1.ImportingdatafileExceldiRCommander
MisalkansajadatafileExcelbelumada,danakandibuatterlebihdahulu.Buka programExcel,setelahituisikandatatentangrespondendiatassehinggadiperolehdata ExcelsepertiyangterlihatpadaGambar2.9.

20

sht90

ManajemendatadiPaketR

Gambar2.9.JendeladatapadaExcelyangakandiimporkeR Langkah selanjutnya, simpan file ini sebagai file text (yaitu tab delimited txt), dengan nama data1.txt di direktori C:\Kerja_R\. Untuk mengimpor data file ini kedalam RCommander,pilihlahpadaRCommandermenuData,pilihImpordata,dankemudian pilihdarifileteksatauclipboard.Padajendeladialogyangmuncul,isikaninformasi namauntukdataset,namavariabel,danlainlain,sepertiberikutini.

Gambar2.10.JendeladialogImpordatadarifileteksatauclipboard

21

sht90

ManajemendatadiPaketR

Dalam hal ini, data hasil impor akan disimpan kedalam RCommander dengan nama latihan2. Data ini diimpor dengan Pemisah Field/Medan adalah spasi. Klik OK, kemudian akan muncul untuk melakukan browsing ke lokasi dari file teks yang akan diimpor.ArahkankedirektoriC:\Kerja_R\danpilihfiledata1.txt.KemudianklikOpen, maka sekarang data yang berada pada file data1.txt telah diimpor kedalam R Commanderdengan nama latihan2.Sekarang, data set yang aktif pada RCommander adalahlatihan2sepertiyangterlihatpadaGambar2.11.GunakantombolLihatdataset untukmelihathasilimpordataini.

Gambar2.11.Jendeladialoghasilimpordatadanlatihan2sebagaidatasetaktif

2.4.2.ImportingdatafileSPSSdiRCommander
Proses impor data eksternal yang telah disimpan sebagai file SPSS, dapat dilakukan dengan memilih pada RCommander menu Data, pilih Impor data, dan kemudianpilihdaridatasetSPSS.Padajendeladialogyangmuncul,isikaninformasi namauntukdataset(misallatihan3)sepertiberikutini.

Gambar2.12.JendeladialogImporDatasetSPSS

22

sht90

ManajemendatadiPaketR

KlikOK,danselanjutnyaarahkankedirektoritempatpenyimpananfileSPSSyangakan diimpor, misalkan saja di C:\Kerja_R\ dengan nama data2.sav. Kemudian klik Open, maka data hasil impor dari file data2.sav akan disimpan kedalam file latihan3. Pada jendelaRCommanderterlihatdatasetlatihan3sedangaktif,sepertipadaGambar2.13. KliktombolLihatdatasetuntukmelihathasilimpordataini.

Gambar2.13.Jendeladialoghasilimpordatadanlatihan3sebagaidatasetaktif

2.4.3.ImportingdatafileMINITABdiRCommander
Proses impor data eksternal yang telah disimpan sebagai file MINITAB adalah ekuivalendenganimpordatateksatauSPSSsebelumnya,yaitudapatdilakukandengan memilih pada RCommander menu Data, pilih Impor data, dan kemudian pilih dari datasetMinitab.Padajendeladialogyangmuncul,isikaninformasinamauntukdata set(misallatihan4)sepertiberikutini.

Gambar2.14.JendeladialogImporDatasetMINITAB

Klik OK, dan selanjutnya arahkan ke direktori tempat penyimpanan file MINITAB yang akandiimpor,misalkansajadiC:\Kerja_R\dengannamadata3.MTP(MinitabPortable Worksheet,lakukanpadasaatsaveasdiMinitab).KemudianklikOpen,makadatahasil impor dari file data3.MTP akan disimpan kedalam file latihan4. Pada jendela R Commander terlihat data set latihan4 sedang aktif, seperti pada Gambar 2.15. Klik tombolLihatdatasetuntukmelihathasilimpordataini.

23

sht90

ManajemendatadiPaketR

Gambar2.15.Jendeladialoghasilimpordatadanlatihan4sebagaidatasetaktif

2.5.Memilihdatasetyangaktif
Pemilihan dataset yang aktif pada RCommander dapat dilakukan dengan menggunakan menu Data, pilih Dataset aktif, dan kemudian klik Pilih dataset aktif sepertiberikutini.

Gambar2.16.Jendeladialoguntukmemilihmenudatasetyangsedangaktif

24

sht90

ManajemendatadiPaketR

Selanjutnya, pilihlah dataset yang ingin diaktifkan dengan melakukan klik pada nama datasetyangdipilih,kemudianklikOKsepertiberikutini.

Gambar2.17.Jendeladialoguntukmemilihdatasetyangsedangaktif

2.6.Transformasidatasetataupengaturanvariabelpadadataset
AdabeberapamenuuntuktransformasidatasetpadaRCommander,antaralain recode atau kode ulang peubah, compute atau hitung peubah baru, standarisasi peubah,dan lainnya.Secaralengkap,transformasi datasetyangdapatdilakukandapat dilihatpadaGambar2.18.

Gambar2.18.Beberapamenuuntukmelakukantransformasidataset

2.6.1.Recodeataukodeulangpeubah
Kodeulangpeubahmerupakanpilihanmenupertamapadapengaturanvariabel dataset. Misalkan saja akan dilakukan recode atau kode ulang pada variabel IPK dari datasetlatihan4.

25

sht90

ManajemendatadiPaketR

RangenilaiIPK <3.00 3.003.50 >3.50

Nilaikodebaru 1 2 3

Langkahlangkahpengkodeandapatdilakukansebagaiberikut. BukamenurecodedenganmemilihmenuDatapadaRCommander,kemudianpilih Atur peubah pada dataset aktif, dan selanjutnya pilih Kode ulang peubah . Selanjutnyaakandiperolehtampilansepertiberikut.

Gambar2.19.JendelapilihanKodeulangPeubah Kemudianarahkankevariabelipk,dannamakanhasilrecodesebagaiipk_recode. Informasipengkodeandapatdijelaskandenganmenggunakaninformasiberikut: 0.00:2.99 = 1 3.00:3.49 = 2 else = 3 Klik OK, dan sekarang jika dilihat pada dataset latihan4, akan diperoleh variabel baruyaituipk_recodeyangberisikandatahasilpengkodeanulangdariipk.Lakukan denganklikLihatdataset,sehinggadiperolehtampilandatasepertiberikut.

26

sht90

ManajemendatadiPaketR

Gambar2.20.JendeladatahasilKodeulangPeubahipkmenjadiipk_recode

2.6.2.Computeatauhitungpeubahbaru
Pilihanmenuhitung peubah barudapatdigunakanuntukmembentukvariabel baruyangmerupakanfungsidarivariabelyangsudahada.Misalkansajaakandilakukan transformasi terhadap variabeltinggipadadataset latihan4 menjadi variabel lain yang dengannamatinggi_compute,yaitutinggi:100. Langkahlangkahtransformasiiniadalahsebagaiberikut. Pertamatama, aktifkan dataset yang akan dilakukan transformasi compute, yaitu latihan4padaRCommander. BukamenuHitungpeubahbarudenganmemilihmenuData,kemudianpilihAtur peubahpadadatasetaktif,danselanjutnyapilihHitungpeubahbaru.Selanjutnya akandiperolehtampilansepertipadaGambar2.21. Selanjutnyaisikantinggi_computepadakolomNamapeubahbarudantinggi/100 padakolomEkspresiuntukdihitungsepertiyangterlihatpadaGambar2.21. Klik OK, dan sekarang jika dilihat pada dataset latihan4, akan diperoleh variabel baru yaitu tinggi_compute yang berisikan data hasil transformasi compute pada variabeltinggi.LakukandenganklikLihatdataset,sehinggadiperolehtampilandata baru pada kolom terakhir yaitu tinggi_compute yang merupakan hasil bagi dari variabeltinggidengan100.

27

sht90

ManajemendatadiPaketR

Gambar2.21.JendelapilihanHitungpeubahbaru

Pengaturanatautransformasilainpadadatasetyangaktifdapatpuladilakukan dengan menjalankan menu Data, pilih Atur peubah pada dataset aktif, dan arahkan padatransformasiyangakanditerapkan.Bagianinihanyamenjelaskanduatransformasi awal dari pilihan menu yang ada, yaitu recode dan compute. Transformasi lain yang dapatdilakukanpadaRCommanderadalah:

Tambahkanbanyaknyapengamatankedataset Standarisasipeubah Konversipeubahnumerikkefaktor Binpeubahnumerik Aturulanglevelfaktor Definisikankontrasdanfaktor Namakanulangpeubah Hapuspeubahdaridataset

28

sht90

ManajemenDatadiRdenganCommandLine

BAB3 MANAJEMENDATADIRDENGANCOMMANDLINE

Pada R, data yang ada dipandang sebagai suatu objek yang memiliki suatu attributesatausifat.Sifatdataditentukanolehtypedatadanmodedata.Adaberbagai typedatayangdikenalolehR,antaralainvektor,matriks,list,dataframe,array,factor, dan function (builtin command). Sedangkan mode data yang dikenal R ada 4 macam sepertiyangterlihatpadaTabel3.1berikutini.

Tabel3.1.EmpatmacammodedatayangdikenalR
Mode Numeric ContohperintahdiCommandLine >23 >c(2.3,2,1.3,3.2) >data.bulan=c(1,2,3,4,5,6,7,8,9,10,11,12) >1+5i >sqrt(as.complex(5)) >c(T,F,F,T,T,F,F,T,T,T) >data.tahun>1998 >c(Budi,Wati,Rony,Naily) >c(F,T,2)

Complex Logical Character

Nama objekdalamRharusdimulaidenganhuruf,ditambahdengankombinasi darihurufbesar,hurufkecil,angkadantitik.Penggunaantitikbiasanyadilakukanuntuk memudahkan pengorganisasian data. Berikut ini adalah beberapa contoh dari nama objekyangvalid. databudi data.budi data.budi.1 data.budi.5 data.budi.no7.02.02.08

Contohdarinamaobjekyangtidakvalid(invalid)adalahsebagaiberikut: 1databudi databudi databudi=1 :dimulaidariangka :operatortidakdapatdigunakan :operator=tidakdapatdigunakan

Dalam R versi 2.7.2 ini, assignment dapat digunakan dengan operator < dan =. Untuk melihat isi dari suatu data objek, dapat dilakukan dengan mengetikkan nama objektersebutdiRpromptpadaRconsole.

29

sht90

ManajemenDatadiRdenganCommandLine

3.1.JenisjenisDataObjek
Pada bagian ini akan dijelaskan beberapa jenis data objek pada R, yaitu data arraysatudimensiataudatavektor,datamatriks,dataframe,dandatalist.

3.1.1.DataArraySatuDimensiatauDataVektor Vektor merupakan suatu array atau himpunan bilangan, character atau string, logicalvalue,danmerupakanobjekpalingdasaryangdikenaldalamR.Padadatavektor harusdigunakanmodetunggalpadadata,sehinggagabunganduadataataulebihyang berbedamodetidakdapatdilakukankedalamsatuobjekvektor.Jikainidilakukan,maka Rakanmengubahdatakemodeyanglebihumum,seperticontohberikutini.

>c(T,1:10) [1]112345678910 >c("A",F,T) [1]"A""FALSE""TRUE" >c("A",2,4,F,T) [1]"A""2""4""FALSE""TRUE" >x=c(1:10) >x [1]12345678910 >mode(x) [1]"numeric" >length(x) [1]10

Pada contoh pertama dapat dilihat bahwa pada command line menghasilkan vektor yang semua data diubah menjadi mode numerik, sedangkan pada contoh kedua dan ketigamenghasilkanvektoryangsemuadatanyadiubahmenjadimodekarakter.Untuk mengetahuimodesuatuobjekvektordapatdilakukandenganmenggunakancommand modesepertipadacontohdiatas.Jumlahataupanjangdatayangbertipevektordapat diketahuidenganmemanfaatkanfungsilength(perhatikancontohdiatas). Ekstraksi sebagian data vektor dapat dilakukan dengan berbagai cara atau langkah. Dalam praktek analisis data statistik, ekstraksi ini biasanya dilakukan untuk pembentukandatabaruberdasarkandatayangsudahada.Berikutiniadalahbeberapa contohhasilekstraksidarisuatudatavektoryangterdiridari10elemen,yaitu10,5,14, 12,8,11,9,10,16,20.

30

sht90

ManajemenDatadiRdenganCommandLine

>x=c(10,5,14,12,8,11,9,10,16,20) >x#untukmelihatsemuaelemenobjekvektorx [1]10514128119101620

>x[2]#menampilkanelemenkedua [1]5

>x[c(1,3,7)]#menampilkanelemenke1,3,7 [1]10149

>x[c(2,8)]#menampilkansemuaelemenkecualielemenke2,8 [1]10141281191620

>x[x>10]#menampilkansemuaelemenyanglebihbesardari10 [1]1412111620

>y=x[x>10]#menyimpanvektorygelemennyalebihbesardari10dgnnamay >y [1]1412111620

3.1.2.DataMatriks Matriks atau data array dua dimensi adalah salah satu tipe data yang banyak digunakandalampemrogramanstatistik.SebagianbesarfungsifungsistatistikdalamR dapat dianalisis dengan menggunakan bentuk matriks. Bentuk matriks ini juga banyak digunakanpadaoperasifungsifungsibuiltinuntukaljabarlineardalamR,sepertiuntuk penyelesaiansuatupersamaanlinear. Proses entry data matriks dilakukan dengan menggunakan fungsi matrix. Argumen yang diperlukan adalah elemenelemen dari matriks, dan argumen optional yaitu banyaknya baris nrow dan banyaknya kolom ncolom. Sebagai contoh, gunakan perintahperintahberikutinipadaRconsole.

>matriks.1=matrix(c(1,2,3,4,5,6),nrow=2,ncol=3) >matriks.2=matrix(1:6,nrow=2,ncol=3) >matriks.3=matrix(1:6,nrow=2) >matriks.4=matrix(1:6,2) >matriks.1 [,1][,2][,3] [1,]135 [2,]246

Keempatperintahdiatasakanmenghasilkanmatriksyangsama.Untukmengetahuinya ketikkan matriks.2, matriks.3, matriks.4, dan kemudian enter untuk masingmasing perintahtersebut.

31

sht90

ManajemenDatadiRdenganCommandLine

PadaR,datasecaradefaultakandiisikankolomperkolomsepertiyangterlihat padacontohberikutini.
>data=c(6.4,8.8,7.5,5.3,7.6,9.5) >data [1]6.48.87.55.37.69.5

>matriks.a=matrix(data,nrow=3,ncol=2) >matriks.a [,1][,2] [1,]6.45.3 [2,]8.87.6 [3,]7.59.5

Pengisian matriks menurut baris perbaris dapat dilakukan dengan menggunakan argumen optional byrow=T pada command matrix. Berikut ini adalah contoh tentang penggunaanargumentersebut.

>matriks.b=matrix(data,nrow=3,ncol=2,byrow=T) >matriks.b [,1][,2] [1,]6.48.8 [2,]7.55.3 [3,]7.69.5

>dim(matriks.a) [1]32

>length(matriks.a) [1]6

>mode(matriks.a) [1]"numeric"

Dimensi, length dan mode dari suatu matriks dapat dilihat dengan menggunakan perintahdim,length,danmodesepertipadacontohdiatas.Perludiingatbahwasemua elemendarimatriksharusmemilikimodeyangsama.Jikahal initidakdipenuhi,maka elemenelemenakandiubahmenjadimodeyangpalingumum.

Adabeberapaoperatoryangbiasadigunakanuntukoperasimatriksdanvektor, antara lain perkalian, invers matriks, transpose matriks dan crossproduct. Ringkasan darioperatoroperatorinidapatdilihatpadaTabel2.2.

32

sht90

ManajemenDatadiRdenganCommandLine

Tabel3.2.Operatoruntukoperasimatriksdanvektor
Operator * %*% %o% solve t crossprod Keterangan Perkalianelemendemielemendarimatriks Perkalianmatriks Outer Inversdarisuatumatriks Transposedarisuatumatriks Crossproductsuatumatriks,yaitut(x)%*%x

Berikutiniadalahbeberapacontohhasilpenggunaanoperatorpadasuatumatriksdan vektor.

>a=1:5 >a [1]12345

>a*a#perkalianelemendemielemendarimatriksa [1]1491625

>crossprod(a)#crossproduckdarimatriksa,yaitut(a)%*%a [,1] [1,]55

>b=matrix(c(1:4),2) >b [,1][,2] [1,]13 [2,]24

>b*b#perkalianelemendemielemendarimatriksb [,1][,2] [1,]19 [2,]416

>b%*%b#perkalianmatriksbdenganmatriksb [,1][,2] [1,]715 [2,]1022

>solve(b)#inversdarimatriksb [,1][,2] [1,]21.5 [2,]10.5

33

sht90

ManajemenDatadiRdenganCommandLine

Pada R, dapat pula dilakukan penggabungan satu kolom atau satu baris baru kedalam matriks lain. Hal ini dapat dilakukan dengan menggunakan perintah rbind (untukmenambahkankebaris)dancbind(untukmenambahkankekolom).Perhatikan contohcontohberikutini.

>a=matrix(c(3,4,5,6,7,8),2,3) >a [,1][,2][,3] [1,]357 [2,]468

>a1=cbind(a,c(1,2))#menambahkankekolomke4daria >a1 [,1][,2][,3][,4] [1,]3571 [2,]4682

>a2=cbind(c(1,2),a)#menambahkankekolomke1daria >a2 [,1][,2][,3][,4] [1,]1357 [2,]2468

>a3=rbind(a,c(1,2,3))#menambahkankebariske3daria >a3 [,1][,2][,3] [1,]357 [2,]468 [3,]123

>a4=rbind(c(1,2,3),a)#menambahkankebariske1daria >a4 [,1][,2][,3] [1,]123 [2,]357 [3,]468

3.1.3.DataFrame Data frame merupakan objek yang mempunyai bentuk sama dengan matriks, yaitu terdiri atas baris dan kolom. Perbedaannya adalah data frame dapat terdiri atas mode data yang berbedabeda untuk setiap kolomnya. Misalkan saja, kolom pertama adalahnumeric,kolomkeduaadalahstring/character,dankolomketigaadalahlogical. Objekdataframedapatdibuatdenganmenggunakanperintahdata.frame,sepertipada contohcontohberikutini.

34

sht90

ManajemenDatadiRdenganCommandLine

>data.frame(c(1:4),c(T,T,F,F)) c.1.4.c.T..T..F..F. 11TRUE 22TRUE 33FALSE 44FALSE

>data.frame(nomer=c(1:4),jawaban=c(T,T,F,F))#adanamakolom nomerjawaban 11TRUE 22TRUE 33FALSE 44FALSE

>cobaframe=data.frame(c(1:4),c(T,T,F,F))#simpanobjekdicobaframe >cobaframe c.1.4.c.T..T..F..F. 11TRUE 22TRUE 33FALSE 44FALSE

>names(cobaframe)[1]="nomer"#namakolomke1nomer >names(cobaframe)[2]="jawaban"#namakolomke2jawaban >cobaframe nomerjawaban 11TRUE 22TRUE 33FALSE 44FALSE

>cobaframe1=data.frame(c(1:4),c(T,T,F,F)) >cobaframe1 c.1.4.c.T..T..F..F. 11TRUE 22TRUE 33FALSE 44FALSE

>names(cobaframe1)=c("nomer","jawaban")#berinamakolom >cobaframe1 nomerjawaban 11TRUE 22TRUE 33FALSE 44FALSE

35

sht90

ManajemenDatadiRdenganCommandLine

Secaraumum,perintahperintahdiatasadalahekuivalendenganperintahberikutini.

>cobaframe2=data.frame(nomer=c(1:4),jawaban=c(T,T,F,F)) >cobaframe2 nomerjawaban 11TRUE 22TRUE 33FALSE 44FALSE

Seperti pada data vektor, ekstraksi sebagian data pada matriks dan data frame dapat puladilakukandenganberbagaicaraataulangkah.Berikutiniadalahbeberapacontoh hasilekstraksidarisuatumatriksdandataframe.
>matriks.1=matrix(1:9,3) >dataframe.1=data.frame(nomer=1:4,nama=c("Adi","Budi","Cika","Dony"), nilai=7:10) >matriks.1 [,1][,2][,3] [1,]147 [2,]258 [3,]369

>matriks.1[2,2] [1]5

>dataframe.1 nomernamanilai 11Adi7 22Budi8 33Cika9 44Dony10

>dataframe.1[2,2] [1]Budi Levels:AdiBudiCikaDony

>dataframe.1["nama"] nama 1Adi 2Budi 3Cika 4Dony

36

sht90

ManajemenDatadiRdenganCommandLine

3.1.4.DataList Datalistmerupakanobjekyangpalingumumataugeneraldanpalingfleksibeldi dalamR.Listadalahsuatuvektorterurutdarisekumpulankomponen.Setiapkomponen dapat berupa sembarang data objek, yaitu vektor, matriks, data frame, atau data list sendiri.Tiapkomponenpadadatalistdapatmempunyaimodeyangberbeda.Datalist dapatdibuatdenganmenggunakanperintahlist.Berikutiniadalahcontohpendefinisian danpemakaianelemenlist.

>list(c(1:3),c(T,F,T,T),data.frame(nama=c("Budi","Cika","Dony"),nilai=c(8:10))) [[1]] [1]123 [[2]] [1]TRUEFALSETRUETRUE [[3]] namanilai 1Budi8 2Cika9 3Dony10 >datalist.1=list(nomer=c(1:3),jawaban=c(T,F,T,T),nilaiframe=data.frame(nama =c("Budi","Cika","Dony"),nilai=c(8:10))) >datalist.1 $nomer [1]123 $jawaban [1]TRUEFALSETRUETRUE $nilaiframe namanilai 1Budi8 2Cika9 3Dony10

Seperti pada jenisjenis data sebelumnya, ekstraksi sebagian data pada data list dapat puladilakukandenganberbagaicaraataulangkah.Berikutiniadalahbeberapacontoh hasilekstraksidarisuatudatalist.

37

sht90

ManajemenDatadiRdenganCommandLine

>datalist.1[1]#mengaksesnamadanelemenpertama $nomer [1]123 >datalist.1[[1]]#mengakseselemenpertama [1]123 >datalist.1$nomer#mengakseselemenpertamaberdasarkannamanya [1]123 >datalist.1$jawaban#mengakseselemenkedua [1]TRUEFALSETRUETRUE >datalist.1$nilaiframe#mengakseselemendataframe namanilai 1Budi8 2Cika9 3Dony10 >datalist.1$nilaiframe$nama [1]BudiCikaDony Levels:BudiCikaDony

3.2.ImportingDatapadaCommandLine
Secaraumum,prosesimportingdatapadaRdapatdilakukandenganduacara, yaitumenggunakanperintahperintahdicommandlinedanmenggunakanfasilitasGUI RCmdr (lihat bagian 2.1 sebelumnya). Pada bagian ini akan dijelaskan penggunaan perintahpadacommandlineuntukimportingdata.

3.2.1.MembacaFileASCII Suatu file ASCII biasanya terdiri dari bilanganbilangan yang dipisahkan meng gunakan spasi, tab, tanda akhir baris atau tanda baris baru, serta pembatas yang lain. MisalkandatafileASCIIyangdibuatdiNOTEPADdengannamalatihan5.txtberisidata sepertiberikutini.

50 28 75 35 49 64 88 94 54 34 28 56 87 42 33 67 31 98 58 47 37 66 64 25 66 35 87 58 93 86 69 29 96 86 57 80

38

sht90

ManajemenDatadiRdenganCommandLine

Anggap bahwa file ASCII dengan nama latihan5.txt ini sudah tersimpan pada direktori kerja R. Proses impor data dapat dilakukan dengan perintah scan dan latihan5.txt sebagai argumennya. Apabila data tidakberada padadirektori kerjaR, maka tulisjuga direktori tersebut pada argumennya. Berikut ini adalah contoh proses impor data file ASCII.
>scan("latihan5.txt") Read36items [1]50287535496488945434285687423367319858473766642566 [26]3587589386692996865780

>data5.scan=scan("latihan5.txt") Read36items

>data5.scan [1]50287535496488945434285687423367319858473766642566 [26]3587589386692996865780

>matrix5.scan=matrix(scan("latihan5.txt"),6) Read36items

>matrix5.scan [,1][,2][,3][,4][,5][,6] [1,]508887586669 [2,]289442473529 [3,]755433378796 [4,]353467665886 [5,]492831649357 [6,]645698258680

>data6.scan=scan("c:\\Kerja_R\\latihan5.txt") Read36items

>data6.scan [1]50287535496488945434285687423367319858473766642566 [26]3587589386692996865780

3.2.2.ImportingDataFileExcel Data file Excel dengan ekstensi .XLS dapat diimpor secara langsung meng gunakanfasilitasGUIRCmdr(lihatbagiansebelumnya).Untukdapatdiimporkedalam R dengan fasilitas command line, maka data file Excel harus terlebih dulu diubah menjadiformatTextTabDelimited(ekstensi.TXT)atauCSVcommadelimited(ekstensi .CSV). Setelah itu, data ini dapat diimpor menggunakan perintah read.table atau read.csv.

39

sht90

ManajemenDatadiRdenganCommandLine

Misalkan saja data file Excel yang akan diimpor adalah seperti pada gambar berikutinidantelahdisimpanmenjadifiledata1.txtataudata1.csv.

Gambar3.1.Jendeladata1.txtpadaExcelyangakandiimporkeR Proses impordata1.txtdapatdilakukandenganperintahread.table,sedangkan,impor data1.csv dilakukan dengan perintah read.csv. Argumen optional header=T digunakan dengan tujuan agar R menggunakan baris pertama dari file sebagai header atau nama darivariabel.Sepertipadabagiansebelumnya,apabiladatatidakberadapadadirektori kerjaR,makatulisjugadirektoritersebutpadaargumennya.Berikutiniadalahcontoh prosesimpordatafiledenganekstensi.TXTdan.CSV.
>latihan2<read.table("data1.txt",header=TRUE)#atau >latihan2<read.table("c:\\Kerja_R\\data1.txt",header=TRUE)#atau >latihan2<read.table("c:/Kerja_R/data1.txt",header=TRUE)

>latihan2

1 2 3 4 5 6 7

Responden Matematika BIndonesia BInggris IPK1 Adi 8.0 9.1 8.4 3.35 Budi 7.6 8.8 8.5 3.02 Dany 6.9 8.1 7.2 2.90 Eka 8.9 9.2 9.0 3.42 Fery 9.5 9.6 9.5 3.75 Nuri 7.3 8.7 7.9 3.26 Rury 6.5 7.5 8.2 2.76

40

sht90

ManajemenDatadiRdenganCommandLine

>latihan3<read.csv("data1.csv",header=TRUE) >latihan3 1 2 3 4 5 6 7

Responden.Matematika.BIndonesia.BInggris.IPK1 Adi;8;9.1;8.4;3.35 Budi;7.6;8.8;8.5;3.02 Dany;6.9;8.1;7.2;2.9 Eka;8.9;9.2;9;3.42 Fery;9.5;9.6;9.5;3.75 Nuri;7.3;8.7;7.9;3.26 Rury;6.5;7.5;8.2;2.76

3.2.3.ImportingDatadariPaketStatistik R mempunyai paket atau library foreign untuk melakukan importing data dari filedalamformatpaketstatistikayanglain.SampaisaatiniyangtersediapadaRadalah importingdatafiledaripaketpaketstatistikaberikut: MINITAB : gunakanperintahread.mtpuntukmembacafileMinitab PortableWorksheetataudatadenganekstensi.MTP. FileinidapatdibuatdiMINITABdenganperintahSAVEAS danpilihan.MTP : gunakanperintahread.spssuntukmembacafile.SAV. : gunakanperintahread.ssdatauread.xport. : gunakanperintahread.S : gunakanperintahread.dta : gunakanperinahread.systat : gunakanperintahread.epiinfountukmembacafile.REC.

SPSS SAS S+ STATA Systat Epiinfo

Pada bagian ini akan diberikan contoh hanya untuk mengimpor data file SPSS danMINITAByangseringkalidigunakandalamanalisisdatastatistik.Misalkandatafile SPSS yang sudah dimiliki diberi nama WORLD95.SAV dan telah disimpan di direktori kerjaR.ProsesimpordatainikedalamRdenganmenggunakanperintahcommandline adalahsebagaiberikut.

41

sht90

ManajemenDatadiRdenganCommandLine

>latihan4<read.spss("World95.sav",use.value.labels=TRUE, max.value.labels=Inf,to.data.frame=TRUE) >latihan4[,1:5]#hanyamenampilkan5kolompertamasaja 1 2 3 4 5 6

COUNTRY POPULATN DENSITY URBAN RELIGION Afghanistan 20500 25.0 18 Muslim Argentina 33900 12.0 86 Catholic Armenia 3700 126.0 68 Orthodox Australia 17800 2.3 85 Protstnt Austria 8000 94.0 58 Catholic Azerbaijan 7400 86.0 54 Muslim

Perintah use.value.labels=TRUE digunakan untuk mendapatkan variabel yang bertipe FACTORdenganvaluelabelsepertiyangadapadadatafilediSPSS. BerikutiniadalahprosesimpordatafileMINITABdalamekstensi.MTPkedalam Rdenganmenggunakanperintahcommandline.MisalkandatafileMINITAByangsudah dimilikiadalahFA.MTWdantelahdisimpankedalamekstensi.MTPmenjadiFA.MTP.

>latihan5<read.mtp("C:/Kerja_R/Fa.MTP")

>latihan5 $X [1]1081391114641275

$Y1 [1]8.046.957.588.818.339.967.244.2610.844.825.68

$Y2 [1]9.148.148.748.779.268.106.133.109.137.264.74

$Y3 [1]7.466.7712.747.117.818.846.085.398.156.425.73

$X4 [1]888888819888

$Y4 [1]6.585.767.718.848.477.045.2512.505.567.916.89

42

sht90

GrafikMenggunakanRCommander

BAB4 GRAFIKMENGGUNAKANRCommander

Pada bab ini akan dibahas penggunaan RCommander untuk membuat penyajianstatistikdeskriptifdarisuatukumpulandata.Fokusutamaadalahpembuatan beberapamacambentukgrafikyangbanyakdigunakandalamanalisisdata. Sebagai langkah awal, buka kembali program R dengan mengklik icon R 2.7.2. Kemudian, ubah direktori dimana file workspace berada. Misalkan file latihan4.RData (hasil impor data SPSS dengan nama file WORLD95.SAV) ada di C:\Kerja_R, maka direktori diubah ke C:\Kerja_R. Load file workspace tersebut dengan menggunakan menuFile,pilihLoadWorkspacesepertipadagambarberikutini.

Gambar4.1.JendeladialoguntukLoadWorkspace SetelahdiklikLoadWorkspacemakajendelaRakanmemberikanpilihandirektoridan file workspace mana yang akan ditampilkan, seperti yang terlihat pada Gambar 4.2. Pilihlahfileworkspacelatihan4.RDatayangadadidirektoriC:\Kerja_R.

43

sht90

GrafikMenggunakanRCommander

Gambar4.2.Jendeladialoguntukpilihanfileworkspaceyangakandiaktifkan LangkahselanjutnyaadalahmengaktifkanRcommanderdenganmenggunakan perintahlibrary(Rcmdr).Setelahitu,aktifkandatasetdenganmenggunakanmenuData, klikDatasetaktif,danPilihdatasetaktifsepertiyangditampilkanpadaGambar4.3.

Gambar4.3.Jendeladialoguntukmemilihdatasetyangakandiaktifkan

44

sht90

GrafikMenggunakanRCommander

DaribeberapapilihanDatasetsyangada,kliklatihan4sebagaifileworkspaceyangakan diaktifkan,sepertipadaGambar4.4.Dengandemikian,prosespengaktifankembalidata latihan4 sudah dilakukan, dan proses analisis data baik secara statistik deskriptif atau inferensdapatdilakukan.

Gambar4.4.Jendeladialoguntukpilihandatasetyangakandiaktifkan

4.1.GrafikdalamRGUI
R menyediakan banyak menu pilihan grafik pada RCommander, antara lain Histogram, Diagram Batang dan Daun, Boxplot, dan lainlain. Secara lengkap pilihan grafikyangtersediadapatdilihatpadagambarberikutini.

Gambar4.5.JendeladialoguntukpilihanGrafikpadaRCommander

45

sht90

GrafikMenggunakanRCommander

4.2.GrafikHistogram
Menu yang digunakan untuk membuat grafik histogram adalah Grafik, pilih Histogram . Misalkan akan dibuat histogram untuk variabel LIFEEXPF (usia harapan hidup wanita di suatu negara), maka pada jendela dialog yang muncul, pilih LIFEEXPF sepertipadaGambar4.5.IsikanjumlahintervalyangdiinginkanpadakolomBanyaknya bin,danklikOKuntukmenampilkanoutputhistogramnya.

Gambar4.5.Jendeladialogpilihanvariabeluntukpembuatanhistogram

OutputhistogramuntukdataLIFEEXPFyangdiperolehdariperintahdiatasdapatdilihat pada Gambar 4.6. Dalam contoh ini, digunakan metode auto untuk pemilihan jumlah interval,yaitumetodeSturgesdanCacahanFrekuensiyangdigunakanuntuknilai(Skala Sumbu) yang diplotkan pada histogram. Selain itu dapat digunakan pilihan Persentase atauKepadatanpadaSkalaSumbu. OutputhistograminidapatdisimpandenganmenggunakanmenuFile,danpilih Saveasdarijendelagrafik.Pilihlahoutputyangsesuai,misalkansajadalamformatPDF. Maka pilih format PDF dalam daftar format file output. Selanjutnya, beri nama file output dengan histogramLIFEEXPF.PDF. Selain itu, output histogram ini dapat pula disimpandalamformatMetafile,Postcript,Png,Bmp,danJpeg. Jikafilehistograminiingindikopiuntukdiinsertkedalamprogramlain,misalkan kedalamMicrosoftWord,makadapatdigunakanmenuFile,pilihCopytotheclipboard, danpilihasaBitmapatauCtrlC.Kemudian,bukaprogramMicrosoftWord,makafile grafikdapatdipastekanmenggunakanperintahCtrlV.

46

sht90

GrafikMenggunakanRCommander

Gambar4.6.OutputhistogrampadavariabelLIFESXPF

SelainmenggunakanmenudiRCommander,pembuatanhistogramdapatjuga dilakukan dengan command line di RConsole, yaitu dengan command hist diikuti argumenoptionalyangdiinginkan.Berikutadalahcontohpembuatanhistogramdengan commandlineuntukvariabelLIFEEXPFdanLIFEEXPM(usiaharapanhiduppriadisuatu negara).

>Hist(latihan4$LIFEEXPF,scale="frequency",breaks="Sturges",col="darkgray") >Hist(latihan4$LIFEEXPF,scale="frequency",breaks=10,col="darkgray") >hist(latihan4$LIFEEXPF) >#lihatperbedaanoutputhistogramyangdihasilkan >Hist(latihan4$LIFEEXPM,scale="frequency",breaks="Sturges",col="darkgray") >Hist(latihan4$LIFEEXPM,scale="frequency",breaks=10,col="darkgray") >hist(latihan4$LIFEEXPM)

47

sht90

GrafikMenggunakanRCommander

4.3.DiagramBatangdanDaun(StemandLeaf)
MenuyangdigunakanuntukmembuatdiagrambatangdandaunadalahGrafik, pilihSajianBatangdanDaun.Misalkanakandibuatdiagrambatangdandaununtuk variabel LIFEEXPF, maka pada jendela dialog yang muncul, pilih LIFEEXPF seperti pada Gambar4.7.

Gambar4.7.Jendeladialoguntukpembuatandiagrambatangdandaun

Isikanargumenoptionalyang diinginkan padakolomkolomyang tersedia, dan klik OK untuk menampilkan output diagram batang dan daun. Output dari diagram ini akan ditampilkandiJendelaKeluaranpadaRCommandersepertipadaGambar4.8. Outputtersebutmenjelaskanbahwabilanganpadadaunmenunjukkannilainilai satuan. Sehingga dapat diinterpretasikan bahwa usia harapan hidup wanita yang terendah adalah 43 tahun dan yang tertinggi adalah 82 tahun. Ada 3 (tiga) negara dengan usia harapan hidup wanitanya sebesar 82 tahun. Dalam contoh ini, pilihan Automatik menghasilkan diagram batang dan daun dengan jumlah kelas dalam setiap batangadalah5kelasinterval.

48

sht90

GrafikMenggunakanRCommander

>stem.leaf(latihan4$LIFEEXPF)
1 | 2: represents 12 leaf unit: 1 n: 109 LO: 43 44 44 45 45 46 47 9 5* | 00 12 t | 223 15 f | 455 17 s | 77 22 5. | 88889 6* | 23 t | 3 26 f | 455 32 s | 677777 39 6. | 8888899 45 7* | 000001 51 t | 222333 (14) f | 44444555555555 44 s | 66666777777888888888 24 7. | 9999999 17 8* | 00000001111111 3 t | 222

Gambar4.8.OutputdiagrambatangdandaunpadavariabelLIFESXPF

Pembuatandiagrambatangdandauninidapatjugadilakukandengancommand line di RConsole, yaitu dengan command stem.leaf diikuti argumen optional yang diinginkan. Berikut adalah contoh pembuatan diagram batang dan daun dengan commandlineuntukvariabelLIFEEXPFdanLIFEEXPM.

>stem.leaf(latihan4$LIFEEXPF) >stem.leaf(latihan4$LIFEEXPF,m=2) >stem.leaf(latihan4$LIFEEXPF,style="bare",unit=1) >#lihatperbedaanoutputdiagrambatangdandaunyangdihasilkan >stem.leaf(latihan4$LIFEEXPM) >stem.leaf(latihan4$LIFEEXPM,m=3) >stem.leaf(latihan4$LIFEEXPF,style="bare",unit=1)

49

sht90

GrafikMenggunakanRCommander

4.4.GrafikBoxPlot
R menyediakan pilihan Boxplot pada menu Grafik untuk membuat tampilan BoxPlot dari suatu data. Misalkan akan dibuat BoxPlot untuk variabel LIFEEXPF berdasarkan RELIGION (kelompok agama mayoritas di negara tersebut), maka pada jendeladialogyangmuncul,pilihLIFEEXPFsepertipadaGambar4.9.

Gambar4.9.JendeladialoguntukpilihanvariabeldalampembuatanBoxplot Setelah itu, pilih Plot dengan kelompok sehingga diperoleh tampilan jendela seperti padaGambar4.10.KlikRELIGIONsebagaivariabelkelompok,dankemudianklikOK.

Gambar4.10.JendeladialoguntukpilihanvariabelkelompokdalamBoxplot OutputdariBoxPlotyangdiperolehakanditampilkandiJendelaKeluaranpada RCommander seperti pada Gambar 4.11. Output tersebut menjelaskan bahwa usia harapan hidup wanita di negara dengan mayoritas penduduknya beragama Jewish (Yahudi)danProtestansecararatarataadalahpalingtinggidibandinglainnya.

50

sht90

GrafikMenggunakanRCommander

Gambar4.11.OutputBoxPlotpadavariabelLIFESXPFberdasarkanRELIGION

Command line di RConsole dapat juga digunakan untuk pembuatan BoxPlot, yaitu dengan command boxplot diikuti argumen optional yang diinginkan. Berikut adalahcontohpembuatanBoxPlotdengancommandlineuntukvariabelLIFEEXPFdan LIFEEXPMsendirisendiridanberdasarkanvariabelRELIGION.

>boxplot(latihan4$LIFEEXPF) >boxplot(latihan4$LIFEEXPM) >boxplot(LIFEEXPF~RELIGION,ylab="LIFEEXPF",xlab="RELIGION",data=latihan4) >boxplot(latihan4$LIFEEXPF~latihan4$RELIGION) >#lihatperbedaanoutputBoxPlotyangdihasilkan

4.5.GrafikQQPlot
QQPlot merupakan salah satu metode eksplorasi secara grafik yang dapat digunakan untuk menguji apakah suatu data berdistribusi normal. Untuk membuat grafik QQPlot, R menyediakan pilihan QQPlot pada menu Grafik. Misalkan akan dibuat QQPlot untuk variabel LIFEEXPF, maka pada jendela dialog yang muncul, pilih LIFEEXPFsepertipadaGambar4.12.

51

sht90

GrafikMenggunakanRCommander

Gambar4.12.JendeladialoguntukpilihanvariabeldalampembuatanQQPlot

Kemudian pilih LIFEEXPF dari daftar variabel dan gunakan distribusi normal sebagai distribusidefaultpadaQQPlot.KlikOK,makaakandiperolehgrafiksepertiberikut.

Gambar4.13.OutputQQPlotpadavariabelLIFESXPF

52

sht90

GrafikMenggunakanRCommander

BerdasarkanoutputpadaGambar4.13dapatdijelaskanbahwavariabelLIFEEXPFtidak berdistribusi normal dan data cenderung menceng ke kanan (ekor lebih panjang di bagiankiri).Haliniterlihatjelasjugadarigrafikhistogramnya(lihatGambar4.6). Command line di RConsole dapat juga digunakan untuk pembuatan QQPlot, yaitu dengan command boxplot diikuti argumen optional yang diinginkan. Berikut adalahcontohpembuatanBoxPlotdengancommandlineuntukvariabelLIFEEXPFdan LIFEEXPMsendirisendiridanberdasarkanvariabelRELIGION.
>qq.plot(latihan4$LIFEEXPF,dist="norm",labels=FALSE) >qq.plot(latihan4$LIFEEXPM,dist="norm",labels=FALSE)

4.6.GrafikDiagramPencar(ScatterPlot)
R menyediakan pilihan Diagram pencar pada menu Grafik untuk membuat tampilan ScatterPlot dari suatu data. Misalkan akan dibuat ScatterPlot untuk variabel LIFEEXPF sebagai sumbu Y dan variabel LOGGDP sebagai sumbu X. Gunakan default untukpilihanyanglain,sepertipadaGambar4.14.

Gambar4.14.JendeladialogpilihanvariabeldalampembuatanDiagramPencar

53

sht90

GrafikMenggunakanRCommander

Kemudian pilih LOG_GDP pada variabel X dan LIFEEXPF untuk variabel Y, dan klik OK sehinggadiperolehoutputgrafiksepertiberikutini.

Gambar4.15.OutputDiagramPencarantaravariabelLOG_GDPdanLIFESXPF

Pada output Diagram Pencar, diperoleh juga grafik BoxPlot dari setiap marginal variabel, dan garis regresi linear dan nonparametrik terbaik untuk menggambarkan hubunganantarakeduavariabelini. Command line di RConsole dapat juga digunakan untuk pembuatan Diagram Pencar di atas, yaitu dengan command scatterplot diikuti argumen optional yang diinginkan. Berikut adalah contoh pembuatan Diagram Pencar dengan command line untuk variabel LIFEEXPF sebagai sumbu Y, dan LOG_GDP sebagai sumbu X, seperti perintahdiRCommanderdiatas.

>scatterplot(LIFEEXPF~LOG_GDP,reg.line=lm,smooth=TRUE,labels=FALSE, boxplots='xy',span=0.5,data=latihan4)

54

sht90

GrafikMenggunakanRCommander

4.7.GrafikPlotRatarata(Mean)
R menyediakan pilihan Plot Rerata pada menu Grafik untuk membuat tampilan Plot Ratarata dari suatu data. Misalkan akan dibuat Plot Ratarata untuk variabelLIFEEXPFberdasarkanREGION(kelompokwilayahnegara),makapadajendela dialog yang muncul, pilih REGION dan LIFEEXPF seperti pada Gambar 4.16. Klik OK, sehinggadiperolehoutputsepertipadaGambar4.17.

Gambar4.16.JendeladialogpilihanvariabeldalampembuatanPlotRatarata

Gambar4.17.OutputPlotRataratavariabelREGIONdanLIFESXPF

55

sht90

GrafikMenggunakanRCommander

Pada output Plot Ratarata di atas dapat dilihat bahwa LIFEEXPF (usia harapan hidup wanita)yangterendahrataratanyaadalahpadanegaranegaradiAfrika. CommandlinediRConsoleuntukpembuatanPlotRatarataadalahcommand plotMeansdiikutiargumenoptionalyangdiinginkan.Berikutadalahcontohpembuatan PlotRataratadengancommandlineuntukvariabelLIFEEXPFdanREGION.

>plotMeans(latihan4$LIFEEXPF,latihan4$REGION,error.bars="se") >plotMeans(latihan4$LIFEEXPF,latihan4$REGION,error.bars="conf.int",level=0.95)

4.8.DiagramBatang(BarChart)
R menyediakan pilihan Diagram batang pada menu Grafik untuk membuat tampilanDiagramBatangdarisuatudata.MisalkanakandibuatDiagramBatanguntuk variabel REGION, maka pada jendela dialog yang muncul, pilih REGION seperti pada Gambar4.18berikutini.

Gambar4.18.JendeladialogpilihanvariabeldalampembuatanDiagramBatang Setelah itu klik OK, dan akan diperoleh output Diagram Batang seperti pada Gambar 4.19. Pada output tersebut dapat dilihat bahwa ada dua kelompok REGION terbesar, yaitunegaranegarayangtermasukdiregionalOECPdanAmerikaLatin. Command line di RConsole dapat juga digunakan untuk pembuatan Diagram Batang, yaitu dengan command barplot diikuti argumen optional yang diinginkan. BerikutadalahcontohpembuatanDiagramBatangdengancommandlineuntukvariabel REGION,sepertiperintahdiRCommanderdiatas.

>barplot(table(latihan4$REGION),xlab="REGION",ylab="Frequency")

56

sht90

GrafikMenggunakanRCommander

Gambar4.19.OutputDiagramBatangdarivariabelREGION

4.9.DiagramLingkaran(PieChart)
Tampilan Diagram Lingkaran pada paket R disediakan melalui pilihan Diagram lingkaranpadamenuGrafik.Misalkanakan dibuatDiagramLingkaranuntukvariabel REGION,makapadajendeladialogyangmuncul,pilihREGIONsepertipadaGambar4.20 berikutini.

Gambar4.20.JendeladialogpilihanvariabeldalampembuatanDiagramLingkaran Kemudian klik OK, dan akan diperoleh output Diagram Lingkaran seperti yang terlihat padaGambar4.21.

57

sht90

GrafikMenggunakanRCommander

Gambar4.21.OutputDiagramLingkarandarivariabelREGION

Command line di RConsole yang dapat digunakan untuk pembuatan Diagram Lingkaran adalah pie diikuti argumen optional yang diinginkan. Berikut adalah contoh pembuatan Diagram Lingkaran dengan command line untuk variabel REGION, seperti perintahdiRCommanderdiatas.

>pie(table(latihan4$REGION),labels=levels(latihan4$REGION),main="REGION", col=rainbow(length(levels(latihan4$REGION))))

4.10.PlotIndeks
Plot Indeks adalah suatu plot dari variabel menurut indeks atau urutan data. Plot ini dalam analisis data statistik lebih dikenal dengan Time Series Plot. R menyediakan pilihan Plot Indeks pada menu Grafik untuk membuat tampilan Plot Indeksdarisuatudata.PadaRCommanderinihanyatersediaduapilihantipedariplot, yaitu Paku dan Poin. Misalkan akan dibuat Plot Indeks untuk variabel LIFEEXPF, maka pada jendela dialog yang muncul, pilih LIFEEXPF seperti pada Gambar 4.22. Dalam hal ini, pilih tipe plot Paku, dan kemudian klik OK, sehingga diperoleh output Plot Indeks sepertiyangterlihatpadaGambar4.23.

58

sht90

GrafikMenggunakanRCommander

Gambar4.22.JendeladialogpilihanvariabeldalampembuatanPlotIndeks

Gambar4.23.OutputPlotIndeksdarivariabelLIFEEXPF

CommandlinediRConsoleyangdapatdigunakanuntukpembuatanPlotIndeks adalah plot diikuti argumen optional yang diinginkan. Jika akan menampilkan plot berupa garis, maka dapat digunakan pilihan type=l, yang berarti line atau garis. Berikut adalah contoh pembuatan Plot Indeks dengan command line untuk variabel LIFEEXPF.

59

sht90

GrafikMenggunakanRCommander

>plot(latihan4$LIFEEXPF,type="h") >plot(latihan4$LIFEEXPF,type="p") >plot(latihan4$LIFEEXPF,type="l",main="TimeSeriesPlotDataLIFEEXPF")

Berikut ini adalah output Plot Indeks pada variabel LIFEEXPF dengan pilihan tipe garis (line)yangdinotasikandenganl.

Gambar4.24.OutputPlotIndeksdarivariabelLIFEEXPFdengantype=l

60

sht90

FungsiDistribusiPeluangdiRCommander

BAB5 FUNGSIDISTRIBUSIPELUANGDIRCommander

PadababiniakandijelaskanpenggunaanRCommanderuntukperhitunganyang berkaitan dengan fungsi distribusi peluang. RCommander menyediakan menu untuk melakukan beberapa operasi standar yang berkaitan dengan fungsi distribusi peluang, yaitu: Perhitungannilaikuantil Perhitungannilaipeluang Pembuatanplotdistribusiataugrafikdensitas Pembuatanplotdistribusikumulatif Pembangkitandataataurandomdata Secara umum ada dua macam distribusi yang disediakan paket R, yaitu Distribusi KontinudanDiskrit.Untukmengetahuidistribusikontinuataudiskritapasajayangada di R, dapat dilakukan dengan memilih menu Distribusi, kemudian pilih Distribusi Kontinu, sehingga akan muncul pilihan dari berbagai distribusi kontinu yang ada di R, sepertiyangterlihatpadaGambar5.1.

Gambar5.1.JendeladialoguntukpilihanDistribusiKontinu Dari Gambar 5.1 dapat dilihat macammacam distribusi kontinu yang ada di R, yaitu Distribusi Normal, t, Chikuadrat, F, Eksponensial, Seragam, Beta, Cauchy, Logistik,LogNormal,Gamma,Weibull,danGumbel.Secaraumum,prosesperhitungan yang berkaitan dengan distribusi peluang untuk macammacam distribusi kontinu tersebutadalahrelatifsama.Untukitu,padababinifokuspembahasanhanyadiberikan padadistribusiyangbanyakdipakaidianalisisstatistikadasar,yaituDistribusiNormal.

61

sht90

FungsiDistribusiPeluangdiRCommander

Distribusi Diskrit yang disediakan di R dapat dilihat dengan memilih menu Distribusi,kemudianpilihDistribusiDiskrit,sehinggaakanmunculpilihandariberbagai distribusidiskrityang adadi R,sepertiyang terlihat padaGambar5.2.Dari gambar ini dapatdilihatbahwadistribusidiskrityangadadiRadalahDistribusiBinomial,Poisson, Geometrik,Hipergeometrik,danBinomialNegatif.

Gambar5.2.JendeladialoguntukpilihanDistribusiDiskrit

5.1.FungsiDistribusiKontinu
Pada bagian ini akan dijelaskan cara perhitungan berkaitan dengan fungsi distribusipeluang,yaituperhitungannilaikuantil,pembuatanplotataugrafikdensitas, pembuatan plot distribusi kumulatif, dan pembangkitan data dari distribusi kontinu, khususnya Distribusi Normal yang banyak digunakan dalam analisis statistika dasar. Secara umum, fungsi kepadatan probabilitas dari Distribusi Normal adalah sebagai berikut
f ( x) = 1 2
1 x e 2
2

,untuk < x <

denganparameter adalahnilairatarata,dan adalahdeviasistandar.

5.1.1.MenghitungKuantildariDistribusiNormal
PerhitungannilaikuantiltertentudariDistribusiNormaldapatdilakukandengan RCommander,yaitu gunakan menu Distribusi, pilihDistribusi Kontinu, pilih Distribusi Normal, dan kemudian klik Kuantil Normal . Setelah itu akan terlihat jendela pilihan untukmendapatkankuantilyangakandicarisepertipadaGambar5.3.

62

sht90

FungsiDistribusiPeluangdiRCommander

Gambar5.3.JendeladialoguntukperhitunganKuantilNormal Misalkanakandihitungnilaikuantil=0,05(5%)dariDistribusiNormalStandar, yaituingindicarinilai Z sedemikianhingga


P( Z Z ) = 0,05 (luasanlowertailatauekorbawah),

maka pada jendela isian Peluang tulis nilai 0.05. Dalam hal ini ratarata adalah 0 dan deviasistandar1.KemudianklikOK,sehinggaakandiperolehnilaipadajendelakeluaran RCommander yaitu Z 0,05 = 1.644854 .Pilihan ekor atas atauupper taildigunakanjika ingindicarinilai Z1 sedemikianhingga
P( Z Z1 ) = 1 (luasanuppertailatauekoratas).

Jika pilihan ekor atas yang digunakan, maka keluaran RCommander memberikan nilai 1.644854padajendelakeluarannya. SelainmenggunakanmenudiRCommander,perhitungankuantilnormaldapat juga dilakukan dengan command line di RConsole, yaitu dengan command qnorm diikuti argumen optional yang diinginkan. Berikut adalah contoh perhitungan kuantil normaldengancommandlineuntuk=0,05.

>qnorm(c(0.05),mean=0,sd=1,lower.tail=TRUE) [1]1.644854

>qnorm(c(0.05),mean=10,sd=2,lower.tail=TRUE) [1]6.710293

>qnorm(c(0.05),mean=0,sd=1,lower.tail=FALSE) [1]1.644854

>qnorm(c(0.05),mean=10,sd=2,lower.tail=FALSE) [1]13.28971

63

sht90

FungsiDistribusiPeluangdiRCommander

5.1.2.MenghitungPeluangdariDistribusiNormal
Perhitungan peluang dari suatu nilai tertentu dari Distribusi Normal dapat dilakukan dengan RCommander, yaitu gunakan menu Distribusi, pilih Distribusi Kontinu,pilihDistribusiNormal,dankemudianklikPeluangNormal.Setelahituakan terlihatjendelapilihanuntukmemperolehpeluangyangdicarisepertipadaGambar5.4 berikutini.

Gambar5.4.JendeladialoguntukperhitunganPeluangNormal Ada empat isian utama dari jendela dialog untuk perhitungan Peluang Normal, yaitu Nilai peubah, mu, sigma, dan pilihan Ekor bawah atau Ekor atas. Secara matematis, fasilitasinidapatdigunakanuntukmenghitung
P( X c) =?(luasanlowertailatauekorbawah),

dan
P( X c) =?(luasanuppertailatauekoratas),

darisuatupeubah(variabel)random X yangberdistribusiNormal,atau X ~ N ( , ) . MisalkanakandihitungnilaipeluangdariDistribusiNormalStandar,yaituingin dicarinilai


P( Z 3) =?(luasanlowertailatauekorbawah),

makapadajendelaisianNilaipeubahtulisnilai3.Dalamhaliniratarataadalah0dan deviasi standar 1. Klik OK, sehingga akan diperoleh nilai 0.001349898 pada jendela keluaranRCommander.Pilihanekoratasatauuppertaildigunakanjikaingindicarinilai
P( Z c) =?(luasanuppertailatauekoratas).

Jikapilihanekoratasyangdigunakandan c = 3 ,makakeluaranRCommanderjugaakan memberikannilai0.001349898padajendelakeluarannya.

64

sht90

FungsiDistribusiPeluangdiRCommander

Perhitungan peluang normal dapat juga dilakukan dengan command line di R Console, yaitu dengan command pnorm diikuti argumen optional yang diinginkan. Berikut adalah contoh perhitungan peluang normal dengan command line untuk berbagainilaipeubah.

>pnorm(c(3),mean=0,sd=1,lower.tail=TRUE) [1]0.001349898

>pnorm(c(6.710293),mean=10,sd=2,lower.tail=TRUE) [1]0.05000001

>pnorm(c(3),mean=0,sd=1,lower.tail=FALSE) [1]0.001349898

>pnorm(c(13.28971),mean=10,sd=2,lower.tail=FALSE) [1]0.04999986

5.1.3.MembuatPlotdariDistribusiNormal
PlotdariDistribusiNormalteoritisdenganrataratadandeviasistandartertentu dapatdilakukandenganRCommander,yaitugunakanmenuDistribusi,pilihDistribusi Kontinu,pilihDistribusiNormal,dankemudianklikPlotDistribusiNormal.Setelahitu akan terlihat jendela pilihan untuk mendapatkan plot distribusi normal teoritis yang ingindicarisepertipadaGambar5.5dibawahini.

Gambar5.5.JendeladialoguntukpembuatanPlotDistribusiNormal

Misalkan akan dibuat plot fungsi kepadatan peluang dari Distribusi Normal Standar,makapadajendelaisianmu(rerata)tulisnilai0dansigma(simpanganbaku)1. KlikpilihanPlotfungsikepadatan,dankemudianklikOK,sehinggaakandiperolehplot fungsikepadatandariDistribusiNormalStandarsepertipadaGambar5.6berikutini.

65

sht90

FungsiDistribusiPeluangdiRCommander

Gambar5.6.OutputplotfungsikepadatanDistribusiNormalStandar

Jika pilihan Plot fungsi distribusi (kumulatif) yang dipilih, maka akan diperoleh output plot fungsi distribusi kumulatif dari Distribusi Normal Standar seperti terlihat pada Gambar5.7.

Gambar5.7.OutputplotfungsidistribusikumulatifdariDistribusiNormalStandar

66

sht90

FungsiDistribusiPeluangdiRCommander

Pembuatan plot fungsi kepadatan dan fungsi distribusi kumulatif dapat juga dilakukan dengan command line di RConsole, yaitu dengan command dnorm (untuk plot fungsi kepadatan) dan command pnorm (untuk plot fungsi distribusi kumulatif) diikutiargumenoptionalyangdiinginkan.Berikutadalahcontohpembuatanplotfungsi kepadatandengancommandlineuntuksuatunilaipeubah.

>.x<seq(3.291,3.291,length=100) >plot(.x,dnorm(.x,mean=0,sd=1),xlab="x",ylab="Density", main=expression(paste("NormalDistribution:",mu,"=0,", sigma,"=1")),type="l") >abline(h=0,col="gray")

Sedangkan contoh pembuatan plot fungsi distribusi kumulatif dengan command line untuksuatunilaipeubahadalahsepertiberikut.

>.x<seq(4,4,length=100) >plot(.x,pnorm(.x,mean=0,sd=1),xlab="x",ylab="CumulativeProbability", main=expression(paste("NormalDistribution:",mu,"=0,", sigma,"=1")),type="l") >abline(h=0,col="gray") >#perhatikanperbedaanoutputyangdihasilkan

5.1.4.MembangkitkanDatadariDistribusiNormal
R menyediakan fasilitas untuk membangkitkan data yang mengikuti distribusi statistika tertentu. Misalkan akan dibangkitkan data yang mengikuti distribusi normal, makadapatdigunakanmenuDistribusi,pilihDistribusiKontinu,pilihDistribusiNormal, dan kemudian klik Sampel dari Distribusi Normal . Setelah itu akan terlihat jendela pilihanuntukpembangkitandatadaridistribusinormalsepertipadaGambar5.8. Sebagai contoh, akan dibangkitkan data sebanyak 15 baris dan 10 kolom yang mengikutiDistribusiNormalStandar,makatulisnamadatasethasildaridatabangkitan pada isian Masukkan nama untuk data set (misalkan dengan nama latihan5). Pada jendelaisianmu(rerata)tulisnilai0,sigma(simpanganbaku)1,Ukuransampel(baris) 15, dan Banyaknya pengamatan (kolom) 10. Jika ratarata sampel juga ingin ditambahkan, maka klik pada pilihan Rerata sampel, dan kemudian klik OK. Pilihan pilihanyanglain,yaituJumlahsampeldanDeviasibakusampeljugadapatditampilkan jikadiinginkan.

67

sht90

FungsiDistribusiPeluangdiRCommander

Gambar5.8.JendeladialoguntukmembangkitkandatadariDistribusiNormal

Untukmengetahuihasildatayangdibangkitkan,klikpilihanLihatdatasetpada RCommander, sehingga akan terlihat datadata hasil bangkitan seperti pada Gambar 5.9. Secara umum akan diperoleh 15 baris sampel dan 11 kolom data, yaitu 10 kolom datahasilbangkitandan1kolomterakhiryangberisirataratadarisetiapsampelyang dibangkitkan.

Gambar5.9.OutputdatahasilbangkitandariDistribusiNormalStandar

68

sht90

FungsiDistribusiPeluangdiRCommander

Pembangkitan data dari suatu distribusi statistika tertentu ini juga dapat dilakukan dengan command line di RConsole, yaitu dengan command rnorm (untuk Distribusi Normal) diikuti argumen optional yang diinginkan. Berikut adalah contoh pembangkitandatadengancommandlineuntukDistribusiNormaldenganrataratadan deviasistandartertentu.

>rnorm(15,mean=0,sd=1) [1]0.660257510.207162941.037686241.599514440.090306041.90549079 [7]1.687788430.083684230.964726230.103008760.272611010.16491906 [13]0.526977990.574489610.45865682 >latihan5<as.data.frame(matrix(rnorm(15*10,mean=0,sd=1),ncol=10)) >rownames(latihan5)<paste("sample",1:15,sep="") >colnames(latihan5)<paste("obs",1:10,sep="") >latihan5$mean<rowMeans(latihan5[,1:10]) >showData(latihan5,placement='20+200',font=getRcmdr('logFont'), maxwidth=80,maxheight=30) >#Bangkitkandatadansimpanhasilnyadalambentuksepertimatriks >as.data.frame(matrix(rnorm(15*5,mean=100,sd=10),ncol=5)) V1 V2 V3 V4 V5 1 84.46823 108.53078 104.05075 77.02379 91.55903 2 98.15929 93.74033 124.44052 80.38603 102.47690 3 95.00374 106.84794 104.09301 106.48609 97.34608 4 101.29297 118.54484 81.04212 98.63245 102.88233 5 98.92599 86.56266 86.52845 66.00474 90.27446 6 95.15418 102.50113 105.34845 79.55246 97.73824 7 106.38983 89.38471 85.31907 100.10805 91.51123 8 86.04483 104.22601 80.81650 101.08752 120.83886 9 84.41069 105.68604 91.14394 99.07307 99.37543 10 112.78286 104.58306 108.08592 109.01078 110.87053 11 109.17854 99.67204 97.54832 91.57182 104.02405 12 100.85442 98.14412 100.82436 97.54563 88.32492 13 111.41381 100.48431 103.03010 100.38959 101.00266 14 124.13427 101.54886 98.13771 102.57961 114.76246 15 93.99127 108.28097 107.97942 94.53939 86.20123 16 90.35201 123.02141 103.70384 95.25282 100.77538

SecaraumumRmenyediakanfasilitasuntukmembangkitkandatadariberbagai distribusi statistika yang kontinu. Daftar lengkap berkaitan dengan command line di R untuk membangkitkan data dari distribusi kontinu beserta argumen dan library yang diperlukandapatdilihatpadaTabel5.1.

69

sht90

FungsiDistribusiPeluangdiRCommander

Tabel5.1.DaftarfungsiR(commandline)untukmembangkitkandatayang mengikutisuatudistribusikontinutertentu
DistribusiKontinu Beta Cauchy Chisquared Eksponensial F Gamma Lognormal Logistic Normal Studentt Seragam(Uniform) Weibull MultivariateNormal FungsiR rbeta rcauchy rchisq rexp rf rgamma rlnorm rlogis rnorm rt runif rweibull mvrnorm Argumenyangdiperlukan n,shape1,shape2 n,location=0,scale=1 n,df n,rate n,df1,df2 n,shape,rate=1 n,mean,sd n,location=0,scale=1 n,mean,sd n,df n,min,max n,shape,scale=1 n=1,mu,Sigma library stats stats stats stats stats stats stats stats stats stats stats stats MASS

5.2.FungsiDistribusiDiskrit
Seperti pada bagianDistribusiKontinu,padabagianFungsiDistribusiDiskrit ini akan dijelaskan cara perhitungan berkaitan dengan fungsi distribusi peluang, yaitu perhitungannilaikuantil,pembuatanplotataugrafikdensitas,pembuatanplotdistribusi kumulatif, dan pembangkitan data dari suatu distribusi diskrit. Dalam hal ini, fokus pembahasan hanya diberikan pada Distribusi Binomial, sedangkan untuk distribusi diskrityanglaindapatdilakukandengancarayangrelatifsama. Secara umum, fungsi kepadatan probabilitas dari Distribusi Binomial adalah sebagaiberikut
n f ( x) = p x (1 p ) n x ,untuk x = {0,1,2, K , n) x

dengan n adalahbanyaknyapengamatanataupercobaanbinomial, p adalahpeluang sukses untuk suatu percobaan binomial, dan (1 p) adalah peluang gagal atau tidak suksesnya.Notasiuntukpeubahdandistribusinyaadalah X ~ B (n, p) .

70

sht90

FungsiDistribusiPeluangdiRCommander

5.2.1.MenghitungKuantildariDistribusiBinomial
Perhitungan nilai kuantil tertentu dari Distribusi Binomial dapat dilakukan dengan RCommander, yaitu gunakan menu Distribusi, pilih Distribusi Diskrit, pilih Distribusi Binomial, dan kemudian klik Kuantil Binomial . Setelah itu akan terlihat jendelapilihanuntukmendapatkankuantilyangakandicarisepertipadaGambar5.10.

Gambar5.10.JendeladialoguntukmenghitungKuantilBinomial

Misalkanakandihitungnilaikuantil=0,25(25%)dariDistribusiBinomialdengann=20 danp=0.5atau X ~ B(20,0.5) ,yaituingindicarinilai X sedemikianhingga


P( X X ) = 0,25 (luasanlowertailatauekorbawah).

Untuk mendapatkan kuantil di atas, maka pada jendela isian Peluang tulis nilai 0.25, TrialBinomial20,danPeluangSukses0.5.KemudianklikOK,sehinggaakandiperoleh nilaipadajendelakeluaranRCommanderyaitu X 0,25 = 8 ,yangberarti
P( X 8) = 0,25 .

Pilihan ekor atas (upper tail) digunakan jika akan dicari nilai X 1 sedemikian hingga
P( X X 1 ) = 1 (luasanuppertailatauekoratas).

Jika pilihan ekor atas yang digunakan, maka keluaran RCommander memberikan nilai 12padajendelakeluarannya,yangberarti
P( X 12) = 0,75 .

Perhitungan kuantil binomial dapat juga dilakukan dengan command line di R Console, yaitu dengan command qbinom diikuti argumen optional yang diinginkan. Berikutadalahcontohperhitungankuantilbinomialdengancommandlineuntuk=0,25 danyanglain.

71

sht90

FungsiDistribusiPeluangdiRCommander


>qbinom(c(0.25),size=20,prob=0.5,lower.tail=TRUE) [1]8

>qbinom(c(0.25),size=20,prob=0.5,lower.tail=FALSE) [1]12

>qbinom(c(0.75),size=20,prob=0.5,lower.tail=TRUE) [1]12

5.2.2.MenghitungPeluangdariDistribusiBinomial
Perhitungan peluang kumulatif untuk nilai tertentu dari Distribusi Binomial dapatdilakukandenganRCommander,yaitugunakanmenuDistribusi,pilihDistribusi Diskrit, pilih Distribusi Binomial, dan klik Peluang ujung Binomial . Setelah itu akan terlihatjendelapilihanuntukmemperolehpeluangyangdicarisepertiGambar5.11.

Gambar5.11.JendeladialoguntukmenghitungPeluangBinomialKumulatif

Misalkan akan dihitung nilai peluang dari Distribusi Binomial Kumulatif, yaitu ingin dicari nilai P( X 8) (luasan lower tail atau ekor bawah) dari Distribusi Binomial dengann=20danp=0.5,makapadajendelaisianNilaipeubahtulisnilai8.Dalamcontoh ini isikan Trial Binomial 20, dan Peluang Sukses 0.5. Klik OK, sehingga akan diperoleh nilai0.2517223padajendelakeluaranRCommander. Selain itu, R juga memberikan fasilitas untuk menghitung nilai peluang untuk suatunilaitertentu.Misalkanakandicari P( X = 8) dariDistribusiBinomialdengann=20 dan p=0.5. Untuk itu, pilih menu Distribusi, pilih Distribusi Diskrit, pilih Distribusi Binomial,danklikPeluangBinomial.IsikanTrialBinomial20,danPeluangSukses0.5. KlikOK,makaakanditampilkannilaipeluanguntuk X = 0,1,2, K ,20 .

72

sht90

FungsiDistribusiPeluangdiRCommander

Perhitungan peluang binomial dan peluang binomial kumulatif dapat juga dilakukan dengan command line di RConsole, yaitu dengan command pbinom (untuk peluang) dan pbinom (untuk peluang kumulatif) diikuti argumen optional yang di inginkan. Berikut adalah contoh perhitungan peluang binomial dan peluang binomial kumulatifdengancommandlineuntuknilainilaitertentu.

>dbinom(8,size=20,prob=0.5) [1]0.1201344 >pbinom(c(8),size=20,prob=0.5,lower.tail=TRUE) [1]0.2517223 >pbinom(c(8),size=20,prob=0.5,lower.tail=FALSE) [1]0.7482777 >pbinom(c(11),size=20,prob=0.5,lower.tail=FALSE) [1]0.2517223 >dbinom(0:20,size=20,prob=0.5) [1]9.536743e071.907349e051.811981e041.087189e034.620552e03 [6]1.478577e023.696442e027.392883e021.201344e011.601791e01 [11]1.761971e011.601791e011.201344e017.392883e023.696442e02 [16]1.478577e024.620552e031.087189e031.811981e041.907349e05 [21]9.536743e07 >.Table<data.frame(Pr=dbinom(0:20,size=20,prob=0.5)) >rownames(.Table)<0:20 >.Table Pr 09.536743e07 11.907349e05 21.811981e04 31.087189e03 44.620552e03 51.478577e02 63.696442e02 .. 164.620552e03 171.087189e03 181.811981e04 191.907349e05 209.536743e07

73

sht90

FungsiDistribusiPeluangdiRCommander

5.2.3.MembuatPlotdariDistribusiBinomial
Plot dari Distribusi Binomial teoritis dengan n dan p tertentu dapat dilakukan dengan RCommander, yaitu gunakan menu Distribusi, pilih Distribusi Diskrit, pilih Distribusi Normal, dan kemudian klik Plot Distribusi Binomial . Setelah itu akan terlihat jendela pilihan untuk mendapatkan plot distribusi binomial teoritis yang ingin dicarisepertipadaGambar5.12.

Gambar5.12.JendeladialoguntukmembuatPlotDistribusiBinomial

Misalkan akan dibuat plot fungsi kepadatan peluang dari Distribusi Binomial dengan n=20 dan p=0.5, atau akan ditampilkan secara grafik nilainilai dari f ( x) = P( X = x) untuk X ~ B(20,0.5) ,atau
20 f ( x) = 0,5 x (1 0,5) 20 x ,untuk x = {0,1,2, K ,20) . x

Untukmenampilkanitu,makapadajendelatulis20padaisianTrialBinomial,dantulis 0.5padaisianPeluangSukses. Setelah itu pilih plot yang akan dibuat, misalkan saja plot fungsi kepadatan peluang, maka klik pilihan Plot fungsi kepadatan peluang. Klik OK, sehingga akan diperolehplotfungsikepadatandariDistribusiBinomialdengann=20danp=0.5seperti padaGambar5.13.Darigambarinidapatdilihatbahwanilai f (x) terbesaradalahpada X = 10 ,yangsecaramatematisdapatdihitungsepertiberikut
20 f (10) = 0,510 (1 0,5) 2010 10

20 10 0,5 (0,5)10 10

= 0,1601 .

74

sht90

FungsiDistribusiPeluangdiRCommander

Gambar5.13.OutputplotfungsikepadatanDistribusiBinomialdengann=20danp=0.5

Jika pilihan Plot fungsi distribusi (kumulatif) atau F ( x) = P( X x) yang dipilih, maka akan diperoleh output plot fungsi distribusi kumulatif dari Distribusi Binomial dengann=20danp=0.5sepertipadaGambar5.14berikutini.

Gambar5.14.OutputplotfungsiDistribusiKumulatifBinomialdengann=20danp=0.5

75

sht90

FungsiDistribusiPeluangdiRCommander

Pembuatan plot fungsi kepadatan dan fungsi distribusi kumulatif dapat juga dilakukan dengan command line di RConsole, yaitu dengan command dnorm (untuk plot fungsi kepadatan) dan command pnorm (untuk plot fungsi distribusi kumulatif) diikuti argumen optional yang diinginkan. Berikut adalah contoh pembuatan plotplot tersebutdengancommandlineuntuksuatunilaipeubah.
>#Perintahuntukpembuatanplotfungsikepadatanbinomial

>.x<3:17 >plot(.x,dbinom(.x,size=20,prob=0.5),xlab="NumberofSuccesses", ylab="ProbabilityMass",main="BinomialDistribution:Trials=20, Probabilityofsuccess=0.5",type="h") >points(.x,dbinom(.x,size=20,prob=0.5),pch=16) >abline(h=0,col="gray")

>#Perintahuntukpembuatanplotfungsidistribusikumulatifbinomial

>.x<rep(.x,rep(2,length(.x))) >plot(.x[1],pbinom(.x,size=20,prob=0.5)[length(.x)], xlab="NumberofSuccesses",ylab="CumulativeProbability", main="BinomialDistribution:Trials=20,Probabilityofsuccess=0.5", type="l") >abline(h=0,col="gray")

5.2.4.MembangkitkanDatadariDistribusiBinomial
Seperti pada distribusi kontinu, R menyediakan fasilitas untuk membangkitkan data yang mengikuti distribusi diskrit tertentu. Misalkan akan dibangkitkan data yang mengikuti distribusi binomial, maka dapat digunakan menu Distribusi, pilih Distribusi Diskrit,pilihDistribusiBinomial,dankemudianklikSampeldariDistribusiBinomial. Setelah itu akan terlihat jendela pilihan untuk pembangkitan data dari distribusi binomialsepertipadaGambar5.15. Sebagai contoh, akan dibangkitkan data sebanyak 15 baris dan 5 kolom yang mengikuti Distribusi Binomial dengan n=20 dan p=0.5, maka tulis nama dataset hasil databangkitanpadaisianMasukkannamauntukdataset(misalkanBinomialSamples). Tulisangka20padakolomisianTrialBinomial,danangka0.5padaisianPeluangSukses. Selanjutnya,padapilihanUkuransampel(baris)ketikangka15dan5padaBanyaknya pengamatan (kolom). Jika ratarata sampel juga ingin ditambahkan, maka klik pada pilihan Rerata sampel, dan kemudian klik OK. Pilihanpilihan yang lain, yaitu Jumlah sampel dan Deviasi baku sampel juga dapat ditampilkan jika diinginkan, yaitu dengan melakukanklikpadakeduapilihantersebut.

76

sht90

FungsiDistribusiPeluangdiRCommander

Gambar5.15.JendeladialoguntukmembangkitkandatadariDistribusiBinomial

Untukmengetahuihasildatayangdibangkitkan,klikpilihanLihatdatasetpada RCommander, sehingga akan terlihat datadata hasil bangkitan seperti pada Gambar 5.16.Secaraumumakandiperoleh15barissampeldan6kolomdata,yaitu5kolomdata hasilbangkitandan1kolomterakhiryangberisirataratadarisetiapsampelbangkitan.

Gambar5.16.OutputdatahasilbangkitandariDistribusiBinomial(n=20danp=0.5)

77

sht90

FungsiDistribusiPeluangdiRCommander

Proses pembangkitan data dari suatu distribusi statistika yang diskrit ini juga dapat dilakukan dengan command line di RConsole, yaitu dengan command rbinom (untuk Distribusi Binomial) diikuti argumen optional yang diinginkan. Berikut adalah contoh pembangkitan data dengan command line untuk Distribusi Binomial dengan n danptertentu.

>rbinom(100,size=20,prob=0.5) [1]121291213688711117108912991010812899 [26]11812121113156111112810119811128131014121211 [51]121111121111717612961110788119108710116 [76]149129971012111412121313312121410108691515 >#Bangkitkandatabinomialdansimpanhasilnyadalammatriks

>matrix(rbinom(15*5,size=20,prob=0.5),ncol=5) [,1][,2][,3][,4][,5] [1,]13114148 [2,]111012810 [3,]131112810 [4,]1281199 [5,]1178710 [6,]1111101114 [7,]10911119 [8,]111212712 [9,]111210138 [10,]12812116 [11,]8118135 [12,]13119128 [13,]1399106 [14,]109111210 [15,]121012118 >BinomialSamples<as.data.frame(matrix(rbinom(15*5,size=20,prob=0.5),ncol=5)) >rownames(BinomialSamples)<paste("sample",1:15,sep="") >colnames(BinomialSamples)<paste("obs",1:5,sep="") >BinomialSamples$mean<rowMeans(BinomialSamples[,1:5]) >showData(BinomialSamples,placement='20+200',font=getRcmdr('logFont'), maxwidth=80,maxheight=30)

SecaraumumRmenyediakanfasilitasuntukmembangkitkandatadariberbagai distribusi statistika yang diskrit. Daftar lengkap berkaitan dengan command line di R untukmembangkitkandatadaridistribusidiskritbeserta argumendanlibraryyangdi perlukandapatdilihatpadaTabel5.2.

78

sht90

FungsiDistribusiPeluangdiRCommander

Tabel5.2.DaftarfungsiR(commandline)untukmembangkitkandatayang mengikutisuatudistribusidiskrittertentu

DistribusiDiskrit Binomial BinomialNegatif Geometrik Hipergeometrik Poisson

FungsiR rbinom rnbinom rgeom rhyper rpois

Argumenyangdiperlukan n,size,prob n,size,prob,mu n,prob nn,m,n,k n,lambda

library stats stats stats stats stats

Berikut ini adalah ringkasan fungsi kepadatan probabilitas dari distribusi diskrit yang disediakanRpadatabeldiatas. DistribusiBinomialNegatif f ( x) =
( x + n) n p (1 p) x ,untuk x = {0,1,2, K , n > 0} dan 0 < p 1 . (n) x!

Distribusi ini merepresentasikan banyaknya kegagalan yang terjadi dalam suatu barisanpercobaanBernoullisebelumsuatutargetdarisejumlahsuksesdicapai. DistribusiGeometrik f ( x) = p(1 p) x 1 ,untuk x = {1,2, K} dan 0 < p 1 . Distribusi ini merepresentasikan terjadinya sukses pertama kali pada percobaan ke x dalamsuatubarisanpercobaanBernoulli. DistribusiHipergeometrik
m n x k x f ( x) = ,untuk x = {0,1,2, K , k} . m + n k

Distribusi ini digunakan untuk sampling tanpa pengembalian. Fungsi kepadatan distribusi ini mempunyai parameter m (banyaknya objek group 1 yang berkaitan denganbanyaknyasukses), n (banyaknyaobjekgroup2),dan k (banyaknyaobjek yangdiambiltanpapengembalian). DistribusiPoisson f ( x) =
x e
x!

,untuk x = {1,2, K} dan =parameterratarata.

79

sht90

StatistikDeskriptifmenggunakanRCommander

BAB6 STATISTIKDESKRIPTIFMENGGUNAKANRCommander

Bab ini akan membahas penggunaan RCommander untuk membuat statistik deskriptif dari suatu kumpulan data, khususnya pembuatan ringkasan (summary) data dan pembuatan tabel. Ringkasan data difokuskan pada pembuatan statistik deskriptif, yaitu ukuranukuran pemusatan, penyebaran, kemiringan, keruncingan, dan lokasi dari datadata numerik (metrik). Sedangkan pembuatan tabel difokuskan pada datadata nonnumerik(nonmetrik). PaketRmenyediakanbeberapafasilitasberkaitandenganpembuatanringkasan dari data numerik dan nonnumerik. Secara lengkap fasilitas yang berkaitan dengan ringkasan data dapat dilihat pada Gambar 6.1. Dari gambar ini dapat dilihat bahwa fasilitasRingkasandatayangdisediakandalamRCommanderadalah Ringkasannumerik, DistribusiFrekuensi, Hitungobservasihilang Tabelstatistika, Matrikskorelasi, Ujikorelasi,dan UjikenormalanShapiroWilk.

Gambar6.1.JendeladialoguntukpilihanDistribusiKontinu Selain tabel satu informasi, pada bab ini juga akan dijelaskan cara pembuatan tabel lebih dari satu informasi, khususnya tabel dua informasi secara bersamasama yang dikenal dengan tabulasi silang atau tabel kontingensi. Fasilitas yang disedikan R untukpembuatantabelkontingensiinidapatdiihatpadaGambar6.2.

80

sht90

StatistikDeskriptifmenggunakanRCommander

Gambar6.2.JendeladialoguntukpilihanDistribusiDiskrit

Sebagai langkah awal, buka kembali program R dengan mengklik icon R 2.7.2. danpanggildatatentangnegaranegaradiduniapadatahun1995yangdikenaldengan data WORLD95.SAV di SPSS yang sudah disimpan dalam file R yaitu latihan4.RData, seperti yang digunakan pada Bab 4 sebelumnya. Load file workspace tersebut dengan menggunakanmenuFile,pilihLoadWorkspace.

6.1.RingkasanNumerik(Summary)
Pada bagian ini akan dijelaskan cara perhitungan ringkasan deskriptif dari data dengan menggunakan berbagai metode statistika deskriptif. Secara umum ada dua macam data yang akan dibuat ringkasan numeriknya, yaitu data metrik (skala interval ataurasio)dandatanonmetrik(skalanominalatauordinal).Rmenyediakanduamacam cara untuk menampilkan ringkasan numerik dari variabelvariabel yang ada pada data, yaitumenampilkanringkasannumerikdarisemuavariabelyangada,danmenampilkan ringkasan numerik hanya dari variabel tertentu saja. Berikut ini adalah penjelasan lengkapuntukmasingmasingcarapembuatanringkasannumerik.

6.1.1.RingkasanNumerikdariSemuaVariabel
PerhitunganRingkasanNumerikdarisemuavariabeldapatdilakukandenganR Commander,yaitugunakanmenuStatistika,pilihRingkasan,pilihDatasetaktif.Setelah itu akan terlihat jendela informasi tentang jumlah variabel pada dataset yang akan ditampilkanringkasannumeriknyasepertipadaGambar6.3.Dalamhalini,semuadata baikyangmetrikataupunnonmetrikakanditampilkanringkasannumeriknya. Pada data metrik, ringkasan numerik akan menampilkan beberapa besaran statistikyaituMean,Min,Max,Kuartil1,Median,danKuartil3.Sedangkanpadadata nonmetrik,ringkasannumerikhanyamenampilkanjumlahataufrekuensipadamasing masingkategoriyangada.

81

sht90

StatistikDeskriptifmenggunakanRCommander

Gambar6.3.Jendelainformasijumlahvariabelyangdibuatringkasannumeriknya Output lengkap yang diperoleh dari pilihan Ringkasan dan Dataset aktif pada data latihan4.RDatabesertacommandlinediRConsoleadalahsebagaiberikut.

>summary(latihan4)
COUNTRY Afghanistan : 1 Argentina : 1 Armenia : 1 Australia : 1 Austria : 1 Azerbaijan : 1 (Other) :103 POPULATN Min. : 256 1st Qu.: 5100 Median : 10400 Mean : 47724 3rd Qu.: 35600 Max. :1205200 DENSITY Min. : 2.3 1st Qu.: 29.0 Median : 64.0 Mean : 203.4 3rd Qu.: 126.0 Max. :5494.0 URBAN Min. : 5.00 1st Qu.: 40.75 Median : 60.00 Mean : 56.53 3rd Qu.: 75.00 Max. :100.00 NA's : 1.00

RELIGION Catholic:41 Muslim :27 Protstnt:16 Orthodox: 8 Buddhist: 7 Animist : 4 (Other) : 6 FERTILTY Min. :1.300 1st Qu.:1.880 Median :3.050 Mean :3.563 3rd Qu.:5.000 Max. :8.190 NA's :2.000 LIT_FEMA Min. : 9.00 1st Qu.: 45.00 Median : 71.00 Mean : 67.26 3rd Qu.: 93.00 Max. :100.00 NA's : 24.00 LOG_POP Min. :2.408 1st Qu.:3.708 Median :4.017 Mean :4.114 3rd Qu.:4.551 Max. :6.081 CROPGROW LIT_MALE Min. : 0.00 Min. : 28.00 1st Qu.: 6.00 1st Qu.: 63.00 Median :13.50 Median : 87.00 Mean :17.98 Mean : 78.73 3rd Qu.:26.75 3rd Qu.: 96.00 Max. :77.00 Max. :100.00 NA's : 3.00 NA's : 24.00 LIFEEXPF Min. :43.00 1st Qu.:67.00 Median :74.00 Mean :70.16 3rd Qu.:78.00 Max. :82.00 LIFEEXPM Min. :41.00 1st Qu.:61.00 Median :67.00 Mean :64.92 3rd Qu.:72.00 Max. :76.00 LITERACY Min. : 18.00 1st Qu.: 63.00 Median : 88.00 Mean : 78.34 3rd Qu.: 98.00 Max. :100.00 NA's : 2.00

CLIMATE temperate :34 tropical :32 mediterranean:10 desert : 7 arid : 6 (Other) :13 NA's : 7

82

sht90

StatistikDeskriptifmenggunakanRCommander

6.1.2.RingkasanNumerikuntukSuatuVariabel
Perhitungan Ringkasan Numerik khusus untuk variabel metrik dapat dilakukan denganRCommander,yaitugunakanmenuStatistika,pilihRingkasan,pilihRingkasan numerik . Setelah itu akan terlihat jendela informasi tentang variabel metrik dari datasetyangakanditampilkanringkasannumeriknyasepertipadaGambar6.4berikut.

Gambar6.4.Jendelapilihanvariabelmetrikyangdibuatringkasannumeriknya

MisalkanakandibuatringkasannumerikuntukvariabelLIFEEXPF(usiaharapan hidup wanita di suatu negara), maka pada jendela dialog yang muncul, klik LIFEEXPF pada pilihan Peubah. Kemudian klik besaranbesaran statistik yang akan ditampilkan ringkasannya. Setelah itu, klik OK untuk menampilkan output ringkasan numeriknya, sehinggadiperolehoutputpadajendelakeluaransepertiberikutini.

>numSummary(latihan4[,"LIFEEXPF"],statistics=c("mean","sd","quantiles"))
mean sd 0% 25% 50% 75% 100% n 70.15596 10.57178 43 67 74 78 82 109

Perhitunganringkasannumerikinidapatjugadilakukandengancommandlinedi RConsole,yaitudengancommandsummarydiikutiargumenoptionalyangdiinginkan. Berikut adalah contoh perhitungan ringkasan numerik dengan command line untuk suatuvariabelmetrik.

83

sht90

StatistikDeskriptifmenggunakanRCommander

>summary(latihan4$LIFEEXPF)
Min. 1st Qu. 43.00 67.00 Median 74.00 Mean 3rd Qu. 70.16 78.00 Max. 82.00

R juga menyediakan fasilitas untuk menampilkan ringkasan numerik dari variabel numerik berdasarkan group atau faktor tertentu. Misalkan akan dibuat ringkasanuntukvariabelLIFEEXPFberdasarkanREGION,makagunakanmenuStatistika, pilihRingkasan,pilihRingkasannumerik,danisikanpilihansepertisebelumnya,yaitu variabel LIFEEXPF pada pilihan Peubah yang muncul. Kemudian klik Ringkas dengan kelompok...,danpilihvariabelREGIONdaridaftarPeubahkelompokyangadaseperti padaGambar6.5berikutini.

Gambar6.5.Jendelapilihanpeubahkelompok(group)dalamringkasannumerik Selanjutnya klik OK, maka akan diperoleh output ringkasan numerik pada jendela keluaransepertipadaoutputberikutini.

>numSummary(latihan4[,"LIFEEXPF"],groups=latihan4$REGION, statistics=c("mean","sd","quantiles"))

OECD East Europe Pacific/Asia Africa Middle East Latn America

mean sd 0% 25% 50% 75% 100% n 80.09524 1.179185 78 79 80 81 82 21 76.00000 1.109400 74 75 76 77 78 14 67.41176 10.886108 44 59 69 74 82 17 54.26316 7.978040 43 48 55 58 70 19 71.58824 4.500817 63 68 72 74 80 17 71.76190 7.388537 47 67 75 77 79 21

84

sht90

StatistikDeskriptifmenggunakanRCommander

Dari output tersebut dapat dijelaskan bahwa ratarata usia harapan hidup perempuan tertinggi pada negaranegara yang termasuk kawasan OECD, dan yang terendahadalahpadakawasanAFRICA.Secaravisualhalinisepertiyangtelahdiperoleh padaPlotRataratadiBab4sebelumnya.

6.2.DistribusiFrekuensi
Pembuatan Distribusi Frekuensi untuk variabel nonmetrik dapat dilakukan dengan RCommander, yaitu gunakan menu Statistika, pilih Ringkasan, pilih Distribusi Frekuensi . Setelah itu akan terlihat jendela pilihan tentang variabel nonmetrik dari datasetyangakanditampilkandistribusifrekuensinyasepertipadaGambar6.6.

Gambar6.6.Jendelapilihanvariabelnonmetrik(satuataulebih)yangakan ditampilkandistribusifrekuensinya.

Misalkan akan dibuat distribusi frekuensi untuk variabel REGION, maka pada jendeladialogpilihanvariabelyangmuncul,klikREGIONpadapilihanPeubah.Kemudian klik OK untuk menampilkan output distribusi frekuensinya, sehingga diperoleh output padajendelakeluaransepertiberikutini.

>.Table<table(latihan4$REGION) >.Table#countsforREGION

OECDEastEuropePacific/AsiaAfricaMiddleEastLatnAmerica 211417191721

>100*.Table/sum(.Table)#percentagesforREGION

OECDEastEuropePacific/AsiaAfricaMiddleEastLatnAmerica 19.2660612.8440415.5963317.4311915.5963319.26606

85

sht90

StatistikDeskriptifmenggunakanRCommander

Sebagai tambahan, pada menu pilihan Distribusi Frekuensi ini dapat juga dilakukan Uji Kecocokan untuk mengevaluasi apakah probabilitas masingmasing kategori sesuai dengan yang dihipotesakan. Misalkan akan diuji apakah persentase negara pada masingmasingREGIONadalah sama, yaitu1/6, makapilih Uji kecocokan Chikuadrat(hanyauntuksatupeubah)sehinggadiperolehjendelapilihanprobabilitas yangmenjadihipotesissepertigambarberikutini.

Gambar6.7.Jendelapilihanisianprobabilitasyangdihipotesakan Klik OK untuk menampilkan output hasil pengujian, sehingga diperoleh output pada jendelakeluaransepertiberikutini.

>.Probs<c(0.166666666666667,0.166666666666667,0.166666666666667, 0.166666666666667,0.166666666666667,0.166666666666667) >chisq.test(.Table,p=.Probs)

Chisquaredtestforgivenprobabilities

data:.Table Xsquared=2.0275,df=5,pvalue=0.8453

Hasil tersebut menunjukkan bahwa pvalue pengujian adalah 0.8453. Sehingga jika digunakan=0.05dapatdisimpulkanbahwapengujianmenunjukkangagaltolakH0.Hal inidikarenakanpvaluelebihbesardari.Dengandemikiandapatdisimpulkanbahwa proporsinegaradimasingmasingREGIONadalahsamayaitu1/6.

6.3.TabelStatistika
R juga menyediakan fasilitas untuk membuat ringkasan statistik dalam tabel untuksuatuvariabelnumerik(metrik)berdasarkanvariabelnonmetrik(kategorik)atau faktor tertentu. Pada RCommander, gunakan menu Statistika, pilih Ringkasan, pilih TabelstatistikasehinggadiperolehjendelapilihansepertipadaGambar6.8.

86

sht90

StatistikDeskriptifmenggunakanRCommander

Gambar6.8.JendelapilihanFaktordanPeubahresponyangakanditampilkan TabelStatistikanya

Misalkan akan dibuat tabel statistika untuk variabel LOG_GDP berdasarkan variabel REGION, makapada jendela dialogpilihanFaktor yang muncul,klik LOG_GDP danklikREGIONpadapilihanPeubahrespon.Kemudianpilihbesaranstatistikyangakan ditampilkan pada tabel statistika yang akan dibuat. Setelah itu, klik OK untuk menam pilkan output tabel statistikanya, sehingga diperoleh output pada jendela keluaran sepertiberikutini.

>tapply(latihan4$LOG_GDP,list(REGION=latihan4$REGION),mean,na.rm=TRUE)

REGION OECDEastEuropePacific/AsiaAfricaMiddleEastLatnAmerica 4.2078143.6864283.1076482.7718813.5464123.200901 >tapply(latihan4$LIFEEXPF,list(REGION=latihan4$REGION),median,na.rm=TRUE)

REGION OECDEastEuropePacific/AsiaAfricaMiddleEastLatnAmerica 807669557275

Hasil tersebut menunjukkan bahwa negaranegara di kawasan OECD mempunyai rata rata LOGGDP dan median LIFEEXPF paling tinggi dibanding dengan negaranegara di kawasanyanglain.

87

sht90

StatistikDeskriptifmenggunakanRCommander

6.4.MatriksKorelasi
Perhitungan Matriks Korelasi untuk variabelvariabel metrik dan nonmetrik dapatdilakukandenganRCommander,yaitugunakanmenuStatistika,pilihRingkasan, pilih Matriks korelasi . Setelah itu akan terlihat jendela pilihan tentang variabel variabeldaridatasetyangakanditampilkanmatrikskorelasinyasepertipadaGambar6.9 berikutini.

Gambar6.9.JendelapilihanPeubahyangakanditampilkanmatrikskorelasinya

Secara umum, perhitungan nilai korelasi antara dua peubah metrik (skala intervalatauratio),misalkan X dan Y adalah(JohnsondanBhattacharyya,1996)

rxy =

i =1 n

( X i X )(Yi Y )
2

i =1

(X i X )
n

i =1

(Yi Y )

=
i =1

i =1

X i Yi nXY
nX
2

X i2

i =1

Yi nY
2

,
2

dengan X i adalah nilainilai pada peubah pertama, Yi adalah nilainilai pada peubah kedua,dan n adalahbanyaknyapengamatan(data).

88

sht90

StatistikDeskriptifmenggunakanRCommander

Misalkan akan dibuat matriks korelasi untuk variabel CALORIES, FERTILITY, LIFEEXPF, LIFEEXPM, dan LOG_GDP, maka pada jendela dialog pilihan Peubah yang muncul,klikkelimavariabeltersebut.Kemudianpilihjeniskorelasi(dalamkasusinipilih ProdukMomen Pearson) yang akan ditampilkan pada matriks korelasi yang akan dibuat. Setelah itu, klik OK untuk menampilkan output matriks korelasi, sehingga diperolehoutputpadajendelakeluaransepertiberikutini.

>cor(latihan4[,c("CALORIES","FERTILTY","LIFEEXPF","LIFEEXPM","LOG_GDP")], use="complete.obs")
CALORIES FERTILTY LIFEEXPF LIFEEXPM LOG_GDP CALORIES 1.0000000 -0.6958507 0.7753786 0.7650363 0.8474292 FERTILTY -0.6958507 1.0000000 -0.8435988 -0.8089856 -0.7170879 LIFEEXPF 0.7753786 -0.8435988 1.0000000 0.9893717 0.8287739 LIFEEXPM 0.7650363 -0.8089856 0.9893717 1.0000000 0.8037349 LOG_GDP 0.8474292 -0.7170879 0.8287739 0.8037349 1.0000000

6.5.UjiKorelasi
Perhitungan Uji Korelasi, baik untuk korelasi ProdukMomen Pearson ataupun korelasi RankOrder Spearman dapat dilakukan dengan RCommander, yaitu gunakan menu Statistika, pilih Ringkasan, pilih Uji korelasi . Setelah itu akan terlihat jendela pilihantentangduavariabelyangakandiujikorelasinyasepertipadaGambar6.10.

Gambar6.10.JendelapilihanduaPeubahyangakandiujikorelasinya

89

sht90

StatistikDeskriptifmenggunakanRCommander

Misalkan akan dilakukan pengujian korelasi untuk variabel LIFEEXPF dan LOG_GDP, maka pada jendela dialog pilihan Peubah yang muncul, klik kedua variabel tersebut. Kemudian pilih jenis korelasi (dalam kasus ini pilih ProdukMomen Pearson) yangakandiuji.Setelahitu,klikOKuntukmenampilkanoutputpengujianpadajendela keluaransepertiberikutini.

>cor.test(latihan4$LIFEEXPF,latihan4$LOG_GDP,alternative="two.sided", method="pearson")

Pearson'sproductmomentcorrelation

data:latihan4$LIFEEXPFandlatihan4$LOG_GDP t=15.4575,df=107,pvalue<2.2e16 alternativehypothesis:truecorrelationisnotequalto0 95percentconfidenceinterval: 0.76211770.8813950 sampleestimates: cor 0.8310795

Hipotesisyangdigunakandalampengujiankorelasiiniadalahsebagaiberikut

H0 : xy = 0 H1 : xy 0

(keduapeubahtidakberkorelasilinear) (keduapeubahberkorelasilinear).

Statistikujiuntukpengujiankorelasiiniadalahuji t ,yaitu

t=

rxy n 2
2 1 rxy

Dalam hal ini, H0 ditolakyang berartiduapeubahsecara statistiksignifikanberkorelasi jikanilaiuji t memenuhidaerahpenolakan,yaitu

t > t ; df = n 2 ataunilai p < . 2

Hasil output R diatas menunjukkan bahwa nilai p pengujian adalah 2.2e16. Sehinggajikadigunakan=0.05dapatdisimpulkanbahwapengujianmenunjukkantolak H0. Hal ini dikarenakan nilai p lebih kecil dari . Dengan demikian dapat disimpulkan bahwaadakorelasipositifantaraLIFEEXPFdanLOGGDP.

90

sht90

StatistikDeskriptifmenggunakanRCommander

6.6.UjiKenormalanShapiroWilk
Perhitungan Uji Kenormalan ShapiroWilk pada RCommander dapat dilakukan denganmenggunakanmenuStatistika,pilihRingkasan,kemudianpilihUjikenormalan ShapiroWilk.Setelahituakanterlihatjendelapilihantentangvariabelyangakandiuji kenormalannyasepertipadaGambar6.11berikutini.

Gambar6.11.JendelapilihanPeubahyangakandiujikenormalannya Hipotesis yang digunakan dalam pengujian kenormalan ShapiroWilk adalah sebagai berikut

H0 : databerdistribusiNormal,atau X ~ N ( , 2 ) H1 : datatidakberdistribusiNormal. Misalkan akan dilakukan pengujian kenormalan untuk variabel LIFEEXPF, maka padajendeladialogpilihanPeubahyangmuncul,klikLIFEEXPFtersebut.Kemudianklik OKuntukmenampilkanoutputpengujianpadajendelakeluaransepertiberikutini.

>shapiro.test(latihan4$LIFEEXPF)

ShapiroWilknormalitytest

data:latihan4$LIFEEXPF W=0.8596,pvalue=9.435e09

Output ini menunjukkan bahwa pvalue pengujian adalah 9.435e9. Sehingga jika digunakan =0.05 dapat disimpulkan bahwa pengujian menunjukkan tolak H0 yang berartidataLIFEEXPFtidakberdistribusinormal.HalinididukungolehQQPlotpadaBab 4sebelumnya(lihatpadahalaman52).

91

sht90

StatistikDeskriptifmenggunakanRCommander

6.7.TabelKontingensiDuaArah
Pembuatan tabel kontingensi dua arah pada RCommander dapat dilakukan dengan menggunakan menu Statistika, pilih Tabel kontingensi, dan kemudian pilih Tabel dua arah . Setelah itu akan terlihat jendela pilihan tentang dua variabel nonmetrik(kategorik)yangakandibuattabelkontingensiduaarahsepertipadaGambar 6.12berikutini.

Gambar6.12.JendelapilihanDuaPeubahyangakandibuatTabelKontingensinya Misalkan akan dibuat tabel kontingensi dua arah untuk variabel CLIMATE dan REGION,makapadajendeladialogpilihanPeubahbarisyangmunculklikCLIMATEdan pilih REGION pada pilihan Peubah kolom. Kemudian pilih besaran (persentase baris, persentase kolom, atau persentase keseluruhan) dan uji hipotesis (sebagai pilihan defaultadalahujikesalingbebasanChikuadrat)yangakan dilakukan.Setelah itu,klik OKuntukmenampilkanoutputtabelkontingensiduaarahpadajendelakeluaranseperti berikutini.

92

sht90

StatistikDeskriptifmenggunakanRCommander

>.Table<xtabs(~CLIMATE+REGION,data=latihan4) >.Table
REGION CLIMATE OECD East Europe Pacific/Asia Africa Middle East Latn America desert 0 0 0 1 6 0 arid / desert 0 0 0 1 4 0 arid 1 0 1 0 2 2 tropical 0 0 9 10 0 13 mediterranean 1 2 2 2 2 1 maritime 1 3 0 0 0 0 temperate 15 8 4 2 2 3 arctic / temp 3 1 0 0 0 0 arctic 0 0 0 0 0 0

>rowPercents(.Table)#RowPercentages
REGION CLIMATE OECD East Europe Pacific/Asia Africa Middle East Latn America desert 0.0 0.0 0.0 14.3 85.7 0.0 arid / desert 0.0 0.0 0.0 20.0 80.0 0.0 arid 16.7 0.0 16.7 0.0 33.3 33.3 tropical 0.0 0.0 28.1 31.2 0.0 40.6 mediterranean 10.0 20.0 20.0 20.0 20.0 10.0 maritime 25.0 75.0 0.0 0.0 0.0 0.0 temperate 44.1 23.5 11.8 5.9 5.9 8.8 arctic / temp 75.0 25.0 0.0 0.0 0.0 0.0 arctic NaN NaN NaN NaN NaN NaN REGION CLIMATE Total Count desert 100.0 7 arid / desert 100.0 5 arid 100.0 6 tropical 99.9 32 mediterranean 100.0 10 maritime 100.0 4 temperate 100.0 34 arctic / temp 100.0 4 arctic NaN 0

>.Test<chisq.test(.Table,correct=FALSE)
Warning in chisq.test(.Table, correct = FALSE) : Chi-squared approximation may be incorrect

>.Test

Pearson's Chi-squared test

data: .Table X-squared = NaN, df = 40, p-value = NA

Output uji Chikuadrat atau Chisquared tidak dapat diperoleh karena banyak nilai 0 padabeberapaselkombinasiantaravariabelCLIMATEdanREGION.

93

sht90

StatistikDeskriptifmenggunakanRCommander

6.8.EntryLangsungDataFrekuensiuntukTabelKontingensiDuaArah
Rjugamenyediakanfasilitasuntukmembuattabelkontingensiduaarahdengan caramemasukkanlangsungfrekuensifrekuensipadasetiapkombinasiselyangadapada tabel kontingensi. Pembuatan masukkan tabel dua arah ini pada RCommander dapat dilakukandenganmenggunakanmenuStatistika,pilihTabelkontingensi,dankemudian pilihMasukkandananalisistabelduaarah.Setelahituakanterlihatjendelapilihan tentang Banyaknya baris dan Banyaknya kolom, serta Masukkan frekuensi yang akan dibuattabelkontingensiduaarahsepertipadaGambar6.13berikutini.

Gambar6.12.JendelapilihanDuaPeubahyangakandibuatTabelKontingensinya MisalkanakandibuattabelkontingensiduaarahuntukvariabelPILIHANACARA TVdanGENDERRESPONDEN,makapadajendelakolom,tulisOlahragadanSinetron, dantulisPriadanWanitapadajendelabaris.Isikanangka45,20,25,dan40padaempat sel isian yang ada (misal Pria cenderung menonton Olah raga, sedangkan Wanita cenderung menonton Sinetron). Kemudian klik OK untuk menampilkan output tabel kontingensiduaarahpadajendelakeluaransepertiberikutini.

94

sht90

StatistikDeskriptifmenggunakanRCommander

>library(abind)#aktifkanterlebihdulujikadiperlukan

>.Table<matrix(c(45,20,25,40),2,2,byrow=TRUE) >rownames(.Table)<c('Pria','Wanita') >colnames(.Table)<c('Olahraga','Sinetron')

>.Table#Counts

Pria Wanita

Olah raga Sinetron 45 20 25 40

>rowPercents(.Table)
Pria Wanita

Olah raga Sinetron Total Count 69.2 30.8 100 65 38.5 61.5 100 65

>.Test<chisq.test(.Table,correct=FALSE) >.Test

Pearson'sChisquaredtest

data:.Table Xsquared=12.381,df=1,pvalue=0.0004337

ProsedurujiChisquarePearsonatau 2 padaoutputdiatas(untukevaluasidependensi antara dua peubah nonmetrik, skala nominal atau ordinal) adalah sebagai berikut (JohnsondanBhattacharyya,1996).

(1).Hipotesa:

H0 :peubahpadabarisdankolomindependen H1 :peubahpadabarisdankolomdependen
(Oij E ij ) 2 E ij i =1 j =1
b k

(2). Statistikuji:
2 =

dengan Oij = jumlahpengamatanpadabariskeidankolomkej, E ij = nilaiekspektasipengamatanpadabariskeidankolomkej. Perhitunganuntuknilaiekspektasiiniadalahsebagaiberikut


E ij = n i. n. j n

dengan ni. =totalpengamatanbariskei, n. j =totalpengamatankolomkej, dan n =totalpengamatankeseluruhan.

95

sht90

StatistikDeskriptifmenggunakanRCommander

(3). Daerahpenolakan: TolakH0yangberartikeduapeubahsalingdependen(terkait)jika


2 2 > , df = (b 1)( k 1) ataunilai p < ,

dengan b =jumlahbaris,dan k =jumlahkolom.

Hasil dari output di atas menunjukkan nilai uji Chisquare Pearson dan nilai p untuk pengambilan kesimpulan tentang ada tidaknya dependensi antara gender responden dan acara TV yang sering ditonton. Nilai uji Chisquare Pearson adalah 12.381, dan nilai p sebesar 0.0004337. Dengan demikan, jika digunakan =0.05 dapat disimpulkan bahwa pengujian menunjukkan tolak H0 yang berarti bahwa gender respondendanacaraTVyangditontontidakindependenatausalingterkait.Keterkaitan dua variabel tersebut adalah Pria cenderung menonton Olah raga (68,2% Pria), sedangkanWanitacenderungmenontonSinetron(61,5%Wanita).

96

sht90

StatistikInferensimenggunakanRCommander

BAB7 STATISTIKINFERENSIMENGGUNAKANRCommander

Padabab ini akandibahaspenggunaanRCommander untukmembuat analisis statistik inferensi dari suatu kumpulan data. Ada beberapa metode analisis statistik inferensiyangdisediakanpadaRCommander,yaituujihipotesisuntukmean,proporsi, danvarians,ujiChikuadratuntukevaluasikebebasanantaraduavariabelkategorik,uji ANOVA,ujiujiNonparametrik,analisiskomponenutama,analisisfaktor,analisisklaster, analisisregresilinear,danGeneralizedlinearmodel. PaketRCommanderpadaawalnyadibuatuntukkeperluananalisisstatistikyang sederhana, yaitu sebagai alat komputasi untuk perkuliahan statistika dasar, khususnya untuk pengguna yang cenderung lebih terbiasa menggunakan paketpaket statistika yang bersifat point and click. Oleh karena itu, menu dan pilihan kotak dialog yang ditampilkan masih bersifat sederhana dan tidak mencakup semua kapabilitas yang dimiliki R. Sebagai sebuah sistem komputasi statistika yang lengkap, kemampuan R sebagianbesardiperolehdariribuanpaket(packageataulibrary)yangdikontribusikan oleh seluruh penggguna R di seluruh dunia. Dengan demikian, tidaklah mungkin membuatsatusistemRGUIyangmemilikimenudarisemuakemampuanyangdimiliki R. Hal ini karena terlalu banyaknya analisis statistika yang dapat dilakukan dengan menggunakan R. Untuk mengetahui daftar semua paket yang tersedia sampai saat ini dapatdilihatdihttp://cran.rproject.org. Secara umum, metode statistika yang tersedia dalam RCommander terbagi dalam 8 (delapan) dialog pilihan utama yang dapat dijalankan setelah memilih menu Statistika,yaitu: 1.Ringkasan(Summaries),yangterdiridaridialogpilihan

2.Tabelkontingensi(ContingencyTables),yangterdiridaridialogpilihan

97

sht90

StatistikInferensimenggunakanRCommander

3.Rerata(Means),yangterdiridaridialogpilihan

4.Proporsi(Proportions),yangterdiridaridialogpilihan

5.Variansi(Variances),yangterdiridaridialogpilihan

6.Ujinonparametrik(Nonparametrictests),yangterdiridaridialogpilihan

7.Analisisdimensional(Dimensionalanalysis),yangterdiridaridialogpilihan

8.Pencocokanmodel(Fitmodels),yangterdiridaridialogpilihan

98

sht90

StatistikInferensimenggunakanRCommander

PembahasantentangRingkasandanTabelkontingesisudahdiberikanpadaBab 6sebelumnya.Dengandemikian,babiniakanmembahasanalisisstatistikauntukpilihan Ratarata,Variansi,danseterusnya.

7.1.PengujianRatarata(Mean)
Padabagianiniakandijelaskancaraperhitunganuntukpengujianrataratadari suatu data. R menyediakan lima macam pilihan pada pengujian ratarata, yaitu Ujit sampel tunggal, Ujit sampel saling bebas, Ujit berpasangan, ANAVA Satuarah, dan ANAVA Multiarah. Pilihanpilihan analisis statistika tersebut dapat diperoleh dengan memilih menu Statistika, dan kemudian memilih Rerata seperti yang terlihat pada Gambar7.1berikutini.

Gambar7.1.Jendeladialoguntukpilihanpadapengujianratarata

7.1.1.PengujianRataratasampeltunggal(Singlesamplettest)
MisalkansuatusamplingterhadapairsungaiKALIMASSurabayadilakukanoleh Departemen Kesehatan kota Surabaya untuk menentukan apakah ratarata jumlah bakteriperunitvolumeairdiSungaitersebutmasihdibawahambangbatasamanyaitu 200.Kemudian,penelitididepartementersebutmengumpulkan10sampelairperunit volumedanmenemukanjumlahbakterisebagaiberikut.

Sampelke Jml.bakteri

1 175

2 190

3 215

4 198

5 184

6 207

7 210

8 193

9 196

10 180

Apakahdata(informasi)inimemberikanbuktiyangkuatbahwarataratajumlahbakteri perunitvolumeairdisungaiKALIMASmasihdibawahambangbatasaman?

99

sht90

StatistikInferensimenggunakanRCommander

Pengujian ratarata sampel tunggal dapat dilakukan setelah data tersedia di R. Untuk itu, masukkan terlebih dahulu datadata tersebut dengan menggunakan menu Data,pilihDatasetbaru,danberinamadatasetbaruitu(misalkandata7mu).Setelah itu,isikandatadataitusepertitampilanberikutini.

Gambar7.2.JendelatampilanuntukentrydatapadaRCommander

Untuk melakukan pengujian ratarata sampel tunggal seperti contoh kasus di atas, RCommander menyediakan pilihan yaitu melalui menu Statistika, pilih Rerata, dan kemudian pilih Ujit sampel tunggal, sehingga diperoleh tampilan dialog isian untukpengujianrataratasampeltunggalsepertipadaGambar7.3.PadapilihanPeubah klik bakteri, dan kemudian isikan angka 200 pada kotak pilihan Hipotesis nol: mu=. Setelah itu, klik pilihan pada Hipotesis Alternatif sesuai dengan permasalahan diatas, yaitu Rerata populasi < mu0. Secara lengkap hipotesis statistik yang digunakan dalam pengujianrataratainiadalahsebagaiberikut.

H0: = 200 (atau 200 ) H1: < 200

KemudiantentukanLevelKeyakinanpengujianyangakandigunakan,misalkansaja0.95. Hal ini berarti yang digunakan adalah 5%. Setelah semua isian dialog sudah sesuai dengan pengujian yang akan dilakukan, klik OK untuk menampilkan output dari pengujianini.

100

sht90

StatistikInferensimenggunakanRCommander

Gambar7.3.JendeladialoguntukpilihanpadaUjitsampeltunggal Statistik uji yang digunakan dalam uji hipotesis ini adalah uji t , yang rumus perhitungannyaadalah(JohnsondanBhattacharyya,1996)
t= X , S n

dengan X adalah ratarata dan S adalah deviasi standar yang dihitung dari data sampel, serta n adalah banyaknya data. Dalam hal ini, H0 ditolak yang berarti bahwa < 200 ,jikanilaiuji t memenuhidaerahpenolakan,yaitu

t < t ; df = n 1 ataupvalue < .

Outputhasilpengujianrataratasampeltunggalyangdiperolehdaricontohkasusdiatas adalahsebagaiberikut.

>t.test(data7mu1$bakteri,alternative='less',mu=200,conf.level=.95)

OneSamplettest

data:data7mu1$bakteri t=1.2516,df=9,pvalue=0.1211 alternativehypothesis:truemeanislessthan200 95percentconfidenceinterval: Inf202.4162 sampleestimates: meanofx 194.8

101

sht90

StatistikInferensimenggunakanRCommander

Hasil ini menunjukkan bahwa nilai statistik t yang diperoleh adalah 1.2516, dengan pvalue pengujian adalah 0.1211. Dengan menggunakan kaidah pengambilan keputusanberdasarkanpvalue,yaitutolakH0jikapvaluelebihkecildarinilai,maka pada=0.05dapatdisimpulkanbahwapengujianmenunjukkangagaltolakH0.Dengan demikiandapatdijelaskanbahwarataratajumlahbakteriperunitvolumeairyangada di Sungai KALIMAS Surabaya tidak berada di bawah ambang batas aman atau per nyataanbahwarataratajumlahbakteriperunitvolumeairdiSungaiKALIMASmasihdi bawahambangbatasamanadalahTIDAKBENAR.

7.1.2. PengujianPerbedaanRatarataDuasampelsalingbebasatau Independentsamplettest


Misalkan suatu metode perakitan produk dalam pabrik tertentu memerlukan kirakirasatubulanmasatraininguntukseorangpegawaibaruuntukmencapaiefisiensi maksimum.Suatumetodetrainingyangbarutelahdiusulkandanpengujiandilakukan untuk membandingkan metode baru tersebut dengan prosedur yang standar. Dua kelompokyangmasingmasingterdiridarisembilanpegawaibarudilatihselamaperiode waktu tiga minggu, satu kelompok menggunakan metode baru dan lainnya mengikuti prosedur latihan yang standar.Lama waktu (dalammenit) yangdiperlukanoleh setiap pegawaiuntukmerakitprodukdicatatpadaakhirdariperiodeempatminggutersebut, danhasilnyadapatdilihatpadatabelberikut.

Tabel7.1.Lamawaktu(dalammenit)untukmerakitproduk

ProsedurStandar ProsedurBaru

32 35

37 31

35 29

28 25

41 34

44 40

35 27

31 32

34 31

Apakah data ini memberikan cukup bukti untuk menyatakan bahwa mean (ratarata) waktuuntukmerakitprodukpadaakhirperiodeempatminggulatihanadalahlebihkecil untuk prosedur (metode) latihan baru? Gunakan =0.05 untuk membuat kesimpulan daripengujianhipotesisini. Seperti pada bagian sebelumnya, pengujian perbedaan ratarata dua sampel independen inidapatdilakukan setelahdatatersedia diR.Dalamhalini,adaduacara yang dapat dilakukan yaitu memasukkan data pada dataset baru atau menambahkan data pada dataset yang sudah ada. Pada bagian ini akan digunakan cara kedua yaitu menambahkan datadata ini pada dataset yang sudah ada dari subbab sebelumnya, yaitudata7mu.

102

sht90

StatistikInferensimenggunakanRCommander

Untuk itu, aktifkan dulu data7mu dengan menggunakan menu Data, pilih Dataset aktif, dan kemudian klik Pilih dataset aktif . Setelah itu pilih data7mu yang sudah tersimpan sebelumnya. Selanjutnya, editing data untuk menambah data baru dapatdilakukandenganmengklikjendeladialogEditdataset.Dengandemikianproses editinguntukmenambahkandatabarudapatdilakukan.IsikandatadatapadaTabel7.1 pada dua kolom baru yang tersedia, yaitu kolom pertama dengan nama waktu yang berisidatadatawaktuperakitan(baik denganmetodebaru ataupunmetodestandar). Sehinggapadakolomwaktuiniada18data.Padakolomyangkeduaberinamametode, isikan angkaangka kode dari metode baru (misalkan dengan kode 1) dan metode standar (kode 2). Setelah proses input data baru telah lengkap, maka akan diperoleh tampilandatasetdata7muyangberisi3(tiga)kolomsepertiyangterlihatpadaGambar 7.4. Kemudian tutup jendela pengisian data ini untuk melanjutkan ke komputasi pengujianperbedaanratarataduasampelsalingbebas.

Gambar7.4.JendelatampilanuntukhasileditingdatabarupadaRCommander

103

sht90

StatistikInferensimenggunakanRCommander

Untuk dapat mengaktifkanmenu Ujit sampel salingbebas diperlukan langkah awal, yaitu mengkonversi variabel metode menjadi faktor. Hal ini dapat dilakukan denganmenggunakanmenuData,pilihAturpeubahpadadatasetaktif,dankemudian klik Konversi peubah numerik ke faktor , sehingga diperoleh jendela dialog seperti gambarberikutini.

Gambar7.5.JendeladialoguntukKonversiPeubahNumerikkeFaktor

Selanjutnya pilih variabel metode, dan klik Level Faktor pada pilihan Sediakan nama leveldangunakanpilihandefault<samadenganpubah>padaNamapeubahbaru.Klik OKsehinggadiperolehtampilansepertiberikutini.

Gambar7.6.JendeladialoguntukNamalevelpadapeubahbaru

Isikannamalevelyangsesuaidengannilainumerikyangakandiberinama,yaitu metode standar untuk 1 dan metode baru untuk 2. Setelah itu klik OK, dan proses konversivariabeldarinumerikkefaktortelahdilakukan.Untukmelihatperubahandata akibat proses konversi ini dapat dilakukan dengan mengklik pada jendela pilihan Lihat dataset,sehinggadiperolehtampilandata7mubarusepertipadaGambar7.7dibawah ini.

104

sht90

StatistikInferensimenggunakanRCommander

Gambar7.7.Jendelatampilandatabarusetelahkonversimetodekefaktor

Sebagaicatatan,hasileditingdenganmenambahkanvariabelbarudenganjumlahdata lebih banyak daripada variabel yang lama menyebabkan variabel yang lama mengan dungdatamissing. Tahap selanjutnya adalah proses pengujian perbedaan ratarata untuk data di atas, yaitu dengan memilih menu Statistika, pilih Rerata, dan kemudian pilih Ujit sampelsalingbebas,sehinggadiperolehjendeladialogsepertipadaGambar7.8.Klik metode pada jendela Kelompok, dan waktu pada jendela Peubah respon, serta pilih Hipotesis Alternatif yang sesuai dengan permasalahan di atas, yaitu klik Selisih>0. Dalamkasusini,hipotesisstatistikayangdigunakanadalah H0: 1 2 0 atau 1 2 H1: 1 2 > 0 atau 1 > 2

dengan 1 adalahrataratapopulasiuntukwaktumerakitdenganprosedurstandar,dan 2 menyatakanrataratapopulasiuntukwaktumerakitdenganprosedurbaru. Setelah itu, pilih Interval Keyakinan yang digunakan (misalkan saja 0.95 yang berarti=5%).KemudianpilihAsumsivariansisamadenganmengkliksalahsatupilihan yang ada, misalkan saja Ya (pada bagian selanjutnya hal ini akan diuji dengan menggunakanfasilitasyangadadiRCommander).

105

sht90

StatistikInferensimenggunakanRCommander

Gambar7.8.JendeladialoguntukUjitSampelSalingBebas

Penjelasantentangstatistikujiyangdigunakandalamujihipotesisperbedaanduarata ratasampelsalingbebasdenganasumsivarianssamaadalahuji t ,yaitu(Johnsondan Bhattacharyya,1996)


t= X1 X 2 S pooled 1 1 + n1 n 2

dengan X 1 dan X 2 adalahrataratasampelpertamadankedua, n1 dan n 2 banyaknya sampel data pertama dan kedua, dan S pooled adalah taksiran deviasi standar bersama yangdidefinisikandengan
S2 pooled =
2 2 (n1 1) S1 + (n 2 1) S 2 . n1 + n 2 2

Dalam hal ini S1 dan S 2 adalah deviasi standar dari sampel data pertama dan kedua. KarenaujiiniadalahujisatuarahdenganH1 bertandalebihbesar,makaH0ditolakjika nilaiuji t memenuhidaerahpenolakan,yaitu

t > t ; df = n1 + n2 2 ataupvalue < .

Selanjutnya, setelah semua isian dialog sudah sesuai dengan pengujian yang akan dilakukan, klik OK untuk menampilkan output dari pengujian ini. Hasil dari pengujianperbedaanrataratauntukkasuswaktumerakitdiatassecaralengkapdapat dilihatpadaoutputberikutini.

106

sht90

StatistikInferensimenggunakanRCommander

>fix(data7mu) >data7mu$metode<factor(data7mu$metode,labels=c('metodestandar', 'metodebaru')) >t.test(waktu~metode,alternative='greater',conf.level=.95,var.equal=TRUE, data=data7mu)

TwoSamplettest

data:waktubymetode t=1.6495,df=16,pvalue=0.05927 alternativehypothesis:truedifferenceinmeansisgreaterthan0 95percentconfidenceinterval: 0.2142871Inf sampleestimates: meaningroupmetodestandarmeaningroupmetodebaru 35.2222231.55556

Hasil ini menunjukkan bahwa nilai statistik t yang diperoleh adalah 1.6495, denganpvaluesebesar0.05927.Denganmenggunakankaidahpengambilankeputusan berdasarkanpvalue,makapada=0.05dapatdisimpulkanbahwapengujianhipotesis menunjukkangagaltolakH0.Dengandemikiandapatdijelaskanbahwarataratawaktu perakitandenganmetodebarudanmetodestandaradalahtidakberbedaataudugaan bahwa metode baru memberikan waktu perakitan lebih cepat adalah tidak didukung olehdata.

7.1.3. PengujianPerbedaanRataratasampelberpasangan(Pairedttest)
Misalkansebuahpabrikinginmembandingkankualitaskeawetandariduajenis banmobilyangberbeda,yaitubanAdanB.Untukperbandingan,dilakukaneksperimen dengan cara sebuah ban jenis A dan sebuah ban jenis B secara acak ditentukan dan dipasang pada roda belakang dari lima mobil. Mobilmobil tersebut dijalankan untuk sejauh km tertentu dan jarak keawetan (jarak sampai diperoleh ban mengalami kerusakan tertentu) dicatat untuk setiap ban. Hasil pengukuran dari percobaan ini (dalam ribu km) dapat dilihat pada Tabel 7.2. Dalam percobaan ini, faktor pengemudi, kondisi mobil, kondisi jalan, dan faktorfaktor lain yang diduga berpengaruh terhadap tingkat keawetan pemakaian ban diharapkan dapat dikendalikan dengan cara me lakukan pengacakan letak ban pada roda belakang setiap mobil yang digunakan. Berdasarkan data pada Tabel 7.2, tentukan apakah hasil ini memberikan cukup bukti untukmenyatakanbahwaadaperbedaantingkatkeawetanuntukkeduajenisbanmobil tersebut.

107

sht90

StatistikInferensimenggunakanRCommander

Tabel7.2.Tingkatkeawetan(dalamribukm)untukduajenisban

Mobil BanA 1. 2. 3. 4. 5. 10,6 9,8 12,3 9,7 8,8

JenisBan BanB 10,2 9,4 11,8 9,1 8,3

PengujianperbedaanrataratasampelberpasangandapatdilakukandenganR CommandersetelahdatatersediadiR.Untukitu,aktifkanduluRCommanderdanbuat datasetbaru,misalkansajadengannamadata7mu3denganmenggunakanmenuData, pilihDatasetbaru.Setelahitubuattigakolomuntukvariabelmobil,banA,danbanB. Isikan data pada Tabel 7.2 pada kolomkolom baru yang tersedia, sehingga diperoleh tampilandatasepertipadaGambar7.9berikutini.

Gambar7.9.JendelatampilandatauntukUjitberpasangan Tahap selanjutnya adalah proses pengujian perbedaan ratarata sampel ber pasangan untuk data di atas, yaitu dengan memilih menu Statistika, pilih Rerata, dan kemudian pilih Ujit berpasangan, sehingga diperoleh jendela dialog seperti pada Gambar7.10.Klikban.ApadajendelaPeubahpertama,danban.BpadajendelaPeubah kedua. Kemudian pilih Hipotesis Alternatif yang sesuai dengan permasalahan di atas, yaituklikDuaarahyangmenyatakanbahwahipotesispenelitianadalahadaperbedaan tingkatkeawetanantarabanAdanB.

108

sht90

StatistikInferensimenggunakanRCommander

Gambar7.10.JendeladialoguntukUjitBerpasangan

Dalam contoh kasus percobaan tingkat keawetan kedua ban ini, hipotesis statistikayangdigunakanadalah H0 : = 0 H1 : 0 atauadaperbedaantingkatkeawetan

dengan adalah ratarata (populasi) selisih tingkat keawetan ban A dengan ban B. Statistikujidalampengujianiniadalahuji t ,yaitu(JohnsondanBhattacharyya,1996)
t= D SD n

dengan D adalah ratarata selisih sampel tingkat keawetan ban A dengan ban B, dan S D adalah deviasi standar dari selisih sampel tingkat keawetan ban A dengan ban B, serta n adalah banyaknya sampel data. Karena uji ini termasuk dalam uji dua arah dengan H1 bertanda tidak sama dengan atau , maka H0 ditolak jika nilai uji t memenuhidaerahpenolakan,yaitu
| t | > t
2 ; df = n 1

ataupvalue < .

Kemudian, pilih Interval Keyakinan yang digunakan (misalkan saja 0.95 yang berarti =5%). Setelah semua isian dialog sudah sesuai dengan pengujian yang akan dilakukan,klikOKuntukmenampilkanhasiloutputdaripengujiansampelberpasangan sepertiberikutini.

109

sht90

StatistikInferensimenggunakanRCommander

>t.test(data7mu3$Ban.A,data7mu3$Ban.B,alternative='two.sided', conf.level=.95,paired=TRUE)

Pairedttest

data:data7mu3$Ban.Aanddata7mu3$Ban.B t=12.8285,df=4,pvalue=0.0002128 alternativehypothesis:truedifferenceinmeansisnotequalto0 95percentconfidenceinterval: 0.37611490.5838851 sampleestimates: meanofthedifferences 0.48

Hasilinimenunjukkanbahwanilaistatistik t yangdiperolehadalah12.8285,dan pvalue pengujian adalah 0.0002128. Dengan menggunakan kaidah pengambilan keputusanberdasarkanpvalue,makapada=0.05dapatdisimpulkanbahwapengujian menunjukkantolakH0.Dengandemikiandapatdijelaskanbahwaratarataselisihtingkat keawetan antara ban A dan B adalah berbeda. Hasil ini menunjukkan bahwa ban A mempunyai tingkat keawetan lebih lama (jarak lebih jauh) dibanding ban B. Hal ini ditunjukkan oleh nilai positif pada ratarata selisih jarak tempuh antara ban A dan B sampaibanbantersebutrusak.

7.1.4. AnalisisVariansi(ANAVA)satuarah(OnewayANOVA)
Suatueksperimendilakukanuntukmembandingkanhargasepotongroti(merek tertentu) pada empat lokasi di suatu kota. Empat toko pada lokasi 1, 2 dan 3 dipilih secaraacaksebagaisampel,sedangkandilokasi4hanyaduatokoyangterpilih(hanya duatokoiniyangmenjualmerektersebut).Diperolehdatasebagaiberikut:

Tabel7.3.Hargasepotongrotimerektertentupadaempatlokasi

Lokasi

Harga(riburupiah)

1 2 3 4

1.59 1.58 1.54 1.69

1.63 1.61 1.54 1.70

1.65 1.64 1.55

1.61 1.63 1.58

110

sht90

StatistikInferensimenggunakanRCommander

Apakah data ini memberikan bukti yang cukup untuk menyatakan bahwa ada perbedaanrataratahargarotiditokotokopada4lokasiyangtersebardikota tersebut?
Pengujian perbedaan ratarata dari empat sampel ini dapat dilakukan dengan metode ANAVA satu arah yang tersedia di RCommander setelah data tersedia di R. Untuk itu, buat dataset baru, misalkan saja dengan nama data7mu4 dengan menggunakan menu Data, pilih Dataset baru . Setelah itu buat dua kolom untuk variabel lokasi, dan harga. Isikan data pada Tabel 7.3 pada kolomkolom baru yang tersedia,sehinggadiperolehdatasepertipadaGambar7.11. Seperti pada Ujit sampel saling bebas, diperlukan langkah awal untuk mengaktifkanANAVAsatuarahini,yaitumengkonversivariabellokasimenjadifaktor. Hal ini dapat dilakukan dengan menggunakan menu Data, pilih Atur peubah pada dataset aktif, dan kemudian klik Konversi peubah numerik ke faktor , seperti yang digunakanpadavariabelmetodepadaUjitsampelsalingbebasdibagiansebelumnya, yaitusubbab7.1.2.

Gambar7.11.JendelatampilandatauntukANAVAsatuarah Darigambarinidapatdilihatbahwastrukturdatayangdigunakanadalahsamadengan padapengujianrataratasampelsalingbebas(independen).

111

sht90

StatistikInferensimenggunakanRCommander

Tahap selanjutnya adalah proses pengujian ANAVA satu arah, yaitu dengan memilih menu Statistika, pilih Rerata, dan kemudian pilih ANAVA Satuarah. Selain itu,ujiANAVAsatuarahinidapatjugadilakukandenganmenggunakanmenuStatistika, pilihRerata,dankemudianpilihANAVAMultiarah,sehinggadiperolehjendeladialog sepertipadaGambar7.12berikutini.

Gambar7.12.JendeladialoguntukANAVAmultiarah

Pada jendela dialog pilihan ANAVA multiarah terlihat bahwa fasilitas ini dapat digunakanuntuksatuataulebihfaktor.Sehinggakalauhanyasatufaktoryangdiselidiki, makafasilitasiniadalahsamasajadenganANAVAsatuarah. Selanjutnya, klik lokasi pada jendela Faktor, dan harga pada jendela Peubah respon. Pada contoh kasus perbandingan ratarata harga ini, hipotesis statistika yang digunakanadalah H0: 1=2=3=4= H1: minimaladasatumeanpopulasiyangbeda

dengan i adalah ratarata (populasi) harga roti di lokasi i. Statistik uji yang digunakan adalah uji F, dan bentuk perhitungannya disajikan dalam suatu tabel yang dikenal dengan tabel ANAVA. Berikut ini adalah bentuk umum tabel ANAVA satu arah untuk perbandinganrataratakpopulasi(JohnsondanBhattacharyya,1996).

Sumber Treatment Error Total

d.f. k1 nk n1

SS SST SSE SSTotal

MS MST=SST/(k1) MSE=SSE/(nk)

F MST/MSE

RumusuntukperhitungannilainilaiSST,SSEdanSSTotaladalahsebagaiberikut.

112

sht90

StatistikInferensimenggunakanRCommander

PerhitunganSSTatauSumSquaresofTreatment

SST= ni ( x i x ) 2 =
i =1

Ti2 T 2 n i =1 ni
k

PerhitunganSSEatauSumSquaresofErrors

SSE= ( x ij x i ) 2
i =1 j =1

k ni

PerhitunganSSTotalatauSumSquaresofTotal dengan
2 SSTotal= ( x ij x ) 2 = x ij i =1 j =1 ij k ni

T2 n

Ti =Totalpengamatanpopulasi(treatment)kei
T = Totalpengamatanseluruhnya ni = Banyaknyapengamatantreatmentkei

n = Banyaknyapengamatanseluruhnya.

Kembali ke Gambar 7.12, setelah pengisian peubah pada jendela Faktor, dan jendela Peubah respon, selanjutnya klik OK untuk menampilkan output dari pengujian seperti berikutini.

>Anova(lm(harga~lokasi,data=data7mu4)) AnovaTable(TypeIItests)

Response:harga SumSqDfFvaluePr(>F) lokasi0.00087530.08970.964 Residuals0.03252510

>tapply(data7mu4$harga,list(lokasi=data7mu4$lokasi),mean,na.rm=TRUE)#means lokasi 1234 1.60001.62001.61251.6050

>tapply(data7mu4$harga,list(lokasi=data7mu4$lokasi),sd,na.rm=TRUE)#std.deviations lokasi 1234 0.063770420.065828060.045000000.03535534

113

sht90

StatistikInferensimenggunakanRCommander

HasilinimenunjukkanbahwanilaistatistikFyangdiperolehadalah0.0897,dan pvalue pengujian adalah 0.964. Dengan menggunakan kaidah pengambilan keputusan berdasarkan pvalue, maka pada =0.05 dapat disimpulkan bahwa pengujian menunjukkan gagal tolak H0. Dengan demikian dapat dijelaskan bahwa ratarata harga rotidiempatlokasiituadalahsama. Selain dengan menggunakan perintah di RCommander, dapat juga digunakan commandlinediRConsoleyaitumenggunakanperintahlm.Perintahinisecaraumum adalahuntukuntukanalisismodellinear(linearmodel),termasukjugadapatdigunakan untuk analisis regresi linear. Berikut ini adalah contoh penggunakan perintah lm pada datadiatasbesertaoutputnya.

>fit<lm(harga~lokasi,data=data7mu4) >summary(fit)

Call: lm(formula=harga~lokasi,data=data7mu4)

Residuals: Min1QMedian3QMax 0.080000.023750.006250.026870.09000

Coefficients: EstimateStd.ErrortvaluePr(>|t|) (Intercept)1.600000.0285156.1107.84e14*** lokasi[T.2]0.020000.040330.4960.631 lokasi[T.3]0.012500.040330.3100.763 lokasi[T.4]0.005000.049390.1010.921 Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:0.05703on10degreesoffreedom MultipleRSquared:0.0262,AdjustedRsquared:0.2659 Fstatistic:0.08967on3and10DF,pvalue:0.964 >anova(fit) AnalysisofVarianceTable

Response:harga DfSumSqMeanSqFvaluePr(>F) lokasi30.0008750.0002920.08970.964 Residuals100.0325250.003252

Hasil dengan perintah ini memberikan output yang lebih banyak, termasuk koefisien regresiyangdapatdigunakanuntukmenghitungrataratahargarotipadasetiaplokasi.

114

sht90

StatistikInferensimenggunakanRCommander

7.1.5. AnalisisVariansi(ANAVA)duaarah(MultiwayANOVA)
Suatu eksperimen dilakukan untuk menguji apakah terdapat efek (pengaruh) dariduafaktor,yaitujenismaterialdantemperaturpemakaian,terhadaplamabaterai tertentu dapat bertahan (usia pakai baterai). Tiga jenis material dan tiga macam temperaturberbedadipilihsecaraacakdandigunakandalameksperimenini.Dalamhal ini,temperaturyangdipilihadalah15,70,dan125(dalam0F).Padasetiapselkombinasi perlakuandilakukanpengulangan(replikasi)sebanyakempatkali.Datahasileksperimen inisecaralengkapdapatdilihatpadaTabel7.4. Tabel7.4.Dataeksperimanterhadapusiapakaibaterai(dalamjam)

Temperatur(0F) TipeMaterial 15 1 2 3 130155 74180 150188 159126 138110 168160 70 3440 8075 136122 106115 174120 150139 125 2070 8258 2570 5845 96104 8260

Apakahdatainimemberikanbuktiyangcukupuntukmenyatakanbahwaadaefekjenis materialdantemperaturterhadapusiapakaibaterai? Untuk menguji efek kedua faktor tersebut dapat dilakukan dengan metode ANAVA multi arah yang tersedia di RCommander. Untuk itu, buat dataset baru, misalkansajadengannamadata7mu5denganmenggunakanmenuData,pilihDataset baru. Setelah itu buatdua kolomuntuk variabellokasi, dan harga. Isikan data pada Tabel 7.4 pada kolomkolom baru yang tersedia, sehingga diperoleh data seperti pada Gambar7.13.Darigambarinidapatdilihatbahwastrukturdatayangdigunakanadalah samadenganpadaANAVAsatuarah. Seperti pada ANAVA satu arah, diperlukan langkah awal untuk mengaktifkan ANAVA satu arah ini, yaitu mengkonversi variabel jenis material dan temperatur menjadi faktor. Hal ini dapat dilakukan dengan menggunakan menu Data, pilih Atur peubah pada dataset aktif, dan kemudian klik Konversi peubah numerik ke faktor , sepertiyangdigunakanpadavariabellokasipadaANAVAsatuarahsebelumnya.Dalam kasus ini, karena ada dua faktor yang akan diselidiki pengaruhnya terhadap respon, makaanalisisyangdigunakandisebutANAVAduaarah.

115

sht90

StatistikInferensimenggunakanRCommander

Gambar7.13.JendelatampilandatauntukANAVAduaarah Tahap selanjutnya adalah proses pengujian ANAVA dua arah, yaitu dengan memilih menu Statistika, pilih Rerata, dan kemudian pilih ANAVA Multiarah, sehinggadiperolehjendeladialogsepertipadaGambar7.14.Padajendeladialogpilihan ANAVA multiarah klik material dan temperat pada jendela Faktor, dan usia pada jendela Peubah respon. Pada contoh kasus ini, ada tiga hipotesis statistika yang digunakan,yaitu: 1.EfekfaktorJenisMaterial H0 : i=0(i=1,2,3)atautidakadaefekjenismaterialterhadapusiapakai H1 : minimaladasatui0atauadaefekjenismaterialterhadapusiapakai

116

sht90

StatistikInferensimenggunakanRCommander

2.EfekfaktorTemperatur H0 : j=0(j=1,2,3)atautidakadaefektemperaturterhadapusiapakai H1 : minimaladasatuj0atauadaefektemperaturterhadapusiapakai

3.EfekinteraksifaktorJenisMaterialdanTemperatur H0 : ()ij=0(i,j=1,2,3)atautidakadaefekinteraksi H1 : minimaladasatuj0atauadaefekinteraksi

Gambar7.14.JendeladialoguntukANAVAmultiarah

Kemudian,klikOKuntukmenampilkanoutputdari pengujianANAVA duaarahseperti dalamkotakdibawahparagrafini.Hasilinimenunjukkanbahwaadaefekyangsignifikan dari jenis material, temperatur, serta interaksi antara jenis material dan temperatur, terhadapusiapakaibaterai.Haliniditunjukkanolehpvalueyangsemuanyalebihkecil dari=0.05padaketigaefekyangdievaluasi.

>data7mu5$material<as.factor(data7mu5$material) >data7mu5$temperat<as.factor(data7mu5$temperat) >Anova(lm(usia~material*temperat,data=data7mu5)) AnovaTable(TypeIItests) Response:usia SumSqDfFvaluePr(>F) material39119228.96771.909e07*** temperat1068427.91140.001976** material:temperat961443.55950.018611* Residuals1823127 Signif.codes:0***0.001**0.01*0.05.0.11

117

sht90

StatistikInferensimenggunakanRCommander

>tapply(data7mu5$usia,list(material=data7mu5$material, temperat=data7mu5$temperat),mean,na.rm=TRUE)#means
temperat material 15 70 125 1 134.75 155.75 144.00 2 57.25 119.75 145.75 3 57.50 49.50 85.50

>tapply(data7mu5$usia,list(material=data7mu5$material, temperat=data7mu5$temperat),sd,na.rm=TRUE)#std.deviations
temperat material 15 70 125 1 45.35324 25.61738 25.97435 2 23.59908 12.65899 22.54440 3 26.85144 19.26136 19.27866

>tapply(data7mu5$usia,list(material=data7mu5$material, temperat=data7mu5$temperat),function(x)sum(!is.na(x)))#counts
temperat material 15 70 125 1 4 4 4 2 4 4 4 3 4 4 4

Sebagai tambahan, hasil dari perintah ANAVA multi arah pada RCommander juga menampilkan output yang berisi nilainilai mean, standar deviasi, dan jumlah pengulanganpadasetiapselkombinasiantarfaktor.

7.2.PengujianKesamaanVariansi
Rmenyediakantigamacampilihanpadapengujiankesamaanvariansi,yaituUji F dua variansi, Uji Bartlett, dan Uji Levene. Pilihanpilihan analisis statistika tersebut dapat diperoleh dengan memilih menu Statistika, dan kemudian memilih Variansi. Berikutiniadalahpenjelasanuntukmasingmasingujitersebut.

7.2.1. PengujianKesamaanDuaVariansi
Pada bagian 7.1.2 sebelumnya telah dibahas pengujian ratarata dua sampel independendenganujit.Dalamujiiniadaduapilihanberkaitandenganasumsivarians dariduasampelyangdiamati,yaitusamaatauberbeda.Untukmengujikesamaandua varianstersebutdapatdilakukandenganujiF.

118

sht90

StatistikInferensimenggunakanRCommander

Perhatikan kembali contoh kasus perbandingan lama waktu merakit produk antarametodestandardanmetodebaruyangdatanyadapatdilihatdiTabel7.1.Untuk melakukan pengujian kesamaan variansi lama waktu merakit pada kedua metode tersebut, R menyediakan fasilitas dengan cara memilih menu Statistika, pilih Variansi, dansetelahitupilihUjiFDuavariansi,sehinggadiperolehjendeladialogsepertipada Gambar7.15.(Aktifkanterlebihdahuludatasetyangsudahtersimpansebelumnya,yaitu datasetpadabagian7.1.2)

Gambar7.15.JendeladialoguntukUjiFDuaVariansi

Selanjutnya, klik metode pada jendela Kelompok, dan waktu pada jendela Peubahrespon.Padacontohkasusperbandinganduavariansdarilamawaktumerakit produk dengan metode standar dan metode baru, hipotesis statistika yang digunakan adalah(JohnsondanBhattacharyya,1996)
2 2 H0: 1 = 2 ataukeduavariansadalahsamabesar 2 2 H1: 1 2 ataukeduavariansadalahberbeda.

Statistik uji yang digunakan adalah uji F. Ada tiga pilihan Hipotesis Alternatif atau H1 yang dapat dilakukan, yaitu Duaarah, Selisih<0, dan Selisih>0. Pada contoh ini klik pilihanDuaarahsesuaidenganyangdinyatakanpadahipotesisstatistikadiatas.Setelah itu tetapkan Level Keyakinan yang digunakan dalam pengujian (misalkan 0,95 yang berarti =0.05). Klik OK sehingga diperoleh tampilan output pada jendela keluaran sepertiberikutini.

119

sht90

StatistikInferensimenggunakanRCommander

>var.test(waktu~metode,alternative='two.sided',conf.level=.95,data=data7mu2) Ftesttocomparetwovariances data:waktubymetode F=1.2205,numdf=8,denomdf=8,pvalue=0.7849 alternativehypothesis:trueratioofvariancesisnotequalto1 95percentconfidenceinterval: 0.27531145.4109136 sampleestimates: ratioofvariances 1.220527

Hasil ini menunjukkan bahwa tidak ada perbedaan varians dari lama waktu merakit produk dengan metode standar dan metode baru. Hal ini ditunjukkan oleh p value(yaitu0.7849)yanglebihbesardari=0.05.

7.2.2. UjiBartlett
R menyediakan fasilitas untuk pengujian kesamaan varians dari beberapa sampel(lebihdariduasampel).Sebagaicontohkasus,lihatkembalibagian7.1.5tentang pengujian tentang efek jenis material dan temperatur terhadap usia pakai baterai. Misalkan ingin diketahui apakah ada perbedaan varians usia pakai baterai pada ketiga jenis material yang digunakan, maka dapat digunakan menu Statistika, pilih Variansi, dan setelah itu pilih Uji Bartlett, sehingga diperoleh jendela dialog seperti pada Gambar7.16.(Aktifkanterlebihdahuludatasetyangsudahtersimpansebelumnya,yaitu data7mu5padabagian7.1.5).

Gambar7.16.JendeladialoguntukUjiBartlett

120

sht90

StatistikInferensimenggunakanRCommander

Selanjutnya, pilih material pada jendela Kelompok, dan usia pada jendela Peubahrespon.Padacontohkasusini,hipotesisstatistikayangdigunakanadalah
>bartlett.test(usia~material,data=data7mu5) Bartletttestofhomogeneityofvariances data:usiabymaterial Bartlett'sKsquared=2.8321,df=2,pvalue=0.2427
2 2 2 H0: 1 = 2 = 3 atauketigavariansadalahsamabesar

H1: minimaladasatuvariansyangberbeda.

KlikOKsehinggadiperolehtampilanoutputpadajendelakeluaransepertiberikutini.

Hasilinimenunjukkanbahwatidakadaperbedaanvariansdariusiapakaibateraipada ketigajenismaterialyangdigunakandalameksperimen.Haliniditunjukkanolehpvalue (yaitu0.2427)yanglebihbesardari=0.05.

7.2.3. UjiLevene
Seperti pada bagian sebelumnya, Uji Levene adalah uji yang dapat digunakan untuk pengujian kesamaan varians dari beberapa sampel (lebih dari dua sampel). Perhatikan kembali contoh pada bagian sebelumnya, yaitu apakah ada perbedaan varians usia pakai baterai pada ketiga jenis material yang digunakan. R menyediakan fasilitas untuk Uji Levene yaitu melalui menu Statistika, pilih Variansi, dan setelah itu pilihUjiLevene,sehinggadiperolehjendeladialogsepertipadaGambar7.16.

Gambar7.17.JendeladialoguntukUjiLevene

121

sht90

StatistikInferensimenggunakanRCommander

Selanjutnya, pilih material pada jendela Kelompok, dan usia pada jendela Peubah respon. Seperti pada contoh sebelumnya, hipotesis statistika yang digunakan adalah

2 2 2 H0: 1 = 2 = 3 atauketigavariansadalahsamabesar

H1: minimaladasatuvariansyangberbeda.

KlikOKsehinggadiperolehtampilanoutputpadajendelakeluaransepertiberikutini.
>tapply(data7mu5$usia,data7mu5$material,var,na.rm=TRUE)

123 1004.51521838.9924659.0606 >levene.test(data7mu5$usia,data7mu5$material)

Levene'sTestforHomogeneityofVariance DfFvaluePr(>F) group21.04450.3632 33

Seperti pada hasil Uji Bartlett sebelumnya, hasil Uji Levene ini menunjukkan bahwa tidak ada perbedaan varians dari usia pakai baterai pada ketiga jenis material yang digunakandalameksperimen.Haliniditunjukkanolehpvalue(yaitu0.3632)yanglebih besardari=0.05.

7.3.PengujianProporsi
Rmenyediakandua macampilihanpadapengujianproporsi,yaituUjiProporsi SampelTunggaldanUjiProporsiDuaSampel.Pilihanpilihananalisisstatistikatersebut dapat diperoleh dengan memilih menu Statistika, dan kemudian memilih Proporsi. Untuk penjelasan pengujian proporsi ini digunakan data HBAT.SAV yang ada di buku Hair dkk. (2006, hal. 2831) dengan judul Multivariate Data Analysis. Data tersebut berisi data profil responden, tingkat persepsi terhadap variabelvariabel pemasaran (kualitas produk, image website, kecepatan pengiriman, dan lainlain), serta tingkat kepuasankonsumen. Sebagai tahap awal, gunakan RCommander untuk melakukan impor data file SPSS yaitu HBAT.SAV ke file R. Untuk itu, gunakan menu Data, pilih Impor data, dan kemudian klik dari dataset SPSS. Setelah itu, pengujian proporsi dengan R dapat dilakukandenganpilihanpilihanmenuyangtersedia.

122

sht90

StatistikInferensimenggunakanRCommander

7.3.1. PengujianProporsiSampelTunggal
Pada data HBAT ada salah satu pertanyaan yang berkaitan dengan apakah konsumen akan melakukan hubungan (memesan kembali) di masa yang akan datang denganperusahaan(dinotasikanX23).Adaduajawabanyangdapatdipilih,yaituTIDAK dan YA. Misalkan dari 100 konsumen yang telah memberikan jawaban ingin diketahui apakah ada perbedaan proporsi yang menjawab TIDAK dan YA. Hal ini sama dengan pengujian untuk mengetahui apakah proporsi konsumen yang menjawab TIDAK (tidak maumelakukanhubungandimasadatang)adalah0,50. Uji proporsi sampel tunggal pada R disediakan melalui menu Statistika, pilih Proporsi,dansetelahitupilihUjiproporsiSampeltunggal,sehinggadiperolehjendela dialogsepertipadaGambar7.18berikutini.

Gambar7.18.JendeladialoguntukUjiProporsiSampelTunggal

Selanjutnya,pilihX23padajendelaPeubah,danisikanangka0.5padajendelaHipotesis nol:p=. Seperticontohsebelumnya, adatigapilihan Hipotesis Alternatif atau H1 yaitu ProporsiPopulasi=p0,ProporsiPopulasi<p0,danProporsiPopulasi>p0.Padacontoh iniklikProporsiPopulasi=p0sesuaidenganhipotesisstatistikayangdigunakanyaitu

H0: p=0,50atauproporsiyangmenjawabTIDAKadalah0,50 H1: p0,50

123

sht90

StatistikInferensimenggunakanRCommander

SetelahitutetapkanLevelKeyakinanyangdigunakandalampengujian(misalkan 0,95 yang berarti =0.05) beserta Tipe Ujinya. Klik OK sehingga diperoleh tampilan outputpadajendelakeluaransepertiberikutini.


>hbat<read.spss("D:/hair_multivariate_6_data/HBAT.sav", use.value.labels=TRUE,max.value.labels=Inf,to.data.frame=TRUE)

>.Table<xtabs(~X23,data=hbat)

>.Table X23 No,wouldnotconsiderYes,wouldconsider 5545 >prop.test(rbind(.Table),alternative='two.sided',p=.5,conf.level=.95, correct=FALSE) 1sampleproportionstestwithoutcontinuitycorrection data:rbind(.Table),nullprobability0.5 Xsquared=1,df=1,pvalue=0.3173 alternativehypothesis:truepisnotequalto0.5 95percentconfidenceinterval: 0.45244600.6438546 sampleestimates: p 0.55

Dalam kasus ini, statistik uji yang digunakan adalah uji Chisquare atau 2 , yaitu (JohnsondanBhattacharyya,1996)
2 =
(Oi E i ) 2 , Ei i =1
2

dengan E i = np = 100 0,5 = 50 untukmasingmasingi. Hasil output di atas menunjukkan bahwa pengujian gagal menolak H0 yaitu proporsi konsumen yang menjawab TIDAK mau menjalin kembali hubungan di masa datangadalah0,50.Haliniditunjukkanolehpvalue(yaitu0.3173)yanglebihbesardari =0.05. Dengan demikian dapat disimpulkan bahwa tidak ada perbedaan proporsi konsumenyangmaudantidakmaumenjalinkembalihubungandenganperusahaandi masadatang.

124

sht90

StatistikInferensimenggunakanRCommander

7.3.2. PengujianProporsiDuaSampel
Salah satu variabel profile konsumen pada data HBAT adalah jenis perusahaan (dinotasikan X2), yaitu magazine industry dan newsprint industry. Misalkan ingin diketahui apakah ada perbedaan proporsi yang menjawab TIDAK dan YA pada per tanyaan tentang mau tidaknya melakukan hubungan kembali di masa datang dalam keduakelompokkonsumenindustritersebut. Uji proporsi dua sampel adalah uji statistik yang dapat dilakukan untuk menjawab permasalahan tersebut. R menyediakan fasilitas uji ini melalui menu Statistika, pilih Proporsi, dan setelah itu pilih Uji proporsi dua sampel, sehingga diperolehjendeladialogsepertipadaGambar7.19.

Gambar7.19.JendeladialoguntukUjiProporsiduasampel

Selanjutnya,pilihX2padajendelaKelompok,danpilihX23padajendelaPeubahrespon. Padacontohinihipotesisstatistikayangdigunakanadalah H0: p1=p2atau proporsiyangmenjawabTIDAKmaumelakukanhubungan kembalidimasadatangpadakonsumenmagazineindustry dannewsprintindustryadalahSAMA H1: p1p2atau adaPERBEDAANproporsiyangmenjawabTIDAKmau melakukanhubungankembalidimasadatangpada konsumenmagazineindustrydannewsprintindustry

125

sht90

StatistikInferensimenggunakanRCommander

SetelahitupilihHipotesisAlternatifatauH1yangsesuaidenganhipotesisdiatas, yaitu Duaarah. Tetapkan juga Level Keyakinan dan Tipe Uji yang digunakan. Klik OK sehinggadiperolehtampilanoutputpadajendelakeluaransepertiberikutini.
>.Table<xtabs(~X2+X23,data=hbat) >.Table X23 X2No,wouldnotconsiderYes,wouldconsider Magazineindustry3022 Newsprintindustry2523 >rowPercents(.Table) X23 X2No,wouldnotconsiderYes,wouldconsiderTotalCount Magazineindustry57.742.310052 Newsprintindustry52.147.910048 >prop.test(.Table,alternative='two.sided',conf.level=.95,correct=FALSE) 2sampletestforequalityofproportionswithoutcontinuity correction data:.Table Xsquared=0.3173,df=1,pvalue=0.5732 alternativehypothesis:two.sided 95percentconfidenceinterval: 0.13885710.2510366 sampleestimates: prop1prop2 0.57692310.5208333

Padacontohkasusini,statistikujiyangdigunakanadalahujiChisquareatau 2 seperti padasubbab6.8sebelumnya,yaitu(JohnsondanBhattacharyya,1996) dengan

2 =

2 2

(Oij E ij ) 2 E ij

i =1 j =1

Oij = jumlahpengamatanpadabariskeidankolomkej,
E ij = nilaiekspektasipengamatanpadabariskeidankolomkej.

126

sht90

StatistikInferensimenggunakanRCommander

Daerahpenolakanuntukpengujianperbedaankeduaproporsiini,yaitutolakH0 yangberartiadaperbedaanproporsiyangmenjawabTIDAKmaumelakukanhubungan kembali dimasa datang pada konsumen magazine industry dan newsprint industry adalahjikanilai
2 2 > ,df =1 ataunilai p < .

Hasil output di atas menunjukkan bahwa pengujian gagal menolak H0 yaitu proporsi konsumen yang menjawab TIDAK mau menjalin kembali hubungan di masa datang antara konsumen magazine industry dan newsprint industry adalah SAMA. Hal ini ditunjukkanolehpvalue(yaitu0.5732)yanglebihbesardari =0.05.Dengandemikian dapat disimpulkan bahwa jenis industri dari konsumen tidak memberikan perbedaan terhadap kemauan dalam menjalin kembali hubungan dengan perusahaan di masa datang.

127

sht90

AnalisisRegresimenggunakanRCommander

BAB8 ANALISISREGRESIMENGGUNAKANRCommander

Ada berbagai prosedur dan library untuk melakukan analisis data dengan berbagai jenis persamaan regresi yang disediakan oleh R, baik model regresi linear ataupunnonlinear.Padabagianiniakandijelaskananalisisregresilinearyangdisediakan di RCommander. Secara umum ada dua menu yang disediakan RCommander untuk analisisregresilinear,yaituRegresiLineardanModelLinear.

8.1.RegresiLinear
Secara umum bentuk matematis dari model regresi linier sederhana dapat dinyatakansebagaiberikut(DraperdanSmith,1981;Kutnerdkk.,2004) atau dengan
Y = nilaipengamatandaripeubahatauvariabeltakbebas(respon) X = nilaipengamatandaripeubahatauvariabelbebas(prediktor) Y = nilairamalanatauprediksidaripeubahatauvariabeltakbebas(respon)
Y = 0 + 1 X

Y = 0 + 1 X +

= nilaikesalahanramalan 0 = intersepataukonstanta 1 = slopeataukoefisienkemiringanmodelregresi.

Metodekuadralterkecilatauordinaryleastsquares(OLS)adalahsuatumetode yang digunakan untuk menentukan suatu garis lurus atau menaksir nilai 0 dan 1 dengankesesuaianterbaikyangmeminimumkanjumlahkuadratpenyimpangannilai Y yang diamati dari nilainilai yang diramalkan (jumlah kuadrat kesalahan atau 2 ). Secaramatematismetodeiniadalahmeminimumkan
SSE = (Yi Yi ) 2
i =1
n

= (Yi 0 1 X i ) 2 .
i =1

Denganmenggunakandifferensialterhadap 0 dan 1 akandiperolehnilaitaksiran kuadratterkeciluntuk 0 dan 1 .

128

sht90

AnalisisRegresimenggunakanRCommander

Berikut ini adalah rumus untuk mendapatkan nilainilai taksiran 0 dan 1 denganmenggunakanOLS,(DraperdanSmith,1981)

1 =

i =1

( X i X )(Yi Y )
i =1 2 (X i X ) n

1 = i =n , X i2 nX 2 i =1

X i Yi nXY

dan Misalkan akan diamati hubungan antara tingkat persepsi konsumen terhadap kualitas produk HBAT (variabel X6) dan tingkat kepuasan konsumen (variabel X19) melaluimodelregresilinear.Untukkeperluanini,RCommandermenyediakanfasilitas melaluimenuStatistika,pilihPencocokanModel,dansetelahitupilihRegresiLinier, sehingga diperoleh jendela dialog seperti pada Gambar 8.1. Menu ini disediakan terutama untuk estimasi model regresi linear dari variabel dependen yang bersifat metrikdenganvariabelindependenyangsemuanyabersifatmetrik,dansecaradefault memuatkomponenkonstantadalammodelregresinya.
0 = Y 1 X .

Gambar8.1.JendeladialoguntukRegresiLinier

129

sht90

AnalisisRegresimenggunakanRCommander

Pada contoh kasus HBAT ini, ketik nama untuk model regresi linear yang akan diestimasi (default adalah Regmodel.1). Hal ini berarti output hasil estimasi regresi linear disimpan sebagai objek dengan nama Regmodel.1. Kemudian pilih X19 (tingkat kepuasan konsumen) pada jendela Peubah respon (variabel dependen), dan pilih X6 (tingkat persepsi konsumen terhadap kualitas produk HBAT) pada jendela Peubah eksplanatori (variabel independen). Jendela dialog pada variabel independen menye diakan pilihan satu atau lebih yang mengindikasikan bahwa menu ini secara umum dapat digunakan untuk analisis regresi linear berganda. Klik OK sehingga diperoleh outputmodelregresilinearsederhanasepertiberikutini.

>RegModel.1<lm(X19~X6,data=hbat)

>summary(RegModel.1)

Call: lm(formula=X19~X6,data=hbat)

Residuals: Min1QMedian3QMax 1.887460.727110.015770.856412.25220

Coefficients: EstimateStd.ErrortvaluePr(>|t|) (Intercept)3.675930.597656.1511.68e08*** X60.415120.075345.5102.90e07*** Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:1.047on98degreesoffreedom MultipleRSquared:0.2365,AdjustedRsquared:0.2287 Fstatistic:30.36on1and98DF,pvalue:2.901e07

>#perhatikanhasildariperintahperintahberikutini

>hbat$fitted.RegModel.1<fitted(RegModel.1)

>hbat$residuals.RegModel.1<residuals(RegModel.1)

>hbat$rstudent.RegModel.1<rstudent(RegModel.1)

>hbat$hatvalues.RegModel.1<hatvalues(RegModel.1)

>hbat$cooks.distance.RegModel.1<cooks.distance(RegModel.1)

>#Perintahuntukmendapatkangambargarisregresi

>plot(hbat$X6,hbat$X19) >lines(hbat$X6,hbat$fitted.RegModel.1,col="red")

130

sht90

AnalisisRegresimenggunakanRCommander

Output tersebut menunjukkan bahwa model linear regresi yang menunjukkan hubungan antara X yaitu persepsi kualitas produk terhadap Y yaitu kepuasan konsumenberdasarkandatasampeladalah
Y = 3,67593 + 0,41512 X

Model regresi linear ini menjelaskan bahwa ada pengaruh positif antara persepsi kualitas produk terhadap kepuasan konsumen. Nilai dugaan slope sebesar 0,41512 dapat diinterpretasikan sebagai kenaikan ratarata tingkat kepuasan konsumen akibat kenaikanpersatuanpersepsikualitasproduk.Hasilujitmenunjukkanbahwapengaruh persepsikualitasproduktersebutadalahsignifikansecarastatistikpada=0.05.Halini ditunjukkanolehbesarnyapvaluedariujit(yaitu2.90e07)yanglebihkecildari=0.05. Perintah terakhir pada output di atas adalah untuk mendapatkan garis regresi yangmenjelaskanhubunganantarapersepsiterhadapkualitasprodukdengankepuasan konsumen.HasildariperintahinidapatdilihatpadaGambar8.2.Darigambarinidapat dijelaskan bahwa secara keseluruhan terdapat variasi observasi yang besar dari garis regresi yang ada. Hal ini juga ditunjukkan oleh nilai koefisien determinasi (R2) model yangcukupkecil,yaitu0,2365.

Gambar8.2.Plotobservasidanhasilgarisregresilinear

131

sht90

AnalisisRegresimenggunakanRCommander

8.2.ModelLinear
Menu pilihan Model Linier pada RCommander bersifat lebih umum daripada menu Regresi Linier sebelumnya. Pada menu ini, variabel dependen dibatasi hanya untuk variabel yang bersifat metrik. Sedangkan untuk variabel independen, tidak terbatas hanya untuk variabel yang bersifat metrik, tetapi juga dapat yang bersifat nonmetrik atau bertipe kategori (yang dalam pengolahan data menggunakan variabel dummy). Secara umum model regresi linear yang melibatkan lebih dari satu variabel bebas(prediktor)dikenaldenganmodelregresilinearberganda.Bentukmatematisdari modelregresilinearbergandaadalah(DraperdanSmith,1981;Kutnerdkk.,2004) dengan
Y = nilairamalanatauprediksidaripeubahatauvariabeltakbebas(respon) X i = nilaipengamatandarivariabelbebas(prediktor),dengan i = 1,2, K , p

Y = 0 + 1 X 1 + 2 X 2 + K + p X p

0 = intersepataukonstanta i = slopeataukoefisienkemiringanmodelregresi,dengan i = 1,2, K , p .

Estimasiterhadapparameterdalammodelregresilinearbergandatersebut( 0 , 1 , 2 ) diperlukan untuk mendapatkan model tersebut. Seperti pada model linear sederhana, halinidapatdilakukandenganmenggunakanmetodekuadratterkecil(OLS).

Nilai taksiran koefisien regresi berganda ini dapat pula diperoleh dengan cara pendekatanmatrikyaitu,(DraperdanSmith,1981;Kutnerdkk.,2004) dengan
= matrikstaksiranparameter(ukuranp1,denganpadalahjumlah = (X X) 1 X Y

parameteryangditaksir) X = matriksvariabelbebas(ukurannp) Y = matriksvariabeltakbebas(ukurann1). Untukp=2,makacontohpenjelasanmatriksdiatasdapatditulissebagaiberikut


1 X 11 1 X 0 21 = , X = 1 X 1 31 2 ... ... 1 X n1 X 12 Y1 Y X 22 2 X 32 ,dan Y = Y3 . ... ... Yn X n2

132

sht90

AnalisisRegresimenggunakanRCommander

Misalkan akan diteliti hubungan antara tipe konsumen berdasarkan lamanya menjadi konsumen (variabel X1) dan tingkat persepsi konsumen terhadap kualitas produkHBAT(variabelX6)terhadaptingkatkepuasankonsumen(variabelX19)melalui model regresi linear berganda. Dalam hal ini X1 merupakan variabel nonmetrik yang terdiri dari 3 kategori, yaitu kurang dari 1 tahun, 15 tahun, dan lebih dari 5 tahun. Untuk keperluan analisis regresi linear berganda ini, RCommander menyediakan fasilitas melalui menu Statistika, pilih Pencocokan Model, dan setelah itu pilih Model Linier,sehinggadiperolehjendeladialogsepertipadaGambar8.3.

Gambar8.3.JendeladialoguntukModelLinier

Dalamkasusini,modelregresilinearbergandayangakandicaribentuknyaadalah
Y = 0 + 1 X 11 + 2 X 12 + 3 X 6 .

Untuk penyelesaian kasus tersebut, ketik nama objek output model regresi linear yang akan diestimasi (misal LinearModel.2). Hal ini berarti output hasil estimasi regresilinearbergandadisimpansebagaiobjekdengannamaLinearModel.2.Kemudian pilih X19 (tingkat kepuasan konsumen) pada jendela Formula Model: (variabel dependen),danpilihX6+X1(tingkatpersepsikonsumenterhadapkualitasprodukHBAT dan jenis konsumen) pada jendela kanan dari Formula Model (variabel independen). Jendela dialog pada Formula Model menyediakan banyak pilihan dari model linear ataupun model yang dilinearkan dengan transformasi tertentu. Klik OK sehingga diperolehoutputmodelregresilinearbergandasepertiberikutini.

133

sht90

AnalisisRegresimenggunakanRCommander

>LinearModel.2<lm(X19~X6+X1,data=hbat)

>summary(LinearModel.2)

Call: lm(formula=X19~X6+X1,data=hbat)

Residuals: Min1QMedian3QMax 1.859730.632500.052930.549872.11380

Coefficients: EstimateStd.ErrortvaluePr(>|t|) (Intercept)3.83340.57066.7181.31e09*** X60.26650.07783.4260.000903*** X1[T.1to5years]1.55110.19987.7638.99e12*** X1[T.Over5years]1.39400.25575.4523.87e07*** Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:0.8157on96degreesoffreedom MultipleRSquared:0.5458,AdjustedRsquared:0.5316 Fstatistic:38.45on3and96DF,pvalue:<2.2e16

>#Perhatikanhasildariperintahperintahberikutini

>hbat$fitted.LinearModel.2<fitted(LinearModel.2) >hbat$residuals.LinearModel.2<residuals(LinearModel.2) >hbat$rstudent.LinearModel.2<rstudent(LinearModel.2) >hbat$hatvalues.LinearModel.2<hatvalues(LinearModel.2) >hbat$cooks.distance.LinearModel.2<cooks.distance(LinearModel.2) >trellis.device(theme="col.whitebg") >plot(all.effects(LinearModel.2),ask=FALSE)

Output ini menunjukkan bahwa jenis (lama menjadi) konsumen dan persepsi terhadapkualitasprodukberpengaruhsignifikanterhadapkepuasankonsumen.Halini ditunjukkan oleh besarnya pvalue dari uji t pada kedua variabel tersebut yang lebih kecildari=0.05.Khususuntukvariabeljeniskonsumen,adaduakoefisienregresiyang ditampilkan, yaitu pada konsumen 15 tahun (sebesar 1,5511) dan lebih dari 5 tahun (sebesar 1,3940). Tanda koefisien regresi yang positif pada kedua variabel dummy tersebut menjelaskan bahwa konsumen lama (15 tahun dan lebih dari 5 tahun) memilikitingkatkepuasanlebihtinggidibandingkonsumenbaru(kurangdari1tahun). Sebagaitambahan,hasilregresilinearbergandamemberikannilaikoefisiendeterminasi (R2) model yang lebih besar dibanding hasil regresi linear sebelumnya, yaitu naik dari 0,2365menjadi0,5458.

134

sht90

AnalisisRegresimenggunakanRCommander

Dengandemikian,modelregresilinearbergandayangdiperolehdaridatapada kasusdiatasadalah
Y = 3,8334 + 1,5511X 11 + 1,3940 X 12 + 1,3940 X 6

dengan X 11 dan X 12 adalahvariabeldummy,yaitu X 11 bernilai1untukkonsumen15tahun,danNOLuntukkonsumenyanglain, X 12 bernilai1untukkonsumenlebihdari5tahun,danNOLuntukkonsumen yanglain.

RCommander juga menyediakan fasilitas analisis grafik tentang model linear regresiyangtelahdiperoleh,yaitumelaluimenuModel,pilihGrafik,dansetelahitupilih menu analisis grafik yang diinginkan. Menu pilihanpilihan ini dapat diaktifkan setelah estimasi model linear sukses dijalankan. Berikut ini adalah menu pilihan analisis grafik yangdisediakanolehRCommander.

Gambar8.4.JendeladialoguntukanalisislanjutandariModelLinier

Klik pada pilihan Plot Efek akan menghasilkan output grafik seperti yang terlihat pada Gambar8.5. Dari gambar ini dapat dijelaskan bahwa tingkat kepuasan konsumen yang tertinggi ada pada konsumen 15 tahun, sedangkan tingkat kepuasan yang terendah terletak pada konsumen baru yaitu kurang dari 1 tahun. Plot kedua menunjukkan bahwavariabelX6 (tingkatpersepsikualitasproduk)mempunyaipengaruhlinearyang positif terhadap X19, yaitu tingkat kepuasan konsumen. Hal ini sesuai dengan tanda koefisienmodelregresiyangpositifuntukX6.

135

sht90

AnalisisRegresimenggunakanRCommander

Gambar8.5.PlotEfekpadamasingmasingvariabelindependendariModelLinier

Berikut ini adalah ringkasan tentang prosedur uji serentak (simultan) dan uji individu(parsial)signifikansikoefisienpadamodellinearregresi. UjiSERENTAKatauSIMULTAN(DraperdanSmith,1981;Kutnerdkk.,2004)

1. Hipotesispengujian H0 : 1=2==p=0 H1 : minimaladasatui0 ,i=1,2,,p.

2. StatistikUji
F= MSRegresi MSError
n n

dengan MSRegresi= i =1
2 (Yi Y )

p 1

,danMSError= i =1

2 (Yi Yi ) n p

3. Daerahpenolakan TolakH0jika F > F;(v1= p 1,v 2= n p) ataupvalue < .

136

sht90

AnalisisRegresimenggunakanRCommander

UjiINDIVIDUatauPARSIAL(DraperdanSmith,1981;Kutnerdkk.,2004)

1. Hipotesispengujian H0 : i=0 H1 : i0,i=0,1,2,,p.

2. StatistikUji
t= i 0 st.dev. ( i )

3. Daerahpenolakan TolakH0jika t > t ; df = n p ataupvalue < .


2

8.3.CekDiagnosaKesesuaianModelRegresiLinear
RCommander menyediakan banyak fasilitas untuk evaluasi kesesuaian model regresi.Setelahsuatumodelregresilineartelahdijalankandandiperoleh,makasemua pilihan pada menu Model aktif dan dapat dipilih untuk diaktifkan. Berikut ini adalah tampilanjendelapilihanpadapilihanmenuModel.

Gambar8.6.JendeladialoguntukcekdiagnosadarisuatuModelLinier

137

sht90

AnalisisRegresimenggunakanRCommander

Jendela dialog untuk cek diagnosa suatu model regresi linear di atas menunjukkan bahwa ada banyak fasilitas yang disediakan RCommander untuk evaluasi kesesuaian modelregresilinear.Padabagianini,evaluasikesesuaianmodeldifokuskanpadadeteksi multikolinearitasdanpengecekankesesuaianasumsimodel,yaitu i ~ IIDN (0, 2 ) . Besaran statistik yang biasanya digunakan untuk mendeteksi multikolinearitas antar variabel independen adalah VarianceInflation Factors atau VIF (Kutner dkk., 2004). RCommander menyediakan fasilitas untuk mengeluarkan besaran ini pada pilihan menu Model, dan kemudian Diagnostik numerik, sehingga muncul tampilan jendeladialogpilihansepertiberikutini.

Gambar8.7.JendeladialogpilihandarisuatuDiagnostiknumerik Dari Gambar 8.7 dapat dilihat bahwa ada lima pilihan yang dapat dijalankan untuk evaluasikesesuaianmodel,yaitu: deteksimultikolinearitasdenganbesaranVIF, deteksiheteroskedastisitasdenganUjiBreuschPagan, deteksiautokorelasidenganUjiDurbinWatson, deteksinonlinearitasdenganUjiRESET,dan deteksipencilandenganUjiBonferroni. Selain itu, RCommander juga menyediakan fasilitas grafik untuk evaluasi kesesuaianasumsimodelregresilinear.Residualdarimodelregresimerupakanbesaran standar yang digunakan untuk evaluasi kesesuaian asumsi model regresi. Beberapa besaran lain yang juga banyak dipakai untuk evaluasi kesesuaian model regresi adalah standardizedresiduals,yaitu(Kutnerdkk.,2004)
i = i
s 1 hii

dengan s adalah akardarimeansquareerror(MSE), hii adalahdiagonaldarimatriks hatatau H yaitu


H = X ( X T X ) 1 X T .

hii adalahbesaranyangdapatdigunakanuntukmendeteksipengaruhobservasi Yi .

138

sht90

AnalisisRegresimenggunakanRCommander

Fasilitas pada RCommander untuk evaluasi kesesuaian model regresi dengan analisisgrafiktersediapadapilihanmenuModel,dankemudianGrafik,sehinggamuncul tampilanjendeladialogpilihansepertiberikutini.

Gambar8.8.JendeladialogpilihanevaluasikesesuaianmodeldenganGrafik Pilihan pada Gambar 8.8 menunjukkan bahwa ada enam grafik yang dapat dijalankan untuk evaluasi kesesuaian model, yaitu Plot Diagnostik Dasar, QQPlot sisa, Plot Komponen+Sisa,PlotTambahanpeubah,PlotPengaruh,danPlotEfek. Misalkan akan diteliti hubungan antara tingkat persepsi konsumen terhadap beberapavariabelpemasarandariprodukHBAT(variabelx6,x7,,x18)dengantingkat kepuasan konsumen (variabel x19) melalui model regresi linear berganda. Untuk itu jalankan kembali analisis regresi linear berganda dengan memasukkan variabel independenx6,x7,,x18,sepertiyangterlihatpadajendeladialogdiGambar8.9.

Gambar8.9.JendeladialogpilihanuntukModelRegresiLinearBerganda

139

sht90

AnalisisRegresimenggunakanRCommander

Setelah semua isian pilihan lengkap, klik OK sehingga diperoleh output model regresi linearbergandapadajendelakeluaransepertiberikutini.
>lm.3<lm(x19~x6+x7+x8+x9+x10+x11+x12+x13+x14 +x15+x16+x17+x18,data=hbat) >summary(lm.3) Call: lm(formula=x19~x6+x7+x8+x9+x10+x11+x12+x13+ x14+x15+x16+x17+x18,data=hbat) Residuals:
Min 1Q -1.38704 -0.31208 Median 0.08356 3Q 0.40652 Max 0.91947

Coefficients:
(Intercept) x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 Estimate Std. Error t value Pr(>|t|) -1.335836 1.120309 -1.192 0.23639 0.377422 0.052707 7.161 2.55e-10 *** -0.456065 0.136509 -3.341 0.00124 ** 0.035203 0.064924 0.542 0.58907 0.154286 0.103602 1.489 0.14009 -0.034414 0.062829 -0.548 0.58529 0.362389 0.266690 1.359 0.17775 0.827376 0.101460 8.155 2.57e-12 *** -0.047465 0.048202 -0.985 0.32753 -0.106968 0.125531 -0.852 0.39652 -0.002939 0.039535 -0.074 0.94091 0.143065 0.104519 1.369 0.17463 0.237926 0.272485 0.873 0.38500 -0.249168 0.514102 -0.485 0.62914

Signif.codes:0|***|0.001|**|0.01|*|0.05|.|0.1||1

Residualstandarderror:0.5663on86degreesoffreedom MultipleRsquared:0.8039, AdjustedRsquared:0.7742 Fstatistic:27.11on13and86DF,pvalue:<2.2e16

Berdasarkanoutputini,makamodelregresilinearbergandayangdiperolehdari datapadakasusHBATdiatasadalah(tampilanduaangkadibelakangkoma)
Y = 1,34 + 0,38 X 6 0,46 X 7 + 0,04 X 8 + K + 0,24 X 17 0,25 X 18 .

Output di atas juga menunjukkan bahwa hanya ada tiga variabel independen yang berpengaruhsignifikanterhadapkepuasankonsumen,yaitu X 6 , X 7 ,dan X 12 .

140

sht90

AnalisisRegresimenggunakanRCommander

RCommanderjugamenyediakanfasilitasuntukevaluasisignifikansiparameter modelregresidenganmenggunakanintervalkeyakinan.Halinidapatdilakukanmelalui menu Model, dan pilih Interval keyakinan, sehingga diperoleh jendela dialog seperti berikutini.

Gambar8.10.JendeladialoguntukIntervalkeyakinankoefisienmodelregresi KlikOKsehinggadiperolehoutputmodelregresilinearbergandapadajendelakeluaran sepertiberikutini.

>Confint(lm.3,level=.95) 2.5% (Intercept) 3.56293670 x6 0.27264462 x7 0.72743631 x8 0.09386134 x9 0.05166841 x10 0.15931399 x11 0.16777421 x12 0.62568021 x13 0.14328849 x14 0.35651558 x15 0.08153160 x16 0.06471161 x17 0.30375712 x18 1.27116865 97.5% 0.89126370 0.48219908 0.18469316 0.16426636 0.36023963 0.09048646 0.89255200 1.02907262 0.04835827 0.14258055 0.07565348 0.35084127 0.77960892 0.77283249

Selanjutnya, evaluasi kesesuaian model akan dilakukan untuk mendeteksi multikolinearitasantarvariabelindependen,yaitumelaluimenuModel,pilihDiagnostik numerik,dankemudianklikFaktorInflasiVariansi(FIV)sehinggadiperolehoutputpada jendelakeluaransepertiberikutini.

141

sht90

AnalisisRegresimenggunakanRCommander


>vif(lm.3) x6 x7 x8 x9 x10 x11 x12 1.6716932.8225623.0474014.837740 1.547421 37.978425 3.653611

x13 x14 x15 x16 x17 x18 1.7120223.2684131.0754452.909058 33.332337 44.003758

Outputinimenjelaskanbahwavariabelindependenyangmempunyaikolinearitastinggi adalah x11, x17, dan x18. Hal ini diindikasikan dengan nilai VIF yang besar yaitu lebih dari10(Kutnerdkk.,2004) Evaluasiselanjutnyaadalahanalisisgrafikuntukmelihatapakahresidualsudah memenuhisyaratkesesuaianmodel.HalinidapatdilakukanmelaluimenuModel,pilih Grafik,dankemudianklikPlotDiagnostikDasarsehinggadiperolehoutputgrafikseperti padaGambar8.11berikutini.

Gambar8.11.OutputPlotDiagnostikDasaruntukevaluasikesesuaianmodel

142

sht90

AnalisisRegresimenggunakanRCommander

Output grafik di atas terdiri dari empat plot utama untuk evaluasi kesesuaian residual model,yaitu: Plotantarafittedvalues(nilainilaiprediksi)denganresidual, Plotkuantilkuantilnormaldaristandardizedresiduals, Plotantarafittedvaluesdenganakarstandardizedresiduals,dan Plotantaraleveragedenganstandardizedresiduals. Selainitu,RCommanderjugamemberikanfasilitasuntukevaluasiuntukdeteksi adanya pengamatan yang berpengaruh ataupun pencilan dengan menampilkan plot antara nilainilai hat dengan Studentized Residuals (lihat Venables dan Ripley (1997), halaman 204205). Hal ini dapat dilakukan melalui menu Model, pilih Grafik, dan kemudianklikPlotPengaruhsehinggadiperolehoutputgrafiksepertipadaGambar8.12 berikutini.

Gambar8.12.OutputPlotPengaruhuntukdeteksiinfluencedanpencilan

143

sht90

AnalisisRegresimenggunakanRCommander

8.4.RangkumanperintahdanlibraryyangberkaitandenganAnalisisRegresi
Berikutiniadalahrangkumanperintahdanpenjelasantentangkegunaan,serta librarydariperintahtersebut,yangbiasanyadigunakandalamanalisisregresi.

LinearModel Perintah Anova anova coef coeftest confint deviance effects fitted formula Kegunaan TabelAnovauntukmodellineardanmodellinear tergeneralisir(GLM) Menghitungsuatutabelanalisisvariansuntuksatu ataulebihmodellinearyangdiestimasi Suatufungsigenericuntukmengekstrasikoefisien modeldariobyekpadafungsipemodelan Pengujiankoefisienyangdiestimasi Menghitungtaksiranintervaluntuksatuataulebih parameterdalammodelyangdiestimasi Mengembalikandeviancedariobjekmodelyang diestimasi Mengembalikanefekdarimodelyangdiestimasi Suatufungsigenericuntukmengekstrasinilai prediksiobjekyangdiambildarifungsipemodelan Memberikansuatucaramengekstrasiformula yangterintegrasidenganobjeklain library car stats stats lmtest stats stats stats stats stats car stats

linear.hypothesis Mengujihipotesiskelinearan lm Digunakanuntukmengestimasimodellinear. Perintahinidapatdigunakanuntukregresi,analisis varians,dananalisiskovarians Membuatsuatumatriksrancangan Nilaiprediksiberdasarkanobjekmodellinear Suatufungsigenerikuntukmengekstrasiresidual modeldariobjekpadafungsipemodelan Metodeuntukmeringkas(summary) Mengambilmatriksvarianskovariansdari parameterutamaobjekmodelyangdiestimasi

model.matrix predict residuals summary.lm vcov

stats stats stats stats stats

144

sht90

AnalisisRegresimenggunakanRCommander

Pemilihanvariabeldalammodel Perintah add1 Kegunaan Menghitungsemuaargumensingletermsyang ditambahkanataudikeluarkandarimodel, mengestimasimodeldanmenghitungtabeldari perubahandinilaiprediksi FungsigenericuntukmenghitungAICatauAkaike informationcriterionuntuksatuataubeberapa objekmodelyangdiestimasi,berdasarkanrumus 2*loglikelihood+k*npar,dengannparadalah jumlahparametermodel,dank=2untukAIC,atau k=log(n)untukBICatauSBC(Schwarz'sBayesian criterion),dengannadalahbanyaknyapengamatan. PlotCp Menghitungsemuaargumensingletermsyang ditambahkanataudikeluarkandarimodel, mengestimasimodeldanmenghitungtabeldari perubahandinilaiprediksi Menghitung(generalized)AICuntukmodel parametrikyangdiestimasi Pemilihansubsetdengan`leapsandbounds' MaximumAdjustedRsquared Anoffsetisatermtobeaddedtoalinearpredictor, suchasinageneralisedlinearmodel,withknown coefficient1ratherthananestimatedcoefficient SelectaformulabasedmodelbyAIC library stats

AIC

stats

Cpplot drop1

faraway stats

extractAIC

stats

leaps maxadjr offset

leaps faraway stats

step

stats stats

update.formula isusedtoupdatemodelformulae.Thistypically involvesaddingordroppingterms,butupdatescan bemoregeneral

145

sht90

AnalisisRegresimenggunakanRCommander

Cekdiagnosakesesuaianmodel Perintah cookd Kegunaan Cook'sDistancesforLinearandGeneralized LinearModels Cooksdistance covarianceratio DBETA DBETAS DFFTITS diagonalelementsofthehatmatrix diagonalelementsofthehatmatrix library car

cooks.distance covratio dfbeta dfbetas dffits hat hatvalues

stats stats stats stats stats stats stats stats

influence.measures Thissuiteoffunctionscanbeusedtocompute someoftheregression(leaveoneoutdeletion) diagnosticsforlinearandgeneralized linearmodels lm.influence Thisfunctionprovidesthebasicquantitieswhich areusedinformingawidevarietyofdiagnostics forcheckingthequalityofregressionfits Computesbasicstatistics,includingstandard errors,tandpvaluesfortheregression coefficients BonferroniOutlierTest standardizedresiduals studentizedresiduals VarianceInflationFactor

stats

ls.diag

stats

outlier.test rstandard rstudent vif

car stats stats car

146

sht90

AnalisisRegresimenggunakanRCommander

AnalisisGrafikpadamodellinear Perintah ceres.plots cr.plots influence.plot leverage.plots panel.car plot.lm CeresPlots Component+Residual(PartialResidual)Plots RegressionInfluencePlot RegressionLeveragePlots PanelFunctionCoplots Fourplots(selectablebywhich)arecurrently provided:aplotofresidualsagainstfittedvalues,a ScaleLocationplotofsqrt{|residuals|}against fittedvalues,aNormalQQplot,andaplotof Cook'sdistancesversusrowlabels PartialResidualPlot QuantileComparisonPlots addsalinetoanormalquantilequantileplot whichpassesthroughthefirstandthirdquartiles isagenericfunctionthedefaultmethodofwhich producesanormalQQplotofthevaluesiny PlotRegressionLine Kegunaan library car car car car car stats

prplot qq.plot qqline

faraway car stats

qqnorm

stats

reg.line

car car car car

scatterplot.matrix ScatterplotMatrices scatterplot spread.level.plot

ScatterplotswithBoxplots SpreadLevelPlots

147

sht90

AnalisisRegresimenggunakanRCommander

Pengujianasumsipadamodellinear Perintah ad.test bartlett.test Kegunaan AndersonDarlingtestfornormality PerformsBartlett'stestofthenullthatthe variancesineachofthegroups(samples)arethe same BreuschGodfreyTest BreuschPaganTest CramervonMisestestfornormality DurbinWatsonTestforAutocorrelatedErrors DurbinWatsonTest Levene'sTest Lilliefors(KolmogorovSmirnov)testfornormality ScoreTestforNonConstantErrorVariance Pearsonchisquaretestfornormality ShapiroFranciatestfornormality PerformstheShapiroWilktestofnormality library nortest stats

bgtest bptest cvm.test durbin.watson dwtest levene.test lillie.test ncv.test pearson.test sf.test shapiro.test

lmtest lmtest nortest car lmtest car nortest car nortest nortest stats

TransformasiVariabelpadamodellinear Perintah box.cox boxcox box.cox.powers box.tidwell box.cox.var

Kegunaan BoxCoxFamilyofTransformations BoxCoxTransformationsforLinearModels MultivariateUnconditionalBoxCox Transformations BoxTidwellTransformations ConstructedVariableforBoxCoxTransformation

library car MASS car car car

148

sht90

AnalisisRegresimenggunakanRCommander

RegresiRidge Perintah lm.ridge RidgeRegression Kegunaan library MASS

Regresitersegmentasi(SegmentedRegression) Perintah segmented slope.segmented Kegunaan Segmentedrelationshipsinregressionmodels Summaryforslopesofsegmentedrelationships library segmented segmented

LeastSquaresTergeneralisir(GeneralizedLeastSquares) Perintah ACF.gls anova.gls gls intervals.gls lm.gls plot.gls predict.gls qqnorm.gls residuals.gls summary.gls Kegunaan AutocorrelationFunctionforglsResiduals CompareLikelihoodsofFittedObjects FitLinearModelUsingGeneralizedLeastSquares ConfidenceIntervalsonglsParameters fitLinearModelsbyGeneralizedLeastSquares PlotaglsObject PredictionsfromaglsObject NormalPlotofResidualsfromaglsObject ExtractglsResiduals SummarizeaglsObject library nlme nlme nlme nlme MASS nlme nlme nlme nlme nlme

149

sht90

AnalisisRegresimenggunakanRCommander

ModelLinearTergeneralisir(GeneralizedLinearModel) Perintah family glm.nb glm Kegunaan Familyobjectsprovideaconvenientwaytospecifythe detailsofthemodelsusedbyfunctionssuchasglm fitaNegativeBinomialGeneralizedLinearModel isusedtofitgeneralizedlinearmodels,specifiedby givingasymbolicdescriptionofthelinearpredictorand adescriptionoftheerrordistribution ProportionalOddsLogisticRegression library stats MASS stats

polr

MASS

LeastSquaresNonlinear(NonlinearLeastSquaresatauNLS) Perintah nlm nls Kegunaan Thisfunctioncarriesoutaminimizationofthefunction fusingaNewtontypealgorithm Determinethenonlinearleastsquaresestimatesofthe nonlinearmodelparametersandreturnaclassnls object Allowtheusertosetsomecharacteristicsofthenls nonlinearleastsquaresalgorithm ThisistheconstructorfornlsModelobjects,whichare functionclosuresforseveralfunctionsinalist.The closureincludesanonlinearmodelformula,datavalues fortheformula,aswellasparametersandtheirvalues library stats stats

nlscontrol nlsModel

stats stats

GeneralizedNonlinearLeastSquaresatauGNLS Perintah coef.gnls gnls predict.gnls

Kegunaan ExtractgnlsCoefficients FitNonlinearModelUsingGeneralizedLeastSquares PredictionsfromagnlsObject

library nlme nlme nlme

150

sht90

AnalisisRegresimenggunakanRCommander

LoessRegression Perintah loess loess.control predict.loess Kegunaan Fitapolynomialsurfacedeterminedbyoneormore numericalpredictors,usinglocalfitting Setcontrolparametersforloessfits Predictionsfromaloessfit,optionallywithstandard errors library stats stats stats stats

scatter.smooth Plotandaddasmoothcurvecomputedbyloesstoa scatterplot

SplinesRegression Perintah bs ns periodicSpline polySpline Kegunaan BSplineBasisforPolynomialSplines GenerateaBasisMatrixforNaturalCBSplineBasis forPolynomialSplinesubicSplines CreateaPeriodicInterpolationSpline PiecewisePolynomialSplineRepresentation library splines splines splines splines splines splines splines splines splines

predict.bSpline EvaluateaSplineatNewValuesofx predict.bs splineDesign splineKnots splineOrder EvaluateaSplineBasis DesignMatrixforBsplines KnotVectorfromaSpline DeterminetheOrderofaSpline

RobustRegression Perintah lqs rlm

Kegunaan ResistantRegression RobustFittingofLinearModels

library MASS MASS

151

sht90

AnalisisRegresimenggunakanRCommander

Structuralequationmodels Perintah sem tsls Kegunaan GeneralStructuralEquationModels TwoStageLeastSquares library sem sem

SimultaneousEquationEstimation Perintah systemfit Kegunaan FitsasetoflinearstructuralequationsusingOrdinary LeastSquares(OLS),WeightedLeastSquares(WLS), SeeminglyUnrelatedRegression(SUR),TwoStage LeastSquares(2SLS),WeightedTwoStageLeast Squares(W2SLS)orThreeStageLeastSquares(3SLS) library systemfit

PartialLeastSquaresRegression(PLSR)danPrincipalComponentRegression(PCR) Perintah biplot.mvr coefplot crossval cvsegments kernelpls.fit msc mvr mvrCv oscorespls.fit predplot scoreplot

Kegunaan BiplotsofPLSRandPCRModels PlotRegressionCoefficientsofPLSRandPCRmodels CrossvalidationofPLSRandPCRmodels Generatesegmentsforcrossvalidation KernelPLS(DayalandMacGregor) MultiplicativeScatterCorrection PartialLeastSquaresandPrincipalComponents Regression Crossvalidation OrthogonalscoresPLSR PredictionPlots PlotsofScoresandLoadings

library pls pls pls pls pls pls pls pls pls pls pls

152

sht90

AnalisisRegresimenggunakanRCommander

Lanjutan:PLSRandPCR Perintah scores Kegunaan ExtractScoresandLoadingsfromPLSRandPCR Models PrincipalComponentsRegression ValidationPlots library pls

svdpc.fit validationplot

pls pls

QuantileRegression Perintah anova.rq boot.rq lprq nlrq Kegunaan Anovafunctionforquantileregressionfits BootstrappingQuantileRegression locallypolynomialquantileregression Functiontocomputenonlinearquantileregression estimates AdditiveNonparametricTermsforrqssFitting QuantileRegressionRanks QuantileRegression AdditiveQuantileRegressionSmoothing QuantileRegressionRankscoreTest Functiontostandardizethequantileregression process library quantreg quantreg quantreg quantreg

qss ranks rq rqss rrs.test standardize

quantreg quantreg quantreg quantreg quantreg quantreg

153

sht90

AnalisisRegresimenggunakanRCommander

Linearandnonlinearmixedeffectsmodels Perintah ACF ACF.lme anova.lme fitted.lme fixed.effects intervals intervals.lme lme nlme predict.lme predict.nlme qqnorm.lme Kegunaan AutocorrelationFunction AutocorrelationFunctionforlmeResiduals CompareLikelihoodsofFittedObjects ExtractlmeFittedValues ExtractlmeFittedValues ConfidenceIntervalsonCoefficients ConfidenceIntervalsonlmeParameters LinearMixedEffectsModels NonlinearMixedEffectsModels PredictionsfromanlmeObject PredictionsfromannlmeObject NormalPlotofResidualsorRandomEffectsfroman lmeobject library nlme nlme nlme nlme nlme nlme nlme nlme nlme nlme nlme nlme

random.effects ExtractRandomEffects ranef.lme residuals.lme simulate.lme summary.lme glmmPQL ExtractlmeRandomEffects ExtractlmeResiduals Simulatelmemodels SummarizeanlmeObject FitGeneralizedLinearMixedModelsviaPQL

nlme nlme nlme nlme nlme MASS

154

sht90

AnalisisRegresimenggunakanRCommander

GeneralizedAdditiveModel(GAM) Perintah anova.gam gam.control gam Kegunaan Comparethefitsofanumberofgammodels Controlparametersforfittinggammodels Fitageneralizedadditivemodel library gam gam gam gam gam gam gam gam gam

na.gam.replace Amissingvaluemethodthatishelpfulwithgams plot.gam predict.gam preplot.gam step.gam summary.gam Aninteractiveplottingfunctionforgams Makepredictionsfromagamobject extractsthecomponentsfromagaminaplotready form stepwisemodelsearchwithgam summarymethodforgam

SurvivalAnalysis Perintah anova.survreg clogit cox.zph coxph oxph.detail coxph.rvar ridge survdiff survexp survfit survreg Kegunaan ANOVAtablesforsurvregobjects Conditionallogisticregression TesttheproportionalhazardsassumptionofaCox regression ProportionalHazardsRegression Detailsofacoxmodelfit RobustvarianceforaCoxmodel Ridgeregression TestSurvivalCurveDifferences ComputeExpectedSurvival ComputeasurvivalCurveforCensoredData Regressionforaparametricsurvivalmodel library survival survival survival survival survival survival survival survival survival survival survival

155

sht90

AnalisisRegresimenggunakanRCommander

ClassificationandRegressionTrees Perintah cv.tree deviance.tree labels.rpart meanvar.rpart misclass.tree na.rpart partition.tree path.rpart plotcp printcp prune.misclass prune.rpart prune.tree rpart rpconvert rsq.rpart snip.rpart solder text.tree tile.tree tree.control tree.screens tree Kegunaan CrossvalidationforChoosingtreeComplexity ExtractDeviancefromatreeObject CreateSplitLabelsForanrpartObject MeanVariancePlotforanrpartObject MisclassificationsbyaClassificationtree HandlesMissingValuesinanrpartObject PlotthePartitionsofasimpleTreeModel FollowPathstoSelectedNodesofanrpartObject PlotaComplexityParameterTableforanrpartFit DisplaysCPtableforFittedrpartObject CostcomplexityPruningofTreebyerrorrate CostcomplexityPruningofanrpartObject CostcomplexityPruningoftreeObject RecursivePartitioningandRegressionTrees Updateanrpartobject PlotstheApproximateRSquarefortheDifferent Splits SnipSubtreesofanrpartObject SolderingofComponentsonPrintedCircuitBoards AnnotateaTreePlot AddClassBarplotstoaClassificationTreePlo SelectParametersforTree SplitScreenforPlottingTrees FitaClassificationorRegressionTree library tree tree rpart rpart tree rpart tree rpart rpart rpart tree rpart tree rpart rpart rpart rpart rpart tree tree tree tree tree

156

sht90

AnalisisRegresimenggunakanRCommander

Betaregression Perintah betareg plot.betareg predict.betareg residuals.betareg summary.betareg Kegunaan Fittingbetaregressionmodels PlotDiagnosticsforabetaregObject Predictedvaluesfrombetaregressionmodel Residualsfunctionforbetaregressionmodels SummarymethodforBetaRegression library betareg betareg betareg betareg betareg

157

sht90

GeneralizedLinearModelmenggunakanR

BAB9 GENERALIZEDLINEARMODELMENGGUNAKANR

Model Linier Tergeneralisir atau Generalized Linear Model (GLM) merupakan pengembangan dari model linear yang mengakomodir dua hal utama, yaitu distribusi responyangnonnormaldantransformasiuntuklinearitas.Referensiyangkomprehensif tentang GLM dapat dilihat di McCullagh dan Nelder (1989). Pada bab ini akan dibahas pengantarteoriModelLinearTergeneralisir(GLM)dancontohsuatukasusGLMdengan menggunakanRCommander.

9.1.PengantarTeoriModelLinearTergeneralisir
Suatu Model Linear Tergeneralisir dapat dideskripsikan oleh asumsiasumsi berikutini: Ada suatu respon, y , teramati secara independen pada nilainilai yang tetap dari variabelvariabelstimulus x1 , x 2 , K , x p . Variabelvariabel stimulus hanya mempengaruhi distribusi dari y melalui suatu fungsilineartunggalyangdisebutdenganprediktorlinear = 1 x1 + K + p x p . Distribusidari y mempunyaifungsikepadatandalambentuk
f ( y i ; i , ) = exp[ Ai { y i i ( i )} / + ( y i , / Ai )]

dengan adalahsuatuparameterskala(scale parameter), Ai adalahsuatubobot awalyangdiketahui,danparameter i tergantungpadaprediktorlinear. Ratarata atau mean, , adalah suatu fungsi invertibel yang halus dari prediktor linear,yaitu
= m( ) ,dan = m 1 ( ) = l ( ) .

Fungsiinvers, l ( ) ,disebutdengansuatufungsilinkataulinkfunction. Jika telah diketahui, maka distribusi dari y akan menjadi distribusi suatu keluarga eksponensialkanoniksatuparameter. GLMmembolehkan suatu perlakuanmetodologistatistik untuk beberapakelas penting dari modelmodel. Berikut ini adalah beberapa contoh penjabaran untuk beberapadistribusiyangtermasukdalamkeluargaGLM.

158

sht90

GeneralizedLinearModelmenggunakanR

o GaussianatauDistribusiNormal UntukDistribusiNormalmaka = 2 dandapatditulis


log f ( y ) = 1

{ y 1 2 1 y 2 } 1 log(2 ) , 2 2 2

sehingga = dan ( ) =

2
2

o DistribusiPoisson UntukDistribusiPoissondenganmean diperoleh


log f ( y ) = y log log( y! ) ,

sehingga = log , = 1 dan ( ) = = e .

o DistribusiBinomial Untuk Distribusi Binomial jumlah percobaan a dan parameter p , maka respon menjadi y = s / a dengan s adalahjumlahsukses.Fungsikepadatannyaadalah
a p + log(1 p ) + log , log f ( y ) = a y log ay 1 p

sehingga Ai = a i , = 1 , adalahtransformasilogitdari p ,dan


( ) = log(1 p) = log(1 + e ) .

Keluarga GLM yang disediakan dalam RCommander dengan fungsi glm mencakup distribusi gaussian, binomial, poisson, Gamma, inverse.gaussian, quasibinomial, dan quasipoisson. Masingmasing distribusi dari respon memberikan suatu jenis fungsi link yang menghubungkan ratarata atau mean dengan suatu prediktor linear. Fungsifungsi tersebut secara lengkap dapat dilihat pada Tabel 9.1 dengan D adalah notasi untuk default di R. Kombinasi dari distribusi respon dan fungsi link disebut dengan keluarga darisuatuGLM. Untuk n pengamatan dari suatu GLM, fungsi loglikelihood yang dibentuk adalah
log f ( , ; Y ) = [ Ai { y i i ( i )} / + ( y i , / Ai )]
i

danmempunyaifungsiskoratauscorefunctionuntuk yaitu
U ( ) = Ai { y i ( i )} / .

159

sht90

GeneralizedLinearModelmenggunakanR

Darisinidapatditunjukkanbahwa(secaralengkaplihatMcCullaghdanNelder(1989))
E ( y i ) = i = ( i ) dan var( y i ) =

Ai

( i ) .

Tabel9.1.KeluargaGLMdanfungsilinkyangbersesuaian Link logit Probit cloglog identity inverse log 1/mu^2 sqrt NamaKeluarga binomial D Gamma D gaussian D inverse. gaussian D poisson D

Fungsi yang didefinisikan dengan V ( ) = ( ( )) disebut dengan suatu fungsi variansatauvariancefunction.Untuksetiapdistribusirespon,fungsilink l = ( ) 1 untuk disebutdengansuatulinkkanonikataucanonicallink.Tabel9.2berikutiniadalah daftarfungsicanonicallinkdanfungsivariansdariKeluargaGLM. Tabel9.2.FungsicanonicallinkdanfungsivariansdariKeluargaGLM Keluarga binomial Gamma gaussian Inverse.gaussian poisson

Canonicallink
log( /(1 )) 1/

Nama logit invers identitas 1/mu^2 log

Varians
/(1 ) 2

Nama mu(1mu) mu^2 konstanta mu^3 mu

2/ 2 log

1
3

160

sht90

GeneralizedLinearModelmenggunakanR

9.2.ContohKasusModelLinearTergeneralisirdenganRCommander
RCommander menyediakan fasilitas untuk analisis ModelLinier Tergeneralisir melalui menu Statistika, pilih Pencocokan Model, dan setelah itu pilih Model Linier Tergeneralisir. Secara umum, Model Linier Tergeneralisir digunakan untuk analisis model pada data variabel respon (dependen) yang mengikuti distribusi keluarga eksponensial. Ada beberapa keluarga distribusi yang tersedia di RCommander, yaitu gaussian, binomial, poisson, Gamma, inverse.gaussian, quasibinomial, dan quasi poisson.Padabagianinihanyadijelaskanpadakasuskeluargadistribusibinomialyaitu variabelresponyangmempunyaiduakategori, sehinggamodelyangdiperolehdikenal denganmodelregresilogisitik. Misalkan akan diteliti hubungan antara tipe konsumen berdasarkan lamanya menjadi konsumen (variabel X1) dan tingkat persepsi konsumen terhadap kualitas produkHBAT(variabelX6)terhadapkemauankonsumenuntukmembangunhubungan dengan perusahaan di masa yang akan datang (variabel X23, yang jawabannya adalah YA dan TIDAK). Untuk keperluan analisis regresi logistik ini, pilih menu Statistika, pilih Pencocokan Model, dan kemudian pilih Model Linier Tergeneralisir, sehingga diperolehjendeladialogsepertiberikut.

Gambar9.1.JendeladialoguntukanalisisModelLinierTergeneralisir

161

sht90

GeneralizedLinearModelmenggunakanR

Untuk penyelesaian contoh kasus ini, ketik nama objek output model linear tergeneralisir (GLM) yang akan diestimasi (misal GLM.1). Hal ini berarti output hasil estimasi GLM disimpan sebagai objek dengan nama GLM.1. Kemudian pilih X23 (kemauan untuk membangun hubungan di masa datang) pada sebelah kiri jendela Formula Model: (variabel dependen), dan pilih X1 + X6 (jenis konsumen dan tingkat persepsi konsumen terhadap kualitas produk HBAT) pada jendela kanan dari Formula Model(variabelindependen).KlikduakalipadapilihanbinomialdijendelaFamili,dan pilih Fungsi hubungan (link)yang sesuai,yaitu logitpada kasus regresi logistikini.Klik OKsehinggadiperolehoutputregresilogistriksepertiberikutini.
>GLM.1<glm(X23~X1+X6,family=binomial(logit),data=hbat) >summary(GLM.1) Call: glm(formula=X23~X1+X6,family=binomial(logit),data=hbat) DevianceResiduals: Min1QMedian3QMax 1.65660.60710.31650.85802.2036 Coefficients: EstimateStd.ErrorzvaluePr(>|z|) (Intercept)4.65461.80362.5810.009858** X1[T.1to5years]2.99940.81113.6980.000217*** X1[T.Over5years]3.03770.91103.3350.000854*** X60.26970.22451.2010.229733 Signif.codes:0***0.001**0.01*0.05.0.11 (Dispersionparameterforbinomialfamilytakentobe1) Nulldeviance:137.63on99degreesoffreedom Residualdeviance:101.78on96degreesoffreedom AIC:109.78 NumberofFisherScoringiterations:5 >trellis.device(theme="col.whitebg") >plot(all.effects(GLM.1),ask=FALSE)

162

sht90

GeneralizedLinearModelmenggunakanR

Output di atas menunjukkan bahwa jenis (lama menjadi) konsumen HBAT berpengaruh signifikan terhadap kemauan konsumen untuk membangun hubungan di masa yang akan datang, sedangkan persepsi terhadap kualitas produk tidak ber pengaruh terhadap kemauan untuk membangun hubungan di masa datang. Hal ini ditunjukkan oleh besarnya pvalue dari uji Z pada kedua variabel dummy untuk X1 tersebut yang lebih kecil dari =0.05. Sedangkan pvalue dari uji Z untuk variabel X6 lebihbesardari=0.05.Tandakoefisienregresilogistikyangpositifpadakeduavariabel dummytersebutmenjelaskanbahwakonsumenlama(15tahundanlebihdari5tahun) cenderung di masa datang mempunyai peluang yang lebih tinggi untuk membangun hubungankembalidenganperusahaandibandingkonsumenbaru(kurangdari1tahun). Secara matematis,model regresi logistikyang diperolehberdasarkan outputdi atasadalah atau
( x) log 1 ( x) = 4,6546 + 2,9994 X 11 + 3,0377 X 12 + 0,2697 X 6 , ( x) = 1 1+ e
[ 4,6546+ 2,9994 X 11 + 3,0377 X 12 + 0, 2697 X 6]

dengan X 11 dan X 12 adalahvariabeldummy,yaitu X 11 bernilai1untukkonsumen15tahun,danNOLuntukkonsumenyanglain, X 12 bernilai1untukkonsumenlebihdari5tahun,danNOLuntukkonsumen yanglain.

OddsRatioadalahbesaranyangbiasanyadigunakandalammenginterpretasikan hasil suatu model regresi logistik. Secara lengkap bagaimana perhitungan Odds Ratio daninterpretasinyadapatdilihatdibukuHosmerdanLemeshow(1989,hal.4047)yang berjudulAppliedLogisticRegression. Seperti pada bagian sebelumnya, RCommander juga menyediakan fasilitas diagnostik numerik dan analisis grafik untuk evaluasi kebaikan model GLM yang telah diperoleh.Misalkan ingin ditampilkan intervalkeyakinanuntukkoefisien modelregresi logistik.HalinidapatdilakukandengancaramemilihModel,dankemudianklikInterval keyakinan, sehingga munculdialogpilihan seperti padaGambar9.2.Ada dua pilihan tes yang dapat ditampilkan interval keyakinannya sesuai dengan level keyakinan yang diinginkan,yaitu StatistikaRasiolikelihood,dan StatistikWald. MisalkanakanditampilkanintervalkeyakinandariStatistikWald,makaklikpilihanpada StatistikWald,dankemudianklikOK.

163

sht90

GeneralizedLinearModelmenggunakanR

Gambar9.2.JendeladialogIntervalkeyakinanpadaGLMdistribusibinomial

Output interval keyakinan dari Statistik Wald akan terlihat di jendela keluaran sepertiberikutini.
>Confint(GLM.1,level=.95,type="Wald") 2.5% 97.5% (Intercept) 8.189528 1.1196538 X1[T.1to5years] 1.409792 4.5890841 X1[T.Over5years] 1.252199 4.8231276 X6 0.170395 0.7097233

DarioutputintervalkeyakinantersebutdapatdijelaskanbahwavariabelX1mempunyai pengaruh yang signifikan terhadap variabel respon, sedangkan variabel X6 tidak berpengaruh terhadap variabel respon. Hal ini ditunjukkan dengan interval keyakinan koefisiendariX1yangtidakmencakupnilaiNOLpadabatasbawahdanatasnya. Pada analisis grafik, ada beberapa pilihan grafik yang dapat ditampilkan untuk mengevaluasi kebaikan model GLM. Seperti pada model linear, beberapa grafik yang dapatditampilkan adalah PlotDiagnostikDasar,PlotKomponen+Sisa,Plot Tambahan peubah, Plot Pengaruh, dan Plot Efek. Pada RCommander, plotplot tersebut dapat dijalankan melalui menu Model, pilih Grafik, dan setelah itu pilih menu analisis grafik yangdiinginkan.JikapilihangrafikyangdiinginkanadalahPlotDiagnostikDasar,maka akan diperoleh output grafik yang terdiri dari empat macam plot seperti yang terlihat pada Gambar 9.3. Sebagai tambahan, jika pilihan grafik yang dipilih adalah Plot Efek, maka akan diperoleh output grafik yang terdiri dari dua macam plot seperti pada Gambar9.4.

164

sht90

GeneralizedLinearModelmenggunakanR

Gambar9.3.HasilPlotDiagnostikDasardarisuatuGLM

Gambar9.4.PlotEfekpadamasingmasingvariabelindependendariGLM

165

sht90

GrafikMenggunakanRCLI

BAB10 GRAFIKMENGGUNAKANRCLI

Secara garis besar ada dua cara untuk membuat grafik dalam R, yaitu dengan menggunakan RGUI (lihat Bab 4) dan RCLI. Pada bagian ini akan diberikan beberapa contoh pembuatan grafik dengan menggunakan RCLI. Aktifkan jendela grafik terlebih dahulusebelummembuatsuatugrafik.Jikausermemanggilsuatuperintahpembuatan grafik,makaRsecaraotomatisakanmengaktifkansatujendelagrafik.Semuagrafikyang dibuatakandiplotpadajendelagrafikini. Jikauseringinmengaktifkanlebihdarisatujendelagrafikdalamsistemoperasi windows,userdapatmengaktifkanjendelagrafikbarudenganperintah >win.graph() atau >windows() Untukmenutupjendelagrafikterakhiryangsedangaktif,gunakanperintah >graphics.off() atau >dev.off() SecaraumumperintahuntukpembuatangrafikdidalamRdapatdikelompokkan menjadi3kelompokutama,yaitu

1.Fungsifungsiplotutamaatauhighlevelplottingcommands
Fungsidalamkelompokinidapatdigunakanuntukmembuatsuatuplotbarupada jendelagrafik.Beberapafungsitersebutadalahplot,qqplot,hist,image,contour, persp.

2.Fungsifungsiplottambahanataulowlevelplottingcommands
Fungsidikelompokinidapatdigunakanuntukmenambahkaninformasitambahan kedalam suatu grafik yang telah dibuat dengan fungsifungsi plot utama diatas. Fungsifungsitambahaninidapatdigunakanuntukmenambahkantitiktitikbaru, garisgaris atau keteranganketerangan kedalam grafik. Beberapa fungsi yang termasukkelompokiniadalahpoints,lines,text,abline,legend,title.

3.Fungsifungsiyangbersifatinteraktifatauinteractivegraphicsfunctions
Fungsi dalam kelompok ini memungkinkan user untuk menambahkan informasi atau mengambil informasi dari suatu plot yang telah ada menggunakan alat sepertimouse.Beberapafungsitersebutadalahlocator,identify.

166

sht90

GrafikMenggunakanRCLI

Paket R memiliki beberapa library yang berkaitan dengan pembuatan grafik. Padababinipembahasanhanyadifokuskanpadabeberapaperintahyangberhubungan dengan pembuatan grafik pada library standar yaitu graphics. Ada banyak library lain yang dapat digunakan untuk pembuatan grafik, antara lain aplpack, chplot, corrgram, gplot,grid,iplots,lattice,playwith,plotrix,rgl,Rgraphviz,Rgobi,danlainlain. Daftar dari perintah yang tersedia pada library standar R dapat dilihat dengan cara melihat nomor direktori dari library yang ada dalam sistem. Gunakan perintah search()untukmengetahuinomordirektoritersebut(lihathasilberikutini).

>search() [1]".GlobalEnv""package:stats""package:graphics" [4]"package:grDevices""package:utils""package:datasets" [7]"package:methods""Autoloads""package:base"

Dari keluaran tersebut dapat dilihat bahwa library graphics sebagai objects berada diurutanketiga dalamdirektorisearchdariR.Kemudianuntuk melihatdaftarperintah dalam library graphics dapat digunakan perintah objects diikuti nomer urutan objek tersebut. Berikut adalah perintahperintah yang ada dalam library graphics dengan menggunakanperintahobjects(3).

>objects(3)
[1] [5] [9] [13] [17] [21] [25] [29] [33] [37] [41] [45] [49] [53] [57] [61] [65] [69] [73] [77] "abline" "Axis" "barplot" "boxplot.default" "co.intervals" "curve" "fourfoldplot" "hist.default" "layout" "lines" "matplot" "pairs" "persp" "plot.default" "plot.xy" "rect" "spineplot" "strheight" "symbols" "xinch" "arrows" "axis.Date" "barplot.default" "bxp" "contour" "dotchart" "frame" "identify" "layout.show" "lines.default" "matpoints" "pairs.default" "pie" "plot.design" "points" "rug" "split.screen" "stripchart" "text" "xspline" "assocplot" "axis.POSIXct" "box" "cdplot" "contour.default" "erase.screen" "grid" "image" "lcm" "locator" "mosaicplot" "panel.smooth" "piechart" "plot.new" "points.default" "screen" "stars" "strwidth" "text.default" "xyinch" "axis" "axTicks" "boxplot" "close.screen" "coplot" "filled.contour" "hist" "image.default" "legend" "matlines" "mtext" "par" "plot" "plot.window" "polygon" "segments" "stem" "sunflowerplot" "title" "yinch"

167

sht90

GrafikMenggunakanRCLI

Pada bagian berikut ini akan dibahas penggunaan perintahperintah dalam librarygraphicsdiatasberdasarkanjeniskelompokperintahtersebut.

10.1.FungsifungsiPlotUtama
Seperti yang dijelaskan sebelumnya, fungsifungsi plot utama dapat digunakan untuk membuat suatu plot baru dalam suatu jendela grafik. Jika jendela grafik yang sedang aktif telah berisi suatu grafik/plot, maka dengan perintahperintah grafik tipe plot utama ini mengakibatkan R akan menghapus grafik/plot yang telah ada tersebut. Berikutiniadalahpenjelasanbeberapafungsiyangtermasukdalamtipeplotutamaini.

10.1.1.Perintahplot()
Perintahplot()digunakanuntukmenampilkanplotdarisuatudata.Padapaket R,perintahplotinidapatmembuatplot/grafikyangbersesuaiandengantipedaridata. Berikutiniadalahbeberapacontohpenggunaanplotpadaberbagaitipedata.

Membuatdiagrampencaratauscatterplotdaridataxdany
Perintahplot(x,y)dapatdigunakanuntukmembuatdiagrampencardaridatax dan y. Perhatikan contoh data harga jual (X dalam ribu rupiah) dan volume penjualan atausales(Ydalamjutarupiah)mingguansuatuprodukpadatabelberikutini.

Tabel10.1.Datahargadansalesselama10minggupengamatan Mingguke X(harga) Y(sales) 1 1.3 10 2 2 6 3 1.7 5 4 1.5 12 5 1.6 10 6 1.2 15 7 1.6 5 8 1.4 12 9 1 17 10 1.1 20

Untuk membuat diagram pencar dari data harga dan sales tersebut, dapat digunakan scriptRberikutini.


>harga=c(1.3,2,1.7,1.5,1.6,1.2,1.6,1.4,1,1.1) >sales=c(10,6,5,12,10,15,5,12,17,20) >plot(harga,sales)

GrafikkeluarandariperintahiniadalahdiagrampencarsepertipadaGambar10.1.

168

sht90

GrafikMenggunakanRCLI

Gambar10.1.Outputdiagrampencardenganperintahplot(x,y)

Berdasarkandiagrampencardiatasdapatdijelaskanbahwaadahubunganlinearnegatif yangcukupkuatantarahargadansales.Haliniberartijikaterjadikenaikanhargapada produkadakecenderunganpenjualanakanmengalamipenurunan,dansebaliknya.

Membuatplotmenurutindeksatauurutanwaktu(TimeSeriesPlot)
Perintahplot(x)dapatjugadigunakanuntukmembuatplotdaridataxmenurut indeks. Pada data yang bertipe runtun waktu (time series), perintah plot(x) akan menghasilkan plot dari x menurut urutan waktu atau dikenal dengan Time Series Plot. Perhatikan contoh pemakaian plot(x) pada data sales (dalam juta rupiah) mingguan suatuprodukdiTabel10.1berikutini.


>plot(sales) >win.graph()#membukajendelagrafikbaruuntukplotdata >y=ts(sales) >plot(y)

169

sht90

GrafikMenggunakanRCLI

GrafikkeluarandariperintahplotdiatasdapatdilihatpadaGambar10.2.Darigambarini dapat dijelaskan bahwa plot(x) menghasilkan Time Series Plot jika data bertipe runtun waktu(lihatgambarb).

(a)

(b)

Gambar10.2.Outputplotmenurutindeksdenganperintahplot(x)

Membuatplotdaridatabertipefaktor
Pada Bab 7 sebelumnya diberikan contoh data HBAT yang mengandung data bertipe faktor. Untuk ilustrasi penggunaan perintah plot(x) pada data bertipe faktor, aktifkan kembali data HBAT yang sudah tersimpan di direktori C:\Kerja_R dalam file R dengannamahbat.RData.SalahsatuvariabelyangbertipefaktoradalahX1,yaitutipe konsumenberdasarkanlamanyamenjadikonsumenHBAT.Perhatikanperintahperintah berikutuntukmemanggildatadanmembuatplotpadavariabelX1.

>load("C:\\Kerja_R\\hbat.RData") >summary(hbat$X1) Lessthan1year1to5yearsOver5years 323533 >plot(hbat$X1)

Grafik keluaran dari perintah plot untuk variabel X1 diatas dapat dilihat pada Gambar 10.3berikutini.

170

sht90

GrafikMenggunakanRCLI

Gambar10.3.Outputperintahplot(x)padadatabertipefaktor

BerdasarkangrafikpadaGambar10.3dapatdijelaskanbahwajumlahkonsumendengan lamamenjadikonsumen15tahunadalahkelompokterbanyakdari100konsumenyang menjadisampel,yaitu35konsumen. Selain itu, perintah plot() juga dapat digunakan untuk membuat boxplot dari suatuvariabelyangbersifatmetrikberdasarkansuatuvariabelnonmetrik(faktor).Misal kan akan dibuat boxplot tingkat kepuasan konsumen (X19) berdasarkan lama menjadi konsumenHBAT(X1).Perhatikanperintahdanhasildariperintahberikutini.
>numSummary(hbat[,"X19"],groups=hbat$X1,statistics=c("mean","sd","quantile"))
mean sd 0% 25% 50% 75% 100% n Less than 1 year 5.725000 0.7603055 4.7 5.35 5.45 6.10 8.4 32 1 to 5 years 7.314286 0.6983775 6.1 6.70 7.30 7.75 9.0 35 Over 5 years 7.654545 1.0779294 5.5 7.10 7.60 8.60 9.9 33

>plot(hbat$X19~hbat$X1)

171

sht90

GrafikMenggunakanRCLI

Gambar10.4.Outputperintahplot(x)padadatametrik(X19)berdasarkan datayangbertipefaktor(X1)

10.1.2.Perintahqqnorm(x),qqline(x),qqplot(x,y)
Perintahperintah ini digunakan untuk membuat dan menampilkan Quantile Quantile Plots atau dikenal dengan QQ plot. Plot ini dapat digunakan untuk menguji apakahsekumpulandataberasaldarisuatudistribusitertentu,atauapakahduasampel datamemilikidistribusiyangidentik(sama).Perintahqqnormdigunakanuntukmenguji apakah suatu data mengikuti Distribusi Normal, sedangkan perintah qqplot dapat di gunakan untuk membuat perbandingan dengan distribusi yang lain. Bersama dengan perintah qqnorm, perintah fungsi plot tambahan qqline dapat digunakan untuk me nambahkangarisdarikuantilpertamakekuantilketigadalamplotqqnorm.Datadapat dikatakan berasal dari distribusi yang bersifat heavier tail dibandingkan dengan Distribusi normal jika plot qqnorm memiliki bentuk turun (dibawah garis) pada bagian kiridannaik(diatasgaris)padabagiankanan. Berikut ini adalah contoh ilustrasi penggunaan qqnorm untuk uji kecocokan terhadapDistribusiNormalpada suatuvariabeldi dataHBAT,dancontohpenggunaan qqplotuntukperbandingandistribusipadasuatudatasimulasi.

172

sht90

GrafikMenggunakanRCLI

UjikecocokanterhadapDistribusiNormal
Untukilustrasipenggunaanperintahqqnormpadasuatudata,gunakanvariabel X6 (tingkat persepsi konsumen terhadap kualitas produk) pada data HBAT diatas. PerhatikanperintahperintahberikutuntukmembuatplotKuantilKuantilNormalpada variabelX6.

>qqnorm(hbat$X6)#perintahuntukmembuatKuantilKuantilNormal >qqline(hbat$X6,col=2)#kuantilteoritis

HasildariperintahqqnormdanqqlinepadadataX6diatasdapatdilihatpadaGambar 10.5.Darigambartersebutdapatdijelaskanbahwasecaravisualdatatidakberdistribusi Normal, karena terdapat sejumlah data dibagian kuantil atas dan bawah yang terletak diluargarislurus.

Gambar10.5.OutputperintahqqnormdanqqlinepadadataX6

173

sht90

GrafikMenggunakanRCLI

UjikecocokanterhadapDistribusiStatistiktertentu
Pada bagian ini akan diberikan ilustrasi penggunaan perintah qqplot untuk uji kecocokanterhadapdistribusitertentupadasuatudatasampel.Misalkansajadiketahui suatu data y yang dibangkitkan secara random (mengikuti distribusi t dengan df=4). Secara umum akan diperoleh data yang bersifat heavy tail karena dibangkitkan pada nilai df yang kecil. Perintah simulasi dan pengujian kenormalan data adalah sebagai berikut.

>y=rt(100,df=4) >qqnorm(y)#perintahuntukmembuatKuantilKuantilNormal >qqline(y,col=2)#kuantilteoritis

Berikutadalahoutputdariperintahqqnormdanqqlinediatas.

Gambar10.6.Outputperintahqqnormdanqqlinepadadatay

174

sht90

GrafikMenggunakanRCLI

Hasildariperintahqqnormdanqqlinepadadataydiatasmenunjukkanbahwa data tidak berdistribusi Normal. Selanjutnya data akan dicoba bandingkan dengan distribusitdengandfyangkecil.Untukitu,bangkitkansampeldatalaindaridistribusit dengan df 4. Berikut perintah pembangkitan data dan qqplot untuk perbandingan distribusi.

>Qteori=rt(200,df=4) >qqplot(Qteori,y)#distribusiteoritispembandingsebagaix,datasebagaiy

Output dari perintah diatas dapat dilihat pada Gambar 10.7. Dari gambar ini terlihat bahwa data secara visual relatif dalam garis lurus, sehingga distribusi t dengan df=4 relatifcukupbaikuntukmemodelkandatasimulasiydiatas.

Gambar10.7.OutputperintahqqplotpadadataydanQteori

Sebagai catatan, karena sifat dari pengujian secara grafik yang cenderung subyektif, maka kesimpulan yang diperoleh harus dikonfirmasi dengan menggunakan uji statistik yangsesuai.

175

sht90

GrafikMenggunakanRCLI

10.1.3.Perintahhist(x)
Perintahhistdigunakanuntukmembuatplothistogramdarisuatudatatertentu. PerhitunganbanyaknyakelasintervalsecaradefaultdiRmenggunakanmetodeSturges. Untuk pilihan lain yang tersedia berkaitan dengan pembuatan histogram dapat dilihat padahelpperintahhist.Misalkanakandibuathistogramdarivariabeltingkatkepuasan konsumenHBATatauvariabelX19.Berikutiniadalahperintahperintahuntukpembuat anhistogrampadaX19.
>hist(hbat$X19) >hist(hbat$X19,breaks=20) >hist(hbat$X19,breaks=20,col="green",border="pink")

>#Perhatikanperbedaanoutputhistogramyangditampilkan

Berikut ini adalah output histogram pada perintah hist yang terakhir, yaitu yang melibatkanargumenbanyaknyakelasintervalbesertawarnahistogramnya.

Gambar10.8.OutputperintahhistpadavariabelX19datahbat

176

sht90

GrafikMenggunakanRCLI

10.1.4.Perintahimage(x,y,z,),contour(x,y,z,),persp(x,y,z,)
Perintah persp adalah perintah yang digunakan untuk membuat plot tiga dimensi. Sedangkan perintah image dan contour digunakan untuk membuat plot proyeksiduadimensidaridatatersebut.Untukilustrasipenggunaanketigaperintahdan outputnya,perhatikanscriptberikutini.
>y=seq(20,20,0.5)#bilanganantara20dan20denganjarak0.5 >x=seq(20,20,0.5) >z=outer(x^2,y^2,"*")#z=x^2+y^2untuksemuaelemenxdany >persp(x,y,z)#plotdimensitigadarix,y,danzdengansudutdefault >persp(x,y,z,theta=30,phi=30,col="green")#sudutdanwarnabeda

>#Perhatikanperbedaanoutputplottigadimensiyangditampilkan

>image(x,y,z) >contour(x,y,z)

Berikutiniadalahoutputdariperintahperspdantambahanargumenargumendiatas.

Gambar10.9.Outputperintahpersppadadatasimulasi

177

sht90

GrafikMenggunakanRCLI

10.1.5.Argumenargumenuntukfungsiplotutama
Secaralengkapargumenargumenuntukfungsiplotutamadapatdilihatdengan perintahhelp(plot).Berikutiniadalahbeberapaargumendankegunaannyapadafungsi plot. add=TRUE Argumen add=TRUE dapat digunakan untuk melakukan setting agar plot yang dibuat ditambahkan kedalam plot yang telah ada, yaitu fungsi plot utama. Sehingga plot yang dibuat bersifat seperti fungsi plot tambahan. Perintah ini hanyadapatdigunakanuntukbeberapafungsiplot utama.Defaultnilaidari add adalahadd=FALSE. axes=FALSE Argumen axes=FALSE dapat digunakan untuk melakukan setting agar axes dari suatuplottidak ditampilkan.Hal ini berguna apabilauserakanmembuatsetting sendiriterhadaptampilandariaxispadaplotdenganperintahaxis().Defaultnilai dariaxesadalahaxes=TRUE,yaituaxisakanditampilkanpadaplot. log=x,log=y,log=xy Argumen ini bertujuan untuk merubah satuan dari sumbu x, y atau keduanya menjadiberskalalog. type= Argumen ini bertujuan untuk menentukan tipe dari plot yang dibuat. Berikut ini adalahbeberapapilihantipeyangtersedia.(Catatan:contohpenggunaanadalah type=luntukmembuatplotgarisataulines)

. xlab=string,ylab=string,main=string,sub=string Argumen ini bertujuan untuk memberi keterangan dari axis x, y, dan judul dari grafik.Argumensubberfungsiuntukmenampilkansubjudul,biasanyadiletakkan dibawahaxisx.

178

sht90

GrafikMenggunakanRCLI

10.2.FungsifungsiPlotTambahan
Ada beberapa macam fungsi plot tambahan atau low level graphics function yang dapat digunakan untuk memperbaiki tampilan atau menambahkan sejumlah keterangandalamplotyangtelahdibuatdenganfungsigrafikutama.Berikutiniadalah adalahpenjelasanbeberapafungsiyangtermasukdalamtipeplottambahanini.

points(x,y) Fungsiatauperintahinidapatdigunakanuntukmenambahkantitiktitikpada koordinatyangdiberikanolehxdany. lines(x,y) Perintahinibertujuanuntukmenambahkangarismenurutkoordinatyang diberikandalamxdany. text(x,y,labels,) Perintahinidapatdigunakanuntukmenambahkansuatutekspadakoordinatx dany. ablines(a,b),abline(h=y),abline(v=x) Perintahablines(a,b)bertujuanuntukmenambahkangarislurusy=a+bxpada plotyangtelahada.Sedangkanperintahabline(h=y)danabline(v=x)digunakan untukmembuatgarishorisontalatauvertikalsesuaidenganlokasiyang diberikanpadah=yatauv=x. legend(x,y,legend,) Perintahinidapatdigunakanuntukmembuatlegenddarisuatuplotpadaposisi yangdiberikankoordinatxdany.Beberapaargumentambahandiberikanpada perintahlegend(vmenunjukkansuatuvektoryangbersesuaiannilainyadengan keteranganpadaargumenlegend),yaitu legend(,lty=v)untukmemberikanlinetypeyangdigunakandalamplot legend(,col=v)untukmemberikanwarnadarititikataugarisdalamplot legend(,lwd=v)untukmemberikanlinewidthdarigarisdalamplot title(main,sub) Perintahinibertujuanuntukmemberikanjuduldansubjuduldariplot.Hasil yangsamadapatdiberikandenganmenggunakanargumenmaindansubdari fungsiplotutama.

179

sht90

GrafikMenggunakanRCLI

10.3.FungsifungsiPlotyangbersifatinteraktif
Ada beberapa macam fungsi plot interaktif yang juga dapat digunakan untuk memperbaikitampilanataumenambahkansejumlahketerangandalamplotyangtelah dibuatdenganberinteraksiRmenggunakanmouse.Berikutiniadalahadalahpenjelasan beberapafungsiyangtermasukdalamtipeplottambahanini.

locator(n,type) Denganperintahini,Rmenungguuseruntukmemillihn(maksimum512)lokasi padaplotyangada,danmembuatplotyangbersesuaiandenganspesifikasi yangdiberikanpadaargumentype. locator() Perintahinibergunauntukpemilihanlokasidalamsuatuplotsecarainteraktif, misalnyabergunauntukmenempatakanteks,labelataulegendpadaposisi yanglebihtepatdalamgrafik. identify(x,y,labels) Perintahinidapatdigunakanuntukmeletakkanlabel(ataunomerindeksdari datajikaargumenlabeltidakdiberikan)darititiktitikyangdiberikandalamx dany.

10.4.NotasiMatematikapadaPlot
Sejumlahfasilitasuntukmenambahkansimbolpersamaanmatematikakedalam suatuplottersediapadaR.Informasilengkapberkaitandenganfasilitasinidapatdilihat dengan perintah help(plotmath). Untuk mengetahui beberapa contoh notasi hasil dari perintahplotmath,lakukanperintahperintahberikutini.
>help(plotmath)

>example(plotmath)#Terdiridaribeberapaperintahdenganplotmath

>demo(plotmath)

Berikut ini adalah salah satu contoh pemakaian perintah plotmath untuk pembuatan persamaanmatematikapadasuatuplotdata.

180

sht90

GrafikMenggunakanRCLI

>x<seq(4,4,len=101) >y<cbind(sin(x),cos(x))

>matplot(x,y,type="l",xaxt="n", +main=expression(paste(plain(sin)*phi,"and", +plain(cos)*phi)), +ylab=expression("sin"*phi,"cos"*phi),#only1stistaken +xlab=expression(paste("PhaseAngle",phi)), +col.main="blue")

>axis(1,at=c(pi,pi/2,0,pi/2,pi), +labels=expression(pi,pi/2,0,pi/2,pi))

Hasildariscriptyangmelibatkanperintahmatplotdiatasadalahsebagaiberikut.

Gambar10.10.Outputperintahpembuatannotasimatematikapadaplot

181

sht90

GrafikMenggunakanRCLI

10.5.Settingparametergrafik
Default dari R dalam setiap jendela grafik hanya akan dibuat plot dari satu grafik. Setting ini dapat diubah sedemikian hingga dalam satu jendela grafik dapat dibuat lebih dari satu grafik, yaitu dengan menggunakan perintah par. Perintah par (singkatan dari kata partisi) ini diikuti dengan argumen mfrow (singkatan dari multi figure row). Misalkan akan dibuat 6 grafik dalam satu halaman, yaitu 2 baris dan 3 kolom, maka dapat digunakan perintah par(mfrow=c(2,3)). Berikut ini adalah contoh perintah untuk pembuatan 6 grafik dalam satu halaman dengan melibatkan variabel variabelpadadatahbat.RData.

>win.graph() >par(mfrow=c(2,3)) >hist(hbat$X19)#Plotpertamasebuahhistogram >plot(hbat$X6,hbat$X19,main="DiagrampencarX6vsX19")#Plotkedua >qqnorm(hbat$X19)#PlotketigasebuahkuantilkuantilnormaldariX19 >qq.plot(hbat$X6)#PlotkeempatsebuahkuantilkuantilnormaldariX6 >plot(hbat$X1,hbat$X19)#Plotkelimasebuahboxplot >plot(hbat$X19,type="l")#Ploturutanindeks

OutputdariperintahperintahdiatasdapatdilihatpadaGambar10.11dihalaman147. Hasilinimemberikangambarankepadauserbeberapakeunggulanpembuatanplotpada R,khususnyamultiplotpadasatutampilanbersamasama. Keterangan lanjut berkaitan dengan setting dari parameterparameter untuk grafikatauGraphicalParametersdapatdilihatpadamenuhelpdariperintahpar,yaitu denganmenggunakanperintah?par.Berikutadalahparameterparametertersebut.

182

sht90

GrafikMenggunakanRCLI

Gambar10.11.Outputperintahpembuatanplotdengansettingparametergrafik

183

sht90

AnalisisRuntunWaktudenganR

BAB11 ANALISISRUNTUNWAKTUDENGANR

Dalamduniausahayangterusmenerusberubahdengancepat,seorangmanajer harus mampu menganalisis lingkungan yang terus berubah dan dapat memprediksi berbagaikemungkinandimasadepan.Kemampuanuntukmeramalatauforecastmasa depan usaha menjadi penting sebagai dasar pengambilan keputusan strategis bagi kelangsungan perusahaan. Sebagai contoh, bagian pemasaran suatu perusahaan yang inginmengetahuipermintaansuatuprodukdimasamendatang,ataupemerintahingin mengetahuidanmemperkirakanberapalajuinflasitahuntahunmendatang. Berbagaiteknikuntukmelakukanperamalanmasadepanberdasarkanpadadata masa lalu telah dikembangkan berdasarkan pada pengetahuan akan ilmu statistika. Secara umum ada dua pendekatan untuk peramalan, yaitu peramalan kuantitatif dan kualitatif. Peramalan kualitatif dilakukan jika data yang tersedia tidak ada atau tidak mencukupi, misalnya dalam proyek peluncuran produk baru. Metode peramalan kualitatifbiasanyadilakukansecarasubyektif,sepertiteknikDelphidanexpertopinion. Sedangkanmetodeperamalankuantitatifdilakukandenganmenggunakandata masa lalu yang tersedia. Secara umum metode peramalan kuantitatif terbagi atas dua kelompokutama,yaitu:(Makridakisdkk.,1998;HankedanReitsch,2001)

PendekatanCausal(sebabakibat)
Metodeperamalankelompokinimembahasproyeksisuatukejadianberdasarkan variabelvariabelyangdidugamempengaruhikejadiantersebut.Teknikperamalan yang termasuk pendekatan ini diantaranya adalah analisis regresi berganda, dan modelekonometrik.

PendekatanTimeSeries
Metode peramalan kelompok ini membahas proyeksi masa depan dari suatu variabeldidasarkanpadadatamasalaludansekarang. BabiniakanmembahaspenerapanpaketRpadamodelperamalandenganpendekatan timeseriesyangbanyakdigunakanuntukmelakukankegiatanperamalan. Dataruntunwaktuatautimeseriesadalahdatayangdikumpulkan,dicatat,atau diamati berdasarkan urutan waktu. Beberapa contoh time series adalah data bulanan tentanghargasembilankebutuhanpokok,databulananmengenaikonsumsimasyarakat akan daging ayam dan sapi, data bulanan tentang jumlah impor/ekspor komoditas tertentu, atau data harian dari Indeks Harga Saham Gabungan (IHSG) di Bursa Efek Jakarta, yang menunjukkan pergerakan IHSG setiap hari. Secara umum, tujuan dari analisisruntunwaktuadalahuntukmenemukanbentukpoladaridatadimasalaludan menggunakan pengetahuan ini untuk melakukan peramalan terhadap sifatsifat dari datadimasayangakandatang.

184

sht90

AnalisisRuntunWaktudenganR

R menyediakan banyak library untuk analisis runtun waktu atau dikenal juga dengan Time Series Analysis. Selain pada library standar yaitu stats, analisis runtun waktu lebih lanjut dapat dilakukan dengan menggunakan library fSeries, tseries, forecasting,strucchange,TSA,fArma,fracdiff,danmasihbanyakyanglain.Padabagian iniakandibahaspenggunaanRuntukanalisismodelmodelruntunwaktu,sepertimodel tren, exponential smoothing, ARIMA, dan Neural Networks. Pembahasan tentang perintahperintah di R untuk analisis runtun waktu di bab ini akan difokuskan pada penggunaanperintahdiRConsole.

11.1.ModelTrendLinear
PrinsipdarimodelTrendLinearadalahmencaripersamaantrendlineardaridata dan menggunakannya untuk mendapatkan ramalan pada waktuwaktu yang akan datang, Yt + k .Secaramatematis,persamaanlineardaritrendlineardapatditulissebagai berikut:
Yt = a + bt ,

denganadanbadalahkoefisienkoefisienpersamaanlinearyangakandicariberdasar kandatayangada,dantadalahkodedariurutanperiodewaktu(biasanyat=1,2,). Sebagai contoh kasus, misalkan akan dilakukan peramalan jumlah penumpang pesawatudarainternasionalpadadataAirPassengersyangsudahtersediadiR.Dengan menulis langsung nama data tersebut pada RConsole, maka akan diperoleh tampilan dataruntunwaktumulaiJanuari1949sampaidenganDesember1960sepertiberikut.
>AirPassengers JanFebMarAprMayJunJulAugSepOctNovDec 1949112118132129121135148148136119104118 1950115126141135125149170170158133114140 1951145150178163172178199199184162146166 1952171180193181183218230242209191172194 1953196196236235229243264272237211180201 1954204188235227234264302293259229203229 1955242233267269270315364347312274237278 1956284277317313318374413405355306271306 1957315301356348355422465467404347305336 1958340318362348363435491505404359310337 1959360342406396420472548559463407362405 1960417391419461472535622606508461390432

185

sht90

AnalisisRuntunWaktudenganR

Analisis tren linear dapat dilakukan dengan menggunakan perintah lm atau linear model seperti pada analisis regresi linear di Bab 7. Berikut adalah script R dan outputpersamaantrenlinearpadadataAirPassengers.


>AirPassengers >t=1:length(AirPassengers) >y=AirPassengers >fit=lm(y~t) >summary(fit) Call: lm(formula=y~t) Residuals: Min1QMedian3QMax 93.85830.7275.75724.489164.999 Coefficients: EstimateStd.ErrortvaluePr(>|t|) (Intercept)87.652787.7163511.36<2e16*** t2.657180.0923328.78<2e16*** Signif.codes:0***0.001**0.01*0.05.0.11 Residualstandarderror:46.06on142degreesoffreedom MultipleRsquared:0.8536,AdjustedRsquared:0.8526 Fstatistic:828.2on1and142DF,pvalue:<2.2e16 >plot(t,y,type="o",xlab="monthly,19491960",ylab="AirPassengers") >abline(fit)

Berdasarkan output perintah summary(fit) dapat dijelaskan bahwa persamaan tren linearuntukdataAirPassengersadalah
Yt = 87,65278 + 2,65718 t .

Persamaan tren linear ini menunjukkan bahwa setiap bulan ada kenaikan jumlah penumpangpesawatudarainternasionalyaiturataratasebesar2,65718. Dua perintah terakhir pada script diatas digunakan untuk membuat ilustrasi grafik yaituplotantara data aktualdengan nilainilaiprediksinya. Outputdari perintah inidapatdilihatpadaGambar11.1berikutini.

186

sht90

AnalisisRuntunWaktudenganR

Gambar11.1.OutputmodeltrenlinearpadadataAirPassengers

11.2.ModelExponentialSmoothing
Prinsip dari metode Exponential Smoothing adalah menggunakan nilai peng halusan secara eksponensial sebagai ramalan dari kejadian di satu waktu yang akan datang, Yt + k . Secara umum ada tiga macam model eksponensial, yaitu eksponensial sederhana(untukdatadenganpolastasioner),eksponensialgandayangdikenaldengan modelHolt(untukdatadenganpolatren),danmodelHoltWinters(untukdatadengan polamusimandenganatautanpatren). Rmenyediakanfasilitasuntukketigamodeltersebutdengansatuperintahyaitu HoltWinters.Penggunaandariperintahiniadalahsepertiberikut.

HoltWinters(x,alpha=NULL,beta=NULL,gamma=NULL, seasonal=c("additive","multiplicative"), start.periods=3,l.start=NULL,b.start=NULL, s.start=NULL, optim.start=c(alpha=0.3,beta=0.1,gamma=0.1), optim.control=list())

187

sht90

AnalisisRuntunWaktudenganR

Perintah HoltWinters ini memiliki beberapa argumen yang dapat digunakan untuk menentukanpemilihanmetodeeksponensialsmoothingmanayangakandipilih.Berikut iniadalahargumenyangdapatdipilihpadaperintahHoltWinters. Argumen x alpha beta Anobjectofclassts alphaparameterofHoltWintersFilter. betaparameterofHoltWintersFilter.Ifsetto0,thefunction willdoexponentialsmoothing. gammaparameterusedfortheseasonalcomponent.Ifsetto 0,annonseasonalmodelisfitted. Characterstringtoselectan"additive"(thedefault)or "multiplicative"seasonalmodel.Thefirstfew charactersaresufficient.(Onlytakeseffectifgammaisnon zero). Keterangan

gamma

seasonal

start.periods Startperiodsusedintheautodetectionofstartvalues.Must beatleast3. l.start b.start s.start Startvalueforlevel(a[0]). Startvaluefortrend(b[0]). Vectorofstartvaluesfortheseasonalcomponent (s_1[0]...s_p[0]) Vectorwithnamedcomponentsalpha,beta,andgamma containingthestartingvaluesfortheoptimizer.Onlythe valuesneededmustbespecified.Ignoredintheone parametercase.

optim.start

optim.control Optionallistwithadditionalcontrolparameterspassedto optimifthisisused.Ignoredintheoneparametercase.

Model HoltWinters yang disediakan di R terdiri dari dua pilihan, yaitu model aditif dan multiplikatif. Model aditif digunakan pada data runtun waktu dengan pola seasonal dengan variasi musiman konstan. Sedangkan model multiplikatif digunakan untukdatadenganpolaseasonalyangmengandungvariasitidakkonstan.

188

sht90

AnalisisRuntunWaktudenganR

Fungsi prediksi pada model HoltWinters aditif (untuk runtun waktu dengan panjangperiodep)adalah Yhat[t+h]=a[t]+h*b[t]+s[t+1+(h1)modp], dengana[t],b[t]dans[t]adalah a[t]=(Y[t]s[tp])+(1)(a[t1]+b[t1]) b[t]=(a[t]a[t1])+(1)b[t1] s[t]=gamma(Y[t]a[t])+(1gamma)s[tp]. Sedangkan fungsi prediksi pada model HoltWinters multiplikatif (untuk runtun waktu denganpanjangperiodep)adalah Yhat[t+h]=(a[t]+h*b[t])*s[t+1+(h1)modp], dengana[t],b[t]dans[t]adalah a[t]=(Y[t]/s[tp])+(1)(a[t1]+b[t1]) b[t]=(a[t]a[t1])+(1)b[t1] s[t]=gamma(Y[t]/a[t])+(1gamma)s[tp].

Fungsi ini bekerja untuk mendapatkan nilainilai optimal dari dan/atau dan/atau gammadenganmeminimalkankuadratdarierrorprediksisatutahap.

11.2.1.ModelHoltWintersAditif
Sebagai contoh kasus, misalkan akan dilakukan peramalan CO2 pada data co2 yangsudahtersediadiR.DenganmenulislangsungnamadatatersebutpadaRConsole, maka akan diperoleh tampilan data runtun waktu mulai Januari 1959 sampai dengan Desember 1997. Sebagai tahap awal, identifikasi pola data dapat dilakukan dengan menampilkan plottimeseries denganmenggunakanperintahplot(x).Outputdariplot tersebutdapatdilihatpadaGambar11.2.Darigambartersebutdapatdilihatbahwadata mengandung pola tren dan seasonal dengan variasi relatif konstan. Dengan demikian modelHoltWintersaditifadalahsesuaiuntukditerapkangunaperamalanpadadata.

189

sht90

AnalisisRuntunWaktudenganR

Gambar11.2.OutputmodeltrenlinearpadadataAirPassengers

BerikutadalahscriptRyangdigunakanuntukmenerapkanmodelHoltWinters aditifpadadataCO2yangsudahtersediadiR.


>#SeasonalAdditiveHoltWinters >co2 >plot(co2)#menampilkanplottimeseriesdaridata >model1<HoltWinters(co2)#menerapkanHoltWintersaditif(default) >fore1<predict(model1,50,prediction.interval=TRUE) >plot(model1,fore1) >plot(fitted(model1))

Script di atas menghasilan koefisienkoefisien yang optimal pada model HoltWinters aditif(model1),nilairamalan50periodeyangakandatang,dangrafikantaranilaiaktual, prediksidanramalan50periodeyangakandatang.Perintahterakhirmenghasilkanplot tiaptiap komponendata, yaitu level,trend,danseasonal, serta nilairamalan. Berikut iniadalahoutputlengkappadamasingmasingperintahdiatas.

190

sht90

AnalisisRuntunWaktudenganR

>model1 HoltWintersexponentialsmoothingwithtrendandadditiveseasonalcomponent.
Call: HoltWinters(x = co2) Smoothing parameters: alpha: 0.4907075 beta : 0.01197529 gamma: 0.4536582 Coefficients: [,1] a 364.6866567 b 0.1268701 s1 0.2812220 s2 1.0173743 s3 1.6642371 s4 2.9411121 s5 3.3487805 s6 2.5064789 s7 0.9613233 s8 -1.3122489 s9 -3.3464772 s10 -3.1988220 s11 -1.8558114 s12 -0.5254438

>fore1
Jan Feb Mar Apr May Oct Nov Dec Jan Feb 1998 1998 1998 1998 1998 fit 365.0947 365.9578 366.7315 368.1352 368.6698 upr 365.6900 366.6224 367.4603 368.9244 369.5162 lwr 364.4995 365.2931 366.0027 367.3461 367.8234

2001 2001 2001 2002 2002

367.3239 368.7937 370.2510 371.1845 372.0475

369.9810 371.4892 372.9848 373.9829 374.8841

364.6667 366.0983 367.5171 368.3861 369.2110

Output diatas menunjukkan bahwa nilai parameter smoothing yang optimal adalah alpha=0.49, beta=0.01, dan gamma=0.45. Koefisienkoefisien a dan b, serta koefisien seasonal (s1,s2,,s12) juga diberikan. Selanjutnya juga diberikan nilainilai ramalan50periodekedepanbesertataksiranbatasatasdanbawah.Padaakhirnyaplot komponendata,sertaperbandinganantaranilaiaktualdanramalanditampilkanseperti padaGambar11.3dan11.4

191

sht90

AnalisisRuntunWaktudenganR

Gambar11.3.NilaiaktualdanramalanpadadataCO2

Gambar11.4.Nilainilaikomponenlevel,trend,danseasonalpadadataCO2

192

sht90

AnalisisRuntunWaktudenganR

11.2.2.ModelHoltWintersMultiplikatif
Misalkan akan dilakukan peramalan jumlah penumpang pesawat udara pada dataAirPassengersyangsudahtersediadiR.Sebagaitahapawal,identifikasipoladata dapatdilakukandenganmenampilkanplottimeseries(lihatGambar11.1)menunjukkan bahwa data mengandung pola tren dan seasonal dengan variasi yang cenderung meningkat.Dengandemikiansalahsatumodelyangsesuaiuntukperamalanpadadata AirPassengersiniadalahmodelHoltWintersmultiplikatif. BerikutadalahscriptRyangdigunakanuntukmenerapkanmodelHoltWinters multiplikatifpadadataAirPassengersyangsudahtersediadiR.
>#SeasonalMultiplicativeHoltWinters >AirPassengers >plot(AirPassengers)#menampilkanplottimeseriesdaridata >model2<HoltWinters(AirPassengers,seasonal=mult) >fore2<predict(model2,24,prediction.interval=TRUE) >plot(model2,fore2) >plot(fitted(model2))

Script di atas menghasilan koefisienkoefisien yang optimal pada model HoltWinters multiplikatif(model2),nilairamalan24periodeyangakandatang,dangrafikantaranilai aktual dan ramalan 24 periode yang akan datang. Perintah terakhir menghasilkan plot tiaptiap komponendata, yaitu level,trend,danseasonal, serta nilairamalan. Berikut iniadalahsebagianoutputpadaperintahperintahdiatas.
>model2 HoltWintersexponentialsmoothingwithtrendandmultiplicativeseasonalcomponent.

Call: HoltWinters(x=AirPassengers,seasonal="mult")

Smoothingparameters: alpha:0.274855 beta:0.01745283 gamma:0.8766261

Coefficients: [,1] a475.6200718danseterusnya.

193

sht90

AnalisisRuntunWaktudenganR

Plot komponen data, serta perbandingan antara nilai aktual dan ramalan ditampilkan sepertipadaGambar11.5dan11.6berikutini.

Gambar11.5.NilaiaktualdanramalanpadadataAirPassengers

Gambar11.6.Nilaikomponenlevel,trend,danseasonalpadaAirPassengers

194

sht90

AnalisisRuntunWaktudenganR

11.2.3.ModelHoltWintersNonseasonalatauModelEksponensialGanda
Misalkan akan dilakukan peramalan jumlah populasi penduduk United States (dalam juta jiwa) pada data uspop yang sudah tersedia di R (ditambah suatu error). Tahapawalidentifikasipoladatamenunjukkanbahwadatamengandungpolatrenyang cenderungmeningkat.Dengandemikiansalahsatumodelyangsesuaiuntukperamalan padadatauspopiniadalahmodeleksponensialgandaatauHoltWintersnonseasonal. BerikutadalahscriptRyangdigunakanuntukmenerapkanmodelHoltWinters nonseasonal pada data uspop yang sudah tersedia di R, serta beberapa output dari perintahperintahtersebut.
>#NonSeasonalHoltWinters >uspop TimeSeries: Start=1790 End=1970 Frequency=0.1 [1]3.935.317.249.6412.9017.1023.2031.4039.8050.20 [11]62.9076.0092.00105.70122.80131.70151.30179.30203.20 >x<uspop+rnorm(uspop,sd=5)#errorN(0,5)ditambahkankedatauspop >model3<HoltWinters(x,gamma=0)#gamma=0untukeksponensialganda >model3 HoltWintersexponentialsmoothingwithtrendandwithoutseasonalcomponent.

Call: HoltWinters(x=x,gamma=0)

Smoothingparameters: alpha:0.5747944 beta:1 gamma:0

Coefficients: [,1] a201.89779 b29.71546 >model3$SSE#nilaiSSEdarimodelHoltWintersnonseasonal [1]1020.530 >fore3<predict(model3,5,prediction.interval=TRUE)#ramalan5tahunkedepan

>plot(model3,fore3)

195

sht90

AnalisisRuntunWaktudenganR

PlotperbandinganantaranilaiaktualdanramalandarimodelHoltWinternonseasonal padadatauspopadalahsebagaiberikut.

Gambar11.7.Nilaiaktualdanramalanpadadatauspop

11.2.4.ModelEksponensialSmoothingSederhana
Misalkan saja akan dilakukan penerapan model eksponensial smoothing sederhanauntukperamalanjumlahpopulasipendudukUnitedStates(dalamjutajiwa) pada data uspop yang sudah tersedia di R, seperti pada bagian sebelumnya. Berikut adalah script R yang digunakan untuk menerapkan model eksponensial smoothing sederhana pada data uspop (plus suatu error), serta beberapa output dari perintah perintahtersebut.

>#ExponentialSmoothing >uspop >x<uspop+rnorm(uspop,sd=5) >model4<HoltWinters(x,gamma=0,beta=0) >fore4<predict(model4,5,prediction.interval=TRUE)#ramalan5tahunkedepan

196

sht90

AnalisisRuntunWaktudenganR

>model4 HoltWintersexponentialsmoothingwithouttrendandwithoutseasonalcomponent.

Call: HoltWinters(x=x,beta=0,gamma=0)

Smoothingparameters: alpha:0.9999216 beta:0 gamma:0

Coefficients: [,1] a208.6348 >model4$SSE#menampilkannilaiSSEdarimodeleksponensialsmoothingsederhana [1]3974.916 >plot(model4,fore4)

Plot perbandingan antara nilai aktual dan ramalan dari model eksponensial smoothing sederhanapadadatauspopadalahsebagaiberikut.

Gambar11.8.Nilaiaktualdanramalanpadadatauspopdenganmetode eskponensialsmoothingsederhana

197

sht90

AnalisisRuntunWaktudenganR

11.3.ModelARIMA
Model Autoregressive Integrated Moving Average (ARIMA) merupakan salah satu model yang populer dalam peramalan dengan pendekatan time series. Model ini terdiri dari tiga bentuk utama yaitu model AR, MA, dan ARMA. Prosedur BoxJenkins adalah suatu prosedur standar yang banyak digunakan dalam pembentukan model ARIMA.Proseduriniterdiridariempattahapanyangiteratifdalampembentukanmodel ARIMA pada suatu data runtun waktu, yaitu tahap identifikasi, estimasi, diagnostic check, dan peramalan. Berikut ini adalah diagram yang menggambarkan tahaptahap dalamprosedurBoxJenkins(BowermandanOConnell,1993;Wei,2006).
4.TahapFORECASTING (Gunakanmodeluntukperamalan) YA TIDAK 3.TahapDIAGNOSTICCHECK (Verifikasiapakahmodelsesuai?) 2.TahapESTIMASI (Estimasikanparametermodel) 1.TahapIDENTIFIKASI (Identifikasimodeldugaansementara) Postulasikan KelasUmumModel

Gambar11.9.ProsedurBoxJenkinsuntukpembentukanmodelARIMA

198

sht90

AnalisisRuntunWaktudenganR

Secaraumum,bentukmatematisdarimodelARIMA(p,d,q)dapatditulissebagai berikut(Cryer,1986;Wei,2006)
(1 1 B K p B p )(1 B ) d Z t = 0 + (1 1 B K q B q )a t ,

dengan B adalah operator mundur, yaitu B k Z t = Z t k . Penentuan orde p dan q dari model ARIMA pada suatu data runtun waktu dilakukan dengan mengidentifikasi plot Autocorrelation Function (ACF) dan Partial Autocorrelation Function (PACF) dari data yangsudahstasioner.Berikutiniadalahpetunjukumumuntukpenentuanordepdanq padasuatudataruntunwaktuyangsudahstasioner.

Tabel11.1.PolateoritisACFdanPACFdariprosesyangstasioner

Proses

ACF Diesdown (turuncepatsecara eksponensial/sinusoidal) Cutsoffafterlagq (terputussetelahlagq)

PACF Cutsoffafterlagp (terputussetelahlagp)

AR(p)

MA(q)

Diesdown (turuncepatsecara eksponensial/sinusoidal) Diesdown (turuncepatsecara eksponensial/sinusoidal)) Cutsoffafterlagp (terputussetelahlagp)

ARMA(p,q)

Diesdown (turuncepatsecara eksponensial/sinusoidal)) Cutsoffafterlagq (terputussetelahlagq)

AR(p)atau MA(q) Whitenoise (Random)

Tidakadayangsignifikan (tidakadayangkeluarbatas)

Tidakadayangsignifikan (tidakadayangkeluarbatas)

Radalahsalahsatupaketstatistikayangmenyediakanfasilitasuntukmembuat bentukACFdanPACFteoritisdarimodelmodelARIMAyangstasioner.Berikutiniadalah contohscriptuntukmembuatplotACFdanPACFteoritisdarimodelAR(p),MA(q)dan ARMA(p,q),sertaoutputnya.

199

sht90

AnalisisRuntunWaktudenganR

>#ACFdanPACFteoritisuntukAR(1) >acf.ar1=ARMAacf(ar=0.8,ma=0,20) >pacf.ar1=ARMAacf(ar=0.8,ma=0,20,pacf=T) >acf.ar1=acf.ar1[2:21] >c1=acf.ar1 >c2=pacf.ar1 >ar1=cbind(c1,c2) >ar1#NilainilaiACFdanPACFteoritis >par(mfrow=c(1,2)) >plot(acf.ar1,type="h",xlab="lag",ylim=c(1,1)) >abline(h=0) >plot(pacf.ar1,type="h",xlab="lag",ylim=c(1,1)) >abline(h=0)

Berikut ini adalah hasil plot ACF dan PACF teoritis dari model ARIMA(1,0,0) yang biasanyadisingkatmodelAR(1),dengannilaikoefisienparametermodel(phi)0,8.

Gambar11.10.PlotACFdanPACFteoritismodelAR(1)denganphi=0,8 DarigambardiatasdapatdijelaskanbahwaplotACFpadamodelAR(1)dengankoefisien parameterpositifadalahdiesdown(turuncepatsecaraeksponensial)dengannilaiACF yang selalu positif. Sedangkan PACF menunjukkan pola yang terputus setelah lag 1 sepertipetunjukpadaTabel11.1.

200

sht90

AnalisisRuntunWaktudenganR


>#ACFdanPACFteoritisuntukMA(2) >acf.ma2=ARMAacf(ar=0,ma=c(1.5,0.7),20) >pacf.ma2=ARMAacf(ar=0,ma=c(1.5,0.7),20,pacf=T) >acf.ma2=acf.ma2[2:21] >c1=acf.ma2 >c2=pacf.ma2 >ma2=cbind(c1,c2) >ma2#NilainilaiACFdanPACFteoritis >par(mfrow=c(1,2)) >plot(acf.ma2,type="h",xlab="lag",ylim=c(1,1)) >abline(h=0) >plot(pacf.ma2,type="h",xlab="lag",ylim=c(1,1)) >abline(h=0)

Di bawah ini adalah hasil plot ACF dan PACF teoritis dari model ARIMA(0,0,2) yangbiasanyadisingkatmodelMA(2),dengannilaikoefisienparametermodel(tetha1 dan2)1,5dan0,7.

Gambar11.10.PlotACFdanPACFteoritismodelMA(2)dengantetha1,5dan0,7 Berdasarkan pola pada gambar diatas dapat dijelaskan bahwa plot ACF pada model MA(2)dengankoefisienparameterpositif1,5(tetha1)dan0,7(tetha2)adalahterputus setelah lag 2. Sedangkan PACF menunjukkan pola yang dies down (turun cepat secara sinusoidal)dengannilaiPACFyangberubahdaripositifkenegatifsepertipetunjukpada Tabel11.1diatas.

201

sht90

AnalisisRuntunWaktudenganR

>#ACFdanPACFteoritisuntukARMA(1,1) >acf.arma11=ARMAacf(ar=0.7,ma=0.4,10) >pacf.arma11=ARMAacf(ar=0.7,ma=0.4,10,pacf=T) >acf.arma11=acf.arma11[2:11] >c1=acf.arma11 >c2=pacf.arma11 >arma11=cbind(c1,c2) >arma11#NilainilaiACFdanPACFteoritis >par(mfrow=c(1,2)) >plot(acf.arma11,type="h",xlab="lag",ylim=c(1,1)) >abline(h=0) >plot(pacf.arma11,type="h",xlab="lag",ylim=c(1,1)) >abline(h=0)

HasilplotACFdanPACFteoritisdarimodelARIMA(1,0,1)yangdisingkatmodel ARMA(1,1),dengannilaikoefisienparameterAR(phi)0,7dankoefisienMA(tetha)0,4.

Gambar11.11.PlotACFdanPACFteoritismodelARMA(1,1)denganphi0,7dantetha 0,4 GambardiatasmenunjukkanbahwaplotACFpada modelARMA(1,1)dengan koefisien parameterpphi0,7dantetha0,4adalahdiesdown(turuncepatsecaraeksponensial). Pola yang sama juga ditunjukkan oleh plot PACF yaitu dies down (turun cepat secara sinusoidal)dengannilaiPACFyangberubahdaripositifkenegatifsepertipetunjukpada Tabel11.1diatas.

202

sht90

AnalisisRuntunWaktudenganR

11.3.1.ContohKasusModelARIMANonmusimanyangStasioner
Misalkan akan dilakukan peramalan dengan model ARIMA pada data runtun wakturecruit.dat,yaitudatatentangbanyaknyaikanbaruyangtelahdikumpulkanoleh Dr. Roy Mendelssohn dari The Pacific Environmental Fisheries Group (lihat buku Shumway dan Stoffer (2006), dengan judul Time Series Analysis and Its Applications with R Examples; halaman 7). Data ini adalah data bulanan mulai tahun 19501987. BerikutiniadalahscriptfileRuntukmemanggildanmenampilkanplottimeseriesdari data.

>rec=ts(scan("recruit.dat"),start=1950,frequency=12) >plot(rec)

Hasilplottimeseriesdaridataadalahsebagaiberikut.

Gambar11.12.Plottimeseriesdaridatarecruit

203

sht90

AnalisisRuntunWaktudenganR

Dari plot time series pada Gambar 11.12 dapat dijelaskan bahwa data relatif stasioner dan tidak mengandung tren. Berikut adalah script file R untuk menampilkan ACFdanPACFdaridatarecruitbesertaoutputnya.

>rec=ts(scan("recruit.dat")) >plot(rec)#menampilkanplottimeseriesdaridata >win.graph >par(mfrow=c(2,1)) >acf(rec,48)#menampilkanACFsampailag48 >pacf(rec,48)#menampilkanPACFsampailag48

Gambar11.13.PlotACFdanPACFdaridatarecruit

204

sht90

AnalisisRuntunWaktudenganR

Hasil identifikasi bentuk ACF dan PACF dari data recruit menunjukkan bahwa ACF cenderung dies down (turun cepat) dan PACF cenderung terputus setelah lag 2. Dengan demikian, model dugaan yang sesuai untuk data ini adalah ARIMA(2,0,0) atau AR(2). Tahap selanjutnya adalah estimasi parameter pada model ARIMA dugaan. Ada beberapametodeestimasiparameteryangdisediakanR,antaralain: EstimasiYuleWalker(YW) EstimasiOrdinaryLeastSquares(OLS) EstimasiMaximumLikelihoodEstimation(MLE)

BerikutiniadalahscriptfileRuntukestimasiparameterdenganmenggunakanmetode estimasiYuleWalkerbesertaoutputnya.

>rec.yw=ar.yw(rec,order=2)

>rec.yw$x.mean [1]62.26278#taksirannilairataratadata

>rec.yw$ar [1]1.33158740.4445447#taksirannilaiphi1danphi2

>sqrt(diag(rec.yw$asy.var.coef)) [1]0.042226370.04222637#standarerrordariphi1danphi2

>rec.yw$var.pred [1]94.79912#taksiranvarianserror(mse)

Berdasarkan hasil taksiran YuleWalker pada output diatas, maka model AR(2) yang diperolehdapatditulissecaramatematissepertiberikut(duaangkabelakangkoma)
(1 1.33B + 0.44 B 2 )( Z t 62.26) = at ,

atau
Z t = 62.26(1 1.33 + 0.44) + 1.33Z t 1 0.44 Z t 2 + at ,

dengan Z t adalahdataaslipadawaktuket.Outputdiatasjugamemberikannilainilai standarerrorpadamasingmasingkoefisienyangdapatdigunakanuntukujisignifikansi parameterparametermodeltersebut. Sebagaiperbandingan,berikutiniadalahscriptfileRuntukestimasiparameter denganmenggunakanmetodeestimasiOrdinaryLeastSquaresdanMaximumLikelihood Estimation,sertaoutputyangdihasilkan.

205

sht90

AnalisisRuntunWaktudenganR

>rec.ols=ar.ols(rec,order=2)#metodeOLS

>rec.ols$x.mean [1]62.26278#taksirannilairataratadata

>rec.ols$ar ,,1

[,1] [1,]1.3540685#taksirannilaiphi1danphi2 [2,]0.4631784

>rec.ols$asy.se.coef $x.mean [1]0.4460397

$ar [1]0.041789010.04187942#standarerrordariphi1danphi2

>rec.ols$var.pred [,1] [1,]89.71705#taksiranvarianserror(mse) >rec.mle=ar.mle(rec,order=2)#metodeMLE

>rec.mle$x.mean [1]62.26153#taksirannilairataratadata

>rec.mle$ar [1]1.35128090.4612736#taksirannilaiphi1danphi

>sqrt(diag(rec.mle$asy.var.coef)) [1]0.040991590.04099159#standarerrordariphi1danphi2

>rec.mle$var.pred [1]89.33597#taksiranvarianserror(mse)

Hasilestimasiketigametodetersebutmenunjukkanbahwanilainilaitaksiranparameter modelAR(2)yangdiperolehrelatiftidakberbedajauh.Halyangmenarikadalahtaksiran dari varians error (atau yang dikenal dengan MSE). Nilai MSE yang diperoleh ketiga modelmenunjukkanbahwametodeMLEmemberikannilaiMSEyangpalingkecil,yaitu 89.33597. Selain menggunakan perintahperintah diatas, R juga menyediakan perintah arima untuk estimasi secara langsung dengan menampilkan beberapa nilai taksiran sekaligus.Berikutadalahketeranganpenggunaanarimadanargumenyangdibutuhkan.

206

sht90

AnalisisRuntunWaktudenganR

arima(x,order=c(0,0,0), seasonal=list(order=c(0,0,0),period=NA), xreg=NULL,include.mean=TRUE, transform.pars=TRUE, fixed=NULL,init=NULL, method=c("CSSML","ML","CSS"), n.cond,optim.control=list(),kappa=1e6) Sebagai contoh, script untuk estimasi CSSMLE (pilihan default) pada data recruit denganperintaharimabesertaoutputnyaadalahsebagaiberikut.

>fit1<arima(rec,c(2,0,0)) >fit1

Call: arima(x=rec,order=c(2,0,0))

Coefficients: ar1ar2intercept 1.35120.461261.8585 s.e.0.04160.04174.0039

sigma^2estimatedas89.33:loglikelihood=1661.51,aic=3331.02

HasildiatasmenunjukkanbahwanilainilaitaksiranparametermodelAR(2)untukdata recruitadalahsamadenganmenggunakanperintahsebelumnya. Langkahselanjutnyasetelah estimasiparameterdiperolehadalahcekdiagnosa untuk mengetahui apakah model sudah memenuhi syarat kebaikan suatu model. R menyediakan fasilitas untuk uji kesesuaian model, yaitu Uji Statistik LjungBox untuk mengetahui apakah residual model sudah memenuhi syarat white noise. Hal ini dapat dilakukandenganperintahtsdiagseperticontohberikutini.
>fit1<arima(rec,c(2,0,0)) >tsdiag(fit1)#cekdiagnosadenganUjiLjungBox

207

sht90

AnalisisRuntunWaktudenganR

Berikut adalah output hasil perintah tsdiag untuk pengecekan apakah residual model sudahmemenuhisyaratwhitenoise.

Gambar11.14.PlotACFresidualdanpvaluedariujiStatistikLjungBox Hasil diatas menunjukkan bahwa residual model AR(2) telah memenuhi syarat white noise.HaliniditunjukkanolehpvaluedariujiLjungBoxyangsemuanyalebihbesardari 0,05(alphaatautingkatsignifikansipengujian). Asumsikeduayangjugaharusdiperiksaadalahnormalitasdariresidualmodel.R menyediakan banyak perintah untuk uji normalitas, baik secara grafik atau statistik inferensia.PadabagianiniakandigunakanhistogramdanQQplotuntukevaluasisecara grafik.Secarainferensidigunakansalahsatuperintahyangada,yaitushapiro.testuntuk menerapkan uji ShapiroWilk. Berikut adalah script file R yang dapat digunakan untuk menampilkan histogram dan QQplot dari residual, serta uji normalitas residual model denganujiShapiroWilk.

208

sht90

AnalisisRuntunWaktudenganR

>par(mfrow=c(2,1)) >hist(fit1$resid,br=12) >qqnorm(fit1$resid) >shapiro.test(fit1$resid)

ShapiroWilknormalitytest data:fit1$resid W=0.9736,pvalue=2.723e07

OutputhistogramdanQQplotresidualmodelAR(2)padadatarecruitdapatdilihatpaga Gambar 11.15. Output uji ShapiroWilk diatas menunjukkan bahwa residual belum memenuhisyaratdistribusinormal.Haliniditunjukkanolehpvalueyanglebihkecildari 0.05(alphapengujian).

Gambar11.15.HistogramdanQQPlotresidualmodelAR(2)padadatarecruit

209

sht90

AnalisisRuntunWaktudenganR

Langkah terakhir setelah model yang diperoleh sudah memenuhi syarat model adalahperamalan.AnggapmodelAR(2)adalahmodelyangsesuaiuntukperamalandata recruit. Berikut ini adalah script file R yang lengkap mulai tahap identifikasi, estimasi, cekdiagnosa,danperamalan.

>rec=ts(scan("recruit.dat"),start=1950,frequency=12)

>plot(rec)#TahapIDENTIFIKASI >win.graph >par(mfrow=c(2,1)) >acf(rec,48)#menampilkanACFsampailag48 >pacf(rec,48)#menampilkanPACFsampailag48

>fit1<arima(rec,c(2,0,0))#TahapESTIMASI

>tsdiag(fit1)#TahapCEKDIAGNOSA >win.graph >par(mfrow=c(2,1)) >hist(fit1$resid,br=12) >qqnorm(fit1$resid) >shapiro.test(fit1$resid)

>rec.fore=predict(fit1,n.ahead=24)#TahapPERAMALAN >U=rec.fore$pred+rec.fore$se >L=rec.fore$predrec.fore$se >minx=min(rec,L) >maxx=max(rec,U) >ts.plot(rec,rec.fore$pred,xlim=c(1970,1990),ylim=c(minx,maxx)) >lines(rec.fore$pred,col="red",type="o") >lines(U,col="blue",lty="dashed") >lines(L,col="blue",lty="dashed")

Pada script ini nilainilai ramalan 24 periode yang akan datang disimpan dalam object yangdiberinamarec.fore.Dalamhalininilainilairamalanbesertabatasatasdanbatas bawah juga diberikan. Untuk menampilkan angkaangka tersebut cukup dengan menuliskannamaobjecttersebutpadaRConsole. Hasil plot ramalan beserta batas atas dan batas bawah ramalan ditampilkan pada Gambar 11.16. Warna merah menunjukkan nilainilai ramalan, sedangkan warna biru adalah batas bawah dan atas dari ramalan. Hasil tersebut menunjukkan bahwa ramalan yang diperoleh relatif cukup baik, karena sudah mengikuti pola data recruit padawaktuwaktusebelumnya.

210

sht90

AnalisisRuntunWaktudenganR

Gambar11.16.Plotramalan,batasatasdanbatasbawahpadadatarecruit

11.3.2.ContohKasusModelARIMANonmusimanyangTidakStasioner
Misalkan akan dilakukan peramalan dengan model ARIMA pada data runtun waktugnp96.dat,yaitudatakuartalantentangGNPUSperiode1947(1)sampai2002(3). Datainiadalahdataruntunwaktuyangtidakstasionerdalammeandanvarians,seperti yang terlihat pada Gambar 11.17. Hal ini ditunjukkan oleh fluktuasi varians yang cenderungmeningkatseiringbertambahnyawaktu.Karenadatabelumstasionerdalam meandanvarians,makapadatahapidentifikasidilakukanprosestransformasiterlebih dulu untuk menstabilkan varians, dan kemudian differencing untuk menstasionerkan mean data. Pemilihan transformasi yang sesuai dapat menggunakan transformasi Box Cox.Dalamkasusini,transformasilogyangterpilihuntukmenstabilkanvariansidata.R menyediakanperintahdiffuntukprosesdifferencingsuatudataruntunwaktu. Berikut ini adalah script lengkap untuk memanggil data, identifikasi, estimasi, cek diagnosa, dan peramalan pada data gnp96.dat. Output lengkap dari script ini ditampilkan per tahapan pembentukan model ARIMA dengan menggunakan prosedur BoxJenkins.

211

sht90

AnalisisRuntunWaktudenganR


>gnp96=read.table("gnp96.dat") >gnp=ts(gnp96[,2],start=1947,frequency=4) >#tahapIDENTIFIKASI >plot(gnp) >acf(gnp,50) >gnpgr=diff(log(gnp))#transformasidandifferencingdata >plot.ts(gnpgr) >par(mfrow=c(2,1)) >acf(gnpgr,24) >pacf(gnpgr,24) >#tahapESTIMASI >gnpgr.ar=arima(gnpgr,order=c(1,0,0))#potentialproblemhere >gnpgr.ma=arima(gnpgr,order=c(0,0,2)) >gnpgr.ar >gnpgr.ma >#tahapCEKDIAGNOSA >tsdiag(gnpgr.ar,gof.lag=20) >tsdiag(gnpgr.ma,gof.lag=20)

HasilTahapIDENTIFIKASI

Gambar11.17.PlotdatakuartalanGNPUSmulai1947(1)sampai2002(3)

212

sht90

AnalisisRuntunWaktudenganR

Gambar11.18.PlotACFdatakuartalanGNPUSmulai1947(1)2002(3) Berikut ini adalah hasil transformasi log dan differencing untuk mendapatkan data runtunwaktuyangstasioner.

Gambar11.19.PlotdatakuartalanGNPUSsetelahdilogdandifferencing(gnpgr)

213

sht90

AnalisisRuntunWaktudenganR

OutputbentukACFdanPACFdaridatagnpyangsudahditransformasidandifferencing menjadidatagnppr.

Gambar11.20.PlotACFdanPACFdaridatagnpgr

HasilTahapESTIMASI
>gnpgr.ar#HasilestimasiparametermodelARIMA(1,1,0)

Call: arima(x=gnpgr,order=c(1,0,0))

Coefficients: ar1intercept 0.34670.0083 s.e.0.06270.0010

sigma^2estimatedas9.03e05:loglikelihood=718.61,aic=1431.22

214

sht90

AnalisisRuntunWaktudenganR

>gnpgr.ma#HasilestimasiparametermodelARIMA(0,1,2)

Call: arima(x=gnpgr,order=c(0,0,2))

Coefficients: ma1ma2intercept 0.30280.20350.0083 s.e.0.06540.06440.0010

sigma^2estimatedas8.92e05:loglikelihood=719.96,aic=1431.93


HasilTahapCEKDIAGNOSA

Gambar11.20.PlotACFdanPACFdariresidualmodelARIMA(1,1,0)

215

sht90

AnalisisRuntunWaktudenganR

Gambar11.21.PlotACFdanPACFdariresidualmodelARIMA(0,1,2)

Hasilhasil diatas menunjukkan bahwa model ARIMA(0,1,2) adalah model ARIMA yang lebih sesuai untuk data GNP US jika dibandingkan dengan model ARIMA(1,1,0). Hal ini ditunjukkan oleh nilai likelihood yang lebih besar dan nilai AIC yang lebih kecil pada modelARIMA(0,1,2).

11.3.3.ModelARIMAMusiman
Secara umum, model ARIMA musiman terdiri dari dua macam yaitu model musiman saja atau ARIMA(P,D,Q)S dan model ARIMA multiplikatif musiman dan nonmusiman atau ARIMA(p,d,q)(P,D,Q)S, dengan S adalah periode musiman. Bentuk matematisdarimodelARIMA(P,D,Q)Sdapatditulissebagaiberikut
(1 1S B K P B PS )(1 B S ) D Z t = 0 + (1 1 B K Q B QS )a t .

216

sht90

AnalisisRuntunWaktudenganR

Sepertipadamodelnonmusiman,penentuanordePdanQdarimodelARIMAmusiman pada suatu data runtun waktu dilakukan dengan mengidentifikasi plot ACF dan PACF daridatayangsudahstasioner.Berikutiniadalahpetunjukumumuntukpenentuanorde PdanQpadasuatudataruntunwaktumusimanyangsudahstasioner.

Tabel11.2.PolateoritisACFdanPACFdariprosesmusimanyangstasioner

Proses AR(P)S MA(Q)S ARMA(P,Q)S

ACF DiesdownpadalagkS,dengan k=1,2,3, CutsoffsetelahlagQS

PACF CutsoffsetelahlagPS

DiesdownpadalagkS,dengan k=1,2,3, DiesdownpadalagkS,dengan k=1,2,3, CutsoffsetelahlagPS

DiesdownpadalagkS,dengan k=1,2,3,

AR(P)Satau CutsoffsetelahlagQS MA(Q)S Whitenoise (Random) Tidakadayangsignifikan (tidakadayangkeluarbatas)

Tidakadayangsignifikan (tidakadayangkeluarbatas)

Selanjutnya, gabungan petunjuk pola ACF dan PACF pada Tabel 11.1 dan 11.2 dapat digunakan untuk menentukan orde p, q, P, dan Q pada model musiman multiplikatif ARIMA(p,d,q)(P,D,Q)S. Secara umum bentuk model ARIMA BoxJenkins MusimanatauARIMA(p,d,q)(P,D,Q)Sadalah:(Cryer,1986;Wei,2006)
p ( B ) P ( B S )(1 B) d (1 B S ) D Z t = 0 + q ( B ) Q ( B S )a t ,

dengan p,d,q = orderAR,MAdandifferencingNonmusiman, P,D,Q= orderAR,MAdanDifferencingMusiman, p (B) = (1 1 B 2 B 2 ... p B p ) ,

217

sht90

AnalisisRuntunWaktudenganR

P ( B S ) = (1 1 B S 2 B 2 S ... P B PS ) ,
(1 B) d = operasimatematisdaridifferencingNonmusiman, (1 B S ) D = operasimatematisdaridifferencingMusiman,

= (1 1 B 2 B 2 ... q B q ) , Q ( B S ) = (1 1 B S 2 B 2 S ... Q B QS ) , Zt = Z t .
q (B )

Seperti pada model nonmusiman, R menyediakan fasilitas untuk membuat bentuk ACF dan PACF teoritis dari modelmodel ARIMA musiman yang stasioner, baik musiman saja atau multiplikatif musiman dan nonmusiman. Berikut ini adalah contoh scriptuntukmembuatplotACFdanPACFteoritisdarimodelARIMA(p,d,q)(P,D,Q)S.
>#ACFdanPACFteoritisuntukMA(1)(1)12 >theta=c(0.6,rep(0,10),0.5,0.3) >#phi=c(rep(0,11),0.8)untukmodelAR >acf.arma=ARMAacf(ar=0,ma=theta,60) >pacf.arma=ARMAacf(ar=0,ma=theta,60,pacf=T) >acf.arma=acf.arma[2:61] >c1=acf.arma >c2=pacf.arma >arma=cbind(c1,c2) >arma#NilainilaiACFdanPACFteoritis >par(mfrow=c(1,2)) >plot(acf.arma,type="h",xlab="lag",ylim=c(1,1)) >abline(h=0) >plot(pacf.arma,type="h",xlab="lag",ylim=c(1,1)) >abline(h=0)

Model ARIMA yang digunakan pada script diatas adalah ARIMA(0,0,1)(0,0,1)12 atau disingkatMA(1)(1)12.Secaramatematismodelinidapatditulisdalambentuk
Z t = (1 1 B )(1 1 B12 )at ,

atau

Z t = at 1at 12 1at 12 + 11at 13 .

Hasil plot ACF dan PACF teoritis dari model ARIMA(0,0,1)(0,0,1)12 dengan nilai koefisienparametermodel(tetha1danTETHA1)0,6dan0,5dapatdilihatpadaGambar 11.22berikutini.

218

sht90

AnalisisRuntunWaktudenganR

Gambar11.22.PlotACFdanPACFteoritismodelARIMA(0,0,1)(0,0,1)12

11.3.4.ContohKasusModelARIMAMusiman
Misalkan akan dilakukan peramalan dengan model ARIMA pada data runtun waktuprod.dat,yaitudatabulanantentangtheFederalReseerveBoardProcuctionIndex (lihat buku Shumway dan Stoffer (2006), dengan judul Time Series Analysis and Its ApplicationswithRExamples;halaman160).Datainiadalahdatabulananmulaitahun 19481978.BerikutiniadalahscriptfileRuntukmemanggildanmenampilkanplottime series,ACF,danPACFdaridataasli.


>prod=ts(scan("prod.dat"),start=1948,frequency=12) >plot(prod) >par(mfrow=c(2,1))#(P)ACFofdata >acf(prod,48) >pacf(prod,48)

Hasil dari plot time series data indeks produksi tersebut (prod) dapat dilihat pada Gambar 11.23. Plot ini menunjukkan bahwa data mengandung tren naik atau data belumstasionerdalammean. Hal ini didukung oleh bentuk ACF dan PACF data asli pada Gambar 11.24, khususnya pola ACF yang turun lambat yang mengindikasikan bahwa data belum stasioner dalam mean. Pada tahap ini (tahap identifikasi) dilakukan differencing pada datauntukmendapatkandatayangstasionerdalammean.

219

sht90

AnalisisRuntunWaktudenganR

Gambar11.23.Plottimeseriesdaridataindeksproduksi(prod)

Gambar11.24.PlotACFdanPACFdaridataindeksproduksi(prod)

220

sht90

AnalisisRuntunWaktudenganR

Berikut ini adalah script untuk differencing dan identifikasi bentuk ACF dan PACF dari datayangsudahstasioner.


>par(mfrow=c(2,1))#ACFdanPACFdifferencingd=1 >acf(diff(prod),48) >pacf(diff(prod),48) >#Karenabelumstasionerdalammusiman,dilanjutkan >#differencingmusimanD=1,S=12atauD=12. >par(mfrow=c(2,1))#ACFdanPACFdifferencingd=1,D=12 >acf(diff(diff(prod),12),48) >pacf(diff(diff(prod),12),48)

HasildariplotACFdanPACFpadadatayangsudahdidifferencingd=1,danD=1,S=12, ataudifferencingnonmusimandanmusiman,ditampilkanpadaGambar11.25.

Gambar11.25.PlotACFdanPACFdaridataprodyangtelahdidifferencing

221

sht90

AnalisisRuntunWaktudenganR

GambarACFdanPACFdatayangsudahstasionermenunjukkanbahwapadalag lagnonmusiman(lag19)ACFdanPACFcenderungdiesdown.Halinijugaterjadipada laglagmusiman(lag12,24,36)yangcenderungjugadiesdown.Berdasarkanpetunjuk padaTabel9.1dan9.2,didugaada3(tiga)modelyangsesuaiuntukdataini,yaitu: 1. ARIMA(1,1,1)(0,1,1)12 2. ARIMA(1,1,1)(2,1,0)12 3. ARIMA(1,1,1)(2,1,1)12.

Hasil estimasi pada ketiga model dugaan tersebut menunjukkan bahwa model ARIMA(1,1,1)(2,1,1)12 merupakanmodelterbaik,berdasarkanperbandingankriteriaAIC. Berikut adalah script R yang dapat digunakan untuk estimasi parameter pada model ARIMAmultiplikatif.
>#TahapESTIMASIPARAMETERmodelke3 >prod.fit3=arima(prod,order=c(1,1,1),seasonal=list(order=c(2,1,1),period=12)) >prod.fit3

Berikut ini adalah output hasil estimasi parameter dari model ketiga, yaitu model multiplikatif ARIMA(1,1,1)(2,1,1)12. Hasil ini menunjukkan bahwa model multiplikatif ARIMA(1,1,1)(2,1,1)12 adalahsesuaiuntukdataprodkhususnyajikadilihatdaritaksiran parameterdansignifikansiparametertersebut(hitungujistatistiktnya).

>prod.fit3#Menampilkanhasilhasilestimasiparameter

Call: arima(x=prod,order=c(1,1,1),seasonal=list(order=c(2,1,1),period=12))

Coefficients: ar1ma1sar1sar2sma1 0.57530.27090.21530.28000.4968 s.e.0.11200.13000.07840.06190.0712

sigma^2estimatedas1.351:loglikelihood=568.22,aic=1148.43

222

sht90

AnalisisRuntunWaktudenganR

Tahapselanjutnyayaitutahapcekdiagnosadanperamalanberdasarkanmodel yangsesuai.BerikutadalahscriptRyangdapatdigunakanuntuktahapcekdiagnosadan peramalanpadamodelARIMAmultiplikatif,sertaoutputnya.

>#TahapDIAGNOSTICSCHECK >tsdiag(prod.fit3,gof.lag=48)

>#TahapPERAMALAN >prod.pr=predict(prod.fit3,n.ahead=12) >U=prod.pr$pred+2*prod.pr$se >L=prod.pr$pred2*prod.pr$se >ts.plot(prod,prod.pr$pred,col=1:2,type="o",ylim=c(105,175),xlim=c(1975,1980)) >lines(U,col="blue",lty="dashed") >lines(L,col="blue",lty="dashed

Gambar11.26.OutputtahapcekdiagnosapadamodelARIMA(1,1,1)(2,1,1)12

223

sht90

AnalisisRuntunWaktudenganR

Plotperbandinganantaranilaiaktualdannilairamalanbeberapaperiodekedepandapat dilihatpadagambarberikutini.

Gambar11.27.Plotramalan,batasatasdanbatasbawahpadadataprod Dengan demikian model terbaik yang diperoleh untuk data prod diatas adalah model multiplikatif ARIMA(1,1,1)(2,1,1)12 yang secara matematis dapat ditulis dalam bentuk sebagaiberikut(duaangkabelakangkoma).
(1 0,58 B)(1 + 0,22 B12 + 0,28 B 24 )(1 B)(1 B12 ) Z t = (1 0,27 B)(1 0,50 B12 )at ,

dengantaksiranvarianserror(MSE)sebesar1,351. Penjabaran dari model ARIMA(1,1,1)(2,1,1)12 di atas akan menunjukkan bahwa peramalan indeks produksi pada suatu bulan (Zt) merupakan fungsi linear dari indeks produksipadabulanbulansebelumnya,yaitusatu(Zt1),dua(Zt2),duabelas(Zt12),tiga belas(Zt13),empatbelas(Zt14),duapuluhempat(Zt24),duapuluhlima(Zt25),duapuluh enam(Zt26),tigapuluhenam(Zt36),tigapuluhtujuh(Zt37),tigapuluhdelapan(Zt38),dan residualpadabulanbulansebelumnya,yaitusatu(at1),duabelas(at12),dantigabelas (at13)bulansebelumnya.

224

sht90

AnalisisRuntunWaktudenganR

11.3.5.KriteriaPemilihanModel
Ada beberapa kriteris pemilihan model yang dapat digunakan untuk memilih model ARIMA terbaik pada suatu data runtun waktu, antara lain Akaikes Information Criterion (AIC), AIC Bias Corrected (AICc), dan Schwarzs Information Criterion (SIC). Berikutiniadalahrumusuntukperhitungankriteriakriteriatersebut. AkaikesInformationCriterion(AIC)
2 AIC = ln k + n + 2k , n

dengan k adalah banyaknya parameter dalam model, dan n adalah jumlah data 2 (pengamatan), serta k estimator maksimum likelihood dari varians error yang didefinisikansebagaiberikut
2 k = RSS k , n

denganRSSadalahtheresidualsumofsquares(jumlahkuadraterror).

AICBiasCorrected(AICc),
2 AICc = ln k + n+k , nk 2

2 dengank,n,dan k sepertiyangdidefinisikandiatas.

SchwarzsInformationCriterion(SIC).
2 SIC = ln k + k ln n , n

2 dengank,n,dan k sepertiyangdidefinisikandiatas.

Misalkan akan dilakukan perbandingan nilainilai kriteria AIC, AICc, dan SIC untukpemilihanmodelterbaikpadakasusdataGNPUSsebelumnya,yaituantaramodel ARIMA(1,1,0)denganARIMA(0,1,2).Sepertiyangdijelaskanpadasubbab11.3.3,kriteria AIC menunjukkan bahwa model ARIMA(0,1,2) adalah model yang lebih baik dibanding modelARIMA(1,1,0).HalinidikarenakanmodelARIMA(0,1,2)memberikannilaiAICyang lebih kecil dibandingkan dengan model ARIMA(1,1,0). Berikut ini adalah script dan output untuk perhitungan nilainilai kriteria AIC, AICc, dan SIC pada kedua model tersebut.

225

sht90

AnalisisRuntunWaktudenganR


>gnp96=read.table("gnp96.dat") >gnp=ts(gnp96[,2],start=1947,frequency=4) >gnpgr=diff(log(gnp)) >gnpgr.ar=arima(gnpgr,order=c(1,0,0)) >gnpgr.ma=arima(gnpgr,order=c(0,0,2)) > >n=length(gnpgr)#jumlahdata >kma=length(gnpgr.ma$coef)#jumlahparameterpadamodelMA >sma=gnpgr.ma$sigma2#nilaimledarisigma^2 >kar=length(gnpgr.ar$coef)#jumlahparameterpadamodelMA >sar=gnpgr.ar$sigma2#nilaimleofsigma^2 > >#PerhitungannilaiAIC >log(sma)+(n+2*kma)/n#MA(2) [1]8.297695

>log(sar)+(n+2*kar)/n#AR(1) [1]8.294403 > >#PerhitungannilaiAICc >log(sma)+(n+kma)/(nkma2)#MA(2) [1]8.287855

>log(sar)+(n+kar)/(nkar2)#AR(1) [1]8.284898 > >#PerhitungannilaiBIC >log(sma)+kma*log(n)/n#MA(2) [1]9.251712

>log(sar)+kar*log(n)/n#AR(1) [1]9.263748

OutputdiatasmenunjukkanbahwakriteriaAICcdanSICmemberikanhasilyang berbeda. Kriteria AICc memberikan hasil yang sama dengan AIC, yaitu model terbaik adalahmodelARIMA(0,1,2).HaliniditunjukkanolehnilaiAICcpadamodelARIMA(0,1,2) yang lebih kecil daripada model ARIMA(1,1,0). Sebaliknya, kriteria SIC menunjukkan bahwa model yang lebih sederhana adalah yang lebih baik, yaitu model ARIMA(1,1,0). Nilai SIC pada model ARIMA(1,1,0) adalah 9,288 dan ini lebih kecil dibanding yang diperolehmodelARIMA(0,1,2),yaitu9,276.Seringkalidalambanyakkasus,kriteriaSIC akancenderungmemilihmodelyanglebihsederhanadibandingkriteriaAICdanAICc.

226

sht90

AnalisisRuntunWaktudenganR

11.4.RangkumanperintahdanlibraryyangberkaitandenganAnalisisRuntun Waktu
Berikut ini adalah rangkuman beberapa perintah dan penjelasan tentang kegunaan,sertalibrarydariperintahtersebut,yangbiasanyadigunakandalamanalisis runtunwaktu.

InputDataRuntunWaktu Perintah cycle() deltat() end() frequency() start() time() ts() window() Kegunaan givesthepositionsinthecycleofeachobservation returnsthetimeintervalbetweenobservations extractsandencodesthetimesthelastobservation weretaken returnsthenumberofsamplesperunittime readsatimeseriesfile extractsandencodesthetimesthefirstobservation weretaken createstimeseriesobjects isagenericfunctionwhichextractsthesubsetofthe object'x'observedbetweenthetimes'start'and 'end'.Ifafrequencyisspecified,theseriesisthenre sampledatthenewfrequency library stats stats stats stats stats stats stats stats

DekomposisiRuntunWaktu Perintah decompose() Kegunaan decomposesatimeseriesintoseasonal,trendand irregularcomponentsusingmovingaverages.Deals withadditiveormultiplicativeseasonalcomponent linearfilteringonatimeseries computesHoltWintersFilteringofagiventime series library stats

filter() HoltWinters()

stats stats

227

sht90

AnalisisRuntunWaktudenganR

Perintah sfilter() spectrum() stl() tsr() Kegunaan removesseasonalfluctuationusingasimplemoving average estimatesthespectraldensityofatimeseries decomposesatimeseriesintoseasonal,trendand irregularcomponentsusing'loess' decomposesatimeseriesintotrend,seasonaland irregular.Dealswithadditiveand multiplicativecomponents library ast stats stats ast

PengujiandalamAnalisisRuntunWaktu Perintah adf.test() Box.test() Kegunaan computestheAugmentedDickeyFullertestforthe nullthat'x'hasaunitroot(tseries) computestheBoxPierceorLjungBoxteststatistic forexaminingthenullhypothesisofindependencein agiventimeseries computesandprintstheBDSteststatisticforthe nullthat'x'isaseriesofi.i.d.randomvariables performstheBreuschPagantestfor heteroskedasticityofresiduals performstheDurbinWatsontestfor autocorrelationofresiduals library tseries stats

bds.test() bptest() dwtest()

tseries lmtest lmtest tseries tseries stats stats

jarque.bera.test() JarqueBeratestfornormality kpss.test() shapiro.test() tsdiag() computesKPSStestforstationarity ShapiroWilkNormalityTest agenericfunctiontoplottimeseriesdiagnostics

228

sht90

AnalisisRuntunWaktudenganR

ModelmodelStokastikdalamAnalisisRuntunWaktu Perintah ar() arima() arima.sim() arma() garch() Kegunaan fitsanautoregressivetimeseriesmodeltothedata, bydefaultselectingthecomplexitybyAIC fitsanARIMAmodeltoaunivariatetimeseries simulatefromanARIMAmodel fitsanARMAmodeltoaunivariatetimeseriesby conditionalleastsquares fitsaGeneralizedAutoregressiveConditional HeteroscedasticGARCH(p,q)timeseriesmodeltothe databycomputingthemaximumlikelihood estimatesoftheconditionallynormalmodel library stats stats stats tseries tseries

GrafikdalamAnalisisRuntunWaktu Perintah lag.plot() Kegunaan plotstimeseriesagainstlaggedversionsof themselves.Helpsvisualizing"autodependence" evenwhenautocorrelationsvanish plottingtimeseriesobjects plottingseasonalsubseriesorprofile plotsseveraltimeseriesonacommonplot.Unlike 'plot.ts'theseriescanhaveadifferenttimebases, buttheyshouldhavethesamefrequency thefunction'acf'computes(andbydefaultplots) estimatesoftheautocovarianceorautocorrelation function.Function'pacf'isthefunctionusedforthe partialautocorrelations.Function'ccf'computesthe crosscorrelationorcrosscovarianceoftwo univariateseries returnssuitablylaggedanditerateddifferences computesalaggedversionofatimeseries,shifting thetimebasebackbyagivennumber ofobservations library stats

plot.ts() seaplot() ts.plot()

stats ast stat

ccf(),pacf(), ccf()

stats

diff.ts() lag()

stats stats

229

sht90

AnalisisMultivariatdenganR

BAB12 ANALISISMULTIVARIATDENGANR

Analisis Multivariat merupakan salah satu metode dalam analisis statistik yang banyak digunakan dalam penelitian kuantitatif yang melibatkan banyak variabel. Ada beberapa metode dalam Analisis Multivariat, antara lain Analisis Faktor, Analisis Diskriminan, Analisis Klaster, Multidimensional Scaling, Analisis Konjoin, dan Model Persamaan Struktural (SEM). Secara lengkap teori yang berkaitan dengan analisis multivariatdapatdilihatpadaJohnsondanWichern(1998),Sharma(1996),sertaHair dkk. (2006). Pada bab ini akan dijelaskan penggunaan R untuk beberapa metode tersebut,khususnyaAnalisisFaktor,AnalisisDiskriminan,danAnalisisKlaster.

12.1.AnalisisFaktor
Analisis Faktor merupakan salah satu metode interdependensi dalam analisis multivariat yang biasanya digunakan untuk mengeksplorasi struktur hubungan yang terjadidalamsuatukelompokvariabel.Selainitu,AnalisisFaktorjugadigunakanuntuk mereduksi dimensi data kedalam suatu variabel baru yang independen yang disebut denganfaktoratauvariabellatent.Secaraumum,adaduamacamAnalisisFaktoryaitu AnalisisFaktoreksploratoridankonfirmatori.Padabagianini,penjelasanpenggunaanR hanyadifokuskanpadaAnalisisFaktoreksploratori. RmenyediakanfasilitasuntukAnalisisFaktorpadalibrarystatsdenganperintah factanal. Misalkan akan dilakukan Analisis Faktor terhadap variabelvariabel tentang persepsipelangganpadadataHBAT.SAVyang adadibukuHairdkk.(2006,hal.2831) dengan judul Multivariate Data Analysis seperti yang juga dibahas di Bab 7. Ada 13 variabel persepsi pelanggan yang akan dievaluasi struktur hubungannya, yaitu x6,x7,,x18.Identifikasikecukupandatamenunjukkanbahwavariabelx15danx17tidak memenuhi syarat kecukupan data sehingga kedua variabel tersebut tidak diikutkan dalam Analisis Faktor. Penjelasan tentang hasil identifikasi ini secara lengkap dapat dilihatdiHairdkk.(2006)padaBab3tentangAnalisisFaktor. Perintah factanal pada R adalah fasilitas untuk Analisis Faktor dengan metode ekstraksi Maksimum Likelihood. Ada beberapa pilihan rotasi dan metode untuk mendapatkan faktor skor. Berikut ini adalah deskripsi penggunaan secara umum dari perintahtersebut.

factanal(x,factors,data=NULL,covmat=NULL,n.obs=NA, subset,na.action,start=NULL, scores=c("none","regression","Bartlett"), rotation="varimax",control=NULL,...)

230

sht90

AnalisisMultivariatdenganR

Untuk kasus data persepsi pelanggan pada data HBAT.SAV yang sudah diimport ke dalamRdengannamahbat,berikutadalahperintahdanoutputdariAnalisisFaktor.

>FA<factanal(~x6+x7+x8+x9+x10+x11+x12+x13+x14+x16+x18, +factors=4,data=hbat,rotation="varimax",scores="regression")

>FA
Call: factanal(x = ~x6 + x7 + x8 + x9 + x10 + x11 + x12 + x13 + x14 + x16 + x18, factors = 4, data = hbat, scores = "regression", rotation = "varimax") Uniquenesses: x6 x7 x8 x9 x10 x11 x12 x13 x14 x16 x18 0.682 0.360 0.228 0.178 0.679 0.005 0.017 0.636 0.163 0.347 0.076 Loadings: Factor1 Factor2 Factor3 x6 x7 0.793 x8 0.872 x9 0.884 0.142 x10 0.190 0.521 x11 0.502 0.104 x12 0.119 0.974 x13 0.225 -0.216 x14 0.894 x16 0.794 0.101 0.105 x18 0.928 0.189

Factor4 0.557 0.102 0.135 -0.110 0.856 -0.130 -0.514 0.158 0.164

SS loadings Proportion Var Cumulative Var Factor1 Factor2 Factor3 Factor4 2.592 1.977 1.638 1.423 0.236 0.180 0.149 0.129 0.236 0.415 0.564 0.694

Test of the hypothesis that 4 factors are sufficient. The chi square statistic is 24.26 on 17 degrees of freedom. The p-value is 0.113

Hasil output diatas menunjukkan bahwa empat faktor yang dihasilkan dapat menjelaskan 69,4% total variansi data. Variabelvariabel utama penyusun faktor tersebutadalah Faktor1:variabelx9,x16,danx18, Faktor2:variabelx7,x10,danx12, Faktor3:variabelx8,danx14, Faktor4:variabelx6danx13. Outputtersebutjugamenunjukkanbahwaadasatuvariabelyangsebaiknyadihilangkan darianalisiskarenahasilrotasimasihmasukdalamduafaktor,yaitux11yangmenyusun Faktor1dan4.

231

sht90

AnalisisMultivariatdenganR

R juga memberikan fasilitas untuk menampilkan hasil Analisis Faktor lebih mudah untuk diinterpretasi, yaitu dengan cara mengurutkan nilai loading faktor pada variabel penyusun faktor. Berikut ini adalah perintah print untuk menampilkan hasil AnalisisFaktordanoutputyangdihasilkan.

>print(FA,digits=3,cutoff=0.4,sort=TRUE)
Call: factanal(x = ~x6 + x7 + x8 + x9 + x10 + x11 + x12 + x13 + x14 + x16 + x18, factors = 4, data = hbat, scores = "regression", rotation = "varimax") Uniquenesses: x6 x7 x8 x9 x10 x11 x12 x13 x14 x16 x18 0.682 0.360 0.228 0.178 0.679 0.005 0.017 0.636 0.163 0.347 0.076 Loadings: Factor1 Factor2 Factor3 Factor4 x9 0.884 x16 0.794 x18 0.928 x7 0.793 x10 0.521 x12 0.974 x8 0.872 x14 0.894 x6 0.557 x11 0.502 0.856 x13 -0.514 Factor1 Factor2 Factor3 Factor4 2.592 1.977 1.638 1.423 0.236 0.180 0.149 0.129 0.236 0.415 0.564 0.694

SS loadings Proportion Var Cumulative Var

Test of the hypothesis that 4 factors are sufficient. The chi square statistic is 24.26 on 17 degrees of freedom. The p-value is 0.113

12.2.AnalisisDiskriminan
Analisis Diskriminan merupakan salah satu metode dependensi dalam analisis multivariat yang biasanya digunakan untuk evaluasi klasifikasi objek. Sifat data yang digunakan dalam analisis ini adalah nonmetrik pada variabel dependen (biasanya berupakodegroupobjek)danmetrikpadakelompokvariabelindependen.Tujuandari analisis ini adalah mendapatkan suatu fungsi (disebut fungsi diskriminan) yang dapat digunakanuntukmemisahkanobjeksesuaidengangroupatauklasifikasinya.Fungsiini selanjutnyadapatjugadigunakanuntukmemprediksigroupdarisuatuobjekbaruyang diamati(Sharma,1996).

232

sht90

AnalisisMultivariatdenganR

R menyediakan fasilitas untuk Analisis Diskriminan Linear dan Kuadratik pada libraryMASSdenganperintahlda(linear)danqda(kuadratik).Sebagaicontoh,datairis yang sudah ada di paket R akan digunakan sebagai studi kasus untuk Analisis Diskriminan Linear. Berikut adalah contoh perintah dan output Analisis Diskriminan Linearpadadatairistersebut.
>Iris<data.frame(rbind(iris3[,,1],iris3[,,2],iris3[,,3]), +Sp=rep(c("s","c","v"),rep(50,3))) >train<sample(1:150,75)#Sampel75datadari150 >table(Iris$Sp[train])#75datasampelyangterpilih

c s v 29 22 24

>z<lda(Sp~.,Iris,prior=c(1,1,1)/3,subset=train) >z#MenampilkanhasilAnalisisDiskriminan
Call: lda(Sp ~ ., data = Iris, prior = c(1, 1, 1)/3, subset = train) Prior probabilities of groups: c s v 0.3333333 0.3333333 0.3333333 Group means: Sepal.L. Sepal.W. c 5.986207 2.765517 s 4.954545 3.400000 v 6.683333 2.958333

Petal.L. 4.293103 1.481818 5.654167

Petal.W. 1.327586 0.250000 2.016667

Coefficients of linear discriminants: LD1 LD2 Sepal.L. 0.8690984 0.07142847 Sepal.W. 1.5296128 -2.41239510 Petal.L. -1.7362163 0.89825836 Petal.W. -4.0571327 -2.94769154 Proportion of trace: LD1 LD2 0.9915 0.0085

PerintahAnalisisDiskriminanLinearpadascriptdiatasdiaplikasikanpada75datasampel (train) dan sisanya digunakan untuk validasi apakah fungsi diskriminan yang diperoleh dapatmemprediksidengantepatgroupdari75datasisanya.Taksirannilaikoefisiendari duafungsilineardiskriminanyangdihasilkandapatdilihatpadaoutputtersebut.

233

sht90

AnalisisMultivariatdenganR

Evaluasi kebaikan klasifikasi dari Analisis Diskriminan Linear pada data training dantestingdapatdilihatpadaoutputberikutini.

>predict(z,Iris[train,])$class [1]ssssssssssssssssssssssssssssccccccccvc [39]cccccccccccvvvvvvvvvvvvvvcvcvvvvvvvvv Levels:csv >table(Iris$Sp[train],predict(z,Iris[train,])$class)

c s v c 28 0 1 s 0 22 0 v 0 0 24

>table(Iris$Sp[train],predict(z,Iris[train,])$class)

c s v c 20 0 1 s 0 28 0 v 2 0 24

Hasil diatas menunjukkan bahwa pada data training hanya ada satu pengamatan yang salahterklasifikasi,yaituharusnyakelompokcdiprediksiv.Sedangkanpadadatatesting ada tiga pengamatan yang salah terklasifikasi, yaitu satu pengamatan kelompok c diprediksiv,danduapengamatankelompokvdiprediksic.

12.3.AnalisisCluster
AnalisisClusteradalahsuatumetodedalamanalisismultivariatyangdigunakan untuk menemukan struktur group atau kelompok diantara kasuskasus (obyek) yang diamati. Secara umum, metode dalam Analisis Cluster didasarkan pada ukuran similaritasdandissimiliaritas.PaketRmenyediakanfasilitasuntukAnalisisClusterpada RCommander.PilihanuntukAnalisisClusterinidapatdilakukandenganmemilihmenu Statistika, pilih Analisis Dimensional, dan kemudian pilih Analisis Klaster, sehingga diperolehpilihansepertiberikutini.

234

sht90

AnalisisMultivariatdenganR

Pada bagian ini, penjelasan tentang penggunaan R untuk Analisis Cluster akan difokuskan pada pemakaian perintah langsung di RConsole atau command line. PerintahhclustdapatdigunakanuntukimplementasiAnalisisClusterdenganbeberapa pilihan metode agglomeration, yaitu "ward", "single", "complete", "average", "mcquitty","median"atau"centroid". MisalkanakanditerapkanAnalisisClusteruntuk mendapatkan kelompok negaranegara bagian di Amerika pada data USArrest yang sudahtersediadipaketR.BerikutiniadalahscriptdanhasiloutputdariAnalisisCluster Hirarkidenganmenggunakanukurandissimilaritasdanmetodeaverage.
>hca<hclust(dist(USArrests)) >plot(hca) >rect.hclust(hca,k=3,border="red") >x<rect.hclust(hca,h=50,which=c(2,7),border=3:4)

Berikut ini adalah output dendogram berdasarkan script diatas, yang dapat digunakan untukmenentukanjumlahkelompokyangakandianalisislanjut.

Gambar12.1.DendogramuntuknegaranegarabagianAmerikaberdasarkan AnalisisClusterHirarkimetodeaverage

235

sht90

AnalisisMultivariatdenganR

Untuk mengetahui keanggotaan group atau kelompok yang dihasilkan dalam Analisis Cluster Hirarki diatas, R menyediakan perintah cutree untuk menampilkannya. Berikut ini adalah script dan hasil output tentang keanggotaan setiap obyek dengan AnalisisClusterHirarki.
>hca<hclust(dist(USArrests))

>cutree(hca,k=1:5)#k=1adalahkelompoktrivial
Alabama Alaska Arizona Arkansas California Colorado Connecticut Delaware Florida Utah Vermont Virginia Washington West Virginia Wisconsin Wyoming 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 3 1 1 1 2 1 2 3 1 1 4 1 1 1 2 1 2 3 1 4 5 1 1 1 2 1 2 3 1 4

1 1 1 1 1 1 1

2 2 2 2 2 2 2

3 3 2 2 3 3 2

3 3 2 2 3 3 2

3 5 2 2 5 5 2

>##Perbandingan2dan3grouphasilCluster >g24<cutree(hca,k=c(2,4)) >table(g24[,"2"],g24[,"4"])

1 2 3 1 14 0 0 2 0 14 20

4 2 0

Output diatas menunjukkan hasilhasil pengelompokan dengan menggunakan jumlah kelompok 1 sampai dengan 5. Hasil perbandingan untuk 2 kelompok dan 4 kelompok juga ditampilkan pada output diatas. Jika menggunakan 4 kelompok, maka 2 anggota yangsemuladigroup1padaanalisisdengan2kelompokmenjadigroup4,sedangkan20 anggotayangsemuladigroup2padaanalisisdengan2kelompokmenjadigroup3.

236

sht90

RegresiNonparametrikdanEstimasiDensitas

BAB13 REGRESINONPARAMETRIKDANESTIMASIDENSITAS

Padadekadeterakhirini,pemodelanstatistikanonparametrikmerupakansalah satu metode statistika yang berkembang dengan pesat seiring dengan perkembangan komputasi. Bab ini akan menjelaskan penggunaan R untuk pemodelan regresi dan estimasidensitasnonparametrik,khususnyapenggunaankerneldanspline.

13.1.EstimasiDensitasdenganKernel
Estimasinonparametrikdarifungsidensitasprobabilitasmerupakansuatutopik yang luas. Beberapa buku yang membahas tentang hal ini adalah Silverman (1986), Hrdle(1991),Scott(1992),sertaWanddanJones(1995).Metodeestimasiyangdibahas dalambagianiniadalahmetodeestimasinonparametrikdengankernel. Perintah untuk membuat histogram yaitu hist dengan argumen freq=FALSE adalahjugasuatuestimatordarifungsidensitas.Jikatiaptiaptitiktengahdarikelasdi masingmasing histogram dihubungkan maka akan diperoleh estimator fungsi densitas dalam bentuk poligon frekuensi. Berikut ini adalah contoh script untuk mendapatkan histogramdalamfrekuensirelatif(probabilitas)yangdapatdigunakansebagaiestimator darifungsidensitaspadasuatudata,yaitugeyser$durationyangsudahtersediadiR.

>data(geyser,package="MASS") >x<geyser$duration >hist(x,breaks=22,freq=FALSE, main="SmoothingwithGaussianKernel")

Output dari script ini dapat dilihat pada Gambar 13.1. Dari gambar tersebut dapat dijelaskanbahwadatageyser$durationbersifatbimodal,yaitumempunyaiduamacam puncakdisekitarangka2dan4. Rmenyediakanfasilitasestimasinonparametrikdarifungsidensitasprobabilitas denganperintahdensitydilibrarystatsdanbeberapaperintahdilibraryKernSmooth. Secaramatematis,implementasipenghalusdensitasdengankerneladalah
1 n x xj f ( x) = K b j =1 b

untuk suatu sampel x1 , x 2 , K , x n , dengan K ( ) suatu kernel tertentu dan b adalah bandwithyangdigunakan.

237

sht90

RegresiNonparametrikdanEstimasiDensitas

Gambar13.1.Outputhistogramfrekuensirelatifpadadataduration Pada bagian ini, penjelasan tentang estimasi nonparametrik dari suatu fungsi densitas akan ditekankan pada penggunaan perintahperintah yang ada di library KernSmooth. Beberapa jenis kernel yang tersedia di library KernSmooth dapat dilihat padatabelberikutini.

ArgumenKernel
normal box "epanech" "biweight" "triweight"

KeteranganJenisKernel KernelGaussian(pilihandefault) KernelRectangularbox KernelEpanechnikov(thecentredbeta(2,2)density) KernelBiweight(thecentredbeta(3,3)density) KernelTriweight(thecentredbeta(4,4)density)

238

sht90

RegresiNonparametrikdanEstimasiDensitas

Berikutiniadalahcontohgrafikdaribentukbentukkerneluntukestimasinonparametrik darisuatufungsidensitas.

Gambar13.2.Grafikdariberbagaikerneluntukestimasidensitas Perintah dpik pada library KernSmooth dapat digunakan untuk mendapatkan nilai bandwithyangoptimalpadasuatukernelyangdiimplentasikanpadasuatudata.Berikut ini adalah script untuk implementasi estimasi nonparametrik dari fungsi densitas pada datageyser$durationyangsudahtersediadiR,denganmenggunakanpilihanbandwith optimal.

>data(geyser,package="MASS") >x<geyser$duration >h.n<dpik(x,kernel="normal")#Pemilihanbandwithyangoptimal >est.n<bkde(x,kernel="normal",bandwidth=h.n) >h.b<dpik(x,kernel="box") >est.b<bkde(x,kernel="box",bandwidth=h.b) >h.e<dpik(x,kernel="epanech") >est.e<bkde(x,kernel="epanech",bandwidth=h.e) >h.bi<dpik(x,kernel="biweight") >est.bi<bkde(x,kernel="biweight",bandwidth=h.bi) >h.tri<dpik(x,kernel="triweight") >est.tri<bkde(x,kernel="triweight",bandwidth=h.tri)

239

sht90

RegresiNonparametrikdanEstimasiDensitas

Tampilan besarnya bandwith optimal dan hasil perbandingan grafik dari estimatorestimator densitas pada data geyser$duration dapat dilakukan dengan menggunakanscriptberikutini.

>#Perbandinganbandwithoptimalpadamasingmasingkernel >hopt<cbind(h.n,h.b,h.e,h.bi,h.tri) >hopt


h.n h.b h.e h.bi h.tri [1,] 0.1438196 0.2502543 0.3183884 0.3771834 0.4283099

>win.graph() >hist(x,breaks=22,freq=FALSE,main="SmoothingwithKernels") >lines(est.n,col='red')#densitasdengankernelnormal >lines(est.b,col='blue')#densitasdengankernelrectangular >lines(est.e,col='gray')#densitasdengankernelepanechnikov >lines(est.bi,col='green')#densitasdengankernelbiweight >lines(est.tri,col='pink')#densitasdengankerneltriangular

Outputdariscriptdiatasadalahestimasidaribentukfungsidensitasprobabilitasseperti padagambardibawahini.

Gambar13.3.Grafikdariberbagaikerneluntukestimasidensitas

240

sht90

RegresiNonparametrikdanEstimasiDensitas

Sebagaitambahan,padalibraryKernSmoothjugatersediafasilitasuntukanalisis kernel dua dimensi, yaitu dengan perintah bkde2D. Berikut ini adalah contoh script tentanganalisiskernelduadimensipadadatageyseryangsudahadadiR.

>data(geyser,package="MASS") >x<cbind(geyser$duration,geyser$waiting) >est<bkde2D(x,bandwidth=c(0.7,7)) >contour(est$x1,est$x2,est$fhat) >persp(est$fhat)

Berikutiniadalahoutputdariscriptdiatas.

(a).

(b).

Gambar13.4.Grafikdariestimasidensitasduadimensipadadatageyser

13.2.RegresiNonparametrikdenganKernel
Dalam praktek, seringkali dijumpai permasalahan keterkaitan antara variabel independendandependenyangbentukketerkaitannyatidakdiketahuisecarapastiatau hanyaadasedikitinformasitentangbentukketerkaitantersebut.Regresinonparametrik adalah suatu metode statistika yang banyak digunakan untuk menganalisis hubungan antara variabel independen dan dependen yang bentuk hubungan antar variabel tersebut tidak diketahui. Ada beberapa metode dalam regresi nonparametrik, antara laindenganpenghalusan(smoothing)kerneldanspline.

241

sht90

RegresiNonparametrikdanEstimasiDensitas

R menyediakan fasilitas estimasi regresi nonparametrik dengan kernel pada beberapa perintah di library KernSmooth. Secara matematis, implementasi regresi nonparametrikdengankerneladalah
xi x j j =1 b yi = n xi x j K b j =1

yi K

dengan b adalah parameter bandwith, dan K ( ) suatu fungsi kernel seperti pada estimasi densitas sebelumnya. Ada dua perintah utama di library KernSmooth yang dapatdigunakanuntukestimasiregresinonparametrikdengankernel,yaitu: Perintah dpill Keterangan menggunakanmetodologidirectpluginuntukmemilih bandwidthpadasuatuestimasiregresikernelGaussianlinear lokal,sepertiyangdideskripsikanolehRuppert,Sheatherdan Wand(1995). estimasisuatufungsidensitasprobabilitas,fungsiregresiatau turunannyadenganmenggunakanpolinomiallokal.

locpoly

Berikut ini adalah script untuk implementasi estimasi regresi nonparametrik dengan kernel Gaussian pada data geyser$duration sebagai x dan geyser$waiting sebagaiyyangsudahtersediadiR,denganmenggunakanpilihanbandwithoptimal.

>data(geyser,package="MASS") >x<geyser$duration >y<geyser$waiting >win.graph() >plot(x,y,col="blue") >h.opt<dpill(x,y)#Selectiontheoptimalbandwith >fit.opt<locpoly(x,y,bandwidth=h.opt) >lines(fit.opt,col="red") >title(main="Gaussiankernelregressionwithoptimalbandwith")

242

sht90

RegresiNonparametrikdanEstimasiDensitas

Outputdariscriptdiatasadalahgarishalus(smooth)dariestimasiregresinonparametrik dengankernelGaussiansepertiberikut(gariswarnamerah).

Gambar13.5.GrafikdariestimasiregresinonparametrikdengankernelGaussian

13.3.RegresiNonparametrikdenganSpline
Sepertipadaestimasiregresinonparametrikdengankernel,Rjugamenyediakan fasilitas estimasi regresi nonparametrik dengan spline, yaitu dengan menggunakan perintah smooth.spline. Misalkan diketahui ada n pasangan data ( xi , y i ) . Suatu penghalusan (smoothing) spline meminimumkan suatu kompromi antara fit (taksiran) danderajatdaripenghalus(smoothness)dalambentuk
2 2 wi [ y i f ( xi )] + ( f ( x)) dx

padasemuafungsi(terukuryangdapatditurunkanduakali) f .Iniadalahsuatuspline kubikdenganknotknotpada xi ,tetapitidakmenginterpolasititiktitikdatauntuk > 0 dan derajat dari fit dikontrol oleh . Penentuan dapat ditetapkan tertentu atau dipilihsecaraotomatisdenganmetodecrossvalidation.

243

sht90

RegresiNonparametrikdanEstimasiDensitas

Perintahdanargumenuntukaplikasiregresinonparametrikdengansplinekubik padaRadalahsebagaiberikut.
smooth.spline(x,y=NULL,w=NULL,df,spar=NULL, cv=FALSE,all.knots=FALSE,nknots=NULL, keep.data=TRUE,df.offset=0,penalty=1, control.spar=list())

Berikut ini adalah penjelasan tentang pilihan argumen yang dapat digunakan dalam perintahsmooth.spline.
Argumen x y w df spar Keterangan avectorgivingthevaluesofthepredictorvariable,oralistoratwocolumn matrixspecifyingxandy. responses.Ifyismissing,theresponsesareassumedtobespecifiedbyx. optionalvectorofweightsofthesamelengthasx;defaultstoall1. thedesiredequivalentnumberofdegreesoffreedom(traceofthesmoother matrix). smoothingparameter,typically(butnotnecessarily)in(0,1].Thecoefficientof theintegralofthesquaredsecondderivativeinthefit(penalizedloglikelihood) criterionisamonotonefunctionofspar,seethedetailsbelow. ordinary(TRUE)orgeneralizedcrossvalidation(GCV)whenFALSE. ifTRUE,alldistinctpointsinxareusedasknots.IfFALSE(default),asubsetofx[] isused,specificallyx[j]wherethenknotsindicesareevenlyspacedin1:n,see alsothenextargumentnknots. integergivingthenumberofknotstousewhenall.knots=FALSE.Perdefault,this islessthann,thenumberofuniquexvaluesforn>49. logicalspecifyingiftheinputdatashouldbekeptintheresult.IfTRUE(asper default),fittedvaluesandresidualsareavailablefromtheresult. allowsthedegreesoffreedomtobeincreasedbydf.offsetintheGCVcriterion. thecoefficientofthepenaltyfordegreesoffreedomintheGCVcriterion.

cv all.knots

nknots keep.data df.offset penalty

control.spar optionallistwithnamedcomponentscontrollingtherootfindingwhenthe smoothingparameterspariscomputed,i.e.,missingorNULL,seebelow. Notethatthisispartlyexperimentalandmaychangewithgeneralspar computationimprovements!

244

sht90

RegresiNonparametrikdanEstimasiDensitas

Di bawah ini adalah script untuk implementasi regresi nonparametrik dengan splinekubikpadadatacarsyaituvariabelspeedsebagaixdandistsebagaiyyangsudah tersediadiR,sertaoutputyangdihasilkan.
>attach(cars) >plot(speed,dist,main="data(cars)&smoothingsplines") >cars.spl<smooth.spline(speed,dist) >(cars.spl) Call: smooth.spline(x=speed,y=dist)

SmoothingParameterspar=0.7801305lambda=0.1112206(11iterations) EquivalentDegreesofFreedom(Df):2.635278 PenalizedCriterion:4187.776 GCV:244.1044

>lines(cars.spl,col="blue") >lines(smooth.spline(speed,dist,df=10),lty=2,col="red") >legend(5,120,c(paste("default[C.V.]=>df=",round(cars.spl$df,1)), +"s(*,df=10)"),col=c("blue","red"),lty=1:2,bg='bisque')

Gambar13.6.Grafikhasilregresisplinekubikpadadatacars

245

sht90

RegresiNonparametrikdanEstimasiDensitas

Pengecekan kebaikan model regresi nonparametrik spline kubik ini dapat dilakukan denganmelihatanalisisresidualmodel.Berikutiniadalahscriptuntukplotresidualdari modeldiatas.

>##Residual(TukeyAnscombe)plot: >plot(residuals(cars.spl)~fitted(cars.spl)) >abline(h=0,col="gray")

Outputyangdihasilkandariscriptiniadalahsepertigambarberikutini.

Gambar13.7.Grafikanalisisresidualdariregresinonparametriksplinekubik

Hasil di atas menunjukkan bahwa residual cenderung mempunyai pola yang tidak homogen,yaitucenderungmembesarseiringmeningkatnyanilaiprediksi(fitted). Sebagai tambahan, berikut ini adalah contoh script lain untuk implementasi regresi nonparametrikdengan spline kubikpada suatu data simulasi, denganberbagai parametersmoothing(spar)danprediksipadadatatrainingdantesting.

246

sht90

RegresiNonparametrikdanEstimasiDensitas

#Contohsmoothingpadadatasimulasisimulasi y18<c(1:3,5,4,7:3,2*(2:5),rep(10,4)) xx<seq(1,length(y18),len=201) #Regresisplinekubikdenganx=1:18dany=y18 (s2<smooth.spline(y18))#SmoothingparameterdgnGCV (s02<smooth.spline(y18,spar=0.2))#Smoothingparameter0.2 #Plotperbandinganhasilregresisplinekubikdenganberbagaixdanspar plot(y18,main="Smoothingdengansplinekubik") lines(s2,col="green")#Hasilprediksidenganx lines(predict(s2,xx),col=red)#Hasilprediksi"GCV"denganxx lines(predict(s02,xx),col="blue")#Hasilprediksi"spar=0.2"denganx

Output perbandingan grafik dari script ini dapat dilihat pada Gambar 13.8. Perhatikan pilihanwarnapadascriptuntukmengetahuipilihanregresikubiksplineyangdigunakan.

Gambar13.8.Outputregresisplinekubikpadadatasimulasi

247

sht90

RegresiNonparametrikdanEstimasiDensitas

Selainsplinekubik,paketRjugamenyediakanfasilitasuntukimplementasijenis splineyanglain.Adabanyaklibraryyangdapatdigunakan,salahsatunyaadalahlibrary splinesyangmenyediakanfasilitasuntukBspline.Berikutiniadalahcontohscriptuntuk implementasi regresi nonparametrik dengan Bspline pada data cars, dengan variabel speedsebagaixdandistsebagaiyyangsudahtersediadiR.
library(splines) bs(cars$speed,df=3) summary(fm3<lm(dist~bs(speed,df=3),data=cars)) bs(cars$speed,df=5) summary(fm5<lm(dist~bs(speed,df=5),data=cars)) bs(cars$speed,df=10) summary(fm10<lm(dist~bs(speed,df=10),data=cars)) ##Contohmenyimpandanmenampilkanprediksi plot(cars,xlab="dist(in)",ylab="speed(lb)",main="RegresiBspline") ht<seq(4,25,length.out=200) lines(ht,predict(fm3,data.frame(speed=ht)),col="blue") lines(ht,predict(fm5,data.frame(speed=ht)),col="red") lines(ht,predict(fm10,data.frame(speed=ht)),col="green")

Ada dua output utama yang akan dihasilkan dari script tersebut, yaitu hasilhasil estimasiBsplineyangterdiridarinilaiprediksi,knots,dankoefisiendarimodelregresi spline,sertaoutputgrafikhasilprediksi.Berikutadalahsebagianhasildariscriptdiatas.

>bs(cars$speed,df=5) 12345 [1,]0.0000000000.00000000000.000000000.0000000000.000000000 [50,]0.0000000000.00000000000.000000000.0000000001.000000000 attr(,"degree") [1]3 attr(,"knots") 33.33333%66.66667% 1318 attr(,"Boundary.knots") [1]425 attr(,"intercept") [1]FALSE attr(,"class") [1]"bs""basis"

248

sht90

RegresiNonparametrikdanEstimasiDensitas

HasiloutputgrafikhasilprediksiregresinonparametrikdenganBsplineuntukberbagai derajatsplinedapatdilihatpadagambarberikutini.Untukmengetahuiperbedaanefek dari derajat spline terhadap hasil smoothing yang diperoleh, perhatikan pilihan warna padascriptdiatas.

Gambar13.9.GrafikhasilregresiBsplinepadadatacars

13.4.JenisjenisBasisSpline
Padabagiansebelumnyatelahdiilustrasikanhasilregresinonparametrikdengan splinekubikdanBspline.Secaraumumadabeberapajenissplineyangdapatdigunakan dalamregresinonparametrik.Rmenyediakanfasilitasuntukmengetahuimacammacam spline, dikenal fungsi basis, yang dapat digunakan untuk regresi nonparametrik, yaitu pada library fda. Dalam library ini disediakan fasilitas untuk membuat delapan macam fungsi basis spline, yaitu basis Bspline, Constant, Exponential, Fourier, Monomial, Polygonal,Polynomial,danPowerBasisObject. Fungsifungsi yang ada di library fda dikembangkan untuk mendukung analisis datafungsionalsepertiyangdigambarkanolehRamsaydanSilverman(2005).Berikutini adalah tabel yang berisi perintahperintah untuk membuat fungsifungsi basis spline yangdapatdiaplikasikanuntukpemodelanregresinonparametrik.

249

sht90

RegresiNonparametrikdanEstimasiDensitas

Perintah create.bspline.basis create.constant.basis create.exponential.basis create.fourier.basis create.monomial.basis create.polygonal.basis create.polynomial.basis create.power.basis Berikut ini adalah contoh script untuk membuat macammacam basis Bspline yang dapatdigunakanpadaregresinonparametrik.
#Thesimplestbasiscurrentlyavailablewiththisfunction: str(bspl1.1<create.bspline.basis(norder=1,breaks=0:1)) #1basisfunction,order1=degree0=stepfunction: #constant1between0and1. str(bspl1.2<create.bspline.basis(norder=1,breaks=c(0,.5,1))) #2bases,order1=degree0=stepfunctions: #(1)constant1between0and0.5and0otherwise #(2)constant1between0.5and1and0otherwise. str(bspl2.3<create.bspline.basis(norder=2,breaks=c(0,.5,1))) #3bases:order2=degree1=linear #(1)linefrom(0,1)downto(0.5,0),0after #(2)linefrom(0,0)upto(0.5,1),thendownto(1,0) #(3)0to(0.5,0)thenupto(1,1). str(bspl3.4<create.bspline.basis(norder=3,breaks=c(0,.5,1))) #4bases:order3=degree2=parabolas. #(1)(x.5)^2from0to.5,0after #(2)2*(x1)^2from.5to1,andaparabola #from(0,0to(.5,.5)tomatch #(3&4)=complementsto(2&1).

Keterangan UntukmembuatsuatuBsplineBasis UntukmembuatsuatuConstantBasis UntukmembuatsuatuExponentialBasis UntukmembuatsuatuFourierBasis UntukmembuatsuatuMonomialBasis UntukmembuatsuatuPolygonalBasis UntukmembuatsuatuPolynomialBasis UntukmembuatsuatuPowerBasisObject

250

sht90

RegresiNonparametrikdanEstimasiDensitas

#Defaultbsplinebasis str(bSpl4.23<create.bspline.basis()) #Cubicbspline(norder=4)withnbasis=23, #sonbreaks=nbasisnorder+2=21, #2ofwhicharerangeval,leaving19Interiorknots.

str(bSpl4.<create.bspline.basis(c(1,1))) #SameasbSpl4.23butover(1,1)ratherthan(0,1).

win.graph() par(mfrow=c(3,2)) plot(bspl1.1);plot(bspl1.2);plot(bspl2.3) plot(bspl3.4);plot(bSpl4.23);plot(bSpl4.)

Outputdariscriptdiatasadalahsebagaiberikut.

Gambar13.10.MacammacamfungsibasisBspline

251

sht90

RegresiNonparametrikdanEstimasiDensitas

Basis constant adalah suatu basis spline yang menghasilkan suatu konstanta sepertiyangterlihatpadaplotpertamadiGambar13.10atauyangpalingatassebelah kiri.Fungsibasisyanglainadalahexponential,danberikutadalahscriptuntukmembuat basissplineexponential.

#Createanexponentialbasisoverinterval[0,5] #withbasisfunctions1,exp(t)andexp(5t) basisobj<create.exponential.basis(c(0,5),3,c(0,1,5)) #plotthebasis plot(basisobj)

Hasiloutputgrafikdariscriptiniadalahsebagaiberikut.

Gambar13.11.Macammacamfungsibasisexponential

Selanjutnya akan dijelaskan tentang fungsi basis Fourier. Fungsi basis Fourier adalah suatu sistem yang biasanya digunakan pada fungsifungsi yang periodik. Fungsi basis Fourier yang pertama adalah suatu fungsi konstanta. Sedangkan yang lainnya adalah pasangan dari sin dan cos dengan pengali suatu integer dari periode dasar. Jumlah atau banyaknya fungsi basis yang dibangkitkan adalah selalu ganjil. Berikut adalahscriptuntukmembuatfungsibasisFourier.

252

sht90

RegresiNonparametrikdanEstimasiDensitas

#CreateaminimalFourierbasisforthemonthlytemperaturedata, #using3basisfunctionswithperiod12months. monthbasis3<create.fourier.basis(c(0,12)) #setuptheFourierbasisforthemonthlytemperaturedata, #using9basisfunctionswithperiod12months. monthbasis<create.fourier.basis(c(0,12),9,12.0) #plotthebasis win.graph() par(mfrow=c(2,1)) plot(monthbasis3) plot(monthbasis)

Outputgrafikdariscriptiniadalahsebagaiberikut.

Gambar13.12.MacammacamfungsibasisFourier

253

sht90

RegresiNonparametrikdanEstimasiDensitas

13.5.RangkumanlibraryuntukAplikasiKerneldanSpline
Pada bagian ini akan diberikan suatu rangkuman tentang beberapa library besertaketerangantentangperintahperintahdalamlibrarytersebutyangdisediakanR untukaplikasimetodekerneldanspline. Tabellibraryuntukaplikasikernel library feature GenKern KernSmooth Keterangan Featuresignificanceformultivariatekerneldensityestimation. Functionsforgeneratingandmanipulatingkerneldensity estimates. Fungsifungsiuntukpenghalusan(smoothing)kerneldan densityestimation,sepertipadabukuWanddanJones(1995) denganjudul"KernelSmoothing". Kernelbasedmachinelearningmethodsforclassification, regression,clustering,noveltydetection,quantileregression anddimensionalityreduction.Amongothermethodskernlab includesSupportVectorMachines,SpectralClustering,Kernel PCAandaQPsolver. Semiparametrickernelbasedapproachtolocalfdr estimations Kerneldensityestimatorsandkerneldiscriminantanalysisfor multivariatedata. Kernellocalpolinomialregression. Kernelregressionsmoothingwithadaptivelocalorglobal pluginbandwidthselection. Maximumkernellikelihoodestimation. Nonparametricmonotoneregression. Strictlymonotonesmoothingprocedure,givenfitinoneortwo variables. Nonparametrickernelsmoothingmethodsformixed datatypes. Smoothingmethodsfornonparametricregressionanddensity estimation.

kernlab

kerfdr ks locpol lokern MKLE monreg monoProc np sm

254

sht90

RegresiNonparametrikdanEstimasiDensitas

Tabellibraryuntukaplikasispline library assist cobs99 DierckxSpline earth Keterangan ASuiteofSPlusFunctionsImplementingSmoothingSplines ConstrainedBsplines Rcompanionto"CurveandSurfaceFittingwithSplines" BuildregressionmodelsusingthetechniquesinFriedman's papers"FastMARS"and"MultivariateAdaptiveRegression Splines". Thesefunctionsweredevelopedtosupportfunctionaldata analysisasdescribedinRamsay,J.O.andSilverman,B.W. (2005)FunctionalDataAnalysis.NewYork:Springer. Acomprehensivepackageforstructuralmultivariatefunction estimationusingsmoothingsplines. Acollectionoffunctionsutilizingsplinestoconstructasmooth estimateofasignalburiedinnoise. Addsmoothingsplinemodellingcapabilitytonlme.Fit smoothingsplinetermsinGaussianlinearandnonlinear mixedeffectsmodels. Routinesforthelogsplinedensityestimation. ScattereddatainterpolationwithMultilevelBSplines Mixtureandflexiblediscriminantanalysis,multivariate additiveregressionsplines(MARS),BRUTO,... Routinesforthepolynomialsplinefittingroutineshazard regression,hazardestimationwithflexibletails,logspline, lspec,polyclass,andpolymars PenalizedSmoothingSplines.Smoothingsplineswithpenalties onordermderivatives. RpackageforComputingtheSphericalSmoothingSplines

fda

gss kzs lmeSplines

logspline MBA mda polspline

pspline sspline

255

sht90

ModelNonlinear

BAB14 MODELNONLINEAR

Pemodelan yang digunakan untuk menjelaskan hubungan nonlinear antar variabel dan beberapa prosedur pengujian untuk mendeteksi adanya keterkaitan nonlinear telah mengalami perkembangan yang sangat pesat pada beberapa dekade terakhir ini. Sebagai overview hal ini dapat dilihat antara lain pada buku Granger dan Terasvirta (1993). Perkembangan yang pesat ini juga terjadi dalam bidang pemodelan statistiksecaraumum.PadababiniakandijelaskantentangpenggunaanpaketRuntuk pemodelannonlinear.

14.1.EstimasiModelRegresiNonlinear
TeoritentangmodelregresinonlinearsecaralengkapdapatdilihatdiSeberdan Wild(1989).Bentukumumdarisuatumodelregresinonlinearadalah
y = (x, ) +

dengan x adalahsuatuvektorkovariat, adalahsuatuvektorpkomponenparameter yang tidak diketahui, dan adalah suatu error yang N (0, 2 ) . Misalkan suatu model regresinonlineardalambentuk
y= 1 + exp( 2 + 3t )

akandiaplikasikanpadadataUS.popyaitutentangpopulasidiAmerikaSerikat,dengan y adalah jumlah populasi dan t menyatakan tahun. Berikut ini adalah script untuk memanggildanmenampilkandataUS.popdalamsuatudiagrampencar.

>library(car) >data(US.pop) >attach(US.pop)

Thefollowingobject(s)aremaskedfromUS.pop(position3): populationyear

>US.pop yearpopulation 117903.929 218005.308 211990248.710

>plot(year,population,main='PopulationoftheUnitedStates')

256

sht90

ModelNonlinear

Plotantara t yangmenyatakantahundan y tentangjumlahpopulasidiUSdapatdilihat pada Gambar 14.1. Dari gambar ini dapat dijelaskan bahwa ada hubungan yang non linearantara t dan y .

Gambar14.1.Diagrampencarantara t dan y padadataUS.pop

Dalam contoh kasus US.pop ini, vektor parameternya adalah = ( 1 , 2 , 3 ) T . Berikut ini adalah script untuk mendapatkan taksiran parameter pada model regresi nonlineardiatas.
>time<0:20 >pop.mod<nls(population~beta1/(1+exp(beta2+beta3*time)), +start=list(beta1=350,beta2=4.5,beta3=0.3),trace=T) 13007.48:350.04.50.3 609.5727:351.80748623.84050020.2270578 365.4396:383.70453673.99111480.2276690 356.4001:389.16551263.99034570.2266199

257

sht90

ModelNonlinear


>summary(pop.mod)

Formula:population~beta1/(1+exp(beta2+beta3*time))

Parameters: EstimateStd.ErrortvaluePr(>|t|) beta1389.1655130.8119712.632.20e10*** beta23.990350.0703256.74<2e16*** beta30.226620.0108620.874.60e14*** Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:4.45on18degreesoffreedom

Numberofiterationstoconvergence:6 Achievedconvergencetolerance:1.492e06 >par(mfrow=c(1,2)) >plot(year,population,main='(a)') >lines(year,fitted.values(pop.mod),lwd=2,col=2) >plot(year,residuals(pop.mod),type='b',main='(b)',col="blue") >abline(h=0,lty=2,col="green")

Hasil diatas menunjukkan nilainilai taksiran dari parameter model regresi nonlinear, sehinggasecaralengkapmodelnonlinearyangdiperolehdapatditulisdalambentuk
y= 389.16551 + . 1 + exp(3.99035 0.22662t )

Output tersebut juga menunjukkan bahwa nilai taksiran ketiga parameter itu adalah signifikansecarastatistikpadaalpha0.001.Sebagaicatatan, t dalammodelregresinon linear inimenyatakansuatukodedari tahun,yaitu 0 untuk tahun1790, 1 untuk 1800, danseterusnya.Padaoutputsummary(pop.mod)jugaditampilkannilaitaksiranstandar errordariresidual,yaitu4.45. Padabagianakhirdariscriptdiatasberisiperintahuntukmembuatplotantara nilai aktual dan prediksi secara bersamasama, serta perintah untuk menyajikan plot residual model. Hasil lengkap plot perbandingan ini dapat dilihat pada Gambar 14.2a. Dari gambar tersebut dapat dijelaskan bahwa nilainilai prediksi dari taksiran model regresi nonlinear yang diperoleh relatif baik, karena sudah mengikuti pola yang ada padadata.Kondisiiniberbedadenganyangdideskripsikanolehnilainilairesidualmodel di Gambar 14.2b. Grafik residual tersebut menunjukkan bahwa residual model belum menunjukkan pola yang random, melainkan pola yang cenderung mengandung sifat autokorelasiatauberkaitandenganresidualsebelumatausesudahnya.

258

sht90

ModelNonlinear

Gambar14.2.Plotperbandingankesesuaianprediksidanevaluasiresidualmodel

14.2.PerintahnlsdanSSasympOriguntukestimasimodelnonlinear
Ada beberapa perintah di paket R yang disediakan untuk menjalankan model regresinonlinear,antaralainnlsdanSSasympOrig.Contohdiatasmerupakansalahsatu aplikasi dari perintah nls pada suatu data real. Pada bagian ini akan diberikan rangkuman tentang perintah nls dan SSasympOrig, khususnya yang berkaitan dengan argumenargumenyangdapatditampilkan.Secaraumumpenggunaanperintahnlsdan keteranganargumenyangdisediakanadalahsebagaiberikut.
nls(formula,data,start,control,algorithm,trace,subset,weights, na.action,model,lower,upper,...)

259

sht90

ModelNonlinear

Argumen formula data start

Keterangan anonlinearmodelformulaincludingvariablesandparameters.Willbe coercedtoaformulaifnecessary. anoptionaldataframeinwhichtoevaluatethevariablesinformula andweights.Canalsobealistoranenvironment,butnotamatrix. anamedlistornamednumericvectorofstartingestimates.When startismissing,averycheapguessforstartistried(ifalgorithm != "plinear"). anoptionallistofcontrolsettings.Seenls.controlforthenamesof thesettablecontrolvaluesandtheireffect. characterstringspecifyingthealgorithmtouse.Thedefaultalgorithm isaGaussNewtonalgorithm.Otherpossiblevaluesare"plinear" fortheGolubPereyraalgorithmforpartiallylinearleastsquares modelsand"port"forthenl2solalgorithmfromthePortpackage. logicalvalueindicatingifatraceoftheiterationprogressshouldbe printed.DefaultisFALSE.IfTRUEtheresidual(weighted)sumof squaresandtheparametervaluesareprintedattheconclusionof eachiteration.Whenthe"plinear"algorithmisused,the conditionalestimatesofthelinearparametersareprintedafterthe nonlinearparameters.Whenthe"port"algorithmisusedthe objectivefunctionvalueprintedishalftheresidual(weighted)sumof squares. anoptionalvectorspecifyingasubsetofobservationstobeusedinthe fittingprocess. anoptionalnumericvectorof(fixed)weights.Whenpresent,the objectivefunctionisweightedleastsquares. afunctionwhichindicateswhatshouldhappenwhenthedatacontain NAs.Thedefaultissetbythena.actionsettingofoptions,andis na.failifthatisunset.Thefactoryfreshdefaultisna.omit.Value na.excludecanbeuseful. logical.Iftrue,themodelframeisreturnedaspartoftheobject. DefaultisFALSE. Ifunspecified,allparametersareassumedtobeunconstrained. Boundscanonlybeusedwiththe"port"algorithm.Theyare ignored,withawarning,ifgivenforotheralgorithms.

control algorithm

trace

subset weights na.action

model

lower,upper vectorsoflowerandupperbounds,replicatedtobeaslongasstart.

...

Additionaloptionalarguments.Noneareusedatpresent.

260

sht90

ModelNonlinear

SSasympOrig merupakan suatu perintah untuk aplikasi regresi nonlinear denganfungsiyangspesifik,yaitu


y= Asym + , 1 exp( exp(lrc) input )

dengan input adalah suatu vektor kovariat, dan Asym dan lrc merupakan parameter parameter model. Secara umum penggunaan perintah SSasympOrig dan keterangan argumenyangdisediakanadalahsebagaiberikut.
SSasympOrig(input,Asym,lrc)


Argumen input Asym lrc

Keterangan anumericvectorofvaluesatwhichtoevaluatethemodel. anumericparameterrepresentingthehorizontalasymptote. anumericparameterrepresentingthenaturallogarithmoftherate constant.

Misalkan perintah SSasympOrig akan diaplikasikan pada data BOD yang sudah tersediadiR.Datainiterdiridariduavariabel,yaituTimedandemand.Berikutiniadalah script untuk aplikasi perintah SSasympOrig dan beberapa output berkaitan dengan taksiranmodelregresinonlineardanplotprediksiyangdihasilkan.
>BOD Time demand 1 1 8.3 2 2 10.3 3 3 19.0 4 4 16.0 5 5 15.6 6 7 19.8

>fm<nls(demand~SSasympOrig(Time,A,lrc),data=BOD)

>#fm<nls(demand~A*(1exp(exp(lrc)*Time)),data=BOD, start=list(A=1,lrc=0.1),trace=TRUE)

261

sht90

ModelNonlinear

>summary(fm)

Formula:demand~A*(1exp(exp(lrc)*Time))

Parameters: EstimateStd.ErrortvaluePr(>|t|) A19.14262.49597.6700.00155** lrc0.63280.38241.6550.17328 Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:2.549on4degreesoffreedom

Numberofiterationstoconvergence:7 Achievedconvergencetolerance:5.54e07 >predict(fm)#fittedvaluesatobservedtimes [1]7.88744912.52497715.25167316.85487017.79749018.677580 >plot(demand~Time,data=BOD,col=4, +main="BODdataandfittedfirstordercurve", +xlim=c(0,7),ylim=c(0,20)) >tt<seq(0,8,length=101) >lines(tt,predict(fm,list(Time=tt)),col=2)

Gambar14.3.PlotperbandingankesesuaianprediksipadadataBOD

262

sht90

ModelNonlinear

14.3.UjiDeteksiHubunganNonlinear
PaketRmenyediakanbeberapaujiuntukmendeteksihubungannonlinearatau nonlinearitytestantarvariabel,baikpadamodelregresiataupunanalisisruntunwaktu. Padabagianinipembahasandifokuskanpadadeteksinonlinearitaspadamodelregresi, khususnyaUjiRamseysRESET,UjiWhite,danUjiTerasvirta.Berikutadalahpenjelasan untukmasingmasingujinonlinearitastersebut.

14.3.1.UjiRamseysRESET
Teori berkaitan dengan Uji Ramseys RESET ini secara lengkap dapat dilihat di Ramsey (1969), dan Gujarati (1996). Dalam R, Uji Ramseys RESET disediakan pada librarylmtestdenganperintahresettest.Secaraumum,penggunaanperintahresettest yangdisediakandilibrarylmtestadalahsebagaiberikut.

resettest(formula,power=2:3,type=c("fitted","regressor", "princomp"),data=list())

Keterangan lengkap tentang argumen yang dapat digunakan untuk perintah resettest adalahsebagaiberikut.

Argumen formula

Keterangan asymbolicdescriptionforthemodeltobetested(orafitted "lm"object). integers.Avectorofpositiveintegersindicatingthepowersof thevariablesthatshouldbeincluded.Bydefault,thetestisfor quadraticorcubicinfluenceofthefittedresponse. astringindicatingwhetherpowersofthefittedresponse,the regressorvariables(factorsareleftout),orthefirstprincipal componentoftheregressormatrixshouldbeincludedinthe extendedmodel. anoptionaldataframecontainingthevariablesinthemodel. Bydefaultthevariablesaretakenfromtheenvironmentwhich resettestiscalledfrom.

power

type

data

263

sht90

ModelNonlinear

Penjelasantentangargumenpowerdenganisianintegersadalahsuatufasilitas tentangsuatubilanganbulatpositifyangmengindikasikanpangkatdarivariabelvariabel yang akan ditambahkan dalam pengujian nonlinearitas model. Secara default, uji ini adalah untuk pengaruh kuadratik (pangkat 2) atau kubik (pangkat 3) dari taksiran variabel respon. Sedangkan argumen type dengan tiga pilihan isian yang harus ditambahkan dalam model untuk pengujian nonlinearitas, yaitu the fitted response (taksiran variabel respon), the regressor variables (variabel prediktor), dan the first principalcomponent(komponenutamapertama)darimatriksregressor.Berikutadalah ringkasanprosedurUjiRamseysRESET,denganpower=3,danpilihantaksiranvariabel respon(thefittedresponse)sebagaiprediktortambahan. (i). Regresikan y t pada 1, x1 , K , x p danhitungnilainilaitaksiranvariabel respon yt ,yaitu
yt = 0 + 1 x1 + K + p x p .

Hitungkoefisiendeterminasidariregresi,yaitu R 2 ,danselanjutnya 2 notasikandengan Rold .

(ii). Regresikan yt pada 1, x1 , K , x p dan2prediktortambahan,yaitu yt2 3 dan yt ,denganmodel


y t = 0 + 1 x1 + K + p x p + 1 y t2 + 2 y t3 .

Kemudianhitungkoefisiendeterminasidariregresiini,yaitu R 2 ,dan 2 notasikandengan Rnew .

(iii). Hitungnilaiuji F ,yaitu


F=
2 2 ( Rnew Rold ) / m 2 (1 Rnew ) /(n p 1 m)

dengan m : banyaknyaprediktortambahan(dalamhalini2,suku kuadratikdankubik),


p : banyaknyaprediktorawal,dan

n : jumlahpengamatanyangdigunakan.

Dibawahhipotesislinearitas,nilaiuji F inimendekatidistribusi F dengan derajatbebas m dan (n p 1 m) .

264

sht90

ModelNonlinear

Secaraumum,argumentypeakanmemberikanperbedaanmodelpadatahap(ii) dari prosedur uji diatas. Jika pilihan type adalah variabel regressor, maka m prediktor tambahandalamtahap(ii)adalahsukukuadratikdan/ataukubikdarivariabelregressor, sesuaidenganpilihanpoweryangdigunakan. DalamUjiRamseysRESETini,bentukumummodelyangmenjelaskanhubungan antaravariabelindependen(prediktor)denganvariabeldependen(respon)dapatditulis dalam
Y = f ( X ) + .

Hipotesispengujianyangdigunakandalamujinonlinearitasiniadalah: H0: f ( X ) adalahfungsilineardalam X ataumodellinear H1: f ( X ) adalahfungsinonlineardalam X ataumodelnonlinear. H0ditolakyangberartimodelnonlinearadalahyangsesuai,jikanilaiuji F memenuhi daerahpenolakanyaitu
F > F ; ( df1 =m,df 2 =n p 1m ) ataupvalue < .

Misalkanperintahresettestakandiaplikasikanuntukpengujianduamacamdata simulasi,yaitudarimodelnonlinear( Y1 )danmodellinear( Y2 ).Bentukmatematisdari modelpadadatasimulasiadalah (i). Y1 = 1 + X + X 2 + , (ii). Y2 = 1 + X + , dengan X = {1,2, K ,30} dan ~ N (0,1) . Berikut ini adalah script untuk membangkitkan datadanmembuatplotyangmenggambarkanhubunganantara X dengan Y1 dan Y2 .

>x<c(1:30) >y1<1+x+x^2+rnorm(30) >y2<1+x+rnorm(30) >win.graph() >par(mfrow=c(1,2)) >plot(x,y1,main="PlotXvsY1",col="blue") >plot(x,y2,main="PlotXvsY2",col="green")

Hasil dari plot yang menggambarkan hubungan antara X dengan Y1 dan Y2 dapat dilihatpadaGambar14.4.

265

sht90

ModelNonlinear

Gambar14.4.Plotantara X dengan Y1 ,dan X dengan Y2

Selanjutnya, aplikasi Uji Ramseys RESET pada kedua pasangan data dapat dilakukandenganmenggunakanperintahberikutini.
>library(lmtest)#Aktifkanterlebihdahulu >resettest(y1~x,power=2,type="regressor") >resettest(y2~x,power=2,type="regressor")

Hasil dari perintah Uji Ramseys RESET untuk kedua pasangan data di atas adalah sebagaiberikut.

>resettest(y1~x,power=2,type="regressor")

RESETtest

data:y1~x RESET=170757.1,df1=1,df2=27,pvalue<2.2e16 >resettest(y2~x,power=2,type="regressor")

RESETtest

data:y2~x RESET=0.4505,df1=1,df2=27,pvalue=0.5078

266

sht90

ModelNonlinear

Berdasarkanoutputdiatasdapatdisimpulkanbahwaadahubungannonlinearantara X dengan Y1 . Hal ini ditunjukkan oleh pvalue (2.2e16) yang lebih kecil dari =5%. Sehingga model nonlinear adalah model yang sesuai untuk menjelaskan hubungan antara X dengan Y1 . Sebaliknya, output tersebut menunjukkan bahwa tidak ada hubungannonlinearantara X dengan Y2 ,daninidijelaskanolehpvalue(0.5078)yang lebihbesardari=5%.Dengandemikian,modellinearadalahmodelyangsesuaiuntuk menjelaskanhubunganantara X dengan Y2 . Sebagaitambahan,perhatikankembalidatasimulasipadamodelpertama,yaitu model nonlinear ( Y1 ) yang merupakan model kuadratik. Jika didefinisikan X 1 = X , X 2 = X 2 dan keduanya dimasukkan sebagai variabel prediktor (regressor) pada Uji RamseysRESET,makaakandiperolehhasilsepertiberikutini.

>x1<x >x2<x^2 >resettest(y1~x1+x2,power=2,type="regressor") RESETtest

data:y1~x1+x2 RESET=0.2263,df1=2,df2=25,pvalue=0.799

Hasil output ini menunjukkan bahwa model yang sesuai untuk menjelaskan hubungan antara X 1 dan X 2 dengan Y1 adalah model linear. Hal ini ditunjukkan oleh pvalue (0.799) yang lebih besar dari =5%. Dengan demikian dapat disimpulkan bahwa tidak adahubungannonlinearantara X 1 dan X 2 dengan Y1 .

14.3.2.UjiWhite
UjiWhiteadalahujideteksinonlinearitasyangdikembangkandarimodelneural network yang dikemukan oleh White (1989). Uji ini termasuk dalam kelompok uji tipe Lagrange Multiplier (LM). Secara lengkap teori berkaitan dengan uji White ini dapat dilihat di White (1989) dan Lee dkk. (1993). Pada paket R, Uji White disediakan pada librarytseriesdenganperintahwhite.test. Berikut ini adalah penjelasan singkat tentang uji deteksi nonlinearitas tipe LagrangeMultiplier.Misalkan I t adalahsuatuhimpunaninformasiyangdidefinisikan
I t = {x1t , x 2t , K , x pt }

danmenyatakansemuavariabelvariabeleksogen xt yangdigunakandalam I t oleh wt .

267

sht90

ModelNonlinear

Proses pemodelan adalah mendapatkan suatu pendekatan yang baik untuk f ( wt ) sedemikanhingga
E[ y t | I t ] = f ( wt ) .

Strategi pemodelan pada model statistik yang nonlinear dapat dilakukan dalam dua tahap, yaitu (i) uji linearitas untuk y t dengan menggunakan informasi I t , dan (ii) jika linearitas ditolak, gunakan beberapa model parametrik alternatif, nonparametrik, dan atausemiparametrik. Perhatikan suatu model nonlinear yang secara matematis ditulis dalam bentuk sebagaiberikut
yt = ( t ) + wt + u t (14.1) w ~ ~ ~ dengan u t ~ IIDN (0, 2 ) , wt = (1, wt ) , wt = ( x1t , K , x pt ) , = ( 0 , 1 , K , p ) , = ( 0 , ) , ~ dan = ( 1 , K , p ) .Misaldiberikan

( wt ) = 0 ( wt ) ,(14.2)

dengan
( wt ) = {1 + exp( wt )}1 1 . 2

Dengandemikianpersamaan(14.1)dapatdiinterpretasikansebagaisuatumodelregresi yangnonlineardengankonstanta 0 + 0 ( wt ) . Model (14.1) adalah suatu kasus khusus dari model neural network satu layer tersembunyi(hiddenlayer),
y t = wt + 0 j { ( j wt ) 1 } + u t .(14.3) 2
j =1 q

Secaravisual,arsitekturdarimodelneuralnetworkinidapatdilustrasikansepertipada Gambar14.5. Perhatikan persamaan (14.1) dengan (14.2) dan suatu uji hipotesis bahwa yt adalahlinear,yaitu y t = wt + u t .Hipotesisnoldapatdidefinisikansebagai H 0 : 0 = 0 . Dalammodel(14.3)hipotesis
H 0 : 01 = 02 = L = 0q = 0

disebut hipotesis linearitas dari uji neural network melawan nonlinearitas yang terabaikan(White,1989;Leedkk.,1993).Permasalahanidentifikasidiatasdiselesaikan dengan menetapkan nilainilai dari vektor 1 , K , q sehingga nilainilai dari ( j wt ) dapat dihitung. Hal ini dilakukan melalui penentuan vektorvektor itu secara random dari suatu distribusi yang mungkin, dimana Lee dkk. (1993) menggunakan suatu distribusiuniform.

268

sht90

ModelNonlinear

Karena variabelvariabel ( j wt ) dimungkinkan sangat berkorelasi, Lee dkk. (1993)menerapkansuatutransformasikomponenutamamenjadi


t = [ ( 1 wt ), K , ( q wt )]

dan menggunakan dua komponen utama yang ortonormal kedalam bagian linear dari modelpadaregresitambahanuntukujilinearitas.

Gambar14.5.Arsitekturmodelneuralnetworksatulayertersembunyi padapersamaan(14.3)

Implementasi praktis dari uji linearitas yang merupakan tipe LM dengan samplingrandomyangdikenalkanolehLeedkk.(1993)yangselanjutnyadikenaldengan UjiWhiteinidapatdilakukanmelaluiduastatistikuji,yaituuji 2 danuji F .Berikutini adalahpenjelasanlengkattentangproseduruntukmendapatkannilaiuji 2 danuji F padaUjiWhite.

269

sht90

ModelNonlinear

Proseduruntukmendapatkannilaiuji 2 padaUjiWhite
(i). Regresikan y t pada 1, x1 , K , x p danhitungnilainilairesidual u t . (ii). Regresikan u t pada 1, x1 , K , x p dan m prediktortambahan,dan kemudianhitungkoefisiendeterminasidariregresi R 2 .Dalamujiini, m prediktortambahaniniadalahnilainilaidari ( j wt ) hasildari suatutransformasikomponenutama.

(iii). Hitung 2 = nR 2 ,dengan n adalahjumlahpengamatanyang digunakan. Dibawah hipotesis linearitas, 2 mendekati distribusi 2 (m) . Kajian teoritis berkaitan dengan pendekatan asimtotis nR 2 d 2 dapat dilihatpadaWhite(1989). Proseduruntukmendapatkannilaiuji F padaUjiWhite
(i). Regresikan y t pada 1, x1 , K , x p danhitungnilainilairesidual u t dan 2 hitungjumlahkuadratresidual SSR0 = u t . (ii). Regresikan u t pada 1, x1, K , x p dan m prediktortambahan(seperti yangdijelaskandiatas),dankemudianhitungresidual vt danjumlah 2 kuadratresidual SSR1 = vt .

(iii). Hitung F =

( SSR0 SSR1 ) / m , SSR1 /(n p 1 m)

dengan n adalahjumlahpengamatanyangdigunakan.

Dibawahhipotesislinearitas,nilaiuji F inimendekatidistribusi F dengan derajatbebas m dan (n p 1 m) .

270

sht90

ModelNonlinear

Secaraumum,adaduamacampenggunaanperintahwhite.testyangdisediakan di library tseries untuk implementasi Uji White, yaitu untuk permasalahan analisis regresi dan analisis runtun waktu. Berikut ini adalah cara penggunaan uji White tersebut.

##Defaultmethod:untukanalisisregresi white.test(x,y,qstar=2,q=10,range=4, type=c("Chisq","F"),scale=TRUE,...)

##UjiWhiteuntukanalisisruntunwaktu white.test(x,lag=1,qstar=2,q=10,range=4, type=c("Chisq","F"),scale=TRUE,...)

Keterangan tentang argumen yang dapat digunakan untuk perintah white.test adalah sebagaiberikut.

Argumen x y lag q qstar

Keterangan Anumericvector,matrix,ortimeseries. Anumericvector. anintegerwhichspecifiesthemodelorderintermsoflags. anintegerrepresentingthenumberofphantomhiddenunitsusedto computetheteststatistic. thetestisconductedusingqstarprincipalcomponentsofthe phantomhiddenunits.Thefirstprincipalcomponentisomittedsince inmostcasesitappearstobecollinearwiththeinputvectorof laggedvariables.Thisstrategypreservespowerwhilestillconserving degreesoffreedom. theinputtohiddenunitweightsareinitializeduniformlyover [range/2,range/2]. AstringindicatingwhethertheChiSquaredtestortheFtestis computed.Validtypesare"Chisq"and"F". Alogicalindicatingwhetherthedatashouldbescaledbefore computingtheteststatistic.Thedefaultargumentstoscaleareused. furtherargumentstobepassedfromortomethods.

range type scale ...

271

sht90

ModelNonlinear

Misalkanperintahwhite.test akandiaplikasikan untuk pengujiandatasimulasi, yaitudarimodelnonlineardenganbentukmatematissebagaiberikut


Y = X 2 X 3 + ,

dengan X ~ U (1,1) dan ~ N (0,0.1) . Berikut ini adalah script untuk membangkitkan datadanmembuatplotyangmenggambarkanhubunganantara X dengan Y .

>n<1000 >x<runif(1000,1,1)#Nonlinearin``mean''regression >y<x^2x^3+0.1*rnorm(x) >plot(x,y,main="PlotXvsY",col="blue")

Hasildariplotyangmenggambarkanhubunganantara X dengan Y dapatdilihatpada Gambar14.6berikutini.

Gambar14.6.Plotyangmenggambarkanhubunganantara X dengan Y Berdasarkan plot ini dapat dijelaskan bahwa hubungan antara X dengan Y adalahnonlinear.BerikutiniadalahaplikasiUjiWhiteuntukdeteksinonlinearitaspada pasangandatahasilsimulasitersebut.

272

sht90

ModelNonlinear

>library(tseries)#Aktifkanterlebihdahulu >white.test(x,y)#UjiChisquare >white.test(x,y,type=c("F"))#UjiF

>##Isthepolynomialoforder2misspecified? >white.test(cbind(x,x^2,x^3),y)

Dalam kasus ini, secara umum hipotesis pengujian yang digunakan dalam uji non linearitasiniadalah: H0: f ( X ) adalahfungsilineardalam X ataumodellinear H1: f ( X ) adalahfungsinonlineardalam X ataumodelnonlinear. Hasil dari perintah Uji Ramseys RESET untuk kedua pasangan data di atas adalah sebagaiberikut.

>white.test(x,y)

WhiteNeuralNetworkTest

data:xandy Xsquared=2462.076,df=2,pvalue<2.2e16 >white.test(x,y,type=c("F"))

WhiteNeuralNetworkTest

data:xandy F=4536.783,df1=2,df2=997,pvalue<2.2e16

Berdasarkan output ini dapat disimpulkan bahwa ada hubungan nonlinear antara X dengan Y , baik dengan uji Chisquare atau uji F. Hal ini ditunjukkan oleh besarnya pvalue (2.2e16 baik pada uji Chisquare maupun uji F) yang lebih kecil dari =5%. Dengan demikian, model nonlinear adalah model yang sesuai untuk menjelaskan hubunganantara X dengan Y . Sebagai tambahan, perhatikan kembali data simulasi pada model ini, yaitu Y merupakan model nonlinear yang merupakan model kubik. Jika didefinisikan X 1 = X , X 2 = X 2 , X 3 = X 3 dan ketiganya dimasukkan sebagai variabel prediktor (regressor) padaUjiWhite,makaakandiperolehhasilsepertioutputberikutini.

273

sht90

ModelNonlinear

>x1<x >x2<x^2 >x3<x^3 >x.all<cbind(x1,x2,x3) >white.test(x.all,y)

WhiteNeuralNetworkTest

data:x.allandy Xsquared=1.2287,df=2,pvalue=0.541 >#UjiWhitedenganujiF >white.testx.all,y,type=c("F"))

WhiteNeuralNetworkTest

data:x.allandy F=0.1956,df1=2,df2=995,pvalue=0.8224

Berbeda dengan kesimpulan sebelumnya, hasil output ini menunjukkan bahwa model yang sesuai untuk menjelaskan hubungan antara X 1 , X 2 dan X 3 dengan Y adalah model linear. Hal ini ditunjukkan oleh pvalue (0.541 pada uji Chisquare, dan 0.8224 padaujiF)yanglebihbesardari=5%.Dengandemikiandapatdisimpulkanbahwatidak adahubungannonlinearantara X 1 , X 2 dan X 3 dengan Y .

14.3.3.UjiTerasvirta
Seperti Uji White sebelumnya, Uji Terasvirta adalah uji deteksi nonlinearitas yangjugadikembangkandarimodelneuralnetworkdantermasukdalamkelompokuji tipe Lagrange Multiplier (LM). Secara lengkap teori berkaitan dengan uji Terasvirta ini dapat dilihat di Terasvirta dkk. (1993). Uji Terasvirta ini adalah uji tipe Lagrange MultiplieryangdikembangkandenganekspansiTaylor.Padaakhirnya,perbedaanutama dengan Uji White terletak pada tahap kedua prosedur uji, khususnya tentang m prediktortambahanyangdimasukkandalammodelpengujian.DalamUjiTerasvirtaini, m prediktor tambahan yang digunakan adalah suku kuadratik dan kubik yang merupakanhasildaripendekatanekspansiTaylor. Paket R menyediakan fasilitas untuk Uji Terasvirta pada library tseries dengan perintahterasvirta.test.SepertipadaUjiWhite,adaduamacampenggunaanperintah terasvirta.testyangdisediakandilibrarytseriesuntukimplementasiUjiTerasvirta,yaitu untuk permasalahan analisis regresi dan analisis runtun waktu. Berikut ini adalah cara penggunaanujiTerasvirtadenganpaketR.

274

sht90

ModelNonlinear

##Defaultmethod:untukanalisisregresi terasvirta.test(x,y,type=c("Chisq","F"), scale=TRUE,...) ##UjiTerasvirtauntukanalisisruntunwaktu terasvirta.test(x,lag=1,type=c("Chisq","F"), scale=TRUE,...)

Keterangan tentang argumen yang dapat digunakan untuk perintah terasvirta.test adalahsebagaiberikut. Argumen x y lag type scale Keterangan anumericvector,matrix,ortimeseries. anumericvector. anintegerwhichspecifiesthemodelorderintermsoflags. astringindicatingwhethertheChiSquaredtestortheFtestis computed.Validtypesare"Chisq"and"F". alogicalindicatingwhetherthedatashouldbescaledbefore computingtheteststatistic.Thedefaultargumentstoscale areused. furtherargumentstobepassedfromortomethods.

...

Misalkan perintah terasvirta.test akan diaplikasikan untuk pengujian data simulasisepertipadaUjiWhitesebelumnya,yaitudarimodelnonlineardenganbentuk matematissebagaiberikut
Y = X 2 X 3 + ,

dengan X ~ U (1,1) dan ~ N (0,0.1) . Seperti pada bagian sebelumnya, hipotesis pengujianyangdigunakanadalah H0: f ( X ) adalahfungsilineardalam X ataumodellinear H1: f ( X ) adalahfungsinonlineardalam X ataumodelnonlinear.

275

sht90

ModelNonlinear

BerikutiniadalahscriptdanhasilimplementasiUjiTerasvirtauntukevaluasihubungan antara X dengan Y .

>terasvirta.test(x,y)

TeraesvirtaNeuralNetworkTest

data:xandy Xsquared=2476.359,df=2,pvalue<2.2e16 >terasvirta.test(x,y,type=c("F"))

TeraesvirtaNeuralNetworkTest

data:xandy F=5432.583,df1=2,df2=997,pvalue<2.2e16 >terasvirta.test(x.all,y)

TeraesvirtaNeuralNetworkTest

data:x.allandy Xsquared=21.7509,df=16,pvalue=0.1514 >terasvirta.test(x.all,y,type=c("F"))

TeraesvirtaNeuralNetworkTest

data:x.allandy F=1.3482,df1=16,df2=981,pvalue=0.1605

Berdasarkan output dari dua perintah pertama dapat disimpulkan bahwa ada hubungannonlinearantara X dengan Y ,baikdenganujiChisquareatauujiF.Halini ditunjukkanolehbesarnyapvalue(2.2e16baikpadaujiChisquaremaupunujiF) yang lebih kecil dari =5%. Dengan demikian, model nonlinear adalah model yang sesuai untukmenjelaskanhubunganantara X dengan Y ,dan hal inisama denganhasil yang diperolehpadaUjiWhite. Sedangkan hasil output dari dua perintah terakhir menunjukkan bahwa model yang sesuai untuk menjelaskan hubungan antara X 1 = X , X 2 = X 2 dan X 3 = X 3 dengan Y adalah model linear. Hal ini ditunjukkan oleh pvalue (0.1514 pada uji Chi square,dan0.1605padaujiF) yanglebihbesardari =5%.Hasiliniadalahsamadengan kesimpulanyangdiperolehpadaUjiWhite,yaitutidakadahubungannonlinearantara X 1 , X 2 dan X 3 dengan Y .

276

why92

PengenalanPemrogramandalamR

BAB15 PENGENALANPEMROGRAMANDALAMR

Paket R menyediakan fasilitas untuk membuat fungsi yang didefinisikan oleh user (userdefined function). Fasilitas ini memungkinkan user untuk membuat program analisis yang lebih fleksibel dengan menggunakan fungsifungsi builtin didalam R. Fungsifungsibuiltininisudahdiperkenalkanpadababbabsebelumnya.Padabagianini akandiberikanpengantarmengenaipemrogramandenganbahasaR.

15.1.PenulisanFungsi
SalahsatutahappentingdalampendefinisianfungsifungsibarudiRadalahcara penulisan fungsi tersebut. Secara umum, struktur penulisan fungsi di dalam R adalah sebagaiberikut. nama_fungsi = function(argumen dari fungsi) { ........... isi dari fungsi } Penulisan fungsi ini dapat dilakukan melalui dua macam cara, yaitu melalui RConsole danREditor.Sebagaiilustrasi,misalkanakandibuatfungsiuntukmenghitungratarata sekumpulandata.DalamhalinidianggapRtidakmemilikifungsiuntukmenghitungnilai ratarata. Akan tetapi R memiliki fungsi untuk menghitung jumlah (yakni sum), dan fungsiuntukmenghitungpanjangvektor(yaknilength).Berikutiniadalahcontohfungsi rataratayangdituliskanpadaRConsole. > + + + + rata=function(x) { rata_rata=sum(x)/length(x) rata_rata }

Dalamcontohini,namafungsiyangdibuatadalahrata,danargumennyaadalah xsebagaidatayangakandihitungrataratanya. > x=c(2,1,3,4,5) > rata(x) [1] 3

277

why92

PengenalanPemrogramandalamR

SedangkanmelaluiREditor,pendefinisianfungsibarudapatdikerjakandenganlangkah langkahsebagaiberikut. Pertama kali munculkan REditor dengan klik File pada RConsole, kemudian pilih New script. Selanjutnya ketik script fungsi yang akan dibuat padaREditorseperti berikutini.

Apabila sudah selesai, simpan fungsi ini dengan memilih File pada RConsole, dan kemudianklikSaveas...,sehinggadiperolehtampilansepertiberikutini.

278

why92

PengenalanPemrogramandalamR

Sebagai catatan, pemberian nama boleh berbeda dengan nama fungsi yang di definisikan. Akan tetapi untuk mempermudah mengingatnya disarankan untuk menggunakannamafilesamadengannamafungsi.Dalamhalinidiberinamarata. Selanjutnyaagarfungsidapatdigunakan,makadidalamfileiniharusdibuatsource nya. Proses ini dapat dapat dilakukan dengan menggunakan menu File, kemudian klikSourceRcode...danpilihfileyangakandisourcekansepertiberikut.

KlikOpen,sehinggapadaRConsoleakanmuncultextberikutini. > source("C:\\Program Files\\R\\R-2.7.2\\rata") Text ini menunjukkan bahwa dalam fungsi yang didefinisikan tidak ada kesalahan perintah. Untuk mencoba fungsi ini, misalkan akan dihitung ratarata dari data 3,1,2,4,5.Selanjutnyaketikperintahsepertiberikut.

> x=c(3,1,2,4,5) > rata(x) [1] 3 Sampai di sini sudah bisa didefinisikan fungsi baru yang sederhana didalam R. Untuk pembuatan fungsi yang lebih kompleks, diperlukan pengetahuan tentang typedatadanperintahperintahdalampemrograman.

279

why92

PengenalanPemrogramandalamR

15.2.TypeDatadanOperator
PadaBab3telahdibahastentangbeberapatypedatapadaR.Pengetahuanakan typedatainisangatdiperlukandalampendefinisanfungsibaru.Secaraumumadatype datadasar,yaitunumeric,characterataustring,danlogika.Sedangkantypedatayang terstruktur,yangterdiridarikombinasitypedatadasar,adalaharray.Arrayyangterdiri darisatudimensidinamakanvektor,sedangkanyangterdiridariduadimensiataulebih dinamakan matrik. Bagaimana mendefinisikan datadata type ini secara lengkap sudah dibahasdalamBab3. Hal lain yang harus diingat selain type data adalah operator. Operator digunakan untuk operasi matematik atau manipulasi data. Dalam pendefinisian fungsi baru atau secara umum dalam pemrograman seringkali memerlukan kombinasi penggunaan berbagai macam operator. Berikut ini ringkasan operator yang biasa digunakandalamoperasimatematik. OperatorAritmetika + * / ^ penjumlahan pengurangan perkalian pembagian pangkat

OperatorLogika < <= > >= == != & | ! kurangdari kurangdariatausamadengan lebihdari lebihdariatausamadengan samadengan tidaksamadengan dan(and) atau(or) tidak(negasi)

280

why92

PengenalanPemrogramandalamR

Selainoperatordiatas,dalamBab3telahpuladibuatringkasanoperatoruntuk matrik seperti penjumlahan, pengurangan, perkalian, invers, determinan dan eigen value.Perintahperintahinisangatpentingdalammendefinisikanfungsibaru.

15.3.ControlFlowdidalamR
Barisanperintahdalam Rbiasanyadieksekusibarisperbaris.DalamR,barisan perintahyangdiletakkandidalamtandakurung{}sebagaisatugroupdipandangsebagai satuekspresitunggal.Barisanekspresiyangdinyatakandalambentukgroupinijugadi eksekusibarisperbaris.Untukmengaturproseseksekusi,diperlukanperintahperintah controlflow.Bentukcontrolflowiniakanbanyakdigunakandalammenulissuatufungsi yangdibentukolehuser.Beberapaperintahcontrol flowyangdikenaldidalamRakan dibahasdalambagianini.

Statemenif
Statemeninimempunyaiaturanpenulisan > if (kondisi) {ekspresi} Perintah ini berarti jika (kondisi) bernilai benar, maka {ekspresi} dilaksanakan, jika (kondisi) bernilai salah, maka {ekspresi} tidak dilaksanakan. Berikut adalah contoh statemenif. > if (2>3) x=c(1,2,3) > x Error: object "x" not found

Pada contoh ini, karena kondisi (2>3) bernilai False, maka ekspresi x=c(1,2,3) tidak dieksekusi. Sehingga pada saat nilai x ditampilkan, karena x tidak ada maka keluar pesanError:object"x"notfound.Selanjutnyaperhatikancontohstatemenifberikut ini. > if (2<3) x=c(1,2,3) > x [1] 1 2 3

Padacontohini,karenakondisi(2<3)bernilaibenar(True),makaekspresix=c(1,2,3) dieksekusi,sehingganilainilaidataxdapatditampilkan.

281

why92

PengenalanPemrogramandalamR

Statemenifelse
Statemeninimempunyaiaturanpenulisansepertiberikutini. > if (kondisi) {ekspresi1} else {ekspresi2} Perintah ini mempunyai arti jika (kondisi) bernilai benar maka {ekspresi1} yang dilaksanakan, dan jika bernilai salah maka {ekspresi2} yang dilaksanakan. Berikut contohstatemenifelse. > if (2>3) x=c(1,2,3) else x=c(4,5,6) > x [1] 4 5 6

Statemenfor
Statemeninidigunakanuntukperulangan.Syntaxdasardarifungsiiniadalahsebagai berikut. > for (name in expr1) {expr2} Pada contoh dibawah ini, statemen for akan digunakan untuk menghitung nilai faktorial. > f=1 > for (i in 1:5) + { + f=f*i + } > f [1] 120 Padacontohinidihitungnilai5!=1.2.3.4.5=120.

Fungsibreakdannext
Syntaxdarifungsiiniadalahsebagaiberikut. break : stopdankeluarloopyangsedangdieksekusi. next : stopiterasiyangsedangberjalandanlangsungmulaiiterasiselanjutnya. Command next dan break pada dasarnya berfungsi untuk mencegah kemungkinan adanyainfinitifeloopdalamsuatufungsi,sepertidalamsuatulooprepeat(yangdalam

282

why92

PengenalanPemrogramandalamR

Rtidakmemilikiakhireksekusiyangalami,sehinggamutlakdiperlukanstoppingloop dengan perintah break atau next) dan while (yang diperlukan untuk menghentikan perulangan atau loop di satu bagian dari ekspresi dalam loop tanpa melanjutkan ke ekspresilaindidalamloopini).

Statemenreturndanstop
Keduabentukstatemeninidigunakanuntukmenghentikaneksekusidarisuatufungsi yangtelahdiaksesdankembalikeRprompt.Syntaxnyaadalahsebagaiberikut. return(expr) : stopfungsiyangsedangdiaksesataudievaluasidanmunculkan outputnilaidariexprdiprompt. stop(message): digunakanuntukmemberikantandaadanyakesalahandengan menghentikanevaluasidarifungsiyangsedangdiaksesdan menampilkanmessagedipromptsebagaipesankesalahandan kembalikeRprompt.

Fungsi return tidak hanya membuat kita berhenti dari loop yang sedang dievaluasi, tetapijugadarifungsiyangsedangdiakses.Jadiberbedadenganbentuk break atau nextyangtidakmenghentikaneksekusifungsi.

Statementrepeat
Syntaxdasardaristatemeniniadalahsebagaiberikut. > repeat {expr} Perintah repeat pada R merupakan perintah ynag mengakibatkan perulangan atau looping tiada henti. Oleh karena itu, penggunaan repeat memerlukan penambahan perintahuntukmenghentikanperulangan.Perintahinibisamenggunakanstatemenif yang dikombinasikan dengan break. Berikut ini adalah contoh untuk menghitung n! denganmenggunakanrepeat. > f=1 > i=0 > repeat + { + i=i+1 + f=f*i + if (i==5) break + } > f [1] 120

283

why92

PengenalanPemrogramandalamR

Statementwhile
Statemen while merupakan statemen untuk perulangan, dengan syntax sebagai berikut. > while (condition) expr Sebagaicontoh,akandibuatperintahuntukmenghitungnilain!. > f=1 > i=0 > while (i<5) + { + i=i+1 + f=f*i + } > f [1] 120

15.4.Beberapatopikyangberhubungandenganfungsi
Berikutiniadalahbeberapatopikyangberhubungandenganfungsiyangbanyak digunakandalampemrogramR.

15.4.1.Argumendarisuatufungsi
Didalam membuat argumen dari suatu fungsi ada beberapa hal yang diperhatikan, antaralainoptionaldanrequiredargument.

a.Optionalargument
Optionalargumentadalahargumensuatufungsiyangdapattidakdiberikannilainya ketika fungsi tersebut dipanggil. Untuk hal tersebut biasanya ada nilai default dari argumen itu yang tidak perlu didefinisikan nilainya pada saat dipanggil. Sebagai contoh, misalkaningindibangkitkandataberdistribusinormalsebanyak10,dengan mean=15danvariansi=9denganfungsirnormberikutini. datanormal=function(n=10,mean=15,variansi=9) { data <- rnorm(n,mean,sqrt(variansi)) data }

284

why92

PengenalanPemrogramandalamR

Seluruhargumendarifungsidatanormaldiatasmerupakanoptionalargumentyakni secara default telah diberikan nilai dari masingmasing argumen. Setelah script function diketikkan pada RConsole atau pada REditor, panggil dengan perintah berikut. > datanormal() [1]12.48633015.94063616.79275218.63401513.50043015.72283810.076475 [8]9.9908978.05666015.627972 Sudah ditampilkan 10 bilangan random normal dengan mean 15 dan variansi 9. Argumen optional ini dapat diganti dengan memberikan spesifikasi nilai dari argumen tersebut. Sebagai contoh akan dibangkitkan 25 bilangan normal standar dengan fungsi diatas. Hal tersebut dapat dilakukan dengan memanggil fungsi datanormaldenganmerubahnilaiargumennya,yaitu

> datanormal(n=20, mean=0, variansi=1) ataudapatjugadengan

> datanormal(20,0,1) Perintahiniakanmenggantinilaidefaultargumenoptionalpadafungsidatanormal, sehinggadiperolehhasilsebagaiberikutini. [1]1.143680170.134699672.596789361.471904790.757855801.73536802 [7]0.405799351.214022391.375582350.029391011.519455770.84322992 [13]1.692951402.572906340.525872041.643174260.573956250.23601621 [19]0.147496581.42066282

b.Requiredargument
Requiredargumentadalahargumenargumenyangharusdiberikanataudispesifikasi nilainya jika fungsi tersebut dipanggil. Sebagai contoh akan dilakukan modifikasi fungsibangkitannormaldiatasmenjadisepertiberikutini. datanormal2 <-function(n, mean, variansi=9) { data=rnorm(n, mean, sqrt(variansi)) data }

285

why92

PengenalanPemrogramandalamR

Dengan demikian argumen n dan mean merupakan required argument, sehingga harus diberi nilai ketika user memanggil fungsi bangkitan datanormal2 melalui R prompt.Sebagaicontoh,perhatikanperintahberikutini.

> datanormal2(10,0) Perintah ini akan membangkitkan 10 bilangan random normal dengan mean 0 dan variansi9,denganoutputsebagaiberikut.

[1]1.914678071.516189590.032839811.549366055.600143281.23081757 [7]2.015694231.603316113.206827781.46176645

15.4.2.Mengaturtampilandarioutput
Ada beberapa fungsi builtin yang dapat digunakan untuk mengatur tampilan output, baik dengan menampilkan layar maupun dengan menyimpan data di disk. Berikutadalahuraiantentangbeberapafungsitersebut.

a.Fungsitabdannewline
Untukmenggunakantabdalammenampilkanoutputmakagunakan\tsedangkan untukmenggantibaris,gunakan\n.Perintahiniseringdigunakanbersamadengan perintahcat(lihatbagiand).

b.Perintahprint
Perintahinibertujuanuntukmenampilkansuatuobjekkelayarsesuaidenganjenis data.Perhatikancontohberikutini.
>dataprint=list(karakter=letters[1:5],numerik=c(1:5)) >print(dataprint) $karakter [1]"a""b""c""d""e" $numerik [1]12345

c.Perintahformat
Perintah format bertujuan untuk mengubah mode data dari numerik ke karakter. Lihatcontohberikutini.

286

why92

PengenalanPemrogramandalamR

>angka=1:10 >angka [1]12345678910 >karakter=format(angka) >angka_karakter=format(angka) >angka_karakter [1]"1""2""3""4""5""6""7""8""9""10"

d.Perintahcat
Perintahcatmerupakanperintahyangcukupfleksibeldidalammenampilkanoutput dilayar,yaitudapatmenampilkandatacharacter,datanumerik,komentarkomentar output, ataupun menuliskan data layar. Lihat help menu dari R untuk keterangan lebih lanjut mengenai fungsi ini. Untuk mengilustrasikan penggunaan dari perintah catinidiberikancontohsebagaiberikut.Misalkanuseringinmerubahtampilandari outputfungsibangkitannormaldiatas,danakandilakukanmodifikasidarifungsiitu sepertiberikutini.

datanormal3 <- function(n=10,mean=15,variansi=9) { data<-rnorm(n,mean,sqrt(variansi)) cat(============\n) cat( List Data \n) cat(============\n) cat(data, sep = \n) cat(============\n) } Setelah file disourcekan (jika diketik melalui REditor), maka contoh output dari fungsi ini dapat dilihat dibawah ini. Perhatikan perbedaan tampilan output dengan perintah datanormal3. Perintah \n dan \t telah dikenalkan pada bagian (a) diatas.

>datanormal3() =========== ListData =========== 2.422166 4.422396 ............. 8.015969 ===========

287

why92

PengenalanPemrogramandalamR

Lebihlanjut,fungsicatdapatdigunakanuntukmenyimpanoutputkedalamsuatufile eksternal disk. Misalkan output dengan format yang sama dengan contoh diatas ingin disimpan ke direktori c: dengan nama file output.txt (nama maksimum 8 character). Maka perlu dilakukan modifikasi fungsi datanormal menjadi sebagai berikut.

datanormal4 <- function(n=10,mean=15,variansi=9) { data <- rnorm(n,mean,sqrt(variansi)) cat(=================\n,file=c:output.txt) cat( List Data \n, append=T,file=c:output.txt) cat(=================\n, append=T, file=c:output.txt) cat(data, sep = \n, append=T,file=c:output.txt) cat(=================\n, append=T ,file=c:output.txt) } Perhatikan perbedaan fungsi datanormal4 dan datanormal3 pada contoh diatas. Lokasi dan namafiledapatdisesuaikan dengankeinginan user. Setelahdisourcekan file script dari fungsi ini, maka fungsi ini dapat dipanggil menggunakan perintah sebagaiberikut. > datanormal4() Outputdarifungsidatanormal4dapatdiaksesdenganmelihatfileoutput.txtmelalui pilihanFile,dankemudianklikOpenscript.Perhatikandirectoryyangaktifadadi C:\ProgramFiles\R\R2.7.2\

C:\Program Files\R\R-2.7.2\output.txt - R Editor

288

why92

PengenalanPemrogramandalamR

e.Perintahwrite.table
Fungsi ini dapat digunakan untuk menuliskan data (biasanya bertipe dataframe) yang ada kedalam suatu file di disk. Untuk keterangan lebih lanjut dari fungsi ini, lihatfasilitashelpdariR.Berikutadalahcontohpenggunaandariperintahtersebut. datanormal5 <- function(n=10,mean=15,variansi=9) { data <- as.data.frame(rnorm)(n,mean,sqrt(variansi)) write.table(data,file=c:output.txt,sep=\t) } Setelah disourcekan file script dari fungsi ini, maka selanjutnya fungsi ini dapat dipanggildenganmenggunakanperintahsepertiberikutini. > datanormal5()

15.5.Contohcontohfungsi
Selanjutnya akan diberikan beberapa contoh fungsi dengan menggunakan perintahperintah yang sudah dijelaskan di bagian sebelumnya. Contohcontoh ini diharapkandapatlebihmemberipemahamantentangbagaimanamendefiniskanfungsi baru di R. Sebelum mengetikkan script fungsi ini pada REditor, perintahperintah berikut disarankan untuk dicoba terlebih dahulu baris per baris pada RConsole. Jika urutan sudah benar, baik secara logic maupun syntax, maka urutanurutan perintah pada RConsole dapat dicopy, kemudian dipaste ke REditor. Cara ini akan membantu prosesmencarikesalahandalamprogram(debugging).

Ujitdengansampeltunggal
Berikut ini adalah contoh fungsi untuk uji ratarata sampel tunggal dengan varians tidak diketahui dengan menggunakan statistik uji t. Pada fungsi berikut, diberi nama uji_t, dengan argumen x sebagai vektor data yang akan diuji, mu0 sebagai nilai ratarata yang dihipotesiskan, dan arah sebagai identifikasi apakah hipotesis alternatif pengujianbersifatduaarah,kurangdariataulebihdari. uji_t = function(x,mu0,arah) { df=length(x)-1 T=abs((mean(x)-mu0)/(sd(x)/sqrt(length(x)))) if (arah==0) P=2*(1-pt(abs(T),df)) else if (arah==-1) P=pt(T,df) else P=pt(T,df,lower.tail=FALSE)

289

why92

PengenalanPemrogramandalamR

cat("Uji t Sampel Tunggal","\n") cat("Ho:mu =",mu0,"\n") if (arah==0) cat("H1:mu !=",mu0,"\n") if (arah==-1) cat("H1:mu <",mu0,"\n") if (arah==1) cat("H1:mu >",mu0,"\n") cat("Mean=",mean(x),", stdev=", sd(x)," n=",length(x),"\n") cat("T = ",T,",df = ",df," ,P = ",P,"\n") } Sebelum menjalankan, simpan terlebih dulu fungsi itu dengan nama uji_t.R dan kemudian disourcekan. Untuk menjalankan akan digunakan data bakteri seperti yang dibahas pada Bab 7. Sehingga, perbandingan hasil fungsi ini dapat dilakukan dengan outputujisampeltunggalpadaRdiBab7tersebut.
>bakteri=c(175,190,215,198,184,207,210,193,196,180)

>uji_t(bakteri,200,0)

UjitSampelTunggal Ho:mu=200 H1:mu!=200 Mean=194.8stdev=13.13858n=10 T=1.251570,df=9P=0.2422777

>uji_t(bakteri,200,1)

UjitSampelTunggal Ho:mu=200 H1:mu>200 Mean=194.8stdev=13.13858n=10 T=1.251570,df=9P=0.8788612

>uji_t(bakteri,200,1)

UjitSampelTunggal Ho:mu=200 H1:mu<200 Mean=194.8stdev=13.13858n=10 T=1.251570,df=9P=0.1211388

290

why92

PengenalanPemrogramandalamR

RegresiLinearSederhana
Berikutiniakandiberikancontohfungsiregresiuntukmengestimasipersamaan regresi linear sederhana. Fungsi ini mempunyai 2 argumen, yaitu y sebagai variabel respon dan x sebagai variabel prediktor. Estimasi dilakukan dengan metode kuadrat terkecil.Selanjutnya berturutturutdihitungstandarderrorhasil estimasi, thitung dan nilai p. Sebagai validasi, hasil perhitungan dapat dibandingkan dengan output menu regresisepertipadaBab8.
regresi<-function(y,x) { if (length(y)!=length(x)) cat("Banyak data tidak sama\n") k=1 n=length(x) for (i in 1:n) k[i]=1 X=cbind(k,x) b=(solve(t(X)%*%X))%*%t(X)%*%y y_hat=X%*%b e=y-y_hat SSR=sum((y_hat-mean(y))^2) SSE=sum((y-y_hat)^2) MSR=SSR/1 MSE=SSE/(n-1-1) cov_b=solve(t(X)%*%X)*MSE se_b=sqrt(diag(cov_b)) t_value=(1/se_b)*b p_value=2*(1-pt(abs(t_value),n-2)) cat(" estimate std.error t_value p \n") for (i in 1:2) { if (i==1) cat("intercept ",b[i],se_b[i],t_value[i],p_value[i],"\n") else cat( "x ",b[i],se_b[i],t_value[i],p_value[i],"\n") } }

Untukmenjalankan,misalkandigunakandataberikutini.
>y=c(11,13,15,12,14,16,18) >x=c(2,4,5,3,6,7,8) >regresi(y,x) estimatestd.errort_valuep intercept8.7857140.749829911.716947.960169e05 x1.0714290.13923997.6948380.0005912413

291

sht90

DaftarPustaka

DAFTARPUSTAKA

Cryer,J.D.(1986).TimeSeriesAnalysis.Boston:PWSKENTPublishingCompany. Draper, N.R. and Smith, H. (1981). Applied Regression Analysis. Second Edition, John Wiley&Sons,Inc. Granger, C.W.J. and Terasvirta, T. (1993). Modeling Nonlinear Economic Relationships. Oxford:OxfordUniversityPress. Gujarati, D.N. (1996). Basic Econometrics. 5th edition, McGraw Hill International, New York. Hair, J.F., Anderson, R.E., Tatham, R.L. and Black, W.C. (2006). Multivariate Data Analysis.6thedition,PrenticeHallInternational:UnitedKingdom. Hanke, J.E. and Reitsch, A.G. (2001). Business Forecasting. 7th edition, Prentice Hall, EnglewoodCliffs,N.J. Hrdle,W.(1991).SmoothingTechniqueswithImplementationinS.NewYork:Springer Verlag. Hosmer, D.W. and Lemeshow, S. (1989). Applied Logistic Regression. NewYork: John Wiley&Sons. Johnson, R.A. and Bhattacharyya, G.K. (1996). Statistics: Principles and Methods. 3rd edition,Canada:JohnWiley&Sons.. Johnson, N. and Wichern, D. (1998). Applied Multivariate Statistical Analysis. Prentice Hall,EnglewoodCliffs,N.J. Kutner, M.H., Nachtsheim, C.J. and Neter, J. (2004). Applied Linear Regression Models. McGrawHillInternational,NewYork. Lee, T.H., White,H., and Granger,C.W.J. (1993).Testing forNeglectedNonlinearityin TimeSeriesModels:AcomparisonofNeuralNetworkmethodsandalternativetest. JournalofEconometrics,56,pp.269290. Makridakis,S.,Wheelwright,S.C.andHyndman,R.J.(1998).Forecasting:Methodand Applications.NewYork:JohnWiley&Sons. McCullagh, P. and Nelder, J.A. (1989). Generalized Linear Models. Second edition. London:ChapmanandHall. Ramsey, J.B. (1969). Tests for Specification Error in Classical Linear Least Squares RegressionAnalysis.JournaloftheRoyalStatisticalSociety,SeriesB,31,350371. Scott,D.W.(1992).MultivariateDensityEstimation.Theory,Practice,andVisualization. NewYork:JohnWileyandSons. Seber, G.A.F. and Wild, C.J. (1989). Nonlinear Regression. New York: John Wiley and Sons.

292

sht90

DaftarPustaka

Sharma,S.(1996).AppliedMultivariateTechniques.NewYork:JohnWiley&Sons. Shumway,R.H.andStoffer,D.S.(2006).TimeSeriesAnalysisandItsApplicationswithR Examples.Secondedition,Springer:NewYork,USA. Silverman, B.W. (1985). Density Estimation for Statistics and Data Analysis. London: ChapmanandHall. Terasvirta, T., Lin, C.F., and Granger, C.W.J. (1993). Power of the neural network linearitytest.JournalofTimeSeriesAnalysis,14,159171. Wand,M.P.andJones,M.C.(1995).KernelSmoothing.London:ChapmanandHall. Wei,W.W.S.(2006).TimeSeriesAnalysis:UnivariateandMultivariateMethods.Second edition,AddisonWesleyPublishingCo.,USA. White,H.(1989).Anadditionalhiddenunittestforneglectednonlinearityinmultilayer feedforward networks. In Proceedings of The International Joint Conference on NeuralNetworks,Washington,DC(pp.451455).SanDiego,CA:SOSPrinting. *BerikutadalahreferensiebookyangdapatdidownloaddiserverCRANRProject Baron, J. and Li, Y. (2003). Notes on the use of R for psychology experiments and questionnaires.DeparmentofPsychology,UniversityofPennsylvania. Bliese,P.(2006).MultilevelModelinginR(2.2):ABriefIntroductiontoR,themultilevel packageandthenlmepackage.Paul.bliese@us.army.mil. Chongsuvivatwong, V. (2006). Analysis of Epidomiological Data Using R and Epicalc. EpidemiologyUnit,PrinceofSongklaUniversity,Thailand. Faraway,J.J.(2002).PracticalRegressionandAnovausingR.www.stat.lsa.umich.edu/ ~faraway/book. Farnsworth,G.V.(2006).EconometricsinR.gfarnsworth@kellogg.northwestern.edu. Maindonald,J.H.(2004).UsingRforDataAnalysisandGraphics:Introduction,Codeand Commentary.CentreforBioinformationScience,AustralianNationalUniversity. Owen, W.J. (2007). The R Guide. Department of Mathematics and Computer Science, UniversityofRichmond. Paradis, E. (2005). R for Beginners. Institut des Sciences de lEvolution, Universite MontpellierII,France. Ricci,V.(2005).FittingDistributionswithR.vito_ricci@yahoo.com. Rossiter, D.G. (2007). Introduction to the R Project for Statistical Computing for use at ITS.http://www.its.nl/personal/rossiter. SeefeldK.andLinder,E.(2007).StatisticsUsingRwithBiologicalExamples.Department ofMathematics&Statistics,UniversityofNewHampshire,Durham,NH. 293

sht90

DaftarPustaka

Venables,W.N.andSmith,D.M.(2007).AnIntroductiontoR.TheRDevelopmentCore Team. Verzani,JA.(2002).SimpleRUsingRforIntroductoryStatistics.www.math.csi.cuny.edu /Statistics/R/simpleR/Simple. Vikneswaran(2005).AnRcompaniontoExperimentalDesign.www.geocities.com/vik

294

sht90

DaftarIndeks

DAFTARINDEKS

abline,166,179 acf,199202 AIC,AICc,225 AkaikesInformationCriterion,lihatAIC Analisis, Cluster,234236 Diskriminan,232233 Faktor,230231 Multivariat,230 Regresi,128157 RuntunWaktu,184229 Variansi,110117 ANOVA,lihatAnalisisVariansi ARIMA,198226 cekdiagnosa,207209 estimasi,205 indentifikasi,199202 musiman,216224 nonmusiman,203216 peramalan,210211 YuleWalker,205 leastsquares,205206 maksimumlikelihood,205206 Bartlett,120121 barchart,5657 binomial,7078 boxandwhiskerplot,5051 BoxJenkinsmethodology,198 chisquaretest,9496 compute,2729 correlation,8890 data,3037 array,30 frame,34 matriks,31 list,37 dataset,2425 dendogram,235 diagram, batang(barchart),5657 batangdandaun,4849 lingkaran(piechart),5758 pencar(scatterplot),5354 direktori,6 diskriminan,232234 linear,233234 distribusi,6179 binomial,7078 diskrit,70 frekuensi,8586 kontinu,62 normal,6269 edit, data,20 eksponensialsmoothing,187197 ganda,195196 sederhana,196197 HoltWinters,189194 entry, data,1618 estimasi, densitas,237241 modelARIMA,205 modellineartergeneralisir,161165 modelnonlinear,256259 regresilinear,128136 FactorAnalysis,230231 factors,42 frame,34 fungsi, distribusi,61,62,69 plot,168180 GeneralizedLinearModel,158165 grafik,4360,168183 setting,182183 GLM,158165

295

sht90

DaftarIndeks

help,1015 searchengine,1214 onlinesearchengine,15 histogram,46 HoltWinters,189194 aditif,189192 multiplikatif,193194 importdata, ASCII,38 EXCEL,20,39 MINITAB,22,41 SPSS,22,41 instalasiR,2 kenormalan, shapirowilk,91 kernel,237240 Epanechnikov,238239 Gaussian,238239 kontingensi,9296 kuantil,62,71 binomial,71 normal,62 lda,233 Levene,121 library,1 linear, model,132137 regresi,128131 lm,132137 logistik, regresi,161165 matriks,31,86 data,31 korelasi,88 mean, plot,55 model,128165,185226,256276 ARIMA,198226 eksponensialsmoothing,187197 linear,132137 lineartergeneralisir,158165 regresilinear,128131 regresinonlinear,256276 trenlinear,185186 multivariat, analisis,230236 nonlinear,256276 model,256262 uji,263276 normal,6269,91 distribusi,6269 nls,259262 operator,279 pacf,199202 paket,1 pemrograman,277291 fungsi,277279 indeks,58 optionalargument,284285 requiredargument,285286 plot,55,58,168180 indeks,58 interaktif,80 ratarata,55 utama,168178 tambahan,179 proporsi,122127 ujiperbedaan,122127 qda,233 QQplot,51 Ramseys,263266 RESET,263266 recode,25 regresi,128157,237248,256262 kernel,241243 linear,128157 nonlinear,256262 nonparametrik,241248 spline,243248 ringkasan,8184 numerik,8184

296

sht90

DaftarIndeks

runtunwaktu,184229 ShapiroWilk,88 SIC,203 spline,221233 basis,227228 Bspline,223225 kubik,226229 SSasympOrig,239240 StemandLeaf,48 summary,7981 tabel,84,89 kontingensi,89 statistika,84 Terasvirta,274276 transformasi,25 dataset,25 ujinonlinearitas,263276 RamseysRESET,263266 Terasvirta,274276 White,267273 ujiproporsi,122127 duasampel,125127 sampeltunggal,122124 ujiratarata,99117 duasampelbebas,102106 sampelberpasangan,107109 sampeltunggal,99101 OnewayANOVA,110114 MultiwayANOVA,115117 ujivariansi,112115 Bartlett,114 duavariansi,112 Levene,115 vektor,30 White,266272 YuleWalker,205

297

sht90

TentangPenulis

TENTANGPENULIS
Suhartono, bekerja sebagai dosen di Jurusan Statistika, Institut TeknologiSepuluhNopember(ITS).IalulusS1StatistikaITSpada tahun 1995 dan mendapat Master of Statistical Analysis and Stochastic Systems dari University of Manchester Institute of Science and Technology (UMIST), UK, tahun 1998. Kemudian ia mendapat Dr pada tahun 2007 di bidang Neural Network for Time Series Forecasting dari Jurusan Matematika, Universitas GadjahMada(UGM).

Bidang penelitian yang banyak dilakukan adalah time series forecasting, neural network for data analysis, spatial time series, dan econometrics time series. Beberapa areaterapanyangmenjadiobyekpenelitiandantelahdilakukanantaralainpemodelan inflasidiIndonesia,turismdiBali,transportasi(kendaraan)dijalantol,hidrologi(debit airdisuatubendungan),danpemodelanpemakaianenergilistrikjangkapendekdisuatu area distribusi. Saat ini ia sedang meneliti tentang model hybrid neural network dan analisiswaveletuntuktimeseriesforecasting,sertamengembangkanmodelintervensi, structural change, dan model variasi kalender yang banyak terjadi di beberapa kasus dataseriesdiIndonesia.

Di Jurusan Statistika ITS, ia saat ini menjadi Kepala Laboratorium Statistik Komputasi. Beberapa mata kuliah yang diampu adalah Analisis Runtun Waktu (Time SeriesAnalysis),AnalisisData,danAnalisisMultivariatdiprogramSarjanadanMagister. Beberapa file untuk pembelajaran Time Series Analysis dan Design of Experiment yang telahiabuatdapatdiaksessecaraonlinepadaopencontentITSmelaluiwww.its.ac.id. Selainitu,karyakaryapenelitianyangtelahialakukandapatjugadiaksessecaraonline padapilihanwebpersonaldosendihomepageITStersebut.

298

You might also like