The ENTROPY Procedure(Experimental)

Simple Regression Analysis

The ENTROPY procedure is similar in syntax to the other regression procedures in SAS. To demonstrate the similarity, suppose the endogenous/dependent variable is y, and x1 and x2 are two exogenous/independent variables of interest. To estimate the parameters in this single equation model using PROC ENTROPY, use the following SAS statements:

proc entropy;
   model y = x1 x2;
run;

Test Scores Data Set

Consider the following test score data compiled by Coleman et al. (1966):

title "Test Scores Compiled by Coleman et al. (1966)";
data coleman;
   input test_score 6.2 teach_sal 6.2 prcnt_prof 8.2
            socio_stat 9.2 teach_score 8.2 mom_ed 7.2;
   label test_score="Average sixth grade test scores in observed district";
   label teach_sal="Average teacher salaries per student (1000s of dollars)";
   label prcnt_prof="Percent of students' fathers with professional employment";
   label socio_stat="Composite measure of socio-economic status in the district";
   label teach_score="Average verbal score for teachers";
   label mom_ed="Average level of education (years) of the students' mothers";
datalines;
37.01   3.83   28.87     7.20   26.60   6.19

   ... more lines ...   

This data set contains outliers, and the condition number of the matrix of regressors, bold upper X, is large, which indicates collinearity among the regressors. Since the maximum entropy estimates are both robust with respect to the outliers and also less sensitive to a high condition number of the bold upper X matrix, maximum entropy estimation is a good choice for this problem.

To fit a simple linear model to these data by using PROC ENTROPY, use the following statements:

proc entropy data=coleman;
   model test_score = teach_sal prcnt_prof socio_stat teach_score mom_ed;
run;

This requests the estimation of a linear model for TEST_SCORE with the following form:

StartLayout 1st Row 1st Column t e s t normal bar s c o r e 2nd Column equals 3rd Column i n t e r c e p t plus a asterisk t e a c h normal bar s a l plus b asterisk p r c n t normal bar p r o f plus c asterisk s o c i o normal bar s t a t 2nd Row 1st Column Blank 2nd Column Blank 3rd Column plus d asterisk t e a c h normal bar s c o r e plus e asterisk m o m normal bar e d plus epsilon semicolon EndLayout

This estimation produces the "Model Summary" table in Figure 2, which shows the equation variables used in the estimation.

Figure 2: Model Summary Table

Test Scores Compiled by Coleman et al. (1966)

The ENTROPY Procedure

Variables(Supports(Weights))teach_sal prcnt_prof socio_stat teach_score mom_ed Intercept
Equations(Supports(Weights))test_score


Since support points and prior weights are not specified in this example, they are not shown in the "Model Summary" table. The next four pieces of information displayed in Figure 3 are the "Data Set Options," the "Minimization Summary," the "Final Information Measures," and the "Observations Processed."

Figure 3: Estimation Summary Tables

Test Scores Compiled by Coleman et al. (1966)

The ENTROPY Procedure
GME Estimation Summary

Data Set Options
DATA=WORK.COLEMAN

Minimization Summary
Parameters Estimated6
Covariance EstimatorGME
Entropy TypeShannon
Entropy FormDual
Numerical OptimizerQuasi Newton

Final Information Measures
Objective Function Value9.553699
Signal Entropy9.569484
Noise Entropy-0.01578
Normed Entropy (Signal)0.990976
Normed Entropy (Noise)0.999786
Parameter Information Index0.009024
Error Information Index0.000214

Observations
Processed
Read20
Used20


The item labeled "Objective Function Value" is the value of the entropy estimation criterion for this estimation problem. This measure is analogous to the log-likelihood value in a maximum likelihood estimation. The "Parameter Information Index" and the "Error Information Index" are normalized entropy values that measure the proximity of the solution to the prior or target distributions.

The next table displayed is the ANOVA table, shown in Figure 4. This is in the same form as the ANOVA table for the MODEL procedure, since this is also a multivariate procedure.

Figure 4: Summary of Residual Errors

GME Summary of Residual Errors 
EquationDF ModelDF ErrorSSEMSERoot MSER-SquareAdj RSq
test_score614175.88.78812.96450.72660.6290


The last table displayed is the "Parameter Estimates" table, shown in Figure 5. The difference between this parameter estimates table and the parameter estimates table produced by other regression procedures is that the standard error and the probabilities are labeled as approximate.

Figure 5: Parameter Estimates

GME Variable Estimates
VariableEstimateApprox Std Errt ValueApprox
Pr > |t|
teach_sal0.2879790.0055152.26<.0001
prcnt_prof0.022660.003237.01<.0001
socio_stat0.1997770.03086.48<.0001
teach_score0.4971370.018027.61<.0001
mom_ed1.6444720.092117.85<.0001
Intercept10.50210.395826.53<.0001


The parameter estimates produced by the REG procedure for this same model are shown in Figure 6. Note that the parameters and standard errors from PROC REG are much different than estimates produced by PROC ENTROPY.

proc reg data=coleman plots=residualchart(unpack);
   model test_score = teach_sal prcnt_prof socio_stat teach_score mom_ed;
run;

Figure 6: REG Procedure Parameter Estimates

Test Scores Compiled by Coleman et al. (1966)

The REG Procedure
Model: MODEL1
Dependent Variable: test_score

Parameter Estimates
VariableDFParameter
Estimate
Standard
Error
t ValuePr > |t|
Intercept119.9485713.627551.460.1653
teach_sal1-1.793331.23340-1.450.1680
prcnt_prof10.043600.053260.820.4267
socio_stat10.555760.092965.98<.0001
teach_score11.110170.433772.560.0227
mom_ed1-1.810922.02739-0.890.3868


This data set contains two outliers, observations 3 and 18. These can be seen in a plot of the residuals shown in Figure 7: the studentized residuals of observations 3 and 18 are outside left-bracket negative 1.771 comma 1.771 right-bracket, the 90 percent-sign confidence interval for a Student’s t distribution with 13 degrees of freedom.

Figure 7: PROC REG Residuals with Outliers

PROC REG Residuals with Outliers


The presence of outliers suggests that a robust estimator such as M-estimator in the ROBUSTREG procedure should be used. The following statements use the ROBUSTREG procedure to estimate the model:

proc robustreg data=coleman;
   model test_score = teach_sal prcnt_prof
                      socio_stat teach_score mom_ed;
run;

The results of the estimation are shown in Figure 8.

Figure 8: M-Estimation Results

Test Scores Compiled by Coleman et al. (1966)

The ROBUSTREG Procedure

Parameter Estimates
ParameterDFEstimateStandard
Error
95% Confidence LimitsChi-SquarePr > ChiSq
Intercept129.34166.038117.507241.176123.61<.0001
teach_sal1-1.63290.5465-2.7040-0.56188.930.0028
prcnt_prof10.08230.02360.03610.128612.170.0005
socio_stat10.66530.04120.58460.7461260.95<.0001
teach_score11.17440.19220.79771.551037.34<.0001
mom_ed1-3.97060.8983-5.7312-2.210019.54<.0001
Scale10.6966     


Note that TEACH_SAL(VAR1) and MOM_ED(VAR5) change greatly when the robust estimation is used. Unfortunately, these two coefficients are negative, which implies that the test scores increase with decreasing teacher salaries and decreasing levels of the mother’s education. Since ROBUSTREG is robust to outliers, they are not causing the counterintuitive parameter estimates.

The condition number of the regressor matrix bold upper X also plays a important role in parameter estimation. The condition number of the matrix can be obtained by specifying the COLLIN option in the PROC ENTROPY statement.

proc entropy data=coleman collin;
   model test_score = teach_sal prcnt_prof socio_stat teach_score mom_ed;
run;

The output produced by the COLLIN option is shown in Figure 9.

Figure 9: Collinearity Diagnostics

Test Scores Compiled by Coleman et al. (1966)

The ENTROPY Procedure

Collinearity Diagnostics
NumberEigenvalueCondition
Number
Proportion of Variation
teach_salprcnt_profsocio_statteach_scoremom_edIntercept
14.9781281.00000.00070.00120.00260.00010.00010.0000
20.9377582.30400.00060.00280.21310.00010.00000.0001
30.0660238.68330.02020.35290.61590.00110.00000.0003
40.01603617.61910.79610.03170.05340.00590.00830.0099
50.00136460.41120.16190.32420.00530.79870.33090.0282
60.00069184.85010.02050.28740.10960.19420.66070.9614


The condition number of the bold upper X matrix is reported to be 84.85. This means that the condition number of bold upper X prime bold upper X is 84.85 squared equals 7199.5, which is very large.

Ridge regression can be used to offset some of the problems associated with ill-conditioned bold upper X matrices. Using the formula for the ridge value as

lamda Subscript upper R Baseline equals StartFraction k upper S squared Over ModifyingAbove beta With caret prime ModifyingAbove beta With caret EndFraction almost-equals 0.9

where ModifyingAbove beta With caret and upper S squared are the least squares estimators of beta and sigma squared and k equals 6. A ridge regression of the test score model was performed by using the data set with the outliers removed. The following PROC REG code performs the ridge regression:

data coleman;
   set coleman;
   if _n_ = 3 or _n_ = 18 then delete;
run;
proc reg data=coleman ridge=0.9 outest=t noprint;
   model test_score = teach_sal prcnt_prof socio_stat teach_score mom_ed;
run;

proc print data=t;
run;

The results of the estimation are shown in Figure 10.

Figure 10: Ridge Regression Estimates

Test Scores Compiled by Coleman et al. (1966)

Obs_MODEL__TYPE__DEPVAR__RIDGE__PCOMIT__RMSE_Interceptteach_salprcnt_profsocio_statteach_scoremom_edtest_score
1MODEL1PARMStest_score..0.7823629.7577-1.698540.0851180.666171.18400-4.06675-1
2MODEL1RIDGEtest_score0.9.3.196799.6698-0.088920.0418890.232230.600411.32168-1


Note that the ridge regression estimates are much closer to the estimates produced by the ENTROPY procedure that uses the original data set. Ridge regressions are not robust to outliers as maximum entropy estimates are. This might explain why the estimates still differ for TEACH_SAL.

Last updated: December 20, 2021