Statistiske Modeller 1: Kontingenstabeller i SAS Jens Ledet Jensen October 31, 2005 1 Indledning Som vist i Notat 1 afsnit 13 er 2 log Q for et test i en multinomialmodel ækvivalent med et test i en poissonmodel. Mere præcist, hvis vi i multinomialmodellen vil teste π Π 2 under π Π 1, hvor Π 2 Π 1 Π (k), er 2 log Q den samme som hvis vi i poissonmodellen med λ i = γπ i, i = 1,..., k, tester (γ, π) R + Π 2 under modellen (γ, π) R + Π 1. Desuden fås estimaterne i multinomialmodellen fra estimaterne i poissonmodellen ved ˆπ i = ˆλ i /ˆλ = ˆλ i /n, hvor n er det samlede antal observationer, n = i n(i). For at lave beregninger i multinomialmodellen i SAS gør vi derfor det at vi bruger poissonmodellen i SAS. Hvis vi specificerer sandsynlighederne i en multinomialmodel ved { } p(i) = exp φ 0 + a φ a (i a ), hvor A er en klasse af ikke-tomme delmængder af mængden af inddelingskriterier Γ, så vil φ 0 være bestemt ved i p(i) = 1. Den tilsvarende poissonmodel er givet ved { } λ i = exp φ 0 + a φ a (i a ), (1) hvor φ 0 nu varierer frit. Estimatet for φ a (i a ) fra poissonmodellen er det samme som estimatet i multinomialmodellen. 2 Dataindlæsning En kontingenstabel indlæses i SAS i form af en matriks. Antallet af rækker er lig med antallet af celler i kontingenstabellen, det vil sige I = γ Γ I γ, og antallet af søjler er lig med antallet af inddelingskriterier plus 1, det vil sige Γ + 1. I SAS hedder et inddelingskriterie en faktor. Hvert inddelingskriterie svarer til en søjle, og her angives for hver celle i kontingenstabellen niveauet for dette kriterie. Den sidste søjle indeholder de observerede antal i hver celle. Læser vi en række fra venstre mod højre får vi værdierne for niveauerne af alle kriterierne i Γ for en given celle, og til sidst får vi det observerede antal i cellen. 1
Som et eksempel ser vi på hvor mange der har bestået første årsprøve på politstudiet på København Universitet i årgangene 1970 1974. Vi deler ind efter den adgangsgivende eksamen: matematikere, sproglige, andre, efter køn: mænd, kvinder, og efter resultat: bestået, dumpet. Tallene er givet i tabellen nedenfor. bestået dumpet matematikere mænd 407 460 kvinder 39 50 sproglige mænd 46 112 kvinder 20 42 andre mænd 42 177 kvinder 8 24 To versioner af det tilsvarende input til SAS er gengivet nedenfor. I den første version er den adgangsgivende eksamen kodet som 1,2,3, køn er kodet som 1,2, og resultat er kodet som 1,2. DATA politstudie; INPUT adgang koen resultat antal; DATALINES; 1 1 1 407 1 1 2 460 1 2 1 39 1 2 2 50 2 1 1 46 2 1 2 112 2 2 1 20 2 2 2 42 3 1 1 42 3 1 2 177 3 2 1 8 3 2 2 24 ; I den næste version er den adgangsgivende eksamen kodet som mat, sprog, andet, køn er kodet som mand, kvinde, og resultat er kodet som bestaaet, dumpet. DATA politstudie; INPUT adgang$1-5 koen$7-12 resultat$14-21 antal; DATALINES; mat mand bestaaet 407 mat mand dumpet 460 mat kvinde bestaaet 39 mat kvinde dumpet 50 sprog mand bestaaet 46 sprog mand dumpet 112 sprog kvinde bestaaet 20 2
sprog kvinde dumpet 42 andet mand bestaaet 42 andet mand dumpet 177 andet kvinde bestaaet 8 andet kvinde dumpet 24 ; 3 Modelspecifikation Vi vil betragte modeller hvor cellesandsynlighederne p(i) specificeres ved hovedvirkninger og interaktioner. Lad os starte med et eksempel. Vi betragter en 2-dimensional kontingenstabel hvor de to inddelingskriterier er rækker R og søjler S. Der er r niveauer for R og s niveauer for S. Følgende tabel giver en række modeller og deres beskrivelse i SAS: model cellesandsynlighed SAS M 0 p ij fri R S R*S M 1 p ij = α i β j R S 1 M 2 p ij = α i R s M2 p ij = 1β r j S M 3 p ij = 1 1 r s Princippet i SAS opskrivningen er at hovedvirkninger angives ved at skrive navnet på kriteriet (eller faktoren), og vekselvirkninger angives ved at skrive navnene på de faktorer der indgår med imellem. Lad os prøve at formulere SAS opskrivningen generelt. Lad Γ være mængden af inddelingskriterier eller faktorer. Lad A være en klasse af ikke-tomme delmængder af Γ. Vi betragter modellen hvor { } p(i) = exp φ 0 + a A φ a (i a ). Modelopskrivningen i SAS består nu i en opremsning af alle elementer i A. Hvis a A består af et inddelingskriterie kun, a = {γ}, skriver vi bidraget i modelformlen som γ (svarende til R og S i eksemplet ovenfor). Hvis a A indeholder flere elementer, a = {γ 1,..., γ v }, skriver vi bidraget i modelformlen som γ 1 γ 2 γ v. Hvis A = {a 1,...,a k }, og hvis vi indfører notationen { γ hvis a = {γ}, ã = γ 1 γ 2 γ v hvis a = {γ 1,...,γ v }, så kan vi angive modelformlen som ã 1 ã 2 ã k (2) Man benytter altid følgende konvention for rækkefølgen af leddene i (2): 3
Konvention A: Hvis a 1, a 2 A og a 1 a 2 så skrives ã 1 før ã 2. (3) For at lave en entydig opskrivning af parametrene i modellen bruger vi den konvention, at hvis et interaktionsled er med i modellen, så skal alle lavere ordens interaktionsled, indeholdt i dette led, også med. Vi kan sige dette mere præcist på følgende vis. Vi betragter modellen { } p(i) = exp φ 0 + a A φ a (i a ). (4) hvor A er en klasse af ikke-tomme delmængder af Γ. Konvention B: a A b A b a. (5) Betragt som et eksempel en 3-dimensional kontingenstabel med inddelingskriterierne R, S, og H. Vi vil undersøge modellen hvor der er interaktion mellem R og S, mellem R og H, men hvor der ikke er interaktion mellem S og H og der er ingen trejde ordens interaktion. I SAS bliver denne model R S H R S R H (6) For ydermere at have en entydig opskrivning under konvention B i (5) benytter SAS den opskrivning der er nævnt i (3) i LCT. Reference cellen i, der benyttes til dette, er i SAS cellen givet ved det sidste niveau for alle inddelingskriterierne. For en 2-dimensional kontingenstabel med inddelingskriterier R og S og r niveauer for R og s niveauer for S har vi således φ R (r) = 0, φ S (s) = 0, φ R,S (r, j) = 0 j, φ R,S (i, s) = 0 i. Bemærkning: (I behøves ikke at læse dette.) Det er ikke strengt nødvendigt at overholde konvention B i (5). Selvom ikke alle b a er inkluderet i A vil SAS fitte den samme model. I eksemplet ovenfor med tre inddelingskriterier vil SAS fitte den samme model som i (6) ved blot at skrive R S R H. Parametriseringen er imidlertid anderledes og det kan være svært at overskue dette. Ydermere vil det have indflydelse på dele af det output som omtales nedenfor. 4 SAS kørsel Lad os som et eksempel starte med at analysere data i politstudie fra afsnit 2. Vi kører først en fuld model med alle interaktioner. I SAS kan det gøres som følger. PROC GENMOD DATA=politstudie ORDER=DATA; CLASS adgang koen resultat; MODEL antal=adgang koen resultat adgang*koen adgang*resultat koen*resultat adgang*koen*resultat/dist=poisson; 4
Hvis vi vil undersøge modellen, hvor der kun er interaktion mellem adgang og koen og mellem adgang og resultat, skriver vi PROC GENMOD DATA=politstudie ORDER=DATA; CLASS adgang koen resultat; MODEL antal=adgang koen resultat adgang*koen adgang*resultat/ dist=poisson; (7) Generelt skal vi i første linie angive navnet på vores datamatriks: (8) PROC GENMOD DATA=<navn> ORDER=DATA; Genmod er navnet på den relevante procedure i SAS, og ORDER=DATA er en besked til SAS om at bruge samme rækkefølge for niveauerne som den hvormed de optræder ved indlæsningen af data. I den næste linie: CLASS F1 F2... Fk; angives navnene på alle faktorerne (inddelingskriterierne) i datasættet. Dette er altså alle navnene pånær det sidste i INPUT linien i forbindelse med indlæsningen af data. Endelig følger specifikation af modellen i linien MODEL antal=<interaktionsled>/dist=poisson; Her er antal det navn vi brugte i INPUT linien i forbindelse med indlæsningen af data for søjlen med antal observationer i hver celle. <interaktionsled> er en specifikation af modellen som i (2) og eksemplificeret i (6), og hvor vi bruger konvention B i (5). At data skal analyseres i en poissonmodel angives ved dist=poisson. 5 Output Den første del af output fra kørsel af politstudie i (7) er som følger: The GENMOD Procedure Model Information Data Set WORK.POLITSTUDIE Distribution Poisson Link Function Log Dependent Variable antal Observations Used 12 5
Class Level Information Class Levels Values adgang 3 mat sprog andet koen 2 mand kvinde resultat 2 bestaaet dumpet Criteria For Assessing Goodness Of Fit Criterion DF Value Value/DF Deviance 0 0.0000. Scaled Deviance 0 0.0000. Pearson Chi-Square 0 0.0000. Scaled Pearson X2 0 0.0000. Log Likelihood 6264.9868 Hvis vi istedet kører modellen i (8) er den første del med Model Information og Class Level Information naturligvis som før, hvorimod Criteria For Assessing Goodness Of Fit bliver: Criteria For Assessing Goodness Of Fit Criterion DF Value Value/DF Deviance 3 1.0900 0.3633 Scaled Deviance 3 1.0900 0.3633 Pearson Chi-Square 3 1.1192 0.3731 Scaled Pearson X2 3 1.1192 0.3731 Log Likelihood 6264.4418 SAS giver således først information om hvilket datasæt der er analyseret, og hvilke faktorer der indgår. Den egentlige analyse starter først med Criteria For Assessing Goodness Of Fit. Den sidste linie Log Likelihood angiver den maksimale værdi af loglikelihood funktionen for den betragtede model (i poissonmodellen). Hvis vi ønsker at lave et test for reduktionen af modellen fra (7) til (8) bliver 2 log Q: 2 log Q = 2[6264.9868 6264.4418] = 1.0900. (9) Generelt er antallet af frihedsgrader i den approksimerende χ 2 -fordeling d 1 d 2, hvor d 1 er antallet af frie parametre i den model vi tester under, og d 2 er antallet af frie parametre i den model vi ønsker at teste. Antallet af frie parametre kan findes ved hjælp af tallet angivet i søjlen DF. Reglen er, at d = k 1 DF, hvor k er antallet af celler i kontingenstabellen som angives under Observations Used i output. Vi får derfor at d 1 d 2 = (k 1 DF 1 ) (k 1 DF 2 ) = DF 2 DF 1. I tilfældet ovenfor bliver antallet af frihedsgrader altså 3 0 = 3. 6
De fire linier ovenover Log Likelihood angiver forskellige teststørrelser for et test af den fittede model under den fulde model hvor alle parametrene kan variere frit. Deviance og Scaled Deviance er 2 log Q for dette test, hvorimod Pearson Chi-Square og Scaled Pearson X2 er X 2 = i (n(i) e(i))2 /e(i), hvor e(i) er det forventede antal e(i) = nˆp(i) i celle i under modellen. Da det første output ovenfor svarer til den fulde model (7), er der ingen forskel mellem den fulde model og den fittede model, hvorfor teststørrelserne er nul. I det næste output fra model (8) ser vi, at Deviance er den samme værdi som vi selv beregnede i (9), idet vi i (9) netop testede under den fulde model (7). Den næste del af output giver de estimerede parametre under modellen, det vil sige φ a (i a ), a A, for modellen givet ved (4), og φ 0 fra den tilsvarende poissonmodel (1). I tabel 1 gengives dette for kørslen af modellen i (8). Udover estimatet angives en standardafvigelse på estimatet og et approksimativt 95% konfidensinterval. Endelig angives der en teststørrelse for om denne parameter kan testes lig med nul, og den tilsvarende p-værdi angives. Bemærk at visse parametre er sat til nul for at have en entydig parametrisering, jævnfør (3) i LCT. Opsummering: Hvis vi ønsker at lave et 2 log Q test model M 2 under en model M 1 laver vi to SAS-kørsler, en for model M 1 og en for model M 2. Vi aflæser så Log Likelihood i de to kørsler og beregner 2 log Q herfra. Estimaterne for φ a (i a ), a A, i modellen (4) aflæses direkte i SAS-udskriften. 6 De forventede antal Hvis vi ændrer kaldet i (8) til PROC GENMOD DATA=politstudie ORDER=DATA; CLASS adgang koen resultat; MODEL antal=adgang koen resultat adgang*koen adgang*resultat/ dist=poisson PREDICTED; bevirker dette at der til sidst i output skrives en tabel med overskriften Observation Statistics. Denne ses nedenfor. Observation Statistics Observation antal Pred Xbeta Std HessWgt (10) 1 407 404.47908 6.0026 0.0484719 404.47908 2 460 462.52092 6.1366918 0.045477 462.52092 3 39 41.520921 3.7261974 0.1114992 41.520921 7
Analysis Of Parameter Estimates Standard Wald 95% Confidence Chi- Parameter DF Estimate Error Limits Square Pr > ChiSq Intercept 1 3.2436 0.1796 2.8917 3.5955 326.32 <.0001 adgang mat 1 0.6167 0.2107 0.2037 1.0297 8.57 0.0034 adgang sprog 1 0.5269 0.2243 0.0872 0.9665 5.52 0.0188 adgang andet 0 0.0000 0.0000 0.0000 0.0000.. koen mand 1 1.9233 0.1893 1.5524 2.2943 103.28 <.0001 koen kvinde 0 0.0000 0.0000 0.0000 0.0000.. resultat bestaaet 1-1.3913 0.1580-1.7010-1.0815 77.50 <.0001 resultat dumpet 0 0.0000 0.0000 0.0000 0.0000.. adgang*koen mat mand 1 0.3531 0.2196-0.0773 0.7834 2.59 0.1078 adgang*koen mat kvinde 0 0.0000 0.0000 0.0000 0.0000.. adgang*koen sprog mand 1-0.9879 0.2414-1.4610-0.5147 16.75 <.0001 adgang*koen sprog kvinde 0 0.0000 0.0000 0.0000 0.0000.. adgang*koen andet mand 0 0.0000 0.0000 0.0000 0.0000.. adgang*koen andet kvinde 0 0.0000 0.0000 0.0000 0.0000.. adgang*resultat mat bestaaet 1 1.2572 0.1708 0.9224 1.5920 54.17 <.0001 adgang*resultat mat dumpet 0 0.0000 0.0000 0.0000 0.0000.. adgang*resultat sprog bestaaet 1 0.5440 0.2159 0.1208 0.9672 6.35 0.0118 adgang*resultat sprog dumpet 0 0.0000 0.0000 0.0000 0.0000.. adgang*resultat andet bestaaet 0 0.0000 0.0000 0.0000 0.0000.. adgang*resultat andet dumpet 0 0.0000 0.0000 0.0000 0.0000.. Scale 0 1.0000 0.0000 1.0000 1.0000 8 NOTE: The scale parameter was held fixed. Table 1: Udskrift fra SAS: estimater.
4 50 47.479079 3.8602892 0.1102303 47.479079 5 46 47.4 3.8586222 0.1301352 47.4 6 112 110.6 4.7059201 0.0909789 110.6 7 20 18.6 2.9231616 0.1635087 18.6 8 42 43.4 3.7704594 0.134451 43.4 9 42 43.625498 3.7756418 0.1434648 43.625498 10 177 175.3745 5.1669237 0.0745471 175.3745 11 8 6.374502 1.852306 0.2174073 6.374502 12 24 25.625498 3.2435879 0.179558 25.625498 Første søjle er blot en nummerering af cellerne, anden søjle er de observerede antal i cellerne, og trejde søjle er de forventede antal under den model der fittes til data som angivet i SAS-kaldet (10). Denne tabel kan bruges til at checke om alle de forventede er større end eller lig med 5, som er vores tommelfingerregel for at bruge den approksimerende chi 2 -fordeling til 2 log Q. 7 Type 1 og 3 tabeller Hvis vi ændrer kaldet i (8) til PROC GENMOD DATA=politstudie ORDER=DATA; CLASS adgang koen resultat; MODEL antal=adgang koen resultat adgang*koen adgang*resultat/ dist=poisson TYPE1 TYPE3; bevirker dette, at der til sidst i output skrives en tabel med overskriften LR Statistics For Type 1 Analysis, og en tabel med overskriften LR Statistics For Type 3 Analysis. Hver af de to tabeller har en række for hvert af de led der angives i modelformlen i (11), og rækkefølgen er som angivet i modelformlen. Det er derfor vigtigt at konvention A i (3) overholdes. Udover rækkefølgen af leddene i modelformlen i (11) er tabellerne afhængige af hvilke led der indgår i formlen, hvorfor det er vigtigt at overholde konvention B i (5). (11) LR Statistics For Type 3 Analysis Chi- Source DF Square Pr > ChiSq adgang 2 200.19 <.0001 koen 1 508.05 <.0001 resultat 1 126.69 <.0001 adgang*koen 2 47.92 <.0001 adgang*resultat 2 72.98 <.0001 9
I tabellen LR Statistics For Type 3 Analysis indeholder søjlen Chi-Square den sædvanlige 2 log Q teststørrelse for at vi kan fjerne det led, der er angivet under Source, når vi tester under den model (11) der blev angivet ved kaldet af SAS. Sojlen med DF angiver frihedsgraderne i den approksimerende χ 2 -fordeling, og søjlen Pr > ChiSq er p-værdien for dette test. I denne tabel giver det kun mening at betragte nogle af rækkerne. Hvis vi siger at modellen er givet ved en klasse A af ikke-tomme delmængder af Γ, som i (2), vil vi kun betragte de rækker der svarer til b A for hvilke der ikke findes a A med b a. I tabellen ovenfor svarer det til at vi ikke vil betragte de tre første rækker, men kun betragte de to sidste rækker. Forklaringen paa dette er, at hvis en model indeholder en interaktion mellem nogle faktorer, så vil alle lavere ordens interaktioner også naturligt være tilstede, hvorfor en sådan lavere ordens interaktion ikke kan fjernes alene. Hvis vi i en type 3 tabel finder at det er rimeligt at fjerne et led fra modellen (for eksempel hvis p-værdien er større end 0.05), vil vi lave en ny SAS-kørsel hvor vi fjerner dette led fra modelformlen. LR Statistics For Type 1 Analysis Chi- Source Deviance DF Square Pr > ChiSq Intercept 1746.3545 adgang 1071.8911 2 674.46 <.0001 koen 186.8147 1 885.08 <.0001 resultat 121.9852 1 64.83 <.0001 adgang*koen 74.0661 2 47.92 <.0001 adgang*resultat 1.0900 2 72.98 <.0001 Vi læser tabellen LR Statistics For Type 1 Analysis nedefra. Hver række indeholder et test for at vi kan fjerne det led, der angives under Source, hvor vi tester under den model der fremkommer ved at fjerne alle de led der står i rækkerne under den aktuelle række fra den oprindelige modelformel i (11). Søjlen Chi-Square indeholder 2 log Q teststørrelsen og DF angiver frihedsgraderne i den approksimerende χ 2 - fordeling. Hvis vi kigger på rækken adgang*resultat får vi teststørrelsen for et test af modellen adgang koen resultat adgang*koen under modellen adgang koen resultat adgang*koen adgang*resultat Hvis vi kigger på rækken resultat får vi teststørrelsen for et test af modellen under modellen adgang koen adgang koen resultat Type 1 tabellen indeholder også en første række med navnet Intercept. Her testes at φ 0 = 0 i poissonmodellen (1). 10