HOME > 사용자 제공 자료 > 통계로 세상보기

'무지개타고'님의 통계강좌

- 최초 작성일 : 2008-11-17
- 최종 수정일 : 2008-11-17

- 강좌 읽음수 : 7,251회
- 자료 작성자 : 무지개타고 (조석현님)

- 자료 편집자 :

강좌 제목 : 통계로 세상보기 - (93) 모의실험

 

'무지개 타고'님의 통계 강좌를 시작한 지도 1년이 넘었군요. 우리 주변의 친숙한 주제를 통계와 접목하여 좋은 강의를 하고 계시는 무지개 타고(조석현)님께 다시 한번 감사드립니다. '통계로 세상보기' 블로그에 들르셔서 감사의 인사를 남기는 센스를 발휘하셔도 좋겠지요? ^^

통계로 세상보기 블로그


예제 파일 내려받기


복습이다. 저장된 기억을 인출해보자. 가끔 인출에 실패할 수 있으나 걱정할건 없다. 다시 저장하면 된다. 먼저 정규분포를 따르는 난수를 생성하고자 하는데, 평균과 분산은 임의로 지정한다.

21

이렇게 해서 각각의 집단은 두 변수 X₁, X₂로 구성된 집단이 된다. 모수를 임의로 정했으니 이제 난수를 생성한다.

22

B9 셀:
=NORMINV(RAND(),B$4,B$5)

Rand 함수보다 RandBetween 함수가 좀더 적절해 보이는데 쉽게쉽게 가련다. 난수를 생성한 후 '복사-값 붙여넣기'를 한다. 이를 값으로 고정시키지 않는다면... 엑셀은 난수 생성만 열심히 할거다. 이렇게 생성된 자료는 아래와 같은 평균과 분산을 가진다.

23

표본크기: = Count(범위)
평균: = Average(범위)
분산: = Var(범위)
표준편차: =Sqrt(분산)
공분산행렬: =CoVar(범위1,범위2)

그리고 이렇게 생성된 자료를 그래프로 나타내면,

24

그런데 이 그림은 사실 잘못된 그림이다. 원래는 입체적으로 나타내야 하는데 방법을 몰라 대충 그렸으니 그냥 참고만 하시길 바란다(그리고 별로 알고 싶지도 않다. 그래프와는 안 친하다).

이렇게 생성된 난수를 가지고 판별분석을 해보자. 일전에는 변수 한 개로 구성된 집단이었다면, 이번엔 변수 두 개로 구성된 집단의 판별이다(여기선 간편(?) 계산 방법 정도로만 다룬다). 앞서 정규분포를 따르는 난수를 생성했는데, 정규분포를 따르는지를 우선 살펴봐야 한다. 판별분석의 가정 중 하나가, 이용되는 변수가 정규분포를 따른다고 가정하고 있기에 확인해 보는 것이다.

그런데 만약 정규분포가 아닌 다른 분포를 따른다면 어찌해야 하나? 다른 분포를 따른다면 그 분포에 맞는 분석 이론을 알아야 하는데... 물론 지금은 예전보다 더 세련되어지고 발전하여 판별력도 높아졌겠지만, 개구멍으로 빠져나올 때 다 반납하고 나왔다. 정규분포가 아닌 다른 분포를 이용한 판별분석이 있긴 있나...(대부분의 통계 분석에서 빠지지 않는 가정은 '정규분포를 따른다' 이다.)

그렇다 해도 가정을 만족하는지 대충이라도 살펴는 봐야겠다. 원래는 정규성 검정을 이용해 검토해야 하는데 이 또한 대충 넘어간다.

25

변수 각각에 대해 도수분포표를 구해 히스토그램으로 나타낸 결과, 정규분포와 비슷해 보이긴 하는데... 역시 난수를 더 많이 생산할걸 그랬나 보다. 이쯤에서 마하라노비스 거리라는게 하나 튀어 나온다. 대충 표준화 정도로 생각하면 된다.

26

H9 셀:
=N(SQRT(MMULT(MMULT(($B9:$C9-$B$66:$C$66),MINVERSE($B$70:$C$71)),TRANSPOSE($B9:$C9-$B$66:$C$66)))<SQRT(MMULT(MMULT(($B9:$C9-$F$66:$G$66),MINVERSE($F$70:$G$71)),TRANSPOSE($B9:$C9-$F$66:$G$66))))

I9 셀:
=N(SQRT(MMULT(MMULT(($F9:$G9-$B$66:$C$66),MINVERSE($B$70:$C$71)),TRANSPOSE($F9:$G9-$B$66:$C$66)))<SQRT(MMULT(MMULT(($F9:$G9-$F$66:$G$66),MINVERSE($F$70:$G$71)),TRANSPOSE($F9:$G9-$F$66:$G$66))))

배열수식이므로 Ctrl+Shift+Enter를 동시에 눌러야 한다. 이론대로 한다면 공분산행렬의 동일여부를 검증한 후 공통행렬을 구해야 하지만 여기선 대충 건너뛰었다(오늘 '대충' 무지 많이 나온다. 판별분석에 대한 자세한 내용은 별도 확인 바람).

위에 보여지는 '판별'은 기존 주어진 자료를 이용해 해당 자료를 판별한 것이다. 즉 H열은 주여진 '집단 가'의 자료를 검토하는데, 그 결과가 '1'이 나오면 '집단 나' 보다 '집단 가'에 더 가깝다는 것이고, '0'이 나오면 '집단 가' 보다 '집단 나'에 더 가깝다는 것이다.

이와 반대로 i 열은 '집단 나'의 자료를 검토하는데, '0'이 나오면 '집단 가' 보다 '집단 나'에 더 가깝다는 것이고, '1'이 나오면 '집단 나' 보다 '집단 가'에 더 가깝다는 것이다. 이 결과, 이미 알려진 집단일지라도 판결분석에서는 다르게 나올 수 있다.

30

K3 셀:
=COUNTIF(OFFSET($H$9:$H$58,0,ROW($A1)-1),2-COLUMN(A$1))

그리고 두 집단이 근접할수록 잘못 판별할 가능성은 높아진다. 이는 당연한거다. 두 집단이 근접한다면 집단간 차이는 줄어든다는 것이고, 차이가 줄어든다는 것은 두 집단이 동일한 집단의 일부라는 반증이 된다. 그리고 이는 변수 선별에 따라 영향을 받을 수 있다. 그래서 변수를 잘 선별해야한다.

맨 위에 난수를 생성하는데 제시한 모수를 조절해가며 난수를 생성해 보자. 집단간 모수의 차이가 확연할 때 또는 두루뭉실 할 때의 판별결과를 살펴보면 도움이 된다. 이쯤에서 앞에 (잘못된) 그림에 판별선(?)을 삽입해 본다. 선을 그리기 위해선 두 개의 좌표가 필요하니 우선 좌표부터 만들어야 한다.

27

Q4 셀:
=PERCENTILE(($B$9:$B$58,$F$9:$F$58),CHOOSE(ROW(A1),0.1,0.9))

S4 셀(배열수식):
=ABS(SQRT(MMULT(MMULT(($Q4:$R4-$B$66:$C$66),MINVERSE($B$70:$C$71)),TRANSPOSE($Q4:$R4-$B$66:$C$66)))-SQRT(MMULT(MMULT(($Q4:$R4-$F$66:$G$66),MINVERSE($F$70:$G$71)),TRANSPOSE($Q4:$R4-$F$66:$G$66))))

원래는 판별함수를 구한 후 마하라노비스 거리를 계산해야 하나 계산이 조금 복잡해서 역으로 추정하기 위해 엑셀의 '해 찾기' 기능을 이용하였다.

28

이렇게 R4, R5 셀 값은 각각 역계산하여 얻은 값이다. 그리고 좌료를 그래프에 삽입한다.

29

그럴듯한가? 판별선 좌측 아래는 '집단 가'로 판별하고, 우측 위는 '집단 나'로 판별하는 것이다. 다시 말하지만 위 그림은 입체를 평면에 나타내는 한계 때문에 정확한 정보는 아니다.


Previous

Next

Copyright ⓒ Since 2008 아이엑셀러 닷컴. All rights reserved.

이 페이지의 저작권은 컨텐츠 제공자에게 있습니다.

본 강좌의 내용은 필자 개인의 견해이며, 아이엑셀러 닷컴의 공식 견해와 일치하지 않을 수도 있습니다.