Pendugaan Kepekatan Data Nilai Akhir Mahasiswa Julio Adisantoso — G16109011/STK 7 Mei 2010 Ringkasan Diketahui data pengamatan dari sebaran dengan fungsi kepekatan f yang tidak diketahui. Fungsi f dapat diduga dengan pendekatan non-parametrik, dimana fungsi f diasumsikan merupakan fungsi yang mulus sehingga dapat diduga dengan menggunakan penduga kernel. Tingkat kemulusan fungsi penduga ditentukan oleh parameter pemulus, yaitu lebar jendela dan fungsi kernel. Lebar jendela sangat menentukan tingkat kemulusan fungsi penduga. Semakin besar lebar jendela yang digunakan, maka semakin mulus fungsi penduganya. Sedangkan fungsi kernel yang digunakan tidak banyak mempengaruhi tingkat kemulusan fungsi penduga.
1
Pendahuluan
Proses analisis data pada prinsipnya merupakan upaya menelusuri dan mengungkapkan informasi yang relevan yang terkandung di dalam data melalui struktur dan pola data serta penyajian hasil dalam bentuk yang lebih ringkas dan sederhana. Penelusuran struktur data bertujuan untuk memeriksa apakah suatu data dapat membentuk suatu model tertentu, sedangkan penelusuran pola data bertujuan untuk memeriksa bagaimana sebaran data. Salah satu cara untuk memeriksa sebaran data adalah dengan menentukan fungsi kepekatan peluang (fkp) atau probability density function (pdf). Misalkan {Xi , i = 1, 2, ..., n} adalah data pengamatan yang saling bebas yang memiliki fungsi kepekatan peluang f (x). Untuk menduga f (x) dapat dilakukan dengan dua pendekatan, yaitu parametrik dan non-parametrik (Silverman, 1986). Pendekatan parametrik dilakukan jika fungsi f (x) diketahui sehingga pendugaannya dapat dilakukan dengan menduga parameter fungsi. Sedangkan pendekatan non-parametrik dilakukan jika fungsi f (x) tidak diketahui. Ada beberapa metode non-parametrik yang dapat dilakukan untuk menduga fungsi kepekatan peluang. Salah satu metode klasik yang paling popular adalah histogram. Metode lainnya adalah dengan menggunakan fungsi Kernel. Untuk memahami proses pendugaan fungsi kepekatan peluang, dilakukan analisis data menggunakan metode histogram dan fungsi Kernel. Beberapa karakteristik dari kedua metode tersebut dicobakan agar dapat dilakukan pembandingan dari masing-masing metode.
2
Bahan dan Metode
Data yang dianalisis adalah nilai akhir dari 524 mahasiswa IPB semester ganjil tahun akademik 2008/2009 untuk mata pelajaran Algoritme dan Pemrograman. Data dianalisis menggunakan metode histogram pada beberapa kelas dan fungsi Kernel pada beberapa bandwidth. Program yang digunakan untuk menganalisis data adalah R versi 2.10.1.
1
Julio Adisantoso — G161090011/STK
3 3.1
2
Tinjauan Teoritis Histogram
Misalkan {Xi , i = 1, 2, ..., n} adalah data pengamatan yang saling bebas. Metode klasik yang paling populer untuk mengetahui bentuk fungsi kepekatan peluang adalah metode histogram. Suatu histogram disusun dengan meletakkan titik-titik data ke dalam suatu bin atau kelas. Setiap bin dinyatakan secara grafik oleh segiempat dengan lebar sama dan tinggi proporsional dengan banyaknya titik-titik data yang terletak dalam bin tersebut. Bin ditentukan dengan memilih titik awal x0 dan lebar bin atau pita (binwidth) h. Untuk sembarang bilangan bulat m, suatu bin mencakup interval atau selang setengah terbuka [x0 + mh, x0 + (m + 1)h). Nilai penduga histogram di sembarang titik x dapat dinyatakan sebagai 1 (banyaknya Xi dalam bin yang sama dengan x) fb(x) = nh Tidak ada ketentuan untuk memilih nilai bin h. Namun demikian, pemilihan nilai bin h yang kecil akan mengakibatkan histogram memuat banyak batang yang kecil-kecil, sedangkan pemilihan nilai bin h yang besar akan mengakibatkan histogram memuat sedikit batang yang besar-besar.
3.2
Penduga Naive
Dari definisi kepekatan peluang, jika peubah acak X memiliki fungsi kepekatan f , maka f (x) = lim
h→0
1 P (x − h < X < x + h) 2h
Untuk setiap nilai h, nilai P (x − h < X < x + h) dapat diduga dengan proporsi sampel yang terletak pada selang (x − h, x + h). Dengan demikian, penduga fungsi kepekatan fb dapat diperoleh dengan memilih nilai h yang kecil dan 1 fb(x) = [banyaknya X1 , ..., Xn yang terletak pada selang (x − h, x + h)] 2hn Penduga ini disebut sebagai penduga naive (naive estimator ). Untuk menyatakan penduga secara lebih nyata, didefinisikan fungsi pembobot w sebagai berikut 1 jika |x| < 1 2 w(x) = 0 selainnya Oleh karena itu, penduga naive dapat dituliskan sebagai n
1X1 fb(x) = w n i+1 h
x − Xi h
(1)
Formula (1) menunjukkan bahwa penduga dibuat dengan menempatkan ’kotak’ dengan lebar 2h dan tinggi (2nh)−1 untuk setiap observasi kemudian menjumlahkannya untuk memperoleh penduga yang diinginkan.
3.3
Penduga Kernel
Suatu fungsi K(.) disebut fungsi Kernel jika K merupakan fungsi kontinu, simetris, bernilai bilangan nyata, terhingga, dan Z Z Z K(t)dt = 1, tK(t)dt = 0, t2 K(t)dt = k2 6= 0. (2)
Julio Adisantoso — G161090011/STK
3
Umumnya, tetapi tidak selalu, K merupakan fungsi kepekatan peluang normal, atau fungsi pembobot w yang menggunakan definisi penduga naive. Dengan cara yang sama dengan definisi dari penduga naive, penduga Kernel dengan kernel K didefinisikan sebagai n
1 X K fb(x) = nh i=1
x − Xi h
(3)
dimana h adalah lebar jendela, dan sering disebut sebagai parameter pemulus atau bandwidth. Ada beberapa kernel K(t) yang dapat digunakan sebagai tingkat pemulusan, antara lain Epanechnikov, Biweight, Triangular, Gaussian, dan Rectangular. Gambar 1 menunjukkan kurva beberapa fungsi kernel, sedangkan fungsi kernel seperti tercantum pada persamaan (4). K(x, p) =
(1 − x2 )p , | x |< 1 + 1, p + 1)
22p+1 B(p
(4)
dimana B(a, b) = Γ(a)Γ(b) Γ(a+b) . Jika p = 0 maka persamaan (4) merupakan kernel Uniform, p=1 menjadi kernel Epanechnikov, dan p=2 menjadi kernel Biweight.
Gambar 1: Kurva Beberapa Fungsi Kernel Kinerja suatu kernel dapat diukur dengan MISE (mean integrated squared error ) atau AMISE (asymptotic MISE ). Kernel Epanechnikov mampu meminimumkan AMISE sehingga optimal (Scheid, 2004). Oleh karena itu, efisiensi suatu kernel diukur dengan cara membandingkan dengan kernel Epanechnikov seperti yang tercantum pada persamaan (5). Tabel 1 menunjukkan beberapa fungsi kernel dan nilai efisiensinya. 5/4 C(Ke ) C(K) Z −1/2 Z −1 3 √ t2 K(t)dt K(t)2dt 5 5
eff(K)
= =
3.4
(5)
Memilih parameter pemulus
Menurut Silverman (1986), tingkat kemulusan fb ditentukan oleh fungsi kernel K dan lebar jendela h, tetapi pengaruh fungsi kernel K kurang signifikan dibanding pengaruh lebar jendela h. Nilai h yang kecil akan memberikan grafik yang kurang mulus, sebaliknya nilai h yang besar akan memberikan grafik yang sangat mulus. Oleh karena itu, perlu dipilih nilai h optimal untuk mendapatkan grafik optimal. Salah satu cara memilih parameter pemulus h optimal menurut
Julio Adisantoso — G161090011/STK
4
Tabel 1: Beberapa kernel dan nilai efisiensinya Kernel
K(t)
Epanechnikov
Efisiensi
3 1 2 t ) 4 (1− √5
5
, untuk |t| <
√
5
1
15 16 (1
Triangular
1 − |t|, untuk |t| < 1
243 250
21
≈ 0.9859
Gaussian
2 √1 e−(1/2)t 2π
26π 125
12
≈ 0.9512
Rectangular
1 2,
108 125
21
≈ 0.9295
− t2 )2 , untuk |t| < 1
untuk |t| < 1
3087 3125
21
Biweight
≈ 0.9939
1
Hardle (1990) adalah dengan meminimalkan IMSE dari fb. Dengan cara ini diperoleh hopt ≈ n− 5 . 1 Jika f ∈ C 2 maka hopt ≈ n− (2r+1) , dimana C adalah konstanta. Banyak metode yang dapat digunakan untuk menentukan parameter pemulus, antara lain adalah metode subyektif dan referensi sebaran baku. 3.4.1
Metode subyektif
Metode sederhana untuk menentukan parameter pemulus adalah memplot beberapa kurva dan menentukan penduga yang paling sesuai. Proses ini dilakukan secara subyektif melalui pengamatan pada beberapa plot dari data yang semuanya dimuluskan dengan menggunakan beberapa fungsi kernel dan bandwidth yang berbeda-beda. 3.4.2
Referensi sebaran baku
Pendekatan yang lebih mudah adalah menggunakan keluarga sebaran baku untuk menentukan R nilai f ”(x)2dx pada persamaan (2) untuk lebar jendela yang ideal. Sebagai contoh, sebaran normal dengan ragam σ 2 , tentukan φ untuk fungsi kepekatan normal baku, Z Z f ”(x)2dx = σ −5 φ”(x)2dx =
3 −1/2 −5 π σ ≈ 0.212σ −5 8
(6)
Jika digunakan kernel Gaussian, maka lebar jendela (bandwidth) diperoleh dari persamaan (6) menjadi hopt
=
(4π)−1/10
3 −1/2 π 8
−1/5
σn−1/5
1/5 4 = σn−1/5 = 1.06σn−1/5 3
(7)
Pada program R, persamaan (7) dikenal sebagai lebar jendela ”nrd”. Hasil yang lebih baik diperoleh dengan menggunakan selang antar kuartil R untuk sebaran normal, sehingga persamaan (7) menjadi hopt = 0.79Rn−1/5 (8)
Julio Adisantoso — G161090011/STK
5
Untuk data yang memiliki bimodal, maka persamaan (8) diganti dengan minimum dari standar deviasi dan selang antar kuartil per 1.34, sehingga lebar jendela menjadi hopt = 0.9An−1/5
(9)
dimana A = min(σ, (Q3 − Q1 )/1.34), Q3 adalah kuartil ke-3, dan Q1 adalah kuartil ke-1. Pada program R, persamaan (9) dilambangkan dengan lebar jendela ”nrd0”. Lebar jendela ”nrd” dan ”nrd0” mengasumsikan bahwa f adalah normal, sehingga akan menyebabkan oversmooth jika data menunjukkan multimodal atau f tidak normal. Metode lainnya adalah Unbiased cross-validation atau Least-squares cross validation, yang pada program R dilambangkan dengan ”ucv”. Sedangkan Biased cross-validation pada program R dilambangkan dengan ”bcv”.
4
Percobaan
Seperti yang telah dijelaskan sebelumnya, data yang dianalisis adalah nilai akhir dari 524 mahasiswa IPB semester ganjil tahun akademik 2008/2009 untuk mata pelajaran Algoritme dan Pemrograman. Tabel 2 menunjukkan ringkasan statistik deskripsi data yang dianalisis, sedangkan diagram dahan-daun diperlihatkan pada Gambar 2. Tabel 2: Statistik deskripsi data Min. -4.80
1st Qu. 29.10
Median 38.57
Mean 41.67
3rd Qu. 53.99
Max. 96.28
Berdasarkan Tabel 2 dan Gambar 2 terlihat bahwa data memiliki dua maksimum lokal (bimodal). Hal ini juga dapat dilihat pada histogram yang tercantum pada Gambar 3, dimana histogram sebelah kiri menggunakan banyaknya kelas menurut metode Sturges, yaitu 1 + 3.3log(n), sedangkan histogram sebelah kanan menggunakan breaks=15.
Gambar 2: Diagram Dahan dan Daun Nilai Mahasiswa
Julio Adisantoso — G161090011/STK
6
Nilai Mahasiswa(breaks=15)
0.015
Density
0.000
0.000
0.005
0.005
0.010
0.010
Density
0.015
0.020
0.020
0.025
0.025
Nilai Mahasiswa(breaks=Sturges)
0
20
40
60
80
100
0
20
40
Nilai
60
80
100
Nilai
Gambar 3: Histogram nilai Algoritme dan Pemrograman
4.1
Lebar Jendela
Pendugaan fungsi kepekatan dari data dilakukan dengan menggunakan fungsi kernel Gaussian untuk lebar jendela (h) yang berbeda-beda, yaitu h=0.5, 1, 2, 4, 6, dan 8, dan hasilnya dicantumkan pada Gambar 4. Dari tampilan Gambar 4 terlihat bahwa semakin besar h maka semakin mulus pendugaan fungsi kepekatannya. Pada h = 8 terlihat bahwa pendugaan fungsi kepekatannya mendekati data sebenarnya.
60
80
100
0.020 Density 0
20
40
60
80
100
0
40
60
Density Estimation (h=4)
Density Estimation (h=6)
Density Estimation (h=8)
60 Nilai
80
100
100
80
100
Density
0.010 0.000
Density
0.000 40
80
0.020
Nilai
0.020
Nilai
0.010
20
20
Nilai
0.000
0
0.010 0.000
Density
0.010 0.000
40
0.010
Density
0.010 0.000
20
0.020
0
Density
Density Estimation (h=2)
0.020
Density Estimation (h=1)
0.020
Density Estimation (h=0.5)
0
20
40
60 Nilai
80
100
0
20
40
60 Nilai
Gambar 4: Pendugaan kepekatan dengan lebar jendela berbeda-beda Penentuan lebar jendela untuk fungsi kernel Gaussian dapat dilakukan dengan menggunakan pemilih bandwidth ”bcv”, ”nrd0”, ”nrd”, ”ucv”, dan ”SJ” pada program R. Untuk data yang dianalisis, diperoleh lebar jendela untuk masing-masing pemilih bandwidth seperti tercantum pada Tabel 3, dan hasilnya seperti terlihat pada Gambar 5. Setiap nilai h yang terpilih pada Tabel 3 tidak memperlihatkan perbedaan penduga kepekatan yang nyata, tetapi pada h=”SJ” (Sheather & Jones) terlihat penduga kepekatannya lebih menyerupai data sebenarnya.
Julio Adisantoso — G161090011/STK
7
Tabel 3: Nilai bandwidth selector untuk kernel Gaussian bcv 3.670768
nrd0 4.779971
nrd 5.629744
60
80
100
0.020 Density
0.000 0
20
40
60
80
100
0
40
60
Bandwidth:ucv
Bandwidth:Sj−ste
Bandwidth:SJ−dpi
60
80
100
100
80
100
Density
0.010 0.000
Density 40
80
0.020
Nilai
0.020
Nilai
0.000 20
20
Nilai
0.010
0
0.010
0.020 Density
0.010 0.000
40
0.000
Density
Bandwidth:nrd
0.010
Density
0.010 0.000
20
0.020
0
SJ 3.329436
Bandwidth:nrd0
0.020
Bandwidth:bcv
ucv 3.097539
0
20
40
Nilai
60
80
100
0
20
40
Nilai
60 Nilai
Gambar 5: Pendugaan kepekatan dengan kernel Gaussian untuk h berbeda
4.2
Fungsi Kernel
Pemilihan nilai h sangat menentukan kemulusan dari hasil pendugaan fungsi kepekatannya. Hal ini tidak terjadi pada pemilihan fungsi kernel yang berbeda-beda untuk lebar jendela yang sama. Untuk melihat pengaruh fungsi kernel, dicobakan tujuh fungsi kernel, yaitu Gaussian, Epanechnikov, Rectangular, Triangular, Biweight, dan Cosine. Hasil percobaan ini dicantumkan pada Gambar 6. Kernel Rectangular menghasilkan penduga yang paling tidak mulus dibanding kernel lainnya.
60
80
100
0.020 Density 0
20
40
60
80
100
0
40
60
Kernel:TRIANGULAR
Kernel:BIWEIGHT
Kernel:COSINE
60 Nilai
80
100
100
80
100
Density
0.010 0.000
Density
0.000 40
80
0.020
Nilai
0.020
Nilai
0.010
20
20
Nilai
0.000
0
0.010 0.000
Density
0.010 0.000
40
0.010
Density
0.010 0.000
20
0.020
0
Density
Kernel:RECTANGULAR
0.020
Kernel:EPANECHNIKOV
0.020
Kernel:GAUSSIAN
0
20
40
60 Nilai
80
100
0
20
40
60 Nilai
Gambar 6: Pendugaan kepekatan dengan kernel berbeda
Julio Adisantoso — G161090011/STK
5
8
Kesimpulan
Dari teori yang mendasari pendugaan fungsi kepekatan dan hasil percobaan yang dilakukan, dapat disimpulkan bahwa untuk menduga fungsi kepekatan f (x) jika informasi tentang model sebaran dari X tidak diketahui, dapat dilakukan dengan menggunakan pendekatan nonparametrik. Salah satu pendekatan non-parametrik adalah menggunakan teknik pemulus kernel. Tingkat kemulusan fungsi penduga ditentukan oleh parameter pemulus, yaitu lebar jendela dan fungsi kernel. Semakin besar lebar jendela yang digunakan, maka semakin mulus fungsi penduganya. Hal ini juga berlaku sebaliknya, yaitu semakin kecil lebar jendela yang digunakan, maka fungsi penduganya semakin tidak mulus. Parameter pemulus berupa lebar jendela ini sangat menentukan tingkat kemulusan fungsi penduga. Hal ini tidak terjadi pada pemilihan fungsi kernel.
6
Daftar Pustaka
Hansen, B.E. 2004. Nonparametric Conditional Density Estimation. University of Wisconsin. Hardle,W. 1990. Smoothing Techniques With Implementation in S. Springer-Verlag. New York Scheid, S. 2004. Introduction to Kernel Smoothing. Chapman & Hall. Silverman, B.W. 1986. Density Estimation for Statistics and Data Analysis. J.W. Arrowsmith Ltd, Bristol. Suparti & Sudargo. 2006. Estimasi Densitas Mulus dengan Metode Kernel. LONTAR, Vol. 20 No.1 ,April 2006, ISSN 0853-0041. Venables, W.N & D.M. Smith. 2009. An Introduction to R: A Programming Environment for Data Analysis and Graphics, Version 2.10.1 (2009-12-14). The R Development Core Team.
Julio Adisantoso — G161090011/STK
7
Lampiran Perintah-perintah R yang digunakan untuk analisis data nilai <- read.csv(file=”algor.csv”, header=TRUE, sep=”,”) x <- nilai$NILAI par(mfrow = c(1, 2)) hist(x, breaks=”Sturges”, freq=FALSE, xlab=”Nilai”) hist(x, breaks=15, freq=FALSE, xlab=”Nilai”) par(mfrow = c(2, 3)) lebar <- c(0.5, 1, 2, 4, 6, 8) for (i in 1:6) { hist(x, breaks=15, freq=FALSE, xlab=”Nilai”) lines(density(x, bw=lebar[i]), col=’red’) }
b <- c(”bcv”, ”nrd0”, ”nrd”, ”ucv”, ”SJ-ste”, ”SJ-dpi”) b.h <- c(bw.bcv(x), bw.nrd0(x), bw.nrd(x), bw.ucv(x), bw.SJ(x)) judul <- c(”Bandwidth:bcv”, ”Bandwidth:nrd0”, ”Bandwidth:nrd”, ”Bandwidth:ucv”, ”Bandwidth:Sj-ste”, ”Bandwidth:SJ-dpi”) par(mfrow = c(2, 3)) for (i in 1:6) { hist(x, breaks=15, xlab=”Nilai”, freq=FALSE, main=judul[i]) lines(density(x, bw=b[i], col=’red’) }
k <- c(”gaussian”, ”epanechnikov”, ”rectangular”, ”triangular”, ”biweight”, ”cosine”) judul <- c(”Kernel:GAUSSIAN”, ”Kernel:EPANECHNIKOV”, ”Kernel:RECTANGULAR”, ”Kernel:TRIANGULAR”, ”Kernel:BIWEIGHT”, ”Kernel:COSINE”) par(mfrow = c(2, 3)) for (i in 1:6) { hist(x, breaks=15, xlab=”Nilai”, freq=FALSE, main=judul[i]) lines(density(x, kernel=k[i]), col=’red’) }
9