이번 게시글은 SAS 코드를 활용하여 데이터를 불러오고, 데이터 구조를 확인하여 회귀 분석을 수행하는 과정입니다.
데이터는 자동차 데이터 셋으로 아래의 파일에서 다운 받으실 수 있습니다.
FILENAME REFFILE 'C:/cars.xlsx';
PROC IMPORT DATAFILE=REFFILE
DBMS=XLSX
OUT=WORK.car;
GETNAMES=YES;
RUN;
PROC CONTENTS DATA=WORK.car; RUN;
FILENAME: 경로 설정
PROC IMPORT: SAS 로 데이터셋을 불러옵니다.
PROC CONTENTS: 데이터 셋 구조와 변수 타입을 확인할 수 있습니다.
PROC REG를 사용해 자동차 데이터셋에서 마력(HorsePower)을 예측하는 모델을 만듭니다. 다양한 그래프를 통해 모델을 평가하는 방법까지 알아보려고 합니다.
proc reg data = car;
model horsepower = cylinders enginesize / vif;
run;
# 결과해석
1. ANOVA
Number of Observations Read: 2개의 결측값이 존재하여 426개의 데이터만 회귀분석에서 사용.
R-Square: 0.6755, 설명력이 67.55%로 좋은 모델이라고 할 수 있습니다.
Adj-R-Sq: 0.6738, 조정된 설명력으로 overfitting 의 가능성이 적다라고 할 수 있습니다.
Model F Value: 440.19, p-value < 0.0001 로 모델이 통계적으로 유의미하다라고 할 수 있습니다.
Root MSE: 41.11, 잔차의 평균적 크기입니다.
Coeff Var: 19.04%로 적당한 변동성을 가지고 있습니다.
2. Parameter Estimates
Cylinders: 계수 23.70, p-value < .0001 → Cylinders가 1 증가하면 Horsepower는 약 23.7 증가로 유의미합니다.
EngineSize: 계수 21.35, p-value < .0001 → EngineSize가 1 증가하면 Horsepower는 약 21.35 증가로 유의미합니다.
Intercept: 절편 9.77, p-value = 0.2242 → 절편은 유의하지 않지만 큰 문제는 아님
그러므로, Cylinders와 EngineSize 모두 Horsepower에 강하고 유의미한 영향을 미치는 변수라고 결론지을 수 있습니다.
Residual vs. Predicted: 잔차들이 대체로 고르게 분포하지만 일부 큰 잔차 존재합니다.
Normal Q-Q Plot: 약간의 꼬리(tail) 있지만 대체로 정규성 만족합니다.
Cook's D Plot: 영향력이 큰 이상치(outlier)가 일부 존재 → 주의 필요.
Leverage Plot: 극단값(high leverage)은 소수만 존재합니다.
Cylinders: 이산형 변수라 수직으로 그룹화된 형태 (자연스러움)
EngineSize: 잔차가 비교적 고르게 분포. 특정 EngineSize 구간에 오차가 몰려 있지 않음 → 선형성 가정(Linear Assumption) 대체로 만족.
Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.