통계학을 배우고 난 후, 이미 졸업 예정 학생이지만 학부생 연구 설계 시 지금 배우고 있는 통계학적 지식을 활용했으면 더 좋은 연구를 했을지 모르겠다는 생각이 든다. 이번 글에서는 간단한 연구를 예로 들어, 설계와 가설의 검정을 통계학적으로 설명하고 추출한 데이터를 대상으로 한 검정방법을 설명하도록 하겠다. 올바른 데이터 분석을 하기 위해 다양한 통계 기법들을 소개할테니 긴 글이 될지도 모르겠다. 실험을 설계할 때 통계의 중요성을 강조하고 싶다.

실험의 설계

다음은 한 연구자가 작성한 가상의 연구 보고서입니다. 최대한 잘 작성하려고 했지만 배우는 입장에서 작성한거라 오류가 있을 수도 있으니 댓글로 피드백을 남겨주시면 감사하겠습니다.

애기장대 식물인 GENE1 돌연변이체는 GENE1 유전자에 대해 유전자 편집기술이 적용되어 있다. GENE1 돌연변이체는 GENE1 유전자 염기서열의 일부가 결실되었음을 입증하였다. 나는 이 돌연변이체의 표현형을 관찰하고, Col-0와 비교함으로써 해당 유전자의 기능에 대해 연구하고자 한다.

우연히 GENE1 애기장대 돌연변이체 한 개체에서 나온 종자들의 발아(말 그대로 종자에서 뿌리의 일부가 나오는 것을 말한다.)를 관찰했는데, 같은 발아 시기에 관찰한 대조군인 애기장대 Col-0와 비교하여 GENE1 돌연변이체의 발아한 종자가 더 적어보였다. 그렇다면 GENE1 유전자가 발아에 영향을 주는 것일 수도 있지 않을까? 이를 확인해보기 위해 다음의 실험을 설계했다.

<GENE1 돌연변이체와 Col-0의 발아율 비교>

궁극적인 목적 : GENE1이 종자의 발아에 영향을 주는 정도는 Col-0보다 더 높은지를 확인 (추가로 다른 실험이 필요할 것이다.)

1. 종자의 발아는 어떤 형식의 데이터로 표시할까?

전체 종자 중 10개의 표본종자를 추출해서 발아를 분석한다고 하자. 발아의 여부는 다음과 같이 수치로 표현한다.

종자 미발아 = 0, 종자 발아 = 1

GENE1의 10개의 표본종자중 8개의 종자가 최종적으로 발아했다면, 다음과 같이 표를 그려볼 수 있다.

GENE1 종자 1 종자 2 종자 3 종자 4 종자 5 종자 6 종자 7 종자 8 종자 9 종자 10
최종 발아 여부 0 1 1 1 0 1 1 1 1 1

이 데이터를 일종의 확률이라고 볼 수 있을까? 나는 그렇다고 생각한다. 특정 종자는 그 종자의 유전적, 환경적 요인에 따라 발아를 할 수도 있고, 못 할 수도 있다. 따라서 위의 데이터는 베르누이 분포를 따르는 것으로 보이고, 그렇기 때문에 더더욱 확률이라고 판단할 수 있다. 베르누이 분포란 매 시행마다 오직 두 가지의 가능한 결과만 일어난다고 할 때, 이러한 실험을 1회 시행하여 일어난 두 가지 결과에 의해 그 값이 각각 0과 1로 결정되는 확률변수 X에 대해서

P(X = 0) = p, P(X = 1) = q, 0 <= p <= 1, q = 1 - p

를 만족하는 확률변수 X가 따르는 확률 분포를 의미한다. 이를 풀어쓰면 다음과 같다.

종자 미발아 확률(X = 0일 확률) = p, 종자 발아 확률(X = 1일 확률) = q, q = 1 - p

각각의 종자가 발아할 기회를 하나의 시행이라고 생각해보자. 하나의 시행으로 인해 하나의 종자가 발아할 확률은 그 종자의 유전적, 환경적 요인에 의해 변한다. 10개의 종자가 발아할 기회는 각각의 10번의 시행이고, 이 모든 10개의 종자가 한 개체에서 생산된 거라면 발아의 유전적 요인은 종자 자체의 큰 변이가 없는 이상 같을 것이다. 또한 같은 플레이트 안에서 발아할 기회를 준다면 환경적 요인도 같을 것이다. 이렇게 생각한다면 종자의 발아 기회인 10번의 개별적인 시행은 유전적, 환경적 요인이 같기 때문에, 모집단에서 발아가 일어날 확률은 정확히 모르지만 서로 같다. 또한 어떤 종자가 다른 종자의 발아율에 관여하는 것도 아니기 때문에 각 시행은 독립시행이다. 앞서 언급했듯이 전체 종자의 발아 확률은 모른다. 하지만 일단은 표본 종자들에 대한 데이터의 평균(기댓값)을 구할 수는 있다. 이 데이터는 베르누이 분포에 따르기 때문에 표본에 대한 기댓값은 표본 종자의 발아 확률, 즉 0.8이다. 이 값이 전체 표본(10개)에 대한 평균이라는 것만 알고 다음으로 넘어가자.

2. 평균의 차이를 검정하기 위해 정규성을 고려해야 한다.

이번 실험에 대한 가설은 다음과 같이 설정할 수 있다.

귀무가설 (H0) : GENE1의 전체 종자의 평균 발아율은 대조군과 유의미한 차이가 없다.

대립가설 (H1) : GENE1의 전체 종자의 평균 발아율은 대조군과 유의미한 차이가 있다.

이러한 가설을 기각하거나 수용하려면 대조군과 실험군의 평균 차이가 유의미한지 검정해야 한다. 이러한 추론을 위해서 필요한 조건을 알아보았다.

임의성 조건

애기장대 한 개체 전체 종자 수는 보통 300개를 넘는다. 따라서 전체종자 발아율을 분석하기란 쉽지 않다. 따라서 모집단 중 일부(표본)를 추출하여 분석한 뒤, 이를 통해 모집단을 추정해야 할 것이다. 만약 이 모집단 중 표본을 임의로 추출할 수 있다면, 표본 평균을 통해서 전체 모집단의 평균을 추정할 수 있다. 임의추출을 하지 않으면 표본은 편향되어 부정확한 결과를 낳으므로, 평균 자체를 추정하기 위한 신뢰구간을 형성하거나 평균 차이의 유의성 검정을 시행할 수 없다.

일반성 조건

표본평균의 표본분포는 여러 조건의 성립하에 정규분포를 따른다. 중심극한 정리에 의해 모수 n은 30이상일 때, 표본평균의 표본분포는 모집단분포의 형태와 상관없이 정규분포를 따른다. 표본분포의 정규성이 따라야 유의성 검정의 확실성이 증가한다. n이 30보다 작으면 표본분포가 정규분포를 따를 수 있는 가능성은 적어진다. 즉 유의성 검정이 불확실해진다.

독립성 조건

각 관측값은 서로 독립이어야 한다는 조건 하에서 만약 1회 반복한 실험의 평균이 x라면, 이 x를 통해 전체 모집단의 평균을 검정할 수 있다. 이 조건에서 신뢰구간을 만들거나 유의성 검정을 시행할 때, 측정 불가능한 모평균의 표준펀차를 사용하는 대신 측정 가능한 표본평균의 표준편차에 대한 공식을 사용하여 표본오차를 구할 수 있다.

이 조건들을 고려하여 다음과 같이 실험설계 했다.

  1. GENE1 돌연변이체, Col-0(대조군) 각각 한 개체에서 나온 종자들 중 어림잡아 30개의 표본종자들을 튜브에 담는다. 최대한 임의성을 가지도록 해야한다. 예를 들어 미성숙한 종자와 성숙한 종자를 구분하여 표본을 추출하면 안된다. 성숙한 종자만 걸러내면 그에 따라 데이터의 편향성이 증가하여 불확실해진다. 그렇기 때문에 주어진 종자들의 개수를 세며 상태를 살펴보지 않고 어림잡아 30개의 종자를 튜브에 넣은 다음, 파이펫으로 정확히 종자 30개를 배지에 파종하는 것이 더 안전한 방법이라고 생각한다.
  2. 그룹별 정확히 30개의 종자를 발아 배지에 파종한다.
  3. 발아 경과를 살펴본다. (씨앗이 발아 했다는 확고한 기준을 정하면 좋다.)

위와 같은 과정을 최소 세 번, 즉 3 반복 실험한다. 왜 3반복 실험하는가?

A. 무작위적인 표본 설정에도 불구하고 자연적으로 발생하는 편중현상을 최소화하기 위해서다.

예를 들어 1 반복 실험의 결과값이 40 %가 나왔다. 이 값이 전체 종자의 발아율을 대표하는 것이라고 할 수 있는가? 30개의 표본종자 중 미성숙한 종자가 우연히 더 많이 들어갔을수도 있지 않을까? 이를 위해 일반적으로 구해지는 모집단의 표준편차와 평균을 이용해 지금 구한 1반복의 결과가 모집단에서 나올 수 있는 가능성이 있는지에 대한 신뢰구간을 측정하고, 2반복, 3반복 실험을 통해 가능한 신뢰구간의 오차를 최소한으로 줄이는 것이 적절하다고 볼 수 있겠다.

B. 실험의 재현성을 위해서다.

만약 발아배지에 들어간 영양분이 1반복과 2반복에서 서로 다르다면, 종자가 발아하는 확률에 환경적요인이 영향을 미치는 것이 된다. 하지만 발아배지에 영양분이 잘못들어갔는지는 본인이 깨닫지 않으면 알 수 없다. 그렇기 때문에 실수할 경우 1반복과 2반복의 실험결과가 완전히 달라질 수도 있다. 즉 식험을 반복해서 결과를 확인하는 과정은 이전 실험과의 비교를 통해 실험의 재현이 잘 됬는지 재확인하는 과정이라고도 할 수 있다.

추가로 3반복 실험도 각각의 실험간에 독립적이어야 한다. 위에서 기술했듯이 실험의 독립성 조건이 성립이 안되면 유의성 검정 결과는 불확실 해진다. 1 반복 실험 당 한 플레이트씩을 실험한다면, 3반복 실험을 한답시고 세 플레이트를 한번에 실험하면 안된다는 것이다. 이는 독립적인 시행이 아니다. 예를 들어 마지막 플레이트에 심리적인 요소 (귀찮음, 빨리 끝내고 싶음)가 충분히 들어갈 수 있다. 하나의 실험을 완전히 끝마치고 다음 실험을 수행할 수 있도록 하자.

3. 실험결과의 분석

실험을 통해 다음과 같은 데이터를 얻었다.

표 1 (가상데이터)

dfsd

이 표의 데이터에서, B3칸은 1반복 실험에서 Col-0 종자 30개를 발아 배지에 심었더니 파종 후 1일에 발아한 종자의 평균이 0.59라는 것이다. 이해가 안된다면 1번 부제목을 살펴보자.

결과를 분석해보자.

ANOVA 분석을 통한 실험의 재현성 분석

먼저, 각 반복의 실험의 재현성을 확인해봐야 한다. 파종 후 1일차에 대한 실험의 재현성에 대해 확인한다고 할 때, 작성된 raw data는 다음과 같다.

표 2 (가상데이터)

캡처

여기서 각 Col-0(1반복) column의 평균은 (1의 개수 / 모수) = 18 / 30 = 0.6 이다. 이런 방식으로 계산하면 Col-0(2반복) column의 평균은 20 / 30 = 0.66, Col-0(3반복) column의 평균은 16 / 30 = 0.53 이다. 이 세 column간의 평균 차이가 유의미하다면, 같은 Col-0 한 개체의 종자인데도 발아율에 차이가 난다는 것이 확인되는 것임으로, 실험에 오차요인이 이 평균의 변화에 영향을 끼쳤다는 것을 확인할 수 있다. 즉 세 column간의 평균 차이가 유의미하다면 각 실험의 재현성을 의심해봐야 한다. 같은 식의 분석을 GENE1에도 적용한다.

이렇게 세 개 집단 이상간 (여기서는 Col-0 1반복, 2반복, 3반복)의 평균의 차이의 유의성을 검정하는 방식을 ANOVA (Analysis of variance)분석이라 한다. SPSS 통계 분석 프로그램을 이용해 ANOVA 분석을 시행하여 파종 후 1일차의 Col-0 3반복 실험성의 재현성을 입증해보자.

insert 클릭 -> New Analysis 클릭하면 다음의 창이 나온다. 여기서 빨간색 부분을 클릭하여 분석할 통계량의 범위를 지정하자.

sff

OK 버튼을 클릭하면 다음과 같은 창이 뜬다.

1234

첫 번째 설정인 Experimental design에서, 나는 No matching or pairing을 선택했다. 각각의 row가 아닌, 각각의 column의 평균을 모두 계산해서 비교하기 때문이다.

두 번째 설정에서, nonparametric test는 모수가 보통 정규성을 띠지 않을 때 자주 사용한다. 따라서 선택하지 않는다. (정규성 여부 설정)

세 번째 설정은, ‘등분산 (equal SDs)’‘을 가정하는지‘를 물어보는 것이다. 이를 풀어쓰면 다음과 같다. ‘집단 간에 측정된 분산이 서로 같은가?’

등분산 검정에 대한 내용은 링크를 통해 들어가면 더 잘 알 수 있을 것이다. 나는 코드를 이용하여 다음 세 그룹에 대한 등분산 검정을 실시하였다.

import scipy
from scipy.stats import levene
a = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
b = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
c = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
stat, p = levene(a, b, c)
>>> p = 0.582527071503988

분산이 서로 다를 확률은 58 %로, 분산이 서로 같다고 하는 귀무가설을 기각할 수 있다.

즉 여기서는 표준적인 ANOVA 분석이 아닌 등분산을 가정하지 않는 ANOVA 분석인 Welch ANOVA 분석을 사용해야 한다. 이렇게 사용하는 데이터의 형식에 따라 분석해야 하는 통계기법은 각기 다르다. 올바른 통계기법을 사용하지 않으면, 애써서 실험을 했더라도 그 결과를 제대로 분석하지 못할 수도 있다는 걸 깨달았다. 한편 ‘등분산이 같지 않으면, 이 데이터가 확실하지 않을 수도 있는 것인가?’라는 의문을 품었다. 조사 결과 그렇지 않다. 분산의 비동일성이 분산 분석 추론에 미치는 영향은 다음의 조건 하에서 아주 작다.

  1. 데이터 모형에 고정요인인 하나의 범주형 변수만 포함되어 있다.

    나는 데이터의 척도를 발아의 성공과 실패로 나눴기 때문에 이 척도를 범주형 변수라 볼 수 있고, 데이터 모형에 있는 범주형 변수는 한 개 뿐이다.

  2. 집단 간의 표본 크기는 서로 같다.

    분석할 대상인 Col-0 (1반복, 2반복, 3반복) column의 크기는 30으로 같다.

따라서 위 데이터의 분산이 집단간에 서로 다르다고 해도, 이 분산의 비동일성은 ANOVA 분석에 큰 영향을 미치지 않는다.

즉, 정규성과 분산의 비동일성을 가정하고, Col-0 세 그룹에 대한 ANOVA 분석을 시행하면 다음 사진과 같은 결과가 나온다.

anova

그 결과 P value는 0.5848로 ‘유의하지 않은’ 것으로 확인되었고, 따라서 파종 후 1일차의 Col-0 3반복 실험은, 실험 간에 평균의 유의한 차이가 나지 않았음이 확인되었다.

실험의 재현성은 확인되었고, 다음 글에서 각 그룹(Col-0, GENE1)의 발아율 차이가 유의한지 검정해보도록 하겠다.