설찬범의 파라다이스
글쓰기와 닥터후, 엑셀, 통계학, 무료프로그램 배우기를 좋아하는 청년백수의 블로그
엑셀로 통계하기 24 - 다중회귀분석
반응형



  단순선형회귀분석은 독립변수 하나와 종속변수 하나의 관계를 알아내려는 회귀분석이었습니다. 세상은 알다시피 그보다는 복잡하죠. 여러 원인이 모여서 결과를 만듭니다. 독립변수가 여럿인 회귀분석은 이제 단순하지 않습니다. 독립변수가 둘 이상인 회귀분석은 다중회귀분석(Multiple regression analysis)입니다.



 

  단순선형회귀를 하던 모험을 떠올려 봅시다. 먼저 회귀모형을 만들었습니다. 오차항은 기댓값이 0인 정규분포였죠. 여기에 기댓값을 씌워 E(y)를 구하는 회귀식을 만듭니다. 이 회귀식은 모집단을 알아야 만들 수 있어서, 표본밖에 없는 우리는 하릴없이 추정회귀식으로 회귀식을 추정했습니다.


  다중회귀분석도 과정은 같습니다. 오차항이 있는 다중회귀모형(Multiple regression model). y의 기댓값을 구하는 다중회귀식(Multiple regression equation). 표본으로 추정한 추정 다중회귀식(Estimated multiple regression equation).

 

 

 

이번에도 최소제곱법


  

  그럼 추정 다중회귀식에서 b는 어떻게 구할까요? 여러 방법이 있지만 최소제곱법(최소자승법)이 일반적입니다. 단순선형회귀는 최소제곱법으로 구하는 y절편과 x기울기 공식이 있어서 구하기 쉽습니다. 다중회귀분석은 독립변수가 여럿이라 구하기가 어렵습니다. 독립변수가 셋만 되어도 사람 손으로는 불가능할 정도죠. 훗날 다중회귀 최소제곱법을 포스팅할지도 모르겠네요.

 

 

엑셀로 다중회귀식 구하기




[데이터 분석] - [회귀분석]에 들어갑니다.

 


  방법은 단순선형회귀분석과 같습니다. ‘X축 입력 범위에 여러 열 범위를 입력하면 됩니다.

 

 

다중결정계수


  

  단순선형회귀에서 모든 추정값을 y의 평균으로 추정한 영희가 있었습니다. 영희의 오차는 회귀식과 영희의 격차와 회귀식의 오차의 합입니다. 총제곱합은 회귀제곱합과 오차제곱합의 합이죠.(단순선형회귀 1 참고)

 


SST = SSR + SSE


 

  SST에서 SSR이 차지하는 비율을 결정계수라고 불렀습니다. 결정계수의 최댓값은 1이고 결정계수가 높을수록 추정회귀식이 적합하다고 간주합니다.

 

  다중회귀분석도 결정계수는 똑같습니다. 다만 다중결정계수(Multiple coefficient of determination)라고 불릴 뿐입니다.

 


 

조정 다중결정계수




  그런데 결정계수가 늘 적합성을 잘 반영하지는 않습니다. 예를 들어 기말고사 점수가 종속변수고 공부 시간이 독립변수인 자료가 있습니다. 여기에 두 번째 독립변수로 아무 숫자나 무작위로 넣습니다. 엑셀 난수 생성 함수 RAND를 이용합니다.


 

  분명 기말고사 점수와 아무 상관이 없는 무작위 숫자를 넣었는데도 다중결정계수가 상승합니다. 독립변수가 늘어나면 통계적으로 유의하지 않아도 결정계수가 올라갈 수 있습니다. 이걸 고려한 결정계수가 바로 조정 다중결정계수(Adjusted multiple coefficient of determination)입니다.


p : 독립변수의 수


 

 

엑셀에서 다중결정계수 구하기




 

[데이터 분석] - [회귀분석]을 실시하면 결정계수와 조정된 결정계수가 나옵니다.

 

 

 

유의성 검정




  다중회귀분석도 유의성을 검정합니다. 검정법에는 F검정과 t검정이 있다고 배웠습니다. 단순선형회귀는 F검정과 t검정 결과가 똑같습니다. 다중회귀분석은 두 검정 결과가 다릅니다. 애초에 목적과 대상이 다릅니다.

 

  F검정은 독립변수 집합과 종속변수가 유의한 관계인지 검정합니다(전반적 유의성 검정). t검정은 각 독립변수가 종속변수와 유의한지 검정합니다(개별적 유의성 검정). F검정은 자료 당 한 번이고 t검정은 독립변수 수만큼 결과가 나옵니다.

 

 

F검정



 

  1) 귀무가설과 대립가설을 세우고 유의수준을 정합니다.

 

  2) 평균제곱회귀(MSR)을 구합니다. SSR을 독립변수 수로 나눈 값입니다.

 

  3) 평균제곱오차(MSE)를 구합니다. SSEn-p-1로 나눈 값입니다.

 

  4) MSR/MSE=F비를 구합니다.

 

  5) 자유도가 p, n-p-1F분포에서 F비 오른쪽 날개의 면적을 구합니다. 날개 면적이 p값이고, p값이 유의수준보다 낮으면 귀무가설을 기각합니다.

 

 

t검정



 

  1) 한 독립변수에 대한 귀무가설과 대립가설을 세우고 유의수준을 정합니다.

 

  2) 그 독립변수의 표준오차를 구합니다. MSE의 제곱근입니다.

 

  3) 검정통계량 t값을 구합니다. 계수를 표준오차로 나눈 값입니다.

 

  4) 자유도가 n-p-1t분포에서 t값보다 절댓값이 큰 양날개의 면적이 p값입니다. p값이 유의수준보다 낮으면 귀무가설을 기각합니다.



단순선형회귀(2) 참고

 

 

엑셀에서 다중회귀분석 F검정,t검정 하기




 

  [데이터 분석] - [회귀분석]에서 유의수준을 입력하고 시행하면 결과에서 F검정 p값과 독립변수별 t검정 p값을 볼 수 있습니다.


 

다중공선성



  회귀분석은 독립변수와 회귀변수 사이 관계를 알아냅니다. 그런데 독립변수 사이에도 관계가 있을 수 있습니다. 예를 들어 종속변수가 택배 배송 비용, 독립변수가 배송 거리와 연료비인 회귀분석이 있다고 합시다. 배송 거리가 멀수록 연료비는 자연히 상승합니다. 배송 거리와 연료비는 강한 상관관계가 있습니다.

 

  상관관계가 강하다면 굳이 독립변수를 추가할 필요가 없습니다. 배송 거리를 알면 연료비도 알 텐데 연료비를 독립변수로 추가해 봐야 얼마나 더 정확해질까요.

 

  게다가 상관성이 강한 독립변수가 추가되면 한 독립변수가 종속변수에 미치는 영향을 따로 떼어 구분하기 어렵습니다. t검정을 해서 한 독립변수의 계수가 0이라는 귀무가설을 기각하지 못하게 되었다고 생각해 봅시다. 물론 이 독립변수가 종속변수와 무관해서 귀무가설이 기각되지 않았을 수 있습니다. 그러나 이 독립변수와 상관성이 강한 다른 독립변수 때문일 수도 있습니다.

 

  이렇게 독립변수 사이 상관관계에 따른 문제를 다중공선성(Multicollinearity)라고 부릅니다.



 

  그럼 다중공선성은 어떻게 알아낼까요. 두 변수 사이 상관성을 구하는 법으로 상관계수가 있습니다. 공분산을 각자의 표준편차로 나눈 값입니다. 이 상관계수 절댓값이 0.7을 넘으면 다중공선성이 잠재적 문제라고 판단하는 기준이 있습니다.

반응형
  Comments,     Trackbacks