ODS RTF FILE = 'C:\Documents and Settings\rjchar2\My Documents\CPH931F09\WA2SAS931F09.rtf'; PROC IMPORT DATAFILE = 'C:\Documents and Settings\rjchar2\My Documents\CPH931F09\WA2DataExcel.xls' OUT = Cereal DBMS = EXCEL REPLACE; SHEET = WA2Data; GETNAMES = YES; RUN; DATA CEREAL; SET CEREAL; IF CARBO = -1 THEN CARBO = .; IF SUGARS = -1 THEN SUGARS = .; IF POTASS = -1 THEN POTASS = .; RUN; DATA CEREAL; SET CEREAL; CALFAT = 9*FAT; CALPRO = 4*PROTEIN; CALCAR = 4*CARBO; CALSUG = 4*SUGARS; RUN; DATA CEREAL; SET CEREAL; RATINGALT = RATING; IF NAME = 'Cheerios' THEN RATINGALT = 507.64999; RUN; proc reg data=cereal; model rating = calfat; run; proc robustreg data=cereal; model rating = calfat ; run; proc reg data=cereal; model ratingalt = calfat; run; proc robustreg data=cereal; model ratingalt = calfat ; run; proc sort data=cereal; by calfat; run; ods output OutputStatistics=cerealstats; proc loess data=cereal; model rating = calfat; run; symbol1 color=black value=dot h=2 pct; symbol2 color=black interpol=join value=none width=1; proc gplot data=cerealstats; plot (depvar pred)*calfat / overlay hminor = 0 vminor = 0 vaxis = axis1 frame cframe=ligr; axis1 label = ( r=20 a=50 ) order=(0 to 100 by 5); title 'LOESS estimation'; run; PROC REG DATA = Cereal; MODEL RATING = CALFAT CALPRO CALCAR CALSUG CALORIES SODIUM FIBER POTASS / VIF CORRB ALPHA = 0.05 ; RUN; title 'Ridge Trace of Cereal Data'; symbol1 v=A c=blue; symbol2 v=B c=yellow; symbol3 v=C c=cyan; symbol4 v=D c=green; symbol5 v=E c=orange; symbol6 v=F c=red; symbol7 v=G c=purple; symbol8 v=H c=pink; symbol9 v=I c=white; legend2 position=(middle right inside) across=3 cborder=black offset=(0,0) label=(color=blue position=(top center) 'coefficient estimates') cframe=white; proc reg data=cereal outest=b ridge=0 to 0.02 by 0.001; model RATING = CALFAT CALPRO CALCAR CALSUG CALORIES SODIUM FIBER POTASS /noprint; plot / ridgeplot nomodel legend=legend2 nostat vref=0 lvref=1 cvref=blue cframe=ligr; run; title ''; PROC REG DATA = cereal outseb outest=ridgeresults ridge=0.02; MODEL RATING = CALFAT CALPRO CALCAR CALSUG CALORIES SODIUM FIBER POTASS / VIF CORRB ALPHA = 0.05 ; RUN; PROC PRINT DATA=ridgeresults; RUN; PROC REG DATA = Cereal; MODEL RATING = FAT PROTEIN CARBO SUGARS CALORIES SODIUM FIBER POTASS ; PLOT R. * P.; RUN; PROC REG DATA = Cereal; MODEL RATING = FAT PROTEIN CARBO SUGARS CALORIES SODIUM FIBER POTASS ; OUTPUT OUT=cerealnew R = RESID P = PRED; RUN; DATA cerealnew; SET cerealnew; ABSRESID = abs(RESID); RUN; PROC REG DATA = cerealnew; MODEL ABSRESID = PRED; OUTPUT OUT=cerealnew2 P = AUXPRED; RUN; DATA cerealnew2; SET cerealnew2; WEIGHTSFORWLS = 1/(AUXPRED*AUXPRED); RUN; PROC REG DATA = cerealnew2; MODEL RATING = FAT PROTEIN CARBO SUGARS CALORIES SODIUM FIBER POTASS ; WEIGHT WEIGHTSFORWLS; RUN; DATA cerealnew; SET cerealnew; PRED2 = PRED*PRED; RUN; PROC REG DATA = cerealnew; MODEL ABSRESID = PRED PRED2; OUTPUT OUT=cerealnew3 P = AUXPRED; RUN; DATA cerealnew3; SET cerealnew3; WEIGHTSFORWLS = 1/(AUXPRED*AUXPRED); RUN; PROC REG DATA = cerealnew3; MODEL RATING = FAT PROTEIN CARBO SUGARS CALORIES SODIUM FIBER POTASS ; WEIGHT WEIGHTSFORWLS; RUN; PROC MI DATA=cereal SEED=12345 nimpute=5 out=imputed; mcmc chain=multiple displayinit initial=em(itprint); var RATING FAT PROTEIN CARBO SUGARS CALORIES SODIUM FIBER POTASS; RUN; PROC PRINT DATA=imputed; var NAME CARBO SUGARS POTASS; RUN; PROC REG DATA=imputed outest=outreg covout; MODEL RATING = FAT PROTEIN CARBO SUGARS CALORIES SODIUM FIBER POTASS; BY _IMPUTATION_; RUN; PROC MIANALYZE DATA=OUTREG; VAR INTERCEPT FAT PROTEIN CARBO SUGARS CALORIES SODIUM FIBER POTASS ; RUN; ODS RTF CLOSE; RUN;