엔트로피 가중치법(Entropy Weight Method)을 활용한 과학적 로또 번호 예측 시스템
이 시스템은 정보 이론의 엔트로피 개념을 활용하여 로또 번호의 출현 가능성을 분석합니다. 8가지 통계적 특성을 자동으로 가중치화하여 각 번호의 점수를 산출하고, 백테스팅을 통해 모델의 성능을 검증합니다.
- 엔트로피 가중치법을 활용한 번호별 출현 가능성 점수 계산
- 상위 N개 예측 번호 추천 (기본 10개)
- 실시간 특성별 가중치 시각화
- 슬라이딩 윈도우 방식의 과거 데이터 검증
- 회차별 예측 정확도 측정
- 적중 개수 분포 분석
- 성과 지표:
- Top 6/10 정확도
- 평균 적중 개수
- 평균 순위
- 3개 이상 적중률
- 번호별 출현 빈도
- 구간별 분포 (1-9, 10-18, 19-27, 28-36, 37-45)
- 홀짝 비율
- 보너스 번호 통계
1. 데이터 정규화: p_ij = x_ij / Σx_ij
2. 엔트로피 계산: E_j = -k * Σ(p_ij * ln(p_ij)), k = 1/ln(n)
3. 차이도 계산: D_j = 1 - E_j
4. 가중치 계산: W_j = D_j / ΣD_j
- 객관적 가중치: 데이터의 정보량에 따라 자동으로 가중치 결정
- 엔트로피가 낮을수록 → 정보량 많음 → 가중치 높음
- 엔트로피가 높을수록 → 정보량 적음 → 가중치 낮음
-
최근 출현 빈도 (Recent Frequency)
- 최근 N회차 동안의 출현 횟수
- 최근 트렌드 반영
-
미출현 기간 (Absence Period)
- 마지막 출현 이후 경과 회차 수
- 적절한 미출현 기간에 높은 점수
-
출현 간격 패턴 (Interval Pattern)
- 출현 간격의 규칙성/변동성
- 표준편차가 낮을수록 규칙적
-
홀짝 균형도 (Odd-Even Balance)
- 최근 홀수/짝수 출현 비율
- 부족한 쪽에 높은 점수
-
구간 분포 (Section Distribution)
- 5개 구간별 출현 분포
- 부족한 구간에 높은 점수
-
연속 번호 패턴 (Consecutive Pattern)
- 연속된 번호와의 동반 출현
- 연속 출현 경향 분석
-
보너스 이력 (Bonus History)
- 보너스 번호 출현 이력
- 일반 당첨 가능성 평가
-
평균 회귀 (Mean Reversion)
- 전체 평균 대비 최근 출현률
- 평균으로 회귀하는 경향
- 파일 구조 확인
lotto_claude/
├── index.html
├── css/
│ └── style.css
├── js/
│ ├── entropy.js
│ ├── analyzer.js
│ ├── backtest.js
│ └── main.js
└── data/
└── lotto_1_1202.csv
- 웹 브라우저로
index.html열기- 로컬 서버 사용 권장 (CORS 이슈 방지)
- Python:
python -m http.server 8000 - Node.js:
npx http-server
-
분석 회차 수 설정 (기본 50회)
- 최근 데이터 영향도 조절
-
예측 번호 개수 설정 (기본 10개)
- 상위 몇 개까지 볼지 선택
-
분석 실행
- "다음 회차 예측" 버튼 클릭
- 예측 번호 및 점수 확인
- 특성별 가중치 확인
-
기간 설정
- 시작 회차: 예) 1100
- 종료 회차: 예) 1150
-
백테스트 실행
- 각 회차별로 이전 데이터로 학습
- 실제 당첨번호와 비교
- 성능 지표 확인
-
결과 분석
- 적중 개수 분포 차트
- 성능 추이 그래프
- 상세 결과 테이블
-
결과 내보내기
- CSV 파일로 저장
- Excel에서 추가 분석 가능
- 전체 회차 번호별 출현 빈도
- 구간별 분포 파이 차트
- 홀짝 비율 도넛 차트
- 최다/최소 출현 번호
-
적절한 분석 회차
- 너무 짧으면: 노이즈 영향
- 너무 길면: 최근 트렌드 반영 부족
- 권장: 50-100 회차
-
백테스팅 활용
- 다양한 기간에서 테스트
- 안정적인 성능 확인
- 최적 파라미터 찾기
-
특성 가중치 모니터링
- 가중치가 높은 특성 주목
- 시기별 중요 특성 변화 관찰
- 점수 100점 만점: 높을수록 출현 가능성 높음
- 순위: 1-45위, 상위권 번호 주목
- 적중 3개 이상: 일반적으로 양호한 성능
- 평균 순위 15 이하: 예측이 실제 당첨번호에 가까움
이 시스템은 교육 및 연구 목적으로 제작되었습니다.
- 로또는 완전한 무작위 추첨입니다
- 어떠한 분석 방법도 당첨을 보장할 수 없습니다
- 과거 데이터는 미래 결과를 예측하지 못합니다
- 과도한 구매는 삼가시기 바랍니다
- 책임 있는 복권 구매를 권장합니다
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- 차트: Chart.js
- 알고리즘: 엔트로피 가중치법
- 데이터: CSV (1-1202회 로또 데이터)
백테스팅 결과 예시 (회차별로 다를 수 있음):
- 평균 적중 개수: 1.5 - 2.5개 (무작위: ~1.0개)
- Top 10 정확도: 25-35% (무작위: ~13%)
- 3개 이상 적중률: 15-25% (무작위: ~5%)
-
엔트로피 계산 검증
- 정규화 프로세스 확인
- 가중치 합계 = 1 보장
-
백테스팅 프로세스
- 슬라이딩 윈도우 방식
- Look-ahead bias 방지
- 실제 사용 시나리오 시뮬레이션
-
통계적 유의성
- 무작위 선택 대비 비교
- 장기간 데이터 검증
이 프로젝트는 교육 목적으로 자유롭게 사용 가능합니다.
개발: Claude Code Assistant 버전: 1.0.0 최종 업데이트: 2024년 12월