Modul ADK mei 2011

Download Modul ADK mei 2011

Post on 16-Jul-2015

692 views

Category:

Documents

7 download

Embed Size (px)

TRANSCRIPT

<p>MODUL 1 DISTRIBUSI UNTUK DATA KATEGORI</p> <p>Data kategori setidaknya terdiri atas dua hal yaitu data yang diukur pada skala nominal yang apabila diberikan nilai maka nilainya hanya berfungsi sebagai simbol dan tidak menyatakan urutan dan data yang diukur pada skala nominal yang apabila diberikan nilai memberikan arti urutan tetapi bukan nilai numerik tetapi hanya berupa simbol. Variabel kategori terkadang disebut juga variabel diskrit karena nilainya hanya diperoleh dengan cara mencacah. Dalam Agresti (2007) tiga distribusi utama yang dapat digunakan untuk data kategori yaitu: 1. Binomial yaitu distribusi yang menyatakan banyaknya percobaan yang saling bebas dari percobaan bernoulli yang memiliki hasil biner (terdiri hanya dua kategori: sukses atau gagal). Peluang sukses (p) adalah tetap untuk setiap percobaan dan variabel X menyatakan banyaknya sukses dari seluruh percobaan (n). 2. Multinomial merupakan perluasan dari distribusi binomial akan tetapi mempunyai hasil percobaan lebih dari dua. 3. Poisson adalah distribusi yang menyatakan banyaknya peristiwa yang terjadi dalam waktu yang lama (jangka panjang) yang setiap kejadiannya saling bebas. Dengan kata lain Distribusi Poisson dapat dikatakan sebagai distribusi untuk peristiwa yang jarang terjadi. 1.1 Distribusi Peluang Diskrit dalam R Software R come mendukung banyak distribusi peluang baik diskrit yaitu Poisson, negative binomial, geometric, hypergeometric, dan uniform diskrit. Selain itu juga ada beberapa distribusi-distribusi peluang khusus yang dapat diperoleh dari website CRAN seperti negatifbinomial yang terdapat pada fungsi rnegbin() paket MASS, beta-binomial terdapat pada paket rmutil dan gnlm dan masih banyak lagi. Setiap distribusi peluang mempunyai fungsi untuk memperoleh peluang kumulatif, nilai densitas dan kuantil. Selain itu juga bisa membangkitkan data (random data) dari distribusi 1</p> <p>tersebut. Berikut adalah beberapa fungsi yang dapat digunakan untuk menghitung nilai-nilai dari distribusi di dalam R. Distribusi Binomial dengan peluang sukses p dan banyak percobaan n. &gt; dbinom(x, n, p) # menghitung nilai peluang pada saat P(X = x) &gt; pbinom(x, n, p) # menghitung nilai peluang kumulatif P(X qbinom(p, n, p) # menghitung nilai kuantil ke p &gt; rbinom(N, n, p) # membangkitkan data sebanyak N dari distribusi Binomial</p> <p>Distribusi Poisson dengan parameter lambda &gt; dpois(x, lambda) # menghitung nilai peluang pada saat P(X = x) &gt; ppois(x, lambda) # menghitung nilai peluang kumulatif P(X qpois(p, lambda) # menghitung nilai kuantil ke p &gt; rpois(N, lambda) # membangkitkan data sebanyak N dari distribusi Poisson</p> <p>Distribusi Multinomial dengan vektor peluang p &gt; dmultinom(x, p) &gt; rmultinom(n, size, prob)</p> <p>Contoh: &gt; dbinom(3, size=10, prob=0.25) # P(X = 3) untuk distribusi binomial</p> <p>dengan n=10 dan peluang sukses 0.25 &gt; pbinom(3, size=10, prob=0.25) # P(X prop.test(x, n, p = NULL, alternative = c("two.sided", "less", "greater"), conf.level = 0.95, correct = TRUE)</p> <p>Keterangan:</p> <p>x: adalah vektor banyak sukses atau berupa tabel satu dimensi dengan dua taraf atau tabel dua dimensi (atau matriks) dengn dua kolom berisi banyak sukses dan gagal. n: adalah vektor banyaknya percobaan, diabaikan apabila 'x' adalah matriks atau tabel. p: adalah vektor peluang sukses. Panjang vektor p harus sama dengan banyaknya kelompok yang bersesuaian dengan vektor x dan nilainya harus lebih besar dari nol dan lebih kecil dari 1. alternative: adalah hipotesis alternatif yang digunakan yaitu "two.sided" (default) untuk tidak sama, "greater" untuk lebih besar atau "less"</p> <p>3</p> <p>untuk lebih kecil. Dapat pula menggunakan huruf inisialnya saja. Opsi ini hanya digunakan untuk pengujian satu sampel dengan hipotesis sama dengan nilai tertentu, atau pada pengujian kesamaan dua proporsi.</p> <p>conf.level: adalah derajat kepercayaan yang digunakan. Nilainya harus antara 0 dan 1. Opsi ini hanya digunakan untuk pengujian satu sampel dengan hipotesis sama dengan nilai tertentu, atau pada pengujian kesamaan dua proporsi.</p> <p>correct: berisi TRUE atau FALSE yang mengindikasikan 'Yates' continuity correction yang digunakan apabila memungkinkan.</p> <p>Nilai-nilai yang dapat diperoleh dari fungsi ini adalah</p> <p>statistic: adalah nilai statistik uji chi-kuadrat Pearson's .</p> <p>parameter: adalah derajat kebebasan yang digunakan pada statistik uji yang mengikuti distribusi chi-kuadrat.</p> <p>p.value: adalah nilai 'p-value' pengujian.</p> <p>estimate: adalah vektor dengan proporsi sampel x/n.</p> <p>conf.int: adalah selang kepercayaan untuk proporsi satu sampel atau untuk perbedaan proporsi dua sampel Selang kepercayaan untuk proporsi dihitung dengan derajat kepercayaan sebesar conf.level yang telah didefinisikan.</p> <p>null.value: adalah nilai spesifik p pada hipotesis nol.</p> <p>alternative: adalah hipotesis alternatif yang digunakan.</p> <p>method: adalah metode yang digunakan dan melliputi Yates' continuity correction yang digunakan.</p> <p>data.name: adalah nama dari data yang digunakan.</p> <p>4</p> <p>Contoh Pengamat ekonomi memiliki dugaan bahwa 70% perusahaan besar di Indonesia dimiliki oleh warga negara asing. Untuk membuktikan dugaannya, diambil sampel acak 210 perusahaan yang digolongkan perusahaan besar. Dari 210 perusahaan besar sebanyak 130 perusahaan dimiliki oleh Orang Asing. Dengan tingkat signifikansi sebesar 0.05 Lakukan pengujian hipotesisnya! &gt; prop.test(130, 210, 0.7, conf.level=0.95) 1-sample proportions test with continuity correction data: 130 out of 210, null probability 0.7 X-squared = 6.1735, df = 1, p-value = 0.01297 alternative hypothesis: true p is not equal to 0.7 95 percent confidence interval:</p> <p>0.5493720 0.6842925 sample estimates: p 0.6190476</p> <p>Karena p-value lebih kecil dari 0.05 maka hipotesis ditolak. Artinya, proporsi sampel tidak sama dengan 0.7 sehingga kesimpulannya tidak cukup alasan untuk setuju dengan pendapat ahli ekonomi tersebut dengan keyakinan 95%. Pengujian proporsi dalam software R merupakan pengujian proporsi menggunakan uji chi-kuadrat. Pendekatan lain untuk menguji proporsi adalah menggunakan statistik uji Z. Secara default R tidak menyediakan uji proporsi menggunakan statiistik Z. tetapi dalam R dimungkinkan untuk membuat fungsi yang dapat digunakan untuk menguji proporsi dengan statistik uji Z. Berikut adalah contoh pembuatan fungsi pengujian proporsi satu sampel. &gt; ztes.prop prop=x/n &gt; alpha=1-conf.level &gt; zstar=qnorm(1-alpha/2) &gt; SE=(prop*(1-prop)/n)^0.5 &gt; zhitung=(prop-p)/SE &gt; pvalue=1-pnorm(abs(zhitung)) &gt; BB=(prop1-prop2)-zstar*SE</p> <p>5</p> <p>&gt; BA=(prop1-prop2)+zstar*SE &gt; Ringkasan zhitung=c(zhitung),pvalue=c(pvalue),BatasAtas=c(BA),BatasBawah=c(BB)) &gt; Ringkasan$Kesimpulan=0.05,c("H0 Diterima"),c("Ho Ditolak")) &gt; print(Ringkasan) &gt;}</p> <p>Fungsi tersebut dapat dipanggil dengan cara sebagai berikut: &gt; ztes.prop(130,210,0.7,0.95) # kasus satu sampel</p> <p>1.3 Pengujian Proporsi Dua Sampel Digunakan untuk membandingkan proporsi dua sampel. Dalam R masih menggunakan prop.test dengan syntax sebagai berikut &gt;prop.test(c(a,b),c(n1,n2))</p> <p>keterangan: a adalah banyaknya kategori A dalam sampel 1 b adalah banyaknya kategori A dalam sampel 2 n1 adalah ukuran sampel 1 n2 adalah ukuran sampel 2 Contoh Suatu kegiatan survey dilakukan sebanyak dua kali untuk mengetahui apakah ada perbedaan pilihan masyarakat terhadap calon tertentu dalam pemilihan presiden. Data disajikan sebagai berikut: Minggu ke 1 Minggu ke 2 Memilih 45 56</p> <p>Tidak Memilih 35 47 6</p> <p>Dengan tingkat signifikansi 5% lakukan pengujian apakah terdapat perbedaan proporsi minggu 1 dan minggu 2 &gt; prop.test(c(45,56),c(45+35,56+47))</p> <p>2-sample test for equality of proportions with continuity correction</p> <p>data: c(45, 56) out of c(45 + 35, 56 + 47)</p> <p>X-squared = 0.0108, df = 1, p-value = 0.9172</p> <p>alternative hypothesis: two.sided</p> <p>95 percent confidence interval:</p> <p>-0.1374478 0.1750692</p> <p>sample estimates:</p> <p>prop 1 prop 2</p> <p>0.5625000 0.5436893</p> <p>Karena p-value lebih besar dari 0.05 maka hipotesis diterima. Artinya, proporsi sampel 1 tidak berbeda dengan sampel 2 sehingga kesimpulannya dengan keyakinan 95% sampel 1 tidak berbeda nyata dengan sampel 2. Seperti pada kasus satu asmpel pengujian proporsi dalam software R merupakan pengujian proporsi menggunakan uji chi-kuadrat. Pendekatan lain untuk menguji proporsi adalah menggunakan statistik uji Z. Secara default R tidak menyediakan uji proporsi menggunakan</p> <p>statiistik Z. tetapi dalam R dimungkinkan untuk membuat fungsi yang dapat digunakan untuk menguji proporsi dengan statistik uji Z. Berikut adalah contoh pembuatan fungsi pengujian proporsi dua sampel. &gt; ztes.prop2 prop1=x1/n1;prop2=x2/n2 &gt; alpha=1-conf.level &gt; zstar=qnorm(1-alpha/2) &gt; SE=(prop1*(1-prop1)/n1+prop2*(1-prop2)/n2)^0.5 &gt; zhitung=(prop1-prop2)/SE &gt; pvalue=1-pnorm(abs(zhitung)) &gt; BB=(prop1-prop2)-zstar*SE &gt; BA=(prop1-prop2)+zstar*SE &gt;Ringkasan zhitung=c(zhitung),pvalue=c(pvalue),BatasAtas=c(BA),BatasBawah=c(BB)) &gt; Ringkasan$Kesimpulan=0.05,c("H0 Diterima"),c("Ho Ditolak")) &gt; print(Ringkasan) &gt;}</p> <p>Fungsi tersebut dapat dipanggil dengan cara sebagai berikut: &gt; ztes.prop2(45,56,80,103,0.95) # kasus dua sampel</p> <p>8</p> <p>MODUL 2 TABEL KONTINGENSI</p> <p>2.1. Pendahuluan Dalam modul ini akan dijelaskan mengenai asosiasi antara dua variabel dalam tabel kontingensi. Pembahasan meliputi pada selang kepercayaan (Confidence intervals), odds ratio dan resiko relatif (relative risk), pengujian perbedaan proporsi dan uji independensi menggunakan pendekatan normal (untuk sampel besar) atau prosedur Wolf. Secara umum untuk tabel kontingensi I x J, pengujian independensi variabel baris dan kolom menggunkan uji chi kuadrat termasuk statistik rasio kemungkinan (likelihood ratio statistic) dan statistik Chi-Kuadrat Pearson. Sebagai catatan apabila variabel baris dan kolom mempunyai kategori order maka yang digunakan pada hipotesis alternatif adalah trend. 2.2 Input Tabel Kontingensi dalam Software R Ada banyak cara untuk membuat tabel kontingensi didalam software R. Setidaknya ada tiga cara dapat dilakukan untuk membentuk tabel kontingensi untuk contoh berikut mengenai penelitian kepercayaan seseorang mengenai adanya kehidupan setelah kematian (akhirat). Data disajikan dalam pada tabel berikut ini Tabel 2.1 Kepercayaan akan Kehidupan Setelah Kematian Percaya Tidak Percaya Jumlah Laki-Laki 375 134 509 Perempuan 435 147 582 Jumlah 810 281 1091 (1) Menggunakan fungsi Matrix Cara pertama menginputkan data tersebut kedalam software R adalah menggunakan fungsi matriks yaitu dengan menganggap bahwa tabel tersebut adalah sebuah matriks, cara ini sama dengan menggunakan fungsi array. 9</p> <p>&gt; afterlife afterlife</p> <p>[,1] [,2] [1,] 375 134 [2,] 435 147</p> <p>Tentu saja matriks diatas tidak menggambarkan apa-apa sehingga kita beri nama masing-masing kolom dan berisnya. &gt; dimnames(afterlife) afterlife</p> <p>Percaya Tidak Laki-laki 375 134 Perempuan 435 147</p> <p>Selain itu kita juga bisa memberikan nama variabel (atau faktor) dari kolom dan barisnya dengan cara sebagai berikut: &gt; names(dimnames(afterlife)) afterlife</p> <p>Kepercayaan JK Percaya Tidak</p> <p>Laki-laki 375 134</p> <p>Perempuan 435 147</p> <p>Berikutnya yang dapat dilakukan adalah menghitung proporsi masing-masing sel terhadap total sampel (n) secara keseluruhan (pij).</p> <p>&gt; tot tot</p> <p>[1] 1091 &gt; afterlife/tot</p> <p>10</p> <p>Kepercayaan</p> <p>JK Percaya Tidak Laki-laki 0.3437214 0.1228231 Perempuan 0.3987168 0.1347388</p> <p>Untuk menghitung total masing-masing kolom (ni.) dan total masing-masing baris (n.j) dapat menggunakan fungsi apply. Penjelasan mengenai fungsi apply adalah sebagai berikut Deskripsi:</p> <p>Menghasilkan sebuah vektor yang berisi nilai-nilai yang diperoleh dengan menghitung sesuatu berdasarkan fungsi atas bagian dari array atau matrik</p> <p>Penggunaan:</p> <p>apply(X, MARGIN, FUN, ...)</p> <p>Keterangan:</p> <p>X: sebuah array, termasuk matriks. MARGIN: sebuah vektor yang menunjukkan indeks yang akan di hitung dari fungsinya '1' berarti baris, '2' berarti kolom dan 'c(1,2)' berarti baris dan kolom.</p> <p>FUN: Fungsi yang akan digunakan seperti '+, %*%', 'sum' dan lain-lain.</p> <p>Hasil: Apabila pada setiap memanggil 'FUN' menghasilkan sebuah vektor dengan 'n' elemen, maka 'apply' menghasilkan array berdimensi c(n, dim(X)[MARGIN]) apabila n &gt; 1. Jika 'n = 1' fungsi 'apply' akan menghasilkan vektor</p> <p>jika 'MARGIN' mempunyai panjang 1 dan array berdimensi dim(X)[MARGIN] jika selainnya. Apabila n bernilai '0' maka hasil yang diperoleh akan berdimensi '0' juga. Jika saat memanggil 'FUN' menghasilkan vektor-vektor berdimensi berbeda, fungsi 'apply' akan menghasilkan list dari prod(dim(X)[MARGIN]) dengan dim di set sama dengan MARGIN jika panjangnya lebih besar dari satu.</p> <p>11</p> <p>Sedangkan untuk menghitung proporsi sel terhadap ni. (pi.) dan proporsi sel terhadap (p.j) dapat menggunakan fungsi sweep. Berikut penjelasan mengenai fungsi tersebut Deskripsi: Menghasilkan sebuah array yang diperoleh dari input array dengan melakukan 'sweeping' (penyapuan) ringkasan statistik. Penggunaan: sweep(x, MARGIN, STATS, FUN="-", check.margin=TRUE, ...) Keterangan:</p> <p>x: sebuah array. MARGIN: sebuah vektor yang mengindikasikan tingkatan dari 'x' yang berkaitan dengan STATS. STATS: ringkasan statistik yang akan digunakan. FUN: Sebuah fungsi yang akan digunakan dalam penyapuan. Dalam kasus operator biner seperti / dan lain-lain, nama fungsi harus menggunakan tanda kutip. check.margin: Bernilai TRUE (default), atau 'FALSE' Hasil: Sebuah array dengan bentuk yang sama dengan 'x' tetapi berisi hasil</p> <p>penyapuan menggunakan ringkasan statistik</p> <p>Adapun penggunaan kedua fungsi tersebut pada data adalah sebagai berikut &gt; totBaris totKolom totBaris</p> <p>12</p> <p>Laki-laki Perempuan</p> <p>509 582 &gt; totKolom Percaya Tidak</p> <p>810 281 &gt; (Prop.Baris round(Prop.Baris,3) Kepercayaan</p> <p>JK Percaya Tidak Laki-laki 0.737 0.263 Perempuan 0.747 0.253</p> <p>&gt; (Prop.Kolom round(Prop.Kolom,3) Kepercayaan</p> <p>JK Percaya Tidak Laki-laki 0.463 0.477 Perempuan 0.537 0.523</p> <p>(2) Menggunakan Data Frame Salah satu struktur data yang sering digunakan dalam R adalah data frame, untuk tabel kontingensi dalam bentuk data frame dapat memperlakukan variabel baris dan variabel kolom sebagai faktor. Pendekatan ini sebenarnya lebih tepat apabila data disimpan dalam file terpisah yang dapat dibaca di R. Baris-baris berikut adalah contohnya &gt; JK Kepercayaan Jumlah afterlife afterlife JK Kepercayaan Jumlah 1 Wanita Ya 435 2 Wanita Tidak 147 3 Pria Ya 375 4 Pria Tidak 134 &gt; rm(JK,Kepercayaan,Jumlah) # tidak dibutuhkan lagi</p> <p>Kita dapat membuat tabel kontingensi dengan memperlakukan data frame sebagai matriks atau menggunakan fungsi tapply dengan cara sebagai berikut: &gt; attach(afterlife) # mengunakan data frame afterlife &gt; beliefs beliefs</p> <p>Tidak Ya Wanita 147 435 Pria 134 375 &gt; detach(afterlife) # Kalau data tidak lagi dibutuhkan &gt; names(dimnames(beliefs)) beliefs</p> <p>Kepercayaan JK Tidak Ya Wanita 147 435 Pria 134 375 &gt; beliefs beliefs</p> <p>Kepercayaan JK Ya Tidak Wanita 435 147 Pria 375 134</p> <p>2.3 Membandingkan Proporsi Tabel 2 x 2</p> <p>Secara umum data dapat di sajikan dalam berbagai c...</p>