데이터 한 그릇

기초통계13 : 분산분석(1) 본문

통계/기초통계

기초통계13 : 분산분석(1)

장사이언스 2021. 3. 22. 20:27
  • 일원분산분석
  • 다중비교검정
  • 이인자분산분석

kurt7191.tistory.com/17

 

기초통계12 : 두 모집단 비교에 관한 추론

두 모평균 차이에 관한 추론 : 독립표본 관측데이터와 실험데이터 두 모평균 차이에 관한 추론 : 짝진표본 두 모분산 비율에 관한 추론 https://kurt7191.tistory.com/16?category=1000998 기초통계11 : 한 모집

kurt7191.tistory.com


  분산분석(analysis of variance)에서 살펴볼 기법은 통계전문가들이 구간데이터로 구성된 두 개 이상의 모집단을 비교할 수 있게 해준다. 분산분석은 모평균들간에 차이가 있는지 결정한다. 모평균들간에 차이가 있는지 결정하는 기법이지만 특이하게도 표본분산을 분석한다. 즉, 표본분산을 분석하여 두 개 이상의 모집단의 모평균에 차이가 있는지 판단한다. 분산분석은 여러가지 형태를 가지고 있다. 이 장에서는 다양한 분산분석의 형태를 살펴볼 것이다.

 

일원분산분석

 

  분산분석은 두 개 이상의 모평균간에 차이가 있는지 결정하는 검정 기법이다. 분석분석의 이름은 계산이 수행되는 방식에 따라서 이름이 붙여진 것이다. 두 개 이상의 모집단으로부터 표본을 추출하여 그 표본의 분산을 분석한 결과를 토대로 두 개 이상의 모평균간에 차이가 있는지 판단하기 때문이다. 이 장에서는 표본들이 독립적으로 추출될 때 적용되는 분산분석 기법이 논의된다. 이와 같은 분석을 일원분산분석(one-way analysis of variance) 이라고 부른다. 여기서 모집단 이름 j의 평균과 분산은 다음과 같이 표현이 된다.

 

$$\bar{x}$$

$$s^2_{j}$$

 

  다음의 예시를 통해서 일원분산분석에 대해서 살펴보도록 하자.


 

  지난 10년 동안 주식브로커들은 비즈니스 방식을 급격하게 바꾸었다. 인터넷 트레이딩이 매우 일반화 되었고 온라인 트레이드 비용은 7달러 정도로 매우 저렴해졌다. 이제 과거보다 주식시장에 투자하는 것이 더 쉽고 더 적은 비용이 든다. 이와 같은 효과는 무엇인가? 이와 같은 질문에 대답하기 위해 한 금융애널리스트는 임의로 366개 미국 가계를 표본추출하여 각 가계에 가장의 연령과 총금융자산 중 주식에 투자한 비중을 보고하도록 요청하였다. 가장의 연령 범주는 다음과 같이 분류되었 있다.

 

젊은층(35세 미만)

중년층 전반기(35세 이상 ~ 49세 이하)

중년층 후반기(50세 이상 ~ 65세 이하)

노년층(65세 초과)

 

  금융애널리스트는 특히 주식소유비중이 가장의 연령에 따라 변화하는지 알아보는 데 관심을 가지고 있었다. 일부의 데이터가 아래와 같이 정리되어 있다. 이와 같은 데이터에 기초하여 금융애널리스트는 4개의 연령그룹 간에 주식소유비중의 차이가 존재한다고 결정할 수 있는가?

 

젊은층 중년층 전반기 중년층 후반기 노년층
24.8 28.9 81.5 66.8
35.5 7.3 0.0 77.4
68.7 61.8 61.3 32.9
42.2 53.6 0.0 74.0
.
.
.
.
.
.
.
.
.
.
.
.

  문제를 요약해본다면, 우리가 관심있어 하는 모집단은 총 4개이다. 바로 젊은층, 중년층 전반기, 중년층 후반기, 노년층이다. 애널리스트가 관심있어하는 문제는 나이대별로 주식소유비중이 달라지는지에 관한 점이다. 따라서 우리가 관심있어하는 모수는 각 모집단의 모평균이라고 할 수 있다.(이 데이터는 나이대별로 주식소유비중을 기록한 것)

 

  이런 전제하에서 가설검정을 들어간다고 해보자. 귀무가설을 모든 모집단의 모평균이 같다고 설정하고 대립가설을 최소한 두 개는 다르다고 설정한다. 만일 귀무가설이 기각이 되면 대립가설을 선호하는 것으로써 나이대별로 주식소유비중이 달라진다고 주장할 수 있는 증거가 충분하다고 할 수 있다. 반대로 귀무가설이 기각이 되지 않는다면 나이대별로 주식소유비중이 달라지지 않는다고 할 수 있다.

 

  가설검정을 설정을 했다면 다음은 검정통계량을 설정하는 것이다. 분산분석을 수행하는 과정은 밑의 표의 기호를 사용하여 쉽게 설명될 수 있다. 분산분석을 하는데 사용되는 용어들을 익혀두어야만 한다.

 

처리
  1 2   j k
  $$x_{11}$$ $$x_{12}$$ ... $$x_{1j}$$ $$x_{1k}$$
$$x_{21}$$ $$x_{22}$$ ... $$x_{2j}$$ $$x_{2k}$$
.
.
.
.
.
.
  .
.
.
.
.
.
$$x_{n1^1}$$ $$x_{n2^2}$$   $$x_{nj^j}$$ $$x_{nk^k}$$
표본크기

표본평균
$$n_{1}$$ $$n_{2}$$   $$n_{j}$$ $$n_{k}$$
$$\bar{x}_{1}$$ $$\bar{x}_{2}$$   $$\bar{x}_{j}$$ $$\bar{x}_{k}$$

 

 

$$x_{ij}$$

$$n_{j}$$

 

  위의 x_ij를 해석해보면 j번째 모집단의 i번째 관측값을 의미하며 n_j같은 경우에는 j번째 관측치의 표본크기를 나타낸다. 이 때 X는 반응변수(response variable)라고 부르며 X의 값은 반응(response)이라고 부른다. 측정하는 단위는 실험단위(experimental unit)라고 부른다.

 

  예제에서의 반응변수는 총금융자산 중 주식에 투자한 비중이고 실험단위는 표본으로 추출된 가계의 가장이다. 모집단을 분류하는 기준은 인자(factor)라고 부른다. 각 모집단은 수준(level) 이라고 부른다. 이번 예제의 인자는 가장의 연령이고 4개의 수준이 존재한다.

 

x => 총금융자산 중 주식에 투자한 비중

x의 값(response0 => 각 데이터들

실험단위 => 표본으로 추출된 가계의 가장

factor => 가장의 연령

 

 

   검정통계량은 다음과 같은 근거에 기초하여 계산된다. 만일 귀무가설이 옳다면 모평균들이 모두 같을 것이다. 이러한 경우 표본평균들은 서로 가까울 것이라고 예상할 수 있다. 반대로 대립가설이 옳다면 일부의 표본평균들 간에는 큰 차이가 존재할 것이다. 이는 직관적으로 이해될 수 있는 것이, 위의 예제에서 네 개의 모집단의 평균이 같다면, 데이터의 중심 위치가 같다는 말이 될 것이고 그렇다면 이를 토대로 뽑은 표본들의 평균도 서로 비슷할 것이라는 추론이 가능해진다. 반대로 네 개의 모집단의 평균이 다르다면 데이터의 중심 위치의 척도가 다른 것이기 때문에 이를 토대로 뽑은 표본들의 평균도 다를 것이라는 추론이 가능해진다.

  이 때 표본평균들이 서로 얼마나 가까운가를 측정하는 통계량은 처리간변동(between-treatments variation)(그룹간 변동이라고도 함)이라고 부르며 처리제곱합(sum of squares for treatments)을 나타내는 SST로 표시된다. 앞선 논의를 통해서 모집단간의 평균이 동일하다는 전제를 세우게 되면 각 모집단의 표본의 평균도 크게 다르지 않을 것이라는 추론을 세울 수 있다는 점을 살펴봤다. 따라서 각 모집단의 표본을 뽑고 각 표본의 평균을 계산했을 때 그 결과값도 서로 많이 다르지 않을 것이다. 따라서 각 표본의 평균을 계산한 결과값들이 얼마나 차이가 나는지 통계량을 계산해야하는데 그 때 사용되는 통계량이 SST이다.

 

처리제곱합(SST)을 계산하는 식은 다음과 같다.

 

$$SST = \sum_{j=1}^k n_{j}(\bar{x}_{j} - \bar{\bar{x}})^2$$

 

  만일 SST값이 작으면 귀무가설을 지지할 수 있게된다. 예를 들어서 모든 표본들의 평균이 같다면 SST값은 0이 도출된다. 이 예제에서 표본평균고 총평균이 다음과 같이 계산 되었다고 해보자. 

 

1번째 표본의 평균 -> 44.40

2번째 표본의 평균 -> 52.47

3번째 표본의 평균 -> 51.14

4번째 표본의 평균 -> 51.84

총평균 -> 50.18

 

표본크기들은 다음과 같다.

 

1번째 표본의 크기 -> 84

2번째 표본의 크기 -> 131

3번째 표본의 크기 -> 93

4번째 표본의 크기 -> 58

 

따라서 SST값은 다음과 같이 계산되어진다.

 

3,738.8

 

  만일 SST값이 큰 값이 나타나게 된다면 표본평균들 중 일부는 총평균과 상당히 다를 것이고 대립가설을 선호하여 귀무가설을 기각하는 것이 합당하게 된다.

 

  그렇다면 자연스럽게 의문이 생기게된다. sst값을 통해서 각 표본평균의 차이가 얼마정도 나는지 나타냈다고 한다면 sst값이 어느 정도로 작으면 귀무가설이 인정받고 sst값이 어느 정도로 크면 귀무가설이 기각이 되는지 알아야만 한다. 앞선 예시에서 각 표본평균의 차이인 SST값이 3,738.8이 도출되었다. 이 값은 각 모집단의 평균이 동일하다는 귀무가설을 기각하고 대립가설을 선호할만큼 충분한 증거를 제시하는가? 이 질문에 답하기 위해서는 주식투자비중에 얼마만큼의 변동이 존재하는지 알 필요가 있으며 이와 같은 변동은 SSE(Sum of Squares for Error : 오차제곱합) 인 처리내변동에 의해 측정된다. (다음 단계는 오차제곱합 SSE 를 구해야만 한다, SST -> SSE)

 

 

  처리내변동(SSE)은 처리들에 의해 발생되지 않은 반응변수의 변동에 대한 척도이다. 이 예제에서 총금융자산 중 주식에 투자한 비중이 가계의 가장 연령에 따라 다른지 결정하고자 한다. 하지만 가계의 가장 연령 이외에 주식에 투자한 비중에 영향을 주는 다른 변수들이 존재한다. 즉, 가장의 연령 이외에 주식 투자 비율에 영향을 끼치는 다른 변수들이 존재한다. 예를 들어서 가계소득, 직업, 가계크기 등등. 이러한 기타 모든 변수들은 가계주식투자비중의 변동성 원천이고 이와 같은 부분 전체를 묶어서 오차항이라고 부른다. 이러한 변동의 원천은 오차제곱합에 의해 측정된다.

 

$$SSE = \sum_{j=1}^k\sum_{i=1}^{n_{j}} (x_{ij} - \bar{x}_{j})^2$$

 

  오차제곱합의 식을 정리하면 다음과 같이 정리되어질 수 있다.

 

$$SSE = \sum_{i=1}^{n_{1}} (x_{i1} - \bar{x}_{1})^2 + \sum_{i=1}^{n_{2}} (x_{i2} - \bar{x}_{2})^2 + \sum_{i=1}^{n_{3}} (x_{i3} - \bar{x}_{3})^2 +  ... + \sum_{i=1}^{n_{k}} (x_{ik} - \bar{x}_{k})^2$$

 

  이 식의 각 항에 n_j - 1을 나누면 각 항의 표본분산이 도출되게된다. 따라서 SSE는 K개 변동들의 통합변동이다. 이 때 사용되는 요구 중 하나가 바로 모집단의 모든 분산들이 동일하다는 것이다. 즉, 동분산이여야만 한다. 이 예제의 표본분산은 다음고 같이 계산된다. 161.83. 다음 단계로는 평균제곱을 계산하는 것이다.

 

  처리평균제곱(mean square for treatments)을 먼저 구해보도록 하자. 처리평균제곱은 SST를 (처리의 수 -1)로 나누어 계산된다. 

 

$$MST = \frac{SST}{k - 1}$$

 

  오차평균제곱(mean square for error)은 SSE를 (총표본크기(n) - 처리의 수)로 나누어 계산된다.

 

$$MSE = \frac{SSE}{n - k}$$

 

  마지막으로 검정통계량은 두 평균제곱의 비율로 정의된다.

 

$$F = \frac{MST}{MSE}$$

 

  따라서 이번 예제의 f통계량은 다음과 같다. 2.79

 

  정리하자면 MST는 SST에서 처리의 수 -1로(K-1)로 나눈 값이며, MSE는 SSE에 총표본의 크기 - 처리의수로 나눈 값이다. 마지막으로 검정통계량은 MST와 MSE의 비율이다.

 

  지금까지 일원분산분석을 하기 위한 통계량 용어들을 정리해보도록 하자.

 

SST =  (처리제곱)표본평균들의 차이가 얼마나 나는지 수치화

SSE = (오차제곱합)K개 표본들의 결합변동 혹은 통합변동(각 표본들의 분산의 합)

MST = (처리평균제곱)

MSE = (오차평균제곱)

 


검정통계량의 표본분포

 

  앞서 SST를 구하고 SSE를 구한 후 이 둘을 이용하여 MST(처리평균제곱)와 MSE(오차평균제곱)를 구하였다. 그리고 처리평균제곱과 오차평균제곱을 이용하여 최종적으로 검정통계량을 구하였다. 앞서 SST부터 시작하여 검정통계량을 구했다면 이 통계량이 귀무가설을 기각하는데 충분한지 안한지 판단하여야만 한다. 즉, 통계량을 통해서 각 모집단들의 평균이 같다고 할 수 있는 충분한 증거가 있는지 판단해야만 한다. 

 

  그렇다면 앞서 구한 검정통계량은 어떤 표본분포를 따르는가? 바로 자유도가 MST와 MSE의 분모를 따르는 F분포를 따른다. 따라서 예제의 F분포는 다음과 같은 자유도를 따른다.

 

$$\nu_{1} = k-1 = 4-1 = 3$$

 

$$\nu_{2}  = n-k = 366-4 = 362$$

 

  4개의 연령층으로 모집단을 구분하였으므로 k=4라고 할 수 있다.(처리해야할 표본이 4개기 때문에), 모든 표본의 크기를 합하면 366개이기 때문에 n = 366, 각각의 mst와 mse의 분모는 3과 362라고 할 수 있다. 따라서 우리가 구한 검정통계량의 표본분포는 자유도가 3, 362인 F분포를 따른다.

 

기각역 역시 이러한 표본분포에 기반하여 구하게 된다. 우리가 F통계량을 계산하는 목적은 SST의 값이 귀무가설을 기각하기에 충분한 만큼 큰가를 결정하는데 있다. 만일 SST의 값이 크면 F통계량은 커지게 될 것이다. 따라서 F분포에서 유의수준 알파(a) 하에서 k-1, n-k의 자유도를 가진 값보다 검정통계량이 크면 귀무가설이 기각될 것이다. 앞서 우리는 MST와 MSE를 구하면서 자유도를 구할 수 있게 되었다. 이를 통해서 기각역을 설정하고 이 기각역의 최솟값보다 검정통계량이 높으면 귀무가설이 기각되는 것이다.

 

$$F > F_{\alpha,k-1,n-k}$$

 

  예제에서의 기각역은 2.61이 도출이 된다. 우리가 구한 검정통계량의 값은 2.79이다. 따라서 귀무가설을 기각하고 대립가설을 선호할만한 충분한 증거가 있다고 판단이 된다. 검정의 P값은 0.405이다.

 

분산분석의 결과는 통상적으로 분산분석표(analysis of variance(ANOVA) table)로 정리된다. 

 

변동의 원천 자유도 제곱합 평균제곱 F 통계량
처리(그룹간) K-1 SST MST=SST/(k-1) F=MST/MSE
오차(그룹내) n-k SSE MSE=SSE/(n-k)  
합계 n-1 TSS(총변동)    

 

 

  여기서 총변동은 TSS라고 불리며 SST와 SSE의 합과 같다. 앞서 SST는 처리들(연령 범주)에 기인한 변동을 설명함을 살펴봤고 SSE는 설명되지 않는 변동을 측정함을 봤다. 만일 SST가 총변동의 많은 부분을 설명하게 된다면 총변동을 구성하는 SST값이 크다는 것을 증명한다. 따라서 모평균들을 서로 다르다는 결론이 도출될 것이다.

 

(총변동의 구성은 SST와 SSE인데 SST가 총변동을 많이 설명하게 되면 값이 크다는 것이 된다. SST의 값이 크다는 것은 표본평균간의 차이가 난다는 것을 뜻하며 이는 모집단간의 평균이 다르다는 것을 뜻하게 된다.)

 


정리

  우리는 저번 장에서 두 모집단의 모수에 관한 추론을 살펴봤다. 두 모집단의 평균의 차이와 두 모집단의 분산비율을 살펴봤었다. 이번에도 역시 두 개 이상의 모집단의 모수에 관한 추론이지만 그 방식이 분산을 분석하기 때문에 다른 방식으로 추론이 이루어진다고 할 수 있다. 먼저 일원분산분석은 여러 개의 모집단의 표본들의 평균 값을 비교하여 모집단들간의 평균의 관계에 대해서 추론한다. 만일 표본들의 평균 값들이 비슷하게 도출이 된다면 각 모집단의 평균들이 동일하다고 할 수 있는 충분한 증거가 제시되어질 수 있다. 그러나 만일 표본평균들의 값들이 상이하게 도출된다면 최소 두 개 이상의 모집단의 평균이 다르다고 할 수 있다. 따라서 표본평균들끼리 얼마나 가까운지 나타내는 수치가 필요한데 그게 바로 SST라고 할 수 있다.

  SST를 검정통계화하여 가설검정을 진행해야만 하는데 검정통계화 하는 단계는 몇 단계로 구분이 된다. 먼저 SST를 구했으면 SSE를 구해야만 한다. SSE는 처리들에 의해 발생되지 않는 반응변수의 변동에 대한 척도이다. 그 다음 단계로는 평균제곱 값들을 계산해야만 한다. 바로 MST와 MSE이다. 마지막 단계로는 MST와 MSE의 비율을 구하면 된다.  이 비율이 SST검정통계량이라고 할 수 있다. 

  이 검정통계량의 표본분포는 MST와 MSE의 분모를 자유도로 가진 F분포를 따른다. 따라서 유의수준만 정해진다면 이 자유도를 이용하여 기각역을 구할 수 있게 된다. SST의 값이 커진다면 F검정통계량 값은 커지게 된다. F값이 기각역보다 크면 귀무가설은 기각하고 기각역보다 작으면 귀무가설을 기각하지 않는다.

 

  지금까지는 일원분산분석을 살펴봤다. 다음으로는 다른 종류의 분산분석인 다중비교검정을 살펴볼 예정이다.

 

 

 

 

 

 

Comments