Kursus i basal statistik: Multipel regression Alle principperne for

Multipel regression: Princip
2
Multipel regression: Et outcome, mange forklarende variable
Problemstillingen kan eksempelvis være:
• Prædiktion eller konstruktion af normalområde til diagnostisk brug,
for eksempel finde et skøn over fostervægten ved hjælp af ultralydsmål.
Prædiktion af outcome er hovedfokus, ikke de specifikke
sammenhænge med de enkelte forklarende variable.
Kursus i basal statistik:
Multipel regression
• Ønske om at justere for “forstyrrende” variable (“confoundere”), for
eksempel vurdere, om grøntsager beskytter mod forhøjet blodtryk
uden fejlagtigt at tro på en falsk sammenhæng, fordi rygere måske
spiser færre grøntsager, mens fysisk aktive måske spiser flere
grøntsager.
Birthe Lykke Thomsen
Det Nationale Forskningscenter for Arbejdsmiljø
• Flere forklarende variable er af interesse: Hvilke er vigtige? Fanger de
det samme aspekt? Har de selvstændig betydning? Eksempelvis en
vurdering af, hvordan vægttilvækst afhænger af indtaget af protein,
fedt, sukkerarter, andre typer af kulhydrater og fibre.
Multipel regression: Princip
Alle principperne for multipel regression
gælder for enhver statistisk analyse med
flere forklarende variable
– kun modelkontrollen afhænger af, om det er
almindelig regression, logistisk regression eller
overlevelsesanalyse.
3
Multipel regression: Princip
4
Programmeringsteknisk set:
Helt magen til simpel lineær regression, man skriver bare flere variable i
MODEL y = x1 x2 x3;
Modelkontrollen er også magen til – der er bare flere forklarende variable,
som residualerne skal tegnes op mod.
5
Repetition af simpel lineær regression
Spørgsmål:
Hvordan hænger fedmegraden i
skolealderen sammen med
barnets højde i 1-årsalderen?
Fedmegraden i skolealderen
måles her ved en fedmescore
beregnet som et standardiseret
mål for, hvor langt barnets
BMI-vækstkurve ligger fra den
mediane BMI vækstkurve for
7-14 årige børn. Med
standardiseret menes, at målet
har en standarddeviation på 1.
Statistisk model for person i:
Yi = a + bXi + ei , ei ∼ N (0, σ 2 ) uafhængige for forskellige i’er
1
Hvad skal vi checke her?
0
1. linearitet – tegne
-1
2. varianshomogenitet – tegne
-2
3. normalfordelte residualer (afstande til linien) – tegne
Husk:
• Intet krav om normalfordeling på Xi ’erne eller Yi ’erne!!
-3
-4
4. uafhængighed mellem residualerne – tænke!
0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00
• Er der flere observationer på samme individ?
H€jde i 1-rsalderen
Multipel regression: Repetition af simpel lineær regression
Multipel regression: SAS kode
8
Analyser i SAS med modelkontrol plots
3
3
2
2
Norm_Resid_Uden
Alm_Residualer
(hvis man har en relativt ny SAS-version)
1
0
-1
-2
De traditionelle plots (plus en del flere) kommer ud i HTML-output, hvis
man bruger følgende kode i PROC REG:
1
0
-1
-2
-3
-3
0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00
• i fraktildiagram – normalfordeling
svarer til ret linie
-4
-0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0
H€jde i 1-rsalderen
Predicted
3
ODS GRAPHICS ON;
PROC REG DATA=Skolehelbred PLOTS(LABEL)=(ALL RESIDUALS(SMOOTH));
MODEL FedmeSc = Hjd1 / CLB;
RUN; QUIT;
4
Norm_Resid_Squared
2
Norm_Resid_Uden
• nyt plot til tjek af konstant varians:
(normerede residualer)2 mod de
prædikterede værdier – kurven viser,
om variansen vokser (den skal ligge
vandret omkring 1)
• Indgår der personer fra samme familie? Tvillinger?
7
Modelkontroltegninger, husk altid af residualer
• mod de prædikterede værdier ŷi –
tjek for voksende varians
evt. mod klassevariabel (boxplot)
6
2
(Upublicerede data fra T.I.A. Sørensen)
• mod den forklarende variabel –
afvigelse fra linearitet ses som ∪
eller ∩ facon
Multipel regression: Repetition af simpel lineær regression
Modelkontrol i simpel lineær regression
3
Fedmescore i skolealderen
Multipel regression
1
0
-1
-2
Analysen kan også laves ved hjælp af PROC GLM:
3
2
1
-3
-4
0.1 1 5 25
75 95
Normal Percentiles
99.9
0
-0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0
Predicted
ODS GRAPHICS ON;
PROC GLM DATA=Skolehelbred PLOTS=(DIAGNOSTICS(LABEL) RESIDUALS(SMOOTH));
MODEL FedmeSc = Hjd1 / CLPARM;
RUN; QUIT;
Multipel regression: SAS kode
9
Hvis man har Java problemer eller ikke har den rette SAS-version,
eller bare gerne vil se det “nye” variansplot, kræver det mere
SAS-kode:
*- Plot af outcome mod den forklarende variabel -*;
*- med den fittede linje og konfidensgrænser.
-*;
PROC GPLOT DATA=SkoleHelbred;
PLOT FedmeSc*Hjd1
/ HAXIS=AXIS1 VAXIS=AXIS2 VREF=0 CVREF=BLACK LVREF=33;
SYMBOL1 V=CIRCLE CV=BLACK H=2 I=RLCLM CI=RED MODE=INCLUDE;
RUN; QUIT;
PROC REG DATA=Skolehelbred;
MODEL FedmeSc = Hjd1 / CLB;
OUTPUT OUT=med_resid P=Predicted R=Alm_Residualer RSTUDENT=Norm_Resid_Uden;
RUN; QUIT;
eller
PROC GLM DATA=Skolehelbred;
MODEL FedmeSc = Hjd1 / CLPARM;
OUTPUT OUT=med_resid P=Predicted R=Alm_Residualer RSTUDENT=Norm_Resid_Uden;
RUN; QUIT;
*- Tjek af linearitet med blød kurve til tjek af (evt. omvendt) U-form -*;
PROC GPLOT DATA=med_resid;
PLOT alm_residualer*hjd1
/ HAXIS=AXIS1 VAXIS=AXIS2 VREF=0 CVREF=BLACK LVREF=33;
SYMBOL1 V=CIRCLE CV=BLACK H=2 I=SM75S CI=RED MODE=INCLUDE;
RUN; QUIT;
*- I=SM75S giver den bløde kurve -*;
og tegnes med diverse specifikke tegneprocedurer (her er brugt dels GPLOT,
dels PROBPLOT under UNIVARIATE)
*- Sædvanligt tjek af konstant varians (varianshomogenitet) -*;
PROC GPLOT DATA=med_resid;
PLOT norm_resid_uden*predicted
/* trompetfacon ikke godt */
/ HAXIS=AXIS1 VAXIS=AXIS2 VREF=0 CVREF=BLACK LVREF=33;
RUN; QUIT;
*- Alternativt plot til tjek af konstant varians -*;
SYMBOL1 V=CIRCLE CV=BLACK H=2 I=SM75S CI=RED MODE=INCLUDE;
DATA med_resid; SET med_resid; Norm_Resid_Squared = norm_resid_uden**2; RUN;
PROC GPLOT DATA=med_resid;
PLOT Norm_Resid_Squared*predicted
/* kurven skal ligge omkring 1 */
/ HAXIS=AXIS1 VAXIS=AXIS222 VREF=1 CVREF=BLACK LVREF=33;
RUN; QUIT;
*- Tjek af normalfordeling -*;
PROC UNIVARIATE NORMAL DATA=med_resid;
VAR norm_resid_uden;
PROBPLOT / HEIGHT=3.5 NORMAL(MU=EST SIGMA=EST L=2 COLOR=RED);
RUN; QUIT;
link til SAS manual
http://support.sas.com/documentation/cdl/en/allprodsproc/63883/HTML/default/viewer.htm#procedures.htm
10
*- Bestemmer udseendet af akserne, når de bruges i GPLOT -*;
AXIS1 LABEL=(H=3) VALUE=(H=2.5) MINOR=NONE;
AXIS2 LABEL=(H=3 A=90) VALUE=(H=2.5) MINOR=NONE;
AXIS222 LABEL=(H=3 A=90) VALUE=(H=2.5) ORDER=(0 TO 4) MINOR=(N=1);
Residualerne kan gemmes på et datasæt sammen med observationerne ved
hjælp af programkoden
Multipel regression: SAS kode
Multipel regression: SAS kode
11
Multipel regression: SAS kode
12
Multipel regression: Modelkontrol
Multipel regression: Modelkontrol
14
Hvis lineariteten ikke holder, bliver estimaterne misvisende og ufortolkelige!
(ODS GRAPHICS viser type 1 og 3):
Afhjælpning:
1. R eller RESIDUAL: afstand fra observation lodret ned til linie =
observeret minus fittet værdi, êi = yi − ŷi
3
• Tilføj flere kovariater,
– kovariater relateret til den
oprindelige kovariat, f.eks.
log(Hjd1):
FedmeSc=a+b1 Hjd1+b2 log(Hjd1)
2. STUDENT: RESIDUAL normeret med dennes spredning
3. RSTUDENT: observeret værdi minus den fittede værdi fra en analyse,
hvor kun de andre observationer blev brugt i beregningerne, normeret
med sin spredning
Test af, om linearitet er ok: b2 =0.
Fordele og ulemper:
Test af, om %-vis effekt er ok: b1 =0.
– helt nye kovariater
• Rart med residualer, der bevarer enheden (type 1); men graden af
outlier vurderes lettere med normerede residualer (type 2 og 3), hvor
ca. 5% må ligge uden for ±2, ca. 1% må ligge uden for ±2.6,
og ca. 1 ud af 1000 må ligge uden for ±3.3
• Transformer variablene med
• Lettest at identificere outliers, når observationerne udelades en ad
gangen (type 3), men disse residualer kan til gengæld ikke direkte
genfindes på plottet med regressionslinien (det kan kun type 1)
• Lad være med at gøre noget:
ikke-lineær regression
Multipel regression: Modelkontrol
2
Alm_Residualer
Der er flere typer residualer at vælge mellem
13
– logaritmer
– kvadratrod
– invers
15
1
0
-1
-2
-3
0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00
H€jde i 1-rsalderen
Multipel regression: Modelkontrol
Varianshomogenitet? (konstant varians = konstant spredning)
3
Norm_Resid_Uden
• Ikke vigtigt for estimation af
regressionsparametrene, men
hvis der ikke er rimelig
varianshomogenitet, bliver
estimationen inefficient (dvs.
unødigt stor usikkerhed på
Afhjælpning af variansinhomogenitet
2
1
• For at få en tilnærmelse til mere korrekte konfidensgrænser og
p-værdier i tilfælde af variansinhomogenitet kan man tilføje
options HCC HCCMETHOD=3 i MODEL-statement i PROC REG:
0
-1
-2
-3
-4
-0.6
-0.4
-0.2
parameterestimaterne)
• Vigtigt for normalområder og
prædiktionsgrænser
0.2
0.4
0.6
0.8
1.0
Predicted
Norm_Resid_Squared
• En forudsætning for, at man
kan stole på spredningen,
standard errors for parametrene
og p-værdierne
0.0
PROC REG DATA=Skolehelbred;
MODEL FedmeSc = Hjd1 / CLB HCC HCCMETHOD=3;
RUN; QUIT;
4
3
2
• Mere komplicerede modeller (PROC MIXED)
1
0
-0.6
-0.4
-0.2
0.0
0.2
0.4
Predicted
0.6
0.8
1.0
16
17
Multipel regression: Modelkontrol
18
Normalfordelingsantagelsen
• er ikke kritisk for selve fittet: Mindste
kvadraters metode giver under alle
omstændigheder gode estimater
Typiske alternativer til varianshomogenitet
• Konstant relativ spredning = konstant variationskoefficient
spredning
Variationskoefficient (CV) =
middelværdi
– ofte konstant, når man ser på størrelser, der (evt. skjult) involverer
division (f.eks. koncentrationer, BMI, andel positive celler, laboratorie– vil give anledning til trompetfacon (åben mod højre) på plottet
af residualerne mod de prædikterede værdier
• er i princippet en forudsætning for
t-fordelingen af teststørrelsen, men reelt
behøves kun, at estimatet b̂ er
nogenlunde normalt fordelt, og dette
passer ofte, når der er rimeligt mange
observationer.
– afhjælpes ved at transformere outcome (Yi ) med logaritme:
(y)
Spredning(ln(y)) ≈ Spredning
= CV
y
• er vigtig for normalområder og
prædiktionsgrænser
assays, observationer beregnet ud fra lys- eller farveintensiteter. . . )
Husk: Det er kun residualerne, der antages
at være normalfordelte,
hverken outcome eller kovariater!
– afhjælpes med mere komplicerede modeller for variansen
– giver simpel fortolkning af estimater
– skal bruges, hver gang man føler trang til at tænke “relativt til” eller vil
omregne til %
• kvadratrod
– giver konstant varians for tælletal (fx antal cancertilfælde, antal positive
swabs)
– kan afhjælpe variansinhomogenitet, når man ikke kan tage logaritmen,
fordi der er 0’er i data. Ses typisk ved data fra assays, hvor man har
brugt den metodologisk inadekvate, men ofte brugte formel
(observation − negativ kontrol)/(positiv kontrol − negativ kontrol)
for at justere for baggrundsstøj [få fat i de oprindelige observationer]
• invers
– normalt kun relevant, når den også er forståelig, som f.eks.
∗ omregning fra “antal hændelser pr tidsenhed” til “gennemsnitstid
mellem hændelser” eller omvendt
∗ omregning fra “hvor lang tid tager det” (varighed) til “hvor hurtigt går
det” (hastighed) eller omvendt
0
-1
-2
-4
0.1 1
Outliers i den høje ende (“hængekøje”) kan ofte
afhjælpes ved at logaritmetransformere outcome.
19
5
25
75
95
20
Hvorfor tage logaritmer?
• af de forklarende variable
– for at opnå linearitet, hvis det er %-vise forskelle, der har konstant
effekt. Brug gerne 2-tals logaritmer (effekt af fordobling) eller
XX=log(X)/log(1.1); (så er b̂xx lig effekten af 10% forskel i X)
– for at se på multiplikative sammensætninger af nogle af de
forklarende variable (f.eks. vægt og højde, jf. BMI)
– for at mindske indflydelsen af nogle få, ekstremt store værdier
• af outcome
99.9
Normal Percentiles
Multipel regression: Transformation
Transformation: logaritmer, kvadratrod, invers
• logaritmer
1
-3
• Forskellige grupper
– f.eks. flere instrumenter eller laboratorier, mænd/kvinder,
forskellige patienttyper
Multipel regression: Transformation
3
2
Norm_Resid_Uden
Multipel regression: Modelkontrol
– overvej om de forklarende variable så også skal transformeres
– fordi man forventer multiplikative effekter på Y
– for at opnå linearitet
– for at mindske indflydelsen af høje outliers
– for at opnå varianshomogenitet, fordi en konstant
variationskoefficient på Y betyder konstant varians på log(Y )
(gælder for alle logaritmetransformationer)
– for at opnå normalitet
Multipel regression: Transformation
21
Logaritme-transformation af en forklarende variabel Xj –
bemærk: her skal ikke tilbagetransformeres
– faktor=10, dvs. 10-dobling af Xj
– XXj = log2 (Xj )
– faktor=2, dvs. fordobling af Xj
• De additive effekter af de forklarende variable
tilbagetransformerer til multiplikative effekter
– a + b1 X1 + b2 X2 7→
anti-log(a) · anti-log(b1 X1 ) · anti-log(b2 X2 )
• anti-log(b̂i ) er den faktor, som den prædikterede værdi Ŷ skal
ganges med for hver 1 enheds forskel i den forklarende variabel Xi
– XXj = log(Xj )/ log(1.1) – faktor=1.1, dvs. 10% større Xj
– omregnet til procentvis ændring i Ŷ : (anti-log(b̂i ) − 1) · 100 %
Tip: logaritme-regneregel med to variable X og Z giver
bx ·log(X) + bz ·log(Z) = bx · log(X ·Z bz /bx ), så
som i f.eks. talje-hofte ratio
vægt
– hvis bz = −2bx , fås bx ·
som i f.eks.
=BMI
højde2
så det er klogere at bruge de to variable log(X) og log(Z) i stedet for den
log( ZX2 )
• anti-log(Intercept)=anti-log(â) er den konstant, som produktet
af de (tilbagetransformerede) multiplikative effekter skal ganges
med for at finde den prædikterede værdi Ŷ .
eller . . . ), så data i stedet
for fordomme kan få lov at bestemme den bedste kombination!
Multipel regression: Transformation
23
24
Fedmescoren som funktion af
1-års højden, pr 10% forskelle.
Logaritme-transformation af både Xj og Y
• Sammenhængen mellem Xj og Y er en potensfunktion (og
dermed ikke længere eksponentielt voksende).
• Hvis den samme logaritme er brugt for både Xj og Y , kan
– log(Ŷ ) = â + b̂j · log(Xj ) tilbageregnes til Ŷ = A ·
hvor A = anti-log(â), og
Multipel regression: Effekt af relative forskelle i eksemplet
b̂
Xj j ,
– b̂j er den potens, som Xj skal opløftes til for at prædiktere Y
• ellers må man først forstå tilbagetransformationen af Y og
derefter forstå, hvad 1 enheds ændring i den transformerede
variabel XXj svarer til for den originale Xj (valgte man log10 ,
log2 eller ’pr 10%’=log(X)/log(1.1)?)
Reminder: Husk altid at bruge den anti-log, der passer den valgte logaritme!
R-Square
0.052208
Coeff Var
-1638.781
Root MSE
0.97604
2
fedmesc Mean
-0.05956
Standard
Parameter
Estimate
Error t Value
Intercept
0.99444 0.32903
3.02
Hjd1_pr10pct 0.36274 0.11068
3.28
1
Pr>|t|
0.0028
0.0012
0
-1
-2
-3
-5
Parameter
Intercept
Hjd1_pr10pct
95% Conf. Limits
0.34553 1.64335
0.14446 0.58102
Konklusion: Fedmegraden i
skolealderen vokser stærkt
signifikant med højden i 1-års
alderen, omend forklaringsevnen
er begrænset.
3
3
-4
-3
-2
-1
0
1-€rs hjde, pr. 10% forskel
Studentized Residual without Current Obs
eller
X
Z2
3
2
1
0
-1
-2
-3
-4
-0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0
Predicted Value of FedmeSc
4
2
Norm_Resid_Squared
præ-definerede, kombinerede variabel
(X
Z
Residual
– hvis bz = −bx , fås
– For Y Y = ln(Y ) er 100·b̂i ca. lig den %-vise ændring i Ŷ for
hver 1 enheds forskel i Xi , hvis b̂i er tilstrækkeligt lille – men
til artikler bør det beregnes præcist med formlen ovenfor.
bx ·log( X
)
Z
Norm_Resid_Uden
•
22
Logaritme-transformation af responsvariablen Y
• b̂j er effekten på responsvariablen for hver gang Xj ganges med
en fast faktor — hvilken faktor afhænger af valget af logaritme
– XXj = log10 (Xj )
Multipel regression: Transformation
1
0
-1
-2
3
2
1
-3
-4
0.1 1 5 25
75 95
Normal Percentiles
99.9
0
-0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0
Predicted Value of FedmeSc
Multipel regression: Teori
25
Multipel regression: Teori
26
xp
y
1
x11
x12
....
x1p
y1
2
x21
x22
....
x2p
y2
3
x31
x32
....
x3p
y3
:
:
:
....
:
:
:
:
:
....
:
:
n
xn1
xn2
....
xnp
yn
Den lineære regressionsmodel med p forklarende variable skrives:
yi
respons
outcome
= b0 + b1 xi1 + b2 xi2 + · · · + bp xip + ei
middelværdi
regressionsfunktionen
biologisk variation
måleusikkerhed/støj
−4
−5
regressionskoefficienter
2
0
−4
−6
−4
−3
−2
−1
0
1
gt
0%
1
pr
Væ
Højde pr 10%
Multipel regression: Teori
27
yi = b0 + b1 xi1 + · · · + bp xip + ei ,
i = 1, · · · , n
2
6
4
2
0
−2
−4
−6
Fedmescore
28
Vi er interesserede i at se på multiplikative effekter af højde og vægt i
1-årsalderen for at se, om et mål svarende til BMI kunne være
relevant. Derfor bruges logaritme-transformeret højde og
logaritme-transformeret vægt som forklarende variable.
Traditionelle antagelser:
ei ∼ N (0, σ ), uafhængige
Multipel regression: Opstilling af model, estimation og test
Spørgsmål:
Hvordan hænger fedmegraden i skolealderen sammen med højde og
vægt i 1-årsalderen?
Regressionsmodel:
Mindste kvadraters metode:
Find de b0 , b1 , · · · , bp , der minimerer
summen af de kvadrerede afstande
S(b0 , b1 , · · · , bp ) =
∑
(yi − (b0 + b1 xi1 + · · · + bp xip ))2
6
4
−2
Parametre:
b0
afskæring, intercept
b 1 , · · · , bp
2
....
0
x2
−2
x1
Fedmescore
Data:
n personer, dvs. n sæt af
sammenhørende observationer:
person
4
Multipel regression
−5
−6
−4
−3
−2
−1
Højde pr 10%
0
−4
−2
Væ
2
0
gt
pr
4
%
10
6
DATA Skolehelbred;
SET SkoleHelbred;
Hjd1_pr10pct = LOG(Hjd1)/LOG(1.1); * "/log(1.1)" giver effekt pr 10%;
Vgt1_pr10pct = LOG(Vgt1/10)/LOG(1.1); * "Vgt/10" centrerer til 10 kg;
* så Intercept svarer til 10 kg;
RUN;
PROC REG DATA=SkoleHelbred;
MODEL FedmeSc = Hjd1_pr10pct Vgt1_pr10pct / CLB;
RUN;
Multipel regression: Opstilling af model, estimation og test
29
Output (lidt redigeret af hensyn til pladsen)
Root MSE
Dependent Mean
Coeff Var
Variable
DF
Intercept
1
Hjd1_pr10pct 1
Vgt1_pr10pct 1
0.87927
-0.05956
-1476.30564
Parameter
Estimate
-1.38367
-0.45993
0.45679
R-Square
Adj R-Sq
Er højden uden betydning, når vægten er med i modellen?
F Value
29.76
Pr > F
<.0001
H0 : b1 =0
Her har vi b̂2 = −0.45993 med se(b̂2 )=0.15673, og t-testet
bˆ1
t=
= −2.93 ∼ t(194), p = 0.0037
se(bˆ1 )
0.2348
0.2269
95% konfidensinterval:
Parameter Estimates
Standard
Error
t Value Pr > |t|
0.45831
-3.02
0.0029
0.15673
-2.93
0.0037
0.06714
6.80
<.0001
bˆ1 ± t(97.5%,194) · se(bˆ1 ) = −0.45993 ± 1.9723 · 0.15673 = (−0.77, −0.15)
Men:
95% Conf. Limits
-2.28758 -0.47976
-0.76904 -0.15082
0.32437
0.58922
Multipel regression: Fortolkning
b̂j ’erne er korrelerede, når de forklarende variable er korrelerede!
Så man kan ikke lave et kombineret test/konfidensområde for begge
variable ud fra testene/konfidensgrænserne for hver af variablene
31
Multipel regression: Fortolkning
32
Matematisk fortolkning af koefficienten b1 til Hjd1_pr10pct:
Simple (univariate) regressionsmodeller:
Responsen vurderes overfor de forklarende variable hver for sig.
Multipel regressionsmodel:
Responsen vurderes overfor begge forklarende variable
samtidigt.
Estimaterne for disse modeller (med tilhørende standard errors (se) i parentes):
b̂0 (se)
b̂1 (se)
b̂2 (se)
s
[Intercept]
[Hjd1_pr10pct]
[Vgt1_pr10pct]
[Root MSE]
Kun Hjd_pr10pct
0.994 (0.329)
0.363 (0.111)
–
0.976
Kun Vgt_pr10pct
-0.051 (0.064)
–
0.305 (0.044)
0.896
Multipel
-1.384 (0.458)
-0.460 (0.157)
0.457 (0.067)
0.879
Model
30
Test af simple hypoteser
Analysis of Variance
Sum of
Mean
DF
Squares
Square
2
46.01528
23.00764
194
149.98472
0.77312
196
196.00000
Source
Model
Error
Corrected Total
Multipel regression: Opstilling af model, estimation og test
Bemærk, 1) at koefficienterne (b̂1 og b̂2 ) ændres, og
2) at deres se bliver større, selvom residualspredningen s bliver mindre.
• Simpel/univariat regressionsmodel:
Forventet forskel i FedmeSc er 0.36 for 1 enheds forskel i kovariaten
Hjd1_pr10pct , dvs. for en forskel på 10% i 1-års højden.
• Multipel regressionsmodel:
Forventet forskel i FedmeSc er −0.46 for 1 enheds forskel i kovariaten
Hjd1_pr10pct for to individer, hvor alle andre kovariater (her kun
Vgt_pr10pct) er identiske (“holdes fast”).
Det kaldes, at vi har korrigeret (“adjusted”) for effekten af de andre
kovariater.
Forskellen kan være markant, fordi kovariaterne typisk er relaterede:
Når en af dem ændres, ændres nogle af de andre oftest også
Vigtigt: Den biologiske fortolkning af parameterestimaterne ændres også:
Det videnskabelige spørgsmål, der besvares, er ikke det samme spørgsmål!
Multipel regression: Fortolkning
33
Multipel regression: Fortolkning
Videnskabelige spørgsmål, som kan belyses af koefficienten
til Hjd1_pr10pct i den multiple regressionsmodel:
Det videnskabelige spørgsmål, som kan belyses af
koefficienten til Hjd1_pr10pct i den univariate model:
• Når vægten fastholdes, ved vi noget mere om det højeste af de to
småbørn: Det højeste barn må også være det slankeste barn! Så
det nye videnskabelige spørgsmål, der belyses, er,
• Når højden er alene, er den et udtryk for, hvor stort barnet er, så
det videnskabelige spørgsmål, der belyses, er,
– Er børn, der er slanke i 1-årsalderen, i gennemsnit
slankere i skolealderen?
– Er børn, der er store i 1-årsalderen, i gennemsnit
federe i skolealderen?
Den negative koefficient til højden betyder, at slanke småbørn
generelt er slankere i skolealderen.
Den positive koefficient til højden betyder, at fedmegraden i
skolealderen vokser signifikant med størrelsen i 1-års alderen.
• Koefficienterne til de logaritme-transformerede højde og vægt er
lige store og med modsat fortegn. Det betyder,
Biologisk mekanisme: Overernæring i barnealderen bruges til at
vokse, så barnet bliver stort af sin alder, men det kan øjensynligt
øge risikoen for fedme senere. Heldigvis er det ikke en stærkt
deterministisk sammenhæng (residualspredningen er relativt
stor).
Multipel regression: Prædiktion
1. at vægt/højde (altså ikke BMI=vægt/højde2 ) i 1-års alderen
er prædiktivt for fedme i skolealderen
2. at to småbørn med samme vægt/højde-ratio har samme
forventede fedmgrad i skolealderen
35
Prædiktion ud fra modellen
Først beregnes kovariaterne:
Multipel regression: Prædiktion
Regneeksempel (barn nr. 100):
Et barn, der er 80 cm højt og vejer 10.8 kg, giver
log(højde (m))
X1 =
log(1.1)
X2 =
log(vægt (kg)/10)
log(1.1)
(her er det ligegyldigt, hvilken logaritme man bruger)
Derefter beregnes den prædikterede værdi for Z-scoren for fedme i
skolealderen som
Ẑ = −1.384 − 0.460 · X1 + 0.457 · X2
34
X1 = ln(0.8)/ ln(1.1) = −0.2231/0.09531 = −2.341
og
X2 = ln(1.08)/ ln(1.1) = 0.07696/0.09531 = 0.807,
så den prædikterede fedmescore er
Ẑ = −1.384 − 0.460 · (−2.341) + 0.457 · 0.807 = 0.061
Barnets observerede fedmescore: 0.27
36
Multipel regression: Prædiktion
37
Multipel regression: Modelevaluering
38
Stærk signifikant effekt af begge kovariater – holder fordelingsantagelserne?
• Ingen tegn på voksende
varians med voksende
middelværdi
0.061 ± t(97.5%,194) · Root MSE =
0.061 ± 1.9723 · 0.879 =
[−1.67, 1.79]
• Normalfordelingen halter en
lille smule, med lidt for mange
af de store positive residualer
og lidt for få af de store
negative residualer. Afvigelsen
fra normalfordelingen er dog
ikke specielt stor helt ude i
ekstremerne
Der er snydt en smule her: Vi har negligeret estimationsusikkerheden på
regressionsparametrene (b’erne). Hvis den prædikterede værdi og
prædiktionsgrænserne beregnes af SAS, fås 0.06 [-1.68, 1.80]
PROC REG DATA=SkoleHelbred;
MODEL FedmeSc = Hjd1_pr10pct Vgt1_pr10pct / CLB CLI;
RUN;
3
2
2
1
1
Residual
• Linearitet er ok
0
-1
-2
-5
-4
-3
-2
-1
Hvad bør tjekkes?
• Den sædvanlige modelkontrol af fordelingsantagelserne:
– Linearitet, varianshomogenitet, normalfordeling og
korrelationer/uafhængighed er ligesom for simpel lineær
regression
39
-2
-5 -4 -3 -2 -1 0 1 2 3 4 5
0
1-€rs v‚gt, pr. 10% forskel
4
4
3
2
3
2
1
0
-1
1
-2
0
-2
-1
0
1
2
Predicted Value of FedmeSc
Multipel regression: Modelevaluering
0
-1
1-€rs hjde, pr. 10% forskel
Norm_Resid_Squared
Prædiktionsgrænserne er
Residual
Vurdering af modellen:
3
Studentized Residual without Current Obs
Regneeksempel, fortsat (barn nr. 100)
-3
0.1 1
510 25 50 75 90
Normal Percentiles
99 99.9
Multipel regression: Indflydelsesrige observationer
40
Regression diagnostics: Cook’s afstand og “DFbetas”
Understøttes konklusionerne af hele materialet? Eller er der enkelte
observationer med meget stor indflydelse på resultaterne?
• Vekselvirkning?
– Produktled, ligesom for variansanalysen? Pas på: SAS ganger
bare variablene sammen! Duer kun, hvis effekten af den ene
kovariat vokser proportionalt med, hvor stor den anden
kovariat er!
• Udelad den i’te person og find nye estimater, b̂0 , b̂1 og b̂2
– Kategorisere den ene? Husk at beholde den tilsvarende
lineære kovariat i modellen også, ellers kan den lineære effekt
af kovariaten fejlagtigt blive tilskrevet en vekselvirkning!
• Cook’s afstand kan spaltes ud på hver variabel (DFBETAS), så
man kan se, hvor meget f.eks. b̂1 ændrer sig (i forhold til sin se),
når den i’te person tilføjes til resten af datasættet (kan gøres ved
hjælp af option INFLUENCE i MODEL-statement for PROC REG, er
ikke muligt i PROC GLM)
• Indflydelsesrige observationer
– Cook’s afstand, eventuelt splittet op på hver variabel
(i)
(i)
(i)
• Cook’s afstand er et samlet mål for ændringen i
parameterestimaterne
Multipel regression: Indflydelsesrige observationer
41
Multipel regression: Indflydelsesrige observationer
42
Opdelt efter betydningen for hver af de to regressionsparametre
PROC REG DATA=Skolehelbred;
Multipel: MODEL FedmeSc = Hjd1_pr10pct Vgt1_pr10pct
/ CLB INFLUENCE;
Cook’s afstand som mål for indflydelse
ODS OUTPUT OutputStatistics=DFBmv;
RUN;
DATA MedDFB;
MERGE SkoleHelbred DFBmv;
RUN;
(SAS variabelnavne DFB_Hjd1_pr10pct og DFB_Vgt1_pr10pct)
DFbeta for h€jde pr 10%
DFbeta for v€gt pr 10%
Hjd1_pr10pct DFBETAS
Vgt1_pr10pct DFBETAS
0.8226
0.8226
0.4256
0.4256
Cook's D
0.289
PROC G3D DATA=MedDFB;
SCATTER hjd1_pr10pct*vgt1_pr10pct=CooksD
/
SHAPE="pillar" SIZE=0.45
TILT=75 GRID COLOR="BLACK"
;
RUN;
0.192
0.0286
0.0286
0.096
15.60
15.60
15.60
12.67
12.67
12.67
V‚gt i 1-rsalderen
V‚gt i 1-rsalderen
0.000
0.96
-0.3684
0.96
9.73
V‚gt i 1-rsalderen
-0.3684
0.96
9.73
9.73
0.86
H€jde i 1-rsalderen
0.86
H€jde i 1-rsalderen
0.86
H€jde i 1-rsalderen
0.76
0.76
0.76
0.66 6.80
0.66 6.80
0.66 6.80
Multipel regression: Indflydelsesrige observationer
43
Multipel regression: Eksempel 2
44
Mange forklarende variable
Hvad gør vi ved indflydelsesrige observationer?
• ser nærmere på dem!
• anfører et mål for deres indflydelse?
• udelader dem?
Hvornår kan vi udelade dem?
• hvis de ligger meget yderligt for en forklarende variabel
– husk at afgrænse konklusionerne tilsvarende!
• hvis man kan finde årsagen
– og da skal alle sådanne observationer udelades!
O’Neill et. al. (1983): Lungefunktion hos 25 patienter med cystisk fibrose.
Multipel regression: Eksempel 2
45
Multipel regression: Variabelselektion
46
Hvilke forklarende variable har en univariat effekt på responset
P Emax ?
− BMP: BMI i % af BMI udregnet for median vægt og median
højde for raske børn med samme alder
− FEV1 : Forced expiratory volume in 1 second
− RV: Residual volume
− FRC: Functional residual capacity
− TLC: Total lung capacity
− P Emax : Maximal expiratory pressure
Er det så disse variable, der skal med i modellen?
Multipel regression: Variabelselektion
Korrelationer:
Age
Sex
Age
Sex
1.00000 -0.16712
0.0
0.4246
-0.16712
0.4246
47
Height
0.92605
0.0001
Weight
0.90587
0.0001
BMP
0.37776
0.0626
FEV1
RV
FRC
TLC
0.29449 -0.55194 -0.63936 -0.46937
0.1530
0.0042
0.0006
0.0179
1.00000 -0.16755 -0.19044 -0.13756 -0.52826
0.0
0.4234
0.3619
0.5120
0.0066
0.27135
0.1895
0.18361
0.3797
0.02423
0.9085
Height 0.92605 -0.16755
0.0001
0.4234
1.00000
0.0
0.92070
0.0001
0.44076
0.0274
0.31666 -0.56952 -0.62428 -0.45708
0.1230
0.0030
0.0009
0.0216
Weight 0.90587 -0.19044
0.0001
0.3619
0.92070
0.0001
1.00000
0.0
0.67255
0.0002
0.44884 -0.62151 -0.61726 -0.41847
0.0244
0.0009
0.0010
0.0374
BMP
0.37776 -0.13756
0.0626
0.5120
0.44076
0.0274
0.67255
0.0002
1.00000
0.0
0.54552 -0.58237 -0.43439 -0.36490
0.0048
0.0023
0.0300
0.0729
0.29449 -0.52826
0.1530
0.0066
0.31666
0.1230
0.44884
0.0244
0.54552
0.0048
1.00000 -0.66586 -0.66511 -0.44299
0.0
0.0003
0.0003
0.0266
FEV1
Multipel regression: Variabelselektion
(Bemærk især korrelationerne mellem alder, højde og vægt)
RV
-0.55194
0.0042
0.27135 -0.56952 -0.62151 -0.58237 -0.66586
0.1895
0.0030
0.0009
0.0023
0.0003
1.00000
0.0
0.91060
0.0001
0.58914
0.0019
FRC
-0.63936
0.0006
0.18361 -0.62428 -0.61726 -0.43439 -0.66511
0.3797
0.0009
0.0010
0.0300
0.0003
0.91060
0.0001
1.00000
0.0
0.70440
0.0001
Videnskabelig variabelselektion
Gennemtænk præcis hvilket videnskabeligt spørgsmål, man ønsker
besvaret – det præcise spørgsmål bestemmer hvilke variable, der skal
inkluderes i modellen.
Svært – men den eneste måde at opnå egentlig videnskabelig indsigt!
(og så bliver det lettere at skrive en god artikel og lettere at svare på
reviewernes kommentarer . . . )
48
Multipel regression: Variabelselektion
49
Multipel regression: Variabelselektion
50
Automatisk variabelselektion
• Forlæns selektion
Medtag hver gang den mest signifikante
Slutmodel: Weight BMP FEV1
Automatisk variabelselektion
Computergenereret variabelselektion
– men det er bedre at tænke selv . . .
:
• Baglæns elimination
Start med alle, udelad hver gang den mindst signifikante
Slutmodel: Weight BMP FEV1
PROC REG DATA=pemax;
MODEL pemax=age sex height weight bmp fev1 rv frc tlc /
SELECTION=FORWARD;
RUN;
Giver det mening? Det ser jo i det mindste meget stabilt ud!?
Men:
Hvis nu observation nr. 25 tilfældigvis ikke havde været med?
Så ville forlæns selektion have taget højde ind som den første, og
baglæns elimination ville have smidt højde ud som den første!
eller
PROC REG DATA=pemax;
MODEL pemax=age sex height weight bmp fev1 rv frc tlc /
SELECTION=BACKWARD;
RUN;
Multipel regression: Variabelselektion
Advarsel ved variabelselektion
• Massesignifikans!
• Variabelselektion baseret på signifikansvurderinger:
– Signifikanserne overvurderes!
– Regressionsparametrene er “for store”, dvs. for langt væk fra 0.
• Automatisk variabelselektion:
Hvad kan vi sige om ’vinderne’ ?
– Var de hele tiden signifikante, eller blev de det lige pludselig?
– I sidstnævnte tilfælde kunne de jo være blevet smidt ud, mens
de var insignifikante. . .
Tommelfingerregel (vedrører kun stabiliteten):
Antallet af observationer skal være mindst 10 gange så stort som antallet
af undersøgte parametre!
51
Multipel regression: Variabelselektion
52
Når alle 9 kovariater medtages (start på baglæns
elimination):
Parameter Estimates
Parameter
Standard
Variable DF
Estimate
Error
INTERCEP 1
176.058206 225.89115895
Age
1
-2.541960
4.80169881
Sex
1
-3.736781
15.45982182
Height
1
-0.446255
0.90335490
Weight
1
2.992816
2.00795743
BMP
1
-1.744944
1.15523751
FEV1
1
1.080697
1.08094746
RV
1
0.196972
0.19621362
FRC
1
-0.308431
0.49238994
TLC
1
0.188602
0.49973514
T for H0:
Parameter=0
0.779
-0.529
-0.242
-0.494
1.490
-1.510
1.000
1.004
-0.626
0.377
Prob > |T|
0.4479
0.6043
0.8123
0.6285
0.1568
0.1517
0.3333
0.3314
0.5405
0.7112
Multipel regression: Variabelselektion
53
Multipel regression: Variabelselektion
54
Baglæns elimination - successive p-værdier
0.8
Sex
Traditionelle anbefalinger ved automatisk variabelselektion
FRC Age
• Baglæns elimination
Height
• Gennemregning af alle modeller
0.4
p−value
0.6
TLC
• Cross-validation: Foretag variabelselektionen på en del af data,
0.2
afprøv bagefter på resten
• “Shrinkage” af regressionsparameterestimaterne
RV
FEV1
0.0
BMP
Weight
1
2
3
4
5
6
7
8
9
step
Multipel regression: Variabelselektion
Anbefalinger ved videnskabeligt baseret variabelselektion
• Undgå uklare problemstillinger – hvis man er usikker på en
kovariat, så gennemtænk den præcise forskel variablen gør for
fortolkningen
• Hvis datagenereret variabelselektion er relevant, så prioriter
variablene ud fra relevante kriterier (biologisk relevans,
tilgængelighed [f.eks. er ikke-invasive undersøgelser oftest at
foretrække], andres standard valg, . . . )
• Test noget meningsfuldt! Og lad være med at smide nogle variable
ud, bare fordi deres p-værdi (tilfældigvis?) er stor
Så er det også nemmere at få det publiceret.
55
Multipel regression: Variabelselektion
Den tekniske årsag til problemerne: Kollinearitet
Kollinearitet: De forklarende variable er lineært relaterede
Det vil de altid være til en vis grad, undtagen i designede forsøg
(f.eks. landbrugsforsøg)
Hvad er problemet ved kollinearitet?
• Fortolkningen af resultaterne:
“Hvordan skal (effekten af) hver enkelt kovariat fortolkes?”
“Hvad er årsagen til den observerede sammenhæng?”
• Meget sjældent: Tekniske problemer med estimationen
56
Multipel regression: Kollinearitet
57
Multipel regression: Kollinearitet
58
Multipel regressionsmodel vs. simple/univariate regressionsmodeller
Vægt
Variable i modellen
Nogle symptomer på kollinearitet
Højde
b̂1 (se)
p
b̂2 (se)
p
s (RootMSE)
1.02 (0.79)
0.21
0.15 (0.66)
0.83
0.33
Kun Height
-
-
0.93 (0.26)
0.0016
0.37
Kun Weight
1.19 (0.30)
0.0006
-
-
0.35
Både Weight og Height
• Nogle af kovariaterne er stærkt korrelerede
• Alle kovariater i den multiple regressionsanalyse er insignifikante,
men modellens samlede forklaringsværdi er signifikant og/eller
R2 er alligevel stor
• I den multiple regressionsmodel ser ingen af dem ud til at have
selvstændig betydning.
Variable i modellen
• Hver af de to forklarende variable har betydning vurderet ud fra de
univariate modeller.
Weight og Height
Alle 9 variable
• De to variable fanger et betydningsfuldt aspekt, men det er svært at
sige hvilken, der er bedst – vægten ser ud til at være den med stærkest
sammenhæng i disse data, men pas på fortolkningen! Det betyder ikke,
at vægten er den “sande”årsag – måske opsummerer vægten bare
aspekter fra flere af de egentlige årsager – eller rammer bedre for en
enkelt indflydelsesrig observation (her observation nr. 25).
Multipel regression: Kollinearitet
R2
2
Radj
0.2067
0.41
0.35
0.1517
0.64
0.42
Modellens
Laveste
p-værdi
enkelt p-værdi
0.0033
0.0320
• Estimaterne for effekterne af andre variable ændres meget, når en
enkelt variabel udelades af modellen
• Resultaterne er væsentlig anderledes end forventet
(Tænk igennem! Oftest er det spørgsmål, der svarer til den valgte model,
ikke helt det, man havde planlagt. . . )
59
Multipel regression: Kollinearitet
60
Kvantificering af graden af multikollinearitet
Når vi tilføjer TOL, får vi en ekstra søjle:
Check tolerance factor for hver variabel: Den må ikke være for lille!
PROC REG DATA=pemax;
MODEL PEmax=age sex height weight bmp fev1 rv frc tlc / TOL;
RUN;
• tolerance factor (TOL) for en kovariat = 1-R2 for regression af
kovariaten på de øvrige kovariater = den del af variationen i
kovariaten, som ikke kan forklares af de andre kovariater
• TOL skal ganges på kovariatens varians for at finde et bud på
restvariationen i kovariaten for fastholdt værdi af de andre (husk
at tage kvadratrod bagefter for at finde spredningen)
• overvej, om denne restvariation er stor nok til, at data kan
bruges til at vurdere, om variablen har en effekt
Variable
Intercept
Age
Sex
Height
Weight
BMP
FEV1
RV
FRC
TLC
DF
1
1
1
1
1
1
1
1
1
1
Parameter Standard
Estimate
Error
176.05821 225.89116
-2.54196
4.80170
-3.73678
15.45982
-0.44626
0.90335
2.99282
2.00796
-1.74494
1.15524
1.08070
1.08095
0.19697
0.19621
-0.30843
0.49239
0.18860
0.49974
T for H0:
Parameter=0
0.779
-0.529
-0.242
-0.494
1.490
-1.510
1.000
1.004
-0.626
0.377
Prob > |T|
0.4479
0.6043
0.8123
0.6285
0.1568
0.1517
0.3333
0.3314
0.5405
0.7112
Tolerance
.
0.04581
0.44064
0.07166
0.02093
0.14053
0.18452
0.09489
0.05833
0.37594
Multipel regression: Kollinearitet
61
Multipel regression: Kollinearitet
62
Hvad gør man så, når der er kollinearitet?
1. Gennemtænk grundigt, hvad den enkelte variabel står for
afhængigt af hvilke af de andre mulige variable, der fastholdes
(= er med i modellen).
– Overvej også, om responsvariablen ændrer fortolkning.
Vigtigt:
2. Lav analyser af fokusvariablen med og uden justering for
forskellige grupper af de andre variable og prøv at forstå
forskellene i resultaterne
I modstrid med anbefalingen fra visse epidemiologer, så må man ikke
nøjes med at præsentere univariate analyser for alle variablene!
– præsenter gerne begge/alle analyser i artiklen med fortolkning
af forskellene
Problemet med fortolkningen forsvinder ikke af, at man tillægger
hver enkelt variabel al forklaringsevnen en ad gangen.
3. Spar eventuelt på antallet af variable for grupper af variable, der
hænger sammen: Drejer det sig om ét fælles aspekt af interesse,
så man måske kan nøjes med én af variablene og begrunde,
hvorfor man vælger netop den?
4. Fortolk med stor forsigtighed
Multipel regression: Overordnede principper
63
Multipel regression: Overordnede principper
Nogle kilder til forkerte modelvalg:
Den statistiske model bestemmes af
det videnskabelige spørgsmål.
Eneste undtagelse fra denne regel er
fordelingsantagelserne (inkl. korrelationer),
der bestemmes af data.
Forsimple virkeligheden for meget, eksempelvis
• tro, at frasen “alt andet lige” giver mening (og ikke bare er en
bekvem undskyldning for ikke at tænke det ordentligt igennem)
• tro, at det giver mening at tale om sammenhængen mellem
exposure og respons, som om der kun kan eksistere ét eneste
videnskabeligt spørgsmål, der involverer denne exposure og dette
respons
• tro, at “confounderne” er givet ud fra exposure og respons, så
man kan vælge sine kovariater uden at overveje konsekvenserne
for fortolkningen
64
Multipel regression: Overordnede principper
65
Nogle kilder til fejlkonklusioner/fejlfortolkninger:
Påstand: Når man skal vurdere effekten af en forklarende variabel
(“exposure”) på et bestemt outcome, så skal man så vidt muligt
justere for alle confoundere.
– herunder at tro, at det er lige meget, om “effekten” er justeret
for forskellige ting i forskellige artikler
Sandhed: Nej! Man skal kun justere for de variable, som man gerne
ville have kunnet holde fast. Udtrykket “alt andet lige” er meningsløst
– der vil altid være noget andet, der ændrer sig, når værdien af vores
forklarende variabel ændres – om ikke andet, så den totale mængde
af påvirkning af vores outcome.
• Sammenligne f.eks. percentil-gruppe forskelle eller forskelle
svarende til 1 SD for forskellige populationer – den biologiske
effekt er nok ligeglad med, hvad resten af personens population
gør. . .
67
Multipel regression: Falske dogmer og påstande
Påstand: Man må ikke inkludere mediator variable, dvs. variable, der
er en del af virkningsmekanismen.
Sandhed: Mediator variable er ligesom alle andre variable: Hvis man
inkluderer dem, ændrer man det videnskabelige spørgsmål, der
besvares ved analysen! Når man inkluderer en eller flere mediator
variable, undersøger man størrelsen af den del af effekten, der ikke
går via effekten på disse mediator variable, altså styrken af eventuelle
andre virkningsmekanismer.
NB: Pas på med at justere for variable, der ligger før i årsagskæden
for den interessante exposure-variabel. At fokusere på effekten justeret
for sådanne variable betyder, at man tror, det giver mening, at
betydningen af en høj exposure afhænger af, hvorfor exposure er høj.
66
Falsk dogme blandt traditionelle epidemiologer:
• Glemme (ikke kunne overskue?) at gennemtænke fortolkningen af
såvel exposure som respons, når man ser på sammenhængen
justeret for de valgte kovariater
Multipel regression: Falske dogmer og påstande
Multipel regression: Falske dogmer og påstande
Påstand: Signifikansen for den enkelte variabel bliver altid svagere,
når de andre tages med.
Sandhed: Ofte, men ikke altid. Nogle gange bliver signifikanserne
væsentligt stærkere.
68
Multipel regression: SAS programmering
69
Multipel regression: SAS programmering
70
Eksempel på program (med STORE mængder output!!)
DATA Skolehelbred;
SET SkoleHelbred;
Hjd1_pr10pct = log(Hjd1)/log(1.1); * "/log(1.1)" giver effekt pr 10%;
Vgt1_pr10pct = log(Vgt1/10)/log(1.1); * "Vgt/10" centrerer til 10 kg;
RUN;
SAS kode bidder
Diverse options til MODEL skal stå efter “/” og inden “;”
i MODEL specifikationen i kaldet af PROC REG, f.eks.
PROC REG DATA=pemax;
MODEL PEmax=age sex height weight bmp
fev1 rv frc tlc / CLB CLM
RUN;
CLI
TOL
*- AXIS1 og AXIS2 bestemmer udseendet af akserne, når de bruges i GPLOT -*;
AXIS1 LABEL=(H=3) VALUE=(H=2.5) MINOR=NONE;
AXIS2 LABEL=(H=3 A=90 R=0) VALUE=(H=2.5) MINOR=NONE;
INFLUENCE;
*- Plot af outcome mod de forklarende variable med blød "gennemsnits"kurve -*;
PROC GPLOT DATA=SkoleHelbred;
PLOT FedmeSc*(Hjd1_pr10pct Vgt1_pr10pct)
/ HAXIS=AXIS1 /* Bruger den ovenstående AXIS1 til den vandrette akse */
VAXIS=AXIS2 /* Bruger den ovenstående AXIS2 til den lodrette akse */
VREF=0 CVREF=BLACK LVREF=33; /* stiplet vandret linie gennem 0 */
SYMBOL1 CV=BLACK V=CIRCLE H=2 /* sorte cirkler i dobbeltstørrelse */
CI=RED I=SM75S /* rød, blød "gennemsnits"kurve */
MODE=INCLUDE; /* Bør være med for en sikkerheds skyld */
RUN;
eller (automatisk variabelselektion), f.eks.
PROC REG DATA=pemax;
MODEL PEmax=age sex height weight bmp
fev1 rv frc tlc / CLB SELETION=BACKWARD;
RUN;
De fleste MODEL-options kan kombineres helt frit (se online manual).
Multipel regression: SAS programmering
71
ODS GRAPHICS ON;
PROC REG DATA=SkoleHelbred PLOTS(LABEL)=(ALL RESIDUALS(SMOOTH) DFBETAS);
MODEL FedmeSc = Hjd1_pr10pct Vgt1_pr10pct /
R /*residualer og prædikterede værdier*/
CLB CLM /*konfidensgrænser på parametre (CLB) og prædikteret værdi (CLM)*/
CLI /*prædiktionsgrænser*/
INFLUENCE /*Mål for observationens indflydelse*/
TOL /*Mål for kollinearitet*/ ;
/* De ekstra variable kan gemmes på et nyt datasæt. Jeg har valgt navnet */
/* EkstraVariable til det nye datasæt. NB: OutputStatistics er et SAS-ord */
ODS OUTPUT OutputStatistics=EkstraVariable;
RUN;
Multipel regression: SAS programmering
/* De ekstra variable skal flettes på det originale datasæt, hvis de skal
/* bruge til f.eks. at udelukke observationer ved sensitivitetsanalyser
/* eller til det ekstra plot til tjek af varianshomogenitet, se nedenfor.
DATA MedDetHele;
/* PAS PÅ med MERGE. Man skal vide, hvad man gør, ellers kan det gå galt!
MERGE SkoleHelbred EkstraVariable;
resid_squared = RSTUDENT**2; /* Til et ekstra variansplot */
RUN;
/* Det ekstra variansplot - kurven skal ligge vandret omkring 1, */
/* hvis den er voksende, kan man overveje at log-transformere Y. */
AXIS222 LABEL=(H=3 A=90 R=0) VALUE=(H=2.5) ORDER=(0 TO 4 BY 1);
SYMBOL1 V=CIRCLE CV=BLACK H=2 I=SM75S CI=RED MODE=INCLUDE;
PROC GPLOT DATA=MedDetHele;
PLOT resid_squared*predicted
/ HAXIS=AXIS1 VAXIS=AXIS222 VREF=1 CVREF=BLACK LVREF=33;
RUN; QUIT;
72
*/
*/
*/
*/