본문 바로가기
SAS

[SAS 프로그래밍 실습] 가중 회귀 분석(Weight Regression) 구현하기

by 웰러맨 2022. 1. 19.
반응형

부제 : [PROC REG 사용하여 회귀분석 실습하기]

*SAS University Edition은 SAS Institute에서 무료로 제공하는 통계 분석 소프트웨어입니다.

관련 포스팅은 차후에 진행하도록 하겠습니다.

1. Introduction

지난 시간, 우리는 가중 회귀 (가중 최소 제곱)의 이론과 활용 사례를 배웠습니다. 이번에는 SAS University Edition를 활용하여 가중 회귀를 구현해보도록 하겠습니다.

University Edition 실행 화면입니다.

2. Data

​데이터는 SAS Global 커뮤니티의 Rick Wicklin 분석가가 제공한 것이며, 저희가 계산할 w가 산출 되어있는 값이므로 실습에 적절합니다.

<code1>

data RegData;

input y x w;

datalines;

2.3 7.4 0.058

3.0 7.6 0.073

2.9 8.2 0.114

4.8 9.0 0.144

1.3 10.4 0.151

3.6 11.7 0.119

2.3 11.7 0.119

4.6 11.8 0.114

3.0 12.4 0.073

5.4 12.9 0.035

6.4 14.0 0

;

run;

위 코드를 입력하여 데이터를 불러옵니다. 변수 w는 기존에 계산된 가중치입니다.

3. practice

<code 2>

proc sgplot data=RegData;

scatter x=x y=y / filledoutlinedmarkers markerattrs=(size=12 symbol=CircleFilled)

colorresponse=w colormodel=TwoColorRamp; /* 가중치 시각화*/

reg x=x y=y / nomarkers legendlabel="Unweighted Regression"; /* 일반 회귀*/

reg x=x y=y / weight=w nomarkers legendlabel="Weighted Regression"; /* 가중 회귀*/

xaxis grid; yaxis grid;

run;

위 코드를 통해 일반 선형회귀와 가중 선형회귀를 시각화하여 비교합니다. 간편하게도, proc sgplot 내에서 reg를 선언하면 해당 reg선언에 대한 회귀 선을 관측할 수가 있습니다.

1.Colorresponse 옵션은 특수 색을 지정할 파라미터를 선정합니다.

2. Colormodel 옵션은 색 표현 방식을 지정하며, TwoColorRamp를 통해 우측에 그라데이션 막대를 생성합니다.

3. filledoutlinedmarkers~ 이하의 옵션은 관측치들을 어떤식으로 표현할지 지정해준 것입니다.

4. reg x=x y=y / weight=w 를 확인해보면, 간단하게 가중 회귀를 적용시킨 것을 볼 수가 있습니다. 이를 사용하여 그래프를 작성하시면 됩니다.

<code 3.1> : Unweighted Regression

 

proc reg data=RegData plots(only)=FitPlot;

Unweighted: model y = x;

ods select NObs ParameterEstimates FitPlot;

quit;

<code 3.2> : Weighted Regression

 

proc reg data=RegData plots(only)=FitPlot;

Weighted: model y = x;

weight w;

ods select NObs ParameterEstimates FitPlot;

quit;

PROC REG는 회귀분석을 쉽게 실행할 수 있는 프록시져입니다. code 3.2의 3번째 줄을 보면 weight w 문을 볼 수가 있는데요, 이를 통해 쉽게 가중회귀 분석을 구현할 수 있는 것을 볼 수 있습니다.

일반회귀 분석값


가중회귀 분석값

4. Conclusion

이렇게 가중회귀와 일반회귀의 실습을 통해 차이를 확인해보았습니다. 지난 번 이론에서 배웠던 가중 회귀의 특징을 잘 살펴볼 수 있었는데요, 가중회귀 분석은 이렇게 가중치를 넣어야하는 실제 실험에서 유용하게 사용될 수가 있습니다. 하지만 가중치를 구해야한다는 것이 단점이 되겠네요. 위 데이터의 경우 W가 계산이 되어있지만, 실제 데이터는 그렇지 않습니다. 이러한 부분을 감안하여 모델 선택을 고려하기 바랍니다.

반응형

댓글