이전 글과 이어지는 내용입니다.
https://baram1ng.tistory.com/47
지금까지는 처치의 평균적인 영향을 살펴보았다면, 지금부터는 처치가 사람마다 어떻게 다른 영향을 미치는지에 초점을 맞춘다.
어떤 대상이 처치에 더 잘 반응하는지 아는 것은 처치의 대상을 결정하는데 중요한 역할을 한다.
ATE에서 CATE로
지금까지 처치에 대한 인과효과를 추정할 때 ATE(평균 처치효과)를 계산했다. ATE는 전체 모집단에 처치 시행 여부를 결정할 때 유용하게 쓰인다.
$$τ = E[Y_1 - Y_0]$$
- $τ$: 처치 효과
우리가 여기서 고려하고자 하는 것은 누구에게 처치해야 하는가에 대한 문제다. 이를 위해 한 실험 대상에서 다른 대상으로 처치를 적용하는 결정이 바뀔 수 있도록 해야한다.(ex. 더 큰 효과를 가져오는 그룹에게 먼저 처치를 제공)
이 같은 개인화를 위한 한 가지 방법은 CATE(조건부 평균 처치효과)를 추정하는 것이다. 각 실험 대상의 고유한 특성을 고려하여 특정 사례에 가장 효과적인 처치를 결정한다.
$$E[Y_1 - Y_0 | X] 또는 E[y(t) | X]$$ (오른쪽은 연속형 변수)
- $X$: 공변량(처치 그룹 분할 요인)
X에 대한 조건부는 공변량 X로 정의된 특성에 따라 처치효과가 다를 수 있음을 의미한다. 여기에 모든 대상이 처치에 동일하게 반응하지 않는다고 가정하고, 이러한 이질적 효과를 활용한다.
예측이 답이 아닌 이유
예를 들어 다양한 고객과 처치(가격, 할인, 금리 등) 데이터가 있고 처치를 개인화하려는(고객마다 다른 할인 제공) 상황을 생각해보자.
(고객이 점 그래프)
우리는 개인화 문제를 고객 세분화 문제로 생각할 수 있다. 처치 반응에 따라 고객 그룹을 만든다고 생각해보자.
예를 들어, 할인에 잘 반응하는 고객과 반응하지 않는 고객을 찾는 과정에서 고객의 처치에 대한 반응은 조건부 처치효과 $δY/δT$로 구할 . 수있다. 해당 값을 구하면 처치에 잘 반응하는 고객, 잘 반응하지 않는 고객을 그룹으로 나눌 수 있다. 효과는 처치 반응 함수의 기울기이기 때문에, 해당 기울기(그룹의 처치반응)에 따라 그룹이 생기게 된다.
반면 머신러닝은 처치 효과가 다른 그룹을 찾을 수는 없다. 머신러닝은 결과 변수 Y를 예측하기 때문에, y축에 따라 공간을 분할하기 때문이다.
머신러닝에서 처치효과에 따른 기울기를 구하는 방법은 다양한 처치 조건에서 실험 대상을 관측하고 각 처치에 따른 결과의 변화를 계산하여 구할 수 있다.
그러나, 우린 현실 세계에서 동일 실험 대상을 다른 처치 조건에서 볼 수 없다.
회귀분석으로 CATE 구하기
보통 인과추론의 답은 선형회귀에서 시작된다.
예를 들어 고객에게 할인을 제공하는 적절한 시기(day)를 파악하는 예제가 있다고 하자.
이번에는 고객 대신 요일에 처치(discounts)를 하게 된다. 이를 CATE 추정 문제로 생각할 수 있는데, 각 날짜와 공변량에 대한 할인의 매출 민감도를 나타내는 모델을 만든다면, 아래와 같이 표현이 가능하고 이 모델을 활용하여 할인 시기와 할인 폭을 결정할 수 있다.
- X: 공변량(처치 그룹)
우리는 현재 관측할 수 없는 $δY_i/δT_i$를 예측해야 하는 상황에 놓여있다. 그러나 이를 관측하지 않고도 예측할 수 있다.
예를 들어 데이터에 아래와 같은 선형모델을 적용한다고 해보자.
$$y_i = B_0 + B_1 t_i + B_2 X_i + e_i$$
이를 처치(t)에 대해 미분하면 아래와 같이 $B_1$을 얻을 수 있다.
무작위 배정의 경우에 위는 ATE가 되지만, 우리가 찾는 것은 CATE다.
이번엔 아래와 같이 변화를 줘보자.
$$y_i = B_0 + B_1 t_i + B_2 X_i + B_3 t_i X_i + e_i$$
그리고 이를 처치 t에 미분하면 기울기는 아래와 같다.
$B_3$는 특성 X에 대한 벡터 계수며, 각기 다른 $X_i$로 정의된 개별 대상마다 기울기 예측값이 다를 것이다. X가 변함에 따라 기울기 예측값도 변하기 때문에, 이를 CATE의 추정량이라고 볼 수 있다. 이를 우리의 예시로 활용하면 아래 식과 같다.
그리고 이를 처치(discount)에 대해 미분하면
도함수의 정의를 사용하면 기울기 예측값을 더 쉽게 얻을 수 있다.
도함수는 입실론 = 0일 때지만, 입실론을 1로 대체하면 이 정의를 아래와 같이 근사할 수 있게 되고 이 값을 CATE의 예측값으로 볼 수 있다.
CATE 예측 평가하기
CATE 예측은 일반 머신러닝의 예측과 유사한 방법론을 사용하지만 처치효과의 개인별 차이를 추정하는 것이 목표다.
예를 들어 CATE 회귀 모델을 예측 머신러닝 모델, 그리고 난수 생성 모델과 비교해보는 상황을 생각해보자. 아래는 그에 따른 예측 결과다.
예측이 이루어졌기 때문에 우리는 이제 모델을 평가하고 비교하는 방법을 찾아야 한다.
모델 분위수에 따른 효과
실험 대상을 민감도가 높은 순서부터 낮은 순서로 나열하는 것은 개인화를 하는데 용이하다. 이러한 순서는 개별 대상 수준에서 평가할 수 없지만, 대신 순서에 따라 구분된 그룹들을 평가할 수 있다.
그룹에 따른 효과를 추정하기 이전에 처치가 무작위로 배정된 경우, 교란편향을 걱정할 필요가 없기에 그룹에 대한 효과를 추정하기 쉽다. (또는 일반적으로 해당 그룹 내에서 T에 대한 Y의 단순회귀분석을 진행)
- $t$ bar: 처치에 대한 그룹 표본평균
- $y$ bar: 결과에 대한 그룹 표본평균
우리는 위 모델들이 데이터를 세분화하여 처치에 더 민감한 대상과 덜 민감한 대상을 구분하길 원한다. 이 때 모델의 예측값에 따라 데이터를 분위수 별로 세분화한 다음 각 분위수에서 효과를 추정한다. (각 분위수에서 추정된 효과가 순서대로 정렬되었다면, 해당 모델이 실제 CATE를 잘 정렬하는 데도 효과적임을 알 수 있음) 데이터 분위수를 10개로 나눠 그 처치효과를 구하면 아래와 같다.
분위수가 내려갈 수록 추정 효과가 낮아짐을 확인할 수 있다. (실제로 CATE 예측이 효과 순서를 매긴다는 증거) 예측값이 낮은 날들은 할인에 대한 민감도도 낮으며 반대도 마찬가지고 각 분위수의 중간점 예측값이 해당 분위수의 추정 효과에 매우 가까움을 확인할 수 있다. (CATE 모델이 실제 CATE 순서와 정확도를 잘 반영)
아래 그래프는 앞서 정의한 세 모델에 대한 분위 수별 효과를 나타낸다. 난수 모델은 예상과 같이 각 그룹의 추정된 효과가 거의 비슷하며 개인화에 도움이 되지 않고 머신러닝은 정확히 순서를 정렬하지 않지만 판매 예측이 매우 높거나 낮은 단계에서 더 많은 할인을 제공하는 방식으로 개인화를 활용할 수 있음을 알 수 있다.
위 시각적으로도 개인화 성능을 비교하는 방법도 좋지만 이상적으로 모델 성능을 하나의 값으로 요약하는 방법을 아는 것이 좋다.
누적 효과 곡선
누적 효과 곡선은 그룹별로 효과를 추정하지 않고 한 그룹을 다른 그룹 위에 누적하는 형태로 진행한다. 그 순서는 아래와 같다.
- 데이터 점수 순 정렬
- 정렬에 따라 상위 1%부터 시작하여 아래로 계속 내려가면 효과를 계산
데이터를 정렬하는데 사용한 점수가 실제 CATE의 순서를 잘 반영하면 해당 곡선은 높게 시작하여 점차 평균 효과(ATE)에 수렴하게 된다.
누적 효과 곡선의 장점은 곡선과 ATE 사이의 면적을 계산하여 단일 숫자로 요약한 후 서로 다른 모델의 면적을 비교할 수 있다는 것이다. 그러나, 이는 곡선의 시작 부분(표본 크기가 가장 작음)이 가장 큰 면적을 차지함에 불확실성을 내재하는데 이를 누적 이득 곡선에서 해결할 수 있다.
누적 이득 곡선
누적 효과 곡선에서 각 데이터 포인트에 누적 표본 $N_{cum}/N$를 곱하면 누적 이득 곡선을 얻을 수 있다. 누적 표본을 곱하기에 곡선 시작 부분이 가장 높은 효과를 가지지만 규모가 축소되는 효과를 가진다.
아래는 누적 이득 곡선과 정규화된 누적 이득 곡선인데, CATE 순서 측면에서 더 나은 모델은 그 면적이 가장 큰 모델이다. 모델 성능을 하나의 값으로 요약하기 위해서 정규화된 누적 이득 곡선의 값을 합하면 된다.
이 같이 모델 성능을 단일 효과로 표현하면 모델 선택을 자동화하는데 큰 도움이 되지만, CATE 곡선에 대해 주의해야 할 몇가지 주의할 점이 있다.
- 각 곡선 위의 점은 추정값이며 참값이 아니다.
- 위 과정들은 CATE를 정확히 추정하는 것이 아니라 순서가 올바른지에 대한 것이다.
- 모든 방법들에는 교란이 없는 데이터가 필요하다. (편향 존재 X)
목표 변환
CATE를 정확히 예측하는 것을 평가하는 방법으로 $R^2$이나 MSE 지표외에 목표 변환이라는 개념이 있다.
우리는 실제 처치효과 $τ(x_i)$를 관측할 수 없지만, 기댓값에서 실제 처치효과를 근사하는 목표 변수를 만들 수 있다.
- $μ_y$: 결과에 대한 모델
- $μ_t$: 처치에 대한 모델
여기서 $E[Y_i^*] = τ_i$다. 이는 실제 처치 효과를 근사하기 때문에 평균제곱오차(MSE) 같은 편차 지표를 계산하는데 사용할 수 있다. 문제가 있다면 처치의 평균값에 가까워지면 분모가 0에 가까워져 잡음이 매우커지게 되는데, 이를 위해 $T_i - μ_t(X_i)$가 작은 지점에 낮은 중요도를 부여하는 가중치를 적용하여 해결한다.
추가적으로 예측 모델이 효과 정렬에 좋을 때를 언급하면 아래와 같다.
- 결과와 효과가 상관관계가 있을 때만 Y를 예측하는 것이 처치효과의 순서 정렬이나 개별 수준 효과 $τ_i$를 예측하는데 효과적이다.
- 처치 반응 함수가 오목하면 처치 단위가 늘어날수록 효과가 점점 줄어들게 된다.
- 결과 Y가 이진값일 때 Y를 예측하는 모델이 CATE를 잘 정렬하는데 유용할 수 있다.
의사결정을 위한 CATE
이진 처치일 때 중요한 것은 누가 처치에 긍정적으로 반응하는지다.
이때 몇가지 제약사항이 존재할 수 있는데, 여기서 대표적인 제약사항을 말하자면 처치를 무한정 줄 수 없을 때, CATE가 양수인 사람에게 처치를 하는 것이 좋다. 그리고 만약 CATE를 예측하는 모델이 없지만 이전처럼 순서를 정할 수 있는 모델이 있는 경우 모델 분위수에 다른 효과 그래프를 이용한다.(효과가 양의 값을 보이는 지점까지 처치)
더불어 처치가 연속형이거나 정렬된 경우엔, 누구에게 처치를 줄 것에 더하여 어느 정도의 처치를 줄지도 결정해야한다. (사업 특성에 따라 다름)
Reference
'Analytics' 카테고리의 다른 글
[Causal Inference] 메타러너 (1) | 2024.09.28 |
---|---|
[ML/DL] Transformer: Attention Is All You Need (2) | 2024.09.26 |
[Causal Inference] 성향점수 (5) | 2024.09.22 |
[ML/DL] ELMo: Embeddings from Language Models (4) | 2024.09.20 |
[Causal Inference] 유용한 선형회귀 (4) | 2024.09.18 |