설찬범의 파라다이스
글쓰기와 닥터후, 엑셀, 통계학, 무료프로그램 배우기를 좋아하는 청년백수의 블로그
F검정 (2)
엑셀로 통계하기 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
엑셀로 통계하기 22 - 단순선형회귀(2)
반응형


단순선형회귀 (1)


  회귀분석은 변수 사이의 관계를 알아내는 통계 기법입니다. 독립변수를 통해 종속변수를 예측하는데, 독립변수와 종속변수가 각각 하나고 둘 사이 관계가 선형이라고 가정하는 회귀분석이 단순선형회귀입니다.

 

  지난 시간에는 (현실을 모델로 만든 회귀모형의 기댓값인 회귀식의 표본추정식인) 추정회귀식을 구해 봤습니다. 최고제곱법으로 식을 찾았습니다. 과연 이 식이 적합한지 영희를 예로 들어 설명했습니다. 이제 두 번째 질문, 과연 xy가 통계적으로 유의미한 관계인지 답해 보려고 합니다.

 

유의성 검정



단순선형회귀 모형




단순선형회귀 회귀식


  회귀식에 x값을 넣으면 y값이 나옵니다. 그런데 이 값은 y가 아닙니다. 정확히는 y의 기댓값이죠. 단순선형회귀 모형에는 오차항이 있는데, 오차항은 정규분포를 따릅니다. 따라서 y도 분포를 가지는 값입니다. 우리가 추세선으로 구하는 값은 y의 기댓값이었죠.


 

단순선형회귀모형에서 오차항에 대한 가정은 다음과 같습니다.


1) 오차항은 확률변수다.

2) 오차항은 모든 x마다 분산이 같다.

3) 오차항은 독립이다(어떤 x에 대한 오차항이 다른 x에 대한 오차항과 무관).

4) 오차항은 정규분포를 따른다.

 

  이 가정들, 특히 4번 가정 때문에 오차항을 포함하는 y도 확률변수처럼 행동합니다. 단순선형회귀분석에서 선을 긋고 x를 식에 넣어 구한 yy값이 아니라 y의 기댓값, 평균임을 다시 강조합니다. xy에 관계가 있는지 검사하는 과정에 이게 필요한가 싶지만, 곧 필요해집니다.

 

  이제 유의성 검정을 해 보죠. 유의성 검정은 두 변수가 과연 유의미한 관계인지 검사하는 과정입니다.



 

  회귀식에서 x의 기울기가 0이면, x가 있는 항은 통째로 0이 됩니다. x값이 y에 아무런 영향을 주지 못합니다. 그런데 관계가 있다고 말할 수 있을까요? 따라서 우리는 저 β1이 0인지 아닌지 판단해야 합니다. 유의성을 검정하는 방법은 크게 두 가지, t검정과 F검정이 있습니다.

 


잠깐. 두 가지 검정을 시작하기 전에 알아야 할 식


평균제곱오차(MSE) - SSE를 자유도로 나눈 값. 오차항 분산의 불편추정량



평균제곱오차의 제곱근은 추정값의 표준오차라고 부름.



 

t검정



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




2. 회귀식 기울기(β1)의 표준편차를 구한다. β는 모집단 모수이므로 추정회귀식으로 추정해 구한다.




3. 검정통계량 t를 구한다.




4. 자유도 n-2인 스튜던트 t분포에서 절댓값이 검정통계량 이상인 양측 날개 면적을 p값으로 한다.




5. p값이 유의수준 이하면 귀무가설을 기각한다.


 

F검정



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



2. 평균제곱회귀(MSR)를 구한다. SSR을 회귀자유도로 나눈 값으로, 회귀자유도는 일단 독립변수의 수라고 생각한다. 단순선형회귀에서 독립변수는 하나이므로 회귀자유도는 1이다.




3. F비를 구한다. MSR/MSE.




4. 자유도가 1, n-2F분포에서 F비 오른쪽의 날개 넓이를 p값으로 한다.




5. p값이 유의수준 이하면 귀무가설을 기각한다.

 

 

참고 : 독립변수가 하나라면 t검정과 F검정의 결과는 같습니다.

 

주의 : 통계적 유의성은 인과와 다릅니다.

 





신뢰구간과 예측구간



  추정회귀식도 세웠고, 식이 (영희보다) 적합한지도 검정했고, 두 변수가 통계적으로 유의미한 관계에 있는지도 파악했습니다. 이제 하루 공부 시간에 따른 기말고사 점수를 예측할 수 있을 겁니다.



 

  추정회귀식에 따르면 x=2.5일 때 y는 약 60.7입니다. 그럼 하루에 2.5시간 공부하는 학생은 기말고사 점수가 60.7이라고 말할 수 있을까요? 바로 결정하기 전에 짚고 넘어갑시다. ‘하루에 2.5시간 공부하는 학생은 누굽니까?

 


'하루에 2.5시간 공부하는 학생'의 뜻


1 : 하루에 2.5시간 공부하는 학생 전부. 따라서 하루에 2.5시간 공부하는 학생의 기말고사 점수는 이들 점수의 평균이다.


2 : 하루에 2.5시간 공부하는 특정 누군가. 예를 들어 2.5시간 공부하던 17살 김민수 학생의 기말고사 점수를 추정한다는 뜻이다.

 

1y값의 평균을 예측합니다. 2y 개별값을 예측합니다. 아시다시피 y는 값이 아니라 확률분포입니다. 따라서 뜻 1이든 2든 정해진 값이 아니라 범위, 구간을 구해야 합니다.

 

1은 표본회귀로 y값의 평균, 즉 모집단 회귀(E(y))를 추정합니다.

2는 표본회귀로 모집단 회귀를 넘어 실제 값을 추정합니다.





  상식적으로 뜻 2가 더 맞추기 어렵겠죠. 따라서 신뢰수준이 같다면 뜻 2로 구한 구간이 뜻 1로 구한 구간보다 넓을 수밖에 없습니다.

 

1로 구한 구간은 신뢰구간(Confidence interval),

2로 구한 구간은 예측구간(Prediction interval)이라고 합니다.

 

 

신뢰구간



  신뢰구간 공식은 다음과 같습니다.



 

신뢰구간 식에서 무얼 알 수 있을까요?


- xx평균과 같을 때 신뢰구간이 제일 좁습니다.

- 자료 크기 n이 클수록 신뢰구간이 좁습니다.

 

 

예측구간




  예측구간 공식은 다음과 같습니다.



 

예측구간 식에서 무얼 알 수 있을까요?


- 자료크기와 신뢰수준이 같다면 예측구간은 신뢰구간보다 넓습니다.(y 평균이 아니라 y 개별값을 구하기는 더 어려우니 같은 정확도가 필요할 때 범위는 더 넓겠죠.)

- 예측구간 역시 신뢰구간처럼 x가 평균일 때 제일 좁습니다.

 




 

엑셀에서 단순선형회귀 하기



  엑셀 회귀분석을 이용하면 추정회귀식, 결정계수, 추정값의 표준오차, t검정과 F검정 결과까지 전부 한 번에 볼 수 있습니다.



 

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



  x,y축 입력 범위, 신뢰수준을 입력합니다.

  '이름표'에 체크하면 맨 위 셀은 제목으로 취급합니다.

  '이름표'에 체크했으면 입력범위는 제목도 포함시켜야 합니다.




  '확인'을 누르면 회귀분석 결과가 나타납니다. 추정회귀식에 쓸 계수와 y절편, 결정계수, 표준 오차, t검정과 F검정 결과가 나타납니다. 보시다시피 t검정 p값과 F검정 p값이 똑같습니다.

반응형
  Comments,     Trackbacks