단기 Proxy Metric를 통한 장기 ROI 추정 - Microsoft
Long-Term Return-on-Investment at Microsoft via Short-Term Proxies
Last updated
Long-Term Return-on-Investment at Microsoft via Short-Term Proxies
Last updated
작성자: 허현
원문: KDD 2021 Slide
두번의 머신러닝을 통해 Treatment-Outcome 효과 추정하는 방법론
Double Machine Learning (DML) 통해 하고 싶은 것은 아래와 같이 추정 bias를 줄여서 정확도를 높이려는 것 (논문 제목도 Double/Debiased Machine Learning for Treatment and Causal Parameters)
T(Treatment), Y(outcome), X(covariates)가 있을 때 [T, X]와 [T, Y] 데이터셋 생성
T~X, Y~T ML 모델 훈련
ML 모델로 예측한 T_hat과 Y_hat을 각각 T와 Y에서 뺌 → T_tilda, Y_tilda
Y_tilda ~ T_tilda로 X의 영향력을 제거한 회귀를 통해 효과 추정
잔차끼리 회귀하여 X의 영향력을 제거한 효과를 구하는 것은 프리슈-워-로벨 정리에 근거
목표: 단기간의 데이터로 장기간의 ROI를 측정하게 하는 목적으로 진행 위와 같이 어떤 액션의 Incremental Revenue를 구하기를 원함
Y를 W로 예측하도록 모델을 만들어서 Y hat을 만듦
T를 W로 예측하도록 모델을 만들어서 T hat을 만듦
각각을 잔차화시켜서 (Y-Yhat)을 (T-That)으로 회귀
이렇게 causal effect 추정
T_t는 Y_t, Y_t+1, T_t+1 세 가지에 연결되는데 T_t와 Y_t는 (시점이 두 개만 있다 했을 때) 교란 요소가 없기 때문에 빼면 T_t, Y_t+1, T_t+1 세 변수가 남게 됨
이 때 DML을 하면 T_t의 영향력을 통제한 T_t+1 → Y_t+1이 나오게 되고(theta_t+1)
Y_t+1에서 theta_t+1 * T_t+1을 빼면 T_t의 t+1 시점 장기적 영향으로 인한 Y 값이 나오고, 이를 Y_t와 더하면 두 시점에 걸친 T_t를 통해 발생한 Y_adj를 구할 수 있음
시점을 좀 더 확대하여 2년 데이터를 6개월씩 4번 나눴을 때, 4번째 기간 수익부터 여러 시점의 투자 영향을 구하고 그만큼 빼줌
(코드상으로는 앞쪽 시점부터 하는 것 같아서 뭐가 맞는지 헷갈림)
작성자: 경윤영
본글은 DML이 무엇인지 아주 가볍게 이론을 소개합니다. 자세한 정보를 알고 싶으시다면 Double Machine Learning for causal inference를 찾아가시면 됩니다!
머신러닝을 사용하여 인과효과를 추정하는 프레임워크이다.
신뢰구간 추정을 사용한다.
“root n-consistency” 추정량에 따라 convergence와 data-efficiency를 갖고 있다.
머신러닝을 통계적인 관점에서는 비모수적(nonparametric) 혹은 반모수적(semiparametric) 모형의 모음이라고 볼 수 있다.
또한 비모수적 및 반모수적 추정방법(한계, 효율성 등)에 대한 이론이 많이 들어가 있다.
머신러닝은 modeling functions과 expectations에 대해 힘이 있다.
머신러닝은 전통적인 통계 기법(예시: OLS)보다 예측에 사용하기 좋다. 특히 데이터가 고차원일 때!
전통적인 통계 방법과 비교할 때 머신러닝은 에 대해서 강한 가정이 없어도 된다.
직교화(Orthogonality)를 통해서 정규화 편향을, cross-fitting을 통해서 과대적합 편향을 수정하는 것을 목표로 한다.
식(1)
식(2)
Y: 결과변수
D: 처리변수(이항변수)
: 추정하고자 하는 파라미터
Z: 공변량 벡터
U, V: 오차항
: 장애모수(nuisance parameter)
식(1)은 를 추정하기 위해 만든식이고, 식(2)는 공변량에 대한 treatment의 종속성을 추적하기 위함이다.
그렇다면 머신런닝만을 사용하여 직접적으로 $\theta_0$을 추정하지 않는걸까? 추정에서 편향성이 나타나기 때문이다.
위의 편향을 없애기 위해 우리는 neyman orthogonality를 사용한다. 직교성은 Frisch-Waugh-Lovell 정리가 기반이 된다. (Frisch-Waugh-Lovell에 대한 자세한 설명은 여기로)
예를 들어 에서 를 추정하기 위해 두 가지 방법을 쓴다.
OLS를 사용하여 D 및 Z에 대한 Y의 선형회귀
① Z에서 D를 회귀 ②Z에서 Y를 회귀, ③ 를 얻기 위해 ①의 잔차에 대해 ②의 잔차를 회귀한다.
편향을 없애기 위해 3단계에 걸쳐서 머신러닝을 진행한다.
머신러닝을 사용하여 Z를 기반으로 D를 예측한다.
머신러닝을 사용하여 Z를 기반으로 Y를 예측한다.
를 얻기 위해 ①의 잔차에 대해 ②의 잔차를 회귀한다.
3단계를 걸친 머신러닝은 “직교화”되어 편향되지 않는 “root n-consistency” 를 산출한다.
과적합의 편향을 제거하기 위해서 sample splitting의 방법 중 하나인 cross-fitting을 진행한다.
데이터를 무작위 추출하여 두 개의 하위 집합으로 분할을 진행한다.
첫 번째 하위 집합에서 D와 Y에 대한 머신러닝 모델을 맞춘다(fit).
2단계에서 얻은 모델을 사용하여 두번째 부분 집합에서 을 추정한다.
두 번째 하위집합에 머신러닝 모델을 맞춘다(fit).
4단계에서 얻은 모델을 사용하여 두번째 부분 집합에서 을 추정한다.
최종적으로 추정량 은 와 의 평균한 값으로 한다.
cf) sample splitting 방법
데이터를 무작위 추출하여 두 개의 하위 집합으로 분할을 진행한다.
첫 번째 하위 집합에서 D와 Y에 대한 머신러닝 모델을 맞춘다(fit).
2단계에서 얻은 모델을 사용하여 두번째 부분 집합에서 을 추정한다.
인과 그래프는 아래와 같이 그릴 수 있는데 현재시점투자(treatment), 장기수익(outcome)에 과거 투자, 인구통계정보, 과거 수익, 과거 대리변수 등의 confounder가 영향을 주기 때문에 바로 treatment→outcome 구조로 모델링하면 공통원인으로 인한 편향된 수치가 나옴
DML을 통해 confounder의 영향에 의한 효과를 제거(통제)한 효과를 추정하고자 함
DML 절차
outcome이 장기수익이기 때문에 아직 관측되지 않았음
과거 데이터셋을 통해 단기 매출로 장기 매출을 예측하는 ML 모델 만들고, 이 모델로 현재 가진 데이터셋으로 장기 매출을 예측하게 함
현재의 투자가 미래의 투자에 영향을 주고 미래의 투자가 장기수익에 영향을 주어 결과적으로 현재 투자의 영향이 두 번 카운팅 됨
순차적으로 DML 적용하는 방식(Dynamic DML)으로 해결
일련의 과정들을 파이프라인화 하면 ROI 측정을 할 수 있음