재현 패키지 — 보고서2 「AI 기반 산업별 부가가치 전망」 4장 보론: AI 확산 지수와 VARX 대안 모형
이 묶음은 특허·논문·뉴스로 AI 확산 총량 지수(분기)와 업종별 AI 노출 지수를 만들고, 이를 보고서1 산업모형(베이지언 VARX)의 외생 항으로 넣는 두 대안을 데이터 입수 → 분석 → 결과 도출 세 단계로 다시 계산한다. 마지막 검증 셀이 본문 수치 40개, 4장 결과, 보고서1 5장 바텀업 합계와 계산 결과를 대조하며, 하나라도 다르면 실행이 멈춘다.
무엇을 계산하는가
| 사양 | 산업모형 계수 | 산업 배분(장기 효과의 형태) | 기존 전망 |
|---|---|---|---|
| 현행(직접) | — (파급 없음) | 설문 E4-1 2040년 − 1 | 4장과 같음 |
| 대안 1a | 보고서1 계수 고정 | 설문 | 바뀌지 않음(기준 시나리오에서 AI 항 = 0) |
| 대안 1b | 보고서1 계수 고정 | 특허·논문·뉴스 노출 지수(설문 척도로 옮김) | 바뀌지 않음 |
| 대안 1c | 보고서1 계수 고정 | 한국고용정보원(2017) 혁신 시나리오의 업종별 부가가치 증가율 차이 | 바뀌지 않음 |
| 대안 2 | AI 확산 갭을 일곱째 외생으로 넣어 재추정 | 사후평균(사전: 설문, 폭: 설문 표본오차) | 재추정 효과만큼 조금 바뀜(표 2) |
| 진단 | 보고서1 계수 고정 | 설문 형태를 동시항에 그대로 | 바뀌지 않음 |
모든 사양은 2035년 부가가치 가중평균 AI 프리미엄을 Λ = 0.5%p로 맞추므로, 사양 간 차이는 산업 간 배분과 파급에서만 생긴다.
폴더 구조
s4-alt/
├─ README.md 이 문서
├─ requirements.txt 검증한 패키지 버전
├─ config.py 경로·Λ·입력 SHA-256·검증 기준값 — 모든 경로는 이 폴더 기준 상대경로
├─ run_all.py 01→02→03 노트북을 순서대로 실행하고 output/run_log.txt 기록
├─ 01_입수.ipynb 입력 검증, 산업별 노출 원천, 포함–배제 점검, (ONLINE=1) 재조회, 설문 E4-1·표준오차 → data/interim/
├─ 02_분석.ipynb 총량 지수·갭, 노출 지수, 기존 모형 적합, 대안 1·진단·대안 2 → output/
├─ 03_결과.ipynb 표 1–4·그림 1–3, 검증 셀
├─ src/
│ ├─ ai_index.py 총량 지수(보간·로그 편차·HP 갭)와 업종 노출 지수
│ ├─ ai_varx.py AI 항의 전파·Λ 보정·장기 일치 동시항·파급 분해·재추정·경험적 베이즈
│ ├─ alt_run.py 사양별 계산 묶음(노트북은 이 함수만 호출)
│ ├─ keis_prior.py 한국고용정보원(2017) 혁신 시나리오의 업종별 ΔVA 집계
│ ├─ fetch.py OpenAlex·Event Registry 재조회(ONLINE=1)
│ ├─ varx_engine.py 보고서1 5장 패키지의 산업모형 엔진(같은 파일)
│ └─ ai_forecast.py 보고서2 4장 패키지의 설문 읽기·시점 가중치(같은 파일)
├─ data/
│ ├─ inputs/ 공개 입력 13개 · PROVENANCE.md · FINDIP_QUERY.md · EVENTREGISTRY_QUERY.md · RETRIEVED_AT.txt
│ ├─ crosswalk_21_62.csv, map_openalex_field_to_survey21.csv, map_ipc_to_survey21.csv, map_keis11_to_survey21.csv, survey21_short_names.csv 본 연구가 만든 대응표
│ ├─ private/ ★ 비공개 설문 자료 자리(배포 묶음에 없음)
│ └─ interim/ 01이 만드는 중간 산출물(설문 집계 — 배포 묶음에 없음)
└─ output/ 02·03이 만드는 최종 산출물
실행 방법
bash
pip install -r requirements.txt
python run_all.py
기본 실행은 저장된 스냅샷을 쓰며 인터넷 연결 없이 1분 안에 끝난다. 산업별 노출 자료를 다시 받으려면 ONLINE=1을 준다.
OpenAlex는 키 없이 조회되고, Event Registry는 환경변수 EVENTREGISTRY_API_KEY가 있어야 한다(조회 42회). 재조회 값은 스냅샷과의 차이만 보여 주며 분석은 언제나 스냅샷으로 한다.
FindIP는 MCP 연결로만 조회할 수 있어 data/inputs/FINDIP_QUERY.md에 조건과 시각을 적었다.
압축은 Windows 탐색기·7-Zip·macOS 기본 도구 또는 python -m zipfile -e s4-alt-repro.zip .로 푼다. 내려받은 뒤 SHA256SUMS.txt로 파일이 온전한지 확인할 수 있다.
비공개 원자료
01_입수.ipynb 5절은 한국고용정보원 「AI 수용도가 고용변화에 미치는 영향」 사업체 조사(2025, n=2,297)의 통계표와 원자료를 읽는다.
과제 참여기관에 공유된 자료이므로 배포 묶음에 넣지 않았다. 자료가 있으면 data/private/에 AI수용도조사_통계표_260417.xlsx, AI수용도조사_원자료_n2297.xlsx로 두고 실행한다.
없으면 5절에서 안내 메시지와 함께 멈춘다. 포털의 노트북 화면은 자료를 가진 상태에서 실행한 기록이며, 업종별 설문 집계를 보여 주는 셀의 출력은 숨겼다.
입력과 산출물
| 단계 | 입력 | 산출물 |
|---|---|---|
| 01 입수 | data/inputs/*, 대응표, 비공개 설문 |
data/interim/survey_signal_21.csv, survey_se_21.csv |
| 02 분석 | 01 산출물, 입력 | output/ai_index_quarterly.csv, ai_exposure_21.csv, exposure_rank_corr.csv, keis_r14_dva_21.csv, keis_r14_total.csv, triangulation_rank_corr.csv, summary_variants.csv, premium_62_variants.csv, paths_total_variants.csv, spillover_diag.csv, alt2_diagnostics.csv, alt2_baseline_change.csv, alt2_baseline_change_62.csv, model_check.csv |
| 03 결과 | 02 산출물 | output/table1_variants.csv, table2_baseline_change.csv, table3_premium_diff.csv, fig1_ai_index.png, fig2_exposure.png, fig3_premium_variants.png, verification.csv, run_log.txt |
계산의 요점
- 총량 지수. 특허(5개국 G06N, 2024년까지)·논문(OpenAlex AI 개념)·뉴스(Event Registry 영문)의 로그 수준에서 각자의 2015–2024년 평균을 빼고 분기로 맞춘 뒤 평균한다. 연간 자료는 연 중앙에 로그 수준을 두고 선형보간한 뒤 해마다 분기 합을 연간 값에 맞춘다. AI 확산 갭 = 총량 지수 − HP 추세(λ = 1600), 2015년 이전은 0.
- 노출 지수. 업종별 뉴스 AI 비중, 논문 AI 비중(분야 대응), 부가가치 1조 원당 AI 특허 동시분류 건수의 로그값을 업종 간 표준화해 평균한다. 상위 20개 밖의 IPC는 포함–배제(|G06N| + |X| − |G06N∪X|)로 정확히 구했다.
- 이전 전망(대안 1c). 한국고용정보원(2017)의 혁신전망 − 기준전망 부가가치 증가율 차이를 8장(KIET 세부 산업, 세 구간 평균)과 11장(인력수급 산업, 2016~2030)에서 구해 업종별로 평균한다. 전 산업 차이는 0.47%p로 Λ 중심값(0.5%p)의 참고값이 된다.
- 대안 1. $\delta_t = \sum_l A_l^\top \delta_{t-l} + \gamma x_t$. 설문은 누적 효과를 묻으므로 사전 정보를 장기 반응 $M\gamma$에 두고 $\gamma = (I - \sum_l A_l^\top)\,a$로 정한다.
- 대안 2. AI 확산 갭을 외생으로 넣어 재추정한다. AI 동시항 사전분포 $N(\beta a_i, \tau_i^2)$, $\beta$는 경험적 베이즈, $\tau_i = |\beta|\,SE_i$(설문 표본오차). 계층 사양($+\hat\tau^2$)도 함께 계산한다.
- 진단. 설문 형태를 동시항에 그대로 넣으면 축약형 교차 시차계수(절반 가까이 음수)를 따라 일부 산업의 효과가 음(−)이 된다. 장기 배수로 자기 몫과 파급 몫을 나눈다.
정정 기록
- 2026-10-08 최초 작성.