*--------------------------------------------------*
| Jason Brinkley (modified from Ron Cody)
| Program Name: LOGISTIC.SAS
| Purpose: To demonstrate logistic regression
| Date: April 13, 2004/ Jan 20091
*--------------------------------------------------*;
/*Slide 4*/
*IMPORT THE DATA FROM EXCEL;
PROC IMPORT OUT= WORK.ACCIDENT
DATAFILE= "U:\SAS Workshop\Lecture 3 - Linear and Logistic Regression\accident.xls"
DBMS=EXCEL REPLACE;
RANGE="accident$";
GETNAMES=YES;
MIXED=NO;
SCANTEXT=YES;
USEDATE=YES;
SCANTIME=YES;
RUN;
PROC FORMAT;
VALUE VISION 0 = 'No Problem'
1 = 'Some Problem';
VALUE YES_NO 0 = 'No'
1 = 'Yes';
RUN;
DATA LOGISTIC;
Set Accident;
LABEL
ACCIDENT = 'Accident in Last Year?'
AGE = 'Age of Driver'
VISION = 'Vision Problem?'
DRIVER_ED = 'Driver Education?';
FORMAT ACCIDENT DRIVER_ED YES_NO.
VISION VISION.;
RUN;
/*Slide 6*/
PROC PRINT DATA=LOGISTIC(OBS=5);
RUN;
/*Slide 7*/
PROC GPLOT;
PLOT ACCIDENT*AGE;
RUN;
/*Slide 13*/
PROC LOGISTIC DATA=LOGISTIC DESCENDING;
*Always use the DESCENDING option;
TITLE "Predicting Accidents Using Logistic Regression";
CLASS GENDER;
MODEL ACCIDENT = AGE VISION DRIVER_ED GENDER;
RUN;
QUIT;
/*Slide 17*/
PROC LOGISTIC DATA=LOGISTIC DESCENDING;
TITLE "Predicting Accidents Using Logistic Regression";
CLASS GENDER;
MODEL ACCIDENT = AGE VISION DRIVER_ED GENDER/
SELECTION = BACKWARD;
RUN;
QUIT;
/*Slide 19*/
OPTIONS PS=24;
PATTERN COLOR=BLACK VALUE=EMPTY;
PROC GCHART DATA=LOGISTIC;
TITLE "Distribution of Ages by Accident Status";
VBAR AGE / MIDPOINTS=10 TO 90 BY 10
GROUP=ACCIDENT;
RUN;
/*Slide 21*/
DATA LOGISTIC;
SET LOGISTIC;
*CREATE AGE GROUPS;
IF AGE GE 20 AND AGE LE 65 THEN AGEGROUP = 0;
ELSE AGEGROUP = 1;
RUN;
/*Slide 22*/
PROC LOGISTIC DATA=LOGISTIC DESCENDING;
TITLE "Predicting Accidents Using Logistic Regression";
*THIS NEXT LINE CHANGES THE REFERENCE GROUP;
CLASS GENDER (PARAM=REF REF='F');
MODEL ACCIDENT = AGEGROUP VISION DRIVER_ED GENDER /
SELECTION=BACKWARD;
RUN;
QUIT;
/*Slide 24*/
ods graphics on;
PROC LOGISTIC DATA=LOGISTIC DESCENDING;
TITLE "Predicting Accidents Using Logistic Regression";
MODEL ACCIDENT =VISION AGEGROUP/
CTABLE PPROB =(0 to 1 by .10)
OUTROC=ROC;
OUTPUT OUT=PREDICTED P=PHAT LOWER=LCL UPPER=UCL;
RUN;
QUIT;
ods graphics off;
/*Slide 25*/
PROC PRINT DATA=PREDICTED(OBS=5);
TITLE 'Predicted Probabilities and 95% Confidence Limits';
RUN;