Vejledende besvarelse af hjemmeopgave, efterår 2016

Relaterede dokumenter
Vejledende besvarelse af hjemmeopgave, forår 2018

Vejledende besvarelse af hjemmeopgave, forår 2017

Øvelser til basalkursus, 5. uge. Opgavebesvarelse: Knogledensitet hos unge piger

Øvelser til basalkursus, 5. uge. Opgavebesvarelse: Knogledensitet hos unge piger

Vejledende besvarelse af hjemmeopgave i Basal Statistik, forår 2014

Vejledende besvarelse af hjemmeopgave, forår 2016

Vejledende besvarelse af hjemmeopgave

Vejledende besvarelse af hjemmeopgave, forår 2015

Vejledende besvarelse af hjemmeopgave i Basal statistik for lægevidenskabelige forskere, forår 2013

Vejledende besvarelse af hjemmeopgave, efterår 2018

Det kunne godt se ud til at ikke-rygere er ældre. Spredningen ser ud til at være nogenlunde ens i de to grupper.

Vi ønsker at konstruere normalområder for stofskiftet, som funktion af kropsvægten.

Eksamen i Statistik for Biokemikere, Blok januar 2009

Opgavebesvarelse, brain weight

Vejledende besvarelse af hjemmeopgave, efterår 2017

β = SDD xt SSD t σ 2 s 2 02 = SSD 02 f 02 i=1

Opgave 1 Betragt to diskrete stokastiske variable X og Y. Antag at sandsynlighedsfunktionen p X for X er givet ved

Filen indeholder 45 linier, først en linie med variabelnavnene (bw og rmr) og derefter 44 datalinier, hver med disse to oplysninger.

Vejledende besvarelse af hjemmeopgave, efterår 2015

Opgaver til ZAR II. Afdeling for Anvendt Matematik og Statistik Michael Sørensen Oktober Opgave 1

Phd-kursus i Basal Statistik, Opgaver til 2. uge

Besvarelse af vitcap -opgaven

Opgavebesvarelse, Basalkursus, uge 2

Lineær regression i SAS. Lineær regression i SAS p.1/20

Lineær regression. Simpel regression. Model. ofte bruges følgende notation:

Basal Statistik. Simpel lineær regression. Simpel lineær regression. Data. Faculty of Health Sciences

k normalfordelte observationsrækker (ensidet variansanalyse)

1. Lav en passende arbejdstegning, der illustrerer samtlige enkeltobservationer.

Reeksamen i Statistik for Biokemikere 6. april 2009

Variansanalyse i SAS. Institut for Matematiske Fag December 2007

Løsning til opgave i logistisk regression

Multipel regression. M variable En afhængig (Y) M-1 m uafhængige / forklarende / prædikterende (X 1 til X m ) Model

Opgavebesvarelse, brain weight

Basal statistik for sundhedsvidenskabelige forskere, efterår 2014 Udleveret 30. september, afleveres senest ved øvelserne i uge 44 (

Løsning til øvelsesopgaver dag 4 spg 5-9

En Introduktion til SAS. Kapitel 5.

CLASS temp medie; MODEL rate=temp medie/solution; RUN;

Program. Konfidensinterval og hypotesetest, del 2 en enkelt normalfordelt stikprøve I SAS. Øvelse: effekt af diæter

Opgavebesvarelse, Basalkursus, uge 3

Afdeling for Anvendt Matematik og Statistik Januar Regressionsanalyse i SAS 2. Regressionsanalyse med GLM Sammenligning af regressionslinier

Opgavebesvarelse, korrelerede målinger

Basal Statistik. Simpel lineær regression. Simpel lineær regression. Data. Faculty of Health Sciences

Basal statistik for lægevidenskabelige forskere, forår 2012 Udleveret 6.marts, afleveres senest ved øvelserne i uge 15 (

Faculty of Health Sciences. Basal Statistik. Regressionsanalyse. Lene Theil Skovgaard. 26. september 2017

Besvarelse af opgave om Vital Capacity

Basal statistik. Logaritmer og kovariansanalyse. Nyt eksempel vedr. sammenligning af målemetoder. Scatter plot af de to metoder

Faculty of Health Sciences. Basal statistik. Logaritmer. Kovariansanalyse. Lene Theil Skovgaard. 29. september 2015

Besvarelse af juul2 -opgaven

Reeksamen i Statistik for biokemikere. Blok

Regressionsanalyse i SAS

Vejledende besvarelse af hjemmeopgave, forår 2018

Kommentarer til øvelser i basalkursus, 2. uge

Kursus i varians- og regressionsanalyse Data med detektionsgrænse. Birthe Lykke Thomsen H. Lundbeck A/S

Eksamen i Statistik for biokemikere. Blok

Naturvidenskabelig Bacheloruddannelse Forår 2006 Matematisk Modellering 1 Side 1

n r x rs x r = 1 n r s=1 (x rs x r ) 2, s=1

Phd-kursus i Basal Statistik, Opgaver til 1. uge

Generelle lineære modeller

Basal statistik. Logaritmer og kovariansanalyse. Sammenligning af målemetoder. Scatter plot af de to metoder. Faculty of Health Sciences

Basal Statistik - SPSS

Faculty of Health Sciences. Basal statistik. Logaritmer, Repetition, Kovariansanalyse, Interaktion. Lene Theil Skovgaard. 1.

Institut for Matematiske Fag Matematisk Modellering 1 UGESEDDEL 6

Besvarelse af opgave om Vital Capacity

Faculty of Health Sciences. Basal statistik. Logaritmer, Repetition, Kovariansanalyse, Interaktion. Lene Theil Skovgaard. 12.

men nu er Z N((µ 1 µ 0 ) n/σ, 1)!! Forkaster hvis X 191 eller X 209 eller

Modul 11: Simpel lineær regression

Vejledende besvarelse af hjemmeopgave, forår 2017

Vejledende besvarelse af hjemmeopgave, forår 2019

Postoperative komplikationer

Basal statistik. 30. oktober 2007

Basal statistik. 30. oktober Den generelle lineære model

Basal statistik for sundhedsvidenskabelige forskere, efterår 2015 Udleveret 29. september, afleveres senest ved øvelserne i uge 44 (

Faculty of Health Sciences. Basal Statistik. Begreber. Parrede sammenligninger. Lene Theil Skovgaard. 6. september 2016

Opgavebesvarelse vedr. overlevelsesanalyse

Eksamen i Statistik for biokemikere. Blok

Basal statistik. 21. oktober 2008

Modelkontrol i Faktor Modeller

Epidemiologi og Biostatistik Opgaver i Biostatistik Uge 10: 13. april

Kommentarer til opg. 1 og 3 ved øvelser i basalkursus, 3. uge

Opgavebesvarelse, brain weight

Phd-kursus i Basal Statistik, Opgaver til 2. uge

Løsning til eksamensopgaven i Basal Biostatistik (J.nr.: 1050/06)

Program: 1. Repetition: p-værdi 2. Simpel lineær regression. 1/19

Opgavebesvarelse, brain weight

Eksamen i Statistik for biokemikere. Blok

Basal Statistik. Sammenligning af grupper. Vitamin D eksemplet. Praktisk håndtering af data. Faculty of Health Sciences

Faculty of Health Sciences. Basal Statistik. Sammenligning af grupper, Variansanalyse. Lene Theil Skovgaard. 7. februar 2017

Filen indeholder variablenavne i første linie, og de ligger i rækkefølgen

Løsning til eksaminen d. 14. december 2009

Statistiske Modeller 1: Kontingenstabeller i SAS

Program. Logistisk regression. Eksempel: pesticider og møl. Odds og odds-ratios (igen)

Model. (m separate analyser). I vores eksempel er m = 2, n 1 = 13 (13 journalister) og

Basal statistik for lægevidenskabelige forskere, forår Udleveret 12. februar, afleveres senest ved øvelserne i uge 10 (6.-9.

Basal Statistik - SPSS

Opgavebesvarelse, logistisk regression

Basal Statistik. En- og to-stikprøve problemer. Eksempel på parrede data. Eksempel på parrede data. Faculty of Health Sciences

Faculty of Health Sciences. Basal Statistik. T-tests. Lene Theil Skovgaard. 17. september 2013

Basal Statistik - SPSS

Multipel Lineær Regression

Basal statistik for lægevidenskabelige forskere, forår Udleveret 12. marts, afleveres senest ved øvelserne i uge 14 (2.-4.

Transkript:

Vejledende besvarelse af hjemmeopgave, efterår 2016 Udleveret 4. oktober, afleveres senest ved øvelserne i uge 44 (1.-4. november) Normal aktivitet af enzymet plasma kolinesterase er en forudsætning for normal nedbrydning af flere af de muskelafslappende midler, der benyttes under bedøvelse. Visse lægemidler, såsom astmamidlet bambuterol, kan hæmme aktiviteten af kolinesterase, og i så fald må man påregne forlænget virkningsvarighed af medikamenterne, med deraf følgende risiko for komplikationer efter bedøvelsen. På hjemmesiden http://publicifsv.sund.ku.dk/~lts/basal16_2/hjemmeopgave.html ligger data fra 80 personer, der har været bedøvet. Der er 4 variable for hver person, og forslag til variabelnavne er angivet i 1. linie. Disse er: idnr: Observationsnummer (blot til brug for identifikation) bambuterol: 0 (normal), eller 1 (bambuterol) ke: Aktiviteten af kolinesterase (enhed ukendt) fer: First evoked response, dvs. tid (i minutter) til genkomst af et bestemt tegn på muskelaktivitet Der er i nedenstående besvarelse ikke udeladt nogen observationer. Der er anvendt ods graphics i mange sammenhænge, hvor det (for nogle) ikke vil være nødvendigt at skrive dette. Opgaven er at beskrive sammenhængen mellem kolinesterase aktivitet og tiden til first evoked response, samt at udtale sig om forskelle mellem de to grupper (normale og bambuterol-brugere). Først må vi jo indlæse vores data, og vi benytter de samme variabelbetegnelser som angivet ovenfor: data a1; infile 1

"http://staff.pubhealth.ku.dk/~lts/basal16_2/hjemmeopgave/hjemmeopgave.txt" URL firstobs=2; input idnr bambuterol ke fer; if bambuterol=1 then gruppe="bambuterol"; if bambuterol=0 then gruppe="normal"; logke=log10(ke); logfer=log10(fer); under200=(ke<200); label ke="kolinesterase" fer="first Evoked Response" logke="log10(kolinesterase)" logfer="log10(first Evoked Response)"; proc sort data=a0; by descending gruppe descending ke; data a1; set a0; nr=_n_; Udover indlæsningen har vi også lavet et par nye variable, dels en redefinition af gruppen, så det altid vil være klart, hvilken der refereres til, og dels nogle logaritmetransformationer, som vi får brug for i det følgende. Vi har endvidere sorteret datasættet, i omvendt alfabetisk orden (option descending), så den normale gruppe kommer først, og således at de højeste kolinesterase-værdier kommer først indenfor hver gruppe. Efterfølgende er data lagt i datasættet a1, og variablen nr er tilføjet som nummeret på observationen. Det er fordi vi har brug for denne sortering til en speciel figur i spørgsmål 1c. Der er tillige defineret nogle labels, som bare sørger for, at der kommer nogle mere sigende navne på udskrifterne (i stedet for blot ke og fer). I spørgsmål 1-3 ser vi udelukkende på den normale gruppe, altså patienter, der ikke anvender Bambuterol: 1. Beskriv fordelingen af aktiviteten af kolinesterase i denne gruppe. (a) Lav først en grafisk illustration. 2

Da der kun er tale om en enkelt gruppe, vælges et histogram, som supperes ved et fraktildiagram for også at kunne vurdere en normalfordelingstilpasning: title SPM 1 ; title2 SPM 1A ; proc sgplot data=a1; where gruppe="normal"; histogram ke; proc univariate noprint data=a1; where gruppe="normal"; qqplot ke; Her ser vi, at de typiske værdier af kolinesteraseaktivitet ligger på ca. 600-900, men at der også forekommer nogle temmelig høje værdier, der giver en anelse skævhed i fordelingen. Fraktildiagrammet bekræfter denne skævhed, idet der ses en tendens til hængekøjefacon i stedet for en helt ret linie: 3

(b) Udregn dernæst passende valgte summary statistics, som om du skulle lave en Tabel 1 til en artikel, og forklar kort hvorfor du vælger netop disse. Selv om der kun efterspørges værdier for den normale gruppe, er begge grupper medtaget nedenfor, da dette er ligeså let. I første omgang benytter vi bare de default-værdier, som SAS mener er fornuftige, når man benytter proc means: title2 SPM 1B ; proc means data=a1; class gruppe; var ke; og får outputtet: SPM 1B The MEANS Procedure Analysis Variable : ke Kolinesterase N gruppe Obs N Mean Std Dev Minimum Maximum --------------------------------------------------------------------------- bambuterol 10 10 104.2000000 109.9078402 18.0000000 384.0000000 normal 70 70 848.6000000 388.0128640 154.0000000 2334.00 --------------------------------------------------------------------------- Af disse summary statistics ses, at spredningen er temmelig stor i forhold til gennemsnittet, således at man ved direkte udregning 4

af et normalområde ville være tæt på 0: 848.6 ± 2 388.0 = (72.6, 1624.6), et interval, der ses ikke at passe ret godt med minimum og maximum. Vi vil derfor hellere benytte median og kvartiler til vores beskrivelse: proc means N median Q1 Q3 data=a1; class gruppe; var ke; og får så i stedet outputtet: SPM 1B The MEANS Procedure Analysis Variable : ke Kolinesterase N Lower Upper gruppe Obs N Median Quartile Quartile ----------------------------------------------------------------------- bambuterol 10 10 72.5000000 37.0000000 121.0000000 normal 70 70 745.5000000 650.0000000 969.0000000 ----------------------------------------------------------------------- I tabellen ovenfor bemærkes skævheden i fordelingen ved den manglende symmetri i fraktilerne svarende til 25% (Q1), 50% (median) og 75% (Q3), idet Q3 ligger noget længere væk fra medianen end Q1. Det vil derfor nok være disse værdier, man bør sætte i Tabel 1, og ikke gennemsnit og spredning. Det giver ikke så meget mening at forsøge sig med 2.5% og 97.5% fraktilerne, da 2.5% af 70 svarer til under 2 observationer. (c) Kan man sige, at det er usædvanligt lavt med en kolinesterase aktivitet på 200? Hvor mange har en værdi under dette? Vi bemærkede ovenfor, at det ikke giver mening at udregne empiriske fraktiler på så lille et datasæt. Hvis vi forsøgsvis skal udregne et referenceområde (normalområde), skal det altså gøres ved hjælp 5

af en normalfordelingsantagelse, og så må det pga skævheden i fordelingen gøres på logaritmisk skala. Vi undersøger lige, hvordan fordelingen ser ud på denne skala, blot ved igen at tegne histogram og fraktildiagram: title2 SPM 1C ; proc sgplot data=a1; where gruppe="normal"; histogram logke; proc univariate noprint data=a1; where gruppe="normal"; qqplot logke; og får figurerne Fordelingen ser mere symmetrisk ud (baseret på fraktildiagrammet, for histogrammet ser ret skævt ud til den modsatte side), kan 6

vi måske bedre tillade os at udregne gennemsnit og spredning på denne skala proc means data=a1; class gruppe; var logke; hvorved vi får SPM 1C The MEANS Procedure Analysis Variable : logke log10(kolinesterase) N gruppe Obs N Mean Std Dev Minimum Maximum --------------------------------------------------------------------------- bambuterol 10 10 1.8395802 0.4092707 1.2552725 2.5843312 normal 70 70 2.8839949 0.2074699 2.1875207 3.3681009 --------------------------------------------------------------------------- Herudfra udregner vi nu et normalområde på log 10 -skala ved 2.884 ± 2 0.207 = (2.470, 3.298) som tilbagetransformeres til intervallet (10 2.470, 10 3.298 ) = (295.1, 1986.1) Ud fra dette område ser det usandsynligt ud at have en kolinesteraseværdi så lav som 200. Lad os se på de faktiske forhold: Vi definerede ovenfor en indikatorvariabel under200=(ke<200); Denne vil have værdien 1 for alle kolinesteraseværdier under 200, og 0 ellers, så for at finde antallet af observationer under 200, behøver vi blot at tabellere denne: 7

proc freq data=a1; where gruppe="normal"; table under200 / list; hvorved vi får tabellen SPM 1C The FREQ Procedure Cumulative Cumulative under200 Frequency Percent Frequency Percent ------------------------------------------------------------- 0 68 97.14 68 97.14 1 2 2.86 70 100.00 Der er altså kun 2 af de 68 personer, der har så lav en kolinesteraseværdi, hvormed vi må konkludere, at det er ret usædvanligt. Det er dog et lille datamateriale, og hvis vi ser på 2 ud af 70 som en binomialfordeling, finder vi godt nok ˆp = 2 = 0.0286, men 70 konfidensgrænserne er ret brede proc freq data=a1; where gruppe="normal"; tables under200 / binomial; exact binomial; SPM 1C Binomial Proportion under200 = 0 Proportion (P) 0.9714 Exact Conf Limits 95% Lower Conf Limit 0.9006 95% Upper Conf Limit 0.9965 Sample Size = 70 Nu skal vi bare lige vende det om for at få andelen af 0 er: 1 0.9714 = 0.0286, med konfidensinterval (1 0.9965, 1 0.9006) = (0.0035, 0.0994), dvs. når vi betragter problemet ud fra en simpel optælling, kan vi ikke afvise, at op imod 10% i den normale gruppe kan have så lave værdier. 8

Vi kan også lave en grafisk fremstilling af fordelingen, som er lidt anderledes end sædvanligt, idet vi først sorterer data med de højeste kolinesteraseværdier først (dette gjorde vi faktisk allerede i forbindelse med indlæsningen), og derefter tegner op mod observationsnummeret: proc sgplot data=a2; where gruppe="normal"; needle X=nr Y=ke / markers; lineparm x=0 y=200 slope=0 / lineattrs=(color=red); Ovenfor er der også indlagt en vandret linie i ke=200, så man får et umiddelbart visuelt indtryk af, hvor usædvanlig denne værdi er: 2. Vi skal nu se på relationen mellem kolinesterase og first evoked response for den normale gruppe: (a) Lav et scatterplot af first evoked response mod kolinesterase for denne gruppe. Ser det rimeligt lineært ud? Vi vælger med det samme at lægge en ret linie ind på plottet (selv om til en vis grad ødelægger chancen for at se den krumme tendens): title SPM 2 ; title2 SPM 2A ; proc sgplot data=a1; where gruppe="normal"; reg Y=fer X=ke; 9

og vi får figuren: På trods af det besnærende i den rette linie, kan man godt fornemme, at der er tendens til krumning (det, man i skolen kaldte en glad parabel), idet punkterne fortrinsvis ligger over linien for lave og høje værdier af kolinesterase, og under linien for de moderate værdier. Vi vil altså forvente et krumt forløb, når residualer plottes op mod kolinesterase, og vi burde derfor ikke fortsætte med nedenstående spørgsmål. Uanset svaret på spm. 2a ønskes nedenstående spørgsmål besvaret for de utransformerede data: (b) Lav en lineær regression, og udfør passende modelkontrol og diagnostics. Sørg også for at få en figur af fittet med. Nogen indvendinger mod modelantagelserne? I så fald hvilke? For at lave en regressionsanalyse kan man benytte enten reg eller glm, jeg plejer at bruge glm, fordi man så ikke skal skifte, hvis det viser sig, at der også skal kategoriske kovariater i modellen. Sammen med regressionsanalysen anvendes tre estimate-sætninger og en output-sætning, som vi får brug for i det følgende: title2 SPM 2B ; proc glm plots=plots=(fitplot DiagnosticsPanel Residuals(smooth)) data=a1; where gruppe="normal"; 10

model fer=ke / solution clparm; estimate "effekt af 100 i ke" ke 100; estimate "ke=500" intercept 1 ke 500; estimate "ke=50" intercept 1 ke 50; output out=ny p=predicted rstudent=normresid; Nedenfor vises en del af output (der er meget, som vi ikke behøver, specielt i en så simpel model som denne) The GLM Procedure Dependent Variable: fer First Evoked Response R-Square Coeff Var Root MSE fer Mean 0.425684 26.30956 1.649985 6.271429 Standard Parameter Estimate Error t Value Pr > t effekt af 100 i ke -0.36343938 0.05119286-7.10 <.0001 ke=500 7.53837826 0.26596903 28.34 <.0001 ke=50 9.17385548 0.45390638 20.21 <.0001 Parameter 95% Confidence Limits effekt af 100 i ke -0.46559314-0.26128562 ke=500 7.00764531 8.06911120 ke=50 8.26809941 10.07961154 Standard Parameter Estimate Error t Value Pr > t Intercept 9.355575166 0.47709030 19.61 <.0001 ke -0.003634394 0.00051193-7.10 <.0001 Parameter 95% Confidence Limits Intercept 8.403556293 10.307594039 ke -0.004655931-0.002612856 Samtidig med outputtet fra regressionsanalysen får vi også et plot 11

af selve fittet, med konfidens- og prediktionsgrænser: samt modelkontroltegninger, dels det sædvanlige Panel og dels det specifikke til brug for check af lineariteten Vi kan også supplere med en ekstra figur til detektion af varianshomogenitet, nemlig kvadratroden af den numeriske værdi af residualerne, tegnet op mod de predikterede værdier. Så skal vi kun checke, om der er en stigende trend i plottet, ikke om der er trompetfacon. For at kunne lave denne figur, benytter vi datasættet tegn, dannet ud fra output-sætningen ovenfor. Her ligger nemlig de normerede residulare normresid, som vi nu regner videre på: data tegn; 12

set ny; num_normresid=abs(normresid); proc sgplot data=tegn; loess Y=num_normresid X=predicted; Fra dette sidste plot, samt fra det øverste venstre hjørne af det sædvanlige Panel ses en tydelig tendens til stigende spredning med niveauet, altså ikke varianshomogenitet. Og endnu værre: På figuren over residualer mod kolinesterase ses en tydelig krumning, så lineariteten er heller ikke god (som vi allerede tidligere har bemærket). Normalfordelingstilpasningen til residualerne er imidlertid nogenlunde, kun en anelse skævhed spores (fra fraktildiagram eller histogram). Alt i alt er vi ikke særligt begejstrede for modellen. (c) Giv en forståelig fortolkning af hældningsestimatet. Hældningsestimatet aflæses fra outputtet ovenfor til ˆβ = 0.00363. Det kan jo synes ret lille, men er alligevel stærkt signifikant forskellig fra 0 (P < 0.0001, svarende til en tydelig sammenhæng 13

mellem kolinestarseaktivitet og first evoked response). Og størrelsen på sådan et hældningsestimat kan da heller ikke vurderes uden enheder! Her betegner det effekten på first evoked response af en ændring i kolinesterase med 1 enhed, og da 1 enhed her ikke er ret meget, så er hældningen selvfølgelig heller ikke ret stor. I stedet for kunne vi spørge, hvad effekten af 100 enheder i kolinesterase betyder for længden af first evoked response, og til dette formål er der tilføjet en estimate-sætning i koden ovenfor estimate "effekt af 100 i ke" ke 100; Denne tager blot hældning og ganger med 100, og tilsvarende for konfidensintervallet, så det kunne vi godt have gjort i hovedet... Vi får resultatet Standard Parameter Estimate Error t Value Pr > t effekt af 100 i ke -0.36343938 0.05119286-7.10 <.0001 Parameter 95% Confidence Limits effekt af 100 i ke -0.46559314-0.26128562 og effekten ses altså at være en nedgang i længden af fe! på 0.36 minutter, med konfidensinterval på (0.26, 0.47). Dette svarer til ca 21 sekunder mindre (16-28) sekunder. (d) Hvad er middelværdien af first evoked response for personer med kolinesterase aktivitet på 500? Og hvad er konfidensintervallet for denne? For at svare på dette spørgsmål, skal vi først gøre os klart, hvilken udregning, vi ville lave, hvis vi skulle gøre det i hånden. Den estimerede linies ligning er FER = 9.356 0.00363 KE så for at finde middelværdien svarende til ke=500 skal vi altså udregne 9.356 0.00363 500 = 7.54 14

Så vidt, så godt, men det er meget vanskeligt at udregne konfidensintervallet for denne middelværdi selv, så vi beder derfor SAS om at udregne det ved at benytte en estimate-sætning, der udtrykker regnestykket ovenfor, nemlig intercept gange 1 + koefficient til KE gange 500 som i SAS-notation ser således ud: estimate "ke=500" intercept 1 ke 500; Herved får vi outputtet Standard Parameter Estimate Error t Value Pr > t ke=500 7.53837826 0.26596903 28.34 <.0001 Parameter 95% Confidence Limits ke=500 7.00764531 8.06911120 hvorved vi kan se, at vi regnede rigtigt ovenfor, da den estimerede middelværdi ses at være 7.54 minutter, nu angivet med konfidensinterval (7.01, 8.07) minutter. (e) Angiv et 95% prediktionsinterval for patienter med en kolinesterase aktivitet på 500. Er det usædvanligt at se sådan en person have en first evoked response på kun 5 minutter? Ovenfor fandt vi estimat og konfidensinterval for sådanne patienter med ke=500, men konfidensintervallet er jo det smalle interval om linien, som ikke siger noget om, hvor de enkelte observationer ligger. For at udregne et prediktionsinterval, skal vi bruge spredningen omkring linien, som i SAS er angivet som Root MSE. Vi ser oppe i outputtet, at denne er estimeret til 1.65 (minutter), så vi udregner et 95% prediktionsinterval for ke=500 til 7.54 ± 2 1.65 = (4.24, 10.84) 15

Da 5 (minutter) er indeholdt i dette interval, er det altså ikke helt usædvanligt (omend ikke så ofte forekommende) at se kombinationen med ke=500 og fer=5. (f) Hvis vi nu vovede en ekstrapolation af relationen fra spørgsmål 2b, hvad ville vi så gætte på, at middelværdien af first evoked response ville være, når kolinesterase var helt nede på 50? Og hvad med usikkerheden på sådan en ekstrapolation? I princippet er dette helt det samme som spørgsmål 3d, blot med ke=500 erstattet af ke=50. Vi skal dog holde for øje, at vi med så lav en kolinesterase-værdi ekstrapolerer ud over det observerede i vores datasæt (den mindste værdi i den normale gruppe er ke=154), når vi benytter sætningen estimate "ke=50" intercept 1 ke 50; og får Standard Parameter Estimate Error t Value Pr > t ke=50 9.17385548 0.45390638 20.21 <.0001 Parameter 95% Confidence Limits ke=50 8.26809941 10.07961154 altså et estimat for middelværdien af first evoked response på 9.17 minutter, med konfidensinterval (8.3, 10.1) minutter. Hvis det er et prediktionsinterval, vi ønsker, bliver dette ca. 9.17 ± 2 1.65 = (5.87, 12.47) I dette telfælde burde vi egentlig ikke benytte den simple formel for prediktionsintervaller, fordi vi ekstrapolerer så langt ud, at grænserne faktisk begymder at blive bredere. Da man ikke overhovedet bør give sig i kast med sådan en prediktion, vil vi dog ikke gå videre med det. 16

3. Foretag nu en logaritmetransformation af såvel kolinesterase som first evoked response, og svar på de samme 6 delspørgsmål som ovenfor i spm. 2, samt et ekstra (nedenfor). Logaritmetransformationerne lavede vi allerede i forbindelse med indlæsningen af data. (a) Lav et scatterplot af logaritmen til first evoked response mod logaritmen til kolinesterase for den normale gruppe. Ser det rimeligt lineært ud? Koden er ganske magen til den tidligere for de utransformerede data title SPM 3 ; title SPM 3A ; proc sgplot data=a1; where gruppe="normal"; reg Y=logfer X=logke; og giver figuren Denne ser noget pænere ud end den tilsvarende utransformerede, så her tror vi mere på de resultater, vi finder. (b) Lav en lineær regression, og udfør passende modelkontrol og diagnostics. Sørg også for at få en figur af fittet med. 17

Nogen indvendinger mod modelantagelserne? I så fald hvilke? Vi laver regressionsanalysen og medtager også de estimate-sætninger, der skal bruges i den senere spørgsmål, denne gang også med output til et nyt datasæt (vil blive forklaret nedenfor). title2 SPM 3B ; proc glm plots=plots=(fitplot DiagnosticsPanel Residuals(smooth)) data=a1; where gruppe="normal"; model logfer=logke / solution clparm; estimate "ke=500" intercept 1 logke 2.69897; estimate "ke=50" intercept 1 logke 1.69897; output out=nylog predicted=predicted_log; Outputtet bliver: SPM 3B The GLM Procedure Number of Observations Read 70 Number of Observations Used 70 Dependent Variable: logfer log10(first Evoked Response) R-Square Coeff Var Root MSE logfer Mean 0.543724 12.53756 0.097082 0.774330 Standard Parameter Estimate Error t Value Pr > t ke=500 0.86815533 0.01559741 55.66 <.0001 ke=50 1.37525045 0.06775645 20.30 <.0001 Parameter 95% Confidence Limits ke=500 0.83703118 0.89927949 ke=50 1.24004455 1.51045635 Standard Parameter Estimate Error t Value Pr > t Intercept 2.236789834 0.16287667 13.73 <.0001 logke -0.507095115 0.05633256-9.00 <.0001 Parameter 95% Confidence Limits Intercept 1.911774504 2.561805164 logke -0.619504988-0.394685243 med tilhørende figurer (incl. den specielle figur med kvadratroden 18

af de numeriske residualer tegnet op mod de predikterede værdier): Det ses, at fittet er en del bedre end før, og at modelkontrollen ikke giver anledning til nogen særlig påtale. 19

Dog er der i plottet af residualer mod kovariaten logke en del slinger, og specielt for de høje ke!-værdier synes der at være afvigelse. Dette skyldes dog nok en enkelt observation, og i hvert fald er der ikke den samme systematik i afvidelserne, som vi fandt det i analysen på den utransfornerede skala. (c) Giv en forståelig fortolkning af hældningsestimatet. Nu bliver det lidt vanskeligere, for hældningsestimatet angiver effekten af 1 enheds ændring i log10(ke), hvilket svarer til en tidobling af kolinesterase. Dette er en noget urimelig ting at angive, og vi kunne i stedet have valgt en anden logaritme. Nu er det imidlertid sådan, at når begge variable logaritmeres, så fitter man i virkeligheden en potensrelation FER = α KE β hvor α = 10 α betegner det tilbagetransformerede intercept (som ikke rigtigt interesserer os), medens hældningen β er potensen. Og denne hældning vil blive estimeret fuldstændigt ens, uanset hvilken logaritme, man har benyttet! Det betyder også, at vi nemt kan regne ud, hvad effekten af en fordobling af kolinesterase er, eller hvad effekten af en 10% stigning i kolinesterase er, nemlig Fordobling af KE: En faktor 2 β = 2 0.507 = 0.704, altså en 29.6% reduktion af first evoked response 10% forøgelse af KE: En faktor 1.1 β = 1.1 0.507 = 0.953, altså en 4.7% reduktion af first evoked response I princippet skulle vi gøre det samme med konfidensgrænserne... (d) Hvad er middelværdien af first evoked response for personer med kolinesterase aktivitet på 500? Og hvad er konfidensintervallet for denne? I lyset af den i spørgsmål 2d angivne forklaring af estimate-sætningen, kan vi nu umiddelbart benytte koden 20

estimate "ke=500" intercept 1 logke 2.69897; idet værdien 2.69897 angiver 10-tals logaritmen af 500. Vi finder, dels det direkte output, og dels de tilbagetransformerede værdier, incl. konfidensinterval: Standard Parameter Estimate Error t Value Pr > t ke=500 0.86815533 0.01559741 55.66 <.0001 Parameter 95% Confidence Limits ke=500 0.83703118 0.89927949 Obs Parameter estimat lower upper 2 ke=500 7.3817 6.8712 7.9301 Vi kan således se, at den estimerede middelværdi på log-skala er 0.868, som tilbagetransformeres til 10 0.868 = 7.38 minutter, med konfidensinterval (6.87, 7.93) minutter, altså meget tæt på det, vi fandt for den utransformerede analyse. (e) Angiv et 95% prediktionsinterval for patienter med en kolinesterase aktivitet på 500. Er det usædvanligt at se sådan en person have en first evoked response på kun 5 minutter? I den logaritmerede analyse har vi Root MSE=0.097, så på logskala finder vi prediktionsintervallet 0.868 ± 2 0.097 = (0.674, 1.072) og vi tilbagetransformerer dette til (10 0.674, 10 1.072 ) = (4.72, 11.53) minutter, igen rimeligt tæt på, hvad vi fandt for den utransformerede relation. Igen må vi konstatere, at en værdi på 5 minutter for first evoked response ikke er helt urealistisk, omend ikke så ofte forekommende. Bemærk, at det er vigtigt, at man først tilbagetransformerer, når udregningen er helt færdi! Ikke noget med at tilbagetransformere Root MSE. 21

(f) Hvis vi nu vovede en ekstrapolation af relationen fra spørgsmål 2b, hvad ville vi så gætte på, at middelværdien af first evoked response ville være, når kolinesterase var helt nede på 50? Og hvad med usikkerheden på sådan en ekstrapolation? Ovenfor havde vi også en estimate-sætning svarende til ke=50 (idet værdien 1.69897 angiver 10-tals logaritmen af 50): estimate "ke=50" intercept 1 logke 1.69897; som gav outputtet Standard Parameter Estimate Error t Value Pr > t ke=50 1.37525045 0.06775645 20.30 <.0001 Parameter 95% Confidence Limits ke=50 1.24004455 1.51045635 og ved tilbagetransformation fik vi Obs Parameter estimat lower upper 3 ke=50 23.7274 17.3798 32.3934 altså en estimeret (ekstrapoleret!) middelværdi på 23.7 minutter, med konfidensgrænser (17.4, 32.4) minutter. Vi bemærker nu, at dette estimat er helt forskelligt fra det, vi fik fra den utransformerede analyse. Selv om de to fit stemmer rimeligt godt overnes for de observerede data, behøver det altså ikke at betyde, at de også stemmer overens for helt andre patienter. Prediktionsgrænserne for denne værdi af kolinesterase bliver (på log 10 -skala): 1.375 ± 2 0.097 = (1.181, 1.569) og vi tilbagetransformerer dette til (10 1.181, 10 1.569 ) = (15.17, 37.07) minutter, som ses at være ret så forskelligt fra, hvad vi fandt for 22

den utransformerede relation. (g) Hvilke forskelle ses på fittene for den utransformerede og den logaritmetransformerede relation? Hvilken en vil du foretrække, og hvorfor? Umiddelbart synes fittet på den logaritmerede skala at passe bedst til data. For at sammenligne direkte, er vi imidlertid nødt til at tilbagetransformere selve fittet til den oprindelige skala, hvilket er lidt besværligt. Vi gør det ved at tilføje en output-sætning i den logaritmerede analyse, så vi kan få de predikterede værdier med ud i et nyt datasæt (se også koden ovenfor): output out=nylog predicted=predicted_log; hvorefter vi regner videre (og tegner) med dette nye datasæt data tegn; set nylog; fer_pred=10**predlog; num_normresid=abs(normresid); title SPM 3G ; proc sgplot data=tegn; where gruppe="normal"; reg Y=fer X=ke; loess Y=fer_pred x=ke; lineparm x=50 y=0 slope=. / lineattrs=(color=green); 23

som giver os figuren Vi ser, at de to modeller (den utransformerede og den logaritmetransformerede) er rimeligt enige for kolinesterase-værdier mellem ca. 500 og 1500, men stærkt uenige, når vi fjerner os fra dette område. Og det er jo netop, hvad vi gjorde, da vi ekstrapolerede til ke=50. 4. Vi skal nu sammenligne kolinesterase for de to grupper: (a) Lav en illustration til sammenligning af kolinesterase for den normale gruppe og bambuterol-gruppen, på passende skala. Her er det naturligt at vælge Boxplots, med mindre man går direkte til T-tests og benytter sig af de automatiske figurer, der kommer i denne forbindelse. Vi laver et både med og uden transformation af kolinesterase: title SPM 4 ; title2 SPM 4A ; proc sgplot data=a1; vbox ke / group=gruppe; proc sgplot data=a1; vbox logke / group=gruppe; 24

og får figurerne: (b) Er der overhovedet noget overlap mellem de to fordelinger? Vi kan allerede af boxplottene se, at der er overlap mellem fordelingerne. Dette kunne også ses ved at udregne minimum og maximum som i proc means nedenfor, eller med en lille figur, som bygger videre på figuren fra spørgsmål 3C: title2 SPM 4B ; proc means data=a1; class gruppe; var ke; proc sgplot data=a1; needle X=nr Y=ke / group=gruppe markers; Herved får vi Analysis Variable : ke Kolinesterase N gruppe Obs N Mean Std Dev Minimum Maximum --------------------------------------------------------------------------- bambuterol 10 10 104.2000000 109.9078402 18.0000000 384.0000000 normal 70 70 848.6000000 388.0128640 154.0000000 2334.00 --------------------------------------------------------------------------- 25

samt figuren Vi ser, at den mindste kolinesterase-værdi for den normale gruppe er 154, medens den største kolinesterase-værdi for bambuterolgruppen er 384, altså er der overlap. Men ikke meget, som det ses af figuren ovenfor. (c) Giv et estimat for den procentuelle reduktion af kolinesterase hos bambuterol patienter, sammenlignet med de normale. Husk at angive konfidensinterval også. Nu skal vi sammenligne de to grupper numerisk, og da resultatet ønskes præsenteret som en procentuel forskel, må vi regne på logaritmisk skala. Vi laver altså et T-test med tilhørende figurer for logke, men for at undgå at tilbagetransformere med håndkraft, lægger vi estimaterne ud i et nyt datasæt (estimater) og laver så tilbagetransformationen i SAS: title2 SPM 4C ; proc ttest data=a1; class gruppe; var logke; ods output ConfLimits=estimater; data regn; set estimater; if Method="Satterthwaite"; keep estimat lower upper; estimat=10**mean; 26

lower=10**lowerclmean; upper=10**upperclmean; proc print data=regn; Herved får vi, først resultatet fra T-testet: The TTEST Procedure Variable: logke (log10(kolinesterase)) gruppe N Mean Std Dev Std Err Minimum Maximum bambuterol 10 1.8396 0.4093 0.1294 1.2553 2.5843 normal 70 2.8840 0.2075 0.0248 2.1875 3.3681 Diff (1-2) -1.0444 0.2396 0.0810 gruppe Method Mean 95% CL Mean Std Dev bambuterol 1.8396 1.5468 2.1324 0.4093 normal 2.8840 2.8345 2.9335 0.2075 Diff (1-2) Pooled -1.0444-1.2057-0.8832 0.2396 Diff (1-2) Satterthwaite -1.0444-1.3394-0.7494 gruppe Method 95% CL Std Dev bambuterol 0.2815 0.7472 normal 0.1779 0.2489 Diff (1-2) Pooled 0.2072 0.2841 Diff (1-2) Satterthwaite Method Variances DF t Value Pr > t Pooled Equal 78-12.89 <.0001 Satterthwaite Unequal 9.6712-7.93 <.0001 Equality of Variances Method Num DF Den DF F Value Pr > F Folded F 9 69 3.89 0.0010 og derefter de tilbagetransformerede værdier af middelværdi-differensen, med tilhørende konfidensinterval: SPM 4C Obs estimat lower upper 1 0.090279 0.045773 0.17806 27

samt figurerne Estimatet for forskellen bambuterol - normal ses at være -1.0444 på log 10 -skala, og tilbagetransformeret giver dette faktoren ca. 0.09. Dette fortæller os, at kolinesterase-værdien for bambuterolgruppen kun er ca. 9% af, hvad den er for de normale, med konfidensgrænser fra 4.6% til 17.8%. Dette svarer til en 91% reduktion (CI: 82.2%-95.4%). P-værdien for sammenligningen er meget lille, P < 0.0001. 5. Selv om der kun er 10 personer i bambuterolgruppen, ser vi et øjeblik på denne alene: (a) Udfør en lineær regression på log-log skala som i spm. 3 Dette er en gentagelse af tidligere kode: 28

title2 SPM 5B ; proc sgplot data=a1; where gruppe="bambuterol"; reg Y=logfer X=logke / group=gruppe; proc glm plots=plots=(fitplot DiagnosticsPanel Residuals(smooth)) data=a1; where gruppe="bambuterol"; model logfer=logke / solution clparm; estimate "ke=500" intercept 1 logke 2.69897; estimate "ke=50" intercept 1 logke 1.69897; ods output Estimates=estimater; data regn; set estimater; drop Dependent Estimate StdErr tvalue Probt LowerCL UpperCL; estimat=10**estimate; lower=10**lowercl; upper=10**uppercl; proc print data=regn; og vi får outputtet: SPM 5B The GLM Procedure Number of Observations Read 10 Number of Observations Used 10 Dependent Variable: logfer log10(first Evoked Response) R-Square Coeff Var Root MSE logfer Mean 0.850896 5.735495 0.079120 1.379481 Standard Parameter Estimate Error t Value Pr > t ke=500 1.00529864 0.06076867 16.54 <.0001 ke=50 1.44070364 0.02661013 54.14 <.0001 Parameter 95% Confidence Limits ke=500 0.86516583 1.14543145 29

ke=50 1.37934058 1.50206670 Standard Parameter Estimate Error t Value Pr > t Intercept 2.180443670 0.12115400 18.00 <.0001 logke -0.435404999 0.06443990-6.76 0.0001 Parameter 95% Confidence Limits Intercept 1.901062037 2.459825302 logke -0.584003682-0.286806317 SPM 5B Obs Parameter estimat lower upper 1 ke=500 10.1228 7.3310 13.9776 2 ke=50 27.5869 23.9519 31.7736 og tilhørende figurer: 30

(b) Predikter værdien af first evoked response for en kolinesteraseværdi på 50, som i spørgsmål 2f. Dette er gjort i koden ovenfor, og vi fandt resultatet (efter tilbagetransformation til de rigtige enheder): Obs Parameter estimat lower upper 2 ke=50 27.5869 23.9519 31.7736 altså lidt højere end resultatet for den normale gruppe. Hvordan svarer det til prediktionen fra de normale? For de normale havde vi prediktionen 23.73, med konfidensinterval (17.38, 32.39), og med den kæmpe usikkerhed, der er (for bambuterolgruppen pga de få observationer, og for den normale gruppe fordi vi ekstrapolerer), er der ikke nogen bemærkelsesværdig forskel på de to estimater. Ser vi i stedet på et prediktionsinterval, får vi (på log 10 -skala): 1.441 ± 2 0.079 = (1.283, 1.599) som tilbagetransformeret giver grænserne (19.18, 39.72). Til sammenligning fik vi for den normale gruppe intervallet (15.17, 37.07) minutter, altså igen nogenlunde tæt på. (c) Ser hældningerne for de to grupper ud til at være rimeligt ens? Nedenfor ses en lille tabel med de estimerede hældninger: Hældning Estimat for ke=50 Normale -0.507 (-0.620, -0.395) 23.73 (17.38, 32.39) Bambuterol -0.435 (-0.584, -0.287) 27.59 (23.95, 31.77) Konfidensgrænserne for hældningen i de to grupper er i den grad overlappende, faktisk ligger det ene estimat i konfidensintervallet for den anden, så vi må konstatere, at der ikke er nogen signifikant 31

forskel. Vi ser dog mere formelt på det nedenfor: 6. Sammenlign nu de to lineære relationer på log-log skala ved at bygge en model for samtlige personer, inkluderende to forskellige linier. Husk passende illustrationer til analyserne. Vi starter med at se på et simpelt plot med de to linier, en for hver gruppe: title SPM 6 ; title2 ; proc sgplot data=a1; reg Y=logfer X=logke / group=gruppe; hvorved vi får figuren Her ses to temmeligt paralelle linier, uden ret stor lodret afstand. Det mest iøjnefaldende er, at de X-værider (værdier af kolinesterase), der understøtter hver af dem, er yderst forskellige. 32

(a) Er der evidens for, at kolinesterase har en forskellig effekt på first evoked response for de to grupper? Hvad kaldes det, hvis dette er tilfældet? Vi skal sammenligne hældningerne i de to grupper, så vi må bygge en model, hvor disse tillades at være forskellige, altså en model med interaktion. For at sammenligne grupperne ved en række konkrete værdier af kolinesterase er der desuden anført nogle ret komplicerede estimate-sætninger, som forklares nærmere nedenfor. title2 SPM 6A ; proc glm plots=plots=all data=a1; class gruppe; model logfer=logke gruppe gruppe*logke / solution clparm; estimate "bamb ved ke=200" intercept 1 logke 2.30103 gruppe 1 0 gruppe*logke 2.30103 0; estimate "normal ved ke=200" intercept 1 logke 2.30103 gruppe 0 1 gruppe*logke 0 2.30103; estimate "bamb vs. normal ved ke=500" gruppe 1-1 gruppe*logke 2.69897-2.69897; estimate "bamb vs. normal ved ke=200" gruppe 1-1 gruppe*logke 2.30103-2.30103; estimate "bamb vs. normal ved ke=50" gruppe 1-1 gruppe*logke 1.69897-1.69897; ods output Estimates=estimater; data regn; set estimater; drop Dependent Estimate StdErr tvalue Probt LowerCL UpperCL; estimat=10**estimate; lower=10**lowercl; upper=10**uppercl; proc print data=regn; 33

Herved finder vi outputtet: SPM 6A The GLM Procedure Class Level Information Class Levels Values gruppe 2 bambuterol normal Number of Observations Read 80 Number of Observations Used 80 Dependent Variable: logfer log10(first Evoked Response) Sum of Source DF Squares Mean Square F Value Pr > F Model 3 4.25383856 1.41794619 155.96 <.0001 Error 76 0.69097525 0.00909178 Corrected Total 79 4.94481381 R-Square Coeff Var Root MSE logfer Mean 0.860263 11.21809 0.095351 0.849974 Source DF Type I SS Mean Square F Value Pr > F logke 1 4.22034216 4.22034216 464.19 <.0001 gruppe 1 0.02835712 0.02835712 3.12 0.0814 logke*gruppe 1 0.00513928 0.00513928 0.57 0.4545 Source DF Type III SS Mean Square F Value Pr > F logke 1 0.88827243 0.88827243 97.70 <.0001 gruppe 1 0.00061535 0.00061535 0.07 0.7954 logke*gruppe 1 0.00513928 0.00513928 0.57 0.4545 Standard Parameter Estimate Error t Value Pr > t bamb ved ke=200 1.17856370 0.04683356 25.16 <.0001 normal ved ke=200 1.06994876 0.03420849 31.28 <.0001 bamb vs. normal ved ke=500 0.13714331 0.07481988 1.83 0.0707 bamb vs. normal ved ke=200 0.10861494 0.05799658 1.87 0.0649 bamb vs. normal ved ke=50 0.06545319 0.07387201 0.89 0.3784 Parameter 95% Confidence Limits bamb ved ke=200 1.08528659 1.27184082 normal ved ke=200 1.00181665 1.13808087 bamb vs. normal ved ke=500-0.01187341 0.28616002 bamb vs. normal ved ke=200-0.00689525 0.22412514 bamb vs. normal ved ke=50-0.08167567 0.21258205 Standard Parameter Estimate Error t Value Pr > t Intercept 2.236789834 B 0.15997209 13.98 <.0001 logke -0.507095115 B 0.05532798-9.17 <.0001 gruppe bambuterol -0.056346164 B 0.21658553-0.26 0.7954 gruppe normal 0.000000000 B... logke*gruppe bambuterol 0.071690116 B 0.09535265 0.75 0.4545 logke*gruppe normal 0.000000000 B... Parameter 95% Confidence Limits Intercept 1.918177802 2.555401866 34

logke -0.617290342-0.396899889 gruppe bambuterol -0.487713628 0.375021300 gruppe normal.. logke*gruppe bambuterol -0.118221146 0.261601378 logke*gruppe normal.. samt de tilbagetransformerede størrelser SPM 6A Obs Parameter estimat lower upper 1 bamb ved ke=200 15.0856 12.1699 18.7000 2 normal ved ke=200 11.7476 10.0419 13.7430 3 bamb vs. normal ved ke=500 1.3713 0.9730 1.9327 4 bamb vs. normal ved ke=200 1.2841 0.9842 1.6754 5 bamb vs. normal ved ke=50 1.1627 0.8286 1.6315 Ovenfor er medtaget en meget stor del af det resulterende output, fordi der er en del at lægge mærke til her... Først og fremmest svaret på spørgsmålet: testet for identiske hældninger i de to grupper aflæses på linien logke*gruppe, og P- værdien ses at være 0.45, altså langt fra signifikant. Dette er i god overensstemmelse med vores fornemmelse ud fra figuren ovenfor. Modelkontrollen er (næsten) unødvendig her, idet der bare er tale om en sammenbygning af modellerne fra spørgsmål 3 og 5. Det eneste, man kunne interessere sig for var, om spredningerne i de to grupper var ens, men med kun 10 observationer i den ene gruppe, er dette ikke noget, man fornuftigvis kan undersøge (ud over at se på figuren). (b) Kvantificer forskellen på de to grupper ved en kolinesterase aktivitet på 200. Er denne signifikant forskellig fra 0? I koden ovenfor blev denne forskel kvantificeret ved hjælp af estimatesætningen: 35

estimate "bamb vs. normal ved ke=200" gruppe 1-1 gruppe*logke 2.30103-2.30103; Begrundelsen for denne noget komplicerede estimate-sætning er som følger: Niveau for: Bambuterol brugere ved ke=200: α 1 + β 1 200 Normale ved ke=200: α 0 + β 0 200 Forskel: Forskel: Bambuterol minus normale: (α 1 α 0 ) + (β 1 β 0 ) 200 Resultatet af denne estimate-sætning bliver Standard Parameter Estimate Error t Value Pr > t bamb vs. normal ved ke=200 0.10861494 0.05799658 1.87 0.0649 Parameter 95% Confidence Limits bamb vs. normal ved ke=200-0.00689525 0.22412514 samt efter tilbagetransformation: Obs Parameter estimat lower upper 2 bamb vs. normal ved ke=200 1.28415 0.98425 1.67543 Det umiddelbare estimat giver forskellen på en logaritmisk skala, og vi har derfor transformeret tilbage til en ratio-skala og fået estimatet 1.28. Dette betyder, at bambuterol-patienterne ligger 28% for højt i forhold til, hvad de normale ville gøre (hvis vi kunne stole på ekstrapolationen), men at konfidensintervallet går fra ca. 2% under de normale (faktoren 0.98) til hele 68% over (faktoren 0.675). Vi ser altså, at forskellen ved ke=200 ikke er signifikant forskellig fra 0 (P=0.065). Ganske tilsvarende har vi fundet forskellen for ke=50 og ke=500, som ses ovenfor. Vi noterer os, at forskellen på de to grupper stiger 36

med stigende værdier af kolinesterase, hvilket vi også kunne slutte af figuren først i dette spørgsmål. De ovenstående estimate-sætninger er ganske svære, og man kan komme letter om ved det, hvis man definerer en ny version af logke, hvor man fratrækker log 10 (200) = 2.30103, altså logke200=logke-log10(200) og så benytter denne som kovariat. I så fald vil forskellen på grupperne ved ke=200 netop blive forskellen på intercepterne. Men når nu interaktionen ikke var signifikant, kunne vi også vælge at slippe nemmere om ved dette spørgsmål ved at udelade den af modellen, og i stedet fitte en additiv model, med to parallelle linier (som jo så vil give samme forskel på de to grupper, uanset hvad kolinesterase-værdien er): proc glm plots=plots=all data=a1; class gruppe; model logfer=logke gruppe / solution clparm; estimate "bamb ved ke=200" intercept 1 logke 2.30103 gruppe 1 0; estimate "normal ved ke=200" intercept 1 logke 2.30103 gruppe 0 1; estimate "bamb vs. normal ved ke=500" gruppe 1-1; estimate "bamb vs. normal ved ke=200" gruppe 1-1; estimate "bamb vs. normal ved ke=50" gruppe 1-1; ods output Estimates=estimater; data regn; set estimater; drop Dependent Estimate StdErr tvalue Probt LowerCL UpperCL; estimat=10**estimate; lower=10**lowercl; upper=10**uppercl; proc print data=regn; Til overflod er der ovenfor angivet 3 ens estimate-sætninger, blot for at slå fast, at forskellen på grupperne er den samme uanset ke-værdi. Vi finder outputtet: 37

SPM 6B The GLM Procedure Class Level Information Class Levels Values gruppe 2 bambuterol normal Number of Observations Read 80 Number of Observations Used 80 Dependent Variable: logfer log10(first Evoked Response) Sum of Source DF Squares Mean Square F Value Pr > F Model 2 4.24869928 2.12434964 234.98 <.0001 Error 77 0.69611453 0.00904045 Corrected Total 79 4.94481381 R-Square Coeff Var Root MSE logfer Mean 0.859223 11.18637 0.095081 0.849974 Source DF Type I SS Mean Square F Value Pr > F logke 1 4.22034216 4.22034216 466.83 <.0001 gruppe 1 0.02835712 0.02835712 3.14 0.0805 Source DF Type III SS Mean Square F Value Pr > F logke 1 1.04437995 1.04437995 115.52 <.0001 gruppe 1 0.02835712 0.02835712 3.14 0.0805 Standard Parameter Estimate Error t Value Pr > t bamb ved ke=200 1.15662033 0.03652364 31.67 <.0001 normal ved ke=200 1.05587773 0.02855389 36.98 <.0001 bamb vs. normal ved ke=500 0.10074260 0.05688229 1.77 0.0805 bamb vs. normal ved ke=200 0.10074260 0.05688229 1.77 0.0805 bamb vs. normal ved ke=50 0.10074260 0.05688229 1.77 0.0805 Parameter 95% Confidence Limits bamb ved ke=200 1.08389247 1.22934819 normal ved ke=200 0.99901967 1.11273580 bamb vs. normal ved ke=500-0.01252451 0.21400971 bamb vs. normal ved ke=200-0.01252451 0.21400971 bamb vs. normal ved ke=50-0.01252451 0.21400971 Standard Parameter Estimate Error t Value Pr > t Intercept 2.167178829 B 0.13008681 16.66 <.0001 logke -0.482958109 0.04493401-10.75 <.0001 gruppe bambuterol 0.100742600 B 0.05688229 1.77 0.0805 gruppe normal 0.000000000 B... Parameter 95% Confidence Limits Intercept 1.908142902 2.426214756 logke -0.572433155-0.393483062 gruppe bambuterol -0.012524508 0.214009709 gruppe normal.. 38

samt de tilbagetransformerede størrelser Obs Parameter estimat lower upper 1 bamb ved ke=200 14.3424 12.1309 16.9570 2 normal ved ke=200 11.3731 9.9775 12.9639 3 bamb vs. normal ved ke=500 1.2611 0.9716 1.6369 4 bamb vs. normal ved ke=200 1.2611 0.9716 1.6369 5 bamb vs. normal ved ke=50 1.2611 0.9716 1.6369 Her finder vi altså forskellen udtrykt som en faktor 1.26, med konfidensgrænser (0.97, 1.64), meget tæt på det, som vi fandt i interaktionsmodellen. Dette skyldes naturligvis, at der ikke rigtige er nogen interaktion. 39

I denne additive model ser fittet således ud: og modelkontrollen bliver Bemærkninger til de foretagne analyser 40

7. Hvordan ville sammenligningen af de lineære relationer tage sig ud på den oprindelige (utransformerede) skala? (Dette behøver I kun svare på ud fra en passende figur). Figuren kan blot laves med et sgplot: title SPM 7 ; proc sgplot data=a1; reg Y=fer X=ke / group=gruppe; og vi ser tydeligt, at der her langt fra er tale om ens, endsige parallelle regressionslinier for de to grupper. Vi må altså forvente en kraftig signifikant interaktion på denne skala. Forekomst af interaktion er skala-afhængig! Her gentages interaktionsmodellen fra tidligere, blot med utransformerede variable: proc glm plots=plots=all data=a1; class gruppe; model fer=ke gruppe gruppe*ke / solution clparm; estimate "bamb ved ke=200" intercept 1 ke 200 gruppe 1 0 gruppe*ke 200 0; 41

estimate "normal ved ke=200" intercept 1 ke 200 gruppe 0 1 gruppe*ke 0 200; estimate "bamb vs. normal ved ke=500" gruppe 1-1 gruppe*ke 500-500; estimate "bamb vs. normal ved ke=200" gruppe 1-1 gruppe*ke 200-200; estimate "bamb vs. normal ved ke=50" gruppe 1-1 gruppe*ke 50-50; og vi får outputtet SPM 7 The GLM Procedure Class Level Information Class Levels Values gruppe 2 bambuterol normal Number of Observations Read 80 Number of Observations Used 80 Dependent Variable: fer First Evoked Response Sum of Source DF Squares Mean Square F Value Pr > F Model 3 4151.938067 1383.979356 178.86 <.0001 Error 76 588.087372 7.737992 Corrected Total 79 4740.025439 R-Square Coeff Var Root MSE fer Mean 0.875932 31.81705 2.781725 8.742875 Source DF Type I SS Mean Square F Value Pr > F ke 1 1985.995241 1985.995241 256.66 <.0001 gruppe 1 1634.278585 1634.278585 211.20 <.0001 ke*gruppe 1 531.664241 531.664241 68.71 <.0001 Source DF Type III SS Mean Square F Value Pr > F ke 1 647.300052 647.300052 83.65 <.0001 gruppe 1 2098.649975 2098.649975 271.21 <.0001 ke*gruppe 1 531.664241 531.664241 68.71 <.0001 Standard Parameter Estimate Error t Value Pr > t bamb ved ke=200 18.9604850 1.19457905 15.87 <.0001 normal ved ke=200 8.6286964 0.65107661 13.25 <.0001 bamb vs. normal ved ke=500-10.7569590 3.48209602-3.09 0.0028 bamb vs. normal ved ke=200 10.3317886 1.36048515 7.59 <.0001 bamb vs. normal ved ke=50 20.8761624 1.25239198 16.67 <.0001 Parameter 95% Confidence Limits bamb ved ke=200 16.5812746 21.3396954 normal ved ke=200 7.3319649 9.9254279 bamb vs. normal ved ke=500-17.6921543-3.8217637 bamb vs. normal ved ke=200 7.6221476 13.0414296 bamb vs. normal ved ke=50 18.3818076 23.3705172 Standard 42

Parameter Estimate Error t Value Pr > t Intercept 9.35557517 B 0.80433074 11.63 <.0001 ke -0.00363439 B 0.00086306-4.21 <.0001 gruppe bambuterol 24.39095368 B 1.48106087 16.47 <.0001 gruppe normal 0.00000000 B... ke*gruppe bambuterol -0.07029583 B 0.00848057-8.29 <.0001 ke*gruppe normal 0.00000000 B... Parameter 95% Confidence Limits Intercept 7.75361167 10.95753867 ke -0.00535334-0.00191545 gruppe bambuterol 21.44116531 27.34074204 gruppe normal.. ke*gruppe bambuterol -0.08718634-0.05340531 ke*gruppe normal.. samt de tilbagetransformerede størrelser Til forskel fra analysen på den logaritmetransformerede skala, ser vi ganske rigtigt her en stærkt signifikant interaktion mellem gruppe og ke, svarende til, at de to hældninger overhovedet ikke er ens i de to grupper. Da vi tidligere har konstateret alvorlige problemer med modelantagelserne på denne skala, skal vi ikke her komme nærmere ind på modelkontrollen. Egentlig ville jeg også have medtaget et spøgsmål om sammenligning af first evoked response, men det røg på en eller anden måde ud i skyndingen. Her kommenteres alligevel på en sådan sammenligning, helt i stil med sammenligningen af kolinesterase fra spm. 4. 8. Vi skal nu sammenligne first evoked response for de to grupper: 43

(a) Lav en illustration til sammenligning af first evoked response for den normale gruppe og bambuterol-gruppen, på passende skala. Her er det naturligt at vælge Boxplots, med mindre man går direkte til T-tests og benytter sig af de automatiske figurer, der kommer i denne forbindelse. Vi laver et både med og uden transformation af first evoked response: title SPM 8 ; title2 SPM 8A ; proc sgplot data=a1; vbox fer / group=gruppe; proc sgplot data=a1; vbox logfer / group=gruppe; og får figurerne: (b) Er der overhovedet noget overlap mellem de to fordelinger? Vi kan allerede af boxplottene se, at der er overlap mellem fordelingerne. Dette kunne også ses ved at udregne minimum og maximum som i proc means nedenfor, eller med en lille figur, som bygger videre på figuren fra spørgsmål 3C: title2 SPM 8B ; proc means data=a1; 44

class gruppe; var fer; proc sgplot data=a1; needle X=nr Y=fer / group=gruppe markers; Herved får vi Analysis Variable : fer First Evoked Response N gruppe Obs N Mean Std Dev Minimum Maximum --------------------------------------------------------------------------- bambuterol 10 10 26.0430000 10.5260313 11.6700000 42.0000000 normal 70 70 6.2714286 2.1613967 2.0000000 15.5000000 --------------------------------------------------------------------------- samt figuren Vi ser, at den største first evoked response-værdi for den normale gruppe er 15.5, medens den mindste first evoked response-værdi for bambuterolgruppen er 11.67, altså er der overlap. Men ikke meget, som det ses af figuren ovenfor. (c) Giv et estimat for den procentuelle forøgelse af first evoked response hos bambuterol patienter, sammenlignet med de normale. Husk at angive konfidensinterval også. 45

Nu skal vi sammenligne de to grupper numerisk, og da resultatet ønskes præsenteret som en procentuel forskel, må vi regne på logaritmisk skala. Vi laver altså et T-test med tilhørende figurer for logfer, men for at undgå at tilbagetransformere med håndkraft, lægger vi estimaterne ud i et nyt datasæt (estimater) og laver så tilbagetransformationen i SAS: title2 SPM 8C ; proc ttest data=a1; class gruppe; var logfer; ods output ConfLimits=estimater; data regn; set estimater; if Method="Satterthwaite"; keep estimat lower upper; estimat=10**mean; lower=10**lowerclmean; upper=10**upperclmean; proc print data=regn; Herved får vi, først resultatet fra T-testet: The TTEST Procedure Variable: logfer (log10(first Evoked Response)) gruppe N Mean Std Dev Std Err Minimum Maximum bambuterol 10 1.3795 0.1932 0.0611 1.0671 1.6232 normal 70 0.7743 0.1427 0.0171 0.3010 1.1903 Diff (1-2) 0.6052 0.1494 0.0505 gruppe Method Mean 95% CL Mean Std Dev bambuterol 1.3795 1.2413 1.5177 0.1932 normal 0.7743 0.7403 0.8084 0.1427 Diff (1-2) Pooled 0.6052 0.5046 0.7057 0.1494 Diff (1-2) Satterthwaite 0.6052 0.4647 0.7457 Method Variances DF t Value Pr > t Pooled Equal 78 11.98 <.0001 Satterthwaite Unequal 10.449 9.54 <.0001 46

Equality of Variances Method Num DF Den DF F Value Pr > F Folded F 9 69 1.83 0.1552 og derefter de tilbagetransformerede værdier af middelværdi-differensen, med tilhørende konfidensinterval: SPM 8C Obs estimat lower upper 1 4.02857 2.91508 5.56739 samt figurerne Diff (1-2) Pooled 0.6052 0.5046 0.7057 0.1494 47

Estimatet for forskellen bambuterol - normal ses at være 0.6052 på log 10 -skala, og tilbagetransformeret giver dette faktoren ca. 4 (egentlig 4.03). Dette fortæller os, at first evoked response-værdien for bambuterolgruppen er 4 gange større end hvad den er for de normale, med konfidensgrænser fra 2.9 gange til 5.7 gange større. P-værdien for sammenligningen er meget lille, P < 0.0001. Vi bemærker, at denne umiddelbare sammenligning mellem first evoked response i de to grupper giver et helt andet resultat end sammenligningen for givet KE-værdi, som vi fandt i spm. 6. Det betyder, at den forskel, vi ser i first evoked response-værdier for en stor dels vedkommende kan tilskrives forskelle i kolinesterase. Det ser således ud til, at bambuterol virker gennem en nedsættelse af kolinesterase. 48