소식9분 읽기

Reble.ai는 어떤 AI 엔진인가

현실 세계를 반영하는 동적 사회 시뮬레이션 엔진 — 사회를 가상으로 복제해 미리 실험하고, 선거에 적용하면 무슨 일이 벌어지는지 보여드립니다.

목차

Reble.ai는 현실 세계를 반영하는 동적 사회 시뮬레이션 엔진입니다. 여론, 정책에 대한 반응, 선거 구도, 미디어의 영향, 집단적 분위기 — 현실에서는 한 번 지나가면 되돌릴 수 없는 사회의 움직임을, 통계적으로 복제된 가상 사회 안에서 미리 실험하고 예측합니다. 이 글은 엔진이 어떤 구조로 현실을 반영하는지, 그리고 이 엔진을 선거에 적용하면 무슨 일이 벌어지는지를 차례로 보여드립니다.

여론의 복잡계를 해독하다

여론은 수많은 사람의 성향, 이해관계, 관계망, 그날의 분위기가 유기적으로 상호작용하는 복잡계(Complex System)입니다. 그런데 우리가 사회를 읽는 도구는 아직도 대부분 '한 시점의 단면'입니다. 설문조사는 물었던 날의 답만 남기고, 여론조사는 발표되는 순간 이미 과거가 됩니다.

Reble.ai는 접근을 바꿉니다. 단면을 찍는 대신, 시간에 따라 변화하는 여론과 맥락을 추적하는 동적 시뮬레이터로 작동합니다. 엔진의 핵심 구조는 하나의 식으로 요약됩니다.

결과 = f( 패널 × 실체 × 맥락 | 관계, 보정 가중치 )

패널(Persona)      — 누가: 통계적으로 복제된 시민들
실체(Entity)       — 무엇에 대해: 후보, 정당, 정책, 이슈
맥락(Context)      — 언제, 어떤 분위기에서: 시점, 계절, 뉴스 흐름, 경제 체감
관계(Social Graph) — 어떻게 퍼지는가: 입소문, 커뮤니티, 밴드왜건 효과

이 네 레이어가 결합되면, 현실에서는 불가능한 일이 가능해집니다. 바로 반사실(Counterfactual) 실험입니다. "이 정책 메시지를 이번 주에 내보낼 때와 다음 달에 내보낼 때 반응이 어떻게 다른가", "후보가 바뀌면 판세가 어떻게 재편되는가" — 현실은 한 번뿐이라 답할 수 없는 질문에, 가상 사회는 조건을 바꿔가며 몇 번이고 답할 수 있습니다. 사명(Reflecting Reality)이 곧 설계 사양인 셈입니다.

엔진의 기본 단위 — 통계적 시민

가상 사회를 만들려면 먼저 시민이 필요합니다. Reble 엔진의 시뮬레이션 단위는 '통계적 시민(합성 패널)'입니다. 통계청 수준의 거시 인구구조 데이터와 미시 여론 데이터를 수학적으로 정합(calibration)해, 실제 시민 집단을 확률론적으로 복제한 존재들입니다. 한 명의 통계적 시민 Θᵢ는 세 개의 층으로 정의됩니다.

Θᵢ = (D, B, P)

D — 인구통계 레이어: 연령, 성별, 지역, 직업, 소득 분포
B — 행동 속성 레이어: 지지 정당, 정치 성향, 이슈 민감도, 과거 투표 이력
P — 반응 확률 함수: P(반응 = c | Θᵢ, context) ∈ [0, 1]

셋째 줄이 이 모델의 심장입니다. 통계적 시민은 "이렇게 행동한다"로 고정된 인형이 아니라, 주어진 맥락에서 각 선택지에 반응할 확률을 갖는 존재입니다. 특정 개인을 흉내 내는 페르소나가 아니라 통계적으로 엄격하게 구성된 시민 모델이라는 점이 중요합니다. 실제로 부산 북구갑 선거구 하나를 시뮬레이션할 때 엔진은 1,781명의 합성 시민을 생성해 각자의 조건부 반응 확률을 계산하고, 이를 집계해 집단 전체의 분포를 도출합니다.

이 방식의 힘은 평균이 숨기는 것을 드러내는 데 있습니다. "40대 지지율 35%"라는 평균 뒤에는 40대 자영업자와 40대 사무직의 서로 다른 반응이 숨어 있습니다. 개별 반응 확률로 내려가면 이런 하위집단 간 이질성과 조건부 행동 패턴("투표율이 오르면 누가 움직이는가")까지 모델링됩니다.

이 엔진을 선거에 적용하면 — 스냅샷의 왜곡부터 벗겨낸다

선거는 이 엔진의 가장 엄격한 시험장입니다. 예측이 공개되고, 채점일(선거일)이 정해져 있고, 오차가 숫자로 남기 때문입니다. 그런데 선거 예측의 원재료인 여론조사에는 세 가지 왜곡이 구조적으로 끼어 있습니다.

첫째, 시차(Time Lag). 조사와 발표 사이의 지연. 오늘 본 숫자는 지난주의 민심입니다.

둘째, 표본 대표성의 훼손. 응답률이 한 자릿수로 떨어진 시대에 "응답한 사람"이 "전체 유권자"를 대표한다는 보장은 갈수록 약해집니다.

셋째, 하우스 이펙트(House Effect). 조사기관·조사방식에 따른 체계적 편향입니다. 2026년 대구시장 선거의 같은 시기 조사가 좋은 예입니다.

조사방식 김부겸 추경호 격차
CATI (전화면접) 40.7% 38.5% 김부겸 +2.2%p
ARS (자동응답) 42.8% 45.7% 추경호 +2.9%p

같은 도시, 같은 시기인데 방식에 따라 1위가 뒤바뀌고 격차는 5%p 이상 벌어집니다. 어느 쪽이 진짜일까요? 둘 다 아닙니다. 각 방식의 편향이 섞인 관측치일 뿐입니다.

여론조사는 정답표가 아니라, 지연되고 왜곡된 스냅샷입니다. Reble 엔진의 일은 이 스냅샷들을 보정·통합해, 그 뒤에 숨어 있는 잠재 여론의 궤적을 복원하는 것입니다.

그래서 결과물의 형태부터 달라집니다. 점추정("A후보 48%")이 아니라 확률 분포입니다.

구분 기존 여론조사 Reble.ai 엔진
결과물 단일 숫자 (점추정) 승리 확률과 95% 신뢰구간 (확률 분포)
시간성 정태적 단면 잠재 지지율의 연속 궤적
데이터 개별 조사가 따로 소비됨 시간·기관 가중치로 모든 조사를 통합
시나리오 고정된 결과 투표율 등 가상 조건의 반사실 시뮬레이션

선거 시뮬레이션의 여섯 단계

통계적 시민 위에서, 선거 데이터는 여섯 단계를 거쳐 확률이 됩니다.

1단계. 데이터 정제

원천은 중앙선거관리위원회 여론조사공표심의위원회(NESDC)에 공식 등록된 여론조사입니다. 표본크기·조사방식·응답률·기관 메타데이터를 함께 수집해, 유효 표본크기 산출 → 문항 구조 분리 → 무응답 반영 재산정 → 조사 종료일 기준 시계열 정렬로 정제합니다.

2단계. 시간 가중치 — 기억의 반감기

최근 조사가 현재 민심을 더 잘 반영한다는 가정을 지수 감쇠로 구현합니다.

wᵢ = exp(−(T_ref − tᵢ) / λ),  반감기 파라미터 λ = 5일 (기본값)

λ=5일 기준으로 하루 전 조사는 81.9%, 닷새 전 36.8%, 열흘 전 13.5%의 가중치를 받습니다. 과거를 완전히 버리지도, 오늘처럼 믿지도 않는 — 기억이 반감기를 갖고 흐려지는 구조입니다.

3단계. 하우스 이펙트 보정

기관 a의 편향 h_a를 "그 기관의 평균 − 전체 조사의 가중 평균"으로 추정해 관측 모델에서 명시적으로 분리합니다. 위 대구 사례처럼 CATI와 ARS가 정반대로 기울어 있을 때, 이 보정을 거쳐야 편향이 섞이지 않은 단일한 잠재 지지율 기준선이 나옵니다.

4단계. 베이지안 갱신 — 선입견 없는 심판

정제·가중된 조사들은 선거 구도에 따라 두 모델로 통합됩니다. 양자대결은 Beta-Binomial(π가 정해지면 상대는 1−π, 당선 확률은 P(π > 0.5) 하나로 떨어집니다), 다자대결은 Dirichlet-Multinomial로 K명의 지지율 벡터를 통째로 추정하며 새 조사가 나올 때마다 사후분포를 갱신합니다.

α_post[c] = α_prior + Σᵢ wᵢ × Nᵢ × p̂ᵢ[c]
             (wᵢ: 시간 가중치, Nᵢ: 유효 표본크기, p̂ᵢ[c]: 후보 c의 관측 지지율)

여기서 설계 철학 하나가 드러납니다. 사전분포 α는 "심판이 경기 전에 어느 팀을 응원하고 있느냐"입니다.

α 값 의미 시뮬레이션 효과
α = 1 완전 무정보 (균등분포) 데이터가 모든 추정을 주도
α < 1 희소 사전분포 극단적 결과 선호, 압승 가능성 과대평가
α > 1 집중 사전분포 후보 간 격차 강제 축소, 민심 변화 둔화

Reble의 기본값은 α = 1, 약사전분포입니다. 어떤 후보가 이길지 미리 가정하지 않고, 순수하게 데이터가 결과를 주도하게 합니다.

5단계. 칼만 필터 — 노이즈 속에서 궤적을 복원하다

칼만 필터는 아폴로 우주선 항법 장치에 쓰였던 기술입니다. 개별 측정치는 모두 부정확하지만, "직전까지의 추세"와 "방금 들어온 관측"을 최적 비율로 섞으면 진짜 궤적을 복원할 수 있다는 원리입니다.

상태 방정식: θₜ = θₜ₋₁ + ηₜ     (잠재 지지율의 실제 움직임)
관측 방정식: yₜ = θₜ + εₜ      (노이즈 낀 여론조사 관측치)
칼만 이득:   Kₜ = Pₜ|ₜ₋₁ / (Pₜ|ₜ₋₁ + R)

칼만 이득 K는 볼륨 조절기입니다. 새 조사가 믿을 만하면 새 관측에 귀를 더 기울이고, 튀는 조사라면 기존 추세를 더 신뢰합니다. reble.ai 시계열 차트의 점(관측)·실선(추정 추세)·음영(불확실성 밴드)이 바로 이 필터링 결과입니다.

6단계. 몬테카를로 — 5만 개의 평행우주

마지막으로, 완성된 사후분포에서 득표율 벡터를 반복 추출해 가상 선거를 치릅니다. 한 번의 시뮬레이션이 하나의 평행우주입니다.

for j = 1 to N (5,000 ~ 50,000회):
    π⁽ʲ⁾ ~ Dirichlet(α_post)          # 이 우주의 득표율
    winner⁽ʲ⁾ = argmax π⁽ʲ⁾            # 이 우주의 당선자

기대 득표율  E[π] = 전체 우주의 평균
95% 신뢰구간 CI₉₅ = [2.5%, 97.5%] 분위수
승리 확률    P(win) = 그 후보가 이긴 우주의 비율

여기에 투표율이라는 반사실 레버가 더해집니다. 투표율이 낮으면(55%) 고정 지지층이 과대대표되고 높으면(65%) 부동층·청년층 참여가 늘어나는 역학을 후보별 ±1~2%p의 사후분포 조정으로 반영하되, 지역 특수성에 따라 방향이 달라질 수 있음을 함께 모델링합니다. 최종 산출물은 "A후보 48%"가 아니라 — "기준 투표율에서 A후보 승리 확률 73%, 투표율 65% 시나리오에서는 58%로 하락" 같은 조건부 확률의 지도입니다.

실제 적용, 그리고 이 엔진이 하지 못하는 것

이 파이프라인은 2026년 지방선거와 국회의원 보궐선거를 앞두고 구도가 서로 다른 선거구들을 실시간 추적하고 있습니다.

선거구 모델 구도
서울시장 Beta-Binomial 양자대결
대구시장 Dirichlet 4자, 양강 박빙
부산시장 Dirichlet 3자 구도
전북도지사 Dirichlet 5자, 현직 무소속 포함
부산 북구갑 Dirichlet 4자, 보궐선거
경기 평택을 Dirichlet 5자, 보궐선거

동시에, 한계도 정직하게 적어둡니다.

  • 데이터 의존성 — 공표 여론조사의 수량·품질에 결과가 종속됩니다. 조사가 드문 곳은 신뢰구간이 넓어집니다.
  • 모델 가정 — Beta/Dirichlet 분포의 수학적 가정이 이례적인 현실 역학과 다를 수 있습니다.
  • 외생적 충격 — 선거 직전의 스캔들 같은 블랙 스완은 통계적 모델링이 불가능합니다.
  • 투표율 — 당일 투표율은 사전 예측이 불가하므로, 단일 예측 대신 시나리오 분석으로 대응합니다.

이 한계들은 감추는 대신 제품에 반영됩니다. 결과를 항상 신뢰구간과 함께 표시하고, 선거가 끝나면 예측과 실제의 오차를 공개합니다.


정리하면 이렇습니다. Reble.ai는 선거 예측 도구이기 이전에, 현실 세계를 반영해 미리 실험할 수 있게 만드는 동적 사회 시뮬레이션 엔진입니다. 선거는 그 능력이 가장 엄격하게 채점되는 무대일 뿐입니다. "누가 이기고 있는가?"라는 과거의 질문을 버리고, "어떤 조건이 충족될 때 판세가 바뀌는가?"라는 미래의 질문을 설계하는 것 — 불확실성을 지배하는 자가 승리합니다. 수식 전문과 모델 사양은 엔진 이론 문서에, 실시간 예측은 reble.ai에 있습니다.

참고문헌