Skip to Main Content

Regression with SAS Annotated SAS Output for Multiple Regression Analysis

This page shows an example mutiple regression
analysis with footnotes explaining the output.  The analysis uses a data file
about scores obtained by elementary schools, predicting api00 from ell meals yr_rnd mobility
acs_k3 acs_46 full emer and enroll using the following SAS commands.

proc reg data="c:sasregelemapi2"  ;
  model api00 = ell meals yr_rnd mobility acs_k3 acs_46 full emer enroll ;
run;  

Dependent Variable: api00 api 2000

                             Analysis of Variance

                                    Sum of           Mean
Sourcea                  DFb       Squaresc        Squared    F Valuee   Pr > Fe
Model                     9        6740702         748967     232.41    <.0001
Error                   385        1240708     3222.61761
Corrected Total         394        7981410


Root MSEf             56.76810    R-Squarei     0.8446
Dependent Meang      648.65063    Adj R-Sqj     0.8409
Coeff Varh             8.75172

                                 Parameter Estimates

                                            Parameter     Standard
Variablek   Labell                     DFm    Estimaten       Erroro  t Valuep  Pr > |t|p
Intercept  Intercept                   1    758.94179     62.28601    12.18    <.0001
ell        english language learners   1     -0.86007      0.21063    -4.08    <.0001
meals      pct free meals              1     -2.94822      0.17035   -17.31    <.0001
yr_rnd     year round school           1    -19.88875      9.25844    -2.15    0.0323
mobility   pct 1st year in school      1     -1.30135      0.43621    -2.98    0.0030
acs_k3     avg class size k-3          1      1.31870      2.25268     0.59    0.5586
acs_46     avg class size 4-6          1      2.03246      0.79832     2.55    0.0113
full       pct full credential         1      0.60972      0.47582     1.28    0.2008
emer       pct emer credential         1     -0.70662      0.60541    -1.17    0.2439
enroll     number of students          1     -0.01216      0.01679    -0.72    0.4693


Footnotes


a. This is
the source of variance, Model, Error, and Total.  The Total Variance is partitioned into the variance
which can be explained by the independent variables (Model) and the variance
which is not explained by the independent variables (Error).   Note that the Sums of Squares for the Model and
Error add up to the Total Variance, reflecting the fact that the Total
Variance is partitioned into Model and Error variance.


b. These are
the degrees of freedom associated with the sources of
variance.    The Total variance has N-1 degrees of freedom
(DF).  In this case, there were N=395 observations, so the DF for total
is 394.    The Model degrees of freedom corresponds to the
number of predictors minus 1 (K-1).  You may think this would be 9-1
(since there were 9 independent variables in the model: ell, meals, yr_rnd,
mobility, acs_k3, acs_46, full emer, and enroll).  But, the intercept is
automatically included in the model (unless you explicitly omit the
intercept).  Including the intercept, there are 10 predictors, so the
model has 10-1=9 degrees of freedom.  The Error degrees of freedom
is the DFTotal minus the DFModel, 394 – 9 is 385.

c. These are
the Sum of Squares associated with the three sources of variance, Total,
Model and Error.  These can be computed in many
ways.  Conceptually, these formulas can be expressed as: 

    SSTotal:      The total
variability around the mean. 
S(Y –
Ybar)2.  
    SSError:     
The sum of squared errors in prediction. 
S(Y –
Ypredicted)2.  
    SSModel:    The improvement in prediction by using
the predicted value of Y over just using the mean of Y.  Hence, this
would be the squared differences between the predicted value of Y and the
mean of Y,
S(Ypredicted – Ybar)2.  Another way to
think of this is the SSModel is SSTotal – SSError.  Note that the
SSTotal = SSModel + SSError.  Note that SSModel / SSTotal is equal
to .84, the value of R-Square.  This is because R-Square is the
proportion of the variance explained by the independent variables, hence
can be computed by SSModel / SSTotal.


d. These are
the Mean Squares, the Sum of Squares divided by their respective DF. 
For the Model, 6740702.01 / 9 is equal to 748966.89.  For the Error,
1240707.79 / 385 equals 3222.6176.  These are computed so you can compute
the F ratio, dividing the Mean Square Model by the Mean Square Error (or Error) to test the significance of the predictors in the model.


e. The F
Value is the Mean Square Model (748966.89) divided by the Mean Square Error
(3222.61761), yielding F=232.41.  The p value associated with
this F value is very small (0.0000).  These values are used to answer
the question “Do the independent variables reliably predict the dependent
variable?”.  The p value is compared to your alpha level (typically
0.05) and, if smaller, you can conclude “Yes, the independent variables
reliably predict the dependent variable”.  You could say that the
group of variables ell, meals, yr_rnd, mobility, acs_k3, acs_46, full emer,
and enroll can be used to
reliably predict api00 (the dependent variable).  If the p
value were greater than 0.05, you would say that the group of independent
variables do not show a significant relationship with the dependent
variable, or that the group of independent variables do not reliably
predict the dependent variable.  Note that this is an overall
significance test assessing whether the group of independent variables
when used together reliably predict the dependent variable, and does not
address the ability of any of the particular independent variables to
predict the dependent variables.  The ability of each individual
independent variable to predict the dependent variable is addressed in the
table below where each of the individual variables are listed.


f. Root MSE
is the standard deviation of the error term, and is the square root of the
Mean Square Error

g. Dependent Mean. 
This is the mean of the dependent variable.  The mean of api00 is
648.65.

h. Coeff Var. The
coefficient of variation for the residuals is defined to be the root mean square
error divided by the mean of the dependent variable. It is an indicator of how
well the model fits the data. It is useful in comparing different models
since it is unitless.

i. R-Square
is the proportion of variance in the dependent variable (api00) which
can be predicted from the independent variables (ell, meals, yr_rnd,
mobility, acs_k3, acs_46, full emer, and enroll).  This value indicates that
84% of the variance in api00 can be predicted from the variables ell,
meals, yr_rnd, mobility, acs_k3, acs_46, full emer, and enroll.  Note that this is an overall measure of the strength of
association, and does not reflect the extent to which any particular
independent variable is associated with the dependent variable.


j. Adjusted
R-square.  As predictors are added to the model, each predictor will
explain some of the variance in the dependent variable simply due to
chance.  One could continue to add predictors to the model which
would continue to improve the ability of the predictors to explain the
dependent variable, although some of this increase in R-square would be
simply due to chance variation in that particular sample.  The
adjusted R-square attempts to yield a more honest value to estimate the
R-squared for the population.   The value of R-square was .8446,
while the value of Adjusted R-square was .8409.  Adjusted R-squared is
computed using the formula 1 – ( (1-R-sq)(N-1 / N – k – 1) ).  From
this formula, you can see that when the number of observations is small
and the number of predictors is large, there will be a much greater
difference between R-square and adjusted R-square (because the ratio of
(N-1 / N – k – 1) will be much less than 1.  By contrast, when the
number of observations is very large compared to the number of predictors,
the value of R-square and adjusted R-square will be much closer because
the ratio
of (N-1)/(N-k-1) will approach 1.


k. These are the
predictors in the regression equation.


l. These are the variable
labels for the predictors in the regression equation.


m. These are the degrees
of freedom for each of the predictors in the regression equation. 
All of these predictors have 1 DF.


n. These are
the values for the regression equation for predicting the dependent
variable from the independent variable.  The regression equation is
presented in many different ways, for example…


  Ypredicted = b0 + b1*x1 +
b2*x2 + b3*x3 . . .


  The column of parameter estimates provides the
values for b0, b1, b2, b3, b4, b5, b6, b7, b8 and b9 for this equation.  Expressed in terms
of the variables used in this example, the regression equation is


   api00Predicted = 778.83
-.86*ell -2.95*meals -19.89*yr_rnd -1.30*mobility +1.32*acs_k3
+2.03*acs_46 +.61*full -.71*emer -.01*enroll


  These estimates tell you about the
relationship between the independent variables and the dependent
variable.  These estimates tell the amount of increase in api00 that would be predicted by a 1 unit increase in the predictor.  
Note: For the independent variables which are not significant, the
coefficients are not significantly different from 0, which should be taken
into account when interpreting the coefficients.  (See the columns
with the t value and p value about testing whether the coefficients are
significant.) 
    ell – The coefficient
(parameter estimate) is -.86.  So, for every unit increase in ell, a
.86 unit decrease in api00 is predicted. Or, for every
increase of one percentage point of api00, ell is predicted to be lower by
.86.  This is significantly different from
0.
   meals – For every unit increase in meals, there is a
2.95 unit decrease in the predicted api00.  
  yr_rnd – For every unit
increase of yr_rnd, the predicted value of api00 would be 19.89 units
lower.  
  mobility – For every unit increase in
mobility, api00 is predicted to be 1.30 units lower.  
  acs_k3 – For every unit increase in acs_k3, api00 is predicted to be
1.32 units higher.
  acs_46 – For every unit increase in acs_46, api00 is predicted to be
2.03 units higher.
  full – For every unit increase in full, api00 is predicted to be
.61 unit higher.
  emer – For every unit increase in emer, api00 is predicted to be
.71 unit lower.
  enroll – For every unit increase in enroll, api00 is predicted to be
.01 unit lower.


o. These are
the standard errors associated with the coefficients.  The standard
error is used for testing whether the parameter is significantly different
from 0 by dividing the parameter estimate by the standard error to obtain
a t value (see the column with t values and p values).  The standard
errors can also be used to form a confidence interval for the parameter.


p. These
columns provide the t value and 2 tailed p value used in testing the null
hypothesis that the coefficient/parameter is 0.   If you use a 2
tailed test, then you would compare each p value to your preselected value
of alpha.  Coefficients having p values less than alpha are
significant.  For example, if you chose alpha to be 0.05,
coefficients having a p value of 0.05 or less would be statistically
significant (i.e. you can reject the null hypothesis and say that the
coefficient is significantly different from 0).   If you use a 1
tailed test (i.e. you predict that the parameter will go in a particular
direction), then you can divide the p value by 2 before comparing it to
your preselected alpha level.  With a 2 tailed test and alpha of
0.05, you can reject the null hypothesis that the coefficient for ell is equal to 0.  The coefficient of
-.86 is significantly different from 0.   Using a 2 tailed test and alpha of 0.01, the p value of
0.000 is smaller than 0.01 and the coefficient for ell would still be
significant at the 0.01 level. Had you predicted that this coefficient
would be positive (i.e. a one tail test), you would be able to divide the
p value by 2 before comparing it to alpha.  This would yield a one
tailed p value of 0.000, which is less than 0.01 and then you could
conclude that this coefficient is greater than 0 with a one tailed alpha
of 0.01.
   The coefficient for meals is significantly
different from 0 using alpha of 0.05 because its p value of 0.000 is
smaller than 0.05.
   The coefficient for yr_rnd (-19.89) is
significantly different from 0 because its p value is smaller
than 0.05.
   The coefficient for mobility is significantly
different from 0 using alpha of 0.05 because its p value of 0.003 is
smaller than 0.05.
   The coefficient for acs_k3 is not significantly different
from 0 using alpha of 0.05 because its p value of .559 is greater than
0.05.
   The coefficient for acs_46 is significantly
different from 0 using alpha of 0.05 because its p value of 0.011 is
smaller than 0.05.
   The coefficient for full
is not significantly different from 0 using alpha of 0.05 because its p
value of .201 is greater than 0.05.
   The coefficient for emer is not significantly different from 0 using alpha of 0.05 because its p
value of .244 is greater than 0.05.
   The coefficient for enroll
is not significantly different from 0 using alpha of 0.05 because its p
value of .469 is greater than 0.05.
   The constant (_cons) is
significantly different from 0 at the 0.05 alpha level.  However,
having a significant intercept is seldom interesting.