algoritma komputasi dan program r dalam glm · 2018-03-01 · contoh 1: tentukan nilai x yang...

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

Upload: phungdan

Post on 06-Mar-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

Algoritma Komputasi dan

Program R dalam GLM

Dr. Kusman Sadik, M.Si

Sekolah Pascasarjana Departemen Statistika IPB

Semester Genap 2017/2018

Page 2: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

2

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 3: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

3

Page 4: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

4

Page 5: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

5

Page 6: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

6

Page 7: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

7

(Lihat: Dobson, 2002)

Fisher Information(Fisher Information Matrix)

Page 8: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

8

Page 9: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

9

Page 10: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

10

(a)

(b)

(a)

(a)

Page 11: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

11

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 12: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

12

#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 13: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

13

Contoh 2:

Tentukan nilai √11 secara iteratif hingga tingkat

ketelitian 6 desimal

Page 14: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

14

Contoh 3: (Lihat: Dobson, 2002)

Page 15: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

15

Page 16: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

16

of Weibull

Page 17: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

17

Page 18: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

18

(a)

Page 19: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

19

Jadi perbedaan Fisher-Scoring dari Newton-

Raphson adalah dari sisipenggunaan E(U’’) sebagai

pendekatan bagi U’

Page 20: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

20

Page 21: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

21

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 22: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

22

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 23: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

23

Program R

Page 24: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

24

Page 25: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

25

Page 26: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

26

Page 27: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

27

Page 28: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

28

Page 29: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

29

Page 30: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

30

Page 31: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

31

Page 32: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

32

Page 33: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

33

#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 34: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

34

> 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 35: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

35

Page 36: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

36

> 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 37: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

37

> 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 38: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

38

Page 39: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

39

Page 40: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

40

Page 41: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

41

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 42: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

42

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 43: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

43

Melalui Program R:

1. Bangkitkan data respon Yi, i = 1, 2, …, 50, dengan fungsi sebaran

Bernoulli dan mempunyai hubungan dengan dua peubah bebas X1 yang

menyebar Uniform(0, m) dan X2 yang menyebar Uniform(5, 2*m).

Parameter 0 = 0.m, 1 = - 3.m, 2 = 4.m. Catatan, m adalah jumlah 2

digit terakhir dari NIM.

2. Lakukan pengulangan pembangkitan data tersebut masing-masing

sebanyak 10 kali sehingga terdapat 10 set data.

3. Pada 10 set data tersebut lakukan pendugaan parameter model (0, 1,

2) masing-masing dengan fungsi hubung logistik (model 1) dan probit

(model 2).

4. Bandingkan rata-rata nilai bias dan kuadrat tengah galat kedua model

tersebut. Model mana yang lebih baik? Jelaskan.

Page 44: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

44

Materi ini bisa di-download di:

kusmansadik.wordpress.com

Page 45: Algoritma Komputasi dan Program R dalam GLM · 2018-03-01 · Contoh 1: Tentukan nilai x yang memenuhi persamaan : ... Iterasi 0 1 2 3 4 5 x 1 0,600000 0.4649351 0.4534672 0.4533977

45