%include data(fitnessd); title 'Collinearity diagnostics'; options ls=90; proc reg data=fitness; model oxy = age weight runtime rstpulse runpulse maxpulse / vif collinoint; proc princomp data=fitness out=prin; var age weight runtime rstpulse runpulse maxpulse; run; *-- Drop last component (biased, but no collinearity); proc reg data=prin; model oxy = prin1-prin5 / vif; title2 'Incomplete PCA regression: drop last PC'; run; *-- redefine pulse rate variables; data fit2; set fitness; pulse = (runpulse + maxpulse); pdiff = (maxpulse - runpulse); title2 'Redefine variables'; run; proc reg data=fit2; model oxy = age weight runtime rstpulse pulse pdiff/ vif; run;