STK643 PEMODELAN NON-PARAMETRIK Pendugaan Fungsi Kepekatan MATERI 1. Pendahuluan • • Mengapa pemodelan nonparametrik Penerapan pemodelan nonparametrik (Eksplorasi data dan Inferensia) 2. Pendugaan fungsi kepekatan peubah tunggal • • Metode Histogram (Naive Histogram) Metode Kernel 3. Pendugaan fungsi kepekatan peubah ganda 4. Penerapan pendugaan fungsi kepekatan 5. Pemodelan nonparametrik • • Pemulusan plot tebaran Metode pemulus Kernel 6. Pemodelan nonparametrik peubah ganda 7. Regresi Spline 8. Model aditif METODE HISTOGRAM • Deskripsi tentang penyebaran, kemiringan atau kemenjuluran, dan kemungkinan adanya modus ganda ο Histogram • Gambaran perilaku data sebagai komponen penting dalam analisis data • Pola data ideal yang simetrik tidak selalu tergambarkan secara baik ο Metode Pendugaan Nonparametrik ο Pemulusan METODE HISTOGRAM • Data contoh acak x1 , x2 , ... , xn • Fungsi teoritik bersifat kontinu dan memiliki turunan sedangkan fungsi empirik bersifat diskrit (terputus-putus) HISTOGRAM • Fungsi kepekatan menjelaskan sebaran suatu peubah X dan peluang P(a<X<b) dapat dituliskan sebagai berikut: π π π<π<π = π π’ ππ’ π • Penduga nonparametrik fungsi kepekatan berdasarkan definisi berikut: π πΉ π₯ + β − πΉ(π₯) π(π₯) ≡ πΉ(π₯) ≡ lim β→0 ππ₯ β #(π₯π ≤ π₯) πΉ π₯ = π HISTOGRAM • Penduga histogram dari fungsi kepekatan #{π₯π ≤ ππ+1 } − #{π₯π ≤ ππ } /π π π₯ = , β ππ π π₯ = πβ nj = banyaknya pengamatan dalam bin ke-j h = bj+1 + bj π₯ ∈ (ππ , ππ+1 ] HISTOGRAM • Histogram merupakan penduga fungsi kepekatan nonparametrik • Proses penyusunan histogram: • • • • • Penentuan jumlah kelas (segmen) nilai Penentuan lebar kelas Penentuan lokasi nilai tengah masing-masing kelas Pengalokasian pengamatan ke dalam salah satu kelas Pembuatan kotak (persegipanjang) pada setiap kelas dengan tinggi kotak masing-masing merupakan frekuensi HISTOGRAM • Sturges (1926) : banyaknya kelas atau segmen (L) n = 2L-1 atau L = [1 + log2n] h = R/L • Scott (1979) : lebar kelas (h) h = 3.49 s n-(1/3) HISTOGRAM HISTOGRAM • Data pengamatan data x1 , x2 , ... , xn • Selang nilai data [a,b] dibagi menjadi m segmen dengan lebar h • Titik batas a+ih untuk 0 ≤ i ≤ m aj = a + jh nj = banyaknya data amatan xi dalam kelas atau selang [aj-1 , aj] PENDUGA NAIVE HISTOGRAM • Berdasarkan definisi kepekatan peluang, jika peubah acak X mempunyai kepekatan f, maka 1 π π₯ = lim π π₯−β <π <π₯+β β→0 2β • Untuk h tertentu, penduga P(x-h<X<x+h) adalah proporsi contoh dalam selang (x-h<X<x+h) • Penduga naive adalah 1 π π₯ = [ππππ¦ππππ¦π π₯π ππ πππππ (x−h,x+h) 2βπ PENDUGA NAIVE HISTOGRAM • Penduga naive dapat dituliskan 1 π π₯ = π π π=1 1 π₯ − π₯π π€ β β fungsi pembobot w 1 ππππ π₯ < 1 π€ π₯ = 2 0 π πππππππ¦π PENDUGA NAIVE HISTOGRAM • Penduga naive library(sm) y <- log(aircraft$Span[aircraft$Period==3]) par(mfrow=c(1,2)) hist(y, xlab="Log Span", ylab="Frequency") sm.density(y, xlab="Log Span") par(mfrow=c(1,1)) y <- log(aircraft$Span[aircraft$Period==3]) par(mfrow=c(1, 2)) sm.density(y, hmult = 1/3, xlab="Log span") sm.density(y, hmult = 2, xlab="Log span") par(mfrow=c(1,1)) y1 <- log(aircraft$Span[aircraft$Period==1]) y2 <- log(aircraft$Span[aircraft$Period==2]) y3 <- log(aircraft$Span[aircraft$Period==3]) sm.density(y3, xlab="Log span") sm.density(y2, add=T, lty=2) sm.density(y1, add=T, lty=3) legend(3.5, 1, c("Period 1", "Period 2", "Period 3"), lty=1:3) pc3<cbind(airpc$Comp.1[airpc$Period==3],airpc$Comp.2[airpc$Period==3]) par(mfrow=c(2,2)) par(cex=0.6) plot(pc3) sm.density(pc3, zlim=c(0,0.08)) sm.density(pc3, hmult=0.5, zlim=c(0,0.15)) sm.density(pc3, hmult=2, zlim=c(0,0.04)) par(cex=1) par(mfrow=c(1,1)) sm.density(pc3, display="image") sm.density(pc3, display="slice") pc <- cbind(airpc$Comp.1, airpc$Comp.2) pc1<-cbind(airpc$Comp.1[airpc$Period==1],airpc$Comp.2[airpc$Period==1]) pc2<-cbind(airpc$Comp.1[airpc$Period==2],airpc$Comp.2[airpc$Period==2]) pc3<-cbind(airpc$Comp.1[airpc$Period==3],airpc$Comp.2[airpc$Period==3]) plot(pc, pch=20) sm.density(pc1, display="slice",add=T,col="red") sm.density(pc2, display="slice",add=T,col="green") sm.density(pc3, display="slice",add=T,col="blue") METODE KERNEL • Pembobot w disubstitusi dengan fungsi kernel K sehingga diperoleh penduga kernel 1 π π₯ = π • Penduga kernel 1 π π₯ = π • Fungsi kernel K memenuhi π π=1 π π=1 1 π₯ − π₯π π€ β β 1 π₯ − π₯π πΎ β β +~ πΎ π’ ππ’ = 1 −~ • Fungsi K biasanya berupa fungsi kepekatan peluang simetri seperti kepekatan normal h disebut window width atau parameter pemulus (smoothing) atau band width. METODE KERNEL window width 0.2 window width 0.4 window width 0.8 METODE KERNEL window width 0.1 window width 0.3 window width 0.6 METODE KERNEL bimodal sebenarnya penduga kernel (h=0.25) METODE KERNEL PENENTUAN LEBAR JENDELA • π π₯ merupakan penduga bagi f berdasarkan nilai h tertentu • Nilai h yang kecil menunjukkan ketergantungan pada data yang berdekatan dengan x, sebaliknya nilai h yang besar menunjukkan data yang agak berjauhan akan mempunyai sumbangan yang hampir sama dengan data yang berdekatan dengan x • Beberapa kriteria penduga kepekatan yang baik: • MSE (mean square error) • ISE (integrated squared error) • MISE (mean integrated squared error) • AMISE (asymptotic mean integrated squared error) METODE KERNEL PENENTUAN LEBAR JENDELA • MSE (mean square error) πππΈ π(π₯) = πΈ π π₯ − π(π₯) bias{π(π₯) = E{π(π₯)} – f(x) • MSE tergantung pada parameter 2 =var π(π₯) +(bias{π(π₯)})2 METODE KERNEL PENENTUAN LEBAR JENDELA • ISE (integrated squared error) ISE(h) = π π₯ − π(π₯) 2 • ISE(h) adalah fungsi dari nilai pengamatan x melalui f(x) • ISE(h) tergantung pada nilai f(x), penduga fungsi, dan ukuran contoh • MISE (mean integrated squared error) MISE(h) = E{ISE(h)} • MISE(h) dan ISE(h) sebagai ukuran kualitas penduga fungsi, π π₯ • AMISE (asymptotic mean integrated squared error) METODE KERNEL PENENTUAN LEBAR JENDELA • AMISE (asymptotic mean integrated squared error) AMISE(h) = (π (π) β4 ππ4 π (π " ) + πβ 4 Nilai h meminimum AMISE(h): h = π (πΎ)/πππ4 π (π " ) 1/5 R(g) = ukuran kekasaran fungsi g = π2 (z)dz Jika g ~N(µ,σ2) maka R(g’) = 1 4 ππ 3 dan R(g”) = 3 8 ππ 5 METODE KERNEL PENENTUAN LEBAR JENDELA • Validasi Silang • Penduga fungsi π π₯ di suatu titik ke-i diduga berdasarkan seluruh pengamatan tanpa pengamatan ke-i 1 π π₯ = β(π − 1) π≠π (π₯π − π₯π πΎ β • Besarnya h diperoleh dengan memaksimumkan pseudo-likelihood berikut: π ππΏ β = π−π (π₯π ) π METODE KERNEL PENENTUAN LEBAR JENDELA • Validasi Silang • Penentuan h dengan ISE(h) πΌππΈ β = π π − 2πΈ π π₯ + π (π) R(f) adalah suatu konstanta 2 2E{f(x)} diduga dengan π π π−π (π₯π ) Nilai h diperoleh dengan meminimumkan fungsi 2 ππΆπ β = π π − π π−π (π₯π ) π • Metode ini disebut validasi silang tak bias di mana E{UCV(h)} = MISE(h) METODE KERNEL PENENTUAN LEBAR JENDELA • Validasi Silang • Penentuan h berdasarkan validasi silang berbias, BCV(h), dengan meminimumkan AMISE(h) • Metode validasi silang memerlukan komputasi intensif • Beberapa rumus h (secara plug-in): 1 5 (Silverman 1986) 1 3 (Sheather dan Jones 1991) 1 5 (Terrell 1990) 1. β = 1.06ππ − 2. β = 1.59ππ − 3. β = 1.44ππ − METODE KERNEL PEMILIHAN FUNGSI KERNEL • Beberapa fungsi kernel • Normal 1 1 − π‘2 2 π , −∞ < π‘ < +∞ 2π • Uniform (kotak) 1 2 0 π’ππ‘π’π π‘ < 1 π πππππππ¦π METODE KERNEL PEMILIHAN FUNGSI KERNEL • Beberapa fungsi kernel • Epanechnikov 3 1 1 − π‘2 4 5 5 0 π’ππ‘π’π π‘ < 5 π πππππππ¦π • Triangle (segitiga) 1 − |π‘| 0 π’ππ‘π’π π‘ < 1 π πππππππ¦π METODE KERNEL PEMILIHAN FUNGSI KERNEL • Beberapa fungsi kernel • Biweight (penimbang ganda) • 15 16 1− 0 1 2 2 π‘ 5 π’ππ‘π’π π‘ < 1 π πππππππ¦π rec <- function(x) (abs(x) < 1) * 0.5 tri <- function(x) (abs(x) < 1) * (1 - abs(x)) gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) x <- seq(from = -3, to = 3, by = 0.001) plot(x, rec(x), type = "l", ylim = c(0,1), lty = 1, ylab = expression(K(x))) rectangular (uniform) rec <- function(x) (abs(x) < 1) * 0.5 tri <- function(x) (abs(x) < 1) * (1 - abs(x)) gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) x <- seq(from = -3, to = 3, by = 0.001) plot(x, rec(x), type = "l", ylim = c(0,1), lty = 1, ylab = expression(K(x))) lines(x, tri(x), lty = 2) rectangular (uniform) triangular rec <- function(x) (abs(x) < 1) * 0.5 tri <- function(x) (abs(x) < 1) * (1 - abs(x)) gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) x <- seq(from = -3, to = 3, by = 0.001) plot(x, rec(x), type = "l", ylim = c(0,1), lty = 1, ylab = expression(K(x))) lines(x, tri(x), lty = 2) lines(x, gauss(x), lty = 3) rectangular (uniform) triangular normal CONTOH x <- c(0, 1, 1.1, 1.5, 1.9, 2.8, 2.9, 3.5) n <- length(x) xgrid <- seq(from = min(x) - 1, to = max(x) + 1, by = 0.01) h <- 0.4 gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) bumps <- sapply(x, function(a) gauss((xgrid - a)/h)/(n * h)) plot(xgrid, rowSums(bumps), ylab = expression(hat(f)(x)),type = "l", xlab = "x", lwd = 2) rug(x, lwd = 2) out <- apply(bumps, 2, function(b) lines(xgrid, b)) gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) bumps <- sapply(x, function(a) gauss((xgrid - a)/h)/(n * h)) gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) bumps <- sapply(x, function(a) gauss((xgrid - a)/h)/(n * h)) rug(x, lwd = 2) gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) bumps <- sapply(x, function(a) gauss((xgrid - a)/h)/(n * h)) rug(x, lwd = 2) out <- apply(bumps, 2, function(b) lines(xgrid, b)) data("faithful", package = "datasets") x <- faithful$waiting layout(matrix(1:3, ncol = 3)) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency",probability = TRUE, main = "Gaussian kernel", border = "gray") lines(density(x, width = 12), lwd = 2) rug(x) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Rectangular kernel", border = "gray") lines(density(x, width = 12, window = "rectangular"), lwd = 2) rug(x) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Triangular kernel", border = "gray") lines(density(x, width = 12, window = "triangular"), lwd = 2) rug(x) KEPUSTAKAAN 1) Bowman AW, Azzalini A. 1997. Applied Smoothing Techniques for Data Analysis: the Kernel Approach With S-Plus Illustrations. Oxford University Press. London. 2) Silverman BW. 1986. Density Estimation for Statistics and Data Analysis. Vol. 26 of Monographs on Statistics and Applied Probability. Chapman & Hall/CRC. London. 3) Simonoff JS. 1996. Smoothing Methods in Statistics. Springer. New York.