[인과추론] 인과추론 개념 정리 2

2025. 3. 16. 20:40

들어가며

지난번 글이 인과추론의 컨셉정도를 설명했다면, 이번 글에서는 기초적인 개념들을 하나씩 살펴보겠습니다. 이런 개념을 살펴보는 것이 지루한 과정이긴 하지만 한 번은 정리해 보고 가면 추후에 꺼내 보기도 좋으니까요! :) 

아 그리고 저는 실무로 통하는 인과추론 with 파이썬 이라는 책을 공부하며 내용을 정리하고 있어, 대부분 책 내용을 간단히 메모하는 정도로 글을 쓰고 있으니 참고 부탁드립니다.

 

인과모델

인과 문제를 해결하기 위해 문제를 정형화된 표기법으로 정의할 필요가 있습니다. 인과추론에서는 인과모델을 활용해 이를 표기합니다.

인과모델은 아래의 구성요소를 활용해 할당 메커니즘을 나타냅니다.

  • 𝑢 : 모델 외부의 변수 (외생변수)
  • 𝒇 : 변수간 관계를 나타내는 매핑함수
  • ← : 할당
    • 인과관계는 비가역성을 가짐 (따라서 "="가 아닌 "←"를 사용)
    • 비가역성 : Y = X + T, T ≠ Y - X

 

기본적인 모형의 예시는 아래와 같습니다.

  • 모델
    • T ← 𝒇 (𝑢), (아래 첨자(t) 생략)
    • Y ← 𝒇 (*T* ,𝑢), (아래 첨자(y) 생략)

위  모델 외부을 해석해 보면 아래와 같이 해석될 수 있습니다.

  1. 변수 집합 𝑢가 𝒇 를 통해 T를 유발하고
  2. 모델 외부의 변수 집합 𝑢와 T 가 𝒇를 통해 Y를 유발한다.

 즉, 모델링에 포함되지 않는 변수도 결과에 영향을 미친다는 것을 보여주는 인과모델입니다.

 

또 하나의 모형의 예시를 보여드리겠습니다. 조금 더 현실에 가까운 예시로 회사의 규모(BusinessSize)와 외생변수를 confounder,  할인 여부(IsOnSales)를 treatment 그리고 총 판매량 (AmountSold)을 outcome으로 설정한 인과모델입니다.

  • 모델
    • BusinessSize ← 𝒇(𝑢)
    • IsOnSales ← 𝒇(BusinessSize, 𝑢)
    • AmountSold ← 𝒇(IsOnSales,BusinessSize, 𝑢)

이 인과모델에서는 BusinessSize가 IsOnSalesAmountSold 모두에게 영향을 미치고 있는 것을 확인할 수 있습니다. 이를 수식화해 보면 선형회귀식과 유사한 모습을 만들어 낼 수 있습니다.

  • AmountSold ← α + β1 * IsOnSales + β2 * BusinessSize + 𝑒

 

개입

개입이란 인과모델을 고치고 개선하며 인과적 질문의 답을 얻는 행위를 의미합니다. do(.) 연산자 활용하며  do(T = t0)는 treatment를 0로 적용하겠다는 의미입니다. 조금 더 구체적인 예시를 살펴보겠습니다.

 

'가격을 할인한 E[AmountSold | IsOnSales = 1]가 높을 경우, E [AmountSold | do(IsOnSales = 1)] 는 과대 추정이다.'이라는 문장은 선택과 개입의 개념 차이를 잘 보여 주고 있습니다.

  • 개입과 선택의 차이
    • 선택 = E[AmountSold | IsOnSales = 1]: 할인된 기업들만 고려한 기대 판매량
    • 개입 = E[AmountSold | do(IsOnSales = 1)]: 전체 기업을 대상으로 할인을 적용했을 때의 기대 판매량

왼쪽 박스는 "선택", 오른쪽 박스는 "개입"을 나타냄

 

 

일치성 가정

일치성 가정은 'treatment로 지정된 처치 이외의 여러 가지 형태의 처치는 존재하지 않는다.'는 의미입니다.

이를 위배하는 경우는 아래와 같습니다.

  1. 처치를 여러 번 시행했으나 그중 일부만 고려하는 경우
  2. 여러 처치가 하나의 큰 정의로 묶여있는 경우
    • 1,2번 위배는 이 경우 처치에 대한 모든 버전을 포함하는 것으로 해결할 수 있습니다.
  3. 상호 간섭 없음 (SUTRA) : 하나의 실혐 대상에 대해 효과는 다른 실험의 영향을 받지 않아야
    • 파급효과, 네트워크 효과가 있는 경우 이 가정이 위배됩니다. 그 예시로는 백신과 질병 감염률의 관계를 살펴볼 수 있습니다. 백신 접종된 실험군의 인근 대조군(미접종)은 자연적으로 질병 감염가능성이 떨어지게 됩니다. 즉, 특정 대상에 조치를 취하는 것이 다른 대상에게도 영향을 줄 수 있는 경우 일치성 가정이 위배됩니다.
    • 다른 대상에서 발행하는 효과를 포함해 처치효과를 정의하거나 더 유연한 모델 사용해 이를 처리할 수 있습니다.

 

잠재적 결과

잠재적 결과란 처치가 t 일 경우 예상되는 Y의 값을 나타냅니다. (Y𝑡i = Y| do( T= t))

이진적인 처치 (1,0)에서 실제 관측 가능한 잠재적 결과를 사실적 결과라고 칭하며 관측 불가능한 잠재적 결과를 반사실적 결과라고 말합니다.

 

개별 처치효과 (ITE, 𝛕 tau)

  • 개별 처치효과란 사실과 반사실의 차를 말하며 이는 우리가 인과추론을 통해 얻고자 하는 treatment의 효과를 의미합니다.

하지만 현실에서는 하나의 대상에 반사실적 효과를 측정할 수 없습니다.

  • 𝛕 = Y | do(T = t1) - Y | do(T = t0)
  • 𝛕 = Y₁ᵢ - Y₀ᵢ

 

인과 추정량 (Causal Effect)

인과추론의 주요한  세 가지 인과 추정량의 개념입니다.

  1. 평균 처치효과 (ATE)
    • T가 평균적으로 미치는 영향을 의미합니다. 
      • ATE = E[𝛕ᵢ]
    • 실험 대상이 어떻게 구성되는가에 따라 더 많거나 적은 영향을 받을 수 있습니다.
  2. 실험군에 대한 평균 처치효과 (ATT)
    • T를 받은 대상에 대한 처치효과를 의미합니다.
      • ATT = E[Y₁ᵢ - Y₀ᵢ | T = 1]
  3. 조건부 평균 처치효과 (CATE)
    • 변수 X로 정의된 그룹에서의 처치 효과입니다.
    • 특정 그룹 내 특성을 파악할 수 있어 개인화 Task에 활용됩니다.
      • 이산형일 경우, CATE = E[Y₁ᵢ - Y₀ᵢ | X = x]
      • 연속형일 경우, CATE = - ∂/∂t * E [Yᵢ]
        • ∂는  편도함수로 T의 변화에 따른 Y의 변화량의 기울기를 나타냅니다.

앞서 할인 예시를 기준으로 인과 추정량의 간단한 수식을 나타내 보면 아래와 같습니다.

  • ATE = E [AmountSold₁ᵢ- AmountSold₀ᵢ]
  • ATT = E[AmountSold₁ᵢ- AmountSold₀ᵢ | IsOnSales = 1]
  • CATE = E[AmountSold₁ᵢ- AmountSold₀ᵢ | weeksToXmas]

이런 인과추정량을 사용할 때 주의할 점이 있습니다. 바로 실험군과 대조군 각각의 outcome을 기준으로 ATE를 구해 서로를 비교한 것이 실제 ATE를 구하는 것이 아니라는 점입니다. 

예를 들면 어떤 온라인 쇼핑몰에서 특정 고객들에게만 할인 쿠폰을 제공한 상황에서 단순히 할인 쿠폰이 매출 증가에 미친 영향을 아래와 같이 접근하는 것은 적합한 ATE 계산이 아니라는 점입니다.

  1. 할인 쿠폰을 받은 고객들의 평균 매출은 50,000원
  2. 할인 쿠폰을 받지 않은 고객들의 평균 매출은 30,000원
  3. ATE : 50,000−30,000 =20,000원
    • 즉, 할인 쿠폰이 매출을 20,000원 증가시켰다고 결론

 

편향

ATE를 구하기 위해서 E [Y₁ᵢ - Y₀ᵢ]를 얻을 수 없기 때문에 E [Y₀|T = 1]E [Y₁|T = 0]를 추정해야 합니다. 기본적으로 E [Y𝘵]는 E [Y|T = 𝘵]로 추정하며 두 값이 일치하지 않을 경우 E [Y|T = 𝘵] 는 E[Y𝘵]의 편향 추정량이 됩니다. 즉, 추정치가 실제값을 정확히 추정하지 못하는 상황이 발생할 수 있습니다.


예를 들어 가격 할인을 할 수 있는 회사는 할인과 관계없이 할인을 할 수 없는 회사보다 더 많은 판매량을 보여주는 경향이 있다고 할  수 있습니다. 수식으로 살펴보자면  E[Y₀ | T = 1] > E[Y₀ | T = 0] 이라면 가격할인을 할 수 있는 회사는 할인과 관계없이 할인을 할 수 없는 회사보다 더 많은 판매량을 보여주는 경향을 보이는 것입니다.


이런 편향이 발생하는 이유는 교란 때문이며 실험군과 대조군이 Treatment 이외의 여러 요소에서 차이가 있는 경우 발생하게 됩니다.
즉, 실험군과 대조군이 교환 가능하지 않을 때 발생하며, 아래 사진은 상향편향이 있는 상황의 예시 입니다.

 

 

인과 효과 식별하기

 

식별이란 관측할 수 없는 반사실을 대신하는 관측치의 편향을 제거하고 인과효과를 찾아내는 과정을 말합니다.  편향 제거를 통해 실험군과 대조군이 서로 교환 가능해진다면 두 집단의 평균 차이를 통해 ATE를 산출할 수 있습니다.

  1. 독립성 가정
    • 처치 여부에 관계 없이 실험군과 대조군 모두 서로 비교 가능하고, 구분할 수 없는 것입니다. (E[Y₀ | T] = E[Y₀])
    • 이는 연관 관계를 인과 관계로 바꾸는 과정이라고 말할 수 있습니다.
  2. 랜덤화 식별
    • 실험군과 대조군을 랜덤하게 배치함을 통해 편향을 제거해 독립성 가정을 만족시키는 과정입니다. 
    • 즉, 사진과 같이 처치가 무작위로 배정한다면 실험군과 대조군을 비교하는 것이 가능해지고 두 집단간의 편향을 제거할 수 있습니다.

 

단, 식별은 처치가 무작위로 배정되었다는 가정이 필요하기에 데이터의 생성 과정을 알거나 가정할 수 있을 때만 가능합니다.

 

 

마치며

이번 글에서는 인과추론의 기본 개념들을 정리해보았습니다. 다음 글에서는 이러한 개념들을 활용하여 실제 코드로 인과추론을 수행하는 방법을 살펴보겠습니다. 혹시 설명이 부족하거나 잘못된 부분이 있다면 편하게 피드백 부탁드립니다! :)

'Statistics > Uplift' 카테고리의 다른 글

[인과추론] 인과추론 개념 정리 1  (0) 2025.03.02
[Uplift] Uplift 모델의 이해  (0) 2025.02.16

BELATED ARTICLES

more