Algoritma Komputasi dan Program R dalam GLM Dr. Kusman Sadik, M.Si Sekolah Pascasarjana Departemen Statistika IPB Semester Genap 2018/2019
Pada model linear klasik, seperti regresi linear, memerlukan asumsi bahwa peubah respon y menyebar Normal. Pada kenyataanya banyak ditemukan bahwa peubah respon y tidak menyebar Normal. Misalnya menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi masalah ini. 2
1. Komponen Acak (Random Component) Komponen acaknya adalah peubah respon y. Dalam GLM, peubah respon diasumsikan mempunyai sebaran yang termasuk ke dalam keluarga eksponensial, yaitu : 3
2. Komponen Sistematik (Systematic Component) Komponen sistematik adalah kombinasi linear dari kovariat x 1, x 2,, x p. Sehingga dapat dituliskan sebagai berikut: = ( i x i ) disebut juga sebagai penduga linear (linear predictor), i adalah konstanta. 4
3. Fungsi Hubung (Link Function) Yaitu fungsi yang menghubungkan antara komponen acak dengan komponen sistematik. Misalkan E(y) =, selanjutnya dapat dibuat hubungan sebagai berikut : g() = = ( i x i ) g(.) disebut sebagai fungsi hubung. Fungsi ini harus bersifat terdiferensialkan monoton (monotonic differentiable) 5
Normal Binomial Multinomial Poisson Gamma Eksponensial Negatif Binomial dll. 6
Pendugaan parameter melalui metode kemungkinan maksimum (maximum likelihood) dapat dilakukan secara analitik maupun secara numerik. Pada GLM terkadang metode analitik tidak dapat dilakukan karena tidak ditemukan bentuk closed-form pada fungsi kemungkinan maksimumnya. Salah satu metode numerik yang banyak digunakan pada GLM adalah metode Fisher-Scoring atau Newton-Raphson. 7
8
9
10
11
12
13
14
Algoritma Komputasi 15
16
(a) (a) (b) (a) 17
Contoh 1: Tentukan nilai x yang memenuhi persamaan : x 3 + 2x 1 = 0 f ( x) x 3 2x 1 x ( m) x ( m1) f ( x f '( x ( m1) ( m1) ) ) Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977 0.4533977 18
#Solusi untuk : x^3 + 2*x - 1 = 0 x <- 1 for (i in 2:6) {x[i] <- x[i-1] - ((x[i-1])^3 + 2*x[i-1] - 1)/(3*((x[i-1])^2) + 2)} x ------------------------------------------------------------------ > x [1] 1.0000000 0.6000000 0.4649351 0.4534672 0.4533977 0.4533977 19
Contoh 2: Tentukan nilai 17 secara iteratif hingga tingkat ketelitian 6 desimal. 20
Contoh 3: (Lihat: Dobson, 2002) 21
22
of Weibull 23
24
(a) 25
Jadi perbedaan Fisher- Scoring dari Newton- Raphson adalah dari sisi penggunaan E(U ) sebagai pendekatan bagi U 26
27
Pemodelan GLM dapat diimplementasikan dalam Program R. Pada program ini, pendugaan parameter GLM dilakukan melalui teknik Fisher-Scoring. Disamping bersifat open-source, program R memiliki banyak kelebihan dibandingkan program lainnya (SAS, dll) untuk pemodelan GLM. Diantaranya adalah ketersedian di R berbagai sebaran keluarga eksponensial yang lebih luas, pendekatan Quasilikelihood, metode Bayes, dsb. Karena itu, pada kuliah GLM ini lebih direkomendasikan untuk menggunakan Program R. 28
29 Bentuk Umum Metode Fisher Scoring L(,y) adalah fungsi kemungkinan (likelihood), I disebut matrik informasi Fisher. Maka penduga secara iteratif adalah sebagai berikut : s r r r L E L U ), ( ; ), ( 2 y β I y β 1) ( 1) ( 1) ( ) ( 1) ( ˆ ˆ k k k k k U β I β I 1) ( 1) ( 1) ( ) ( ) ( ˆ ˆ k k k k U I β β Model GLM : g((e(y)) = g() = = X
Program R 30
31
32
33
34
35
36
37
38
39
#Contoh Simulasi Data GLM (1) set.seed(1001) n <- 50 x <- runif(n,1,6) b0 <- 1.5 b1 <- 3.0 y <- c(1:n) for (i in 1:n) {y[i] <- rnorm(1,b0+b1*x[i],1)} cbind(x,y) plot(x,y) fit.dataku <- glm(y ~ x, family=gaussian(link="identity")) summary(fit.dataku) y_duga <- fitted(fit.dataku) sisaan <- resid(fit.dataku) cbind(x,y,y_duga,sisaan) plot(x,y) par(col="red") abline(fit.dataku) par(col="black") plot(y_duga,sisaan) qqnorm(sisaan); qqline(sisaan) 40
> cbind(x,y) x y [1,] 5.928444 18.690387 [2,] 3.063142 8.788586 [3,] 3.147696 11.136597 [4,] 3.095861 10.205783 [5,] 3.132533 9.352388 [6,] 5.438988 18.295776 [7,] 1.030480 4.820782 [8,] 1.406079 5.580310 [9,] 2.443287 11.240599 [10,] 4.826711 14.057338... [48,] 1.008779 3.946260 [49,] 4.527118 13.109931 [50,] 4.646557 17.004236 41
42
> summary(fit.dataku) Call: glm(formula = y ~ x, family = gaussian(link = "identity")) Deviance Residuals: Min 1Q Median 3Q Max -2.1868-0.8818 0.0415 0.7586 3.1982 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 2.0186 0.4436 4.551 3.65e-05 *** x 2.8581 0.1176 24.308 < 2e-16 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 Null deviance: 1044.593 on 49 degrees of freedom Residual deviance: 78.483 on 48 degrees of freedom AIC: 170.44 Number of Fisher Scoring iterations: 2 43
> cbind(x,y,y_duga,sisaan) x y y_duga sisaan 1 5.928444 18.690387 18.962859-0.27247193 2 3.063142 8.788586 10.773441-1.98485474 3 3.147696 11.136597 11.015107 0.12148961 4 3.095861 10.205783 10.866956-0.66117247 5 3.132533 9.352388 10.971768-1.61938059 6 5.438988 18.295776 17.563928 0.73184798 7 1.030480 4.820782 4.963818-0.14303598 8 1.406079 5.580310 6.037330-0.45701975 9 2.443287 11.240599 9.001810 2.23878933 10 4.826711 14.057338 15.813957-1.75661973... 48 1.008779 3.946260 4.901792-0.95553208 49 4.527118 13.109931 14.957682-1.84775158 50 4.646557 17.004236 15.299055 1.70518141 44
45
46
47
McCullagh, P. and Nelder, J.A. (1989) Generalized Linear Models, 2 nd. C&H. Dobson and Barnett. (2008). An Introduction to Generalized Linear Models, New York: C&H, 3rd ed. Agresti, A. (2015). Foundations of Linear and Generalized Linear Models. New Jersey: Wiley. 48
Jiang, J. (2007). Linear and Generalized Linear Mixed Models and Their Applications, Springer. McCulloch, C.E. and Searle, S.R. (2001) Generalized, Linear, and Mixed Models, Wiley Pawitan, Y. (2001) In All Likelihood. Oxford. Lee, Y., Nelder, J.A. and Pawitan, Y. (2006). Generalized Linear Models with Random Effects. C&H. 49
Melalui Program R: 1. Bangkitkan data respon Y i, i = 1, 2,, 50, dengan fungsi sebaran Bernoulli dan mempunyai hubungan (fungsi hubung logit) dengan satu peubah bebas X yang menyebar Uniform( 2, 2). Parameter 0 = 0.3k dan 1 = 1.k5. Catatan, k adalah nomor urut absen mahasiswa. 2. Misalnya jika k = 2 maka 0 = 0.32 dan 1 = 1.25 3. Lakukan pengulangan pembangkitan data tersebut masing-masing sebanyak 5 kali sehingga terdapat 5 set data. 4. Pada 5 set data tersebut lakukan pendugaan parameter model ( 0 dan 1 ) masing-masing dengan fungsi hubung logit (Model 1), fungsi hubung probit (Model 2), dan fungsi hubung complementary log-log (Model 3). 5. Bandingkan rata-rata nilai bias dan kuadrat tengah galat (MSE) untuk ketiga model tersebut. Model mana yang lebih baik? Jelaskan. 50
Tugas tersebut dalam rangka meningkatkan pemahaman mahasiswa tentang Program R dan implementasinya pada GLM. Karenanya harus dikerjakan secara mandiri oleh setiap mahasiswa. Jika syntax R yang ditulis merujuk pada karya orang lain harus disebutkan sumbernya (buku, jurnal, web, tugas mahasiswa lain, dsb). Satu file power point yang di dalamnya disertai syntax R dan output R dikirim kepada dosen via email paling lambat 24 jam sebelum presentasi. Saat presentasi mahasiswa juga harus menjalankan Program R untuk menunjukkan prosesnya. 51
Materi ini bisa di-download di: kusmansadik.wordpress.com 52
53