algoritma komputasi dan program r dalam glm · menyebar binomial, poisson, gamma, eksponensial,...

53
Algoritma Komputasi dan Program R dalam GLM Dr. Kusman Sadik, M.Si Sekolah Pascasarjana Departemen Statistika IPB Semester Genap 2018/2019

Upload: buituong

Post on 03-May-2019

265 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

Algoritma Komputasi dan

Program R dalam GLM

Dr. Kusman Sadik, M.Si

Sekolah Pascasarjana Departemen Statistika IPB

Semester Genap 2018/2019

Page 2: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

2

Pada model linear klasik, seperti regresi linear, memerlukan asumsi bahwa peubah respon y menyebar Normal.

Pada kenyataanya banyak ditemukan bahwapeubah respon y tidak menyebar Normal. Misalnyamenyebar Binomial, Poisson, Gamma, Eksponensial, dsb.

Maka dikembangkan Model Linear Terampat(Generalized Linear Model) untuk mengatasimasalah ini.

Page 3: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

3

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 :

Page 4: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

4

2. Komponen Sistematik (Systematic Component)

Komponen sistematik adalah kombinasi linear

dari kovariat x1, x2, …, xp. Sehingga dapat

dituliskan sebagai berikut:

= (ixi)

disebut juga sebagai penduga linear (linear

predictor), i adalah konstanta.

Page 5: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

5

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() = = (ixi)

g(.) disebut sebagai fungsi hubung. Fungsi ini

harus bersifat terdiferensialkan monoton

(monotonic differentiable)

Page 6: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

6

Normal

Binomial

Multinomial

Poisson

Gamma

Eksponensial

Negatif Binomial

dll.

Page 7: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

7

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.

Page 8: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

8

Page 9: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

9

Page 10: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

10

Page 11: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

11

Page 12: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

12

Page 13: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

13

Page 14: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

14

Page 15: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

15

Algoritma Komputasi

Page 16: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

16

Page 17: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

17

(a)

(b)

(a)

(a)

Page 18: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

18

Contoh 1:

Tentukan nilai x yang memenuhi persamaan : x3 + 2x – 1 = 0

Iterasi 0 1 2 3 4 5

x 1 0,600000 0.4649351 0.4534672 0.4533977 0.4533977

)('

)(

12)(

)1(

)1()1()(

3

m

mmm

xf

xfxx

xxxf

Page 19: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

19

#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

Page 20: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

20

Contoh 2:

Tentukan nilai 17 secara iteratif hingga tingkat

ketelitian 6 desimal.

Page 21: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

21

Contoh 3: (Lihat: Dobson, 2002)

Page 22: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

22

Page 23: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

23

of Weibull

Page 24: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

24

Page 25: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

25

(a)

Page 26: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

26

Jadi perbedaan Fisher-Scoring dari Newton-

Raphson adalah dari sisipenggunaan E(U’’) sebagai

pendekatan bagi U’

Page 27: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

27

Page 28: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

28

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 Quasi-

likelihood, metode Bayes, dsb.

Karena itu, pada kuliah GLM ini lebih direkomendasikan untuk

menggunakan Program R.

Page 29: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

29

Bentuk Umum Metode Fisher Scoring

L(,y) adalah fungsi kemungkinan (likelihood), I disebut

matrik informasi Fisher. Maka penduga secara iteratif

adalah sebagai berikut :

srr

r

LE

LU

),( ;

),( 2yβ

Iyβ

)1()1()1()()1( ˆˆ kkkkkUβIβI

)1()1()1()( )(ˆˆ kkkkUIββ

Model GLM : g((E(y)) = g() = = X

Page 30: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

30

Program R

Page 31: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

31

Page 32: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

32

Page 33: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

33

Page 34: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

34

Page 35: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

35

Page 36: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

36

Page 37: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

37

Page 38: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

38

Page 39: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

39

Page 40: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

40

#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)

Page 41: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

41

> 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

Page 42: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

42

Page 43: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

43

> 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

Page 44: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

44

> 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

Page 45: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

45

Page 46: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

46

Page 47: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

47

Page 48: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

48

McCullagh, P. and Nelder, J.A. (1989) Generalized

Linear Models, 2nd. 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.

Page 49: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

49

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.

Page 50: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

50

Melalui Program R:

1. Bangkitkan data respon Yi, 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.

Page 51: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

51

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.

Page 52: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

52

Materi ini bisa di-download di:

kusmansadik.wordpress.com

Page 53: Algoritma Komputasi dan Program R dalam GLM · menyebar Binomial, Poisson, Gamma, Eksponensial, dsb. Maka dikembangkan Model Linear Terampat (Generalized Linear Model) untuk mengatasi

53