교차분석,카이제곱/이론

변수의 종류, 독립, 오즈비, 로직스틱과 관계

학위논문통계 2013. 3. 9. 01:47

오늘은 방문하신 분이 많네요. 혹시 대선 결과 의혹때문인가요? 저로선은 별 의혹이 없다고 보고요, 통계학으로서도 알 수 없습니다. 이것 때문에 오셨다면 밑의 글을 읽을 필요가 없습니다.

 

본격적인 논의를 하기 전에 간단하게 언급할 사항을 적어 보면요

 

1. 변수의 종류

 

흔히 통계학에서는 변수의 종류를 이산형과 연속형 변수로 나눕니다. 그러나 데이터 분석의 경우 흔히들 명목형, 순위(순서)형, 구간형, 비율형으로 많이 나눕니다. 여기에서 명목형과 순위형을 합쳐 범주형이라고도 하고요.

 

연속형은 변수가 이론상 어떠한 값이라도 가질 수 있는 경우입니다. 수학에서 complete 성질이라고 하나요?. 공부한지 오래 되어서요. 예를 들어 실수의 경우 여러분이 생각할 수 있는 최대한 가까이 붙어 있는 두 수 a, b를 생각해보죠. 그러나 새로운 수 c를 c=(a+b)/2 라고 정의하면 c라는 새로운 값은 a와 b 사이에 있게 됩니다. 그래서 실수는 우리가 아무리 노력해도 완벽하게 메꾸지 못합니다.

 

연속형 변수는 기본적으로 이런 수의 성격을 가지고 있는 변수입니다. 키와 몸무게, 온도 이런 것이 되겠지요. 여기서 키와 몸무게의 경우 값이 2배이면 물리적으로나 감각적으로도 2배가 됩니다. 그러나 온도는 그렇지 않습니다. 50도와 100도를 비교하면 100도가 50도보다 두 배 뜨겁다고 이야기 할 수는 없지요. 키와 몸무게 같이 물리적 비례에 맞춰 값도 비례적으로 올라가면 비율형이라고 하고 그렇지 않으면 구간형이라고 하는데 일반적인 통계 분석인 경우 구태여 구별할 필요는 없다고 봅니다.

 

범주형은 변수가 취할 수 있는 값의 개수가 유한개일 경우입니다. 성별, 학력 같은 것이 있고, 연령도 객관식으로 물어보면 범주형 변수로 만들 수 있습니다. 명목형은 변수의 값 사이에 크기나 순위의 개념이 없는 경우입니다. 예를 들면 티비 프로그램의 종류라든지, 아니면 직업, 또는 인종 이런 변수들이 되겠지요. 한편 순위형은 학력, 연령, 직위 이런 것들이 될 수가 있고요.

 

특이하게 이진변수, 즉 두 개의 값만 갖는 성별, 어떤 것의 유무나 여부, 이런 변수들은 순위형으로 생각하여 해석해도 괜찮습니다. 한편 Likert 척도의 경우 변수가 취하는 값이 유한하지만 연속형으로 보고 분석합니다. Likert 5점 척도의 경우 1,2,3,4,5의 값을 갔습니다. 그러나 현실적으로는 여러개의 값을 갔습니다. 예를 들어 스트레스의 경우 스트레스 정도를 측정하기 하기 위해 1개 문항으로 노골적으로 물어보지 않고 구체적인 스트레스 상황을 물어 보는 여러개의 문항을 물어봅니다. 그런 다음 평균을 냅니다. 만약 5개 문항으로 스트레스 정도를 물어봤다면 실제 각 개인의 스트레스 정도는 5/5, 6/5, 7/5,..., 25/5 등 21개의 값을 가집니다.

 

Likert 척도의 경우 흔히들 언론 보도나 회사내 보고서의 경우 범주형 자료로 보고 빈도분석이나 교차분석을 하는데 학술적으로는 평균과 표준편차, t나 분산분석의 F 검증을 하는 것이 낫습니다.

 

데이터 코딩 시 명목형 변수도 1, 2, 3.. 등 값을 가집니다. 그렇다고 해서 크기 개념이 있는 것이 아닙니다. 티비 프로그램 종류나 인종간의 우열이 있을 수 없지요. 이와 같이 명목형의 경우는 순위 개념이나 크기 개념이 없기 때문에 상관이나 연관 같은 개념을 사용할 수 없습니다. 상관이나 연관은 어느 한쪽 변수 값이 올라갈 때 다른 한쪽 변수 값이 올라간다, 내려간다 이런 개념인데 명목형 변수는 이런 크기나 순위의 개념이 없다는 것이죠.

 

그렇지만 명목형 변수라고 해도 분석시 주위해야 할 것이 있습니다. 예를 들어 미국에서 인종과 소득간의 관계를 보고 싶다는 것이죠. 인종은 명목형이기 때문에 소득과 상관이나 연관이라는 말을 쓸 수가 없지만 현실에서는 분명이 존재하는 것이거든요. 그래서 이럴 경우 인종의 코딩을 잘 해야 합니다. 즉 라틴계=1, 흑인계=2, 아시아계=3, 백인계=4 이렇게 코딩하면 아마 소득과 상관성이 제법 있는 것으로 나올 것입니다. 그러나 흑인계=1, 백인계=2, 흑인계=3, 라틴계=4 이렇게 코딩하면 소득과 상관관계를 보면 매우 약하거나 상관관계가 없다고 나올 가능성이 많습니다.

 

그래서 항상 교과서적으로 하시지 말고 자신에게 주어진 최대한 지식을 살려서 분석하는 것이 좋습니다.

 

하여간 범주형의 변수인 경우 흔히 상관관계라 이야기 하지 않고 연관성(association)이라는 말을 많이 사용합니다. 왜냐하면 상관관계는 직선관계인데 앞에서 이야기한 것처럼 이게 일정한 비율을 가진 척도가 아니기 때문입니다. 예를 들어 학력에서 초등졸=1, 중졸=2, 고졸=3, 대졸=4, 대학원 이상=5라고 했을 경우 중졸이 초등졸보다 학력이 2배라고 이야기 할 수 없거든요. 엄밀하게 말해서 그렇다는 것이죠. 이런 이유로 범주형 자료 분석에서는 상관관계라는 말을 잘 안씁니다.

 

그러나 기본 분석에서 범주형 변수도 집어 넣어 상관분석을 해도 괜찮습니다. 이건 엄밀하게 상관분석을 하는게 목적이 아니고 변수간의 관계를 알 수 있는 가장 쉽고 빠른 분석이거든요. 여기서 상식적인 관계와 다르게 나오면 먼저 잘못되었다고 보고 코딩이나 데이터 변형과정을 다시 한변 살펴 보아야 합니다.

 

2. 앞의 교차분석에서 원 데이터는 없고 분할표로 정리된 데이터만 있을 경우 X2 값과 p 값을 어떻게 구할가요? 먼저 새 데이터를 만들어야 합니다. 아래는 교차분석 예의 경우입니다.

 

빈도

연령

프로그램

70

1

1

40

2

1

50

3

1

20

1

2

30

2

2

20

3

2

10

1

3

30

2

3

30

3

3

 

이렇게 새 데이터를 만든 다음 SPSS에서 데이터 메뉴에서 빈도를 가중치를 사용한다고 선택한 다음 교차분석을 하면 됩니다.

 

 

 

 

3. 앞의 분할표에서는 비율(백분율)이 전체 설문대상 중에서 몇 명이라는 비율이 아니고 주어진 연령대에서 몇 %인가를 나타내는 비율입니다. 예를 들어 20대 이하에서 예능을 선택한 사람이 70명인데 20대 이하 100명 중 70명이라서 70%입니다. 그러나 다른 비율도 있을 수가 있겠지요. 흔히 3개의 비율이 있습니다. 예를 들어 20대 이하, 예능을 선호하는 70명의 경우

 

1. 전체 응답자 중에서 비율: 70/300= 23.33%

2. 20대 이하 응답자 중에서 비율:70/100= 70%

3. 예능을 선호하는 사람 중에서 20대 이하의 비율: 70/160=43.75%

 

이와 같이 세 개의 비율을 구할 수 있고, 또 SPSS에서도 세 종류의 비율 값을 제공합니다. 그러나 특별한 경우가 아니면 2번의 비율만 구하시면 됩니다. 즉 개인 정보 변수의 값에 따라 관심있는 현상의 비율이 어떻게 달라지는지만 보시면 됩다는 것이죠.

 

 

 

4. 먼저 통계학에서 사용하는 기호부터 알아보죠.

 

Pr(X=x)라는 표시는 확률변수 X가 x라는 값을 가질 확률이라는 의미입니다. 통상 통계학에서 관례는 확률변수는 X, Y, Z 등 영어 뒤쪽의 대문자를 사용하고 소문자는 실제로 관찰한 값입니다. A, B 등 앞에 있는 대문자는 사건을 나타낼 때 주로 사용합니다. 예를 들면 B={주사위가 던졌는데 홀수가 나온다} 이런 경우가 되겠습니다. 대부분 이런 관례를 많이 따르는데 가끔 아닌 경우도 있습니다.

 

확률변수와 값의 구별은 고급통계학 책을 이해하는데 중요하지만 대부분의 경우는 크게 신경쓰지 않아도 됩니다. 하여간 간단히 설명을 하자면 왼쪽의 확률변수 X는 동전을 손에 쥐고 있는 상태입니다. 그래서 동전이 앞면인지 뒷면인지 알 수가 없습니다. 즉 확률 상태입니다. 오른쪽의 x는 손을 펴서 실제로 동전이 앞면인지, 뒷면인지 관찰한 값입니다. 물론 숫자로 표시하기 때문에 여러분이 앞면을 0. 뒷면을 1로 정의했다면 x는 0이나 1 둘 중의 하나의 값을 가겠죠.

 

그럼 동전을 두 번 던지는 실험을 가정해보죠. 첫 번째 동전을 던지는 것을 X라 하고 두 번째 동전을 던지는 것을 Y라고 하면 두 개의 시행이 독립이라는 것은 무엇을 뜻하는 걸까요? 현재 우리가 갖고 있는 정보는 앞면이 나올 확률이 0.7. 뒷면이 나올 확률이 0.3이라고 가정하죠. 그럼 독립이란 한쪽의 정보를 알아도 다른 쪽의 지식 상태가 변하지 않는 것을 의미합니다. 즉 첫 번째 시행 X에 대한 정보가 들어와도 두 번째 시행 Y에 대한 우리의 지식 상태가 변하지 않는 것을 의미합니다.

 

즉 Pr(Y=0) = Pr(Y=0|X=0) = Pr(Y=0|X=1) =0.7 즉 첫 번째 동전을 던졌는데 앞면이 나오거나 뒷면이 나오거나 두 번째 동전을 던졌을 때 앞면이 나올 확률은 전혀 변하지 않고 0.7이라는 것이죠. Pr(Y=1)의 경우도 마찬가지입니다.

 

그래서 첫 번째 변수의 정보가 들어와도 두 번째 변수에 대한 우리의 지식 상태, 즉 확률의 대한 지식은 전혀 변하지 않는다는 것입니다.

 

그래서 앞의 연령(X)과 선호하는 프로그램(Y)의 경우를 보죠. 연령에 따라 선호하는 프로그램에 차이가 없다는 말은 연령이 선호하는 프로그램에 전혀 영향력이 없다는 것이고 또 이건 연령과 선호하는 프로그램이 서로 독립이라는 이야기입니다.

 

그래서 선호하는 프로그램(Y)의 지식 상태(확률상태)는 P=(0.48, 0.21, 0.21)입니다(앞의 글 교차분석의 예에서 맨 아래 전체의 경우를 보시기 바랍니다). 그래서 만약 연령(X)가 선호하는 프로그램에 전혀 영향이 없다면, 즉 연령과 프로그램 선호가 독립이라면 

 

Pr(Y) = Pr(Y|연령이 20대 이하) = Pr(Y|30-40대) = Pr(Y|50대 이상) = (0.48, 0.21, 0.21)

 

이 되어야 합니다.

 

여기서 이 위의 관계에서 벗어날수록 차이가 뚜렷한 것이고, 연령이 프로그램 선호에 미치는 영향이 뚜렷한 것이라 볼 수 있습니다.

 

 

2. 독립을 더 간단한 식으로 써 보죠. 서로 독립이면 다음과 같은 관계가 있습니다.

 

Pr(X,Y)=Pr(X)*Pr(Y). 다른 식으로 표현하면 Pr(AB)=Pr(A)*Pr(B), f(x,y)=f(x)*f(y) 이런식으로 많이 표현합니다. 통계학 논문이 아니기 때문에 엄밀하게 정의하지는 않겠습니다.

 

위 정의는 우리의 상식과 일치합니다. 동전 던지는 것이 독립시행이고 첫 번째 동전이 앞면, 두 번째 동전도 앞면이 나올 확률은 0.7*0.7=0.49 이렇게 계산하지요. 바로 위의 공식을 적용한 것입니다.

 

그럼 간단한 2*2 분할표를 보죠. 흔히 많이 인용하는 흡연여부(X)와 폐암 여부의 경우입니다. 앞으로 비율 대신 확률을 많이 사용하겠습니다. 실제 데이터 분석에서는 비율이고 이 비율이 확률을 추측한 값이라 생각하시면 됩니다.

 

구분

비폐암

폐암

확률(%)

비흡연

 

 

60

흡연

 

 

40

확률(%)

90

10

100

 

전체 연구대상이 100명이라고 하고, 그러면 빈도는 백분율과 일치됩니다. 그럼 위의 표에서 비흡연 확률이 0.6, 흡연 확률이 0.4, 폐암에 걸린 확률이 0.1, 안 걸린 0.9라는 이야기입니다.

 

만약 흡연 여부와 폐암 여부가 독립이라면 위 표는 위의 공식을 적용해 곱하기를 하면 됩니다.

구분

비폐암

폐암

확률(%)

비흡연

54

6

60

흡연

36

4

40

확률(%)

90

10

100

 

 

즉 54=0.6*0.9*전체 100명 이렇게 나온 것이죠. 그래서 54명은 빈도도 되고 백분율도 됩니다. 위에서 1번에 해당하는 비율을 사용하였죠.

 

그러나 우리가 조사한 데이터는 위의 독립의 경우와 분명히 다르게 나올 것입니다. 비흡연이고 폐암에 안 걸린 사람이 58명, 비흡연이고 폐암이 걸린 사람이 2명 이런 식으로 나올 겁니다.

 

그래서 실제 데이터에서 나온 분할표는 다음과 같다고 하죠

 

구분

비폐암

폐암

확률(%)

비흡연

58

2

60

흡연

42

8

40

확률(%)

90

10

100

 

분명히 독립의 경우와 차이가 있죠. 이게 통계적으로 의미있는(유의적인) 차이인지 알고 쉽다는 것이죠. 그래서 X2 공식을 보면 매우 간단하고 직관적입니다. 위의 독립의 상태에서 많이 벗어날 수로 X2 값이 커지도록 되어 있습니다.

 

즉 X2= (데이타에서 관찰된 빈도-독립인 경우 빈도)2 / 독립인 경우 빈도

 

(위 식에서 시그마  summation 기호가 빠졌습니다. 즉 모든 칸에서 대해서 위 값을 구하고 다 더한다는 이야기입니다)

 

분모에서 독립인 경우 빈도로 나눠주는 이유는 일종의 표준화입니다. 분자만 있으면 연구대상이 많아질수록 빈도값들이 커지기 때문에 X2값이 마냥 커집니다. 그래서 일정한 척도를 유지하기 위해 나눠준 것입니다.

 

그래서 흡연여부가 폐암유무에 전혀 영향력이 없다면, 즉 서로 독립이면 각 칸에서 관찰된 빈도=독립일 경우 빈도가 되어 분자가 전부 0이 됩니다. 그래서 X2도 0이 되고요. 영향력이 클수록 X2 값이 커지는 것이죠. 알면 단순합니다.

 

 

3. 흔히 우리가 일상에서 많이 쓰는 것은 상대적 위험도(relative risk)입니다. 위 표를 가져오면

 

구분

비폐암

폐암

확률(%)

비흡연

(1-p)

p

 

흡연

(1-q)

q

 

 

 

 

 

 

즉 두 번째 비율을 사용한 것입니다. 이 경우 상대 위험도=q/p가 됩니다. 그래서 담배를 피는 사람이 안피는 사람보다 폐암에 걸릴 가능성이 2배이다 3배 이다 이런 말을 하는데 위의 상대 위험도를 이야기 하는 것입니다.

 

그러나 위의 연구는 현실에서 심각한 문제가 있습니다. 실제 폐암 걸리는 사람이 너무 적다는 것이죠. 그래서 연구 대상에서 폐암 걸린 사람이 적정한 수가 나오기 위해서는 몇 만명 조사해야 할 것입니다. 천명 조사해서는 폐암 걸린 사람이 하나도 안 나올 수도 있습니다. 따라서 현실에서는 폐암 걸린 사람 몇 명을 고정시켜 놓고, 폐암 안 걸린 사람을 대조군으로 높고 폐암 걸린 사람 중에서 비흡연 비율, 흡연 비율, 또 폐암 안 걸린 사람 중에서 흡연 비율, 비흡연 비율 이런 식으로 연구를 한다는 것이죠. 이런 연구 방법을 후향적 연구방법(retrospective study) 또는 사례-대조 연구(case-control study)라고 합니다. 의료 연구에서는 어쩔 수 없이 이런 방법을 택할 수 밖에 없겠죠. 그러나 우리가 알고 싶은 것은 반대 방향, 즉 담배를 피면 폐암에 걸린 확률, 담배를 안피면 담배를 걸린 확률 이런 것이죠. 그래서 괴리가 생깁니다. 여기서 독립여부를 알기 위해 많이 쓰는 것이 오즈비입니다.

 

 

자세한 것은 Agresti 책을 참조하시기 바랍니다. 

 

먼저 오즈(odds)= p/(1-p)로 정의되고 오즈비(odds ratio)는 [ p/(1-p) ] / [ q/(1-q) ] 로 정의됩니다. 오즈비는 여려가지 장점이 있습니다. 이 오즈비가 1이면 독립이고 1에서 벗어날수록 서로 연관성이 강해집니다.

 

오즈비가 1이면 위의 표에서 (1-q)=(1-p), q=p 가 되어 우리가 처음에 이야기한 개념과 일치됩니다. 즉 흡연 여부의 정보가 들어와도 폐암에 걸리는 지식에는 전혀 차이가 없다는 것이죠.

 

4. 다음은 지난 대선 의혹을 한번 볼까요. X를 개표 시간으로 보고 Y는 지지인물로 보죠

 

개표시간

문재인 지지

박근혜지지

1

(1-p1)

p1

2

(1-p2)

p2

3

(1-p3)

p3

.

 

 

.

 

 

n

(1-pn)

pn

 

 

여러분 생각에 개표 시간별로 p/(1-p) 즉 (박근혜 지지율/문재인 지지율)이 변할 것 같습니까? 투표가 끝난 후 전국적으로 동시에 개표가 시작 되었으니까 시간이 진행되어도 p/(1-p)는 거의 차이가 없을것입니다. 즉 오즈비가 거의 1이라는 이야기죠. 우리나라 정치 지형상 이 오즈비가 달라지는 경우는 전라도나 경상도 특히 경상북도에서 개표 시간에서 차이가 많이 나는 경우가 아니면 이 오즈비가 1에서 크게 벗어나기가 힘들다고 봅니다. 따라서 특정 지역의 개표 시간이 다른 지역 개표시간의 많이 다르다는 것을 보이지 않는 이상은 의혹을 제기 하기 힘듭니다.

 

이 오즈비가 1인 경우 로직스틱 회귀분석에서 SPSS에서 Exp(B)=1로 표시가 됩니다. 즉 개표시간이 박근혜 지지율에 미치는 영향이 전혀 없다는 것이죠. 혹은 문재인 지지율에 미치는 영향이 전혀 없다는 것이고요.

 

 

이런 경우 로직스틱 회귀계수는 로그를 취하면 B=0이 됩니다. 따라서 로직스틱 회귀분석을 돌리면 그냥 시간에 관계없이 x축과 평행하는 기울기가 0인 직선이 됩니다. 오즈비가 1 이상이면 X가 클수록 p/(1-p)가 점정 커져 간다는 이야기죠. 그럼 회귀계수 B는 양수가 됩니다. 오즈비가 1 이하이면 p/(1-p)가 X가 커져감에 따라 오히려 p/(1-p)가 낮아지고 회귀계수 B는 음수가 됩니다.

 

 

그러면 대선의혹을 제기한 로직스틱 모양은 어디서 나온 것일까요? 그 로직스틱의 경우 박근혜나 문재인 지지의 누적분포를 그린 것입니다. 즉 통계학에서 나오는 누적확률분포를 그린 모습이라는 것이죠. 그런데 왜 로직스틱 모양으로 갈까요? 제 추측입니다. 로직스틱 회귀분석 대신 프로빗 모형을 쓰는 경우도 있습니다. 이건 정규분포의 누적확률분포를 사용하는 것입니다. 단지 정확한 식 모양을 모릅니다. 그러나 대신 사용할 수 있으니까 로직스틱 함수와 정규분포의 누적확률분포 함수가 모양이 비슷하겠죠.

 

그래서 각 개표 시간 별로 문재인 후보나 빅근혜 후보의 지지율이 정규분포 비슷한 모양을 가지고 이걸 누적하면 정규분포의 누적확률분포와 비슷하고 그러면 이게 로직스틱 모양과 비슷하게 된다는 것이죠. 이게 현재까지 제 추측입니다. 정규분포의 누적확률분포를 시물레이션 해서 한번 알아 볼 수 있는데 시간이 없네요.

 

오늘은 너무 길었네요. 다음 글은 교차분석에서 로그선형 모형, 의사결정 트리와의 연관에 대해서 정말 간단하게 쓰겠습니다. 왜냐하면 아직까지 이 모형들을 쓴 학위논문을 보지 못했어요. 그래서 앞으로도 다루지 않을 것입니다.

 

너무 길어서 오자나 탈자를 수정 못했습니다. 혹시 읽으시고 이상한 부분이 있으면 댓글 달아주세요.

 

 

 

 

'교차분석,카이제곱 > 이론' 카테고리의 다른 글

로그선형(linear), 트리(Tree) 모형  (0) 2013.03.13