Introduktion til GLIMMIX Af Jens Dick-Nielsen jens.dick-nielsen@haxholdt-company.com 21.08.2008
Proc GLIMMIX GLIMMIX kan bruges til modeller, hvor de enkelte observationer ikke nødvendigvis er uafhængige. Det er ikke et krav at responsen er normalfordelt. Generelt kan GLIMMIX anvendes til modeller indenfor klassen af generalized linear mixed models (GLMM). Det er dog et krav at en eventuel random effect skal være normal fordelt. 2
Relation til andre procedures GLIMMIX NLMIXED MIXED GENMOD GLM LOGISTIC ANOVA REG 3
Relation til andre procedures GLIMMIX er en udvidelse af MIXED, således at den marginale fordeling af responsen ikke behøves at være normalfordelt. GLIMMIX kan håndtere fordelinger fra den eksponentielle familie (inklusiv lidt mere fx beta-fordelingen). GLIMMIX er således også en udvidelse af GENMOD, så modellerne nu også kan indeholde random effects. 4
Relation til andre procedures GLIMMIX og NLMIXED er overlappende i nogle funktionaliteter. Men GLIMMIX og NLMIXED bruger hver sin estimationsteknik. Med GLIMMIX skal man ikke give et startgæt (nemmere at bruge). GLIMMIX kan håndtere flere random effects i samme model. NLMIXED kan til gengæld modellere andre fordelingstyper. GLIMMIX har mange nye ekstra funktionaliteter. 5
GLMM Den almindelige linear mixed model har formen: I SAS taler vi om en G-side effect hhv. en R-side effect. I en GLMM har vi i stedet at: 6
GLMM For en GLM er der typisk en sammenhæng mellem forventningen og variansen på den enkelte observation. Fx har vi for en poissonfordeling: I vores GLMM har vi tilsvarende at: hvor A er en diagonalmatrix med a(my) i diagonalen. 7
GLMM Samlet set så fitter GLIMMIX følgende modeller: Bemærk at man angiver den betingede fordeling af Y givet gamma. 8
GLMM Med Z=0 eller G=0 har vi en GLM (SAS bruger GENMOD). Med Y normalfordelt har vi en almindelige linear mixed model (SAS bruger MIXED). 9
Fordelinger i GLIMMIX Eksempler på betingede fordelinger i GLIMMIX: Normalfordelingen Binomialfordelingen Poissonfordelingen Negativ binonimalfordeling Gammafordelingen Betafordelingen Invers Gaussisk Exponentialfordelingen Multinomialfordeling Ordinal logistisk Med flere 10
Mulige anvendelser Generelt kan GLIMMIX anvendes til forsøg, hvor forskellige observationer ikke er uafhængige af hinanden. Ved gentagne målinger på samme individ (fx over tid). Randomiserede forsøg, hvor man tilfældigt udvælger grupper ud af en større population, og man vil kontrollere for afhængigheden indenfor grupperne. 11
Konkrete eksempler Følger behandlingen af patienter ved forskellige sygehuse. Antal epilepsitilfælde, antal hypoglykæmitilfælde etc. Responsen er diskret. Responsen er målt flere gange på den samme patient over et behandlingsforløb. Målinger på samme patient er ikke uafhængige. Sygehusene er tilfældigt udvalgte. Der kan være en (tilfældig) effekt af de forhold under hvilken behandlingen udføres. 12
Konkrete eksempler Hvem består eksamen? Hvad bestemmer sandsynligheden for at bestå en eksamen? Responsen er binomialfordelt. Følger elever på tilfældigt udvalgte skoler og klasser. En random effect, en G-side effect. Ser på flere eksamerne for den samme elev. Gentagne målinger, en R-side effect. 13
Konkrete eksempler Hierarkiske forsøgsdesign. Flere responser fra det samme individ med forskellige fordelinger. Man måler 2 ting på den samme person. Den ene kunne være diskret og den anden kontinuert. Nogle forklarende variable er fælles og andre hører kun til den ene respons. 14
Logistisk regression med random intercept Man ser på behandlingen af en sygdom med 2 forskellige medicinske teknikker. Med henblik på sammenligning af behandlingerne udvælges tilfældigt 15 sygehuse. På hvert sygehus udvælges et tilfældigt antal patienter n A og n b som modtager behandling A hhv. B. Vi ser så på antallet blandt de udvalgte patienter, der fik mindst 1 sideeffekt ved behandlingen. 15
Logistisk regression med random intercept Udsnit af data 16
Logistisk regression med random intercept En oplagt model ville være en logistisk regression med en fixed effect for behandlingstypen og en random effect for sygehuset. hvor så 17
Logistisk regression med random intercept SAS koden: proc glimmix data=multicenter; class center group; model sideeffect/n = group /dist=bin link=logit solution; random intercept / subject=center; run; class og model har samme funktion som i fx GENMOD. random har samme funktion som i MIXED. 18
Logistisk regression med random intercept Model information: 19
Logistisk regression med random intercept Modellens dimensioner: 20
Logistisk regression med random intercept Modellens fit: 21
Logistisk regression med random intercept De estimerede parametre: 22
Logistisk regression med random intercept Den estimerede model bliver derfor: Det er muligt at få meget andet output blandt andet et estimat for den tilfældige effekt fra hvert center. Odds ratios. 23
Logistisk regression med random intercept Hvis vi vil se på predikterede værdier skriver vi: proc glimmix data=multicenter; class center group; model sideeffect/n = group /dist=bin link=logit solution; random intercept / subject=center; output out=glimmixout pred( blup ilink)=predprob pred(noblup ilink)=predprob_pa; run; 24
Logistisk regression med random intercept De predikterede værdier: 25
Logistisk regression med random intercept Vi kan se at vi får en sandsynlighed, der varierer fra center til center. Den er udregnet på baggrund af et estimat af centerets random effect (best linear unbiased prediction BLUP): Den anden sandsynlighed er udregnet ved at sætte gamma = 0. 26
Logistisk regression med random intercept Den sidste sandsynlighed hedder en population average i SAS. Navnet kommer fordi gamma i gennemsnit er 0. Men bemærk, at man ser bort fra en effekt af Jensens ulighed, hvis man finder forventning på denne måde. Man skal være opmærksom på, hvad det er man egentlig gerne vil have ud! Eksempel: 27
Estimation i GLIMMIX Det er ikke trivielt at fitte en GLMM. Den marginale likelihood funktion kan skrives som: Hvis vi havde en almindelig linear mixed model fik vi: Betinget fordeling Marginal fordeling 28
Estimation i GLIMMIX Men med en GLMM kan vi normalt ikke finde den marginale fordeling så let. NLMIXED laver i stedet numerisk integration. GLIMMIX laver en linearisering af modellen og estimerer så iterativt som var det en almindelig linear mixed model. GLIMMIX fandtes tidligere i en macro udgave i SAS og denne lavede netop samme type linearisering, hvorefter den kaldte MIXED. 29
Estimation i GLIMMIX Pseudo-likelihood (lineariserings) metoden Linearisering af modellen ved en 1. ordens Taylor udvikling. Opdater din linearisering med de nye estimater. Opstil en linear mixed model med den lineariserede pseudo-respons. Fit den nye linear mixed model. 30
Estimation i GLIMMIX Husk at vi har forventningen givet som: En 1. ordens Taylor udvikling omkring beta og gamma giver: hvor (en diagonal matrix) 31
Estimation i GLIMMIX Denne linearisering giver den nye respons P: hvor variansen er givet ved: Denne nye model behandles som om den have normalfordelte fejlled. 32
Estimation i GLIMMIX Efter hver estimation af beta og gamma, så indsættes de nye estimater i lineariesringen af modellen, således at vi får et nyt P. Denne iterative estimation fortsætte indtil parametrene konvergere. GLIMMIX bruger forskellige metoder til at reducere bias i estimationen på. Valget af den præcise estimations metode afhænger af, hvilken model det er man estimerer. 33
Multivariate responser Det er muligt i MIXED at modellere multivariate normalfordelte responser. Her kunne responserne have dels fælles forklarende variable og dels hver sine. Denne mulighed er udbygget i GLIMMIX til at man kan modellere multivariat data, hvor responserne ikke behøves at have samme type af fordeling. Fx normalfordelt & binomialfordelt Fx binomialfordelt & poissonfordelt Fx bivariate poissonfordelt 34
Binomial og Poisson Vi undersøger igen patienter på et hospital. Denne gang er vi interesseret i længden af hospitalsopholdet efter en bestemt slags operation. Responserne er længden af opholdet i dage og operationens succes på niveauerne rutinemæssigt forløb efter operationen eller ekstra operationer nødvendigt. Antal dage kunne være poissonfordelt, mens succes er binomialfordelt. 35
Binomial og Poisson Forklarende variable er alder, køn og status (en vurdering af deres tilstand lige efter operationen). Vi forventer at bruge samme forklarende variable til at forklare de 2 responser. Man kunne lave 2 uafhængige analyser. Men så ville man ikke tage højde for at operationens succes og længden af opholdet meget vel kunne være afhængige. 36
Binomial og Poisson Data 37
Binomial og Poisson Data til GLIMMIX 38
Binomial og Poisson SAS kode til hver sin analyse proc glimmix data=hernio_uv(where=(dist="binary")); model response(event= 1 ) = age OKStatus / solution dist=binary; run; proc glimmix data=hernio_uv(where=(dist="poisson")); model response = age OKStatus / solution dist=poisson; run; 39
Binomial og Poisson Estimerede parametre (logistisk hhv. poisson). 40
Binomial og Poisson Vi kan lave en samlet analyse af de to variable: proc glimmix data=hernio_uv; class dist; model response(event= 1 ) = dist dist*age dist*okstatus / noint s dist=byobs(dist); run; Her har vi ikke specificeret nogen form for afhængigheder. GLIMMIX udregner en samlet additiv log-likelihood. 41
Binomial og Poisson Resultater Estimaterne er de samme, men varianser er anderledes fordi vi har flere observationer. 42
Binomial og Poisson Vi kan lave afhængighed mellem udfaldene vha. en R-side eller en G-side effect. Vi vælger her en G-side random effect. proc glimmix data=hernio_uv; class patient dist; model response(event= 1 ) = dist dist*age dist*okstatus /noint s dist=byobs(dist); random int / subject=patient; run; 43
Binomial og Poisson Resultater 44
Binomial og Poisson Type III test. Det ser ud til at der faktisk er en patient effekt, men ikke en status effekt. 45
Binomial og Poisson Dette er måske ikke den mest attraktive model for data. Vores G-side effect indgår i den lineære form i modellen. Det er måske bedre med en R-side effect, der modellere ved at tage hensyn til skalaen for den enkelte variabel. Stadig er det måske ikke den optimale løsning, da kovarians og korrelation ikke er et naturligt afhængighedsmål for binomialfordelte variable. Her kan man se på mere avancerede muligheder i GLIMMIX. 46
Binomial og Poisson Kode til en R-side effect: proc glimmix data=hernio_uv; class patient dist; model response(event="1") = dist dist*age dist*okstatus / noint s dist=byobs(dist); random _residual_ / subject=patient type=chol; run; Her laver vi en R-side effect, hvor der er afhængighed mellem observationer for samme patient. Kovariansmatricen består af blokke af 2x2 matricer med 3 frie parametre. Type=Chol sikre os en positiv definit kovariansmatrix. 47
Andre eksempler Gruppeafhængig overdispersion Kan udregne og gemme variable på baggrund af de estimerede værdier af beta (_xbeta_) og gamma (_zgamma_). Konstruer dine egne variansfunktioner mv. Spatial modelling. Ordinal og multinomial logistisk regression. Mange typer af korrelationsstrukturer AR(1), ARMA(1,1) Compound symmetry VC Aftager i afstanden mellem observationer eller afstanden i en variabel. 48