En Introduktion til SAS. Kapitel 6. Inge Henningsen Afdeling for Statistik og Operationsanalyse Københavns Universitet Marts 2005 6. udgave
Kapitel 6 Regressionsanalyse i SAS 6.1 Indledning Dette kapitel viser, hvorledes regressionsanalyse kan udføres ved hjælp af SAS. Det gennemgås, hvorledes programmer skal skrives og udskrifterne fortolkes. Desuden jævnføres de i udskrifterne beregnede størrelser med de fra noterne kendte. Det antages, at betingelserne for at udføre regressionsanalyse er opfyldte, altså at observationerne er normalfordelte med samme varians. Det antages, at data foreligger som et SAS-datasæt. 6.2 Lineær regressionsanalyse. Kapitel 6 knytter sig til IH kapitel 12 om lineær regressionsanalyse. I afsnit 6.2 gennemgås test for hypotesen β = 0 under forudsætning af lineær afhængighed mellem baggrundsvariabel og målingsvariabel. I afsnit 6.3 vises, hvorledes man kan bruge disse resultater, når man skal teste den generelle hypotese β = β 0. Endelig gennemgås test for hypotesen ν = ν 0 under forudsætning af lineær afhængighed mellem baggrundsvariabel og målingsvariabel i afsnit 6.4. Vi antager, at data foreligger som et SAS-datasæt test.data med to variable. Den ene, X, angiver for hver observation det målingsresultat, der ønskes analyseret. Den anden er en numerisk variabel T, en baggrundsvariabel, og det forventes, at der er en lineær sammenhæng mellem middelværdien af X og T's værdi.
66 Regressionsanalyse i SAS Data X og T er SAS-variable i SAS-datasæt med n observationer. X T numerisk variabel numerisk variabel Statistisk Model. Vi antager, at X 1, X 2,..., X n er uafhængige, normalfordelte stokastiske variable med samme ukendte varians σ 2, og at EX r = ν + βt r, hvis T r = t r. Middelværdien af X er således en lineær funktion af T. Hypotesen er, at T ingen indydelse har, altså at EX r = ν eller β = 0. SAS. I SAS udføres regressionsanalysen på følgende måde. PROGRAM: PROC REG DATA=test.data; MODEL X=T/R CLM; PLOT STUDENT.*(P. T); RUN; QUIT; Her angiver PROC REG, at vi har normalfordelte observationer med samme varians, og at vi skal betragte en lineær hypotese i middelværdien. Programlinien MODEL X=T/R CLM; angiver, at middelværdien af observationerne er en lineær funktion af T. R efter / giver udskrift af forudsagte og observerede værdier af responsvariablen X, residualer, residualernes standardafvigelse, de standardiserede residualer (student), et meget simpelt residualplot samt Cook's afstandsmål. CLM tilføjer nedre og øvre 95%-kondensgrænse for den estimerede regressionslinie til datasættet. Programlinien PLOT STUDENT.*(P. T);
6.2 Lineær regressionsanalyse. 67 tegner et plot for de standardiserede residualer mod henholdsvis de forudsagte værdier af responsvariablen og mod værdierne af baggrundsvariablen T (udskrift ikke vist). Notation og Beregningsstørrelser Betydningen af beregnings- og teststørrelser i SASudskriften gennemgås i det følgende. Samtidig jævnføres med forelæsningsnoterne. Vi har x = 1 nr=1 x n r t = 1 nr=1 t n r n r=1 ˆβ = (xr x)(tr t) n = r=1 (tr t) 2 n r=1 (xr x)(tr t) SSD t. I SASudskriften bruges notationen: DF SS MS frihedsgrader kvadratafvigelsessum (= Sum of Squares) normeret kvadratafvigelsessum =variansestimat (= Mean Square) For frihedsgraderne i regressionsanalysen i SAS har vi Total(DF)=n-1 Error(DF)=n-2 Model(DF)=1 og vi har Total(DF) = Error(DF) + Model(DF) For kvadratsummerne i regressionsanalysen i SAS har vi Total(SS)= n r=1 (x r x) 2 Error(SS)= n r=1 (x r x ˆβ(t r t)) 2 = SSD l Model(SS)= ˆβ 2 n r=1 (t r t) 2 = ˆβ 2 SSD t. Ved at sætte β = 0 i IH lemma B2(b) har vi, at n n (x r x) 2 = (x r x ˆβ(t r t)) 2 + ˆβ 2 SSD t. r=1 r=1
68 Regressionsanalyse i SAS For SSstørrelserne gælder derfor Total(SS) = Error(SS) + Model(SS). For variansestimaterne og teststørrelsen i SAS har vi Error(MS) =Error(SS)/ Error(DF)=s 2 l Model(MS) = Model(SS)/ Model(DF)=Model(SS)= ˆβ 2 SSD t F-value = Model(MS)/ERROR(MS)= ˆβ 2 SSD t s 2 l = F-teststørrelse for hypotesen β = 0 PR>F = testsandsynlighed for hypotesen β = 0 Variansanalyseskemaer Man opsummerer ofte resultaterne af en regressionsanalyse i et Variansanalyseskema for lineær regressionsanalyse Variation SSD f s 2 Omkring linien nr=1 (x r x ˆβ(t r t)) 2 n-2 s 2 l Hældnings afvigelse fra 0 ˆβ2 SSD t 1 Omkring linie med hældning 0 nr=1 (x r x) 2 n-1 s 2 β Med betegnelserne fra SAS-udskriften bliver det tilsvarende skema Variansanalyseskema for lineær regressionsanalyse Variation SSD f s 2 Omkring linien Error(SS) Error(DF) Error(MS) Hældnings afvigelse fra 0 Model(SS) Model(DF) Model(MS) Total Total(SS) Total(DF) Parameterestimater, T-teststørrelser og testsandsynligheder fås fra de sidste linier i udskriften. (Se 'Udskriftskommentar til lineær regressionsanalyse' sidst i afsnittet.) SSD t kan fås fra udtrykket SSD t = Model(SS)/ ˆβ 2.
6.2 Lineær regressionsanalyse. 69 Eksempel på regressionsanalyse i SAS. I det følgende gennemregnes IH eksempel 12.8.1. Her betragter vi de to variable energi og aar i datasættet energi, der oprettes i datatrinnet i Program 6.1. Vi ønsker at undersøge, om energiomsætningen, energi, afhænger af tiden aar. Udgangspunktet er en antagelse om, at der er en lineær sammenhæng mellem de to variable, og vi ønsker at teste, om linien har hældningen 0. Analysen er en lineær regressionsanalyse, så vi kan bruge et proceduretrin som angivet i program 6.1. PROGRAM 6.1 DATA energi; INPUT aar energi; CARDS; 55 0.524 56 0.463 57 0.254 58 0.491 59 0.460 60 0.434 61 0.518 62 0.686 63 0.381 64 0.613 ; PROC REG; MODEL energi=aar/r CLM; PLOT STUDENT.*(P. aar); RUN; QUIT; Dette giver følgende udskrift, hvor alle størrelser mærket med (n*) er forklaret i udskriftskommentaren. Udskrift 6.1 The REG Procedure Model: MODEL1 Dependent Variable: energi Analysis of Variance Sum of Mean Source DF Squares Square F Value Pr > F Model (1*)1 (4*)0.01807 (7*)0.01807 (9*)1.32 (10*)0.2831 Error (2*)8 (5*)0.10918 (8*)0.01365 Corrected Total (3*)9 (6*)0.12725
70 Regressionsanalyse i SAS Root MSE (11*) 0.11682 R-Square (14*)0.1420 Dependent Mean (12*) 0.48240 Adj R-Sq 0.0348 Coeff Var (13*)24.21689 Parameter Estimates Parameter Standard Variable DF Estimate Error t Value Pr > t Intercept 1 (15*)-0.39820 (17*)0.76616 (19*)-0.52 (21*)0.6173 aar 1 (16*) 0.01480 (18*)0.01286 (20*) 1.15 (22*)0.2831 Output Statistics (23*) (24*) (25*) (26*) (27*) (28*) (29*) (30*) Dep Var Predicted Std Error Std Error Student Obs energi Value Mean Predict 95% CL Mean Residual Residual Residual 1 0.5240 0.4158 0.0687 0.2575 0.5741 0.1082 0.0945 1.145 2 0.4630 0.4306 0.0582 0.2963 0.5649 0.0324 0.101 0.320 3 0.2540 0.4454 0.0490 0.3325 0.5583-0.1914 0.106-1.805 4 0.4910 0.4602 0.0417 0.3641 0.5563 0.0308 0.109 0.282 5 0.4600 0.4750 0.0375 0.3885 0.5615-0.0150 0.111-0.136 6 0.4340 0.4898 0.0375 0.4033 0.5763-0.0558 0.111-0.504 7 0.5180 0.5046 0.0417 0.4085 0.6007 0.0134 0.109 0.123 8 0.6860 0.5194 0.0490 0.4065 0.6323 0.1666 0.106 1.571 9 0.3810 0.5342 0.0582 0.3999 0.6685-0.1532 0.101-1.513 10 0.6130 0.5490 0.0687 0.3907 0.7073 0.0640 0.0945 0.677 Output Statistics (31*) (32*) Cook's Obs -2-1 0 1 2 D 1 ** 0.346 2 0.017 3 *** 0.347 4 0.006 5 0.001 6 * 0.015 7 0.001 8 *** 0.263 9 *** 0.378 10 * 0.121 Sum of Residuals 0 Sum of Squared Residuals 0.10918 Predicted Residual SS (PRESS) 0.18071
6.2 Lineær regressionsanalyse. 71 Nedenfor ndes en udskriftskommentar, der angiver, hvad størrelser mærket med (n) i udskriften betyder. Udskriftskommentar til lineær regressionsanalyse (1*) Model(DF) = 1 (2*) Error(DF) = n-2 (3*) Total(DF) = n-1 (4*) Model(SS) = ˆβ 2 SSD t (5*) Error(SS) = n r=1 (x r x ˆβ(t r t)) 2 (6*) Total(SS) = n r=1 (x r x) 2 (7*) Model(MS)= Model(SS)/ Model(DF) (8*) Error(MS)=s 2 l (9*) Model(MS)/ERROR(MS)= Model(MS)/s 2 l (10*) Testsandsynlighed for hypotesen β = 0. (11*) Standardafvigelse = s l (12*) x (13*) Variationskoecient = 100s l / x (14*) R 2 = Model(SS)/Total(SS) (15*) (16*) x ˆβ t ˆβ (17*) s l 1 n + t 2 (18*) s 01 SSDt (19*) T ν = SSD t x ˆβ t s l 1 n + t 2 SSD t. Teststørrelse for hypotesen ν = 0. ˆβ (20*) T β = SSDt s 01. Teststørrelse for hypotesen β = 0. (21*) Testsandsynlighed for hypotesen ν = 0. (22*) Testsandsynlighed for hypotesen β = 0. (23*) Observationsnumre (24*) Værdi af responsvariabel, X r (her energi). (25*) Forudsagt (prædikteret) værdi y(t r ) = x + ˆβ(t r t). (26*) Estimat for spredning på forudsagt værdi s 1 l + (t t) 2 n SSD t. (27*) Nedre og øvre 95%-kondensgrænse for den estimerede regressionslinie. (28*) Residual e r = x r x ˆβ(t r t).
72 Regressionsanalyse i SAS (29*) Estimeret spredning på residual s l 1 1 (tr t) 2 n e (30*) Standardiserede residualer r s l 1 1 n (tr t) 2 SSD t (31*) Residualplot. (32*) Mål for indydelse af enkelt observationer. SSD t. 6.3 Test for β = β 0 under linearitetshypotesen Ønsker man at teste hypotesen β = β 0, hvor β 0 IR er et kendt tal, kan dette gøres ved at tilføje en TEST-ordre i SAS-programmet. Følgende program viser hvorledes man tester β = 1 i eksemplet fra program 6.1. PROGRAM 6.2: PROC REG; MODEL energi=aar; TEST aar=1/print; RUN; Foruden udskriften fra første del af Program 6.1 får man også udskrift 6.2. Her giver F-value og Pr > F henholdsvis F-teststørrelse og testsandsynlighed for test af β = 1. UDSKRIFT 6.2: The REG Procedure Model: MODEL1 Test 1 details L Ginv(X'X) L' Lb-c 0.0121212121-0.9852 Inv(L Ginv(X'X) L') Inv()(Lb-c) 82.5-81.279 Test 1 Results for Dependent Variable energi Mean Source DF Square F Value Pr > F Numerator 1 80.07607 5867.47 <.0001 Denominator 8 0.01365
6.4 Test for ν = ν 0 under linearitetshypotesen 73 6.4 Test for ν = ν 0 under linearitetshypotesen Ønsker man at teste hypotesen ν = ν 0, hvor ν 0 IR er et kendt tal, kan dette gøres ved at tilføje en TEST-ordre i SAS-programmet. Følgende program viser hvorledes man tester ν = 0 i eksemplet fra program 6.1. PROGRAM 6.3: PROC REG; MODEL energi=aar; TEST INTERCEPT=0/PRINT; RUN; Hvis hypotesen ν = 0 godkendes kan man få parameterestimater fra programmet PROGRAM 6.4: der giver udskriften PROC REG; MODEL energi=aar/noint; RUN; UDSKRIFT 6.4: The REG Procedure Model: MODEL1 Dependent Variable: energi NOTE: No intercept in model. R-Square is redefined. Analysis of Variance Sum of Mean Source DF Squares Square F Value Pr > F Model 1 2.34148 2.34148 186.71 <.0001 Error 9 0.11287 0.01254 Uncorrected Total 10 2.45435 Root MSE 0.11199 R-Square 0.9540 Dependent Mean 0.48240 Adj R-Sq 0.9489 Coeff Var 23.21417 Parameter Estimates Parameter Standard Variable DF Estimate Error t Value Pr > t aar 1 0.00812 0.00059448 13.66 <.0001