🌟 SAS 다중회귀분석 완전 가이드
다중회귀분석은 여러 개의 독립변수를 사용해 하나의 종속변수를 예측하는 통계 기법입니다. SAS에서는 PROC REG를 사용해 손쉽게 수행할 수 있습니다.
✅ 기본 문법 (SYNTAX)
PROC REG DATA=데이터셋명;
MODEL 종속변수 = 독립변수1 독립변수2 독립변수3 ...;
RUN;
QUIT;
🎯 예제: 집값 예측 모델
PROC REG DATA=house_data;
MODEL price = area rooms age;
RUN;
QUIT;
- price: 종속변수 (집값)
- area: 면적
- rooms: 방 개수
- age: 건물 나이
🔧 유용한 옵션들
✅ 1. 표준화 회귀계수 출력 (β 계수)
MODEL price = area rooms age / STB;
STB: 표준화 회귀계수 출력 → 변수의 상대적 중요도 비교 가능
✅ 2. 예측값 및 잔차 등 진단 통계량 출력
MODEL price = area rooms age;
OUTPUT OUT=outdata
PREDICTED=pred
RESIDUAL=resid
RSTUDENT=rstud
H=leverage
COOKD=cookd;
- pred: 예측값
- resid: 잔차
- rstud: Studentized 잔차
- leverage: 레버리지
- cookd: Cook’s Distance
✅ 3. 변수 선택 방법 (Stepwise)
MODEL price = area rooms age location / SELECTION=STEPWISE;
변수 선택 방식:
FORWARD: 전진 선택법BACKWARD: 후진 제거법STEPWISE: 단계적 선택법
✅ 4. 다중공선성 진단 (VIF)
MODEL price = area rooms age / VIF;
VIF: 분산팽창계수 → 값이 10 이상이면 다중공선성 의심
📦 전체 분석 코드 예제
PROC REG DATA=house_data;
MODEL price = area rooms age / STB VIF;
OUTPUT OUT=reg_out
PREDICTED=pred
RESIDUAL=resid
RSTUDENT=rstud
H=lev
COOKD=cookd;
RUN;
QUIT;
📊 결과 확인 및 시각화
예측값 및 잔차 확인
PROC PRINT DATA=reg_out;
RUN;
잔차 플롯 (예측값 vs 잔차)
PROC SGPLOT DATA=reg_out;
SCATTER X=pred Y=resid;
REFLINE 0 / AXIS=Y;
RUN;
📌 Tip: 분석 전에 PROC MEANS, PROC CORR, PROC UNIVARIATE 등으로 데이터 탐색을 먼저 진행하는 것이 좋습니다.

0 댓글