Skip to content
PART 2 · 13장

로또로 배우는 확률과 가설검정

AI로 로또를 예측할 수 있을까? -- 추론통계 종합 체험

왜 무작위성을 배워야 하는가?

데이터 과학의 출발점은 "무작위성(randomness)"을 이해하는 것이다:

우리 주변의 거의 모든 데이터에는 불확실성이 포함되어 있다. 주식 가격, 내일의 날씨, 신약의 치료 효과, A/B 테스트의 전환율 -- 모두 "확실한 값"이 아니라 "확률적으로 변동하는 값"이다.

이 불확실성을 다루는 도구가 바로 확률론이다. 로또는 순수한 무작위 실험이기 때문에, 확률의 기본 원리를 가장 깨끗하게 체험할 수 있는 소재이다. 이 장에서 배우는 개념들 -- 조합, 기대값, 독립성, 큰 수의 법칙 -- 은 추후 가설검정, 회귀분석, 머신러닝의 핵심 기초가 된다.
이 장의 핵심 질문: "로또 번호를 AI로 예측할 수 있을까?"
직관적으로는 "데이터가 충분히 많으면 패턴을 찾을 수 있지 않을까?"라고 생각할 수 있다. 이 장에서 확률론과 가설검정의 도구를 사용해 이 질문에 과학적으로 답해본다. 결론이 "예측 불가능"이라 해도, 그 과정에서 배우는 통계적 사고방식이 진짜 보물이다.

로또 6/45의 수학

조합(Combination)이란? 순서를 따지지 않고 뽑는 경우의 수입니다.
예를 들어, 반에서 청소 당번 2명을 뽑을 때 (철수, 영희)와 (영희, 철수)는 같은 조합입니다. 순서가 달라도 같은 사람들이니까요.

로또도 마찬가지입니다. (1, 5, 12, 23, 34, 45)와 (45, 34, 23, 12, 5, 1)은 같은 번호 조합입니다. 그래서 "45개 중 6개를 순서 상관없이 뽑는 경우의 수"를 구해야 합니다.
조합(Combination) 계산을 단계별로 이해하기:
"45개에서 6개를 고르는 방법의 수"를 구해봅시다.

1단계 -- 순서를 따지면: 첫 번째 공을 고를 때 45가지, 두 번째 44가지, ..., 여섯 번째 40가지. 즉 45 x 44 x 43 x 42 x 41 x 40 = 5,864,443,200가지.
2단계 -- 순서를 없애면: 같은 6개의 공을 나열하는 순서는 6! = 6 x 5 x 4 x 3 x 2 x 1 = 720가지. (1,2,3)과 (3,1,2)는 같은 조합이므로 720으로 나눠야 합니다.
3단계 -- 최종 답: 5,864,443,200 / 720 = 8,145,060가지!

쉽게 말하면: 반에서 학생 6명을 뽑아 청소 당번을 만드는 것과 같습니다. 누가 먼저 뽑혔든 같은 조이니까, 순서를 무시하는 것입니다.

45개의 공 중에서 6개를 뽑는 모든 경우의 수는?

C(45, 6) = 45! / (6! x 39!) = 8,145,060 가지
쉽게 말하면: 로또 용지에 적을 수 있는 서로 다른 번호 조합이 약 814만 가지나 됩니다. 그 중 당첨 번호는 딱 1가지뿐이니, 1장을 사면 814만 분의 1의 확률로 당첨됩니다.
P(1등) = 1 / 8,145,060 ≈ 0.0000123%

등위별 당첨 확률

6개를 모두 맞춰야 1등이지만, 3개만 맞춰도 5등(5,000원)에 당첨됩니다. 아래 표에서 각 등위별로 얼마나 어려운지 확인해보세요.
등위조건경우의 수확률평균 당첨금
1등6개 일치11 / 8,145,060~20억원
2등5개+보너스66 / 8,145,060~5천만원
3등5개 일치228228 / 8,145,060~150만원
4등4개 일치9,8559,855 / 8,145,0605만원
5등3개 일치142,506142,506 / 8,145,0605천원
2개 이하7,992,46498.13%0원
기대값이란? "이 게임을 아주 많이 반복하면 평균적으로 얼마를 벌까?"를 나타내는 숫자입니다.
동전 던지기에서 앞면이 나오면 200원을 받고, 뒷면이면 0원이라면, 기대값은 100원입니다 (200 x 0.5 + 0 x 0.5 = 100).
즉, 한 번에 100원 참가비를 내면 딱 본전인 게임이라는 뜻이죠.
핵심: 로또 1장(1,000원)의 기대값은 약 500원입니다. 즉, 1장을 살 때마다 평균적으로 500원을 잃는 게임입니다. 이 차이(500원)가 복권 운영 수익이 됩니다.
"1,000원 로또를 사면 평균적으로 500원을 잃는다" -- 기대값 상세 설명:
기대값을 구하려면 각 결과의 "확률 x 상금"을 전부 더하면 된다.

- 1등: (1/8,145,060) x 20억원 = 약 245원
- 2등: (6/8,145,060) x 5,000만원 = 약 37원
- 3등: (228/8,145,060) x 150만원 = 약 42원
- 4등: (9,855/8,145,060) x 5만원 = 약 60원
- 5등: (142,506/8,145,060) x 5,000원 = 약 87원
- 합계: 약 471원 (회차별 당첨금에 따라 변동)

1,000원을 내고 평균 471원을 돌려받으니, 매번 약 529원을 잃는 셈이다. 카지노 슬롯머신의 환원율이 보통 85~95%인 것에 비해, 로또의 환원율(약 50%)은 상당히 낮은 편이다.

쉽게 말하면: 로또는 "꿈을 사는 오락비"로 생각해야 합리적이다. 투자 수단으로서는 최악의 선택이다.

체감 확률 비교

1등 당첨 확률(1/814만)은 상상하기 어려울 만큼 낮습니다. 다른 희귀한 사건과 비교해볼까요?

벼락 맞을 확률 (1/100만)로또보다 8.1배 더 높음
비행기 사고 (1/1,100만)로또와 비슷
로또 1등 (1/814만)기준
놀라운 사실: 벼락에 맞을 확률이 로또 1등보다 8배나 높습니다! 우리가 벼락 걱정을 거의 안 하는 것처럼, 로또 1등 당첨도 사실상 일어나지 않는 사건이라고 볼 수 있습니다.

매주 1장씩 산다면?

1등까지 평균 소요 시간
156,636년
8,145,060주 / 52주
총 투자 금액
81.5억원
1등 당첨금(~20억)의 4배

번호별 출현 빈도 분석

이 실험의 목적: "특정 번호가 더 잘 나올까?"를 확인하는 것입니다.

주사위를 6번 던진다고 1부터 6이 한 번씩 나오지는 않습니다. 어떤 숫자는 2번 나오고, 어떤 숫자는 한 번도 안 나올 수 있죠. 하지만 600번 던지면? 각 숫자가 거의 100번씩 비슷하게 나옵니다.

로또도 마찬가지입니다. 적게 뽑으면 편차가 크지만, 많이 뽑으면 45개 번호가 모두 비슷한 빈도로 나옵니다. 아래에서 직접 실험해보세요. 처음에는 10회만, 그 다음에는 10,000회를 추가해보세요!
총 추첨 횟수
0
이론적 출현율
13.3%
6/45 = 각 번호가 나올 확률
실제 편차 (최대-최소)
-
카이제곱 p-value
-
균등 분포 검정
카이제곱 검정이란? "이 결과가 우연으로 설명 가능한가?"를 숫자로 판단하는 방법입니다.
p-value가 0.05보다 크면 "우연의 범위 안"이라는 뜻입니다. 즉, 특별히 편향된 번호는 없다는 것이죠.
p-value가 0.05보다 작으면 "뭔가 이상하다"는 신호인데, 로또에서는 거의 나타나지 않습니다.

번호별 출현 빈도 히트맵

공 위의 숫자는 출현 횟수입니다. 밝을수록 많이 나온 번호, 어두울수록 적게 나온 번호.

큰 수의 법칙 (Law of Large Numbers)

큰 수의 법칙이란? 같은 실험을 아주 많이 반복하면, 실제 결과가 이론적 확률에 점점 가까워진다는 법칙입니다.

일상적인 예:
- 동전을 10번 던지면 앞면이 7번(70%) 나올 수 있습니다 -- 꽤 삐뚤어져 보이죠?
- 동전을 100번 던지면 앞면이 45~55번 정도 나옵니다 -- 50%에 좀 더 가까워졌죠?
- 동전을 10,000번 던지면 앞면이 거의 정확히 50%에 가까워집니다!

아래에서 로또 번호 5개(7, 13, 25, 33, 42)를 추적하면서, 각 번호의 출현율이 이론값(13.33%)에 수렴하는 과정을 직접 관찰해보세요.
도박사의 오류: "7번이 10회 연속 안 나왔으니 다음에 나올 확률이 높다?"
-- 틀렸습니다! 각 추첨은 독립시행이므로 이전 결과는 다음에 절대 영향을 주지 않습니다. 동전을 던져서 앞면이 5번 연속 나왔어도, 다음 번에 뒷면이 나올 확률은 여전히 50%입니다.
"독립(Independence)"이란? -- 가장 중요한 확률 개념:
두 사건이 독립이라는 것은, 한 사건의 결과가 다른 사건의 확률에 전혀 영향을 주지 않는다는 뜻이다.

독립인 것:
- 동전 던지기: 앞면이 10번 연속 나와도, 다음 앞면 확률은 여전히 50%
- 로또: 지난주에 7번이 나왔든 안 나왔든, 이번 주 7번이 나올 확률은 동일
- 주사위: 6이 3번 연속 나왔어도, 다음 6의 확률은 1/6

독립이 아닌 것:
- 날씨: 오늘 비가 왔다면, 내일도 비가 올 확률이 높다 (기상 시스템의 연속성)
- 카드 뽑기(비복원): 에이스를 한 장 뽑았으면, 남은 카드 중 에이스 비율이 줄어든다
- 전염병: 주변 사람이 감염되면 나도 감염될 확률이 높아진다

쉽게 말하면: "이전에 무슨 일이 있었든 다음 확률이 바뀌지 않으면" 독립이다. 로또 기계는 이전 추첨을 "기억"하지 않는다. 매번 45개 공을 똑같은 조건에서 새로 섞는다.
"큰 수의 법칙"을 오해하지 말자:
큰 수의 법칙은 "시행을 많이 하면 비율이 이론값에 가까워진다"는 것이지, "지금까지의 불균형을 보상하기 위해 반대 결과가 더 많이 나온다"는 것이 아니다.

동전을 100번 던져서 앞면이 60번 나왔다. 앞으로 100번 더 던지면? 새로운 100번에서 앞면은 약 50번 나올 것이다 (보상이 아니라 그냥 공정한 확률대로). 전체 200번에서 보면 앞면은 약 110번 = 55%. 처음의 60%보다 50%에 가까워졌지만, 이것은 "앞으로 뒷면이 더 많이 나왔기 때문"이 아니라 "새 시행의 비중이 커졌기 때문"이다.
보통
현재 추첨 수
0
최대 편차
-
이론값(13.33%)과의 차이
최근 추첨:시작 버튼을 눌러주세요
그래프 보는 법: 각 색깔 선은 특정 번호의 출현율(%)입니다. 처음에는 선들이 심하게 흔들리지만, 추첨이 쌓일수록 점점 검은 점선(이론값 13.33%)에 모여드는 것을 볼 수 있습니다. 이것이 바로 큰 수의 법칙입니다!

예측 전략 대결

질문: "자주 나온 번호를 골라서 사면 유리하지 않을까?"

많은 사람들이 이렇게 생각합니다. 그래서 4가지 전략을 만들어서 실험해봅니다:
- 뜨거운 번호: 최근에 가장 많이 나온 6개 번호를 고르기 (인기 있는 전략!)
- 차가운 번호: 최근에 가장 적게 나온 6개 번호를 고르기 ("안 나왔으니 곧 나올 거야!")
- 패턴 전략: 7, 14, 21, 28, 35, 42처럼 규칙적인 간격으로 고르기
- 완전 랜덤: 아무 생각 없이 무작위로 고르기

과연 어떤 전략이 이길까요? "대결 시작!"을 눌러보세요!

뜨거운 번호 (Hot)

직전 100회에서 가장 많이 나온 6개

-
총 일치 수

차가운 번호 (Cold)

직전 100회에서 가장 적게 나온 6개

-
총 일치 수

패턴 전략

등간격 (7, 14, 21, 28, 35, 42)

-
총 일치 수

완전 랜덤

매회 새로 랜덤 선택

-
총 일치 수
PART I 중간 결론: 어떤 전략을 써도 결과는 랜덤과 거의 같습니다. 로또는 독립시행이기 때문입니다.

그런데... 정말 독립일까요? PART II에서 이것을 과학적으로 직접 검증해봅시다!

가설 전환: "로또 추첨은 독립이 아닐 수도 있다"

"독립"이 뭘까요?
두 사건이 서로 영향을 주지 않으면 "독립"이라고 합니다.

독립인 경우: 동전을 던져서 앞면이 나왔어도, 다음에 뒷면이 나올 확률은 여전히 50%입니다. 동전은 이전 결과를 "기억"하지 못하니까요.
독립이 아닌 경우: 오늘 날씨가 맑으면, 내일도 맑을 확률이 높습니다. 날씨는 이전 상태에 영향을 받으니까요.

지금까지 우리는 "로또는 동전처럼 독립적"이라고 가정했습니다. 하지만 만약 "날씨처럼 이전 결과에 영향을 받는다면?" 과거 데이터를 분석해서 미래를 예측할 수 있을 것입니다!

이것이 과학의 시작입니다: 가설을 세우고 → 모델을 만들고 → 데이터로 검증한다.
귀무가설 H0: P(Xt | Xt-1) = P(Xt)   (독립 -- 이전이 다음에 영향 없음)
대립가설 H1: P(Xt | Xt-1) ≠ P(Xt)   (종속 -- 이전이 다음에 영향 있음)
쉽게 말하면:
- H0 (귀무가설): "로또는 매번 새로 뽑는 거야. 이전 결과와 상관없어." ← 이게 맞다고 일단 가정
- H1 (대립가설): "아니야, 이전에 뭐가 나왔느냐에 따라 다음이 달라져!" ← 이걸 증명하려고 시도

H1이 맞다면 AI로 로또를 예측할 수 있겠죠? 이제 데이터로 확인해봅시다.

데이터 준비

분석에 사용할 로또 추첨 데이터를 준비합니다. 컴퓨터가 로또 추첨을 500번 시뮬레이션합니다. 이 데이터를 80%(400회)는 모델 학습용, 20%(100회)는 테스트용으로 나눕니다.
시뮬레이션 (500회 랜덤 추첨)
총 회차
500
훈련 세트 (80%)
400
테스트 세트 (20%)
100
이론적 출현율
13.33%
6/45
#번호 1번호 2번호 3번호 4번호 5번호 6

조건부 확률 분석: "같은 번호가 연속으로 나올까?"

조건부 확률이란? "어떤 일이 이미 일어났을 때, 다른 일이 일어날 확률"입니다.

일상적인 예:
- 비가 올 때 우산을 가져올 확률 = P(우산 | 비) → 아마 높겠죠?
- 맑을 때 우산을 가져올 확률 = P(우산 | 맑음) → 아마 낮겠죠?
- 이 두 확률이 다르다면, 날씨와 우산 사이에 종속 관계가 있는 것입니다.

로또에 적용하면:
- 7번이 이번에 나왔을 때, 다음에도 7번이 나올 확률은? (Hot)
- 7번이 이번에 안 나왔을 때, 다음에 7번이 나올 확률은? (Cold)
- 만약 두 확률이 같다면 → 독립 (이전 결과가 영향 없음)
- 만약 두 확률이 다르다면 → 종속 (이전 결과가 영향 있음!)
산점도 보는 법: 점 하나가 번호 하나(1~45)입니다.
- 빨간 점: 그 번호가 나온 뒤 다시 나올 확률 (Hot)
- 파란 점: 그 번호가 안 나온 뒤 나올 확률 (Cold)
- 검은 대각선: 독립일 때의 기준선 (Hot = Cold = 무조건부 확률)
점들이 대각선 주위에 모여 있으면 → 독립! 대각선에서 벗어나면 → 종속 의심!

번호 탐색기: "이 번호 다음에 뭐가 나왔을까?"

아래에서 번호를 하나 클릭해보세요. 그 번호가 나온 다음 회차에 45개 번호가 각각 얼마나 자주 나왔는지 막대그래프로 보여줍니다. 독립이라면 모든 막대가 검은 점선(13.33%) 근처에 있어야 합니다.

자기상관 분석 (Autocorrelation)

자기상관이란? "과거의 나 자신"과 "현재의 나 자신"이 얼마나 관련 있는지를 측정하는 것입니다.

자기상관이 높은 예: 오늘 기온이 30도면, 내일도 비슷하게 더울 확률이 높습니다. 기온은 어제의 기온과 관련이 있죠 → 자기상관이 높음
자기상관이 없는 예: 오늘 동전이 앞면이 나왔다고, 내일 앞면이 나올 가능성이 높아지지 않습니다 → 자기상관 없음

로또의 각 번호를 시간 순서대로 "나왔다(1) / 안 나왔다(0)"로 기록하면, 하나의 시계열이 됩니다. 이 시계열에서 자기상관이 발견되면, 과거 패턴으로 미래를 예측할 수 있을 것입니다!
자기상관 계수 95% 신뢰구간
ACF 그래프 보는 법:
- 각 막대는 "Lag(간격) k만큼 떨어진 과거와 현재의 상관관계"입니다.
- Lag 1 = 바로 직전 회차와의 관계, Lag 2 = 2회 전과의 관계, ...
- 파란 막대빨간 점선(신뢰구간) 안에 있으면 → 자기상관 없음 (우연의 범위)
- 빨간 점선을 넘으면 → 자기상관이 있을 수 있음 (하지만 20개 중 1개 정도는 우연히 넘을 수 있습니다!)
Ljung-Box 검정이란? 모든 lag의 자기상관을 한꺼번에 모아서 "전체적으로 자기상관이 있는가?"를 판단합니다.
p-value > 0.05이면 → "자기상관 없음" → 이 번호의 출현은 랜덤입니다.

마르코프 모델 vs 랜덤

마르코프 체인이란? "현재 상태가 바로 다음 상태에 영향을 준다"고 가정하는 모델입니다.

일상적인 예 (날씨):
- 오늘 맑으면 → 내일도 맑을 확률 80%, 흐릴 확률 20%
- 오늘 흐리면 → 내일 맑을 확률 40%, 흐릴 확률 60%
이런 "전이확률"을 과거 데이터에서 학습하면, 오늘 날씨를 보고 내일을 예측할 수 있습니다!

로또에 적용하면:
- "이번에 7번이 나왔을 때, 다음에 각 번호가 나올 확률"을 과거 데이터에서 계산합니다.
- 이런 전이확률표를 만들어두면, 마지막 추첨 결과를 보고 다음 번호를 "예측"할 수 있습니다.
- 과연 이 예측이 랜덤보다 나을까요? 직접 확인해봅시다!

우리가 한 것: 데이터 사이언스 전체 워크플로우

축하합니다! 여러분은 방금 데이터 사이언스의 핵심 과정을 처음부터 끝까지 경험했습니다. 아래 8단계가 바로 전문 데이터 과학자들이 실제로 하는 일의 흐름입니다.
1
확률 계산
경우의 수, 기대값
2
빈도 분석
히트맵, 카이제곱
3
큰 수의 법칙
수렴 시뮬레이션
4
전략 대결
분석 vs 랜덤
5
가설 전환
"독립 아닐 수도"
6
조건부 확률
종속성 탐색
7
자기상관
Ljung-Box 검정
8
모델 검증
마르코프+셔플

결론: 왜 로또는 예측할 수 없는가?

모든 검증 결과가 같은 답을 가리킵니다

- 조건부 확률 분석: Hot과 Cold의 차이 거의 없음 → 종속성 없음
- 자기상관 분석: 모든 번호에서 ACF ≈ 0 → 시간적 패턴 없음
- 마르코프 예측: 랜덤과 성능 동일 → 예측 불가능
- 셔플 검정: 원래 모델이 셔플 모델과 차이 없음 → 진짜 패턴 아님

최종 답: 로또는 독립시행(i.i.d.)입니다. 각 추첨은 이전 결과와 완전히 독립적이고, 동일한 확률 분포를 따릅니다. 과거 데이터에서 미래를 예측할 수 있는 패턴은 존재하지 않습니다. 어떤 AI 모델을 써도, 어떤 통계 기법을 써도, 랜덤보다 나을 수 없습니다.

핵심 교훈

1. "데이터가 있다" ≠ "예측 가능하다"
데이터가 아무리 많아도, 그 안에 배울 수 있는 패턴이 없으면 예측은 불가능합니다. AI/머신러닝이 작동하려면 데이터 사이에 규칙성(종속성)이 있어야 합니다.
- 날씨 예측: 물리 법칙에 의한 패턴 있음 → 예측 가능
- 번역: 언어의 문법 규칙 있음 → AI 가능
- 로또: 완전한 독립시행 → 예측 불가능
2. 바이브코딩의 함정
AI에게 "로또를 예측해줘"라고 하면 그럴듯한 코드를 짜줍니다. 하지만 그 코드가 원리적으로 작동할 수 있는지는 사람이 판단해야 합니다. 코드가 돌아간다고 해서 결과가 의미 있는 것은 아닙니다!
3. 과학적 사고의 힘
우리는 오늘 "가설 → 모델 → 검증"의 과정을 거쳤습니다. 모델이 틀렸다는 것을 증명하는 것도 매우 가치 있는 결과입니다. "이 방법은 안 된다"는 것을 확실히 아는 것이, 아무것도 모르는 것보다 훨씬 낫습니다.

AI는 도구입니다. 그 도구를 올바르게 사용하려면 기초 이론이 필요합니다.
"모델이 틀릴 수 있다"를 증명하는 과정이 곧 과학적 사고이자 데이터 사이언스입니다.

13장을 마치며

이 장에서는 로또 6/45라는 친숙한 소재를 통해 확률의 기초부터 가설검정, 시계열 분석, 그리고 모델 검증까지 추론통계의 핵심 개념을 직접 체험했습니다. 데이터가 있다고 해서 예측이 가능한 것은 아니며, 과학적 사고란 "무엇이 가능하고 무엇이 불가능한지"를 데이터로 증명하는 과정입니다.

다음 장 예고: 14장 캡스톤 II에서는 실제 설문조사 데이터에 이 장에서 배운 검정 기법들을 적용하는 종합 실습을 진행합니다.