[다중회귀분석] 다중회귀분석 SAS Syntax

 



SAS 다중회귀분석 가이드

🌟 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 댓글