---
title: 합성패널은 어떻게 만들어지고, 어떻게 답하는가 (쉬운 설명 버전)
date: 2026-08-19
category: 방법론
tags: 합성패널, 통계적시민, 확률
summary: 실제 사람을 복제하지 않고 만든 통계적 시민 4,433명이, 무엇으로 구성되고 질문에 어떻게 답하며, 그 답이 어떻게 선거 예측이 되는지.
---

Reble.ai는 현실 사회를 통계적으로 재현하고, 조건이 달라졌을 때 여론이나 선거 결과가 어떻게 움직이는지를 실험하는 사회 시뮬레이션 엔진이다. 이 엔진의 핵심 부품이 바로 **합성패널(Synthetic Panel)** 이다.

합성패널을 가장 쉽게 설명하면 다음과 같다.

> 합성패널은 실제 사람을 복제한 가상 인간이 아니라, 현실의 인구구조와 조사 결과를 반영해 만든 **'확률을 가진 통계적 시민'** 이다.

예를 들어 "대전 동구에 사는 64세 여성, 고졸, 서비스직, 소득 1분위, 기혼, 전남 출신"이라는 사람이 있다고 해보자. 현실에서 이 조건을 가진 특정 개인의 개인정보를 가져온 것이 아니다. 통계청 자료에서 이런 조건을 가진 사람들이 실제로 어느 정도 존재하는지를 확인하고, 그 인구분포를 보존하도록 가상의 시민 한 명을 생성한 것이다.

이제 이 합성패널 한 명이 무엇으로 만들어지고, 질문을 받으면 어떻게 답하며, 수천 명의 답이 어떻게 선거 예측 결과가 되는지 차례대로 살펴보자.

## 1. 합성패널 한 명은 22개의 정보로 구성된다  {#s1}

합성패널 한 명의 기록에는 모두 22개의 칸이 있다. 예를 들어 `KR-V2-281687`이라는 합성패널은 다음과 같은 사람이다.

<figure class="reble-figure wide"><style>.reble-figure{margin:2.2rem 0}.reble-figure svg{width:100%;height:auto;display:block}.reble-figure figcaption{margin:.7rem 0 0;font-size:.86em;opacity:.72;line-height:1.7}.reble-figure.wide{width:min(56rem,calc(100vw - 2.5rem));max-width:none;margin-left:50%;transform:translateX(-50%)}.reble-figure.wide figcaption{max-width:41rem;margin-left:auto;margin-right:auto}@media(max-width:640px){.reble-figure{overflow-x:auto}.reble-figure svg{width:660px}.reble-figure.wide{width:100%;margin-left:0;transform:none}}</style>
<!--figure: panel-card.svg-->
<figcaption><b>그림 1.</b> 합성패널 한 명의 전체 기록 22칸. 칸 밝기가 정보의 출처 등급(A·B·C)을 나타낸다.</figcaption></figure>

- 대전 동구에 사는 64세 여성이다.
- 고졸이고 서비스직에 종사하며, 소득은 1분위다.
- 기혼이고 전남 출신이다.
- 정치적으로는 진보 성향이며 더불어민주당을 지지하는 것으로 분류됐다.
- 정치에 대한 관심은 낮지만 투표할 의향은 있는 것으로 예측됐다.

겉으로 보면 실제 사람의 프로필처럼 보인다. 하지만 이 22개 정보가 모두 같은 방식으로 만들어진 것은 아니다. **정보의 출처에 따라 세 종류로 나뉜다.**

| 등급 | 칸 수 | 어떤 정보인가 | 어디서 왔나 |
|---|---|---|---|
| **A** | 10 | 거주지·성별·나이·학력·직업·소득·혼인 상태·출신지역 | 통계청 인구총조사 등 공식 통계에서 **직접 관측** |
| **B** | 4 | 이념·지지정당·정치관심도·투표의향 | 사회조사·여론조사를 학습한 모델이 **예측** |
| **C** | 8 | panel_id·권역·이념3·각 예측의 확률·인구 셀 비중·가중치 | 시스템이 **계산** |

**A등급: 통계에서 직접 가져온 정보.** 거주지, 성별, 나이, 학력, 직업, 소득, 혼인 상태, 출신지역 등 10개 정보는 통계청 인구총조사와 같은 공식 통계에서 직접 관측한 분포를 바탕으로 만든다. 이것은 "이 사람이 실제로 존재한다"는 뜻이 아니다. **"한국 인구 안에는 이런 조건을 가진 사람들이 이 정도 비율로 존재한다"**는 사실을 반영했다는 뜻이다.

**B등급: 조사 데이터를 학습해 예측한 정보.** 이념, 지지정당, 정치관심도, 투표의향 등 4개 정보는 통계청 자료만으로는 알 수 없다. 그래서 사회조사와 여론조사 데이터를 학습한 모델이 예측한다.

중요한 것은 모델이 이를 확정하지 않는다는 점이다. 예를 들어 이 합성패널의 지지정당은 더불어민주당이지만, 옆에는 `_지지정당_proba = 0.565`라는 값이 붙어 있다. 이는 다음과 같은 의미다.

> "이 사람은 반드시 민주당 지지자다"가 아니라, **"현재 관측된 조건을 고려하면 민주당 지지자로 분류될 확률이 56.5%다."**

**C등급: 시스템이 계산한 정보.** 나머지 8개는 panel_id, 권역, 단순화한 이념 구분, 각 예측의 확률, 인구 셀 비중, 가중치처럼 시스템이 계산한 값이다.

따라서 합성패널은 단순한 가상 프로필이 아니다. **관측된 인구 정보와 모델의 예측, 그리고 시뮬레이션을 위한 계산값이 결합된 하나의 통계 단위**다.

## 2. 현실 인구에서 4,433명의 패널을 만든다  {#s2}

합성패널은 처음부터 4,433명으로 만들어진 것이 아니다. 훨씬 큰 합성인구에서 여러 단계를 거쳐 추출된다.

<figure class="reble-figure wide">
<!--figure: panel-pipeline.svg-->
<figcaption><b>그림 2.</b> 79만 4,000명의 합성인구에서 민주당 권리당원 합성패널 4,433명에 도달하기까지. 막대 높이는 인원(4제곱근 축).</figcaption></figure>

먼저 통계청 인구총조사 등 마이크로데이터를 바탕으로 **79만 4,000명의 통계적 시민모델**(Reble이 가지고 있는 합성인구)을 만든다. 이들의 지역, 나이, 성별, 학력, 직업, 소득, 혼인 상태 등이 실제 한국 인구분포와 비슷하게 구성되도록 한다.

그다음 사회조사 데이터 1만 1,476명을 학습해 각 사람에게 이념, 지지정당, 정치관심도, 투표의향을 부여한다. 이후 최신 여론조사 결과와 맞도록 전체 분포를 다시 보정한다.

이렇게 만들어진 합성인구에서 지역·성별·연령 구조를 대표하도록 **1만 249명의 쿼터 패널**(전국을 연령·성별 인구비율에 맞춰 뽑은 대표 표본)을 추출한다. 그중 더불어민주당 지지층으로 분류된 사람이 **4,433명**(민주당 권리당원 합성패널)이다.

전체 과정을 간단히 표현하면 다음과 같다.

```
통계청 인구구조
  → 79만 4,000명의 합성인구 (Reble의 통계적 시민모델)
  → 정치 성향 예측 (사회조사 1만 1,476명 학습)
  → 최신 여론조사에 맞춰 재보정
  → 1만 249명의 대표 패널 추출 (전국 인구비)
  → 민주당 권리당원 합성패널 4,433명 선정
```

## 3. 4,433명은 모두 같은 사람이 아니다  {#s3}

이 4,433명은 단순히 숫자만 다른 복제품이 아니다.

<figure class="reble-figure wide">
<!--figure: panel-types.svg-->
<figcaption><b>그림 3.</b> 권역·연령대·성별·이념만으로 나눠도 실제로 존재하는 조합은 202개다. 가로축은 유형의 크기, 세로축은 그 크기의 유형이 몇 개인지.</figcaption></figure>

권역, 연령대, 성별, 이념만으로 나누면 실제로 존재하는 조합은 **202개**다. 가장 큰 유형은 인천·경기에 사는 40대 진보 성향 여성으로 **145명**이다. 반대로 단 한 명만 존재하는 희소한 유형도 **27개**다.

그런데 학력, 직업, 소득, 혼인 상태까지 포함하면 유형은 **3,249개**로 늘어난다. 한 유형에 평균 1.36명밖에 없기 때문에 세밀하게 보면 사실상 거의 모든 사람이 다르다.

쉽게 말하면 이렇다. **멀리서 보면 202개의 큰 집단으로 보이지만, 가까이에서 보면 4,433명이 거의 모두 다른 조건을 가진 시민이다.**

예를 들어 같은 40대 여성이라도 서울의 고소득 전문직과 전남의 저소득 서비스직은 정치 성향과 관심도, 투표 참여 가능성, 후보 선택확률이 다르게 계산된다.

## 4. 패널 수와 실제 선거인단 수를 연결한다  {#s4}

여기서 중요한 문제가 하나 생긴다. 4,433명은 '민주당 지지층을 대표하는 표본'이지 실제 권리당원 152만 7,261명 전체가 아니다. 더욱이 표본의 지역 분포와 실제 권리당원의 지역 분포도 다르다.

<figure class="reble-figure wide">
<!--figure: panel-reweight.svg-->
<figcaption><b>그림 4.</b> 위 막대는 원래 표본의 지역 비중, 아래 막대는 맞춰야 할 실제 권리당원 구조. 수도권은 줄이고 호남은 키운다.</figcaption></figure>

표본에서는 서울·인천·경기 비중이 **52.4%**지만 실제 권리당원에서는 **42.1%**다. 반대로 광주·전라는 표본에서 **17.0%**지만 실제 권리당원에서는 **33.0%**다.

따라서 원래 표본을 그대로 사용하면 수도권의 목소리는 실제보다 크게 반영되고, 호남의 목소리는 작게 반영된다. 이를 바로잡기 위해 **재가중(Reweighting)** 을 한다. 예를 들어 광주·전라 패널의 무게는 평균적으로 약 **1.94배** 높인다. 반대로 수도권 패널의 무게는 낮춘다.

결과적으로 합성패널 한 명이 대표하는 실제 인원은 지역마다 달라진다.

<figure class="reble-figure wide">
<!--figure: easy-weight.svg-->
<figcaption><b>그림 5.</b> 지역별로 합성패널 한 명이 짊어진 실제 권리당원 수. 전체 평균은 344.5명이다.</figcaption></figure>

| 권역 | 합성패널 1명이 대표하는 실제 인원 |
|---|---|
| 광주·전라 | 약 **670명** |
| 대전·세종·충청 | 약 314명 |
| 제주 | 약 303명 |
| 서울·인천·경기 | 약 277명 |
| 부산·울산·경남 | 약 262명 |
| 강원·대구·경북 | 약 **229명** |
| **전체 평균** | **약 344.5명** |

따라서 합성패널 20명이 있다고 해서 실제 사람 20명을 의미하지 않는다. 예를 들어 **호남 합성패널 20명은 실제 권리당원 약 1만 3,400명**을 대표하지만, **수도권 합성패널 20명은 약 5,540명**을 대표한다. 같은 20명이지만 대표하는 규모는 약 **2.4배** 차이가 난다.

## 5. 합성패널은 질문에 하나의 답을 하지 않는다  {#s5}

사람에게 "누구를 지지합니까?"라고 물으면 보통 한 명을 선택한다. 그러나 합성패널은 하나의 선택지가 아니라 **확률벡터(Probability Vector)** 로 답한다.

<figure class="reble-figure wide">
<!--figure: easy-probability.svg-->
<figcaption><b>그림 6.</b> 한 사람의 "마음"이 확률로 표현되고, 시뮬레이션 회차마다 다른 선택이 나온다. 동그라미 하나가 한 회차의 선택이다.</figcaption></figure>

예를 들어 앞서 살펴본 64세 여성 패널에게 민주당 당대표 선호를 물으면 다음과 같이 답할 수 있다.

| 선택지 | 확률 |
|---|---|
| 김민석 | 30.3% |
| 정청래 | 27.6% |
| 송영길 | 13.0% |
| 유보 | 29.1% |

이것은 이 사람이 네 가지 답을 동시에 했다는 뜻이 아니다. **이 조건을 가진 사람이 같은 상황을 여러 번 경험한다면, 각 선택을 할 가능성이 이 정도라는 뜻이다.**

동전을 던질 때 앞면이 나올 확률이 50%라고 해서 동전 한 개가 절반은 앞면이고 절반은 뒷면인 것은 아니다. 한 번 던지면 둘 중 하나가 나오지만, 여러 번 던지면 확률에 가까운 분포가 만들어진다.

합성패널도 마찬가지다. 1만 5,000번의 시뮬레이션 중 어떤 회차에서는 김민석을 선택하고, 다른 회차에서는 정청래나 송영길을 선택한다. 또 어떤 회차에서는 유보 상태로 남는다.

## 6. 유형에 따라 같은 질문에도 다르게 답한다  {#s6}

합성패널은 현재 네 종류의 질문에 답한다.

<figure class="reble-figure wide">
<!--figure: panel-questions.svg-->
<figcaption><b>그림 7.</b> 합성패널이 답하는 네 개의 질문과 선택지.</figcaption></figure>

같은 질문이라도 패널의 지역과 이념, 나이 등에 따라 답은 크게 달라진다.

<figure class="reble-figure wide">
<!--figure: panel-answers.svg-->
<figcaption><b>그림 8.</b> 세 유형이 네 질문에 답한 실제 산출값(%). 3% 미만이거나 상위 5개 밖 선택지는 생략했다.</figcaption></figure>

**광주·전라의 진보 성향 패널.** 이 집단은 대통령 국정 평가에서 약 **80%가 긍정**으로 계산된다. 정당 지지는 민주당 70%, 당대표 후보는 김민석 30%, 정청래 28% 정도로 나타난다. 정치적 판단이 여러 질문에서 비교적 일관되게 한 방향으로 정렬돼 있다.

**대구·경북의 보수 성향 패널.** 이 집단은 국정 평가에서 약 68%가 부정이고 국민의힘 지지확률은 63%다. 그런데 민주당 당대표 질문에서는 특정 후보보다 **유보가 47%**로 가장 높다. 이는 단순한 무응답이 아니다. 민주당 경선에 대한 관심이나 판단 근거가 부족해 특정 후보를 선택하지 않을 가능성이 높다는 뜻이다.

**인천·경기의 중도 성향 패널.** 이 집단의 국정 평가는 긍정 49%, 부정 45%로 팽팽하다. 차기 대선주자 질문에서는 **유보가 22%**로 가장 높다. 중도층의 불확실성과 유동성이 그대로 확률에 반영된 것이다.

## 7. 유보를 실제 투표 확률로 바꾼다  {#s7}

민주당 당대표 시뮬레이션은 네 질문 중 **q004**, 즉 당대표 선호 질문을 사용한다. 하지만 실제 투표지에는 '유보'라는 선택지가 없다. 투표장에 나온 사람은 결국 후보 중 한 명을 선택해야 한다.

따라서 유보 확률을 제거하고 나머지 후보들의 비율에 맞춰 다시 배분한다.

<figure class="reble-figure wide">
<!--figure: panel-reserve.svg-->
<figcaption><b>그림 9.</b> 유보 29.1%를 덜어내고 남은 70.9%를 100%로 다시 펴면, 투표지 위의 실제 선택확률 b가 된다.</figcaption></figure>

앞서 본 패널의 응답을 그대로 옮겨 보자. 유보를 제외하면 세 후보의 합은 70.9%다. 이를 다시 100%로 환산하면 실제 투표지에서의 후보 선택확률은 다음과 같이 변한다.

| 후보 | 원래 응답 | 유보 재배분 후 (선택확률 b) |
|---|---|---|
| 김민석 | 30.3% | **42.7%** |
| 정청래 | 27.6% | **38.9%** |
| 송영길 | 13.0% | **18.3%** |
| 유보 | 29.1% | — |

계산은 단순하다. `30.3 ÷ 70.9 = 42.7%`. 이렇게 바뀐 값이 시뮬레이션에서 사용하는 후보 선택확률 **b**다.

## 8. 투표장에 나올 가능성도 확률로 계산한다  {#s8}

후보를 누구로 선택할 것인가만큼 중요한 것이 있다. **이 사람이 실제로 투표하러 나올 것인가?** 이를 **참여확률 τ(타우)** 라고 한다.

<figure class="reble-figure wide">
<!--figure: panel-turnout.svg-->
<figcaption><b>그림 10.</b> 참여확률 곡선 위에 실제 합성패널 세 명을 올린 것. 권역이 곡선 위에서 좌우 위치를 정하고, 연령이 그 위치를 밀어 올리거나 내린다.</figcaption></figure>

참여확률은 주로 **권역과 연령**의 영향을 받도록 계산한다. 연령별로는 60대의 투표 의향이 가장 높고, 18~29세가 가장 낮게 나타난다. 70세 이상은 정치적 관심과 별개로 거동이나 건강 문제 때문에 60대보다 실제 참여가 낮아지는 현상도 반영된다.

예를 들어 계산 결과는 다음과 같다.

| 합성패널 | 참여확률 τ |
|---|---|
| 대전 동구 64세 여성 | **72.9%** |
| 인천 55세 남성 | **66.3%** |
| 부산 서구 29세 여성 | **20.0%** |

부산은 지역적으로 참여율이 높은 편이지만, 29세라는 연령 조건이 참여 가능성을 크게 낮춘다. 반대로 대전은 지역 조건이 상대적으로 불리해도 64세라는 연령 조건이 참여 가능성을 높인다. 즉 **같은 지역에 살아도 나이가 다르면 참여확률이 달라지고, 같은 나이라도 지역이 다르면 결과가 달라진다.**

참여확률이 72.9%라는 것은 "이 사람이 반드시 투표한다"는 뜻이 아니다. **시뮬레이션을 100번 실행하면 평균적으로 약 73번 참여하고 27번은 참여하지 않는다**는 의미다.

## 9. 한 명의 확률이 전국 결과가 되는 과정  {#s9}

합성패널 한 명은 최종적으로 세 가지 핵심 값을 가진다.

| 값 | 의미 |
|---|---|
| **τ** | 투표에 참여할 확률 |
| **b** | 각 후보를 선택할 확률 |
| **w** | 실제로 몇 명을 대표하는지 나타내는 가중치 |

예를 들어 어떤 합성패널이 실제 권리당원 500명을 대표하고, 투표에 참여할 확률이 70%이며, 참여했을 때 김민석을 선택할 확률이 40%라고 해보자.

<figure class="reble-figure wide">
<!--figure: panel-expected.svg-->
<figcaption><b>그림 11.</b> 대표 인원 × 참여확률 × 선택확률로 한 패널의 기대 기여가 나온다. 다만 시뮬레이션은 이 값을 고정하지 않는다.</figcaption></figure>

이 패널이 김민석 후보에게 기여하는 기대값은 직관적으로 다음과 같다.

```
500명 × 70% × 40% = 약 140표
```

하지만 실제 시뮬레이션에서는 이를 항상 140표로 고정하지 않는다. **매 회차마다 참여 여부와 후보 선택을 확률에 따라 다시 추첨**하기 때문에 결과가 조금씩 달라진다.

모든 패널에 대해 이 계산을 수행하고 권역별로 합치면 다음과 같은 기본 예측이 나온다.

```
        Σ (w × τ × b)
ŝ  =  ─────────────────
        Σ (w × τ)
```

쉽게 말하면 다음과 같다. **더 많은 사람을 대표하고, 실제로 투표할 가능성이 높은 패널의 선택을 더 크게 반영한다.**

<figure class="reble-figure wide">
<!--figure: panel-journey.svg-->
<figcaption><b>그림 12.</b> 개인의 확률이 최종 득표율이 되는 경로. 어느 단계에서도 "이 사람은 누구를 찍는다"고 단정하지 않는다.</figcaption></figure>

여기에 인구구성만으로 설명할 수 없는 지역별 차이를 보정하고, 당원투표 70%와 국민여론조사 30%를 합친다. 과반 득표자가 없으면 3위 후보의 표가 누구에게 이동하는지도 계산한다. **이 전체 과정을 1만 5,000번 반복한다.**

그래서 최종 결과는 "김민석 52.9%"라는 숫자 하나로만 끝나지 않는다. 다음과 같은 형태로 제시하는 것이 더 정확하다.

- 예상 득표율
- 오차 범위
- 후보별 승리확률
- 결선 또는 표 이양 가능성
- 조건 변화에 따른 결과 분포

합성패널은 **미래를 하나로 단정하는 장치가 아니라, 가능한 미래가 어떤 범위로 펼쳐지는지를 보여주는 장치**다.

## 10. 합성패널 한 명은 정확히 무엇인가  {#s10}

합성패널 한 명을 이해할 때 세 가지를 구분해야 한다.

| 오해 | 실제 |
|---|---|
| 실존 인물 한 명이다 | **아니다.** 개인과 개인의 대응이 아니라 분포와 분포의 대응이다 |
| 실제 사람 한 명 몫이다 | **아니다.** 평균 344.5명, 지역에 따라 229~670명을 대표한다 |
| 한 표를 던진다 | **아니다.** 참여도 선택도 확률이며 회차마다 달라진다 |

**한 명은 실존 인물 한 명이 아니다.** `KR-V2-281687`이라는 패널과 정확히 일치하는 실제 사람은 존재하지 않는다. 이 패널은 특정 개인을 복제한 것이 아니라 다음과 같은 통계적 조건을 표현한다.

> "대전 동구에 거주하는 64세·고졸·서비스직·소득 1분위·기혼 여성과 같은 조건의 사람들이 현실 인구 안에 일정한 비율로 존재한다."

즉 **개인과 개인의 대응이 아니라 분포와 분포의 대응**이다.

**한 명은 실제 여러 사람을 대표한다.** 4,433명의 합성패널이 실제 권리당원 152만 7,261명을 대표하므로 한 명이 평균 344.5명을 대표한다. 그러나 지역별 재가중 때문에 실제 대표 인원은 약 229명에서 670명까지 달라진다.

**한 명은 한 표도 아니다.** 합성패널 한 명은 특정 후보에게 고정된 한 표를 던지지 않는다. 참여할지 말지도 확률이고, 참여했을 때 누구를 선택할지도 확률이다. 시뮬레이션을 실행할 때마다 다른 선택을 할 수 있다.

따라서 합성패널 한 명은 단순한 가상 유권자가 아니다. **여러 실제 사람을 대표하는 무게와, 참여 가능성, 후보 선택 가능성을 함께 가진 확률 묶음**이다.

## 이해를 돕는 비유  {#analogy}

한 학교의 학생 1만 명을 조사하고 싶지만 모든 학생을 직접 만날 수 없다고 해보자.

<figure class="reble-figure wide">
<!--figure: panel-school.svg-->
<figcaption><b>그림 13.</b> 학생 1만 명을 대표 학생 100명으로 줄이면, 대표마다 짊어진 학생 수가 다르고 답도 확률로 나온다.</figcaption></figure>

그래서 학년, 성별, 성적, 가정환경, 관심 과목 등을 반영해 **100명의 대표 학생 모델**을 만든다. 그런데 100명 모두가 똑같은 수의 학생을 대표하지는 않는다. 어떤 유형은 학교에 많기 때문에 150명을 대표하고, 희귀한 유형은 30명만 대표한다.

또 이 대표 학생에게 "수학 특별수업에 참여하겠느냐"고 물었을 때 반드시 예 또는 아니오로 고정하지 않는다.

- 참여 가능성 70%, 불참 가능성 30%
- 참여한다면 어떤 수업을 고를지도 확률로 표현한다 — 문제풀이반 50%, 개념반 35%, 심화반 15%

이를 수천 번 반복하면 한 번의 단순 설문보다 훨씬 풍부한 결과를 얻을 수 있다. 예상 참여자 수뿐 아니라 **결과가 흔들릴 수 있는 범위**와 **어떤 집단이 변화의 핵심인지**도 알 수 있다.

Reble.ai의 합성패널도 같은 원리다. 다만 학생 대신 시민을 만들고, 수업 대신 정당·후보·정책·투표 참여에 관해 묻는 것이다.

## 합성패널의 한계  {#limits}

합성패널은 현실을 통계적으로 재현하지만 **현실 그 자체는 아니다.**

현재 패널에는 "실제 민주당 권리당원인지"를 직접 확인하는 정보가 없다. 따라서 민주당 지지층의 특성이 권리당원의 특성과 비슷하다는 가정이 일부 포함된다. 이 가정이 잘 맞지 않는 지역에서는 오차가 커질 수 있다.

실제 채점에서 최종 득표율은 **1.2%포인트** 차이로 근접했지만, 호남 지역 후보 간 격차에서는 **12.8%포인트**의 편차가 발생했다. ([채점 결과 전문](/blog/posts/dp-leader-scorecard/))

따라서 Reble.ai가 보여줘야 하는 것은 단순한 예측 숫자만이 아니다.

| 함께 공개해야 하는 것 |
|---|
| 어떤 정보가 실제 관측값인지 |
| 어떤 정보가 모델의 예측인지 |
| 어떤 가정이 사용됐는지 |
| 예측의 불확실성이 어느 정도인지 |
| 실제 결과와 비교했을 때 어디서 틀렸는지 |

이 모든 것을 함께 공개해야 합성패널은 신뢰할 수 있는 사회 시뮬레이션 도구가 된다.

## 한 문장으로 정리하면  {#oneline}

> 합성패널은 현실 인구의 구조를 닮도록 만든 **통계적 시민**으로, 실제 여러 사람을 대표하는 **가중치**를 가지고 참여와 선택을 **확률**로 답하며, 수천 번의 시뮬레이션을 통해 **하나의 예언이 아니라 가능한 결과의 범위**를 보여준다.

직접 만져보고 싶다면 [민주당 당대표 시뮬레이션](/dp-leader/)에서 조건을 바꿔 볼 수 있다. 공식과 원자료까지 파고든 [기술 버전](/blog/posts/how-synthetic-panel-is-built/)도 함께 두었다.
