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.

학습 팁

이 방법론은 초급 수준입니다. 먼저 기초 통계 개념을 익힌 후 진행하세요. SPSS나 R의 기본 조작법을 숙지하면 더 수월합니다.

코드 예제

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.

이 방법론과 연결된 콘텐츠