Københavns Universitet Statistik for Biokemikere Det naturvidenskabelige fakultet Inge Henningsen Afdeling for Anvendt Matematik og Statistik December 2006 Regressionsanalyse uden gentagelser Regressionsanalyse med gentagelser Regressionslinie gennem (0,0) Sammenligning af regressionslinier Regressionsanalyse med flere uafhængige variable Kvadratisk regression 1
Eksempler på regressionsanalyse med SAS Dette notat indeholder SAS-programmer til ZAR eksempel 17.1, 17.2, 17.3, 17.4, og 17.8, samt konstruerede eksempler svarende til analyserne i ZAR afsnit 17.9 og kapitel 18. I praktiske anvendelser med middelstore eller store datasæt suppleres de viste analyser med histogrammer og qqplot for residualer (beregnet med PROC UNIVARIATE). Det kan evt. være fornuftigt at supplere med yderligere residualplot og andre tegninger afhængigt af problemets karakter. I programmet kan indsættes den generelle udskriftsdirigerende ordre GOPTIONS FTEXT=SWISS HTEXT=2; For at få Word-kompatibel udskrift kan ODS-ordre indsættes først og sidst i programmet. ODS RTF body='c:\myfiles\filename.rtf'; ODS RTF CLOSE Her kommer filen filename.rtf i biblioteket c;\myfiles. 2
Regression i GLM I nedenstående SAS-programmer antages det, at y er numerisk responsvariabel, x, og z er numeriske regressionsvariable, mens k er kategorisk variabel. SAS-programmerne antages at have formen: PROC GLM; CLASS k; MODEL (her indsættes fra tabel); Sammenhæng mellem regressionsligning og modelordre i GLM: Regressionsligning Modelordre i GLM E(Y i )=a+bx i MODEL y=x; E(Y i )=bx i MODEL y=x/noint E(Y ij )=a i +b i x ij MODEL y=k k*x; E(Y ij )=a i +bx ij MODEL y=k x; E(Y ij )=a+bx ij MODEL y=x; E(Y ij )= a i MODEL y=k E(Y i )=a+bx i +cz i MODEL y=x z 3
Sammenhæng mellem regressionsligning og modelordre i GLM: Regressionsligning Modelordre i GLM E(Y i )=a+bx i MODEL y=x; E(Y i )=bx i MODEL y=x/noint E(Y ij )=a i +b i x ij MODEL y=k k*x; E(Y ij )=a i +bx ij MODEL y=k x; E(Y ij )=a+bx ij MODEL y=x; E(Y ij )= a i MODEL y=k E(Y i )=a+bx i +cz i MODEL y=x z 4
Eksempel 17.1 i ZAR: Regressionsanalyse uden gentagelser PROGRAM: DATA zar17_1; INPUT alder vinge @@; CARDS; 3 1.4 4 1.5 5 2.2 6 2.4 8 3.1 9 3.2 10 3.2 11 3.9 12 4.1 14 4.7 15 4.5 16 5.2 17 5.0 ; /*Tegning af vinge mod alder. Indlagt regressionslinie*/ SYMBOL1 v=dot c=red; SYMBOL2 v=none I=rl c=blue; PROC GPLOT; PLOT vinge*alder=1 vinge*alder=2/overlay; 5
/*Regressionsanalyse. Estimation af parametre. Konstruktion af datasæt med studentiserede residualer ("student"), værdier til 95% konfidensbånd for regressionslinie ("l95m" og "u95m"), samt predikterede værdier ("yhat").*/ PROC GLM DATA=zar17_1; MODEL vinge=alder/ss1 SOLUTION; OUTPUT OUT=ny STUDENT=student L95M=l95m U95M=u95m P=yhat; /*Tegning af residualplot*/ PROC GPLOT; PLOT student*alder=1/vref=0 VREF=1.96 VREF=-1.96; /*Tegning af regressionslinie med 95% konfidensbånd*/ SYMBOL3 v=none I=join c=green; PROC GPLOT; PLOT vinge*alder=2 l95m*alder=3 u95m*alder=3/overlay; QUIT; 6
UDSKRIFT: The GLM Procedure Dependent Variable: vinge Number of observations 13 Sum of Source DF Squares Mean Square F Value Pr > F Model 1 19.13221374 19.13221374 401.09 <.0001 Error 11 0.52470934 0.04770085 Cor.Total 12 19.65692308 R-Square Coeff Var Root MSE vinge Mean 0.973307 6.394748 0.218405 3.415385 Standard Parameter Estimate Error t Value Pr > t Intercept 0.7130945390 0.14790445 4.82 0.0005 alder 0.2702290076 0.01349312 20.03 <.0001 7
ZAR eks 17.1: Plot af vinge mod alder. Indlagt regressionslinie. 8
ZAR eks 17.1: Konfidensbånd for regressionslinie. 9
ZAR eks 17.1: Residualplot for regressionslinie. 10
Eksempel 17.8 i ZAR: Regressionsanalyse med gentagelser PROGRAM: DATA zar17_8; INPUT alder blodtryk @@; CARDS; 30 108 30 110 30 106 40 125 40 120 40 118 40 119 50 132 50 137 50 134 60 148 60 151 60 146 60 144 70 162 70 156 70 164 70 158 70 159 ; /*Tegning af blodtryk mod alder. Indlagt regressionslinie*/ SYMBOL1 v=dot c=red; SYMBOL2 v=none I=rl c=blue; PROC GPLOT; PLOT blodtryk*alder=1 blodtryk*alder=2/overlay; /*Her her konstrueres alder som ny kategorisk variabel "gruppe"*/ DATA zar17_8; SET zar17_8; gruppe=alder; /*Bartletts test for varianshomogenitet*/ PROC GLM DATA=zar17_8; CLASS gruppe; MODEL blodtryk=gruppe/ss1; MEANS gruppe/hovtest=bartlett; OUTPUT OUT=ny1 STUDENT=student1; /*Residualplot til kontrol af varianshomogenitet*/ PROC GPLOT DATA=ny1; PLOT student1*alder/vref=0 VREF=1.96 VREF=-1.96; 11
/* Test for linearitet.*/ PROC GLM DATA=zar17_8; CLASS gruppe; MODEL blodtryk=alder gruppe/ss1; /* Estimation af parametre under slutmodel. Konstruktion af datasæt med studentiserede residualer ("student"), værdier til 95% konfidensbånd for regressionslinie ("l95m" og "u95m") og predikterede værdier ("yhat").*/ PROC GLM DATA=zar17_8; MODEL blodtryk=alder/ss1 SOLUTION; OUTPUT OUT=ny2 STUDENT=student2 L95M=l95m U95M=u95m P=yhat; /*Tegning af residualplot*/ PROC GPLOT; PLOT student2*alder=1/vref=0 VREF=1.96 VREF=-1.96; /*Tegning af regressionslinie med 95% konfidensbånd*/ SYMBOL3 v=none I=join c=green; PROC GPLOT; PLOT blodtryk*alder=2 l95m*alder=3 u95m*alder=3/overlay; 12
UDSKRIFT: /*Bartletts test for varianshomogenitet*/ Bartlett's Test for Homogeneity of blodtryk Variance Source DF Chi-Square Pr > ChiSq gruppe 4 0.5425 0.9692 The GLM Procedure Level of -----------blodtryk---------- gruppe N Mean Std Dev 30 3 108.000000 2.00000000 40 4 120.500000 3.10912635 50 3 134.333333 2.51661148 60 4 147.250000 2.98607881 70 5 159.800000 3.19374388 13
ZAR eks 17.8. Blodtryk tegnet mod alder. Indlagt regressionslinie. 14
ZAR eks 17.8. Studentiserede residualer under variansanalysemodel. 15
/* Test for linearitet.*/ Dependent Variable: blodtryk The GLM Procedure Number of observations 19 Sum of Source DF Squares Mean Square F Value Pr > F Model 4 6650.888596 1662.722149 198.59 <.0001 Error 14 117.216667 8.372619 Cor.Total 18 6768.105263 R-Square Coeff Var Root MSE blodtryk Mean 0.982681 2.116958 2.893548 136.6842 Source DF Type I SS Mean Square F Value Pr > F alder 1 6649.195317 6649.195317 794.16 <.0001 gruppe 3 1.693280 0.564427 0.07 0.9763 16
ZAR eks 17.8. Studentiserede residualer under regressionsanalysemodel. 17
/* Estimation af parametre under slutmodel.*/ Dependent Variable: blodtryk The GLM Procedure Number of observations 19 Sum of Source DF Squares Mean Square F Value Pr > F Model 1 6649.195317 6649.195317 950.60 <.0001 Error 17 118.909946 6.994703 Corr. Total 18 6768.105263 R-Square Coeff Var Root MSE blodtryk Mean 0.982431 1.934935 2.644750 136.6842 Standard Parameter Estimate Error t Value Pr > t Intercept 68.78629032 2.28425537 30.11 <.0001 alder 1.30309140 B 0.04226442 30.83 <.0001 18
ZAR eks17.8 : Konfidensbånd for regressionslinie 19
Afsnit 17.9 i ZAR: Regressionslinie gennem (0,0). PROGRAM: /*Regression uden gentagelser gennem (0,0). 1 uafhængig variabel*/ /*Konstruerede data. Det antages at y=x+z, hvor x er regressionsvariabel og z er fejl med fordeling N(0,9).*/ /*Her konstrueres data*/ DATA zar17_9; DO x=1 TO 20 BY 1; y=x+3*rannor(345557); OUTPUT; END; /*Tegning af y mod x. Indlagt sædvanlig regressionslinie*/ SYMBOL1 v=dot c=red; SYMBOL2 v=none I=rl c=blue; PROC GPLOT; PLOT y*x=1 y*x=2/overlay; QUIT; 20
/*Regressionsanalyse. Konstruktion af datasæt med studentiserede residualer ("student"), værdier til 95% konfidensbånd for regressionslinie ("l95m" og "u95m"), samt predikterede værdier ("yhat").*/ PROC GLM DATA=zar17_9; MODEL y=x/ss1 NOINT; /*NOINT får regressionslinien gennem (0,0)*/ OUTPUT OUT=ny STUDENT=student L95M=l95m U95M=u95m P=yhat; /*Tegning af residualplot*/ PROC GPLOT; PLOT student*x=1/vref=0 VREF=1.96 VREF=-1.96; /*Tegning af regressionslinie med 95% konfidensbånd*/ SYMBOL3 v=none I=join c=green; PROC GPLOT; PLOT yhat*x=2 l95m*x=3 u95m*x=3/overlay; 21
ZAR afsnit 17.9: Regression. Hypotese: Linie gennem (0,0). 22
Dependent Variable: y The GLM Procedure Number of observations 20 Sum of Source DF Squares Mean Square F Value Pr > F Model 1 2722.495899 2722.495899 213.96 <.0001 Error 19 241.759356 12.724177 Uncorrected 20 2964.255255 Total R-Square Coeff Var Root MSE y Mean 0.918442 33.28654 3.567096 10.71633 NOTE: No intercept term is used: R-square is not corrected for the mean. Source DF Type I SS Mean Square F Value Pr > F x 1 2722.495899 2722.495899 213.96 <.0001 Standard Parameter Estimate Error t Value Pr > t x 0.9739634710 0.06658462 14.63 <.0001 23
Regressionslinie gennem (0,0) med indlagt regressionsbånd. 24
Kapitel 18 i ZAR: Sammenligning af regressionslinier. /*ZAR kapitel 18. Sammenligning af to regressionslinjer.*/ /*Data er konstruerede. De antages at ligge i 'zar18_1' med de tre variable 'y', 'x' og 'gruppe', hvor y=2+x+z i gruppe 1 og y=8+x+z i gruppe 2, hvor z er *fejl* med fordeling N(0,9)*/ GOPTIONS FTEXT=SWISS HTEXT=2; /*Her konstrueres data*/ DATA gruppe1; DO x=1 TO 20 BY 1; y=2+x+3*rannor(345557); gruppe=1; OUTPUT; END; DATA gruppe2; DO x=10 TO 25 BY 1; y=8+x+3*rannor(35777); gruppe=2; OUTPUT; END; DATA zar18_1; SET gruppe1 gruppe2; 25
/*Undersøgelse af linearitet*/ SYMBOL1 V=dot I=rl C=red; SYMBOL2 V=star I=rl C=blue; PROC GPLOT DATA=zar18_1; PLOT y*x=gruppe; QUIT; PROC GLM DATA=zar18_1; /*Regressionsanalyse. Residualer til kontrol af varianshomogenitet*/ CLASS gruppe; MODEL y=x gruppe gruppe*x/ss1; OUTPUT OUT=ny1 STUDENT=student1; /*Her må plottesymboler resettes */ GOPTIONS RESET FTEXT=SWISS HTEXT=2; /*Residualplot*/ SYMBOL1 V=dot I=none C=red; SYMBOL2 V=star I=none C=blue; PROC GPLOT DATA=ny1; PLOT student1*x=gruppe/vref=0 VREF=1.96 VREF=-1.96; QUIT; /*Regressionsanalyse med samme hældning men forskellig skæring med y-akse for de to linier. Estimation af parametre.*/ PROC GLM; CLASS gruppe; MODEL y=x gruppe /SS1 SOLUTION;; OUTPUT OUT=ny2 STUDENT=student2 L95M=l95m U95M=u95m P=yhat; 26
/*Tegning af residualplot*/ PROC GPLOT; PLOT student2*x=gruppe/vref=0 VREF=1.96 VREF=-1.96; PROC SORT; BY gruppe; GOPTIONS RESET FTEXT=SWISS HTEXT=2; AXIS1 ORDER=0 TO 30 by 10; AXIS2 ORDER=-10 TO 40 by 10; /*Tegning af regressionslinie med 95% konfidensbånd*/ SYMBOL1 v=dot I=none c=red; SYMBOL2 v=none I=rl c=blue; SYMBOL3 v=none I=join c=green; PROC GPLOT; PLOT y*x=2 l95m*x=3 u95m*x=3/overlay HAXIS=AXIS1 VAXIS=AXIS2; BY gruppe; 27
UDSKRIFT: Tegning af regressionslinier for gruppe 1 og gruppe 2. 28
/*test for same hældning på regressionslinier*/ Dependent Variable: y The GLM Procedure Class Level Information Class Levels Values gruppe 2 1 2 Number of observations 36 Sum of Source DF Squares Mean Square F Value Pr > F Model 3 1856.301155 618.767052 49.43 <.0001 Error 32 400.551757 12.517242 Corr. Total 35 2256.852912 R-Square Coeff Var Root MSE y Mean 0.822518 19.92244 3.537972 17.75873 Source DF Type I SS Mean Square F Value Pr > F x 1 1670.702465 1670.702465 133.47 <.0001 gruppe 1 184.655151 184.655151 14.75 0.0005 x*gruppe 1 0.943540 0.943540 0.08 0.7854 29
Studentiserede residualer for gruppe 1 og gruppe 2. Forskellige regressionslinier. 30
/*Analyse og parameterestimation. Model med samme hældning på regressionslinier.*/ Dependent Variable: y The GLM Procedure Class Level Information Class Levels Values gruppe 2 1 2 Number of observations 36 Sum of Source DF Squares Mean Square F Value Pr > F Model 2 1855.357615 927.678808 76.25 <.0001 Error 33 401.495297 12.166524 Corr.Total 35 2256.852912 R-Square Coeff Var Root MSE y Mean 0.822099 19.64135 3.488054 17.75873 Source DF Type I SS Mean Square F Value Pr > F x 1 1670.702465 1670.702465 137.32 <.0001 gruppe 1 184.655151 184.655151 15.18 0.0005 Standard Parameter Estimate Error t Value Pr > t Intercept 9.340275654 B 2.11373330 4.42 0.0001 x 0.841225531 0.11002724 7.65 <.0001 gruppe 1-5.456811467 B 1.40068829-3.90 0.0005 gruppe 2 0.000000000 B... 31
Studentiserede residualer for gruppe 1 og gruppe 2. Samme hældning på regressionslinier. 32
Regressionslinie med konfidensbånd for gruppe 1 33
Regressionslinie med konfidensbånd for gruppe 2 34
Eksempel 20.1-3 i ZAR: Regressionsanalyse med flere uafhængige variable /*Data er hentet fra Zar eksempel 20a. De fire første variable er betegnet med x1-x4 og den femte med y. Data antages at ligge i 'zar20'.*/ GOPTIONS FTEXT=SWISS HTEXT=2; PROGRAM 1: PROC CORR; /*korrelationskoefficienter jvf zar 20.1d*/ PROGRAM2: /*Regressionsanalyse med estimerede parametre, jvf Zar 20.1g. Konstruktion af datasæt med studentiserede residualer ("student1") og predikterede værdier ("yhat1"). */ PROC GLM; MODEL y=x1 x2 x3 x4/ss1 SOLUTION; OUTPUT OUT=ny1 STUDENT=student1 P=yhat1; /*residualer tegnet mod x4 (det kunne have været en af de andre baggrundsvariable)*/ SYMBOL1 V=dot C=red; PROC GPLOT DATA=ny1; PLOT student1*x4/vref=0 VREF=1.96 VREF=-1.96; /*modelkontrol*/ SYMBOL2 V=none I=rl C=blue; PROC GPLOT DATA=ny1; PLOT y*yhat1 y*y=2/overlay HAXIS=1 TO 5 BY 1 VAXIS=1 TO 5 BY 1; QUIT; /*modellen passer ikke ret godt på grund af de to mulige outliers */ PROGRAM3: /*Trinsvis elimination jvf zar 20.2*/ PROC GLM; MODEL y=x1 x2 x4/solution; run; PROC GLM; MODEL y=x1 x4/solution; run; /*Her tegnes nye residualplot og foretages ny grafisk modelkontrol*/ 35
UDSKRIFT 1: The CORR Procedure 5 Variables: x1 x2 x3 x4 y Simple Statistics Var N Mean Std Dev Sum Minimum Maximum x1 33 4.45455 3.84131 147.00000-3.00000 11.00000 x2 33 8.89091 1.48057 293.40000 6.90000 12.10000 x3 33 5.88182 0.39167 194.10000 5.20000 6.80000 x4 33 2.54242 1.18533 83.90000 0.20000 4.40000 y 33 2.47424 0.67886 81.65000 1.50000 4.06000 Pearson Correlation Coefficients, N = 33 Prob > r under H0: Rho=0 x1 x2 x3 x4 y x1 1.00000 0.32823 0.16767 0.05191-0.73081 0.0622 0.3510 0.7742 <.0001 x2 0.32823 1.00000-0.14256 0.18755-0.20756 0.0622 0.4287 0.2959 0.2464 x3 0.16767-0.14256 1.00000 0.24134-0.05541 0.3510 0.4287 0.1760 0.7594 x4 0.05191 0.18755 0.24134 1.00000 0.31267 0.7742 0.2959 0.1760 0.0765 y -0.73081-0.20756-0.05541 0.31267 1.00000 <.0001 0.2464 0.7594 0.0765 UDSKRIFT 2: The GLM Procedure (Model y=x1 x2 x3 x4) Dependent Variable: y Number of observations Sum of Source DF Squares Mean Square F Value Pr > F Model 4 9.71549401 2.42887350 13.52 <.0001 Error 28 5.03171205 0.17970400 Corr. Total 32 14.74720606 R-Square Coeff Var Root MSE y Mean 0.658802 17.13313 0.423915 2.474242 Source DF Type I SS Mean Square F Value Pr > F x1 1 7.87621158 7.87621158 43.83 <.0001 x2 1 0.01726065 0.01726065 0.10 0.7589 x3 1 0.08767950 0.08767950 0.49 0.4906 x4 1 1.73434228 1.73434228 9.65 0.0043 36
Source DF Type III SS Mean Square F Value Pr > F x1 1 6.64694330 6.64694330 36.99 <.0001 x2 1 0.01815792 0.01815792 0.10 0.7529 x3 1 0.00856805 0.00856805 0.05 0.8287 x4 1 1.73434228 1.73434228 9.65 0.0043 Standard Parameter Estimate Error t Value Pr > t Intercept 2.946284136 1.36371766 2.16 0.0394 x1-0.129448445 0.02128456-6.08 <.0001 x2-0.017968799 0.05652817-0.32 0.7529 x3-0.045251608 0.20723917-0.22 0.8287 x4 0.208664216 0.06716754 3.11 0.0043 Zar 20: Residualplot Zar 20: Modelkontrol 37
UDSKRIFT 3: The GLM Procedure (Model y=x1 x2 x3) Sum of Source DF Squares Mean Square F Value Pr > F Model 3 9.70692596 3.23564199 18.62 <.0001 Error 29 5.04028010 0.17380276 Corrected Total 32 14.74720606 R-Square Coeff Var Root MSE y Mean 0.658221 16.84946 0.416897 2.474242 Source DF Type I SS Mean Square F Value Pr > F x1 1 7.87621158 7.87621158 45.32 <.0001 x2 1 0.01726065 0.01726065 0.10 0.7549 x4 1 1.81345373 1.81345373 10.43 0.0031 Standard Parameter Estimate Error t Value Pr > t Intercept 2.666509585 0.45920864 5.81 <.0001 x1-0.130571463 0.02031189-6.43 <.0001 x2-0.014676603 0.05357836-0.27 0.7861 x4 0.204473230 0.06330114 3.23 0.0031 The GLM Procedure (Model y=x1 x4) Sum of Source DF Squares Mean Square F Value Pr > F Model 2 9.69388442 4.84694221 28.77 <.0001 Error 30 5.05332164 0.16844405 Corrected Total 32 14.74720606 R-Square Coeff Var Root MSE y Mean 0.657337 16.58768 0.410419 2.474242 Source DF Type I SS Mean Square F Value Pr > F x1 1 7.87621158 7.87621158 46.76 <.0001 x4 1 1.81767284 1.81767284 10.79 0.0026 Standard Parameter Estimate Error t Value Pr > t Intercept 2.552037354 0.18740750 13.62 <.0001 x1-0.132378013 0.01891295-7.00 <.0001 x4 0.201338918 0.06129114 3.28 0.0026 38
Eksempel til afsnit 21 i ZAR: Kvadratisk regressionsanalyse /*Eksempel fra Draper og Smith: Regressionanalysis (side 162).*/ GOPTIONS FTEXT=SWISS HTEXT=2; /* Lay-out på figurer*/ DATA krystal; /*indlæsning af data*/ INPUT I8 krystal @@; CARDS; 0 22.1 1 24.5 2 26.0 3 26.8 4 28.2 5 28.9 6 30.0 7 30.4 8 31.4 0 21.9 2 26.1 4 28.5 6 30.3 8 31.5 10 33.1 0 22.8 3 27.3 6 29.8 9 31.8 ; ODS RTF body='c:\mylib\kvadratiskregres.rtf'; SYMBOL1 v=dot I=rq; ; PROC GPLOT PLOT krystal*i8; PROC GLM DATA=krystal; MODEL krystal=i8 I8*I8/SS1 SOLUTION; OUTPUT OUT=res STUDENT=student; PROC PRINT; SYMBOL V=dot I=none; PROC GPLOT; PLOT student*i8; ODS RFT CLOSE; QUIT; /*tegning af krystal mod I8 med*/ /*kvadratisk regressionsfunktion.*/ /*kvadratisk regression*/ /*datasæt med residualer*/ /*udskrift af data og residualer*/ /*Residualplot*/ 39
UDSKRIFT The GLM Procedure Number of observations 19 Dependent Variable: krystal Sum of Source DF Squares Mean Square F Value Pr > F Model 2 201.9944533 100.9972266 649.87 <.0001 Error 16 2.4865994 0.1554125 Corrected Total 18 204.4810526 R-Square Coeff Var Root MSE krystal Mean 0.987839 1.409532 0.394224 27.96842 Source DF Type I SS Mean Square F Value Pr > F I8 1 195.2428882 195.2428882 1256.29 <.0001 I8*I8 1 6.7515651 6.7515651 43.44 <.0001 Standard Parameter Estimate Error t Value Pr > t Intercept 22.56123063 0.19843050 113.70 <.0001 I8 1.66802044 0.09895240 16.86 <.0001 I8*I8-0.06795836 0.01031059-6.59 <.0001 Studentiserede residualer Obs I8 krystal student 1 0 22.1-1.35400 2 1 24.5 0.91903 3 2 26.0 0.99638 4 3 26.8-0.41015 5 4 28.2 0.14527 6 5 28.9-0.81443 7 6 30.0-0.32925 8 7 30.4-1.35569 9 8 31.4-0.42389 10 0 21.9-1.94112 11 2 26.1 1.26239 12 4 28.5 0.95198 13 6 30.3 0.47477 14 8 31.5-0.15227 15 10 33.1 2.34515 16 0 22.8 0.70094 17 3 27.3 0.92439 18 6 29.8-0.86526 19 9 31.8-0.78202 40
Zar 21: Krystal tegnet mod I8 Zar 21: Studentiserede residualer tegnet mod I8 41