Scorefunksjon og estimeringsligninger for GLM Forelesning 6 STK3100 29. september 2008 S. O. Samuelsen Plan for forelesning: 1. Observert og forventet informasjon 2. Optimeringsrutiner 3. Iterative revektede minste kvadrater (IRwLS) 4. GLM Binære data 5. Link-funksjoner Komponent j i scorefunksjonen U(β) = (U 1 (β),...,u p (β)) uttrykkes dermed U j (β) = l(β) β j = U ij (β) = 1 φ ij Y i µ i g (µ i )V (µ i ) Vi finner altså MLE ˆβ ved å løse ligningene, j = 1,...,p, U j (ˆβ) = 1 φ ij der ˆµ i er estimert forventning med β = ˆβ. Y i ˆµ i g (ˆµ i )V (ˆµ i ) = 0 Forelesning 6 STK3100 p. 1/36 Forelesning 6 STK3100 p. 3/36 Log-likelihood for GLM Med log-likelihood-bidrag l i (β) = log(f(y i ;θ i,φ) blir log-likelihood l(β) = l i (β) = [ θ iy i a(θ i ) + log(c(y i ))] φ siden Y i -ene er uavhengige med tetthet f(y i ;θ i,φ) Observert /forventet informasjonsmatrise (generell link) Observert informasjon J(β) = 2 l β 2 Forventet informasjon ble da (vist sist) [ J (β) = E[ J(β)] = 1 1 ij ik φ g (µ i ) 2 V (µ i ) ] p j,k=1 Forelesning 6 STK3100 p. 2/36 Forelesning 6 STK3100 p. 4/36
Kanonisk link: Observert info = Forventet info Observert informasjon J(β) = [ J kj (β)] p j,k=1 der J kj (β) = U j β k = 1 n φ ij η i µ i (Y i µ i ) β k η i µ i = 1 n φ 1 ij ik = J g (µ i ) jk(β) siden J kj (β) ikke avhenger av noe stokastisk. Vi finner dessuten at J kj (β) = J jk (β) = 1 φ ij ik V (µ i ) siden θ i = η i g 1 (θ i ) = µ i = a (θ i ) V (µ i ) = a (θ i ) = 1 g (µ i ). Score og Informasjon på matriseform Vi kan uttrykke score U(β) = 1 φ X Wg (µ)(y µ) og forventet informasjon J = 1 φ X WX der (Y µ) = (Y 1 µ 1,...,Y n µ n ), 11 12 1p 21 22 2p X = designmatrisen =.... n1 n2 np og 1 W = diag( g (µ 1 ) 2 V (µ 1 ),, 1 g (µ n ) 2 V (µ n ) ), 1 dvs. diagonalmatrisen med leddene g (µ i ) 2 V (µ i langs diagonalen. ) Forelesning 6 STK3100 p. 5/36 Forelesning 6 STK3100 p. 7/36 Eksempel: Logistisk regresjon, binære Y i : E[Y i ] = π i V (π i ) = Var(Y i ) = π i (1 π i ) Så med g(π i ) = logit(π i ) = log( π i 1 π i ) = η i blir samt at g (µ) = diag(g (µ 1 ),,g (µ n )), Dessuten [ J = ij ik π i (1 π i ) g (µ i ) = 1 π i + 1 1 π i = ] p j,k=1 1 π i (1 π i ) = 1 V (π i ).. Spesielt med kanonisk link blir W = diag(v (µ i ),,V (µ n )) siden 1 g (µ i ) 2 V (µ i ) = V (µ i) 2 V (µ 1 ) = V (µ i). Dessuten blir dvs. identitetsmatrisen. Wg (µ) = I, Forelesning 6 STK3100 p. 6/36 Forelesning 6 STK3100 p. 8/36
Newton-Raphson og Fisher-Scoring La l(θ) være en generell likelihood med scorefunksjon U(θ), observert informasjon J(θ) og forventet informasjon J (θ). Da oppdateres anslag θ (k) til nytt anslag θ (k+1) ved Newton-Raphson: θ (k+1) = θ (k) + J(θ (k) ) 1 U(θ (k) ) Fisher-scoring: θ (k+1) = θ (k) + J (θ (k) ) 1 U(θ (k) ) Iterasjonen fortsetter til l(θ (k+1) ) l(θ (k) ) < ǫ = 0.000001 (f.eks.) Motivasjon: Newton s algoritme Fisher-scoring billedata # 0) Definerer designmatrise og matrise av responser X<-cbind(rep(1,8),Dose) Y<-matri(Dode,ncol=1) # 1) Initier betaold og loglikelihood p0<-sum(dode)/sum(ant) betaold<-matri(c(log(p0/(1-p0)),0),ncol=1) loglikold<-sum(y*log(p0/(1-p0)))+sum(antall*log(1-p0)) epsilon<-0.00001 logliknew<-loglikold+2*epsilon iterasjon<-0 print(paste("iterasjon nr.",iterasjon," Loglik=",loglikold)) 0 = f( ) f() + ( )f () f()/f () ny = g f(g)/f (g) Forelesning 6 STK3100 p. 9/36 Forelesning 6 STK3100 p. 11/36 Fisher-scoring for GLM Nytt anslag for β: β (k+1) = β (k) + J (β (k) ) 1 U(β (k) ) = β (k) + (X W (k) X) 1 X W (k) g (µ (k) )(Y µ (k) ) der µ (k),g (µ (k) ) og W (k) er µ,g (µ) og W evaluert i β (k). Oppgave: Anta Y i N(µ i,σ 2 ) med µ i = p β j ij. Vis at at Fisher-scoring-algoritmen konverger i 1. iterasjon til minste kvadraters estimator ˆβ = (X X) 1 X Y uavhengig av startverdi β (0). Fisher-scoring billedata, forts. #2) Iterer til loglikelihood endres lite p<-1/(1+ep(-x%*%betaold)) while(logliknew-loglikold>epsilon){ iterasjon<-iterasjon+1 loglikold<-logliknew mu<-matri(antall*p,ncol=1) W<-diag(antall*p*(1-p)) U<-t(X)%*%(Y-mu) J<-t(X)%*%W%*%X betanew<-betaold+solve(j)%*%u betaold<-betanew p<-1/(1+ep(-x%*%betaold)) logliknew<-sum(y*log(p/(1-p)))+sum(antall*log(1-p)) print(paste("iterasjon nr.",iterasjon," Loglik=",logliknew)) print(cbind(betanew,sqrt(diag(solve(j))))) } Forelesning 6 STK3100 p. 10/36 Forelesning 6 STK3100 p. 12/36
Fisher-scoring billedata, Iterasjon > source("fisher-biller-2") [1] "Iterasjon nr. 0 Loglik= -322.720512463475" [1] "Iterasjon nr. 1 Loglik= -197.971198920648" -39.61553 2.655919 Dose 22.32162 1.479649 [1] "Iterasjon nr. 2 Loglik= -187.04648234255" -54.66721 3.705446 Dose 30.84234 2.074389 [1] "Iterasjon nr. 3 Loglik= -186.242796387785" -60.12267 4.697433 Dose 33.93325 2.637674 [1] "Iterasjon nr. 4 Loglik= -186.235404045172" -60.71136 5.131104 Dose 34.26687 2.883965 Vektet minste kvadraters metode Y i N(µ i,σ 2 /w i ) med µ i = p β j ij og w i = kjente vekter Da blir log-likelihood l(β) = 1 2σ 2 n (Y i µ i ) 2 w i + K og vektet minste kvadraters estimatoren blir der ˆβ = (X WX) 1 X WY Y = søylevektor av responsene X = designmatrisen W = diag(w 1,...,w n ) Forelesning 6 STK3100 p. 13/36 Forelesning 6 STK3100 p. 15/36 Fisher-scoring billedata, Iterasjon forts. [1] "Iterasjon nr. 5 Loglik= -186.235403271769" -60.71745 5.180201 Dose 34.27033 2.911850 # glm i R (til sammenligning) Value Std. Error t value (Intercept) -60.71733 5.173518-11.73618 Dose 34.27026 2.908076 11.78451 GLM Fisher-scoring = IRLS-algoritmen = Iteratively Reweighted Least-Squares Algoritmen. Med (k) = g (µ (k) )(Y µ (k) ) β (k+1) = β (k) + (X W (k) X) 1 X W (k) (k) = (X W (k) X) 1 [X W (k) Xβ (k) + X W (k) (k) ] = (X W (k) X) 1 X W (k) Z (k) der Z (k) = Xβ (k) + g (µ (k) )(Y µ (k) ) altså som vektet minste kvadraters estimator med "responser" Z (k) vekter W (k) som begge må oppdateres i hver iterasjon. Forelesning 6 STK3100 p. 14/36 Forelesning 6 STK3100 p. 16/36
Akaike informasjonskriterium (AIC) defineres generelt ved AIC = 2p 2ˆl der p = antall parametre i modellen og ˆl maksimum log-likelihood under modellen. Akaike-kriteriet benyttes ved å velge den modellen med minst AIC-verdi. Binære responser, n i = 1 = φ i 0 Da er Y i = Y 0i = 1 Siden modellen formuleres for π i (eller θ i ) skal vi begrense oss til å se på binære data. Binomiske data oppnås som kjent ved å summere n i uavhengige binære responser med samme suksesssannsynlighet π i. Forelesning 6 STK3100 p. 17/36 Forelesning 6 STK3100 p. 19/36 Binomiske responser Anta Y i binomial(n i,π i ) er uavhengige. Da har vi data fra en eksponensiell klasse. Vi kan skrive opp tettheten for andelen responser Y 0i = Y i /n i med f(y 0,θ i,φ i ) = ( n i n i y 0 ) π n i y 0 i (1 π i ) n i(1 y 0 ) = ep( θ iy 0 a(θ i ) φ i )c(y 0,φ i )) der θ i = log(π i /(1 π i )),a(θ i ) = log(1 + ep(θ i )) mens spredningsleddet φ i = 1/n i er kjent og c(y 0 ;φ i ) = ( n i n i y 0 ). Som kjent blir E[Y 0 ] = a (θ i ) = ep(θ i) 1+ep(θ i ) = π i og Var[Y 0 ] = φ i a (θ i ) = 1 n i ep(θ i ) (1+ep(θ i )) 2 = π i (1 π i )/n i. GLM binære responser Uavhengige binære Y i med suksesssannsynlighet π i Lineær prediktor η i = β i Linkfunksjon g(π i ) = η i Vi har sålangt hovedsaklig sett på link-funksjonen som gir π i g(π i ) = log( ) = logit(π i ) 1 π i π i = ep(η i) 1 + ep(η i ) = g 1 (η i ) Spesielt er dette den kanoniske link-funksjonen, i.e. kanonisk parameter θ i = η i Som kjent gir logit-linken logistisk regresjon. Forelesning 6 STK3100 p. 18/36 Forelesning 6 STK3100 p. 20/36
Krav til linkfunksjon binære responser g() bør være glatt (minst to ganger deriverbar) strengt monoton (voksende) verdier over alle reelle tall g([0, 1]) = R eller ekvivalent g 1 (R) = [0, 1] g 1 (η) kumulativ fordelingsfunksjon for kontinuerlig fordeling på R Logit-linken tilfredstiller disse kravene. Spesielt er g 1 (η) kumulativ i "logistisk fordeling" der tettheten er ep(η) (1 + ep(η)) 2 Forelesning 6 STK3100 p. 21/36 Probit-link: Invers av kumulativ for standard-normal Siden kravet til en link-funksjon er at den er invers av en kumulativ er en naturlig kandiat til link: der Φ(y) = y g(η) = Φ 1 (η) 1 2π ep( 1 2 2 )d. Siden tettheten i standardnormalfordelingen er symmetrisk om y = 0 får vi ofte resultater tilsvarende logist regresjon med probit link (probit analyse). Imidlertid Normalfordelingen har lettere haler enn logistisk fordeling, kan ha situasjoner der probit passer bedre Standardavviket i N(0,1) er 1, parameterestimatene ofte ca. π/ 3 1.8 så store med logit Forelesning 6 STK3100 p. 23/36 Kumulativ og tetthet i "standard" logistisk fordeling Kumulativ og tetthet for logit og probit Kumulativ logistisk fordeling Tetthet logistisk fordeling Kumulative fordelingsfunksjoner Tettheter F() f() 0.0 0.05 0.10 0.15 0.20 0.25 Tettheten er symmetrisk om = 0, så forventningen er lik 0. Dessuten kan det vises at variansen i standard-logistisk F() logistisk probit (skalert) f() 0.0 0.05 0.10 0.15 0.20 0.25 2 ep() π2 (1 + ep()) 2d = 3 = 1.8137992 Forelesning 6 STK3100 p. 22/36 Forelesning 6 STK3100 p. 24/36
R-utskrift Biller: Logit vs. Probit > logistfit<-glm(cbind(d,n-d) Dose,family=binomial(link=logit)) > probitfit<-glm(cbind(d,n-d) Dose,family=binomial(link=probit)) > logistfit (Intercept) Dose -60.72 34.27 Degrees of Freedom: 7 Total (i.e. Null); 6 Residual Null Deviance: 284.2 Residual Deviance: 11.23 AIC: 41.43 > probitfit (Intercept) Dose -34.94 19.73 Degrees of Freedom: 7 Total (i.e. Null); 6 Residual Null Deviance: 284.2 Residual Deviance: 10.12 AIC: 40.32 > logistfit$coef/probitfit$coef (Intercept) Dose 1.737999 1.737147 Forelesning 6 STK3100 p. 25/36 R-utskrift Biller: Probit > summary(probitfit) Deviance Residuals: Min 1Q Median 3Q Ma -1.5714-0.4703 0.7501 1.0632 1.3449 Estimate Std. Error z value Pr(> z ) (Intercept) -34.935 2.648-13.19 <2e-16 *** Dose 19.728 1.487 13.27 <2e-16 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 284.202 on 7 degrees of freedom Residual deviance: 10.120 on 6 degrees of freedom AIC: 40.318 Number of Fisher Scoring iterations: 4 Forelesning 6 STK3100 p. 27/36 R-utskrift Biller: Logit > summary(logistfit) Deviance Residuals: Min 1Q Median 3Q Ma -1.5941-0.3944 0.8329 1.2592 1.5940 Estimate Std. Error z value Pr(> z ) (Intercept) -60.717 5.181-11.72 <2e-16 *** Dose 34.270 2.912 11.77 <2e-16 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Cauchit = link basert på Cauchy-fordeling er også implentert i R. Den er basert på Cauchy tetthet: f() = 1 1 π 1+ 2 Cauchy kumulativ: F() = arctan()/π + 0.5 Cauchit-link: g(p i ) = tan(π(p i 0.5)) Cauchit svarer altså til en symmetrisk, klokkeformet tetthet tilsvarende logit og probit, men med mye tyngre haler. Spesielt eksisterer ingen momenter i Cauchy-fordelingen. (Dispersion parameter for binomial family taken to be 1) Null deviance: 284.202 on 7 degrees of freedom Residual deviance: 11.232 on 6 degrees of freedom AIC: 41.43 Forelesning 6 STK3100 p. 26/36 Forelesning 6 STK3100 p. 28/36
varians π 2 /6 0.41 2 Forelesning 6 STK3100 p. 31/36 Kumulativ og tetthet for cauchit, logit og probit F() Kumulative fordelingsfunksjoner logistisk probit (skalert) Cauchy (skaler) f() 0.0 0.05 0.10 0.15 0.20 0.25 Tettheter clog-log-link basert på Gumbel-fordelingen Linken η i = g(π i ) = log( log(1 π i )) kalles den "komplementære log-log-linken" Dens inverse er gitt ved π i = 1 ep( ep(η i )) = F(η i ) som er kumulativ for (den standardiserte) Gumbelfordelingen. Fra Oppgave 12 har vi at denne fordelingen ikke er symmetrisk veldig lette haler mot + haler som logistisk fordeling mot forventning er - Eulers s konstant 0.58 Forelesning 6 STK3100 p. 29/36 R-utskrift Biller: Cauchit > cauchitfit<-glm(cbind(d,n-d) Dose,family=binomial(link=cauchit)) > summary(cauchitfit) Kumulativ og tetthet Gumbelfordeling Kumulative fordelingsfunksjon Gumbel Tetthet Gumbel Deviance Residuals: Min 1Q Median 3Q Ma -1.5750 0.3094 0.4912 1.9346 2.8854 Estimate Std. Error z value Pr(> z ) (Intercept) -77.320 11.348-6.814 9.51e-12 *** Dose 43.526 6.378 6.824 8.85e-12 *** --- Null deviance: 284.202 on 7 degrees of freedom Residual deviance: 20.158 on 6 degrees of freedom AIC: 50.356 F() f() 0.0 0.1 0.2 0.3 > logistfit$coef/cauchitfit$coef (Intercept) Dose 0.7852785 0.7873560-4 -2 0 2 4-4 -2 0 2 4 Forelesning 6 STK3100 p. 30/36 Forelesning 6 STK3100 p. 32/36
R-utskrift Biller: Probit > cloglogfit<-glm(cbind(d,n-d) Dose,family=binomial(link=cloglog)) > summary(cloglogfit) Deviance Residuals: Min 1Q Median 3Q Ma -0.80329-0.55135 0.03089 0.38315 1.28883 Estimate Std. Error z value Pr(> z ) (Intercept) -39.572 3.240-12.21 <2e-16 *** Dose 22.041 1.799 12.25 <2e-16 *** Null deviance: 284.2024 on 7 degrees of freedom Residual deviance: 3.4464 on 6 degrees of freedom AIC: 33.644 Tilpassede sannsynligheter for billedata også med logistisk regresjon og 2. gradsledd i Dose andel dode biller logistisk cloglog logistisk, 2. gradsledd Number of Fisher Scoring iterations: 4 > logistbiller$coef/cloglogfit$coef (Intercept) Dose 1.534342 1.554832 Forelesning 6 STK3100 p. 33/36 1.70 1.75 1.80 1.85 dose (log_10) 2. gradsledd ga en devians på 3.19 sammenlignet med 3.44 for cloglog-linken. AIC-verdier ble 35.93 med 2. gradsledd og 33.64 for cloglog. Forelesning 6 STK3100 p. 35/36 Tilpassede sannsynligheter for billedata med logistisk regresjon og cloglog-link: Log-link R har også implementert "log-link" der andel dode biller logistisk cloglog 1.70 1.75 1.80 1.85 dose (log_10) Cloglog-linken treffer observerte andeler bedre enn logistisk regr., svarer til residual-devians på 3.45 for cloglog og 11.23 for logistisk regresjon. Forelesning 6 STK3100 p. 34/36 eller η i = g(π i ) = log(π i ) π i = ep(η i ) Denne linken begrenser ikke π i til verdier mindre enn 1 og er lite nyttig for data med andeler er nær 1. Forsøk på å tilpasse log-link for billedataene i R gir > logfit<-glm(cbind(d,n-d) Dose,family=binomial(link=log)) Error: no valid set of coefficients has been found: please supply starting values Log-linken er likevel nyttig ved når sannsynlighetene π i ikke er veldige store og gir da lett fortolkbare regresjons-parametre. Forelesning 6 STK3100 p. 36/36