데이터 애널리스트_알기 쉬운 인과추론개론과 Meta-learner계 방법론
https://www.ariseanalytics.com/activities/report/20210409/
위 글 그대로 인용!
안녕하세요, Customer-Analytics-Division의 토쿠야마입니다. 이번 글에서는 인과관계 추론 기법에 대한 전반적인 내용을 설명하고자 합니다. 필자는 영어 통역과 커스터머 석세스 업무를 거쳐 ARISE analytics에 입사하여, 고객사의 주력 사업의 판촉 시책에 대해 시책에 대한 반응(이 시책으로 인해 이 고객은 얼마나 XXX라는 행동을 하게 되었을까?)을 추정하는 일을 하고 있습니다. 를 추정하는 일을 하고 있습니다.
인과추론은 많은 분야에서 활용되고 있지만, 용어의 난해함과 내용의 난이도가 얽혀서 초심자(필자)의 학습에 큰 걸림돌이 되고 있다고 생각합니다. 본 글이 그러한 분들의 입문과정에 조금이나마 도움이 되었으면 합니다.
◾️인과 추론의 개요
'인과 추론(causal inference)'을 인간미가 있게 표현하자면, "집단에 대해 어떤 '개입'을 했을 때, 그 개입으로 특정 변수(목적 변수)가 얼마나 올라갔는지, 그 상승 정도를 '추정'하는 방법"이라고 할 수 있다. 이 상승 정도를 'CATE(Conditional Average Treatment Effect, 조건부 조치효과)'라는 이름으로 불린다.
예를 들어, 당신이 자사 서비스를 더 많이 구매하기를 원하는 마케팅 담당자이고, 할인 쿠폰을 이메일로 보내는 경우, 이메일을 보내는 것이 개입이고, 상품 판매 등이 목적 변수로 설정됩니다. 여기서 캠페인으로 인해 매출이 얼마나 증가했는지 당연히 알고 싶을 것입니다. 이는 다음과 같은 식으로 표현할 수 있을 것입니다.
A씨에 대한 이메일 시책(개입)으로 인한 매출(목적 변수) 상승 효과 = 『①A씨에게 이메일을 보냈을 때(개입했을 때)의 매출 값』 - 『②A씨에게 이메일을 보내지 않았을 때(개입하지 않았을 때)의 매출 값』으로 표현할 수 있습니다.
여기서 문제가 발생하는데, A 씨는 한 명만 존재하기 때문에 A 씨에 대해 ① 또는 ② 중 하나만 데이터 상으로 관찰할 수 있고, ①-②를 실제로는 계산할 수 없습니다. 이를 '인과 추론의 근본 문제(*1)'라고 합니다.
그렇다면, 인과추론 분야에서는 A 씨와 유사한 사람 중 메일을 보내지 않은 B 씨를 찾아 '추정치'로 다음과 같은 값을 산출합니다:
A 씨에 대한 이메일 시책(개입)에 의한 매출(목적 변수)의 추정 상승 효과 = 『③A 씨에게 개입했을 때의 목적 변수의 값』 - 『④A 씨와 유사한 B 씨에게 개입하지 않았을 때의 목적 변수의 값』.
앞의 인과추론의 정의에서 밀어올리기 효과를 '추정'한다고 쓴 것은 이 산출값이 어디까지나 '예측값'에 불과하다는 점을 강조하고 싶었기 때문입니다. 이 추측이야말로 인과추론이며, 얼마나 합리적인 추정 효과를 구하는지가 데이터 사이언티스트의 실력을 가늠할 수 있는 부분이기도 합니다.
◾️인과추론 기법의 개요
인과 추론의 각 방법은 우선 기계학습의 활용 방식에 따라 Meta-learner 계열과 Causal-Tree 계열로 크게 나눌 수 있는데, Meta-learner는 인과 추론을 위한 논리 중 많게는 두 군데만 기계학습을 적용하는 처리를 말합니다.
첫째, 시책의 대상이 된 사람(TG[Treatment Group]*2)과 그렇지 않은 사람(CG[Control Group]*3)이 어떻게 구분되는지, 두 그룹의 속성적 경향을 학습하는 모델이 필요합니다. 즉, 시책에 따른 개입 여부(TG냐 CG냐)를 목적 변수로 한 예측 모델이라고 할 수 있습니다.
예를 들어 앞서의 이메일 캠페인의 경우, 메일을 보내는 대상은 (메일을 열어볼 것 같고, 상품을 구매할 것 같은) 구매 경험이 많은 젊은 층에 치우쳐 있고, 반면 메일을 보내지 않은 사람 전체는 그 반대인 중장년층에 치우쳐 있는 편향이 발생할 수 있습니다. '③-④'의 계산은 감각적으로도 알 수 있듯이(*3) 비슷한 고객끼리 해야 하고, 그 비슷한 정도를 정량적으로 표현할 수 있는 수단이 필요하겠지요. 이것이 바로 이 첫 번째 모델입니다. 인과추론 분야에서는 '경향 스코어(propensity score)'라는 명칭이 붙습니다. (*4)
정확히 말하면, 경향스코어는 ③의 사람과 ④의 사람의 유사도를 직접적으로 평가하는 것이 아니라, 각각이 '(전형적인) TG에 있을 법한 고객인지 아닌지'를 표현하고 있습니다. 경향성 스코어로 'TG에 있을 것 같다(=이 사람은 지금까지 XX를 많이 구매했고 캠페인과 궁합이 잘 맞아서 캠페인 메일을 보낸 것이다)' 정도가 같은 고객끼리 서로를 구분하고, ③의 TG에 'TG에 있을 것 같고 역시 TG에 있던 고객', ④의 'TG에 있을 것 같지만 CG에 있을 것 같은 고객'을 계산하는 이미지입니다.
둘째, TG 내, CG 내에서의 목적 변수를 예측하는 학습 모델이 필요합니다. 다시 ③-④의 식에서 알 수 있듯이, 최종적으로 TG 대 CG에서 목적 변수의 점수를 비교하게 되므로, 이를 위한 사전 준비라는 의미가 있습니다.
반면 Causal-Tree 계열은 인과관계 추론의 논리 흐름을 결정나무 기반의 지도학습 기법으로 통째로 대체한 기법군입니다. 이 글에서는 다루지 않겠지만, 언젠가 다른 기회에 기고하고자 합니다.
◾️Meta-learner별 해설
S-learner (Single-learner)
S-learner는 개입되었는지 여부를 특징량에 포함시킨 목적변수 예측모델을 만들어 A씨에 대해 'TG였을 경우의 스코어'-'CG였을 경우의 스코어'를 산출하고 그 차이를 시책개입에 의한 상승상태(=CATE)로 보는 방법입니다.
S-learner 이외의 방법에서도 그렇지만, 여기서 이용되는 기계 학습 모델에 특별히 제한은 없습니다.Xgboost든 선형 회귀적인 방법이든 적용 가능합니다.
Meta-learner의 각 기법의 성능을 비교한 논문이 있으며(*5), 이에 따르면 S-learner는 CATE가 많은 고객에게 있어 0일 것이라는 가설이 있는 경우에 유력한 기법이라고 나타나고 있습니다.캠페인은 보내고 있지만 매출은 거의 증진되지 않을 것이다, 쿠폰을 보내드려도 해지 위험은 거의 끌어올리지 않을 것이다, 라고 하는 가정이군요.
또, S-learner는 TG와 CG의 동일 데이터 세트내에 임해 학습을 시키기 때문에, 일반론으로서는 어느 한쪽의 데이터 세트 건수가 현저하게 적은 경우에는 적합하지 않습니다.TG와 CG의 건수가 대체로 일치하는 경우에 잘 효과를 발휘하는 방법이라고 정리할 수 있을 것입니다.
T-learner (Two-learner)
T-learner에서는 T가 제시한 대로 기계학습 모델을 2개 사용합니다.즉, TG·CG 각각에서 목적 변수 예측 모델을 구축하고, A씨에 대해 다음을 CATE로 간주합니다.
A씨의 CATE = 『TG 모델에서 산출한 목적 변수 예측 스코어』 – 『CG 모델로 산출한 목적 변수 예측 스코어』
이 모델이 우수한 것은 TG·CG에서 별개의 모델을 사용하기 때문에 둘다에게 속성적 유사성이 담보되지 않은 경우에도 활용이 가능하다는 점입니다.TG는 20대 중심, CG가 50대 중심이라는 구도를 취했을 경우 목적변수(매출, 해지, etc.)에 대한 반응성이 서로간에 크게 다를 것으로 추측됩니다.여기서 S-learner라면 둘의 구분이 시책 개입 여부라는 하나의 특징량으로만 모델에 주어지지만, T-learner는 원래 학습 모델을 나누기 때문에 TG·CG 각각에 있어 목적 변수에 대한 반응성을 충분히 학습할 수 있을 것으로 기대됩니다.
또, T-learner는 TG·CG 어느 한쪽의 건수가 적은 경우에라도 활용할 수 있는 수법입니다.캠페인 메일을 보낸 TG고객이 1,900명이고, 같은 시기에 메일을 보내지 않은 CG고객이 100명이었다면, S-learner에게 그대로 이 데이터를 학습시켜 CG측 고객 특성을 모델이 충분히 학습하지 못할 수 있습니다. T-learner라면 어디까지나 CG내에서의 고객 특성을 학습한 모델을 사용할 수 있기 때문에 그런 우려를 처음부터 불식시킬 수 있습니다.
X-learner
X-learner는 상기 2 기법보다 복잡하고, 이하의 5가지 순서로 CATE를 산출합니다.
(1)고객이 TG인지 CG인지(=경향 점수)를 학습하는 모델을 구축하다
(2)TG·CG 각각에 목적 변수 예측 모델을 구축한다(s-learner와 동일)
(3). (2)의 모델을 사용해 다음을 계산한다.
D1: TG 고객에게 "목적 변수 – (2)의 CG 모델에 의한 목적 변수 예측 스코어'의 값
D0:CG 고객에게 "(2)의 TG 모델에 의한 목적 변수 예측 스코어 – 목적변수'의 값
(4).(3)의 계산 결과를 사용하여 이하의 모델을 구축한다
M1: TG 고객에 대해 D1을 예측하는 모델, 즉, "내가 TG라면 목적 변수의 상승 효과가 어느 정도입니까? 스코어"를 예측하는 모델
M2: CG 고객에 대해 D2를 예측하는 모델, 즉, "내가 CG였다면 목적 변수의 상승 효과가 얼마나 될까요 스코어"를 예측하는 모델
(5)각 고객에 대해 M1과 M2로부터 점수를 산출하고, (1)의 모델의 결과로 가중치를 부여한다.즉 TG 같은 고객일수록 M1이, CG 같은 고객일수록 M2 스코어에 영향을 받도록 조정한다.
(3)에서 D1은 '자신이 CG가 아닌 TG인 것으로 얼마나 목적변수가 밀려났는가', D2는 '자신이 모집단이 아닌 CG인 것으로 목적변수가 밀려났는가'를 의미합니다.(4)로 그것들을 예측하는 모델을 만들어, (5)로 그것들에 TG/CG 배정 확률을 맞추는 것으로, 최종적으로 「자신이 TG라면/CG라면 목적 변수가 어느 정도 밀려오는지 스코어(=CATE)」를 산출합니다.
기타 learner
그 밖에도 r-learner 등의 meta-learner계 수법이 있는 것 같고, 필자도 공부중입니다.
◾️마지막으로
마지막으로 본글에서는 인과추론의 개론과 Meta-learner계의 각 수법의 전체상의 설명을 도모했습니다. 이 분야를 배우기 시작하는 데 도움이 되었으면 좋겠습니다.다음 집필 기회에는 인과 추론 기법의 또 다른 체계인 Causal-tree 계통 기법에 대해 논의할 예정입니다.
ARIS analytics 중 필자가 담당하고 있는 분석지원 프로젝트에서는 매우 많은 양의 고객 데이터에서 이러한 분석을 수행하는 경우가 많아 항상 비즈니스 스케일의 크기를 느낄 수 있습니다.
끝까지 봐주셔서 감사합니다.
(補記・引用元メモ)
*1: 安井翔太・株式会社ホクソエム(2020).『効果検証入門 – 正しい比較のための因果推論/計量経済学の基礎』. 技術評論社. P.7より
*2: 全くの余談ですが、TGはTreatment GroupであってTarget Groupではありません。
*3: 感覚的に整理すれば、『サッカー好きのおじさんについての情報 – 野球好きの若者の情報』の計算結果は何の意味もなさそうではないですか?サッカー好きのおじさんに比べられるべきはあくまでサッカー好きのおじさんであって、その似ている度合いを定量評価するものが傾向スコアです。
*4:英語には少しのこだわりがあるのでこの語の和訳のされかたについて1点主張させていただきます。propensityの元の形容詞である‘propense’という語には、~しがちな(類:inclined)、前のめりな、勉強熱心なといった意味があります(pro-は前にという意味の接頭語でproactiveのproと同じです。かたや、『傾向』という語は、『人口が増加傾向にある』『私はいつも右足から立ち上がる傾向にある』というように行為(XXする)に対しての傾きの意で使われることが多いかと思われます。
propensity scoreという語は、因果推論分野では本文中の議論の通り『TGにいがちなスコア』というニュアンスで理解されるべきだと思われます。このpropensity scoreを『傾向』スコアと訳してしまうと、この語が何に対しての傾きを示しているのか分かりづらくはないでしょうか。あえて言えば、筆者としては『傾向スコア』は誤訳であり、語の本来の意味を尊重すると『偏向スコア』または『典型性スコア(=TGにいがちであるスコア)』といった日本語訳をあてるべきではないかと考えています。
*5: Soeren R. Kuenzela , Jasjeet S. Sekhon, Peter J. Bickela , and Bin Yu (April 25th 2019.) Meta-learners for Estimating Heterogeneous Treatment Effects using Machine Learning. arxiV. Available at: https://arxiv.org/pdf/1706.03461.pdf (Retrieved April 8th 2021.)
데이터 애널리스트_알기 쉬운 인과추론개론과 Meta-learner계 방법론
'데이터 애널리스트 업무 이해하기' 카테고리의 다른 글
7월 첫째주_2024년 7월 2일(화) (0) | 2024.07.02 |
---|---|
6월 다섯째주_2024년 6월 28일(금) (0) | 2024.06.28 |
6월 다섯째주_2024년 6월 27일(목) (0) | 2024.06.27 |
6월 다섯째주_2024년 6월 26일(수) (0) | 2024.06.26 |
6월 다섯째주_2024년 6월 25일(화) (0) | 2024.06.25 |