한 학교에서 새로운 수업방식의 효과를 평가한다고 하자.
연구자는 10개 학급에서 학생 30명씩, 총 300명의 시험점수를 수집했다. 분석 프로그램에는 300개의 행이 있으므로 표본크기를 300명이라고 생각하기 쉽다.
하지만 같은 학급의 학생들은 완전히 독립적이지 않을 수 있다.
- 같은 교사에게 배운다.
- 같은 교재와 시험환경을 공유한다.
- 서로 대화하고 영향을 주고받는다.
- 학급별 분위기와 학습수준이 다르다.
이러한 구조를 무시하고 300명의 점수를 모두 독립적인 자료처럼 분석하면 실제보다 정보가 많은 것처럼 계산될 수 있다. 표준오차가 지나치게 작아지고, 신뢰구간이 좁아지며, p값이 작아질 가능성이 있다.
이번에는 두 집단의 시험점수를 비교한다고 하자. 한 집단은 점수가 대칭적으로 분포하지만 다른 집단에는 극단적인 고득점자가 몇 명 포함되어 있다. 두 집단의 분산도 크게 다르다.
이 상황에서 일반적인 독립표본 t검정을 기계적으로 적용하면 계산 자체는 완료된다. 그러나 계산이 완료되었다는 사실과 결과가 타당하다는 사실은 다르다.
통계분석은 데이터만 입력하면 자동으로 결론을 만드는 과정이 아니다. 분석방법이 자료의 생성구조와 어느 정도 맞는지를 확인해야 한다.
대표적으로 확인해야 할 조건이 다음 세 가지다.
- 독립성
- 정규성
- 등분산성
그러나 중요한 점이 있다.
모든 통계기법이 독립성, 정규성과 등분산성을 동시에 요구하는 것은 아니다.
어떤 분석에서는 원자료가 아니라 잔차의 정규성이 중요하다. Welch t검정은 두 집단의 등분산을 요구하지 않는다. 혼합모형과 일반화추정방정식은 관측값 사이의 의존성을 분석에 반영한다.
가정 점검은 세 항목을 기계적으로 통과시키는 절차가 아니다.
내가 사용하려는 분석방법이 무엇을 가정하며, 현재 자료가 그 가정에서 얼마나 벗어나 있는지를 판단하는 과정이다.
세 가지 가정은 어디에 적용되는가
통계분석의 가정은 대개 원자료 전체보다 분석모형의 오차나 잔차에 적용된다.
단순한 선형회귀모형을 생각해 보자.
\[
Y_i=\beta_0+\beta_1X_i+\varepsilon_i
\]
여기서 다음과 같이 구분할 수 있다.
- \(Y_i\): 관찰된 결과
- \(X_i\): 설명변수
- \(\beta_0,\beta_1\): 회귀계수
- \(\varepsilon_i\): 모형으로 설명되지 않는 오차
고전적인 선형회귀의 세 조건은 대략 다음과 같이 표현할 수 있다.
독립성:
\[
\varepsilon_i\text{와 }\varepsilon_j\text{가 서로 독립적이다}
\]
정규성:
\[
\varepsilon_i\sim N(0,\sigma^2)
\]
등분산성:
\[
V(\varepsilon_i\mid X_i)=\sigma^2
\]
중요한 것은 \(Y\)가 반드시 정규분포여야 한다는 말이 아니라, 설명변수를 고려한 뒤 남은 오차의 구조가 모형의 가정과 맞아야 한다는 점이다.
분석방법별 가정 비교
| 분석방법 | 독립성 | 정규성 | 등분산성 |
|---|---|---|---|
| 독립표본 Student t검정 | 관측값 간 독립 | 각 집단의 오차분포 | 두 집단 분산이 같음 |
| Welch t검정 | 관측값 간 독립 | 각 집단의 오차분포 | 필요하지 않음 |
| 대응표본 t검정 | 서로 다른 쌍이 독립 | 원점수가 아니라 차이값 | 집단 간 등분산 불필요 |
| 고전적 일원분산분석 | 관측값 간 독립 | 집단 내 오차 | 집단별 분산이 같음 |
| Welch 분산분석 | 관측값 간 독립 | 집단 내 오차 | 필요하지 않음 |
| 일반 선형회귀 | 오차 간 독립 | 작은 표본의 정확한 추론에서 중요 | 일반 표준오차에 필요 |
| 혼합효과모형 | 의존구조를 모형화 | 설정한 오차·랜덤효과 분포 | 분산구조를 별도로 설정 가능 |
| GEE | 군집 간 독립 | 결과변수의 정규성 불필요 | 강건한 분산추정 사용 가능 |
| 로지스틱 회귀 | 조건부 독립성 | 결과변수 정규성 불필요 | 연속형 회귀의 등분산성 적용 안 됨 |
이 표에서 알 수 있듯이 “데이터가 정규분포가 아니므로 회귀분석을 사용할 수 없다”거나 “등분산성이 기각되었으므로 모든 모수검정을 포기해야 한다”는 결론은 지나치게 단순하다.
독립성은 분석보다 설계에서 결정된다
독립성은 관측값 하나가 다른 관측값에 관한 추가적인 정보를 제공하지 않는 상태를 뜻한다.
설문에 참여한 100명이 서로 관계없는 사람이라면 독립성을 기대할 수 있다. 하지만 같은 가족, 학급, 병원이나 회사에 속해 있다면 관측값이 서로 비슷할 수 있다.
독립성은 다음 상황에서 자주 위반된다.
반복측정
같은 사람의 혈압을 치료 전, 치료 4주 후와 치료 8주 후에 측정했다고 하자.
한 사람에게서 나온 세 개의 혈압값은 서로 관련되어 있다. 이를 서로 다른 세 사람의 자료처럼 분석해서는 안 된다.
반복측정 자료에는 다음과 같은 방법을 고려할 수 있다.
- 대응표본 t검정
- 반복측정 분산분석
- 선형혼합효과모형
- 일반화추정방정식
- 종단자료 모형
군집자료
같은 학교의 학생, 같은 병원의 환자와 같은 기업의 직원은 공통된 환경을 공유한다.
군집 내 관측값의 유사성을 군집내상관계수로 나타낼 수 있다.
이를 \(\rho\), 평균 군집크기를 \(m\)이라고 하면 단순한 설계효과는 다음과 같다.
\[
DE=1+(m-1)\rho
\]
학급당 학생이 30명이고 군집내상관계수가 0.10이면 다음과 같다.
\[
DE=1+(30-1)\times0.10=3.9
\]
명목상 표본이 300명이더라도 단순한 유효표본 수는 다음과 같이 생각할 수 있다.
\[
\frac{300}{3.9}\approx76.9
\]
정확한 유효표본 수는 설계와 분석모형에 따라 달라지지만, 같은 학급 학생 300명이 서로 독립적인 학생 300명과 같은 정보를 제공하지 않는다는 사실을 보여준다.
Hurlbert(1984)는 실제 독립적인 실험단위보다 많은 반복측정값을 독립표본처럼 취급하는 문제를 의사반복이라고 설명했다.
가족·네트워크 자료
같은 가족의 생활습관과 건강상태는 비슷할 수 있다. 친구관계나 온라인 네트워크에서도 한 사람의 행동이 다른 사람에게 영향을 줄 수 있다.
SNS 설문이 친구 추천을 통해 퍼졌다면 응답자가 무작위로 독립적으로 선택되었다고 보기 어렵다.
네트워크 의존성은 단순한 군집보다 더 복잡할 수 있다. 어떤 사람이 여러 집단과 연결되기 때문이다.
시계열 자료
오늘의 매출은 어제의 매출과 관련될 수 있다. 오늘의 주가변동, 기온과 미세먼지도 이전 시점의 값과 연관될 수 있다.
시계열에서 오차가 시간에 따라 연관되는 현상을 자기상관이라고 한다.
\[
\varepsilon_t=\rho\varepsilon_{t-1}+u_t
\]
시간적 의존성을 무시하면 표준오차와 검정결과가 잘못될 수 있다.
공간자료
인접지역의 집값, 감염률과 환경오염 수치는 서로 비슷한 경향을 가질 수 있다.
가까운 지역끼리 상관되어 있는데 일반 회귀분석으로 모두 독립적인 지역처럼 처리하면 공간적 자기상관이 남는다.
측정단위와 실험단위를 구분해야 한다
한 농장에서 식물 100개의 잎을 측정했다고 하자.
비료처리는 농장 한 곳에만 적용되었고, 같은 농장에서 잎 100개를 측정했다면 독립적인 실험단위가 100개라고 볼 수 없다.
잎은 측정단위이고 비료가 독립적으로 배정된 농장이 실험단위다.
다음 두 질문을 구분해야 한다.
몇 개의 값을 측정했는가?
처치나 조건이 몇 개의 독립적인 단위에 배정되었는가?
같은 환자에게서 세포 1,000개를 측정했다고 해서 환자가 1,000명인 것은 아니다.
같은 학교에서 학생 500명을 조사했다고 해서 학교 수준 정책의 독립표본이 500개인 것도 아니다.
독립성을 판단할 때는 데이터프레임의 행 수보다 연구가 실제로 복제된 단위를 봐야 한다.
독립성은 통계검정 하나로 확인하기 어렵다
정규성과 등분산성에는 진단검정이 있지만 독립성은 주로 연구설계를 통해 판단한다.
다음 정보를 확인해야 한다.
- 같은 대상자를 반복 측정했는가?
- 같은 가족·학급·병원의 사례가 포함되었는가?
- 자료에 시간적 순서가 있는가?
- 공간적으로 가까운 관측값인가?
- 실험처치는 어느 수준에서 배정되었는가?
- 한 대상자가 여러 행에 나타나는가?
- 표본추출이 네트워크나 추천방식으로 이루어졌는가?
시계열 회귀에서는 잔차의 자기상관함수와 Durbin–Watson 검정 등을 사용할 수 있다. 그러나 이런 검정도 독립성의 모든 형태를 확인하지는 못한다.
독립성은 사후검정으로 만들어내는 가정이 아니라 자료수집 구조에서 이해해야 하는 조건이다.
독립성이 깨지면 무엇이 달라지는가
양의 상관을 가진 관측값을 독립적으로 취급하면 같은 정보가 반복되어 있는 것을 새로운 정보처럼 계산할 수 있다.
그 결과 흔히 다음 현상이 나타난다.
- 표준오차 과소추정
- 신뢰구간 과도하게 축소
- p값 과소추정
- 1종 오류 증가
- 유효표본 수 과대평가
다만 의존성의 방향과 구조에 따라 영향이 항상 같은 것은 아니다. 음의 상관이나 복잡한 가중구조에서는 표준오차가 다른 방향으로 변할 수도 있다.
핵심은 독립성 위반이 평균이나 회귀계수를 반드시 바꾸는 것이 아니라, 주로 불확실성을 계산하는 방식과 추론의 타당성을 바꾼다는 점이다.
독립성 위반의 대안
| 자료구조 | 적절한 접근 |
|---|---|
| 동일 대상의 전후 측정 | 대응표본 분석 |
| 여러 시점의 반복측정 | 혼합효과모형, GEE |
| 학교·병원별 군집 | 다수준모형, 군집강건 표준오차 |
| 시계열 | ARIMA, GLS, HAC 표준오차 |
| 공간자료 | 공간회귀, 공간랜덤효과 |
| 가족·쌍 자료 | 가족·쌍을 반영한 군집모형 |
| 정책이 지역단위로 배정 | 지역 수준 군집화 |
군집분석은 비슷한 대상을 묶는 탐색적 기법이다. 군집된 관측값의 의존성을 보정하는 분석방법과는 다르다.
또한 군집강건 표준오차는 군집 수가 충분히 많을 때 더 안정적이다. 병원이 5곳뿐인데 환자가 수만 명이라고 해서 일반적인 군집강건 추론이 자동으로 정확해지는 것은 아니다.
정규성은 원자료가 아니라 무엇에 필요한가
정규성에 관해 가장 흔한 오해는 다음과 같다.
분석하려는 모든 변수는 정규분포를 따라야 한다.
선형회귀에서 설명변수 \(X\)는 정규분포일 필요가 없다.
성별처럼 0과 1로 된 변수를 설명변수로 사용할 수도 있고, 소득처럼 오른쪽으로 치우친 변수를 사용할 수도 있다.
고전적 선형회귀에서 정규성이 요구되는 대상은 일반적으로 설명변수를 고려한 조건부 오차다.
\[
\varepsilon_i\sim N(0,\sigma^2)
\]
독립표본 t검정에서는 각 집단의 점수가 정규분포를 따른다는 가정으로 표현할 수 있다. 이는 두 집단 평균만 고려한 회귀모형에서 잔차가 정규분포를 따른다는 말과 연결된다.
대응표본 t검정에서는 치료 전 점수와 치료 후 점수가 각각 정규분포일 필요가 없다. 두 값의 차이가 정규분포에 가까운지가 중요하다.
\[
D_i=Y_{i,\mathrm{후}}-Y_{i,\mathrm{전}}
\]
정규성을 어느 변수에서 점검해야 하는지 분석방법에 따라 달라진다.
정규성은 왜 필요한가
정규성 가정은 작은 표본에서 t통계량과 F통계량의 정확한 분포를 도출하는 데 사용된다.
그러나 정규성은 회귀계수를 계산하기 위한 필수조건은 아니다.
선형관계와 오차의 조건부 평균이 적절하게 설정되었다면, 오차가 정규분포가 아니어도 최소제곱 회귀계수는 유용한 추정량이 될 수 있다.
정규성 위반은 주로 다음에 영향을 준다.
- 작은 표본의 p값
- 작은 표본의 신뢰구간
- 극단값에 대한 민감성
- 예측구간
- 분산분석의 F검정
- 잔차분포를 이용한 정확추론
Lumley 등(2002)은 표본이 충분히 크고 극단적인 꼬리나 의존구조 문제가 심하지 않다면 평균과 회귀계수에 관한 추론이 정규성 위반에 상당히 강건할 수 있다고 설명했다.
그러나 “표본이 30명 이상이면 정규성을 무시해도 된다”는 규칙은 정확하지 않다.
표본 30명 규칙이 위험한 이유
중심극한정리는 적절한 조건 아래에서 표본평균의 분포가 표본크기가 커질수록 정규분포에 가까워진다고 설명한다.
그러나 어느 정도의 표본이 충분한지는 원자료의 분포에 따라 달라진다.
- 분포가 대칭적이고 꼬리가 가벼우면 작은 표본에서도 근사가 좋을 수 있다.
- 심하게 치우친 분포에서는 수백 명이 필요할 수 있다.
- 분산이 존재하지 않는 매우 두꺼운 꼬리에서는 일반적인 중심극한정리 적용이 어렵다.
- 극단값이 존재하면 표본평균이 불안정할 수 있다.
- 집단별 표본 수가 크게 다르면 강건성이 낮아질 수 있다.
- 관측값이 독립적이지 않으면 단순한 중심극한정리를 적용할 수 없다.
표본크기 30은 자연법칙이 아니다.
정규성 위반의 정도, 표본의 균형, 이상치, 분산 차이와 분석목적을 함께 고려해야 한다(Blanca et al., 2017; Box, 1953).
히스토그램만으로 정규성을 판단하면 안 된다
히스토그램은 구간의 수와 경계에 따라 모양이 달라진다.
같은 자료도 구간을 5개로 나누면 대칭적으로 보이고, 30개로 나누면 불규칙하게 보일 수 있다.
따라서 정규성은 여러 방법을 함께 사용해 살펴보는 것이 좋다.
Q-Q 그림
Q-Q 그림은 관찰된 분위수와 정규분포에서 기대되는 분위수를 비교한다.
점들이 기준선에 대체로 놓이면 정규분포와 비슷하다고 볼 수 있다.
다음 패턴을 확인할 수 있다.
- 양쪽 끝만 크게 벗어남: 꼬리가 두껍거나 이상치 존재
- 한 방향으로 굽음: 비대칭 분포
- S자 모양: 꼬리 두께가 다름
- 여러 개의 꺾임: 혼합분포 가능성
Q-Q 그림은 완벽한 직선을 요구하는 도구가 아니다. 분석결과에 영향을 줄 만큼 중요한 이탈이 있는지를 확인하는 도구다.
잔차그림
회귀분석에서는 원래 결과변수의 히스토그램보다 모형 잔차의 Q-Q 그림을 확인해야 한다.
원자료가 크게 치우쳐 있어도 설명변수로 그 구조를 잘 설명하면 잔차는 비교적 대칭적일 수 있다.
반대로 원자료가 정규분포처럼 보여도 비선형관계를 잘못 직선으로 적합하면 잔차에 체계적인 패턴이 남을 수 있다.
Shapiro–Wilk 검정의 올바른 사용
Shapiro–Wilk 검정의 귀무가설은 자료가 정규분포에서 나왔다는 것이다(Shapiro & Wilk, 1965).
p값이 작으면 정규분포와의 불일치에 대한 증거를 제공한다.
하지만 다음처럼 해석해서는 안 된다.
p값이 0.05보다 크므로 정규분포가 증명되었다.
작은 표본에서는 심한 비정규성도 발견하지 못할 수 있다. 큰 표본에서는 분석에 거의 영향을 주지 않는 미세한 차이도 통계적으로 유의할 수 있다.
예를 들어 관측값이 수만 개라면 Q-Q 그림에서 거의 직선처럼 보여도 Shapiro–Wilk 검정은 매우 작은 p값을 제시할 수 있다.
정규성 검정은 다음 정보와 함께 해석해야 한다.
- Q-Q 그림
- 표본크기
- 비대칭성의 정도
- 극단값
- 사용하려는 통계방법의 강건성
- 집단별 표본 수의 균형
- 분산 차이
Shapiro–Wilk 검정은 소표본에서만 사용하는 검정도 아니다. 다만 표본크기에 따라 검정력과 실질적 의미가 크게 달라진다.
Kolmogorov–Smirnov 검정의 주의점
정규분포의 평균과 표준편차를 같은 자료에서 추정한 뒤 일반적인 Kolmogorov–Smirnov 검정을 적용하면 표준 p값이 적절하지 않을 수 있다.
이 경우 Lilliefors 보정 같은 별도의 절차가 필요하다.
정규성 검정 이름을 선택하는 것보다 시각적 진단과 분석방법의 강건성을 함께 평가하는 것이 중요하다.
정규성이 깨지면 어떻게 해야 하는가
정규성 검정이 유의하다는 이유만으로 즉시 비모수검정으로 바꿀 필요는 없다.
먼저 비정규성의 원인을 확인한다.
입력오류와 이상치 확인
키 170cm가 1,700cm로 입력되었다면 분포변환이 아니라 원자료 수정이 필요하다.
실제 극단값이라면 삭제 여부보다 결과가 해당 값에 얼마나 민감한지 확인한다.
적절한 분포를 사용하는 모형
결과가 개수라면 포아송 또는 음이항 회귀를 고려할 수 있다.
결과가 0과 1이라면 로지스틱 회귀가 자연스럽다.
양수이면서 오른쪽으로 치우친 비용자료에는 감마회귀가 적절할 수 있다.
원자료를 억지로 정규분포에 맞추는 것보다 자료생성과정에 맞는 확률분포를 선택하는 편이 좋다.
변수변환
오른쪽으로 치우친 양수자료에는 로그변환을 고려할 수 있다.
\[
Y_i^*=\log(Y_i)
\]
그러나 로그변환은 단지 정규성 검정을 통과시키기 위한 절차가 아니다.
로그척도에서 효과는 절대적인 차이보다 비율이나 상대적 변화에 가깝게 해석된다. 연구질문이 로그척도 해석과 맞는지 확인해야 한다.
부트스트랩
표본을 반복적으로 재추출해 추정량의 분포를 근사할 수 있다.
하지만 군집자료에서는 개인이 아니라 군집단위로 재추출해야 할 수 있다. 시계열에서는 블록 부트스트랩을 사용해야 한다.
독립성이 깨진 자료에 일반적인 개별 관측값 부트스트랩을 적용하면 의존구조가 사라진다.
순열검정
귀무가설 아래에서 집단표지를 바꾸어 검정통계량의 분포를 만들 수 있다.
순열검정도 임의로 모든 관측값의 집단을 바꿀 수 있는 것은 아니다. 대응자료는 쌍 안에서, 군집무작위시험은 군집 수준에서 순열해야 한다.
순위기반 검정
Mann–Whitney 검정과 Kruskal–Wallis 검정을 사용할 수 있다.
그러나 이 검정들이 언제나 중앙값 차이를 검정하는 것은 아니다. 분포모양이 다르면 위치뿐 아니라 전체 분포 차이에 반응할 수 있다.
비모수검정은 가정이 전혀 없는 분석도 아니다. 독립성은 여전히 중요하다.
등분산성은 집단의 분산이 같다는 가정이다
두 집단의 등분산성은 다음처럼 표현할 수 있다.
\[
\sigma_1^2=\sigma_2^2
\]
여러 집단이라면 다음과 같다.
\[
\sigma_1^2=\sigma_2^2=\cdots=\sigma_k^2
\]
회귀분석의 등분산성은 설명변수의 수준과 관계없이 오차분산이 일정하다는 뜻이다.
\[
V(\varepsilon_i\mid X_i)=\sigma^2
\]
예를 들어 소득이 높아질수록 소비금액의 개인차도 커진다면 잔차가 부채꼴 모양으로 퍼질 수 있다. 이는 이분산성이다.
등분산성은 비교의 도덕적 공정성을 뜻하는 개념이 아니다. 고전적인 검정통계량과 표준오차 계산을 성립시키는 수학적 조건이다.
이분산성이 t검정에 미치는 영향
두 독립집단의 평균을 비교하는 Student t검정은 통합분산을 사용한다.
두 집단의 분산이 실제로 다르면 통합분산이 적절한 표준오차를 제공하지 못할 수 있다.
특히 다음 상황에서 문제가 커질 수 있다.
- 두 집단의 표본크기가 다르다.
- 작은 집단의 분산이 더 크다.
- 분포가 비정규적이다.
- 이상치가 존재한다.
“분산이 큰 집단에서는 작은 차이도 쉽게 유의해진다”라고 일반화하기는 어렵다. 표본크기와 분산이 어떤 방향으로 결합되는지에 따라 검정이 지나치게 보수적이거나 지나치게 자유로워질 수 있다.
Welch t검정
Welch t검정은 두 집단의 분산이 같다고 가정하지 않는다(Welch, 1947).
R의 t.test()는 기본적으로 Welch t검정을 사용한다.
등분산이 실제로 성립할 때 Welch 검정은 Student 검정에 비해 검정력 손실이 크지 않지만, 분산이 다를 때는 1종 오류를 더 안정적으로 통제하는 경우가 많다(Delacre et al., 2017).
따라서 두 독립집단 평균 비교에서는 등분산 검정 결과에 따라 Student와 Welch를 번갈아 선택하기보다 Welch 검정을 기본으로 사용하는 접근이 합리적일 수 있다.
등분산성을 먼저 검정하고 t검정을 선택하면 되는가
다음 절차가 흔히 사용된다.
- Levene 검정을 실시한다.
- p값이 0.05보다 크면 Student t검정을 사용한다.
- p값이 0.05보다 작으면 Welch t검정을 사용한다.
이 절차는 간단하지만 문제가 있다.
분산검정도 표본크기의 영향을 받는다.
- 작은 표본에서는 큰 분산차이를 발견하지 못할 수 있다.
- 큰 표본에서는 사소한 분산차이도 유의할 수 있다.
- 두 단계의 선택과정이 최종 검정의 오류율을 복잡하게 만든다.
- 분산검정 결과가 비유의라는 사실은 등분산이 증명되었다는 뜻이 아니다.
Welch 검정을 처음부터 사용하면 이러한 사전검정 의존성을 줄일 수 있다(Gastwirth et al., 2009).
Levene 검정과 Brown–Forsythe 검정
Levene 검정은 각 관측값이 집단 중심에서 얼마나 떨어져 있는지를 이용해 분산 차이를 평가한다.
원래 Levene 검정은 집단평균을 중심으로 사용한다.
Brown–Forsythe 방식은 집단중앙값을 중심으로 사용해 비정규성과 이상치에 더 강건하도록 수정한 방법이다(Brown & Forsythe, 1974).
R의 car::leveneTest()에서 center = median을 사용하면 중앙값 기반 검정을 수행할 수 있다.
검정결과만 보지 말고 다음도 함께 확인해야 한다.
- 집단별 표준편차
- 집단별 사분위범위
- 상자그림
- 집단별 표본크기
- 이상치
- 분산비율
- 평균과 분산의 관계
분산분석에서도 Welch 방법을 사용할 수 있다
세 집단 이상의 평균을 비교하는 고전적 일원분산분석도 집단별 분산이 같다는 가정을 사용한다.
분산이 다르고 표본크기도 불균형하다면 Welch 분산분석을 고려할 수 있다.
R에서는 다음 함수를 사용할 수 있다.
oneway.test(
score ~ group,
data = study_data,
var.equal = FALSE
)RWelch 분산분석 후 집단별 사후비교가 필요하다면 등분산을 가정하지 않는 Games–Howell 방법 등을 고려할 수 있다.
고전적 ANOVA를 사용한 뒤 등분산을 가정하는 Tukey 검정만 적용하면 분석의 전제가 일치하지 않을 수 있다.
회귀분석에서 이분산성이 생기면 무엇이 문제인가
선형회귀에서 다음 조건이 만족된다고 하자.
- 평균구조가 올바르게 지정되었다.
- 중요한 교란이 적절히 처리되었다.
- 오차의 조건부 평균이 0이다.
이 경우 이분산성이 있더라도 최소제곱 회귀계수가 반드시 편향되는 것은 아니다.
문제는 일반적인 표준오차가 잘못 계산될 수 있다는 점이다.
그 결과 다음 값이 부정확해질 수 있다.
- t통계량
- p값
- 신뢰구간
- 예측구간
- 모형 효율성
White(1980)는 이분산성의 형태를 정확히 알지 못해도 사용할 수 있는 이분산성 일치 분산추정량을 제시했다.
이분산성 강건 표준오차
HC0, HC1, HC2와 HC3 등의 강건 표준오차를 사용할 수 있다.
표본이 작거나 레버리지가 높은 관측값이 있을 때는 HC3가 자주 권장된다(Hayes & Cai, 2007).
강건 표준오차는 회귀계수를 바꾸지 않는다. 회귀계수의 불확실성 계산을 조정한다.
따라서 비선형관계, 누락변수와 영향력 있는 이상치까지 해결해 주는 방법은 아니다.
가중최소제곱
분산구조를 합리적으로 모형화할 수 있다면 분산이 큰 관측값에 작은 가중치를 부여할 수 있다.
그러나 가중치가 잘못 설정되면 다른 문제가 발생할 수 있다. 단지 잔차그림이 부채꼴이라는 이유로 임의의 가중치를 적용해서는 안 된다.
적절한 일반화선형모형
결과가 개수나 비율이라면 평균과 분산이 원래 연결되어 있을 수 있다.
포아송분포에서는 평균과 분산이 같고, 이항분포에서는 확률에 따라 분산이 달라진다.
이러한 자료에 정규 선형회귀의 등분산성을 요구하기보다 자료형에 맞는 일반화선형모형을 사용하는 편이 자연스럽다.
독립성·정규성·등분산성 가운데 무엇이 가장 중요한가
세 조건을 단순한 우선순위로 정할 수는 없지만 독립성 위반은 특히 연구설계와 연결되어 있어 중요하다.
정규성이나 등분산성 위반에는 Welch 검정, 강건 표준오차, 변환과 일반화선형모형 같은 대안이 있다.
독립적이지 않은 관측값을 독립적으로 만든 것처럼 사후 처리하는 것은 어렵다. 분석에서 의존구조를 모형화할 수는 있지만, 독립적인 실험단위가 한 개뿐이라면 새로운 복제를 통계기법으로 만들어낼 수 없다.
| 가정 | 주된 영향 | 대표적 대응 |
|---|---|---|
| 독립성 | 유효표본 수와 표준오차 | 혼합모형, GEE, 군집강건 추론 |
| 정규성 | 작은 표본의 정확추론과 꼬리확률 | 강건방법, 변환, GLM, 부트스트랩 |
| 등분산성 | 표준오차와 검정통계량 | Welch 검정, HC 표준오차, 분산모형 |
가정은 개별적으로만 깨지지 않는다
현실에서는 정규성과 등분산성이 함께 위반되는 경우가 많다.
예를 들어 소득자료는 오른쪽으로 치우치고 소득수준이 높을수록 변동성도 커질 수 있다.
집단별 표본크기까지 다르면 고전적 t검정이나 ANOVA의 성능이 더 나빠질 수 있다.
다음 조합은 특히 주의해야 한다.
- 작은 표본과 심한 비대칭
- 불균형 표본과 이분산성
- 극단값과 작은 표본
- 군집자료와 적은 군집 수
- 시계열과 이분산성
- 반복측정과 불규칙한 결측
- 비선형관계와 비정규 잔차
가정 하나의 검정결과만 보고 분석을 선택해서는 안 되는 이유다.
R로 독립표본 자료의 가정을 확인하기
두 교육집단의 가상 점수자료를 만들어보자.
set.seed(2026)
study_data <- data.frame(
group = factor(
rep(
c("기존", "신규"),
each = 40
)
),
score = c(
rnorm(
40,
mean = 70,
sd = 6
),
rnorm(
40,
mean = 75,
sd = 12
)
)
)R집단별 평균과 표준편차를 확인한다.
aggregate(
score ~ group,
data = study_data,
FUN = function(x) {
c(
mean = mean(x),
sd = sd(x),
median = median(x),
iqr = IQR(x)
)
}
)R상자그림을 확인한다.
boxplot(
score ~ group,
data = study_data,
xlab = "교육집단",
ylab = "시험점수",
main = "집단별 시험점수 분포"
)R상자그림은 이상치, 중심과 분산 차이를 함께 살펴보는 도구다. 상자그림 밖의 값을 자동으로 삭제해서는 안 된다.
R로 잔차의 정규성 확인하기
집단변수를 설명변수로 사용한 선형모형을 적합한다.
group_model <- lm(
score ~ group,
data = study_data
)R표준화 잔차의 Q-Q 그림을 확인한다.
standardized_residuals <- rstandard(
group_model
)
qqnorm(
standardized_residuals,
main = "표준화 잔차 Q-Q 그림"
)
qqline(
standardized_residuals
)R히스토그램도 확인할 수 있다.
hist(
standardized_residuals,
breaks = 12,
main = "표준화 잔차 분포",
xlab = "표준화 잔차"
)RShapiro–Wilk 검정을 추가한다.
shapiro.test(
standardized_residuals
)Rp값 하나로 정규성 여부를 판정하지 말고 Q-Q 그림, 표본크기와 이상치를 함께 확인해야 한다.
R로 등분산성 확인하기
중앙값 기반 Levene 검정을 사용하려면 car 패키지를 이용할 수 있다.
# 최초 한 번만 실행
# install.packages("car")
library(car)RBrown–Forsythe 방식의 검정을 실행한다.
leveneTest(
score ~ group,
data = study_data,
center = median
)R집단별 표준편차도 직접 확인한다.
tapply(
study_data$score,
study_data$group,
sd
)RLevene 검정이 비유의하다는 이유만으로 등분산을 확정해서는 안 된다. 표준편차의 크기, 표본균형과 분포를 함께 판단해야 한다.
R에서 Student와 Welch t검정 비교하기
등분산을 가정하는 Student t검정은 다음과 같다.
student_result <- t.test(
score ~ group,
data = study_data,
var.equal = TRUE
)
student_resultR등분산을 가정하지 않는 Welch t검정은 다음과 같다.
welch_result <- t.test(
score ~ group,
data = study_data,
var.equal = FALSE
)
welch_resultR두 결과에서 다음 값을 비교한다.
- 평균 차이
- 자유도
- p값
- 신뢰구간
Welch 검정은 집단별 분산과 표본크기를 별도로 반영하므로 자유도가 정수가 아닐 수 있다.
R의 기본 t.test()는 var.equal = FALSE가 기본값이다.
R로 회귀분석의 이분산성 확인하기
광고비와 매출의 가상자료를 만들어보자.
set.seed(2026)
marketing_data <- data.frame(
ad_spend = seq(
10,
200,
length.out = 150
)
)
marketing_data$sales <-
50 +
2.5 *
marketing_data$ad_spend +
rnorm(
150,
mean = 0,
sd =
5 +
0.15 *
marketing_data$ad_spend
)R선형회귀모형을 적합한다.
sales_model <- lm(
sales ~ ad_spend,
data = marketing_data
)
summary(
sales_model
)R예측값과 잔차를 그린다.
plot(
fitted(
sales_model
),
residuals(
sales_model
),
xlab = "예측값",
ylab = "잔차",
main = "잔차와 예측값"
)
abline(
h = 0,
lty = 2
)R예측값이 커질수록 잔차의 폭이 넓어지는 부채꼴 모양이 나타나면 이분산성을 의심할 수 있다.
Breusch–Pagan 검정과 강건 표준오차
필요한 패키지를 설치한다.
# 최초 한 번만 실행
# install.packages(c("lmtest", "sandwich"))
library(lmtest)
library(sandwich)RBreusch–Pagan 검정을 실행한다.
bptest(
sales_model
)RHC3 강건 표준오차를 계산한다.
coeftest(
sales_model,
vcov. = vcovHC(
sales_model,
type = "HC3"
)
)R일반 표준오차와 강건 표준오차를 비교한다.
ordinary_result <- coef(
summary(
sales_model
)
)
robust_result <- coeftest(
sales_model,
vcov. = vcovHC(
sales_model,
type = "HC3"
)
)
ordinary_result
robust_resultR회귀계수는 같지만 표준오차, t통계량과 p값이 달라질 수 있다.
Breusch–Pagan 검정이 비유의하다고 등분산성이 증명되는 것은 아니다. 잔차그림과 연구맥락을 함께 확인해야 한다.
R로 군집자료 분석하기
학생이 학교 안에 군집되어 있다고 하자.
다음과 같은 자료구조를 가정한다.
score: 시험점수program: 교육 프로그램school: 학교 식별자
혼합효과모형은 학교별 절편을 랜덤효과로 포함할 수 있다.
# 최초 한 번만 실행
# install.packages("lme4")
library(lme4)R모형을 적합한다.
mixed_model <- lmer(
score ~
program +
(
1 |
school
),
data = school_data
)
summary(
mixed_model
)R다음 부분은 학교별로 서로 다른 기준수준을 허용한다.
(1 | school)R동일한 학생을 여러 시점에 측정했다면 개인 식별자를 랜덤효과로 사용할 수 있다.
repeated_model <- lmer(
outcome ~
group *
time +
(
1 |
participant_id
),
data = longitudinal_data
)
summary(
repeated_model
)R필요한 경우 개인별 시간기울기도 다르게 설정할 수 있다.
random_slope_model <- lmer(
outcome ~
group *
time +
(
1 +
time |
participant_id
),
data = longitudinal_data
)R복잡한 랜덤효과 구조는 자료의 반복수와 독립적인 군집 수가 충분한지 검토한 뒤 사용해야 한다.
GEE로 군집 내 상관을 반영하기
모집단 평균효과에 관심이 있다면 일반화추정방정식을 사용할 수 있다(Liang & Zeger, 1986).
# 최초 한 번만 실행
# install.packages("geepack")
library(geepack)R학교별 군집을 반영한 모형은 다음처럼 적합할 수 있다.
gee_model <- geeglm(
score ~ program,
id = school,
data = school_data,
family = gaussian,
corstr = "exchangeable"
)
summary(
gee_model
)Rexchangeable 구조는 같은 학교 안의 관측값들이 공통된 상관을 가진다고 가정한다.
GEE의 강건한 표준오차도 군집 수가 매우 적을 때는 부정확할 수 있다. 학생 수뿐 아니라 학교 수를 확인해야 한다.
가정 점검을 통과·실패 표로 만들지 않는다
다음과 같은 방식은 피하는 것이 좋다.
| 가정 | 검정 p값 | 결론 |
|---|---|---|
| 정규성 | 0.047 | 실패 |
| 등분산성 | 0.061 | 통과 |
| 독립성 | 확인 안 함 | 통과로 가정 |
p값 0.047과 0.061 사이에 분석적으로 큰 차이가 있는 것은 아니다.
가정 점검은 다음 정보를 함께 검토해야 한다.
- 위반의 방향
- 위반의 크기
- 표본크기
- 집단별 표본균형
- 이상치
- 결과가 가정 위반에 얼마나 민감한지
- 사용할 수 있는 강건한 대안
- 연구설계
다음처럼 기록하는 편이 더 유용하다.
잔차 Q-Q 그림에서 오른쪽 꼬리의 이탈이 관찰되었으나 중앙부분은 대체로 직선에 가까웠다. 두 집단의 표준편차는 각각 6.1과 11.8로 차이가 있었기 때문에 등분산을 가정하지 않는 Welch t검정을 주분석으로 사용하였다. 극단값을 제외하지 않은 분석과 강건한 대안분석에서도 효과의 방향은 유지되었다.
가정이 깨졌다고 모두 비모수검정을 사용하면 안 된다
비모수검정은 정규분포를 명시적으로 가정하지 않는 경우가 많지만 다음 조건은 여전히 중요하다.
- 관측값의 독립성
- 자료의 측정수준
- 검정하려는 가설
- 집단분포의 형태
- 대응 또는 군집구조
- 동점의 수
Mann–Whitney 검정은 두 집단의 중앙값만을 비교하는 검정으로 자동 해석할 수 없다.
두 집단의 분포모양이 같고 위치만 다르다는 조건에서는 위치 차이로 해석할 수 있다. 분포의 모양이나 분산이 다르면 전체 분포 차이에 반응할 수 있다.
비모수검정을 사용하더라도 연구질문과 효과크기를 명확히 해야 한다.
분석방법을 선택하는 실무 기준
| 상황 | 우선 검토할 방법 |
|---|---|
| 독립된 두 집단, 분산 비슷함 | Welch t검정 또는 Student t검정 |
| 독립된 두 집단, 분산 다름 | Welch t검정 |
| 세 집단 이상, 분산 다름 | Welch ANOVA |
| 같은 사람의 전후 비교 | 대응표본 t검정 또는 혼합모형 |
| 반복측정이 여러 시점 | 혼합효과모형 또는 GEE |
| 학교·병원 군집자료 | 다수준모형 또는 군집강건 추론 |
| 회귀잔차에 이분산성 | HC 강건 표준오차, 분산모형 |
| 결과가 이항형 | 로지스틱 회귀 |
| 결과가 개수형 | 포아송·음이항 회귀 |
| 심한 비대칭과 이상치 | 변환, 강건통계, 적절한 분포모형 |
| 시간적 자기상관 | 시계열모형 또는 상관구조 모형 |
이 표는 자동선택 규칙이 아니다. 주결과, 효과척도, 연구설계와 표본크기를 함께 고려해야 한다.
분석보고서에는 무엇을 밝혀야 할까
“정규성, 독립성과 등분산성을 확인하였다”는 문장만으로는 충분하지 않다.
다음 정보를 구체적으로 보고해야 한다.
- 어떤 분석방법을 사용했는가?
- 각 가정은 어느 변수나 잔차에 적용되는가?
- 독립적인 실험단위는 무엇인가?
- 반복측정이나 군집구조가 있는가?
- 군집 수와 군집별 표본 수는 얼마인가?
- Q-Q 그림과 잔차그림에서 어떤 패턴이 나타났는가?
- 정규성 검정의 표본크기는 얼마인가?
- 집단별 표준편차는 얼마인가?
- 등분산을 가정한 검정인가?
- 이분산성 강건 표준오차를 사용했는가?
- 변환이나 강건분석을 사용한 이유는 무엇인가?
- 가정에 민감한 대안분석 결과는 어떠한가?
- 이상치 처리기준은 무엇인가?
- 효과크기와 신뢰구간을 함께 보고했는가?
- 사용한 프로그램과 패키지는 무엇인가?
보고문은 다음처럼 작성할 수 있다.
두 교육집단의 평균점수는 독립된 학생자료로 비교하였다. 집단별 표준편차가 각각 6.1과 11.8로 차이가 있었기 때문에 등분산을 가정하지 않는 Welch t검정을 사용하였다. 잔차 Q-Q 그림에서 오른쪽 꼬리의 일부 이탈이 확인되었으나 중심부분은 대체로 선형적이었고, 극단값을 유지한 강건분석에서도 결과의 방향과 크기는 유사했다.
군집자료라면 다음처럼 작성할 수 있다.
학생들은 학교 안에 군집되어 있었으므로 학교별 랜덤절편을 포함한 선형혼합효과모형을 사용하였다. 총 24개 학교가 분석에 포함되었으며, 잔차의 Q-Q 그림과 예측값 대비 잔차그림을 이용해 정규성과 분산구조를 점검하였다.
자주 발생하는 오류
모든 변수의 정규성을 검정한다
회귀분석에서는 설명변수가 정규분포일 필요가 없다. 분석모형의 잔차와 조건부 결과분포를 점검해야 한다.
Shapiro–Wilk 검정이 비유의하면 정규성을 증명했다고 생각한다
비유의 결과는 비정규성을 발견할 근거가 부족하다는 뜻이다. 작은 표본에서는 검정력이 낮을 수 있다.
Shapiro–Wilk 검정이 유의하면 모수검정을 사용할 수 없다고 생각한다
큰 표본에서는 사소한 이탈도 유의할 수 있다. 위반의 정도와 분석방법의 강건성을 함께 봐야 한다.
표본이 30명 이상이면 정규성을 무시한다
충분한 표본크기는 분포의 왜도, 꼬리와 이상치에 따라 달라진다.
Levene 검정이 비유의하면 Student t검정을 사용한다
분산검정의 검정력에 의존하는 두 단계 절차보다 Welch t검정을 기본으로 사용하는 방법을 고려할 수 있다.
비모수검정이 모든 가정을 해결한다고 생각한다
독립성은 여전히 필요하며, 검정하는 가설도 평균 차이와 다를 수 있다.
강건 표준오차가 비선형성과 이상치를 해결한다고 생각한다
강건 표준오차는 주로 회귀계수의 분산을 조정한다. 평균구조가 잘못되었다면 별도의 모형 수정이 필요하다.
행이 많으면 독립표본도 많다고 생각한다
같은 사람, 학교와 병원에서 반복된 행은 완전히 독립적인 표본이 아니다.
반복측정 자료에 독립표본 t검정을 사용한다
같은 사람의 관측값 사이의 상관을 무시한다. 대응분석이나 반복측정 모형이 필요하다.
집단별 분산이 다르면 평균 비교가 불가능하다고 생각한다
Welch t검정과 Welch ANOVA처럼 이분산성을 허용하는 방법이 있다.
분석 전에 확인할 질문
- 실제 독립적인 실험단위는 무엇인가?
- 같은 대상자를 여러 번 측정했는가?
- 학교·병원·가족·지역 안에 관측값이 묶여 있는가?
- 자료에 시간 또는 공간적 순서가 있는가?
- 사용하는 분석에서 정규성이 필요한 대상은 무엇인가?
- 원자료가 아니라 잔차를 확인해야 하는가?
- Q-Q 그림에서 이탈은 어느 부분에 나타나는가?
- 이상치나 입력오류가 있는가?
- 집단별 표본크기는 균형적인가?
- 집단별 표준편차는 얼마나 다른가?
- Student 검정보다 Welch 검정이 적절하지 않은가?
- 회귀잔차의 분산이 예측값에 따라 달라지는가?
- 강건 표준오차가 필요한가?
- 결과변수의 자료형에 맞는 모형인가?
- 변환 후 해석이 연구질문과 일치하는가?
- 비모수검정이 실제로 원하는 가설을 검정하는가?
- 군집 수가 충분한가?
- 가정에 덜 민감한 분석에서도 결론이 유지되는가?
- 가정 점검과 분석선택 과정을 투명하게 보고했는가?
- 효과크기와 신뢰구간을 함께 제시했는가?
통계적 가정은 통과해야 할 시험이 아닙니다
독립성, 정규성과 등분산성은 분석 전에 체크 표시를 붙이고 끝내는 형식적 조건이 아니다.
독립성은 데이터가 어떤 단위에서 수집되고 반복되었는지를 묻는다.
정규성은 원자료가 완벽한 종 모양인지보다 분석모형의 오차구조와 추론방법이 적절한지를 묻는다.
등분산성은 집단이나 설명변수의 수준에 따라 불확실성이 달라지는지를 묻는다.
비전공자는 다음 다섯 문장으로 기억하면 된다.
모든 통계분석이 세 가지 가정을 동시에 요구하는 것은 아니다.
독립성은 그래프보다 연구설계에서 먼저 확인해야 한다.
정규성은 대개 원자료보다 잔차나 차이값에 적용된다.
분산이 다르면 분석을 포기하지 말고 Welch 검정이나 강건한 표준오차를 고려한다.
가정 검정의 p값보다 위반의 크기와 결과의 민감성이 중요하다.
좋은 분석은 모든 가정을 완벽하게 만족하는 자료를 기다리는 일이 아니다.
자료가 어떤 방식으로 가정에서 벗어나 있는지 이해하고, 그 구조에 맞는 분석방법을 선택하며, 다른 합리적인 방법에서도 결론이 유지되는지 확인하는 일이다.
통계모형은 현실을 완벽하게 복제하지 않는다. 복잡한 현실을 일정한 조건 아래에서 단순화한다.
따라서 분석의 신뢰성은 가정이 완벽하게 참인지에만 달려 있지 않다.
어떤 가정을 사용했는지 알고 있는가?
가정이 어긋날 때 결과가 어떻게 달라지는지 확인했는가?
그 한계를 숨기지 않고 설명했는가?
이 질문에 답할 수 있을 때 통계결과는 단순한 계산값을 넘어 믿을 수 있는 연구결론이 된다.
참고문헌
Blanca, M. J., Alarcón, R., Arnau, J., Bono, R., & Bendayan, R. (2017). Non-normal data: Is ANOVA still a valid option? Psicothema, 29(4), 552–557. https://doi.org/10.7334/psicothema2016.383
Box, G. E. P. (1953). Non-normality and tests on variances. Biometrika, 40(3–4), 318–335. https://doi.org/10.1093/biomet/40.3-4.318
Brown, M. B., & Forsythe, A. B. (1974). Robust tests for the equality of variances. Journal of the American Statistical Association, 69(346), 364–367. https://doi.org/10.1080/01621459.1974.10482955
Delacre, M., Lakens, D., & Leys, C. (2017). Why psychologists should by default use Welch’s t-test instead of Student’s t-test. International Review of Social Psychology, 30(1), 92–101. https://doi.org/10.5334/irsp.82
Gastwirth, J. L., Gel, Y. R., & Miao, W. (2009). The impact of Levene’s test of equality of variances on statistical theory and practice. Statistical Science, 24(3), 343–360. https://doi.org/10.1214/09-STS301
Hayes, A. F., & Cai, L. (2007). Using heteroskedasticity-consistent standard error estimators in OLS regression: An introduction and software implementation. Behavior Research Methods, 39(4), 709–722. https://doi.org/10.3758/BF03192961
Hurlbert, S. H. (1984). Pseudoreplication and the design of ecological field experiments. Ecological Monographs, 54(2), 187–211. https://doi.org/10.2307/1942661
Liang, K.-Y., & Zeger, S. L. (1986). Longitudinal data analysis using generalized linear models. Biometrika, 73(1), 13–22. https://doi.org/10.1093/biomet/73.1.13
Lumley, T., Diehr, P., Emerson, S., & Chen, L. (2002). The importance of the normality assumption in large public health data sets. Annual Review of Public Health, 23, 151–169. https://doi.org/10.1146/annurev.publhealth.23.100901.140546
Pinheiro, J. C., & Bates, D. M. (2000). Mixed-effects models in S and S-PLUS. Springer. https://doi.org/10.1007/b98882
Shapiro, S. S., & Wilk, M. B. (1965). An analysis of variance test for normality: Complete samples. Biometrika, 52(3–4), 591–611. https://doi.org/10.1093/biomet/52.3-4.591
Welch, B. L. (1947). The generalization of Student’s problem when several different population variances are involved. Biometrika, 34(1–2), 28–35. https://doi.org/10.1093/biomet/34.1-2.28
White, H. (1980). A heteroskedasticity-consistent covariance matrix estimator and a direct test for heteroskedasticity. Econometrica, 48(4), 817–838. https://doi.org/10.2307/1912934
Wilcox, R. R. (2012). Introduction to robust estimation and hypothesis testing (3rd ed.). Academic Press. https://doi.org/10.1016/C2010-0-67044-1
Zuur, A. F., Ieno, E. N., & Elphick, C. S. (2010). A protocol for data exploration to avoid common statistical problems. Methods in Ecology and Evolution, 1(1), 3–14. https://doi.org/10.1111/j.2041-210X.2009.00001.x









