AI 도입 효과 인과추론 (고급 PYTHON)

고급 정량 분석 technological python
예상 소요 시간 80분 (심화)
사전 지식 중급 이상. Python 기초, 인과추론 개념
표본 크기 기준 최소 500개 기업 (강력 권장)
통계 가정 SUTVA, 조건부 독립성, 양수성
난이도: 고급 — 심화 내용을 포함합니다. 사전 지식이 필요할 수 있습니다.

개요

AI 기술 도입이 기업 생산성에 미치는 인과 효과(ATE)를 Python의 DoWhy 라이브러리로 추정한다. 교란 변수를 통제하고 성향점수매칭(Propensity Score Matching)으로 인과 효과를 식별한다.

분석 절차

1단계: 인과 모형 정의

처치(AI 도입), 결과(생산성), 교란 변수(기업 규모, 산업, 기존 기술 투자, 직원 기술 수준), 도구 변수(AI 보조금 수여)를 정의한다.

2단계: 인과 효과 식별

backdoor criterion으로 교란 경로를 차단하여 인과 효과를 식별한다.

3단계: 인과 효과 추정

성향점수매칭으로 도입 기업과 비도입 기업을 매칭하여 ATE(Average Treatment Effect)를 추정한다.

4단계: 반박 검정

무작위 교란 변수 추가, 위 타당성 검정 등으로 추정 결과의 강건성을 검증한다.

코드 예제

import dowhy
from dowhy import CausalModel
import pandas as pd

# 데이터 로드
df = pd.read_csv('ai_adoption_data.csv')

# 인과 모형 정의
model = CausalModel(
    data=df,
    treatment='ai_adopted',
    outcome='productivity_score',
    common_causes=['firm_size', 'industry', 'prior_tech_investment', 'employee_skill'],
    instruments=['ai_subsidy_received']
)

# 인과 효과 식별
identified_estimand = model.identify_effect()

# 인과 효과 추정 (이중 강건 추정)
estimate = model.estimate_effect(
    identified_estimand,
    method_name="backdoor.propensity_score_matching"
)
print(f"ATE: {estimate.value}")

# 반박 검정
refute_results = model.refute_estimate(
    identified_estimand, estimate,
    method_name="random_common_cause"
)

참고문헌

Pearl, J., & Mackenzie, D. (2018). The Book of Why. Basic Books. Imbens, G. W., & Rubin, D. B. (2015). Causal Inference for Statistics, Social, and Biomedical Sciences. Cambridge University Press.

심화 내용

고급 분석에서는 다음을 추가로 고려해야 합니다:

  • 부트스트래핑(Bootstrapping)을 통한 강건성 검증
  • 교차 검증(Cross-validation)으로 모형 일반화 성능 평가
  • 민감도 분석(Sensitivity Analysis)으로 가정 위반 시 영향 평가

코드 예제

PYTHON
import dowhy from dowhy import CausalModel import pandas as pd # 데이터 로드 df = pd.read_csv('ai_adoption_data.csv') # 인과 모형 정의 model = CausalModel( data=df, treatment='ai_adopted', outcome='productivity_score', common_causes=['firm_size', 'industry', 'prior_tech_investment', 'employee_skill'], instruments=['ai_subsidy_received'] ) # 인과 효과 식별 identified_estimand = model.identify_effect() # 인과 효과 추정 (이중 강건 추정) estimate = model.estimate_effect( identified_estimand, method_name="backdoor.propensity_score_matching" ) print(f"ATE: {estimate.value}") # 반박 검정 refute_results = model.refute_estimate( identified_estimand, estimate, method_name="random_common_cause" )

참고문헌

Pearl, J., & Mackenzie, D. (2018). The Book of Why. Basic Books. Imbens, G. W., & Rubin, D. B. (2015). Causal Inference for Statistics, Social, and Biomedical Sciences. Cambridge University Press.

이 방법론과 연결된 콘텐츠