설찬범의 파라다이스
글쓰기와 닥터후, 엑셀, 통계학, 무료프로그램 배우기를 좋아하는 청년백수의 블로그
엑셀로 통계하기 (17)
엑셀로 통계하기 25 - 이동평균법, 지수평활법
반응형




  통계하는 가장 큰 이유는 예측이 아닐까요. 누구든 미래를 알고 싶습니다. 다음 분기 매출을 알고 싶고 내일 주가를 알고 싶고 부동산 시세를 알고 싶고, 내일 비가 올지 안 올지를 알고 싶습니다.

 

  회귀분석처럼 변수 사이 관계를 밝혀내서 미래를 예측하기도 하지만, 지금까지 변수가 변하는 과정을 토대로 미래를 예측하기도 합니다. 시계열(Time series) 분석은 과거 자료의 행태를 분석해 미래를 예측하는 분석방법입니다.

 

  오늘은 이중 단순이동평균법, 가중 이동평균법, 지수평활법을 알아봅시다.

 

 

단순이동평균법




  단순이동평균법(Simple Moving Average)은 아주 쉽습니다. 한 문장으로 말하자면 내일 수치는 최근 며칠 수치의 평균이다입니다. 즉 최근 데이터의 평균으로 다음 데이터를 예측하는 것이죠.



 

  미래를 예측하기 전에 지금까지 모은 자료로 단순이동평균법을 실행합니다. 왜 이미 있는 자료까지 예측할까요? 어느 정도까지 평균을 낼지, n을 정해야 하기 때문입니다.



 

  n은 얼마로 해야 좋을까요? 너무 최근 값만 반영하면 특이치에 휘둘립니다. 너무 오랜 값까지 반영하면 최근 추세가 묻힐 수 있습니다. n을 바꿔 가면서 원래 그래프와 제일 비슷한 그래프를 만드는 n을 골라야 하겠죠.



 

  아니면 수치로 재 볼까요? 정확도를 재는 수치로는 평균절대편차(Mean Absolute Deviation, MAD)평균제곱오차(Mean Squared Error, MSE)가 있습니다. 엑셀로 통계하기를 봐 오셨다면 MSE는 익숙하시겠죠. MAD는 오차를 제곱하는 대신 절댓값을 구한 편차입니다. 정확도를 나타내는 수치, 특히 MSE가 최소가 되는 n을 정하는 것도 방법입니다.



 

 

엑셀에서 이동평균법 하기



1) AVERAGE 함수 이용하기




AVERAGE 함수에 원하는 기간 만큼 과거 자료를 넣습니다. 드래그해 자동으로 밑 셀을 채우면 과거 자료로 평균을 구할 수 있습니다.

 (원하면 옆에 MADMSE를 계산해도 좋습니다.)

 



2) 데이터 분석 도구



  [데이터 분석]에 들어가 [이동 평균법]을 고릅니다.


 


  원본 데이터를 선택하고(‘첫째 행 이름표 사용을 선택하면 제목을 포함해 선택 가능합니다.) 구간을 씁니다. 구간이 바로 n입니다. 결과를 낼 셀 범위를 선택합니다.

 

 

가중 이동평균법



  평균에는 그냥 자료 수로 나누는 평균도 있지만(속된 말로 n) 조금 고급스러운(?) 평균도 있습니다. 가중평균은 자료마다 다른 가중치를 두어 평균을 냅니다. 일반적 평균은 모든 자료 가중치가 1입니다. 이 숫자를 바꾸면 가중평균이 됩니다. 예를 들어 신뢰도가 더 높은 자료나 더 최신 자료라면 가중치를 높여서 평균에 주는 영향을 키울 수 있습니다.

 

  가중 이동평균법(Weighted Moving Average)은 이동평균법을 가중평균으로 시행합니다. 최근 자료에 가중치를 더 준다면 최근 수치를 더 많이 반영하겠죠.



 

 

엑셀에서 가중 이동평균법 하기



 

n과 가중치를 정한 다음에(가중치는 전부 합해 1이어야 합니다) 함수로 계산합니다. 행렬을 곱하는 SUMPRODUCT 함수를 추천합니다.

 


 

엑셀에서 가중치 찾기




 

  MSE가 최소가 되는 가중치를 찾고 싶다면 방법이 하나 있습니다.

[파일] - [옵션]에서 추가 기능 중에 해 찾기 추가 기능이 있습니다. 원하는 셀이 원하는 값이 되는 해를 찾는다는 점에선 목표값 찾기와 비슷합니다.



  해 찾기 기능을 쓰기 전에 MSE를 계산해 놓습니다. 





  목표 설정 : MSE가 나올 셀을 고릅니다.

  대상 : 우린 MSE가 최소이길 원하니까 '최소'를 고릅니다.

  변수 셀 변경 : 가중치를 쓴 셀 범위입니다.

  제한 조건에 종속 : '추가'를 눌러 규칙을 추가합니다. 가중치는 0 이상 1 이하고 가중치 총합은 1입니다. 사진에 보이는 대로 입력합니다.





지수평활법



  지수평활법(Exponential Smoothing)의 개념은 이렇습니다.

 

  ‘내일 수치는 일정 비율은 오늘 값, 일정 비율은 오늘 예측값을 합친 것이다.’



 

  이 일정 비율은 그리스 문자 α로 나타냅니다. 이동평균법의 n이나 가중 이동평균법의 가중치처럼 현재 자료를 가장 잘 재현하는 α를 찾아야겠죠.

 

 


엑셀에서 지수평활법 하기




 

  [데이터 분석] - [지수 평활법]에 들어갑니다. 입력범위에 자료를 넣습니다.

(감쇠 인수는 1-α입니다)

 

  엑셀 지수평활법은 지금 자료를 재현하는 기능만 지원합니다. 원하는 α를 구하셨다면 직접 수식을 입력해 미래 수치를 예측해야 합니다.


  지금까지 보신 지수평활법은 단순지수평활법입니다. 이중지수평활법, 삼중지수평활법(계절지수평활법)은 단순지수평활법과 달리 자료의 추세나 계절성을 반영합니다.

반응형
  Comments,     Trackbacks
엑셀로 통계하기 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
엑셀로 통계하기 23 - 잔차분석
반응형




단순선형회귀 (1)

단순선형회귀 (2)


  회귀추정식을 아무리 잘 만들어도, 자료가 완벽한 직선분포가 아닌 이상 오차는 생기기 마련입니다. 관측값과 추정값의 차이를 잔차(Residual)라고 하죠. 잔차는 어찌 보면 회귀모형 속 오차항 역할을 한다고 볼 수 있습니다.

 

  자료 속 독립변수마다 잔차가 있습니다. 이걸 그래프로 그린 걸 잔차플롯(Residual plot)이라고 합니다. 지난 시간 학생의 공부 시간과 시험 점수를 회귀분석한 자료에서 잔차를 구했습니다. 잔차 플롯을 그리는 법은 다음과 같습니다.

 


엑셀에서 잔차플롯 그리기



 

1) 잔차 직접 계산해 차트로 만들기



먼저 회귀식을 구한 다음 x를 대입해 추정값을 구합니다.

 


관측값에 추정값을 빼서 잔차를 구합니다.




[삽입] - [차트] - [분산형]으로 분산형 차트를 만듭니다.




차트를 오른쪽 마우스로 클릭하고 [데이터 선택]을 누릅니다.





범례 항목에서 추가를 누르고 계열 x값을 독립변수, 계열 y값을 잔차 범위로 선택하고 확인을 누릅니다.




 

2) 엑셀 [데이터 분석]에서 회귀분석하면서 만들기

 


[데이터 분석] - [회귀분석]에서 잔차’, ‘잔차도에 체크하면

회귀분석을 하면서 자동으로 잔차를 계산하고 잔차플롯을 그립니다.




 

  회귀분석에 들어가면서 오차항은 기댓값이 0인 정규분포를 따르고 오차항의 분산을 x에 상관없이 같다고 가정했습니다. 따라서 잔차 절댓값이 지나치게 크거나, x값에 따라 잔차 분포가 변한다면 회귀모형의 가정을 위배하게 됩니다. 잔차 정규성 검정법은 훗날 다른 게시물에서 다룰지도 모르겠습니다.

 

 

표준화잔차


  정규분포를 따르는 자료는 더 쉽게 이해하기 위해 표준정규분포 z값으로 변환하기도 합니다. 평균을 빼서 표준편차로 나누는 것이죠. 마찬가지로 잔차도 표준편차로 나누어 표준화합니다. 이것을 표준화 잔차(Standardized residual, 표준잔차)이라고 합니다. 표준화 잔차는 잔차를 무단위로 바꾸기도 하고, 잔차 분포를 더 이해하기 쉽게 만들어줍니다.

 

  오차항이 정규분포라면 표준화 잔차는 표준정규분포를 나타냅니다. 표준정규분포에서는 z2에서 2 사이일 때 자료의 약 95%가 들어갑니다. 여러분의 자료에서 표준화 잔차의 절댓값이 2를 넘는다면 그 잔차에 해당하는 관찰값은 꽤 튀어나온 값일 겁니다.

 


엑셀에서 표준화잔차 구하기




  [데이터 분석] - [회귀분석]에서 표준 잔차에 체크하면 자동으로 x값에 따른 표준화 잔차가 결과에 나타납니다.

 

 



이상값


 

  확 튀는 값은 이상값(Outlier, 특이치, 이상치)이라고 합니다. ‘아웃라이어라는 영어 단어가 더 익숙할지도 모르겠습니다. 한때 아웃라이어라는 책이 인기였죠. 대학 신입생 시절 교수가 추천해서 읽었습니다. 대체로 표준화 잔차의 절댓값이 2를 초과하는 관측값은 이상값으로 취급합니다.

 

  이상값은 왜 생길까요? 값을 잘못 관측했는지도 모릅니다. 실험기기가 잠시 맛이 갔거나 실험자가 56을 헷갈렸을 수도 있죠. 설문조사라면 조사대상이 아무 숫자나 써넣었을 가능성도 있습니다. 아니면 회귀분석 모형이 잘못되었을지도 모르죠. 어쩌면 우연일지도 모릅니다. 표준화 잔차의 95%2에서 2 사이니까 반대로 말하면 5%는 범위 밖이니까요.

반응형
  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
엑셀로 통계하기 21 - 단순선형회귀(1)
반응형








  오래 공부할수록 시험 성적이 높을까요? 키가 클수록 100m 달리기 기록도 빠를까요? 마트에 들르는 사람이 많을수록 매출도 높을까요?

 

  이 질문에 대답하려면 학생들의 공부 시간과 시험 점수를 조사하고, 사람들의 키와 달리기 기록을 재보고, 매일 마트에 들르는 사람을 세고 그날 매출을 알아봐야 합니다. 그런 다음 공부 시간과 시험 점수, 키와 달리기 기록, 들르는 사람 수와 매출 사이에 어떤 관계가 있는지 확인하면 됩니다. 그럼 공부하는 시간을 알면 시험점수를, 키를 알면 달리기 기록을, 들르는 손님 수를 알면 그날 매출을 추측할 수 있겠죠.

 

  이렇게 두 변수 사이 연관성을 알아내는 통계방법을 회귀분석(Regression Analysis)이라고 합니다. 단어 Regression에는 후퇴, 퇴보라는 뜻이 있습니다. 유전학자 프랜시스 골턴은 키가 큰 부모가 자식을 낳더라도 자식의 키가 더 커지는 쪽이 아니라 평균으로 되돌아간다는이론을 만들었습니다. 훗날 다른 학자들이 골턴의 이론을 수학이론으로 재정비했지만 회귀라는 단어는 살아남았습니다.

 

  학생의 공부시간과 시험점수 사이 관계를 안다면, 공부하는 시간으로 다음 시험 점수를 예측할 수 있습니다. 예측하려는 변수는 시험 점수고 예측에 사용하는 변수는 공부시간입니다. 시험 점수처럼 예측하려는 변수를 종속변수(dependent variable, 설명변수), 공부 시간처럼 예측에 사용하는 변수는 독립변수(independent variable)라고 부릅니다.

 

  제일 간단한 회귀분석은 종속변수 하나와 독립변수 하나만 있고, 둘 사이 관계는 1차함수처럼 직선 관계인 회귀겠죠. 이렇게 분석하는 것을 단순선형회귀(Simple linear regression)라고 합니다. 독립변수가 여럿인 분석, 관계가 선형이 아니라고 가정한 분석, 심지어 종속변수가 스칼라가 아니라 벡터라고 가정한 분석 등 회귀분석은 가정이 여러 가지입니다. 여러 가정을 시험해 보면서 두 변수 사이 관계를 알아내는 것이 중요하겠죠. 세상 모든 관계가 선형은 아니니까 말입니다. 이번 시간에는 제일 쉬운 단순선형회귀분석으로 두 변수 사이 관계를 밝혀 봅시다.

 


단순선형회귀



 

 

  학생 열 명에게 하루 평균 공부하는 시간과 이번 기말고사 점수를 물어봤습니다. x축을 공부 시간, y축을 기말고사 점수로 하는 그래프를 그리면 다음과 같습니다.



 

  사람에 따라 다르겠지만 두 변수 사이 관계는 꽤 직선처럼 보입니다. 정말 직선이라고 봐도 좋은지 단순선형회귀를 통해 분석해 보죠. 세상은 그대로 인식하기에는 너무 복잡합니다. 그래서 모델링이 필요합니다. ‘현실은 아마 이러이러할 것이다라는 가정이죠. 회귀분석에서 만드는 모델을 회귀모형(Regression model)이라고 합니다. 단순선형회귀 모형은 종속변수는 독립변수의 1차함수 + 오차입니다.


단순선형회귀 모형


 

  우리가 구해야 할 베타값은 모수(parameter), 뒤에는 오차항이 있습니다. 뒤에 설명하겠지만 오차항은 기댓값이 0인 정규분포를 따른다고 가정합니다. , 압니다. 실제 오차는 정규분포가 아니겠죠. 하지만 이건 모델이지 실제가 아닙니다.

 

  정규분포의 기댓값은 0이므로 y의 기댓값을 구할 때 오차항의 기댓값도 0이 되어 사라집니다. β는 상수니까 기댓값도 똑같습니다. 결국 xy의 기댓값 사이를 나타내는 식이 나오죠. 이걸 회귀식(Regression equation)이라고 합니다.


회귀식



  이 회귀식은 모집단을 설명합니다. 우리는 표본을 조사해서 회귀분석을 하니까, 회귀식을 알 수 없습니다. 마치 표본평균만 알 수 있고 모집단 평균은 추정만 할 수 있는 것과 비슷합니다. 우리는 y의 기댓값, 베타들을 알 수는 없고 추정만 할 수 있습니다. 이렇게 표본으로 추정한 회귀식을 뭐라고 할까요? 추정한 회귀식이니 추정회귀식(Estimated regression equation)이라고 하겠죠?


추정회귀식


 

  표본평균이 모집단 평균의 점추정량인 것처럼 추정회귀식에서 구한 y값은 ‘y의 기댓값(=E(y))의 점추정량입니다. 실제 세계를 알 수 없으니 모델을 만들고, 모델을 그대로 구하는 대신 모델의 기댓값을 구하고, 그 기댓값마저 표본으로 추정해야 합니다. 헷갈리지 마셨기를 빕니다.



 

  주의 : 척 보기에 직선이어도 사실 직선이 아닐 수 있습니다. 우리가 보는 부분은 아주 완만한 곡선 일부분이거나 딱 그 부분만 기울기가 작은 곡선 일부분일 수 있습니다. 그래서 자료의 x 범위를 벗어나는 x가 만드는 y값을 추정할 때는 조심해야 합니다.




 

최소제곱법


 


 

  우리가 구할 것은 모델도 아니고 기댓값을 적용한 모집단 회귀식도 아니고 그 모집단 회귀식의 추정회귀식입니다. 직선 하나 긋기 참 힘듭니다. 그럼 직선을 어떻게 그어야 할까요?실제 관찰한 값과 제일 비슷하게 그어야 합니다.” 맞습니다. 그런데 비슷하다의 기준이 무엇일까요? 철수가 그은 선과 민수가 그은 선이 있으면, 둘 중 어느 선이 자료를 더 잘 반영할까요?



 

  추정회귀식을 구하는 방법은 여러 가지가 있습니다. 그중 하나를 생각해 보죠. y값에는 실제 관측한 y값과 직선에 해당하는 y값이 있습니다. 이 둘의 차이가 작을수록 좋겠죠. 그럼 관측값과 추정값의 차이가 제일 작게 되는 직선이 최고의 직선이라고 생각해도 나쁘지 않겠죠.

 

  관측값이 더 크면 차이는 양수고 추정값이 더 크면 차이는 음수입니다. 양수와 음수가 상쇄할 수도 있으니까 차이를 제곱해서 합합니다. 마치 분산을 구하면서 자료와 평균의 차를 제곱하는 것과 비슷하죠. 이렇게 구한 편차제곱합이 최소가 되는 직선이 생기도록 추정회귀식을 구하는 방법을 최소제곱법(Method of Least Squares, 최소자승법)이라고 합니다. 최소제곱법에 따른 직선의 두 숫자, y절편과 기울기는 이미 공식이 있습니다.





 






 

엑셀에서 추세선 긋기




  엑셀에서 두 변수로 분산형 그래프를 제작한 다음, 그래프를 클릭해 맨 위 [차트 도구] - [디자인]으로 들어갑니다.




  왼쪽 [차트 요소 추가]에서 [추세선] - [선형]을 선택합니다.




엑셀 추세선 식 표시하기





  [차트 요소 추가] - [추세선] - [기타 추세선 옵션]에 들어가거나 그래프에 있는 추세선을 선택해 오른쪽 마우스 - [추세선 서식]에 들어갑니다. '수식을 차트에 표시'를 누르면 추정회귀선 식이 표시됩니다.



 

 

적합성 검정, 결정계수




 

  직선을 긋는다고 끝은 아닙니다. 최소제곱법으로 그었으니 오차제곱합은 최소겠지만 그게 자료를 잘 반영하느냐는 다른 문제입니다. 이걸 알려면 두 가지를 물어야 합니다.

 

질문 1) 이 추정회귀식이 xy의 관계를 잘 설명하나?

질문 2) 아니, xy가 애초에 관계가 있긴 하나?


먼저 첫 번째 질문부터 답해 봅시다. 영희라는 학생의 예를 들어 보죠.

 




  영희는 어제까지 친구랑 노느라 추정회귀식을 구하지 못했습니다. 다른 학생들이 추정회귀식을 구하고, 추정회귀식을 바탕으로 학생의 공부 시간으로 시험 점수를 추정하는 사이 영희는 낑낑대기만 합니다.





  영희는 그러던 중 시험점수 평균이 50임을 알게 됩니다. 빙고! 영희는 공부 시간에 상관없이 모든 시험점수를 50으로 추정합니다. y를 죄다 평균으로 추정하면 아주 많이 틀리지는 않을 테니까요.

 

  추정회귀식을 구한 학생들은 영희보다 정확할 겁니다. 아니, 영희보다 정확해야 합니다. 그렇지 않으면 회귀분석을 하는 의미가 없지 않겠습니까. 추정회귀식을 구한 학생들이 보람을 느끼게 하기 위해서라도 그들이 영희보다 정확하다는 걸 보여야 하겠죠.

 

  영희가 낸 오류(관측값과 영희가 만든 추정값의 차이)는 영희와 학생들의 차이와 학생들의 오류(추정회귀식의 오류)로 구성됩니다.

 


영희의 오류

=

영희와 학생들의 차이 + 추정회귀식이 낸 오류



수학적으로 말해...

관측값과 평균의 차이

=

추정값과 평균의 차이 + 관측값과 추정값의 차이

 



  이 식의 양변을 제곱해 총합을 구합니다. 관측값과 평균의 차이 제곱합은 총제곱합(SST), 관측값과 추정값의 차이 오차제곱합(SSE), 추정값과 평균의 차이 제곱합은 회귀제곱합(SSR)이라고 부릅니다.


 

  관측자료가 변하지 않는 이상 자료의 평균은 일정하고, 자료의 평균만으로 추정하는 영희의 오류도 일정합니다.




  이때 학생들이 구한 추정회귀식이 정확할수록 추정회귀식이 낸 오류는 줄어들고 영희와 학생들의 차이는 늘어납니다. 영희 오류에서 영희와 학생들의 차이가 차지하는 비율을 생각해 봅시다. 이 비율은 추정회귀식이 정확할수록 1에 가까워집니다.




  이 비율, SSR/SST는 추정회귀식의 적합성을 판단하는 수치 중 하나로 결정계수(Coefficient of determination)라고 부르며 R^2으로 씁니다.

 

R^2가 있다면 R도 있겠죠? 결정계수의 제곱근은 표본상관계수, 두 변수 사이의 선형관계를 나타냅니다.

 

 

엑셀 그래프에 결정계수 표시하기




  [차트 요소 추가] - [추세선] - [기타 추세선 옵션]에 들어가거나 그래프에 있는 추세선을 선택해 오른쪽 마우스 - [추세선 서식]에 들어갑니다. 'R-제곱 값을 차트에 표시'를 누르면 결정계수가 표시됩니다.




  글이 길어졌습니다. 다음 시간에는 두 번째 질문, 두 변수가 통계적으로 유의미한 관계인지 유의성 검정을 해 보겠습니다. 그리고 공부 시간이 2.5시간인 학생의 시험 점수는 얼마일지도 추정하겠습니다.



반응형
  Comments,     Trackbacks
엑셀로 통계하기 20 - 모비율 비교와 독립성 검정
반응형



  통계 자료는 숫자만 있지 않습니다. 가끔은 단순히 예/아니오, 남자/여자처럼 수 대신 비율로 나타내는 자료도 있죠.

 

  이번 시간에는 모집단 비율을 비교합니다. 먼저 두 모집단 비율 차이를 구간추정/가설검정 합니다. 가설검정 이후 분산분석으로 여러 모집단 평균이 같은지 검정했듯 여러 모집단 비율의 동일성도 검정합니다. 모집단의 두 변수가 독립인지도 검정해 볼 텐데, 여러모로 모집단 비율 동일성과 비슷하니 생뚱맞지는 않을 겁니다.

 

 

모집단 비율 차이 구간추정




  두 회사 직원에게 박사학위가 있는지 물어보았습니다. 각 회사에서 100명을 뽑아 질문했습니다. 회사A100명 중 70, 회사B100명 중 60명이 박사학위 소지자로 드러났습니다. 두 회사 박사학위 소지 비율 차이에 대한 90% 신뢰구간은 어디일까요?

 

  모집단 평균 신뢰구간을 구하는 법. 생각나시나요? 표본평균에 오차범위를 빼고 더했죠. 오차범위는 신뢰수준에 맞는 z에 표본분포 표준편차를 곱했습니다.



 

  표본이 충분히 크다면 포본분포는 정규분포에 근사하죠. 그러니 모집단 비율 차이 신뢰구간도 이렇게 합시다. 표본평균 대신 두 표본비율 차이를 넣습니다. z는 표준정규분포에서 중앙 면적이 신뢰수준만큼을 차지하는 값입니다. 엑셀 NORM.S.INV 함수를 이용하면 z를 구할 수 있습니다.



z = NORM.S.INV(1-유의수준/2)

 

*신뢰수준별 z

90% - 1.645

95% - 1.960

99% - 2.576

 

  모집단 비율 차이의 표본분포 내 표준편차를 구하려면 모집단 비율을 알아야 합니다. 그런데 모르니까 구간추정을 하겠죠? 모집단 비율 대신 표본집단 비율을 넣습니다.



 

  박사학위 보유 차이에 대한 90% 신뢰구간을 구해 봅시다. 두 표본집단 비율과 표본 크기, 신뢰수준 90%에 맞는 z를 아니까 쉽게 구할 수 있습니다.


 

 

모집단 비율 차이 가설검정



 

  이번엔 두 회사 직원에게 파인애플 피자를 좋아하는지 물어보았습니다. 역시 회사마다 100명을 뽑아 질문합니다. 회사A100명 중 30, 회사B100명 중 40명이 파인애플 피자를 좋아했습니다. 두 회사가 파인애플 피자를 좋아하는 비율은 같을까요?(유의수준 0.05)

 

 

  두 모집단 평균 차이를 검정하는 법은 지난번에 다뤘습니다. 두 모집단 평균 차이가 같다, 즉 차이가 0이라는 귀무가설을 세우고 차이가 0이 아니라는 대립가설을 세웠습니다.




 

  모집단 비율 차이도 같은 식으로 시작합니다. 두 모집단 비율 차이가 0이라는 귀무가설과 0이 아니라는 대립가설을 세웁니다.

 

  이제 z를 구합니다. 문제는 표준편차인데요. 가설검정이 옳다면 두 표본비율과 모집단 비율은 같을 겁니다.



 

  그런데 모집단 비율을 알 수 없으니 표본비율로 대체해야 합니다. 어느 집단의 표본비율로 대체하라는 거죠? 두 표본집단 비율을 합친 값을 씁니다. 정확히 말하면 두 표본집단 비율의 가중평균입니다. 가중치는 표본 크기고요. 이걸 모집단 비율의 합동추정량(pooled estimation of p)라고 합니다.







 

  이제 나머지는 가설검정과 같습니다. z보다 중심에서 먼 양쪽 날개 면적이 p값입니다. p값이 유의수준보다 작으면 귀무가설을 기각합니다.

 

  엑셀에선 NORM.S.DIST 함수로 표준정규분포 꼬리 면적을 계산합니다.


p=NORM.S.DIST(Z, TRUE)

 

 

  과연 두 회사는 똑같은 비율로 파인애플 피자를 좋아할까요?






  귀무가설을 기각할 수는 없겠네요.

 

 





 

여러 모집단 비율의 동일성 검정 카이제곱 분포 이용



 

  이번엔 세 회사에서 100명을 추출해 이순신과 세종대왕 중 어느 위인을 존경하는지물어봤습니다. 과연 세 회사에서 이순신을 존경하는 비율은 전부 같을까요?(유의수준 0.05)

 

  모집단 평균 동일성을 검정할 때, 분산분석을 이용하기도 했습니다. 비교할 모집단이 셋 이상이면 분산분석은 매우 편리했죠. 이번에는 여러 모집단 비율의 동일성을 검정해보겠습니다. 이번 검정에는 카이제곱 분포가 필요합니다. 그냥 그런 분포가 있다고 알면 됩니다.

 

  분산분석처럼 이번에도 귀무가설/대립가설을 만듭니다. 귀무가설은 모든 모집단 비율이 같다는 것이고 대립가설은 하나 이상의 모집단 비율이 다르다는 겁니다.

 

  좋습니다. 이게 설문 결과입니다. 300명 중 이순신을 존경하는 회사원은 165명입니다. 비율로 계산하면 0.55네요. 귀무가설이 옳다면 세 회사에서 이순신을 좋아하는 비율은 전부 0.55일 겁니다. 그러니까 세 회사에서 100명씩 물어보면 이순신을 존경하는 사람이 55명 나왔을 거란 말이죠.

 

  이 값을 기대도수라고 부릅시다. 실제 설문에서 관찰한 값은 관측도수라고 하고요. 기대도수 공식은 다음과 같습니다. 가로합과 세로합을 생각하면 쉽습니다.






 

  이제 생각해 보세요. 귀무가설이 옳을수록 관측도수는 기대도수와 가깝습니다. 이걸 유념하며 카이제곱 검정통계량을 구합니다.

(모든 기대도수가 5 이상이어야 결과가 좋다고 합니다. 기대도수가 5 미만이라면 옆 범위와 합치라는군요.)



 

  검정통계량이라는 단어에 감이 오셨나요? 카이제곱 분포에서 이 카이제곱 검정통계량보다 큰 영역의 넓이가 바로 p값입니다. 카이제곱 분포는 자유도마다 모양이 다른데, 자유도는 k-1. 회사가 셋이니 자유도는 3-1=2입니다. 이제 p값이 유의수준보다 작으면 귀무가설을 기각하겠죠?



 

 대답이 셋 이상일 때

 

  위인을 다섯 명으로 정하고 설문조사 하면 어떻게 될까요?

 

  대답이 셋 이상이어도 기대도수와 카이제곱 검정통계량 구하는 방법은 같습니다다만 귀무가설은 모든 모집단에서 응답변수의 다항분포가 전부 같다.’가 됩니다대답이 둘이면 그냥 비율이 같다고 하면 되는데 가짓수가 늘어났으니 각 대답 비율이 모집단마다 같다.’고 해야 합니다.

 

  카이제곱분포 자유도는 (r-1)(k-1)입니다위인 다섯에 회사 셋이니 (5-1)(3-1)=8이 됩니다.




 

  엑셀에선 CHISQ.TEST 함수를 사용합니다. 첫 인수에는 관측도수 범위를 둘째 인수에는 기대도수 범위를 넣으면 자동으로 p값을 반환합니다.


=CHISQ.TEST(관측도수 범위, 기대도수 범위)



   세 회사가 똑같은 비율로 이순신을 존경하는지 CHISQ.TEST 함수를 써 보니 p값이 0.364가 나왔습니다. 귀무가설을 기각할 수 없겠네요.

 

 

모집단 비율 독립성 검정 카이제곱 분포 이용



 

  이제 회사원 100명에게 박사학위가 있는지탕수육, 피자, 돈가스 중 어느 음식을 제일 좋아하는지를 물었습니다. 과연 박사학위 유무는 좋아하는 음식과 관계가 있을까요?

 

  이렇게 독립성을 검정할 때도 카이제곱 분포를 이용합니다. 방법은 동일성 검정과 매우 비슷합니다. 똑같이 기대도수를 구하고, 카이제곱 검정통계량을 구합니다. 자유도가 (r-1)(c-1)인 카이제곱 분포에서 검정통계량보다 오른쪽에 있는 영역 넓이가 p값입니다. 귀무가설은 두 변수는 독립적이다.’고 대립가설은 두 변수는 독립적이지 않다.’입니다. p값이 유의수준보다 작으면 귀무가설을 기각합니다.

 

  이 회사원들의 박사학위와 음식 취향이 독립적인지 알아봅시다. 역시 엑셀 CHISQ.TEST 함수를 이용합시다. 기대도수를 구하고 카이제곱 검정통계량을 구했습니다. 카이제곱 분포에 넣어보니 p값이 0.8이네요. 이것도 기각할 수는 없겠네요.

 

반응형
  Comments,     Trackbacks
엑셀로 통계하기 19 - 분산분석 이원배치법
반응형



  지난 시간에는 여러 모집단 평균을 비교하는 분산분석을 수행했습니다. 인자가 하나인 일원배치법이었죠. 첨가제에 따른 제조 시간이 같은지 다른지를 판단했죠. 그런데 첨가제와 온도를 동시에 고려할 수는 없을까요? 예를 들어 첨가제 A80도 온도로 공정을 실행할 때와 첨가제 B90도 온도로 공정을 실행할 때 제조 시간이 같을까요?

 

  이렇게 인자 두 가지를 고려하는 방법은 이원배치법(Two way factorial design)이라고 합니다. 이원배치법은 반복이 없는 이원배치법과 반복이 있는 이원배치법으로 나뉩니다. 반복이 없는 이원배치법은 말 그대로 처리마다 결과가 하나입니다. 반복이 있는 이원배치법은 처리마다 여러 번 시험해서 결과도 여럿입니다. 반복이 없는 이원배치법부터 살펴봅시다.

 


반복이 없는 이원배치법


 지난 분산분석에서 자료값과 총평균의 차이를 분석한 것 생각나나요?


 

자료값과 총평균의 차이

= 처리가 달라서 생기는 차이 + 자료마다 개별로 생기는 차이

 




  공장으로 돌아가 봅시다. 첨가제와 온도를 다르게 하면서 제조시간을 쟀습니다. 첨가제는 세 종류, 온도는 두 종류가 있다고 가정합니다. 첨가제 B, 90도 자료를 보겠습니다. 이 자료와 모평균(자료 총 평균으로 모평균을 추정합니다)의 차이는 세 가지로 나눌 수 있습니다.

 

   자료값과 총평균의 차이

= 첨가제에서 생기는 차이 + 온도에서 생기는 차이 + 자료마다 개별로 생기는 차이

 

  첨가제에서 생기는 차이는 첨가제별 평균 - 총평균입니다. 온도가 달라서 생기는 차이는 온도별 평균 - 총평균입니다. 개별로 생기는 차이는 자료값에 각 인자별 평균을 빼고 총평균을 더한 값입니다. 식으로 쓰면 다음과 같습니다.




  (표본평균-총평균)의 제곱합을 처리제곱합이라 불렀습니다. 그런데 인자가 둘이라 표본평균도 첨가제별 평균, 온도별 평균으로 둘입니다. 따라서 처리제곱합도 두 가지입니다. 처리제곱합의 자유도는 각 인자수-1입니다. 첨가제 처리제곱합의 자유도는 3-1=2, 온도 처리제곱합의 자유도는 2-1=1가 되죠. 오차제곱합은 다행히 하나군요.











 

  처리제곱합을 자유도로 나눈 처리제곱평균은 두 가지, 오차제곱합을 자유도로 나눈 오차제곱평균은 한 가지입니다. 오차제곱합은 자유도가 조금 특이합니다. 각 인자 가짓수에서 1을 뺀 값의 곱이죠. 첨가제는 세 가지 온도는 두 가지니까 오차제곱합의 자유도는 (3-1)(2-1)= 2네요.



 

  처리제곱평균이 둘이니 처리제곱평균을 오차제곱평균으로 나눈 F비도 두 가지입니다. 귀무가설/대립가설 쌍도 두 가지고요.


  여러분은 원하는 인자를 골라서, 각 자유도에 맞는 F분포를 그린 뒤 F비 오른쪽 넓이(p)를 구한 후 유의수준과 비교하면 됩니다. F분포에 들어가는 자유도는 SSTR 자유도와 SSE 자유도로 일원배치법과 같습니다. p값이 유의수준보다 작으면 귀무가설은 기각되고, 그 인자별 모집단 평균은 다르다고 말할 수 있습니다.

 

 

반복이 있는 이원배치법

 

첨가제와 온도가 만나서 시너지를 낼 수도 있잖아요!’


  맞습니다. 첨가제 그 자체, 온도 그 자체가 내는 효과도 있겠지만 특정 첨가제와 온도가 만나서 내는 효과도 있을 수 있습니다. 어느 한 처리가 특별한 값인 건 첨가제나 온도 탓일 수도 있지만, 딱 그 첨가제와 딱 그 온도가 만나서 나오는 효과 탓일 수도 있죠.

 

  반복이 있는 이원배치법은 이렇게 두 인자가 만나서 내는 교호작용(Interaction)’을 확인할 수 있습니다. 반복이 있는 이원배치법은 말 그대로 이원배치법을 처리마다 여러 번 시험하는 것입니다. 첨가제A80도를 세 번 시험하고 첨가제A90도를 세 번 시험하고.



 

  이번 경우에는 처리마다 세 번 시헙했습니다. 이제 자료값과 총평균의 차이는 인자마다 있는 차이뿐 아니라 인자들이 만나서 생기는 차이도 한몫합니다.

 

   자료값과 총평균의 차이

= 첨가제가 달라서 생기는 차이 + 온도가 달라서 생기는 차이

+ 첨가제와 온도가 만드는 차이 + 자료마다 개별로 생기는 차이

 

  총제곱합 = 처리제곱합 세 가지와 오차제곱합



  세 가지 처리제곱평균이 생깁니다. 자연스레 F비도 세 가지고 귀무가설/대립가설도 세 가지가 나오겠죠.




 

 

엑셀 반복이 없는 이원배치법



 

[데이터] - [데이터 분석] - [분산 분석: 반복 없는 이원 배치법]을 선택합니다.

 



데이터 범위과 유의수준을 정합니다.

(‘이름표에 체크하면 인자 이름이 있는 셀도 선택할 수 있습니다.

인자 이름이 결과표에 떠서 결과를 알아보기 쉬우니 체크하는 편이 좋습니다.)

 


 

확인을 누르면 F비와 p값을 볼 수 있습니다.

(변동의 요인에서 인자 A()은 세로(여기서는 온도), 인자 B()은 가로(여기서는 첨가제)입니다.)

 


엑셀 반복이 있는 이원배치법




[데이터] - [데이터 분석] - [분산 분석: 반복 있는 이원 배치법]을 선택합니다.



 

데이터 범위, 표본당 행수, 유의수준을 정합니다.

(엑셀에서 반복 있는 이원배치법을 하려면 처리 별 자료를 세로로 나열해야 합니다. 이 행 수를 표본당 행수로 입력합니다. 가로로 쓴 데이터도 쓸 수 있으면 좋을 텐데요.)



 

확인을 누르면 각 인자와 교호작용에 따른 F비와 p값을 볼 수 있습니다.

반응형
  Comments,     Trackbacks
엑셀로 통계하기 17 - 분산분석(1)
반응형




시작하기 전에



  이제 여러분은 표본평균을 바탕으로 두 모집단의 평균을 비교할 수 있습니다. 그런데 모집단이 여럿이면 어떡하죠?

 


시작!

 

  지난 시간엔 평균을 비교했습니다. 두 표본집단 자료로 두 모집단의 평균이 같은지 다른지를 귀무가설과 대립가설을 세워 대조했습니다.

 

  그런데 모집단이 여럿이라면 어떡할까요? 이전에 배운 평균비교는 두 모집단만 비교할 수 있습니다. ‘모집단 1의 평균=모집단 2의 평균, 모집단 2의 평균=모집단 3의 평균.’처럼 귀무가설을 여러 가지 세워서 동시에 만족하나 살피려면 너무 복잡하고 번거롭습니다.

 

  분산분석(ANOVA, ANalysis Of VAriance)은 여러 모집단의 모평균이 같은지를 한 번에 비교할 수 있는 기술입니다. 영국의 학자 로날드 피셔가 개발한 분산분석은 여러 제약조건이 있기는 하지만 여러 모집단 평균을 동시에 비교할 수 있는 강력한 기술입니다.

 


분산분석 조건


  분산분석을 시작하기에 앞서, 분산분석에 필요한 가정 세 가지를 알아봅시다.

 

첫째, 모집단은 전부 정규분포를 따른다.

둘째, 모집단의 분산은 전부 같다.

셋째, 표본은 무작위로 추출하고 모집단마다 표본은 독립적이다.

 

  첫째 조건이야 표본 크기가 크면 어떻게든 무마한다고 칩시다. 셋째 조건도 지키기 쉽습니다. 둘째 조건은 조금 까다로운데, 여러 모집단의 분산이 전부 같아야 하기 때문입니다. 여러분이 공정을 비교해 제일 빠른 공정을 찾고 싶은 공장장이라면, 공정을 제외한 요소들은 전부 같게 맞춰서 모집단마다 분산이 같도록 애써야 할 것입니다.

 


분산분석 용어




  여러분은 제일 빠른 공정을 찾고 싶은 공장장입니다. 여러분은 온도와 첨가제를 달리하면서 제일 빠른 공정을 찾아낼 겁니다. 온도는 100도와 200도로 조절하고 첨가제는 A, B, C 세 종류가 있습니다. 그럼 온도 두 가지와 첨가제 세 가지로 여섯 가지 조합이 나옵니다.

 

  여기서 온도와 첨가제는 인자Factor이며 인자는 분산분석에서 제어 가능한 독립변수입니다. 100, 200도 같은 선택지는 수준Level입니다. ‘100도와 첨가제 A’, ‘200도와 첨가제 B’같은 조합은 처리Treatment라고 부릅니다. 이렇게 여러 처리에 따른 공정 시간은 반응 변수Response Variable이라고 부릅니다.

 

공장장인 여러분에게

  인자는 온도와 첨가제가

  온도엔 두 가지 수준, 첨가제엔 세 가지 수준이

  이번 분산분석에는 여섯 가지 처리가 있으며

  공정에 걸리는 시간이 반응변수입니다.

 

 

분산분석을 시작하자





 

  지금은 첨가제 A, B, C만 생각합시다. 세 첨가제를 넣어 각각 다섯 번 측정했습니다. 15가지 자료가 있겠네요. 세 표본을 보고 세 모집단 평균이 같은지 다른지 알아보고 싶습니다. 먼저 세 모집단 평균이 전부 같다는 귀무가설을 세워 보죠.




 

  아무 값이나 골라 봅시다. 이 값은 모집단 평균과 다를 겁니다. 왜 다를까요? 두 가지 이유를 생각할 수 있습니다.

 

첫째, 이 값이 속한 처리(첨가제 B) 때문에.

둘째, 같은 처리 속에서도 값이 조금씩 다르므로.

 

  즉 이 값과 모집단 평균의 차는 첨가제가 달라서 오는 차이와 그냥 이 값 자체가 달라서 오는 차이로 나눌 수 있습니다. 첨가제가 달라서 오는 차이는 첨가제마다 있는 표본평균과 총평균의 차이로 표현합시다. 이 값 자체가 달라서 오는 차이는 자료값과 표본평균의 차이로 표현합시다. 모집단 평균은 일단 15가지 자료의 총평균으로 추측하고요. 이 내용을 수학적으로 근사하게 쓰면 다음과 같을 겁니다.



 

이제 이걸 제곱해서 모든 값에 합합니다.



 

(자료와 평균의 차이는 합하면 0이라서 마지막 항은 사라집니다.)

 




  자료와 총평균 차이의 제곱합은 총제곱합(Total Sum of Squares, TTS/SST), 표본평균과 총평균 차이의 제곱합은 처리제곱합(Sum of Squares for TReatments, SSTR), 자료값과 표본평균 차이의 제곱합은 오차제곱합(Error Sum of Squares, ESS/SSE)이라고 부릅니다.






  처리제곱합의 자유도는 표본집단 수 1, 오차제곱합의 자유도는 총 자료 수 –표본집단 수입니다. 갑자기 웬 자유도냐 싶겠지만 분산분석을 하려면 필요합니다. 이번 경우에는 처리제곱합의 자유도는 3(첨가제 가짓수)-1=2, 오차제곱합의 자유도는 15(총 자료 수)-3=12입니다.


 


  처리제곱합을 자유도로 나누고 오차제곱합도 자유도로 나눕니다. 이 값은 각각 처리제곱평균(TReatment Mean Square, MSTR), 오차제곱평균(Error Mean Square, MSE)라고 합니다. 자유도는 좀 있다 또 필요합니다.

 




 

거의 다 왔다. 힘내자!

 

  분산분석을 끝마치려면 F분포가 필요합니다. 그냥 그런 분포가 있다고 알면 됩니다. F분포는 자유도에 따라 모양이 다릅니다. 스튜던트 t 분포랑 비슷하죠. F분포는 그런데 자유도가 둘 필요합니다. 맞습니다. 아까 구한 두 자유도를 F분포에 넣어야 합니다.




  그리고 처리제곱평균을 오차제곱평균으로 나눕니다. 이 값은 귀무가설이 틀릴수록 커집니다. 슬슬 감이 오지 않습니까? F분포에서 이 나눈 값보다 큰 영역이 바로 분산분석의 p값입니다. 귀무가설이 틀릴수록 처리제곱평균/오차제곱평균은 커지고, F분포에서 이 값보다 큰 영역은 줄어듭니다. p값이 작아집니다. p값이 유의수준보다 작으면 귀무가설을 기각하는 건 상식이겠죠?

 


엑셀에서 분산분석 하기



 

  엑셀 데이터 분석 메뉴에는 분산분석: 일원 배치법이 있습니다.




  입력 범위, 데이터 방향, 유의수준을 입력하고 확인을 누릅니다.



 

 

그럼 인자가 둘일 땐?


  이번 시간에는 인자가 하나일 때를 놓고 분산분석을 했습니다. 첨가제 하나만 보았죠. 그런데 첨가제뿐 아니라 온도에 따라서도 모집단 평균이 같은지 알고 싶으면 어떻게 할까요? 지금까지는 인자가 하나인 일원 배치법 One way factorial design’을 배웠다면, 다음 시간에는 인자가 둘인 이원 배치법 Two way factorial design’ 분산분석을 알아봅시다.

반응형
  Comments,     Trackbacks
엑셀로 통계하기 16 - 평균비교
반응형




시작하기 전에...




  두 공장이 있습니다. 공장 A와 공장 B는 같은 제품을 생산하지만 공정은 다릅니다. 두 공장 중 어느 공장이 더 빨리 생산하는지 알고 싶습니다. 어떻게 해야 할까요?



시작!

 

  지난 시간에는 귀무가설과 대립가설을 세운 뒤, 그 귀무가설을 기각할 수 있는지 알아냈습니다. 표본평균이 어느 값 이상인지/이하인지/같은지 가설을 세운 다음, 모집단 표준편차를 알 때와 모를 때로 나누고, 귀무가설에 맞는 p을 구해 유의수준과 비교해서, p값이 유의수준보다 작으면 귀무가설을 기각했습니다.

 

  이번 평균비교는 방법 자체는 p값 방법과 거의 같습니다. 모집단 표준편차를 알 때 모를 때를 나눈다거나, p값을 구한다거나 하는 과정은 같습니다. 다만 두 모집단의 평균이 같은지 다른지 알아내는 과정인 만큼 모집단의 표준편차가 둘인 점 등이 다릅니다.

 


평균 비교하기


  우리는 두 모집단의 평균이 같은지 알고 싶습니다. 각 모집단에서 표본을 추출해서 자료를 조사했습니다. 모집단 1의 표본평균, 모집단 2의 표본평균을 구합니다.




 

  지난 시간 귀무가설은 모집단 평균이 ~ 이하다/이상이다/~였습니다. 이번에도 이런 방식을 사용합시다. 두 모집단 평균이 같다면, 두 모집단 평균을 뺀 값은 0입니다. 따라서 귀무가설은 두 모집단 평균의 차이는 0이다이고 대립가설은 두 모집단 평균의 차이는 0이 아니다 입니다.

 

  지난 시간에는 표본평균의 표본분포를 만들었습니다. 표본분포는 기댓값이 귀무가설에 나온 그 값이고 표본분포의 분산은 모집단 분산에서 표본 크기를 나눈 값인 정규분포였습니다. 이번엔 두 표본평균 차이의 표본분포를 만듭니다. 역시 정규분포입니다. 기댓값은 0입니다. 그런데 분산(표준편차)는 어떻게 구할까요? 두 모집단의 분산이 다르고, 심지어 두 표본의 크기도 다를 텐데요.




 

  표본평균 차이의 표본분포 표준편차 공식은 이렇습니다. 이제 표본평균 차이의 표본분포를 알 수 있습니다.



 

  그럼 나머지는 귀무가설 검정과 같습니다. 표본평균 대신에 표본평균 차이로 z값을 구할 뿐이죠. z값이 3이라면, p값은 표본평균 차이 표본분포에서 3이하/3이상인 영역 넓이입니다. 이 넓이가 유의수준보다 작다면 귀무가설을 기각할 수 있고 따라서 두 모집단의 평균이 다르다는 결론을 내릴 수 있습니다.

 

요약) 두 모집단 평균비교(모집단 표준편차를 알 때)

1) 표본평균 차이로 귀무가설/대립가설을 세운다

2) 표본평균 차이의 분포(정규분포)를 만든다

3) 표본평균 차이에서 z값과 p값을 구한다.

4) p값과 유의수준을 비교한다.

 


모집단 표준편차를 모를 때

 

  그럼 두 모집단의 표준편차를 모를 때는 어떻게 할까요? 가설 검정에서는 표본의 표준편차를 모집단 표준편차로 추정하고, 정규분포 대신 스튜던트 t분포를 사용했습니다. t분포의 자유도는 표본 크기-1이었죠.

 

  평균비교도 두 모집단 표준편차 대신 표본 표준편차를 사용합니다. 자유도는 어떡하냐고요? 자유도 공식은 다음과 같습니다.




 

나머지 방법은 같습니다.

 

요약) 두 모집단 평균비교(모집단 표준편차를 모를 때)

1) 표본평균 차이로 귀무가설/대립가설을 세운다

2) 표본평균 차이와 표준편차로 분포(정규분포)를 만든다

3) z값을 구하고 스튜던트 t분포에 맞는 p값을 구한다

4) p값과 유의수준을 비교한다

 





엑셀에서 평균 비교하기(모집단 표준편차를 알 때)



1) 엑셀 [데이터] - [데이터 분석]에 들어갑니다.

(없다면 [파일] - [옵션] - [추가 기능]에서 추가합니다)




2) 'z-검정 : 평균에 대한 두집단'을 선택합니다.





3) 변수 범위, 가설 평균차(여기서는 0), 두 모집단의 분산('분산-기지값', 기지旣知는 이미 안다는 뜻), 유의수준을 입력하고 '확인'을 누릅니다.



엑셀에서 평균 비교하기(모집단 표준편차를 모를 때)

 


1) 엑셀 [데이터] - [데이터 분석]에 들어갑니다.

(없다면 [파일] - [옵션] - [추가 기능]에서 추가합니다)


 


2) ‘t-검정: 이분산 가정 두집단을 선택합니다.




3) 변수 범위, 가설 평균치(0), 유의수준을 선택하고 확인을 누릅니다.

 

반응형
  Comments,     Trackbacks
엑셀로 통계하기 외전 - 어느 모바일 게임
반응형






  철수는 지난주에 나온 모바일 게임 차일드 오브 데스티니의 광팬입니다. 여타 모바일 게임처럼 차일드 오브 데스티니도 가챠 시스템으로 아이템을 얻습니다. 가챠가챠(일본어로 철컥철컥)에서 유래한 가챠는, 쉽게 말해 뽑기입니다. 아이템을 얻으려면 일정 금액을 내고 아이템을 추첨합니다. 귀한 아이템일수록 추첨하는 데 돈도 많이 들어가고, 확률도 적습니다.

 

  오늘 철수는 풀이 죽었습니다. 정말 가지고 싶은 아이템이 있었는데, 용돈을 전부 쏟아부어도 나오지 않았기 때문입니다. 게임 개발사는 아이템이 나올 확률이 1.44%라고 말했고 철수는 100번을 시도했지만 당첨하지 못했습니다. 확률 1.44%100번 시도하면, 기댓값이 1.44인데 말이죠.

 

운이 없던 거야.’

 

  철수도 기본교육을 받아서 기댓값을 무턱대고 믿진 않습니다. 기댓값이 1을 넘더라도 재수가 없으면 안 나오니까요. 철수는 다른 사람은 어떤지 보려고 인터넷에 들어갔습니다.

 

  그런데 웬걸. 생각보다 아이템을 얻은 사람이 너무 적었습니다. 여기저기서 의견을 종합해 보니, 총 시도는 5000. 그중 아이템은 42번 나왔습니다. 5000번 중 42번은 0.84%. 아무리 게이머들이 재수가 없다지만 1.44% 확률에서 0.84%가 나올 수 있을까요?

 

 

모비율 가설 검정

 

  데이터는 강수량, 월급처럼 숫자로 나오기도 하지만 /아니오처럼 둘 중 하나로 갈리기도 합니다. 예를 들어 대학생들에게 성별을 물을 수 있겠죠.


 

  대학생들이 너무 많아서 전부 묻지 못한다면, 일부만 뽑아서 물을 수밖에 없습니다. 대학생 100명을 뽑아서 표본을 만들어 성별을 묻습니다. 남학생이 56, 여학생이 44명으로 나왔습니다. 그러나 대학생 전부가 56 44일까요?

 

  지난 시간에 우리는 표본평균의 표본분포로 가설을 검정했습니다. 귀무가설과 대립가설을 세워 모평균이 어떤 값 이상이다/아니다’, ‘이하다/아니다라 가정하고 표본평균과 표준편차(모집단이든 표본이든)p값을 구했습니다. p값이 유의수준보다 작으면 그 귀무가설을 기각했고 크면 귀무가설을 기각할 수 없었습니다(2종 오류 때문).

 

  이제 모비율 p를 검정해서 철수의 호기심을 만족해 줍시다.





 

  일단 차일드 오브 데스티니에서 아이템을 뽑는, 이른바 가챠시행은 베르누이 시행이라고 가정합니다. 가챠의 결과는 성공과 실패 단 두 가지고, 성공률은 불변이며, 모든 가챠 시행은 독립이라고 합시다.

 

  게임 개발사가 공지한 아이템 확률은 1.44%(0.0144)입니다. 철수는 표본 5000가지를 모았고 그중 42번이 성공했습니다. 표본비율은 0.0084가 됩니다. 철수는 모비율에 대한 귀무가설과 대립가설을 세웠습니다.

 

귀무가설 : 모비율은 1.44% 이상이다.

대립가설 : 모비율은 1.44% 미만이다.

 

  철수는 유의수준을 0.01로 잡았습니다. 표본비율이 1.44% 미만이므로, p값만 유의수준보다 낮다면 귀무가설을 기각할 수 있게 됩니다.

 

  모평균을 검정할 때는 정규분포(모표준편차를 알 때)t분포(모표준편차를 모를 때)를 썼습니다. 모집단이 정규분포를 따르면 표본평균의 표본분포는 정규분포를 따릅니다. 모집단이 정규분포를 따르지 않더라도, 중심극한정리에 따라 표본평균의 표본분포는 표본 크기가 크다면 정규분포를 따릅니다.


  이항분포는 어떨까요? 이항분포에서 표본이 어느 정도 크다면 표본비율의 표본분포는 정규분포에 근사합니다. ‘어느 정도는 사람마다 다르지만, 이번 게시물에서는 이 기준을 사용합니다.

 

np5이고 n(1-p)5일 때.

(n : 표본 크기, p : 성공률)

 

  표본 크기는 5000, (개발사가 주장하는) 성공률은 0.0144이므로 두 식을 전부 만족합니다. 따라서 표본비율의 표본분포는 정규분포에 근사합니다. 이 분포의 중심은 0.0144, 표준편차는 공식에 따라 0.001685입니다.

 

  일단 우리는 모집단 표준편차를 모릅니다. 따라서 t분포를 사용할 겁니다. 여기에 들어갈 변환값은 (0.0084-0.0144)/0.001685 = 3.56입니다. 이제 자유도가 n-1=4999t분포에서 3.56보다 작을 확률, p값을 구하면 끝입니다.



 

  엑셀 계산 결과 p값은 약 0.000186. p값이 유의수준 0.01보다 작으므로 모비율이 0.0144 이상이라는 귀무가설을 기각하겠습니다.

 

 


뒷이야기


  이 검정은 어느 정도 실화 기반입니다. 이름을 말할 수 없는 모 게임이 확률을 조작했다는 논란에 휩싸였죠. 개발사가 공지한 확률은 1.44%였지만 5000번이 넘는 시행에서 고작 42번 아이템이 나온 것입니다.

 

  물론 이 게시물과 실제 사례는 다릅니다. 게임 속 가챠는 베르누이 시행이 아니었습니다. 시행이 완전히 독립적이지 않았거든요. 게다가 이항분포는 정규분포와 다릅니다. 표본이 아주 커서 분포를 정규분포에 근사해서 계산했지만, 실제 이항분포를 바탕으로 계산하면 계산 결과가 다를 겁니다.




 

 

반응형
  Comments,     Trackbacks