[Causal Inference] 기본 이해 및 파이썬 라이브러리

2022. 7. 9. 23:25관심있는 주제/Causal Inference

728x90

AI 모델을 실제 활용하는 데 있어서, 인과 같은 것을 아는 것이 참 중요하다고 생각한다.

현재 해석 가능한 부분에 대한 연구도 진행이 되고 있는데, 아직 까지는 완벽한 방법은 없는 것 같다.

어떠한 모델이든 실제 이 결과가 무엇 때문에 나왔는 지에 대한 부분은 항상 중요하니, 간단한 개념이라도 미리 공부해보려고 한다.

 

여러 자료를 보고 있으나 아직도 확 와닿지는 않는다.ㅠ

 

참고) 일단 글 자체가 MICROSOFT에서 쓴 것이라 그런지 결국 라이브러리에서 마이크로소프트 라이브러리를 강조하고 있긴 하다.

 

Introduction

 

당신이 판매를 증진시키기 위해 특정 고객들에게 credit offer를 확장하기 시작했다고 상상해 보세요. 특가 기간 동안 그 고객들의 구매가 증가한 것을 알 수 있지만, 신용 제안(credit offer) 때문이라고 결론지을 수 있나요?

 

이 제안을 받은 고객의 "전" 상태와 "후" 상태를 비교하려고 할 수도 있습니다.

또는 제안을 받는 고객과 받지 않는 고객 간의 매출을 비교하려고 할 수도 있습니다(아래에서 명확히 드러나는 이유로 순진한 귀인이라고 함).

그러나 이중 계수(double counting) 또는 다른 교란 효과(other confounding effects)로 인해 이해 당사자들이 관측할 수 있거나 이미 알고 있는 이러한 분석에 대해 이의를 제기하고 있을 수 있습니다.

 

그렇다면 어떻게 매출의 차이가 오로지 credit offer 때문이라고 자신 있게 결론지을 수 있을까요?

만약 개입이 이루어지지 않았다면 어떻게 되었을까? 인과적 추론은 이러한 질문에 답하는 데 도움이 될 수 있다.

 

수십 년 동안 의학, 공중 보건, 경제 등의 산업은 무작위 대조 시험(randomized control trials)(RCT)의 형태로 인과 추론을 사용해 왔다. 그러나 이러한 기술들이 강력한 만큼, 그것들은 또한 비쌉니다.

다행히도, 대안적인 접근법이 있다. 오늘날 머신 러닝과 대규모 데이터 세트의 광범위한 가용성은 더 비싼 RCT에 의존하지 않고도 다양한 산업에서 (관측 데이터 또는 준실험(임의적으로 할당된 그룹 없이 원인-효과 관계를 테스트하는 연구 설계)으로 수행되는) 인과적 추론(casual inference)을 실용적으로 만든다.

 

Microsoft 클라우드와 AI 고객 성장 분석(CGA) 팀, 우리는 많은 시나리오에서 인과 분석을 사용한다.

예를 들어, Azure 투자가 고객 전반의 수익에 어떤 영향을 미치는지 이해하기 위해 인과적 추론을 적용하여 보다 표 적화된 투자 정책을 수립할 수 있도록 했다. 우리는 또한 가격 전략을 알리기 위해 인과적 모델의 가격 탄력성을 활용했다.

 

인과적 추론(Causal Inference)이 도움이 될 때

인과적 추론은 몇 가지 관련 상황에서 유용할 수 있다. 기본적인 것은 투자나 개입의 영향을 분석하는 것인데, 이는 본질적으로 "치료 효과(treatment effect)" 문제이며, 이는 개입(intervention)(또는 신용 제공과 같은 "치료")이 결과 변수(예: 구매 결정)에 인과적 영향을 미치는 문제이다. 처리 효과는 모집단, 처리 그룹, 부분 군 및 개별 수준에서 측정할 수 있습니다.

 

이 예에 더하여, 연구 중인 각 개별 단위에 대한 치료 효과는 두 가지 잠재적 결과 사이의 차이로 정의된다. 장치가 치료에 노출된 경우 한 가지 결과가 나오고 장치가 통제 장치에 노출된 경우 다른 결과가 나타납니다. 개별 단위는 처리 또는 관리 그룹에 속할 수 있지만 둘 다 속할 수는 없기 때문에 개별 처리 효과는 관측할 수 없습니다. 결과적으로, 개입이 없었다면 일어났을 반사실 주의는 인과적 추론의 기초가 되며, 반사실 추정은 가장 큰 과제를 제기하지만 다양한 시나리오에서 가장 큰 기회를 제공한다.

 

이를 염두에 두고 인과적 추론은 다음 질문에 대한 답을 제공하는 데 도움이 될 수 있다.

  • 개입(intervention)의 평균 치료 효과는 얼마인가?
  • 치료가 고객의 지출, 참여, 유지 등에 미치는 영향은 무엇입니까?
  • 치료를 제공하는 것이 효과가 있을까요?
  • 왜 치료가 효과가 있었을까?
  • 멀티 트리트먼트 시나리오의 경우 고객에게 어떤 투자를 추천해야 할까요?

인과적 추론은 예측과 의사 결정 사이의 격차를 메운다.

이는 매우 높은 정확도를 가진 예측 모델의 경우에도 시스템을 변경하거나 조치를 취할 경우 발생할 수 있는 일을 추론할 때 예측 모델만으로는 도움이 되지 않기 때문에 유용하다.

예측에서 결정으로 가는 것이 항상 간단한 것은 아니기 때문이다.

일반적인 지도 기계 학습 알고리듬은 실제 값과 예측 값 사이의 차이를 최적화하지만, 그러한 예측에 기초한 결정이 우리가 조치를 취할 때 항상 의도한 결과를 최대화하는 것은 아니다.

예측 모델에 기초한 의사 결정의 바로 그 행위는 우리를 검증되지 않은 영역으로 몰아넣는 방식으로 환경을 변화시켜 모델의 예측력을 떨어뜨릴 수 있다.

 

예를 들어, 데이터 과학자가 누가 이탈할지를 예측하기 위해 정확한 이탈 모델을 구축한 다음 마케팅 팀이 이러한 고객을 유지하기 위한 오퍼 또는 캠페인을 시작한다고 가정해 보십시오.

이제 문제는 서로 다른 팀에 의해 해결되는 두 개의 별개의 문제로 나뉘며, 결과적으로 로컬 최적 솔루션이 된다.

잠재적 이탈에 대해 취한 조치는 환경을 변화시킬 수 있으며, 따라서 최적의 결과를 초래할 수 있다.

누가 한 가지 문제로 우왕좌왕할 것 같은지 예측하고 캠페인 효과를 두 번째 문제로 마케팅 부서에 맡기는 대신 인과적 추론을 사용하여 각 개별 고객을 유지하는 최선의 조치를 예측할 수 있습니다.

 

인과 추론 모델은 실험 데이터 세트(예: A/B 테스트)와 관찰 데이터 세트 모두에 적용될 수 있다.

RCT는 이러한 데이터셋의 전통적인 골드 표준이지만, 비용이 많이 드는 것 외에도 시간이 많이 걸리고 심지어 실제로 수행하는 것도 불가능하다.

이 글은 대규모 데이터 세트를 활용할 수 있는 관찰 연구 및 자연 실험에 인과 추론 모델을 적용하는 데 중점을 둔다.

 

비즈니스 목표를 사용하여 연구 설계 추진

잘 정의된 비즈니스 목표는 연구 설계를 보다 잘 구체화하는 데 도움이 됩니다.

대부분의 경우, 연구 연구의 모집단은 이질적(heterogeneous)이다.

즉, 개인마다 특성이 다를 수 있으며 잠재적으로 치료 결과 효과를 수정할 수 있다. Azure 투자의 활용 사례에서 다양한 고객 특성에는 지역, 산업 유형, 세그먼트, 규모 등이 포함됩니다. 전체적으로 아무리 효과적인 투자 프로그램이라도 개별 고객과 투자 프로그램의 구체적인 내용에 따라 실제 효과는 달라질 수 있다.

즉, 부분군 내의 치료 효과는 평균 치료 효과(ATE)와 상당히 다를 수 있으며, 개인에 대한 치료 방향과 규모의 변동은 인과적 메커니즘에 따라 설명될 수 있다.

 

당사의 사용 사례에서 Azure 투자 프로그램 소유자는 개별 고객과 상황에 따라 투자 효과가 어떻게 다른지 관심이 있습니다. 그들은 ATE가 제공하는 정보를 넘어 어떤 고객이 치료 효과가 크거나 작은지, 어떤 고객에게 치료 효과가 유익하거나 부정적인 영향을 미치는지 이해하고자 한다. 일부 고객은 프로모션이나 투자 없이 제품을 구입하거나 성장합니다('유기적 성장'이라고 함). 그렇지 않으면 행동하지 않는 일부 고객("방해하지 마세요" 또는 "잠자는 개"라고 불리는)을 촉발시키는 캠페인이 가능하다.

 

이기종(heterogeneous) 연구는 여러 투자 프로그램에 걸쳐 투자 정책을 설계하고 배포하는 방법을 알려 효과를 극대화하는 데 사용될 수 있다. 같은 회사 내에 서로 독립적으로 활동하는 여러 투자 프로그램이 있는 경우 개별 투자 프로그램에 대한 ATE를 넘어 하나의 다중 투자 연구 설계에서 이기종(heterogeneous) 치료 효과를 채택하면 최적의 자원 배분을 알릴 수 있다.

 

이러한 이질성(heterogeneity)에도 불구하고, 많은 연구는 전체 모집단에서 유사한 치료 효과를 암묵적으로 가정하는 ATE를 추정하는 것을 선택할 수 있다. 이 접근법은 맞춤형 투자 추천을 구현하기 위한 비용이 너무 높을 때, 표본 크기가 너무 작아서 신뢰할 수 있는 이기종 추정치를 가질 수 없을 때, 또는 프로그램이 아직 시험 단계일 때 단순히 ATE의 대략적인 추정치를 갖는 것이 목표일 때 실제로 널리 사용된다.

 

치료 자체의 이질적인 특성을 믿는 경우에도 첫 번째 단계로 피험자 간 치료 효과의 분산이 통계적으로 0과 구별할 수 있는지 여부에 관심을 가질 수 있다.

ATE는 또한 프로그램 소유자가 프로그램의 전반적인 효과를 입증하고 계획 및 예산 편성에 대한 이해 관계자의 지속적인 지원을 얻고자 할 때 재무 보고서에 보고된다.

 

Causal inference fundamentals

Potential, actual, and counterfactual outcomes

관측 데이터의 각 단위는 처리를 받았거나 받지 않았습니다.(관측 데이터 단위 기준 : 처리 받음 여부)

즉, 잠재적인 결과 중 하나가 실제 결과(즉, 데이터에서 볼 수 있는 것)라는 의미입니다.

다른 잠재적인 결과는 반사실적인 결과이다. 다른 일이 일어났더라면 일어났을 결과이다.

단위가 치료된 경우 치료 결과를 관찰하고, 이것이 실제 결과가 됩니다. 하지만 치료하지 않으면 결과를 관찰할 수 없고, 이는 반실제적인 결과가 됩니다.

 

그것이 의미하는 것은 인과관계의 문제는 실제 결과와 반실제적 결과를 비교하는 것으로 귀결된다는 것입니다.

즉, 상황이 달랐더라면 어떻게 되었을까요? 인과 추론 방법은 관측할 수 없는 반사실적 결과를 추정하기 위해 다양한 가정을 사용한다. 이를 통해 적절한 비교와 치료 효과를 추정할 수 있습니다.

 

Confounders

인과적 효과(causal effects)는 치료의 변화로 인한 결과의 변화이며, 다른 모든 변수는 일정하게 유지된다.

기본적으로, 치료되지 않은 그룹과 치료되지 않은 그룹 간에 치료 이외의 무언가가 다르다면, 우리는 결과에서 관찰된 어떤 차이도 치료에만 기인한다고 단정적으로 말할 수 없다. 이러한 "효과 혼합(mixing of effects)"은 교란 효과(confounding effect)입니다.

교락 변수(교락 변수 또는 교락 변수)는 치료와 결과 모두에 영향을 미쳐 거짓 연관성을 일으키는 변수입니다.

처리 그룹과 관리 그룹 간에 다른 변수는 결과에도 영향을 미치는 경우 잠재적으로 교란 변수가 될 수 있습니다.

예를 들어, 치료를 받는 것과 좋은 결과를 얻는 것 사이의 상관관계는 교란 요인 때문일 수 있습니다.

 

교란 요인을 식별하기 위해, 모집단의 두 그룹에 걸쳐 일정하지 않은 변수가 있는지 여부를 묻는 질문이 있습니다. 예라고 대답하면 교란 요인이 문제가 될 수 있습니다.

이제, 문제가 장난감 자동차를 밀고 그 결과로 움직이는 것을 보는 것만큼 간단하다면, 어떤 교란 요인도 고려할 필요가 없다.

그러나 치료 효과에 대한 인과적 모델링을 고려할 때 거의 모든 실제 애플리케이션에서 교란 요인은 고유한 문제이다.

문제는 교란자를 찾고 통제하는 방법에 있다. 제안된 교락 변수가 결과에 영향을 미치지 못할 경우 치료된 그룹 또는 치료되지 않은 그룹 간에 변경되든 상관없다는 것을 기억하는 것이 중요합니다.

그러나 다른 모든 것은 아마도 교란자가 될 수 있다. 예를 들어, 아이스크림 판매량과 살인율 사이의 긍정적인 상관관계를 관찰하는 고전적인 예를 생각해 보십시오. 두 변수의 성격을 보지 않고서는 아이스크림 판매를 살인율을 예측할 때 교란자가 될 수 있는 후보로 생각할 수도 있다. 하지만, 아이스크림 판매가 살인율에 영향을 줄 수 없기 때문에, 우리는 치료와 통제 그룹에 걸쳐 아이스크림에 대한 통제를 할 필요가 없습니다.

 

Selection Bias

선택 편향(Selection Bias)은 관측된 그룹의 분포가 우리가 관심 있는 그룹을 대표하지 않는 현상이다.

교란 인자는 일반적으로 단위(예: 개인, 조직 또는 연구의 다른 모든 요소와 같은 연구 대상 요인) 간의 치료 선택에 영향을 미치며, 이는 선택 편향을 초래한다.

예를 들어, 의학에서, 연령은 보통 서로 다른 연령의 사람들이 다른 치료 선호도를 가지고 있기 때문에 혼란스러운 변수이다. 결과적으로, 우리는 치료 그룹의 연령 분포가 관찰된 대조군의 연령 분포와 유의하게 다르다는 것을 관찰할 수 있다.

이러한 현상은 관찰된 대조군을 기반으로 치료된 그룹에 속한 단위의 제어 결과를 추정해야 하고, 마찬가지로 관찰된 치료 그룹을 기반으로 대조군에 속한 단위의 처리 결과를 추정해야 하므로 반사실적 예측의 어려움을 악화시킨다.

선택 편향을 처리하지 않고 데이터에 대한 잠재적 결과 모델을 직접 훈련하면 훈련된 모델은 다른 그룹의 장치에 대한 잠재적 결과를 추정하는 데 잘 작동하지 않는다. 기계 학습 커뮤니티에서 선택 편향에 의해 야기되는 이러한 유형의 문제를 공변량 이동(covariate shift)이라고도 한다.

Instrumental variables (IV) (계기 변수)

실험에서는 처리량을 랜덤하게 단위로 할당해야 합니다. 근거 없는 가정 하에 있는 많은 인과 알고리듬은 우리가 가능한 모든 교란기를 측정하도록 요구하는데, 이는 종종 실제로 불가능하다. 만약 우리가 실험을 할 수 없거나 가능한 모든 교란 요인을 완벽하게 관찰할 수 없다면 우리는 무엇을 해야 할까요? 도구 변수 분석은 유사 실험 데이터를 사용하여 인과 관계를 학습하는 가장 오래되었지만 가장 중요한 방법 중 하나입니다.

치료법이 무작위로 지정되는 RCT와 달리, 도구 변수 분석에서는 치료법이 무작위로 지정되지 않습니다. 하지만 랜덤화된 또 다른 변수가 있고 우리가 관심을 갖는 치료법과 상관관계가 있습니다. 계기 변수 분석에는 몇 가지 단계가 포함됩니다. 먼저 결과 변수와 상관관계가 있는 기기라는 변수를 관찰합니다. 우리는 계측기가 결과 변수에 직접적인 인과적 영향을 미치지 않는다고 가정한다. 계측기와 결과 사이에 나타나는 상관관계는 계측기가 결과 변수에 인과적 영향을 미치기 때문이 아닙니다. 대신, 상관관계는 일부 교락 변수의 효과를 선택합니다.

 

다음으로, 우리는 계측기(instrument)가 치료 변수에 인과적 영향(casual effect)을 미친다는 것과 계측기(instrument)가 무작위로 단위(또는 효과적으로)에 할당된다는 두 가지 가정을 더 한다.

이 두 가지 가정으로부터, 치료법에 대한 계측기의 인과적 효과(casual effect)는 데이터에서의 상관관계이다.

여기서 접근 방식은 마치 장치를 무작위로 장치에 할당하고 치료 변수(treatment variable)에 대한 기기의 인과적 효과가 무엇인지 알고자 하는 RCT를 수행할 수 있는 것과 같습니다.

 

기기(instrument) 변수가 무작위로 할당된다고 가정했기 때문에, 우리는 데이터에서 기기와 치료 사이에 나타나는 어떤 상관관계가든 기구(instrument)가 치료(treatment)에 미치는 인과적 영향(casual effect)이며 기기 변수(instrument variable)는 치료(treatment)를 제외하고 다른 가능한 교란 요인(confounder)과는 상관관계가 없다는 것을 알고 있다.

 

결과와는 상관관계가 있지만 결과에 인과적 영향을 미치지 않는 instrument라는 변수를 가지고 있습니다.

상관관계가 인과관계가 아니기 때문에 교란자(confounder)의 결과임에 틀림없습니다. 

이 기구(instrument)는 치료(treatment)에 인과적 영향(casual effect)을 미치기 때문에, 우리는 이 상관관계나 다른 것을 통해 치료의 인과적 효과(casual effect)를 얻을 수 있다.

그러나 무작위로 할당된 계측(RCT)기를 사용하면 처리 이외의 다른 교란 변수와의 상관관계가 없습니다.

우리는 기기와 결과 사이의 상관관계에 대한 모든 가능한 설명을 배제했다.

단, 다음 중 한 가지는 예외이다. 치료의 결과에는 인과적 영향이 있는데, 그것이 우리가 얻으려고 하는 것이다.

그것이 계기 변수 분석의 본질이다.

예를 들어, 그림 1에서 기기(instrument)는 치료(treatment)를 제외하고 모든 것으로부터 독립적입니다.

실제로 기기(instrument)의 강도는 IV 분석에 매우 중요합니다.

즉, instrument 와 치료(treatment)와 얼마나 강한 상관관계가 있는지 확인해야 합니다.

강력한 계측기가 있고 무작위로 할당된 경우에만 인과 추정치가 유효합니다.

그렇지 않으면, 만약 계측기가 매우 약하다면(즉, 계측기와 치료제가 그다지 상관관계가 없는 경우), 치료 효과의 추정치는 믿을 수 없을 정도로 높은 분산을 갖는다. 그런 상황에서는 IV가 권장되지 않습니다.

 

Causal inference assumptions

인과 추정(causal estimation)을 위한 다양한 방법의 세부 사항으로 들어가기 전에, 잠재적인 결과를 관찰된 데이터와 연결하기 전에 우리가 해야 할 몇 가지 주요 가정을 검토해보자.

인과적 영향(causal effect)의 식별 가능성을 위해서는 관찰 연구를 위해 검증할 수 없는 가정을 해야 한다.

가정을 설명하기 위해, 관측된 데이터는 결과 Y, 처리(treatment) 변수 T 및 처리 공변량(covariate) 변수 X의 일부 집합으로 구성되어 있다고 가정합니다.

X를 나이, 성별, 인종 및 기타 인구 통계와 같이 제어하고자 하는 변수의 집합이라고 생각하십시오.

 

 

Assumption 1: Stable unit treatment value assumption (SUTVA)

SUTVA에 따라 만들어진 가정은 어떤 단위/표본 i에 대한 잠재적 결과는 다른 단위에 할당된 치료법에 따라 달라지지 않으며, 각 단위에는 서로 다른 잠재적 결과를 초래하는 각 치료 수준의 다른 형태나 버전이 없다는 것이다.

SUTVA를 사용하면 i번째 단위에 대한 잠재적 결과를 해당 단원의 치료 측면에서만 작성할 수 있다. (자세한 내용은 2015년 통계, 사회 및 생물의학 과학에 대한 인과 추론, Guido, Rubin 참조) 다음을 강조합니다.

 

No interference:

단위는 서로 간섭하지 않습니다. 이 경우 단위는 사람, 회사, 국가 등이 될 수 있습니다.

어떤 간섭도 없이, 한 장치의 치료 할당이 다른 장치의 결과에 영향을 미치지 않는다는 것을 의미합니다.

간섭의 한 예는 행동 개입을 수행하는 것이지만, 연구에 참여한 사람들은 서로 상호 작용합니다.

예를 들어, 약물 사용 문제를 치료하기 위한 행동 개입인 동기 면접(MI)에서, 약물 사용 문제가 있는 두 개인은 상호 작용하고 각각의 개입의 경험을 서로 공유할 수 있다. 한 사람에 대한 개입의 효과는 그 사람과 상호작용하는 다른 사람에 대한 개입에 따라 달라질 수 있다. 특정 인과 추론 방법은 간섭을 처리할 수 있다.

 

One version of treatment

잠재적 결과는 관찰된 데이터와 효과적으로 연결되어야 한다.

예를 들어, 체지방 감소에 대한 운동의 효과를 연구할 때, 한 사람이 15분 동안 운동을 하고 다른 사람이 1시간 동안 운동을 하는데 어느 치료 버전이 어느 사람에게 할당되었는지 어느 한 치료 버전의 효과를 분리하는 것은 어려울 것이다.

 

Assumption 2: Consistency

treatment T = a, Y²의 잠재적 결과는 실제 치료가 T = a일 경우 관찰된 결과와 동일합니다(Pearl 2010 참조).

즉, 모든 a에 대해 T = a이면 Y = Y²입니다.

 

Assumption 3: Ignorability

이 가정은 때때로 "측정되지 않은 교란자 가정(no unmeasured confounders assumption)"으로 지칭될 수 있다. (원인 추론에 대한 설문 조사를 참조하십시오.) 전처리 공변량 X가 주어지면, 치료 할당(treatment assignment)은 잠재적 결과와 무관하다.

 

Y ⁰, Y ¹ ⫫ T |X

 

예를 들어, X가 젋을 또는 오래된 값을 취할 수 있는 단일 변수(나이)라고 가정할 때, 노년층은 치료 T=1을 받을 가능성이 더 높다.

노년층은 또한 치료(treatment)와 상관없이 고관절 골절 결과를 얻을 가능성이 더 높다. 

따라서 $Y^0$ 와 $Y^1$는 T로부터 독립적이지 않다.

그러나 X 수준 내에서 처리가 랜덤하게 할당 될 수 있다고 한다.

 

Assumption 4: Positivity

긍정성은 모든 사람이 공변량 X에 따라 두 가지 치료 중 하나를 얻을 수 있는 가능성이 있다는 생각을 가리킵니다.

(원인 추론에 대한 조사 참조) X의 모든 수준과 모든 치료에서 단위는 치료를 받을 가능성이 0이 아닙니다. 즉, 치료는 X에 대해 결정적이지 않습니다.

 

P (T = a │X = x) > 0 for all a and x

 

X의 일부 값에 대해 처리가 결정론적인 경우 X의 값에 대한 처리 그룹 중 하나에 대해 Y의 관측치가 없습니다.

치료 할당의 변동성은 식별에 중요하다.

 

Types of treatment effects

인과 추론에 대한 우리의 목표는 관찰 데이터에서 치료 효과를 추정하는 것이다.

처리 효과(treatment effect)는 모집단, 처리 그룹, 부분군 및 개별 수준에서 측정할 수 있습니다.

본 글에서는 이진 치료(binary treatment)에서 치료 효과를 정의하지만, 여러 치료 사례로 쉽게 확장할 수 있다. 각 유형에 대한 정의는 다음과 같습니다(자세한 내용은 인과 추론 조사 참조).

 

Average treatment effect (ATE):

모집단 수준에서 치료 효과(treatment effect)는 다음과 같이 정의되는 평균 치료 효과(ATE)라고 합니다.

 

ATE = E[Y(T = 1) — Y(T = 0)]

 

여기서 T는 처리를 나타내며 Y(T = 1)와 Y(T = 0)는 각각 전체 모집단의 잠재적 치료 및 관리 결과입니다.

 

Average treatment effect on the treated (ATT)

처리 그룹의 경우 처리 효과를 처리 그룹에 대한 평균 처리 효과(ATT)라고 하며 다음과 같이 정의됩니다.

 

ATT = E[Y(T = 1)|T = 1] — E[Y(T = 0)|T = 1]

 

여기서 Y(T = 1)|T = 1 및 Y(T = 0)|T = 1은 각각 처리된 그룹의 잠재적 치료 및 대조군 결과입니다.

ATT는 국소 평균 치료 효과(LATE)라고도 할 수 있다.

 

Conditional average treatment effect (CATE)

 

부분군 수준에서 치료 효과를 조건부 평균 치료 효과(CATE)라고 하며, 이는 다음과 같이 정의된다.

 

CATE = E[Y(T = 1)|X = x] — E[Y(T = 0)|X = x]

 

여기서 Y(T = 1)|X = x 및 Y(T = 0)|X는 각각 X = x인 부분군의 잠재적 처리 및 관리 결과입니다.

CATE는 이종 치료 효과로도 알려져 있다.

 

Individual treatment effect (ITE)

개별 수준에서 치료 효과를 개별 치료 효과(ITE)라고 하며, 단위 i의 ITE는 다음과 같이 정의된다.

 

ITE = Yᵢ (T = 1) — Yᵢ (T = 0)

 

여기서 $Y_i(T = 1)$와 $Y_i(T = 0)$는 각각 단위 i의 처리 및 관리 결과입니다.

쿤젤 외 연구진(2019)의 관련 연구에서 i의 개별 치료 효과(ITE)의 평균 제곱 오차(MSE)를 최소화하는 추정기는 x²에서 CATE에 대한 MSE를 최소화하므로 ITE는 CATE와 동등하게 간주된다.

 

ATE와 ATT는 모집단 수준에서 추정되지만 CATE와 ITE는 부분군 또는 개별 수준에서 추정됩니다. CATE(이종 치료 효과라고도 함)는 치료 효과가 서로 다른 부분군에 걸쳐 변화하는 경우입니다. 프로그램 수준의 치료 효과를 이해하는 것이 목표일 때, 우리는 ATE/ATT에 초점을 맞춘다. 개별 수준 치료 효과를 추정하는 것이 목표인 경우, 이종 연구 설계를 사용하여 CATE를 추정한다.

 

List of open-source Python packages for causal inference

인과 추론 프레임워크 내에 다양한 통계 및 계량 방법을 구현하는 여러 파이썬 패키지가 있으며, 치료 효과 분석 또는 상승 모델링이라고도 한다. 구글의 인과적 영향과 같은 몇 가지 인기 있는 R 패키지도 있다.

 

아래는 인과 분석을 수행하기 위한 몇 가지 인기 있는 오픈 소스 파이썬 패키지 또는 도구 상자에 대한 요약이다. 표 1은 각 패키지에 대한 연구 그룹과 커밋을 보여줍니다. 표 2에는 지원되는 알고리즘이 요약되어 있습니다. 표 3은 모델 검증 및 해석 기법을 보여줍니다. 또한 GitHub에 대한 링크와 참조를 위한 문서도 나열되어 있습니다. 요약 통계는 2020년 8월의 스냅샷을 나타내며 시간이 지남에 따라 진화할 것으로 예상된다.

 

역사적으로 많은 기계 학습 접근법은 인과관계를 이해하는 것이 아니라 결과 예측에 중점을 두는 반면, 많은 전통적인 인과 추론 접근법은 RCT가 없는 고차원 데이터 세트와 복잡한 환경의 문제에 직면했다.

EconML과 같은 패키지는 인과관계를 AI와 Mac에 통합하는 데 파일럿 역할을 했다. 학습 체계를 강화하다 이들 중 상당수는 머신 러닝을 통한 치료 효과 추정을 위한 공통 API의 최첨단 기술 모음이다.

 

요약에서 알 수 있듯이 DoWhy와 EconML(Microsoft Research에서 개발)의 조합은 수많은 알고리즘, 모델 검증 및 해석 기술을 포괄하는 강력하고 포괄적인 솔루션입니다.

또한 DoWhy와 EconML의 API는 서로 통합되어 있어 두 라이브러리를 동일한 분석에서 원활하게 사용할 수 있습니다(예: 고객 세분화 또는 권장 사항 A/B 테스트의 예제 노트북 참조).

DoWhy와 EconML의 통합 버전을 적극 권장합니다.

주어진 문제에 가장 적합한 패키지를 선택할 때 패키지 유지 관리의 최신성과 적극성을 고려할 것을 독자들에게 권고합니다. 대부분의 툴킷은 다양한 상황 및 시나리오에 유연하고 재사용 가능하며, 데이터 과학자들은 제한적이거나 경제적인 배경이 없어도 쉽게 습득할 수 있다는 것을 알게 될 것이다.

 

GitHub

Documentation

Table 1: List of Python packages for causal analysis

 

 

 

Reference

https://www.microsoft.com/en-us/research/project/econml/

https://github.com/microsoft/EconML/tree/main/notebooks

https://medium.com/data-science-at-microsoft/causal-inference-part-1-of-3-understanding-the-fundamentals-816f4723e54a

728x90