# Pearson 변별력 분석 — Simula 합성 데이터 한계

**이슈**: CORR_VARIANCE-001 (P3, OBSERVATION)
**작성일**: 2026-05-03
**근거**: `causal.json` 1,300페어 전수 분석

## 핵심 결과

| 지표 | 값 |
|---|---|
| 전체 Pearson 페어 | 1,300쌍 (130개 동 × 10페어) |
| `|r|` 평균 | **0.9962** |
| `|r|` 중앙값 | 0.9970 |
| `|r|` 표준편차 | 0.0035 |
| `|r|` 최솟값 | 0.9630 |
| `|r|` 최댓값 | 1.0000 |
| `|r|` ≥ 0.9 비중 | **100%** |
| `|r|` < 0.5 비중 | 0% |

## 시사점

### 1. 매트릭스(CORR_MATRIX-001)의 변별력 사실상 없음
- pLDDT 4단계 팔레트(≥.9 / ≥.7 / ≥.5 / <.5)에서 **모든 셀이 동일한 첫 번째 색**
- "같이 움직인다"는 정보가 **모든 페어에서 동시에 참** → 의사결정 비용에 기여 못함
- 사용자(대표님)가 화면에서 "r=0.999, 0.998, 0.997 ..." 만 본 것은 우연이 아니라 **데이터 자체의 특성**

### 2. Simula 합성 데이터 생성 방식의 영향
- `simula_generate.py` (281 lines)가 동별 시계열을 만들 때 **공통 상권 추세(rising/stable/...)** 를 단일 파라미터로 잡고 5개 지표(소상공/카페/유동/거래/지가)를 그 위에 곱셈/덧셈 변형으로 합성하면 거의 동일한 곡선 → r ≈ 1.0
- 즉 **시뮬레이션 모델이 이미 "이 동에서 일어나는 일은 모두 공동변동"이라는 강한 가정** 위에서 생성됨

### 3. Decision Tree 도입 시 위험
직전 세션에서 합의된 DECISION_TREE-001은 **다중공선성(multicollinearity)** 영향을 받습니다:
- 입력 특성들끼리 |r| ≥ 0.99 → 트리는 "어떤 변수든 골라도 분기 결과 거의 동일"
- 변수 중요도(feature importance)가 한 변수에 100% 쏠려 표시될 수 있음
- 다른 변수들은 "0% 중요" 처럼 보이게 됨 → **잘못된 인사이트 발산 위험**

### 4. Granger 인과로의 회피
- Pearson은 동기 상관 → 거의 1
- Granger는 시차 회귀 → **시간 차이를 활용하여 변별력 회복 가능**
- 현재 `causal.json`에 Granger 트리플렛 2,578개 존재
- 디시전 트리 입력으로 **같은 동의 동기 값** 대신 **lag-shifted Granger feature** 사용을 권장

## 권고

### 단기 (이번 작업 영향)
- **DECISION_TREE-001 진행 시**: feature 입력으로 Granger lag feature(예: visitors[t-3] → tx_volume[t])를 우선 사용. 같은 시점의 5개 지표 동시 입력은 다중공선성 함정.
- **매트릭스 UI 카피 추가**: 우상단에 "Simula 합성 데이터 — 모든 페어가 ≥0.9에 분포 (실데이터 도입 시 갱신 예정)" 한 줄 노트.

### 중장기 (이슈 등록 권고)
- **REAL_DATA_INGEST-001**: SGIS/카드사/통신사 실데이터로 시계열 갱신 → 페어별 r 분포 자연 분리 기대
- **SIMULA_NOISE-001**: simula_generate.py에 지표별 독립 노이즈 채널 추가 (Karpathy #4: 검증 가능한 분포 목표 — `stdev(|r|) >= 0.15`)

## 결론

매트릭스가 사진처럼 모두 0.99대였던 것은 **버그가 아니라 데이터 진실**.
다만 **simula 합성 데이터 위에서는** 매트릭스/트리 모두 시각적/분석적 변별력이 제한됨.

실데이터 또는 노이즈 강화된 합성 데이터에서 재검증해야 본 시각화 도구들의 가치가 발현됨.
