사후예측검사
Posterior Predictive Checks · 모형이 데이터를 얼마나 잘 재현하는가
모수를 추정했다고 해서 분석이 끝나는 것은 아닙니다. 통계모형을 만들고 모수를 추정했다면, 추정한 모형이 실제 데이터에서 관찰된 특징을 얼마나 잘 설명하는지도 확인해야 합니다. 사후예측검사(Posterior Predictive Check, PPC)는 베이지안 모형에서 추정한 사후분포를 이용해 새로운 데이터를 생성하고, 그 데이터가 실제 관측자료와 얼마나 비슷한지 비교하는 방법입니다. 고객 만족도 데이터를 분석할 때 모형이 평균 만족도는 잘 재현하더라도, 실제 데이터에 존재하는 극단적으로 낮은 점수나 집단별 차이를 제대로 재현하지 못할 수 있습니다. 사후예측검사는 이런 문제를 발견하는 데 도움을 줍니다.
사후예측검사란?
사후예측검사는 크게 세 단계로 진행됩니다.
핵심은 모형이 단순히 하나의 예측값을 잘 맞히는지를 보는 것이 아니라, 모형이 생성할 수 있는 데이터의 모습이 실제 데이터와 일치하는지 확인하는 것입니다. 모형이 맞다면, 모형이 만든 가짜 데이터와 실제 데이터를 나란히 놓았을 때 구별하기 어려워야 합니다.
사후예측분포는 어떻게 계산할까?
베이지안 사후예측분포는 모수의 불확실성과 새로운 관측값의 변동성을 함께 반영합니다.
D: 관측한 데이터 · θ: 모형의 모수 · ỹ: 새롭게 생성할 데이터 · p(θ | D): 모수의 사후분포 · p(ỹ | θ): 주어진 모수에서 새로운 데이터가 나타날 분포
이 식은 가능한 모수값마다 새로운 데이터가 나타날 가능성을 계산하고, 그 결과를 사후분포에 따라 종합한다는 의미입니다. 실제로는 MCMC 표본에서 모수를 하나 뽑고, 그 모수로 데이터를 하나 생성하는 일을 반복하면 됩니다.
그림 2는 03장의 구매 전환율 사후분포로 다음 고객 100명 중 구매자 수를 예측한 것입니다. 전환율을 사후평균 8.3%로 고정하면 95% 범위가 3~14명이지만, 전환율 자체의 불확실성까지 반영한 사후예측분포는 2~17명으로 더 넓습니다. 모수를 하나의 추정값으로 고정하는 대신 여러 가능한 모수값을 반영하므로, 모수의 불확실성까지 고려한 예측분포를 얻을 수 있습니다.
실제 데이터와 생성된 데이터를 비교하기
500명의 고객 만족도 점수(1~5점)를 분석한다고 가정하겠습니다. 실제 데이터의 평균은 4.11점, 표준편차는 0.92점이고, 이를 정규분포 모형으로 분석했습니다.
| 비교 항목 | 확인할 내용 |
|---|---|
| 평균 | 모형이 전체적인 수준을 재현하는가? |
| 분산 · 표준편차 | 실제 데이터의 퍼짐 정도를 재현하는가? |
| 분포 모양 | 특정 점수에 응답이 몰리는 현상을 재현하는가? |
| 극단값 | 매우 낮거나 높은 점수가 나타나는 패턴을 재현하는가? |
| 집단별 차이 | 연령대나 고객 유형별 차이를 재현하는가? |
그림 3처럼 실제 데이터는 4점(48%)과 5점(36%)에 응답이 몰려 있지만, 정규분포 모형이 생성한 데이터는 3점을 21%로 지나치게 많이, 5점을 27%로 적게 만듭니다. 또한 실제로는 있을 수 없는 1~5점 범위 밖의 값이 6.6% 생성됩니다. 평균이 비슷하다는 사실만으로 모형이 적절하다고 판단할 수 없는 이유입니다.
사후예측검사 결과는 어떻게 해석할까?
사후예측검사에서는 실제 데이터에서 계산한 통계량과 생성 데이터에서 계산한 통계량을 비교할 수 있습니다.
그림 4에서 생성된 데이터의 평균은 4.00~4.23, 표준편차는 0.84~1.01 범위에 있어 실제 값(4.11, 0.92)을 잘 감쌉니다. 그러나 최댓값은 6.3~7.7로, 생성된 데이터 4,000개 모두가 실제 최댓값 5점을 넘습니다. 모형이 실제 응답 범위를 재현하지 못한다는 뜻이며, 오차분포나 모형 구조가 실제 자료의 특성을 충분히 반영하지 못하는지 검토할 필요가 있습니다.
사후예측 p값은 관측 데이터의 검정통계량이 사후예측 데이터에서 얼마나 극단적인지를 나타내며, 그림 4에서는 생성된 통계량이 실제 값 이상인 비율입니다. 모형이 생성한 데이터와 관측 데이터의 불일치를 살펴보는 진단 도구이지, 귀무가설이 참일 확률도 아니고 모형이 참일 확률도 아닙니다. 또한 평균과 표준편차처럼 p값이 0.5에 가깝다고 해서 모형이 반드시 적절한 것은 아닙니다. 어떤 통계량을 검사하느냐에 따라 발견할 수 있는 문제가 달라지기 때문입니다.
사후예측검사와 교차검증은 무엇이 다를까?
두 방법 모두 모형을 평가하는 데 사용되지만 목적이 다릅니다.
| 비교 항목 | 사후예측검사(PPC) | 교차검증(Cross-validation) |
|---|---|---|
| 주된 목적 | 모형이 데이터의 특징을 재현하는지 평가 | 새로운 데이터에 대한 예측 성능 평가 |
| 기본 접근 | 적합한 모형에서 데이터를 생성해 관측자료와 비교 | 일부 데이터를 제외하고 예측한 뒤 실제값과 비교 |
| 주요 관심 | 분포, 극단값, 잔차 패턴 등 | 예측 오차, 로그 점수 등 |
| 주요 질문 | 모형이 중요한 데이터 특성을 놓치고 있는가? | 다른 데이터에서도 예측이 잘 되는가? |
PPC에서 실제 데이터의 특징을 잘 재현한다고 해도 미래 데이터의 예측 성능이 반드시 뛰어난 것은 아닙니다. 반대로 평균적인 예측 오차가 작더라도 특정 집단이나 극단값을 제대로 재현하지 못할 수 있습니다. 따라서 연구 목적에 따라 두 방법을 함께 활용하는 것이 유용합니다.
사후예측검사에서 문제가 발견되면?
검사 결과가 실제 데이터와 크게 다르다면 다음과 같은 순서로 검토할 수 있습니다.
- 데이터 확인: 입력 오류, 결측치, 이상값, 변수 코딩이 적절한지 확인합니다.
- 분포 가정 검토: 결과변수에 사용한 확률분포가 자료의 특성에 맞는지 살펴봅니다.
- 모형 구조 검토: 비선형 관계, 집단별 차이, 상호작용을 놓치고 있는지 확인합니다.
- 사전분포 검토: 사전분포가 결과를 지나치게 제한하거나 영향을 주는지 평가합니다.
- 재추정 및 재검사: 수정한 모형을 다시 추정하고 동일한 기준으로 결과를 비교합니다.
이 예처럼 만족도 점수가 1~5점의 서열형 자료인데 이를 연속형 정규분포로 모델링하면, 실제 응답의 범위와 점수별 빈도를 충분히 재현하지 못합니다. 자료의 측정 수준에 맞는 모형으로 바꾸고 같은 검사를 반복합니다.
그림 5는 점수를 1~5점의 다섯 범주로 다루는 모형으로 바꾼 뒤 같은 검사를 반복한 결과입니다. 생성된 데이터의 4점 비율 47%, 5점 비율 36%가 실제 데이터와 맞고, 범위 밖의 값도 생기지 않습니다. 실제 분석에서는 연령대 같은 설명변수를 함께 다루는 순서형 로지스틱 모형 등을 고려할 수 있습니다.
사후예측검사의 한계
사후예측검사는 모형의 문제를 발견하는 데 유용하지만, 모든 문제를 자동으로 찾아내지는 못합니다.
검사에 사용한 통계량이 포착하지 못하는 문제는 발견되지 않을 수 있습니다.
여러 종류의 검사에서 적절한 결과가 나와도 모형이 완벽하다는 뜻은 아닙니다.
관측 데이터와 비슷한 데이터를 생성하더라도 인과관계가 입증되는 것은 아닙니다.
모형의 계산이 수렴하지 않았다면 예측검사 결과도 신뢰하기 어렵습니다.
따라서 검사 결과 하나만으로 모형을 승인하거나 폐기하기보다, 연구 목적과 데이터의 특성을 고려해 여러 진단 결과를 종합해야 합니다.
고객 500명의 만족도(1~5점)에 대한 정규분포 모형의 사후예측검사에서, 생성 데이터의 평균과 표준편차는 관측값과 잘 일치하였으나(사후예측 p = 0.51, 0.50) 점수별 비율과 응답 범위를 재현하지 못하였다(3점 비율 예측 21% vs 관측 9%, 범위 밖 값 6.6%). 이에 점수를 범주형으로 다루는 모형으로 수정하였으며, 수정 모형은 모든 점수의 관측 비율을 95% 사후예측 범위 안에서 재현하였다.
모형이 만든 데이터가 실제 데이터처럼 보이는지 확인합니다.
- 사후예측검사는 베이지안 모형에서 생성한 데이터와 실제 관측자료를 비교하는 방법입니다.
- 평균뿐 아니라 분산, 분포 모양, 극단값, 집단별 패턴도 확인할 수 있습니다.
- 사후예측 p값은 일반적인 가설검정 p값과 다르게 해석해야 합니다.
- PPC는 모형 적합성 진단에, 교차검증은 주로 새로운 데이터의 예측 성능 평가에 활용합니다.
다음은 10 계층적 베이지안 모형입니다. 여러 집단의 데이터를 함께 분석하면서 전체적인 경향과 각 집단의 차이를 부분 풀링으로 어떻게 동시에 추정하는지 알아봅니다.
사후예측검사는 사후분포에서 뽑은 모수로 데이터를 다시 만들어 실제 데이터와 비교합니다. 만족도 예에서 정규분포 모형은 평균과 표준편차는 맞혔지만 점수별 비율과 1~5점 범위를 재현하지 못했고, 측정 수준에 맞춘 모형으로 바꾸자 해결되었습니다. 평균 하나가 아니라 여러 통계량을 함께 검사합니다.