상세 컨텐츠

본문 제목

[SAS] 선형회귀분석 (feat. PROC GLM)

SAS

by 대학원생D군 2023. 4. 12. 09:00

본문

반응형

안녕하세요,

지난 포스팅에서 SAS 프로그램의 PROC REG 프로시저를 활용하여 다중회귀분석, 선형회귀분석을 하는 방법을 살펴보았습니다. PROC REG의 경우 여러 회귀진단 통계량을 확인할 수 있다는 장점이 있으나 범주형 변수를 모형에 투입하는 경우 더미변수 변환 작업이 추가적으로 필요하다는 단점이 있었습니다.

 

[SAS] 선형회귀분석 (feat. PROC REG 더미변수 만들기)

안녕하세요, 이번 포스팅에서는 SAS 프로그램에서 코드를 작성하여 선형회귀분석을 하는 방법을 살펴보겠습니다. SAS ODA에서 클릭으로 선형회귀분석을 하는 방법은 아래의 포스팅을 참고해 주시

paratussemper.tistory.com

반응형

이번 포스팅에서는 범주형 변수를 더미변수 변환하지 않고 바로 회귀분석을 할 수 있는 PROC GLM 프로시저에 대하여 살펴보겠습니다. PROC GLM 프로시저를 활용하면 단순회귀분석, 다중회귀분석, ANOVA, 공분산 분석뿐만 아니라 가중회귀분석, 편상관계수, MANOVA 등 다양한 분석을 할 수 있습니다.

분석 예제 데이터셋은 역시 PROC REG와 마찬가지로 SASHELP.BASEBALL을 사용하였습니다. 설명변수는 NHITS NRUNS (이상 연속형), league(범주형)이고 종속변수는 SALARY입니다. PROC GLM 프로시저로 여러 분석을 할 수 있지만 다중회귀분석이 목표라면 아래의 코드만으로도 충분합니다.

  • PROC GLM DATA=데이터셋
    • CLASS 범주형 변수(ref='기준값')
    • MODEL 종속변수 = 설명변수 / solution tolerance

solution은 회귀계수 출력, tolerance는 공차분석 결과를 출력하며 이를 통해 다중공선성 여부를 판단할 수 있습니다. 공차 값을 통하여 간단한 계산을 통하여 분산팽창지수(VIF)를 추정할 수도 있습니다. 만일 범주형 변수의 기준 변수를 바꾸고 싶다면 (ref='기준값')을 사용하면 됩니다.

PROC GLM DATA=SASHELP.BASEBALL;
	CLASS league(ref='American');
	MODEL SALARY=nhits nruns league/solution TOLERANCE;
RUN;

위의 코드 실행결과는 아래와 같습니다. 사용된 OBS의 수, 변수에 대한 정보가 제시되고 공차분석 결과가 제시됩니다. 이후 F통계량, R-square 등의 모형정보, Type I sum of square, Type III sum of squar가 제시되며 마지막에 회귀계수 및 유의미성 판단을 위한 t 통계량, p-value가 출력되었습니다.

다음으로 고차항 분석을 살펴보겠습니다. 아래와 같이 변수*변수를 입력하면 2차항 변수가 회귀분석에 포함되게 됩니다. 회귀계수는 아래와 같이 출력됩니다.

PROC GLM DATA=SASHELP.BASEBALL;
	CLASS league;
	MODEL SALARY=nhits*nhits nruns league/solution TOLERANCE;
RUN;

그러나 대부분의 경우 2차항을 투입하더라도 1차항이 함께 투입되어야 합니다. 이때 PROC GLM에서는 nhits|nhits로 nhits의 1차항과 2차항 변수를 만들 우 있습니다. 이는 변수 간의 비선형 관계를 모색할 때 유용하게 활용할 수 있습니다. 분석결과를 살펴보면 앞의 결과표와 다르게 nHits의 1차 항과 2차 항이 함께 포함되어 있음을 알 수 있습니다.

PROC GLM DATA=SASHELP.BASEBALL;
	CLASS league;
	MODEL SALARY=nhits|nhits nruns league/solution TOLERANCE;
RUN;

변수|변수는 조절효과, 상호작용항 분석에도 활용될 수 있습니다. nhits와 nruns의 상호작용항 분석을 위해서는 아래의 코드를 실행하면 됩니다.

PROC GLM DATA=SASHELP.BASEBALL;
	CLASS league;
	MODEL SALARY=nhits|nruns league/solution TOLERANCE;
RUN;

조절효과 분석결과 해석은 아래의 포스팅에 자세히 설명해두었으니 필요하신 분은 참고하시면 됩니다.

 

[DISSERTATION]조절효과 분석으로 학위논문 마무리

안녕하세요, 지난 포스팅에서 이중차분법(DID)에서 한 단계 나아간 삼중차분법(DDD)에 대하여 살펴보았습니다. 결국 삼중차분법에도 조절효과 분석의 원리가 포함되어 있기 때문에 조절효과 개념

paratussemper.tistory.com

만약 코드를 사용하는 것이 부담되는 분들은 SAS ODA를 활용해서 클릭만으로도 회귀분석을 할 수 있으니 아래의 포스팅을 참고하시기 바랍니다.

 

[SAS ODA]선형회귀분석 클릭으로 끝내기(조절효과/상호작용항)

안녕하세요, 몇년전부터 머신러닝, 딥러닝에 대한 관심이 많이 증가하였습니다. 그러나 머신러닝 관련 책을 살펴보면 회귀분석에 대한 내용이 포함되어 있습니다. 머신러닝의 알고리즘과 비교

paratussemper.tistory.com

그러나 PROC GLM 프로시저는 변수 선택 알고리즘을 지원하지 않고 PROC REG와 비교할 때 회귀진단 통계량을 제한적으로 제공한다는 한계가 있습니다. 이러한 한계를 보완한 프로시저가 PROC GLMSELECT이며 다음 포스팅에서 살펴보겠습니다.

 

궁금하신 점은 언제든 댓글로 담겨주세요:)

감사합니다!

☆ 제 코드는 정답이 아니며 틀린 부분이 있을 수 있으니 주의하여 활용하시기 바랍니다.

 
반응형

관련글 더보기

댓글 영역