과학과 기술/SAS
SAS 다중회귀분석 multiple regression
부르칸
2021. 7. 30. 06:47
1. 데이터
미국 범죄율
Rate: 범죄율
Age: 평균나이
Southern: 남부인지 북부인지 나타내는 변수
Edu: 교육수준
PoliceExp0: 경찰 예산 1960년
PoliceEXp1: 경찰 예산 1959년
Labor: 노동력
Male: 남녀비율
Population: 인구
NonWhite: 백인이외의 인종
Unemploy1: 젊은이 실업율
Unemploy2: 중년층 실업율
Wealth: 소득
IncomeInequa: 소득불평등
data uscrime;
infile "d:\tmp\uscrime.csv" delimiter="," firstobs=2;
input Rate Age Southern Edu PoliceExp0 PoliceEXp1 Labor
Male Population NonWhite Unemploy1 Unemploy2 Wealth IncomeInequal;
run;
2. 공선성(multicolinearity) 확인
vif를 확인하는데 10이상이면 공선성이 크다고 본다.
proc reg data = uscrime;
model Rate = Age--IncomeInequal /vif;
run;
종속변수를 Rate, 독립변수로 모든 변수를 첨가하여 vif(variance inflation factor)를 보았다.
PoliceExp0와 PoliceExp1의 vif가 10보다 월등히 크므로 이 두변수사이에 공선성이 존재한다고 볼수 있다.이 두 변수중 하나를 제거하여 나머지 변수사이에도 공선성이 있는지 확인해 본다.
3. Stepwise regression
PoliceExp0를 제거한 나머지 변수를 가지고 stepwise regression을 수행한다. entering과 stay를 위한 significant level을 0.05로 잡았다.
proc reg data = uscrime;
model Rate = Age--Edu PoliceExp1--IncomeInequal /selection=stepwise sle=0.05 sls=0.05;
plot student. * (PoliceExp1 IncomeInequal Edu Age Unemploy2);
plot student. * (predicted. cookd. obs.);
plot cookd. * obs.;
plot npp. * residual.;
run; quit;