
IdentificationOps: p-hacking을 피한 인과 추론(causal inference) harness는 실현 가능한가
요약
LLM 에이전트의 분석 과정에서 발생하는 p-hacking 문제를 해결하기 위해 'IdentificationOps'라는 새로운 규율을 제안합니다. 에이전트의 분석 루프를 기계적으로 제어할 수 있는 인과 추론 프로토콜인 'explysis'를 설계하고 실제 데이터와 합성 데이터를 통해 그 유효성을 검증합니다.
핵심 포인트
- 에이전트의 반복적 분석 루프에서 발생하는 구조적 p-hacking 문제 지적
- 식별 전략의 선언과 검증 절차를 운영화하는 IdentificationOps 개념 제안
- 인과 추론 프로토콜 explysis를 통한 기계적 강제 계약 구현
- 증거 원장(evidence ledger) 방식을 통한 통계적 자산의 회계 처리
서론
"LLM agent는 인과 추론 (causal inference)을 올바르게 할 수 있는가"라는 질문은 흔히 능력의 문제로 framing 되곤 합니다.
이러한 framing 하에서는, 더 똑똑한 model이 나올 때마다 문제는 해결에 가까워질 것입니다.
agent의 능력 부족으로 인한 오류는 앞으로도 발생할 것입니다 (본 기사 자체도 자신의 실험 측정 버그와 잘못된 결론을 하나씩 찾아내어 수정하고 있습니다).
그럼에도 불구하고, 능력 향상만으로는 메울 수 없는 또 다른 결핍이 현재의 agent-native한 분석에는 존재합니다.
agent에게 분석을 맡기면, 탐색과 검정이 동일한 loop 안에서 돌아갑니다.
가설은 데이터를 본 후에 떠오르고, 분석 계획은 결과를 본 후에 바뀌며, 검정은 몇 번이고 실행됩니다.
"고정된 샘플을 단 한 번만 검정한다"는 전제로 설계된 p-value의 계약은, 이 loop 안에서는 처음부터 성립하지 않습니다.
인간 연구자라면 pre-registration(사전 등록)이나 peer review(동료 검토)가 외부에서 제약을 가하겠지만, agent의 분석 loop에는 대응하는 외부 구속이 없습니다.
agent의 예의(행동 양식)에 기대지 않는 한, agent-native한 분석은 구조적으로 p-hacking입니다.
그렇다면 표준화해야 할 것은 "agent가 어떻게 분석을 실행할 것인가"가 아니라, "어떤 실행 결과를 licensed 된 주장으로 인정할 것인가"라는 계약입니다.
본 기사에서는 이 계약을 만드는 규율을 IdentificationOps라고 부릅니다.
MLOps가 model의 운영을, DataOps가 pipeline의 운영을 규율화했듯이, IdentificationOps는 identification strategy(식별 전략)의 선언부터 그 선언이 licensed 된 주장이 되기까지의 절차를 운영으로 정착시킵니다.
estimation(추정)도 inference(추론)도 아닌 identification을 관점으로 삼는 이유는, 규율화의 대상이 "어떻게 추정할 것인가"가 아니라 "무엇을 가정하고, 무엇을 주장해도 되는가"이기 때문입니다.
이하에서는 이 규율의 첫 번째 구현인 인과 추론 프로토콜 explysis (v1은 도구 변수법 / LATE에 한정)에 대해, 설계, 실제 연구 loop와의 대응, 실제 데이터 (Card 1995)에서의 1회 순환, 합성 데이터에서의 오보율(false alarm rate) 실측까지를 보고합니다.
본 기사의 요점 (TL;DR)
- 실증 연구의 규범 (identification 논의, 사전 등록, robustness, peer review, replication)을 machine-enforceable(기계적으로 강제 가능한) 계약으로 옮기는 규율을 IdentificationOps라고 부르며, 그 첫 번째 구현체로 explysis를 설계했습니다.
- 분석은 world(타입이 지정된 가정 집합)와 estimand(추정 대상인 함수)를 선언하며, 방법론은 catalog가 매칭하는 대응 관계에 의해 결정됩니다 (수학적으로 유일한 도출이 아니라, 설계자가 선택한 policy입니다). estimator 이름을 적는 곳은 없습니다 (Thesis A) - agent의 분석 loop는 순차적이므로, fixed-n의 p-value 대신 append-only 방식의 evidence ledger(증거 원장)로 α 자산을 회계 처리합니다 (Thesis B) - 강제하는 것은 결정론적인 CLI이며, LLM 호출은 제로입니다. Card (1995)의 실제 데이터로 Plan→Do→Check→Act를 1회 순환했습니다. 구현 측과 별도의 context에서 실행되는 referee agent가, spec 측의 증거 과장(oversell)과 단조성(monotonicity) 가정에 대한 의구심을 각각 검출했습니다 (후자가 실제 위반인지 진단 오류인지는 §6의 실험에서 측정합니다).
- 합성 데이터로, 프로토콜을 정직하게 따랐을 경우의 claim rate를 실측했습니다 (간이 closed-form 구현, regime 간 비교용, 참조 구현값은 아닙니다). 귀무 가설 하에서의 claim rate는 naive / AR 모두 약 5% (strong IV)입니다. weak IV에서는 F 통계량 단독으로는 naive 방식이 무너지지 않지만, F×ρ (식별의 약함 × 내생성의 강함)의 결합 조건에서는 naive 0.202 vs AR 0.052로 갈라졌습니다.
- ρ는 관측 불가능한 구조적 오차 간의 상관관계이므로, "ρ가 낮으면 naive 방식이면 충분하다"라는 결과를 분석자가 행동으로 전환할 수 없습니다. weak-IV-robust한 추론을 protocol rule로서 선언하게 만드는 이유가 바로 여기에 있습니다.
위의 claim rate는 「프로토콜을 정직하게 따른 분석」의 결과이며, ledger를 다시 만들거나 불리한 run을 폐기하는 행동까지 포함한 오보율은 아닙니다 (§2 끝부분과 §7에서 다룹니다).
1. 설계: 실행이 아닌 계약을 표준화한다
선행 프로젝트와의 차이
인과 추론 (causal inference)을 agent로 자동화하려는 시도는 이미 존재합니다.
Causal-Copilot은 자연어 query로부터 algorithm 선택, 추정, 해석까지 전 과정을 자동화하며, IV Co-Scientist는 multi-agent를 통해 도구 변수 (instrumental variable) 후보를 발견합니다.
둘 다 실행의 자동화입니다.
explysis는 이들과 직교하며, 실행을 자동화하는 대신 실행의 계약 (contract)을 표준화합니다.
선례의 패턴으로 말하자면, 계산의 내용을 표준화하려 했던 규격은 PMML처럼 정착하지 못하거나, ONNX처럼 제한된 교환 용도에 머물렀습니다.
반면, 계약을 표준화한 규격 (LSP, OpenAPI, dbt, MCP)은 각 영역에서 직능별로 정착해 있습니다.
dbt는 SQL의 semantics를 발명하지 않고, workflow의 계약만을 고정하여 analytics engineering이라는 직능을 성립시켰습니다.
explysis가 dbt의 위치에 들어간다면, 성립시키고자 하는 직능 측의 이름이 IdentificationOps입니다.
구현 언어 (R / Python / Julia)는 규격 외에 두고, interface와 검증만을 규격에 포함합니다.
Thesis A: 방법론명이 아닌 가정을 선언한다
분석의 선언 (spec)에는 estimator 명을 적는 곳이 없습니다.
적는 것은 world와 estimand입니다.
world는 통제된 어휘를 통한 가정 집합으로, v1에서는 {relevance, exclusion, monotonicity, sutva, overlap, unconfoundedness}의 6개 단어만을 허용합니다.
각 가정에는 testable | partially_testable | untestable의 타입이 붙으며, testable하다면 진단 (diagnostics)의 registry ID를, untestable하다면 근거 문헌 (argued_via)을 반드시 연결합니다.
estimand는 LATE나 ATE와 같은 범함수 (functional)로서 선언하며, method와는 구분합니다.
방법론은 이 선언으로부터 일의적으로 도출되는 정리가 아니라, 선언에 대해 catalog가 매칭하는 것입니다.
가정 집합과 estimand의 조합에 대해 허용되는 estimator와 필수 진단을 열거한 derivation catalog (인용이 포함된 lookup table)가 존재하며, 예를 들어 {relevance, exclusion, monotonicity} + LATE 행은 Wald / 2SLS로 해결됩니다.
동일한 가정 집합 하에서도 LIML이나 Fuller, CLR과 같은 대안적인 타당한 방법론은 존재하므로, catalog는 설계자가 채택한 policy이지 수학적으로 일의적인 도출이 아닙니다.
대신, catalog에 실린 행을 선택한 이상 method 명을 선언에 적지 않아도 된다는 약속입니다.
진단 registry는 수학적 정의와 인용을 entry마다 pin하며, v1에서는 8개의 entry로 hard cap(상한)을 두었습니다.
정의의 모호함을 남기면 「진단을 실행했다」는 주장 자체를 검증할 수 없게 되므로, hard cap은 분석자의 자유도를 줄이는 대신 규격 측의 판단이 미치는 범위를 명확히 하는 trade-off입니다.
9번째 진단이 필요해졌을 때 어떤 일이 벌어질지는 v0.2 이후의 과제로 남습니다.
estimator 명을 적는 곳이 없어진다고 해서 분석자의 자유도가 사라지는 것은 아닙니다.
covariate_adjustment의 선택, AR의 grid 해상도, robustness_matrix의 dimensions 구성, 확증적 claim의 서술 방식은 이 선언의 다른 곳에 남습니다.
Thesis A가 차단하는 것은 「method 명을 먼저 결정하고 나중에 정당화하는」 경로이지, 선언 전체를 통한 자유도 그 자체는 아닙니다.
Thesis B: evidence ledger가 분석 loop를 licensed하게 만든다
순차적인 분석 loop에 대한 다중 검정 (multiple testing) 통제는, agent를 향한 지시문 (prompt)이 아니라 회계 (accounting)로서 구현합니다.
exl
CLI (Python 제작, 결정론적, LLM 호출 제로)가 append-only 형태의 ledger (이전 해시 체인 (prev-hash chain)이 포함된 JSONL)를 관리합니다.
exl init
은 데이터를 exploration / confirmation으로 분할하며, confirmation 측의 SHA-256 hash를 ledger의 genesis에 봉인합니다 (기계화된 blind analysis).
exl spec lock
은 spec 내용의 hash를 ledger에 추가하여, 이후의 수정을 탐지할 수 있게 합니다.
확증적인 주장은 exl ledger spend를 통해 $\alpha$ 자산을 지불한 경우에만 성립하며, 잔액이 0이면 CLI가 거부합니다.
v0의 회계는 고정된 $\alpha$ 자산의 spending (초기 0.05, earn-back 없음)이며, alpha-investing이나 e-process로 확장 가능한 seam을 가집니다.
보증은 모두 CLI의 code 측에 두며, agent를 위한 지시문의 prose (산문)에는 두지 않습니다.
prose의 지시는 agent가 읽기 건너뛸 수 있지만, 제출된 ledger의 내부 정합성은 건너뛸 수 없기 때문입니다.
다만 hash chain이 보호하는 것은 제출된 단 하나의 trail 내에서의 수정 탐지일 뿐이며, 애초에 trail을 제출하지 않거나 불리한 ledger를 통째로 다시 만드는 등의 ledger 외부 행동까지는 방지할 수 없습니다 (이 한계는 §2에서 다시 다룹니다).
이 구성을 agent 개발의 어휘로 다시 표현하면, explysis의 실체는 identification harness입니다.
test harness가 대상 code를 감싸 입력과 합격/불합격 판정을 기계 측에 고정하듯이, 이 harness는 agent의 분석 loop를 감싸 cell의 열거, 결과물의 수령, 주장의 합격 여부 (licensed 여부)를 기계 측에 고정합니다.
IdentificationOps가 직능의 이름이라면, identification harness는 그 도구의 형태를 일컫는 이름입니다.
단, test harness의 pass/fail과 달리, 이 licensed는 "옳음"을 보증하는 것이 아닙니다.
후술할 Card 분석에서는 해결되지 않은 referee의 지적을 안고 있는 상태에서도 claim이 licensed 상태가 됩니다.
licensed는 절차를 통과했다는 증표이지 진위 판정이 아니라는 점에서, 이 비유는 절반 정도만 유효합니다.
프로토콜의 실체
추상론만으로는 계약의 입도 (granularity)를 전달할 수 없으므로, 후술할 Card (1995)의 실제 run에서 spec과 ledger를 그대로 발췌합니다 (주석과 data_contract는 생략).
design: iv_late
world:
relevance:
...
읽는 법 3가지만 설명합니다.
estimator 이름은 어디에도 없으며, wald_2sls는 이 선언에 대해 catalog가 매칭한 결과입니다.
untestable로 타입 지정된 exclusion에는 문헌 참조 (argued_via)와 placebo에 사용할 열의 binding이 강제됩니다.
robustness_matrix는 2×3×2 = 12 cell로 기계적 전개됩니다.
ledger는 append-only JSONL이며, 이 run에서는 3개의 event만이 기록되어 있습니다 (hash와 긴 문장의 reason은 생략 표기).
{"seq": 0, "event": "genesis",
"confirmation_hash": "f40ac08f...", "confirmation_rows": 2107,
"initial_alpha": 0.05, "prev_hash": null, "hash": "2d8fa4c4..."}
...
genesis가 confirmation partition의 봉인, spec_locked가 선언의 고정, alpha_spend가 확증적 주장의 회계입니다.
각 event는 직전의 hash를 보유하므로, 중간의 수정은 체인 전체가 깨지며 탐지됩니다.
agent가 제출하는 결과물 (artifact) 또한 타입이 지정되어 있습니다.
DiagnosticResult (pin된 정의 ID를 가진 진단 결과), EstimateResult (추정치와 구간), RefereeReport, CodeBundleManifest (환경 lockfile, seed, 입출력 hash) 등 6가지 타입이 있으며, exl artifact validate가 스키마 (schema)와 상호 참조 (진단 ID의 실재 여부, estimand와의 일치 여부)를 검사합니다.
검증은 결과물에 대해 수행 (proof-carrying analysis)
agent가 작성하는 추정 코드 (estimate code)는 불투명한 (opaque) 결과물로 취급합니다.
사람이 코드를 읽고 정당성을 보장하는 대신, (a) 스펙 (spec)의 내부 일관성 (가정과 진단, catalog 행의 상호 참조)을 validator가 검사하고, (b) 보고되는 진단이 pin된 정의와 일치하는지를 registry가 고정하며, (c) 추정 코드 자체는 LATE의 참값을 구성적으로 알고 있는 합성 DGP의 conformance suite를 통과하게 합니다.
conformance suite에는 "OLS를 IV로 속인 구현을 반드시 탈락시키는" 테스트가 포함되어 있으며, 이는 suite 자체의 유닛 테스트 (unit test)입니다.
proof-carrying라는 명칭은 proof-carrying code에서 빌려온 것으로, 수학적인 증명을 운반한다는 의미는 아닙니다.
결과물이 자신의 검증 자료 (선언과의 일관성, pin된 정의에 대한 참조, conformance 통과 기록)를 동봉하고 있다는 의미의 비유입니다.
2. 실제 계량경제학자 (econometrician)의 루프를 프로토콜에 투영하기
이 프로토콜은 새로운 통계 기법을 도입하지 않습니다.
투영의 대상은 실증 연구를 수행하는 계량경제학자 (econometrician)가 평소에 돌리는 연구 루프 (research loop)입니다.
대응 관계를 나열하면 프로토콜의 각 요소가 어디에서 왔는지 알 수 있습니다.
| 연구자의 루프 | 프로토콜에서의 대응 | 무엇이 변하는가 |
|---|---|---|
| 선행 연구로부터 식별 전략 (identification strategy)을 구성 | papers/의 추출된 주장 (claim)과 spec의 argued_via 참조 | 인용이 장식에서 기계 검사가 가능한 참조로 변함 |
| 가설의 점검 (세미나에서 집중적으로 다뤄지는 식별 논의) | world 선언 (testable / untestable 타입 지정 + 진단 바인딩 (binding)) | 검증할 수 없는 가설일수록 문헌 근거 명시가 필수적이 됨 |
| 추정 대상의 확정 (누구의, 무엇에 대한 효과인가) | estimand 선언 | 방법론 (method) 이름을 쓰는 칸이 사라짐 |
| 사전 분석 계획 (pre-analysis plan, RCT 문화의 사전 등록) | exl spec lock | ledger 내에서의 순서를 hash로 검사할 수 있음 (외부 등록의 한계는 후술) |
| 블라인드 분석 (blind analysis)이라는 이상 | exl init의 탐색 (exploration) / 확증 (confirmation) 분할 및 봉인 | 규범이 노력 목표에서 기본값으로 변함 |
| 1단계 (first stage)와 F 통계량 확인 | diagnostics registry (effective_F는 Montiel Olea–Pflueger 정의를 pin) | "F를 확인했다"의 F가 어떤 정의인지 모호해지지 않음 |
| 강건성 표 (robustness table) 작성 | robustness_matrix + exl matrix expand | 선언한 차원 (dimensions) 내부에서 유리한 셀 (cell)만 기재할 자유가 사라짐 (모든 셀 제출, 차원 자체의 선택은 유지) |
| 학회의 토론자 (discussant), 투고 후의 심사위원 (referee) | ca-referee (별도 컨텍스트의 subagent, 타입이 지정된 리포트) | 심사에 상응하는 공격이 루프 내의 Check 공정에 포함됨 (제도적 독립성의 대체는 아님, 후술) |
| "주요 결과는 하나"라는 규범 | evidence ledger의 $\alpha$ 회계 (ledger spend) | 규범이 잔액이 되며, 초과된 주장은 CLI가 거부함 |
| 재현 패키지 (replication package)의 공개 | CodeBundleManifest 및 conformance suite | 재현 재료가 사후적인 선의에서 결과물의 타입 (type)으로 변함 |
우측 열에 공통적인 것은 규범(norm)이 놓이는 위치의 이동입니다.
인간의 연구 루프 (research loop)에서 이를 지탱하는 것은 연구자 개인의 자제와, 심사위원 (referee)의 눈 또는 사전 등록 (pre-registration) 문화와 같은 공동체 측의 구현입니다.
에이전트 (agent)의 루프에는 그러한 공동체가 없으므로, 동일한 규범을 CLI의 검사와 아티팩트 (artifact)의 타입 (type)으로 전기(transcription)합니다.
IdentificationOps의 새로움은 통계에 있는 것이 아니라, 이 전기되는 대상에 있습니다.
전기를 하는 김에 위치가 개선되는 것이 심사(peer review) 공정상의 위치입니다.
인간의 루프에서 심사위원 (referee)은 투고 후에 단 한 번, 그것도 작성자의 수정 인센티브 (incentive)가 작동하기 어려운 위치에서 만납니다.
프로토콜 (protocol)에서는 심사위원 (referee)이 PDCA의 Check 공정으로서 루프 내에서 실행되며, 타입이 지정된 (typed) 리포트 (report)를 아티팩트 트레일 (artifact trail)에 남깁니다.
이 위치의 효과는 §4의 실제 실행에서 확인할 수 있습니다 (spec의 과장(oversell)을 작성자 본인들보다 먼저 심사위원이 지적했습니다).
다만 이동한 것은 공정상의 위치일 뿐, 인간의 심사 제도가 가진 독립성 그 자체는 아닙니다.
학회의 토론자 (discussant)나 저널의 심사위원 (referee)은 전문성, 작성자와는 별개의 평판상의 이해관계, 다수 인원의 합의, 채택 여부를 좌우하는 권한을 동반하는 사회 제도입니다.
ca-referee는 별개의 컨텍스트 (context)를 가진 서브에이전트 (subagent)이지, 별개의 전문가나 별개의 이해관계를 가진 주체는 아닙니다.
Check 공정으로서 루프 안에 배치한 것의 가치는 §4에서 확인한 바와 같지만, 그것은 인간의 심사를 기계가 대체했다는 의미가 아니라, 작성자가 놓친 부분을 스스로 메울 기회를 루프의 이른 위치에 마련했다는 의미입니다.
한편, 이 사상 (mapping)에 포함되지 않는 것도 명시해 둡니다.
첫째, 식별 (identification)의 타당성 (어떤 도구 (instrument)를 공략할 수 있는가)을 판단하는 직관은 프로토콜 (protocol) 외부에 남습니다.
가설을 선언하는 것은 인간 혹은 인간이 승인 (sign-off)한 에이전트 (agent)입니다.
둘째, 데이터를 보고 가설을 바꾸는 왕래는 금지되는 것이 아니라 탐색 파티션 (exploration partition) 안에 갇히게 됩니다.
탐색의 자유는 남아있되, 라이선스된 (licensed) 주장이 될 수 없을 뿐입니다.
셋째, 재현이나 논쟁과 같은 학계의 사후 검증 루프는 프로토콜 (protocol) 외부에 있습니다.
레저 (ledger)가 보증하는 것은 하나의 분석 내부의 회계까지입니다.
참고로 표의 좌측 열은 정형화된 (stylized) 요약이며, 현실의 연구 루프는 이 정도로 정연하게 공정별로 나뉘어 있지 않습니다.
나뉘어 있지 않기 때문에, 기계로 옮길 때는 층을 나누어 강제할 필요가 있다는 것이 이 표의 읽는 법입니다.
다중 검정과 p-hacking에 대한 태도
다중 검정 (multiple testing)에 대한 배려라고 하면, 통상적으로는 "하지 않겠다는 서약" (보정했다, 사전 등록했다)으로서 기술됩니다.
이 프로토콜 (protocol)의 태도는 한 단계 더 나아가, p-hacking을 금지의 대상에서 우선 관측의 대상으로 바꿉니다.
p-hacking이 까다로운 이유는 행위 그 자체보다, 최종 결과물로부터 그것이 보이지 않기 때문입니다.
Gelman과 Loken이 갈림길의 정원 (garden of forking paths)이라고 불렀듯이, 공표된 하나의 분석 경로 (path) 뒤에 숨겨진 분기들은 논문에서 셀 수 없으며, 독자는 "몇 번이나 시도했는지"를 원리적으로 검증할 수 없습니다.
프로토콜 (protocol) 하에서는 이 분기가 남습니다.
매트릭스 (matrix)의 모든 셀 (cell), 탐색 측의 진단, 확증적 클레임 (confirmatory claim)의 지출 (spend) 이유가 타입이 지정된 아티팩트 (typed artifact)와 추가 전용 레저 (append-only ledger)에 기록되며, 해시 체인 (hash chain)이 사후의 수정을 방지합니다.
그러면 "spec이 결과보다 먼저 잠겼는가(lock)", "전개된 셀 (cell)의 수와 제출된 추정 결과의 수가 일치하는가", "$\alpha$의 총 지출이 초기 자산 범위 내인가", "confirmation을 사용했다고 주장하는 아티팩트 (artifact)가 봉인 해시 (seal hash)와 일치하는가"가 모두 트레일 (trail)에 대한 기계적인 쿼리 (query)가 됩니다.
감시를 선의설이나 무작위 재분석에 맡기는 것이 아니라, 상주하는 검사로서 배치할 수 있다는 뜻입니다 (현재는 exl artifact validate와 exl ledger status
부분을 담당하며, trail 전체의 상호 참조 검사는 backlog에 있습니다).
관측 가능해지면, 기각(rejection)을 판단할 재료도 갖춰집니다.
CLI가 보장할 수 있는 것은 trail의 내부 정합성(internal consistency) 검사 결과까지이며, 그것을 이유로 unlicensed 분석을 실제로 거부할지 여부는 심사위원(reviewer), 사내의 review gate, 메타 분석의 inclusion rule과 같은 인간 측의 운영 규칙에 달려 있습니다.
그럼에도 불구하고, 판단 재료가 "의심하는 측이 이상을 입증한다"에서 "주장하는 측이 trail을 제시한다"로 바뀌는 점은 기술적인 성질이며, 운영 규칙을 설정하는 조직의 도입 비용을 낮춰줍니다.
심사나 메타 분석 측면에서 보면, 분석 단위의 재현성 badge를 기계 검사가 가능한 재료로 대체하는 움직임에 해당합니다.
다만, 이 감시가 닿는 곳은 제출된 하나의 ledger 내부까지입니다.
hash chain은 제출된 trail의 수정을 탐지하지만, trail을 애초에 제출하지 않거나, 불리한 ledger를 통째로 폐기하거나, 통하는 assumption이나 진단(diagnosis)의 조합이 발견될 때까지 spec을 다시 작성하여 exl init부터 다시 시작하는 등의 ledger 외부 행동 (ledger shopping)은 내부 정합성 검사로는 원리적으로 포착할 수 없습니다.
선을 그어두자면, 새로운 데이터나 새로운 질문에 대해 새로운 ledger를 시작하는 것 자체는 정상적인 운영입니다.
shopping이라고 불러야 할 것은, 동일한 데이터와 동일한 질문에 대해 유리한 결과가 나올 때까지 ledger를 다시 뽑는 조작입니다.
이를 규제하기 위해서는 genesis hash를 외부에 등록하는 계층 (공개 registry나 timestamp authority, 즉 사전 등록부의 기계 버전)이 필요합니다.
v1의 scope 외이지만, 봉인을 "외부에 공표된 hash"로 교체하는 것뿐이므로 seam은 이미 존재합니다.
외부 등록이 없는 현 상황에서 이 protocol이 보장하는 것은 "준수된 분석의 내부 무모순성"이지, "준수되었다는 사실" 그 자체는 아닙니다.
3. 예상 유스케이스 (Use Case)
첫째, 응용 계량경제학의 replication 및 확장입니다.
IV design 논문을 agent가 재현하게 하고, 강건성 체크(robustness check)를 넓히는 작업은 agent가 작성한 code를 인간이 전부 읽는다는 전제하에서는 효율이 나지 않습니다.
explysis 하에서는 읽어야 할 대상이 code에서 artifact trail (선언, 진단, ledger)로 바뀝니다.
둘째, 사업 데이터에서의 시책 효과 검증입니다.
"이 시책이 효과가 있었는가"를 대화 속에서 순차적으로 되묻는 환경은, 바로 다중 검정(multiple testing)이 무너지는 환경입니다.
ledger의 잔액이라는 형태로 "앞으로 몇 번 더 확증적인 주장을 할 수 있는가"가 명시되므로, 탐색은 자유롭게, 주장은 유상으로 하는 운영이 성립합니다.
셋째, 교재로서의 catalog입니다.
가정 집합(assumption set)에서 estimator로의 대응은 교과서에서는 산문 속에 묻혀 있지만, catalog는 그것을 기계 판독 가능한 표로서 명시합니다.
반대로, explysis는 인과 구조 발견 (causal discovery)을 자동화하는 것이 아니며, estimator library도 아닙니다.
가정을 선언하는 것은 인간 (또는 인간이 sign-off한 agent)이며, 프로토콜은 그 선언에 대한 성실함만을 보장합니다.
4. 실제 워크플로우: Card (1995)로 한 바퀴 돌리기
설계만으로는 referee나 ledger가 실제로 작동할지 알 수 없습니다.
그래서 실제 데이터로 PDCA를 한 바퀴 돌려보았습니다.
참고로, 이 절의 진단값과 추정값도 간이 closed-form 구현에 의한 것입니다 (§5 서두의 caveat와 동일).
주제와 데이터 분할
주제는 Card (1995)로, 대학 근접성을 instrument로 사용하여 취학 연수의 임금 수익률을 추정하는 고전입니다.
데이터는 저자 본인의 공식 replication archive에서 취득한 N=3010이며, codebook의 통계량과 일치함을 검증 완료했습니다.
exl init이 exploration 903 / confirmation 2107로 분할하였고, confirmation 측을 hash로 봉인했습니다.
instrument의 강도와 AR 신뢰 집합이란
Card의 instrument는 "4년제 대학 근처에서 자랐는지 여부"입니다.
이것이 단서(clue)로 사용될 수 있는 이유는, 대학 근처에 거주할수록 진학하기 쉽지만 (취학 연수와 상관관계가 있음), 가정 배경 등을 조정하면 임금에 직접적인 영향을 미치지는 않는다 (exclusion)고 가정할 수 있기 때문입니다.
first stage는 instrument (근접성)로 treatment (취학 연수)를 설명하는 회귀 분석입니다.
이 관계가 약하다는 것, 즉 근접성이 취학 연수를 거의 설명하지 못하는 경우, instrument는 사실상 "작동하지 않는" 상태에 가까우며, 2SLS의 점추정치(point estimate)는 아주 미미하고 약한 변동에만 의존하여 계산되기 때문에 불안정해집니다 (weak instrument problem).
effective F는 이 first stage의 강도를 측정하는 통계량 (heteroskedasticity-robust한 F 통계량)으로, Montiel Olea–Pflueger의 임계값 (instrument가 1개일 때 약 23.1)을 하회하면 일반적인 정규 근사(normal approximation)에 기반한 신뢰 구간의 피복(coverage)을 신뢰할 수 없게 됩니다.
AR (Anderson–Rubin) 신뢰 집합은 first stage의 강도에 의존하지 않고 올바른 피복을 유지하는 대안적인 구간 구성법입니다.
그 발상은 "점추정치 ± SE"와는 반대로, 후보가 되는 효과 $\beta_0$를 하나씩 테스트하는 방식입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기