2023년 5월 1일 월요일

여론조사 신뢰구간 의미

학생때나 지금이나 통계학은 잘 이해가 안된다. 

여기서는 내가 이해하는 내용과 이해가 안되는 부분을 정리해보도록 하자. 

동전 던지기나 여론 조사처럼, 어떤 질문에 대한 답이 yes/no 일 확률이 일정하다고 하자. 

(즉, 베르누이 시행 문제로 생각하자.) 

예를 들어 동전을 던졌을 때 앞면이 나오는 확률, 전체 집단에서 특정 인물을 지지할 확률이 p 라고 하자. (이때 전체 집단의 개체수가 충분히 크다고 가정한다.)  

동전 던지기를 n 번 또는 사람 n 명을 뽑아서 여론조사를 하면, 표본에서의 앞면의 비율 또는 지지율을 얻을 수 있다. 문제는 이것이 진짜 비율 p 와 일치한다고 얼마나 확신할 수 있을까? 예를 들어 p=0.5 일때, 아주 운이 나빠서, 10번 연속으로 앞면만, 또는 10명 모두 지지하는 사람만 나올 수도 있을 것이다. 이 경우 표본에서 얻은 비율은 100% 이지만, 실제로는 50% 가 된다. 당연히 이런 일이 일어날 확률은 작을 것으로 생각할 수 있지만, 얼마나 작은 것일까? 

베르누이 시행의 경우, n개를 뽑았을 때의 측정 값이 r 일 확률은 이항분포에 의해 구할 수 있다.    P(r) = n C r * p^r (1-p)^(n-r) 

즉, 예를 들어 5명을 뽑아서 여론 조사를 했을때, 지지자의 수가 0 일 확률은 1*p^0*(1-p)^5,

1일 확률은 5*p^1*(1-p)^4, 2일 확률... 5일 확률은 1*p^5(1-p)^0 이 된다. 

실제 지지율이 p=0.4 라고 하면, 5명중 2명이 지지할 때 정확한 값을 얻게 된다. 그러나, 각 확률을 보면 대략 P(0) ~ 7.7%, P(1) ~ 25.9%, P(2) ~ 34.6%, P(3)~ 23%, P(4) ~ 7.7%, P(5)~1% 정도가 된다.  즉, 여론 조사가 정확할 확률은 35% 정도에 불과하다. 여기서 기준을 조금 완화해서, 정확한 값이 아니라 1명 정도 틀리는 것을 포함한다고 하면 약 83.5% 정도의 확률이 된다. (대략 계산한 값이다.) 

즉, 5명 표본에서 여론 조사 결과 1명에서 3명 정도 지지자가 나올 확률이 83.5% 정도이고, 이정도의 신뢰도를 가지고 표본에서 얻은 지지자 수가  +/-1명 범위에서 맞을 것으로 생각할 수 있다. 이렇게 얼마나 신뢰할 것인지의 범위 (83.5 %)를 정하면, 정확한 값이 표본 값에서 구한 값에서 몇 명 범위에 있을 것인지(즉, 오차의 범위)가 정해지게 된다. 

당연히, 표본의 크기를 늘리면 늘릴 수록 표본에서 얻은 값이 정확한 값에 가까워질 것으로 예상할 수 있다. 

베르누이의 큰 값 정리 나 중심 극한 정리는  이렇게 표본의 크기 n를 키웠을 때, 표본의 값이 가지는 확률 분포가 정규분포에 가까워진다는 것이다. 

중심 극한 정리에 의하면, 표본의 크기가 충분히 클 경우, 이러한 표본을 여러번 뽑았을 때, 표본 값의 분포는 그 평균값이 모집단의 값과 같아지고 , 표준편차가 sigma=(모집단 표준편차)/sqrt(n) 이 된다고 한다. 

이것이 의미하는 바는 

(1) 표본의 크기가 크면 클수록 표본에서 얻은 평균 비율 값이 정확한 값에 가까워 진다. 

(2) 표본의 크기가 크면 클수록, 여러개의 표본 값의 분포가 좁아진다. (즉, 같은 표본 값을 가지는 비율이 커진다.) 

(3) 정규분포를 이용하면, 특정 표본의 값이 정확한 값의 p 부근의 (p-sigma,p+sigma) 범위에 있을 확률이 약 65%, (p-2 sigma, p+2 sigma) 범위안에 있을 확률이 약 95%, (p-3 sigma, p+3 sigma) 범위에 있을 확률이 약 99.7% 임을 알 수 있다. 


즉, 예를 들어 정확한 지지율이 0.4 일때, (이 경우 모집단의 표준편차는 sqrt(p(1-p)) = 0.49) 

1000명 정도의 표본을 사용할 경우, sigma ~0.49/sqrt(1000) ~ 0.015 가 얻어지고, 

 표본값이 (0.4 -0.015, 0.4+0.015) 범위에 있을 확률이 약 65%, 

(0.4-0.03,0.4+0.03) 범위에 있을 확률이 약 95% 라고 예상된다는 것이다. 


이렇게 정확한 확률 p를 아는 경우, 특정 표본의 크기에서 표본 값을 얻을 확률은 구할 수 있다.  문제는 우리는 실제 정확한 값 p 도 모집단의 표준편차값도 알 수 없다는 것이다.  (물론, 얻어진 표본의 값이 실제로 어디에 위치하는 것인지도 알 길이 없다. )

따라서, 사용하는 방법은 모집단의 표준편차가 가장 큰 경우 p=1/2을 이용하거나, 표본의 표준 편차를 이용하여 오차범위 를 추산하는 것이다.(이부분이 잘 이해가 안된다. 표본의 표준편차를 이용하는 것이 정말 믿을 만한 것일까?) 

 즉, 표본 지지율의 표준 편차는 2*sigma = 1/sqrt(n) 으로 추정할 수 있다. 표본에서 얻어진 지지율이 (p-2 sigma, p+2 sigma) 범위 안에 있에 있을 확률이 약 95% 가 된다고 볼 수 있고, 이때의 오차 범위는 2 sigma 정도라고 생각할 수 있다. 예를 들어, n~1000명일 경우,  2 sigma ~ 0.03 ~ 3% 가 된다. 따라서, 아마도 실제 지지율은 95% 신뢰도에서 표본에서 얻어진 지지율의 +/- 3% 범위 안에 있을 것이 예상된다. 물론, 이것은 하나의 표본에 대해서 얻어진 지지율이 틀릴 가능성이 있다. 사용된 표본이 역시 평균에서 벗어난 것일 확률이 여전히 있기때문이다. 보다 확실하게 하기 위해서는 표본의 크기를 늘리거나, 여러개의 다른 표본을 만들어서 그 평균값의 분포를 보는 것이 좋을 것이다. 


하지만, 여전히 정말 겨우 1000명 정도의 표본만 이용하여 얻은 결론이 정말 믿을 만한 것인지는 의문이다. ( 동전 던지기의 경우는 1000번 정도면 충분하지 않을까 하는 생각이 들지만. 여론조사의 경우 인구 1억인 나라에서 1000명 만으로 충분한 것일지 의문이 든다.

동전의 경우는 모든 시행에서 동전이 동일하다고 가정하는 것이 타당해 보이지만, 사람의 경우에는 모든 사람을 동일하게 취급하는 것이 정말 맞는 것일까? ) 

(위 계산에서 알 수 있는 것은 오차 범위는 모집단의 크기가 얼마이건 거의 영향을 받지 않는다는 것이다. 물론 처음부터 모집단의 크기가 충분히 크다고 가정했기 때문이다.) 아마도 핵심은 표본의 추출이 얼마나 고른가일 것이다. 1000명을 뽑는 과정에서 지역, 나이, 성별등에 따른 차이가 있을 경우에는 오차범위가 3%일 것이라는 추산이 틀릴 가능성이 있다고 생각된다.


추가: 표본의 분산값을 모평균으로 사용하는 경우에는 위식에서 표본평균의 표준 편차를 

sigma^2 = (모분산)/n 아니라 sigma^2 = (표본분산)/(n-1)로 계산한다고 한다. 왜 일까? 

먼저 용어의 정의를 명확히 하자. 


모평균 : 모집단 내에서의 평균값 mu = 1/N sum_{i=1}^N x_i 

모분산 : 모집단 내에서의 분산 (모분산) = (x^2 의 평균) - (x의 평균)^2 = 1/N*sum_i (x_i- <x>)^2


표본(내)평균: 주어진 표본(크기는 n이라고 하자)내에서 계산된 평균값. 

              (표본평균) = 1/n * sum_{i=1}^n x_i 

              이러한 표본 평균의 값은 경우에따라 모평균보다 클 수도 있고 작을 수도 있다. 

표본(내)분산: 주어진 표본에서 각 값들이 표본 평균으로 부터 얼마나 떨어져 있는 지를 나타내는 값.

             (표본(내)분산) = 1/n*sum_{i=1}^n (x_i - <x>)^2 

             이러한 표본(내)분산값은 각 표본마다 다를 것이다. (여기에 (내)는 내가 편의상 정한 이름이다.) 


표본평균 분산: 표본의 여러개 만들어서 각 표본평균의 분포를 보면, 

              표본평균의 평균값과 분산을 얻을 것이다. 

              이렇게 표본평균의 분포에서의 분산을 표본 평균 분산이라고 부른다.

              즉, 표본평균 분산과 표본(내)분산은 다른양이다. 

              중심극한 정리는 표본의 수가 커지면 

              표본평균의 평균값이 모평균과 같아지고, 

              표본평균의  분산이 모분산에 대해 

               (표본평균 분산) = (모분산)/n 

              이 된다는 것이다. 


극단적인 경우를 생각하면, 

n=N일 경우, 표본 평균의 분산은 0 이 될 것이고,(표본내분산은 모분산과 같아짐, N이 매우 크다고 가정)

n=1 인 경우에는 표본평균의 분산은 모분산과 같아질 것이다.  (표본내 분산은 0)

따라서, 표본내 분산, 모분산, 표본평균분산 사이에는 표본의 크기에 따라 일정한 관계가 있음을 알 수 있다. 


(모분산) ~ (표본(내)분산) + (표본평균 분산) = (표본(내)분산)+(모분산)/(n) 


이로부터 (표본(내)분산) ~ (n-1)/n*(모분산) 의 관계가 있다. 이것이 의미하는 바는 

표본(내)평균값은 모평균과 다를 수 있지만, 표본(내)분산은 원래의 모분산과 거의 같다는 것이다. 물론, 완전히 같지는 않고, 표본(내)분산은 모평균보다 항상 약간 작다. 

(물론, 이 경우에도 아주 극단적으로 치우쳐진 표본이라면, 표본내 분산과 모분산이 일치하지 않을 수도 있을 것이다. )

따라서 (표본(내) 분산)/(n-1)을 하면 (모분산)/n 을 이용하는 것과 비슷할 것으로 예상할 수 있다. 즉, 모분산을 모르더라도 표본(내)분산을 이용하여 추정할 수 있다. 

(당연히 이런 식이 성립하려면, 모집단의 크기와 표본의 크기가 모두 충분히 크고 균질해서, 표본 안에서의 분포가 모집단의 분포를 반영할 수 있어야 한다.)