방법론 · 기술문서
왜 어긋나는지는 연쇄가중의 비밀에서 다뤘습니다. 여기서는 그 이해를 바탕으로 실제로 어떻게 재현했는지 — 공식, 알고리즘, 코드, 전체 검증표를 정리합니다.
매 분기, 바로 전 분기의 명목(경상가격) 비중으로 36개 산업의 실질 성장률을 가중평균해 "전체"의 성장률을 만들고, 이걸 이전 분기 값에 곱해 사슬처럼 이어갑니다. 이 공식은 한국은행이 실제로 총부가가치를 만드는 라스파이레스형 연쇄지수와 수학적으로 동일합니다.
이 공식으로 산출한 "성장률"은 분기별로 매우 정확합니다(공식 GVA 성장률과 오차 0.05~0.15%p 수준). 문제는 사슬을 어디서 출발시키느냐입니다 — 오차가 이미 큰 지점(예: 1980년) 에서 출발하면, 정확한 성장률을 계속 곱해도 그 초기 오차가 배율만 유지된 채 끝까지 사라지지 않고 이어집니다. 그래서 "36개 산업 그냥 합"이 실제로 거의 오차 없는(0.03% 이내) 지점, 즉 2020년 1분기를 기준점으로 삼고, 거기서 미래(2021~2025)와 과거(2019~1980) 양방향으로 사슬을 이어야 전체 구간에서 정확해집니다.
ANCHOR = "2020Q1"
def weighted_growth(nom_base, real_base, real_next):
w = nom_base / nom_base.sum() # 기준 시점 명목 비중
g = real_next / real_base # 산업별 실질 성장배율
return float((w * g).sum())
def reconstruct(real, nom, gva, anchor):
quarters = list(real.index)
idx0 = quarters.index(anchor)
recon = pd.Series(index=quarters, dtype=float)
recon.loc[anchor] = gva.loc[anchor] # 기준점은 공식 GVA로 고정
for i in range(idx0 + 1, len(quarters)): # 미래 방향
t, tm1 = quarters[i], quarters[i - 1]
recon.loc[t] = recon.loc[tm1] * weighted_growth(
nom.loc[tm1], real.loc[tm1], real.loc[t])
for i in range(idx0 - 1, -1, -1): # 과거 방향
t, tp1 = quarters[i], quarters[i + 1]
recon.loc[t] = recon.loc[tp1] / weighted_growth(
nom.loc[t], real.loc[t], real.loc[tp1])
return recon
전체 코드: code/industry_models_36q/reconstruct_total.py
(프로젝트 저장소)
| 시점 | 그냥 합 괴리 | 재현값 괴리 |
|---|---|---|
| 1980Q1 | +21.935% | +0.1200% |
| 2000Q1 | +5.716% | +0.2153% |
| 2019Q4 | +0.003% | +0.0380% |
| 2020Q1 (기준점) | +0.027% | 0.0000% |
| 2020Q4 | −0.031% | +0.0687% |
| 2025Q4 | +1.013% | +0.3278% |
| 전체(184분기) 최대 |괴리| | 25.208% | 0.8232% |
| 전체(184분기) 평균 |괴리| | 7.655% | 0.2324% |
그래프로 보시려면 36개 산업 데이터 뷰어의 "보정 — 36개 산업만으로 전체를 직접 재현하기" 패널을 확인하세요.
연간 단위로는 오차가 사실상 0(최대 0.0014%)까지 사라지지만, 분기 단위에서는 0.2~0.8%의 잔차가 남습니다. 분기별 성장률은 이론상 정확한데도 이런 잔차가 남는 걸 보면, 한국은행이 실제로는 연간 단위로 사슬을 연결하고 그 안의 분기 움직임은 별도의 보간(interpolation) 방식을 쓸 가능성이 높습니다 — 이 세부 방식은 공개된 산업별 데이터만으로 완전히 역산하기는 어렵습니다. 다만 0.2~0.8%는 실무적으로 무시할 수 있는 수준입니다.
이렇게 만든 재현값을 이후 36개 산업 모형 추정(14개 방법론)과 62·70개 산업 분해 작업의 기준 총량으로 사용합니다 — 한국은행 공식 GDP를 억지로 맞추는 비례조정 없이, 36개 산업 데이터 자체의 내적 정합성만으로 항상 일치하는 총량을 확보한 것입니다.