인과 추론을 notebook 환경에서 데이터를 활용해 인과 추론을 도와주는 API인 CausalVis 에 대한 연구입니다.
읽은 날짜 2023.04.30
카테고리 #시각화논문리뷰, #DataVisualization, #Causality
Causalvis: Visualizations for Causal Inference
- Authors: Grace Guo, Ehud Karavani, Alex Endert, Bum Chul Kwon
- DOI: https://arxiv.org/abs/2303.00617
- Keywords: causal inference, causality, design study
- Issue Date: 2023
- Publisher: CHI'23: Proceedings of the 2022 CHI Conference on Human Factors in Computing Systems
ABSTRACT
배경: 인과 추론은 관찰 데이터를 사용해 인과 효과를 정량화 하기 위핸 통계적 패러다임으로, 여러 단계의 반복 및 도메인 전문가와의 협업이 필요한 복잡한 프로세스이다.
문제점: 기존의 시각화 툴킷은 애널리스트에게 친숙한 computational environments에서 전체적인 인과추론 프로세스를 지원하도록 설계되지 않았음.
RQ/목표: 기존 문제점을 해결하여, computational environments에서 시각화를 통해 인과추론 프로세스를 지원.
방법: 인과 추론을 위한 파이썬 시각화 패키지 Causalvis 개발
평가: 전문가의 평과와 피드백을 받음
결과: Causalvis 가 반복적인 인과 추론 프로세스를 효과적으로 지원한다는 것을 발견
의의: 인과 관계 추론을 위한 시각화 설계, 커뮤니케이션 및 협업 지원.
1. INTRODUCTION
■ RCT (Randomized Controlled Trials)
- causality(인과관계)를 확립하기 위한 (the golden standard)
- 항상 가능하지 않다. (not always feasible)
- 가능하지 않은 경우의 예 - treatment variable을 조작하는 것의 비용이 많이 들고, impractical 하거나 또는 unethical 한 경우.
■ Causal Inference
-관찰 데이터를 사용하여 인과적인 영향(causal effects)을 정량화 하는 통계적 패러타임.
-RCT가 불가능한 상황에서, observational data를 활용하여 인과적 추론을 하는 데 유용하게 쓰인다.
-Causal Inference 사용하는 예: healthcare, economics, social sciences
-방법: 연구자는 관찰 데이터셋에서 treatment 와 control 그룹을 선택하고, 그 두그룹의 outcome을 비교한다.
-Causal inference analysis 의 목적: treatment그룹에서 보여주는 효과의 크기를 예측하는 것
■ Causal Inference 주의 사항
예상 treatment 효과가 신뢰할 수 있고, 편향되지 않도록 추가 조치를 취해야 함.
이 과정에서 많은 단계와 반복을 거쳐야 하고, domain experts와 협업이 요구됨.
- Researcher는 데이터셋에서 causal relationship을 확실하게 이해하고,
- confounding variables(교란 변수)를 식별하고 컨트롤 해야하며,
- 필요한 통계적 조정(statistical adjustments)를 하고,
- 선택한 treatment와 control 집단이 required assumptions를 만족하도록 확실히 해야함.
■ 기존 Causal inference 라이브러리의 문제점
(1) 인과 추론을 위해 특별히 설계되지 않음.
(not designed specifically for causal inference [29, 66])
(2) 제한된 분석 기능만 제공 - 분석 과정(analysis workflow)에서 단편적인 기능(fragmented support)만 지원
(support_only limited analysis tasks [5, 23, 53].)
(3) 기능들이 서로 함께 동작하지 않게 설계됨.
(서로 호환되지 않는(imcompatible) 가정과 프로세스를 도입한 causal inference approaches [33, 61, 62]가 있기 때문)
(4) causal inference에는 다양한 반복을 통해 분석을 구체화 해야하는데,
많은 시각화 라이브러리는 이러한 빠른 반복을 위해 설계되지 않았다.
(5) analyst들에게 익숙한 computational environments 와 statistical packages analysts 에 통합되지 않는다.
--> causal inference practitioners가 전체적인 인과추론 워크플로에 걸쳐
다양한 분석 태스크를 지원하기 위해 함께 사용할 수 있는 시각화 툴킷이 없다.
■ 이 연구의 진행 내용
Causal inference 전문가와 디자인 스터디 3개월 진행
(1) Formative interviews 2회
- causal inference workflow와 분석 작업(analytic task) 이해의 목적
(2) 반복적인 디자인 프로세스(iterative design process)
- 반복적인 디자인 프로세스를 통해 시각화가 태스크를 지원하도록 개발하고, 최종적으로 전문가에게 최종 결과물에 대한 평가와 피드백을 받음.
■ 이 연구의 결과물
-CausalVis: 인과 추론을 위한 파이썬 시각화 패키지 (a Python visualization package for causal inference)
-CausalVis 모듈 4가지
(1) 인과 구조 이해 및 전달 (Understanding and communicating causal structure)
(2) 교란 변수 식별 및 통계적 제어 (Identifying and statistically controlling for confounding variables)
(3) 코호트 정제 (Refining cohorts)
(4) 이기종 treatment 효과를 탐색하고, 분석 출처를 트래킹 (exploring heterogeneous treatment effects and tracking analytic provenance)
■ 이 연구의 contribution
(i) 인과 관계 추론 프로세스 동안 사용자 작업 및 설계 요구 사항의 특성화(Characterization)
(ii) CausalVis - 인과 추론 중에 전문가를 지원 하기 위해 4개의 시각화 모듈로 구성된 Python 라이브러리
(iii) 각 모듈의 디자인, 기능 및 개선 영역에 대한 전문가의 피드백
(v) 구축된 컴퓨팅 환경에서 여러 하위 모듈이 포함된 Python 패키지를 개발하고 평가하여 얻은 방법론적 교훈(methodological lessons).
2. RELATED WORK
2.1 Causal Inference
데이터에서 인과적인 구조(Causal structure)를 밝히는 방법:
(1) Causal inference (인과 추론)
(2) Causal discovery (인과 발견)
■ Causal discovery (인과 발견)
(= reverse causality, 역 인과성)설명
- 목표: 일반적으로 treatment와 outcome을 미리 지정하지않고, causal relationship (인과 관계)의 강도를 정량화 하는 것
- 사용: 관찰한 데이터셋의 변수들 간의 causal links를 이해하기 위해 causal discovery를 사용한다.
- 예: 흡연 행동, 나이, 성별, 폐암 과 같은 변수들 간에 link가 있는가?
■ Causal inference (인과 추론)
(= forward causality, 전방향 인과성)
- 목표: 사전에 treatment와 outcome을 지정하고, 이에 대한 causal relationship의 강도를 정량화 하는 것을 목표로 한다.
- 예) 흡연과 폐암의 관계
treatment: 흡연, outcome: 폐암 유무
covarites(공변량)의 영향을 고려하여, treatment가 outcome에 미치는 영향의 크기를 측정하는 것
■ DAG (Directed Acyclic Graphs, 방향성 비순환 그래프)
- node와 방향이 있는 vertices로 구성되며,
- node는 데이터의 변수, vertex들은 두 변수 사이에 가능한 관계에 대응한다.
- DAG의 두 가지 태스크
(1) 데이터를 통해 causal question을 식별가능성을 밝힘 (즉, 데이터에 인과 관계가 있는지 식별)
(identifying whether a causal question can be answered from the data)
(2) 그래프를 계산하여 causal effect 추정
(performing causal effect estimation when used as a computational graph)
■ PO (Potential outcomes, 잠재적 결과) 프레임워크
(= Neyman-Rubin framework, Rubin Causal Model )
- 인과 추론을 위한 이론적 프레임워크를 설명한다. (theoretical framework for causal inference)
- PO 프레임워크는 이론적인 가정을 통해, 데이터가 실제로 causal treatment effect를 가지는지 식별한다.
- 예) 흡연과 폐암의 관계
각 개인별로 담배를 피웠을 때, 피우지 않았을 때 두 가지 조건에 따른 두 가지 potential outcomes를 생성해야 한다.
이를 전체 모집단(population)에 대하여 수행하여, 두 결과의 차이를 평균내어 ATE (Average Treatment Effect)를 얻을 수 있다.
하지만, 실제로는 하나의 결과가 관찰되면 다른 반사실적 사실(counterfactural)에 따른 결과는 결코 관찰될 수 없다.
- ATE를 측정하기 위해, 로 우리는 biological/demographic 특성을 공유하는, cohort of individuals를 선택하고 흡연 여부에 따라 두 그룹(control/treatment)로 나눈다.
- 통계적 조정으로 spurious correlations(의심가는 상관관계)를 없애서, 이 두 그룹이 비교 가능하도록 한다.
- 실무자들은 treatment가 outcome에 영향을 미치는 하나의 vertex의 효과를 정량화 하는데 초점을 맞추고,
맨 처음 인과관계 식별가능성을 확인하기 위해서만 DAG를 사용한다.
■ SCM (Structural Causal Model, 구조적 인과 모델) 프레임워크
- Judea Pearl이 개발한 do-calculus 시스템에 의존하는 방법으로,
- DAG를 사용해 causation(인과성)을 밝힌다.
- 실무자들(practioners)은 DAG를 이용해 모든 vertices의 effect size를 추정하여, DAG의 두 가지 태스크를 다 수행하고자 한다.
(데이터에 인과 관계가 있는지 식별, 그래프를 통한 causal effect 추정)
Potential outcomes와 SCM 모두 강점, 약점이 있으나
요즘 많이 쓰이는 propensity scope method나 matching과 같은 인과추정 방법들이 Potential outcomes를 바탕으로 개발되어,
인과 추론 실무자들은 Potential outcomes를 더 많이 쓰고 있다.
이 연구의 툴 (CausalVis)는 Potential outcomes 프레임워크를 지원하기 위해 디자인되어,
사용자가 일반적인 통계적 도구를 이용해 미리 지정된 treatment와 outcome의 causal effect를 추정할 수 있도록 한다.
2.2 Causal Visualization
■ 아이템
설명
설명
(1) SCM기반 시각화 도구
■ 아이템
- 대부분 인과 관계 추론을 위한 시각화 도구는 SCM을 기반으로 하여, 더 많이 사용되는 PO와 호환되지 않는다.
- 툴 예시: Visual Causality Analyst, Causal Structure Investigator
(2) Potential outcomes 기반 시각화 도구
■ 아이템
PO 프레임워크에서는 추정을 편향시킬 수 있는 변수를 조정해야 한다.
따라서 변수가 treatment outcomes에 어떻게 관련되는지 confounders(교란자)를 도입해서 강조해야 한다.
- 툴 예시: VAINE, causallib, Cobalt
VANIE - jupyter notebook환경,
causallib - jupyter notebook환경, 정적 시각화만 제공
Cobalt - R 환경, 정적 시각화만 제공
2.3 Visualization in Computational Environments
■ 컴퓨팅 노트북 환경
- 사용자가 동일한 인터페이스 내에서 코드 및 출력 세그먼트를 혼합할 수 있는 프로그래밍 환경
- 탐색적 데이터 분석, 협업, 신속한 반복 및 워크플로 문서화를 지원
- 예: jupyterLab, Google Colab, Kaggle notebook 등
- 최근 컴퓨팅 노트북 환경에서 대화형 시각화 개발이 많이 이루어지고 있다.
-이 에 따라 본 연구(CausalVis)도 노트북용 Python 패키지로 구현하였다.
3. DESIGN STUDY
3.1 Participants
■ 아이템
설명
설명
3.1.1 sub-subtitle
■ 아이템
설명
설명
3.1.2 sub-subtitle
■ 아이템
설명
설명
3.2 Study Procedure
■ 아이템
설명
설명
3.3 The Causal Inference Workflow
■ 아이템
설명
설명
3.4 User Analytic Tasks
■ 아이템
설명
설명
4. CAUSALVIS
■ 아이템
설명
설명
4.1 Usage Scenario
■ 아이템
설명
설명
4.1.1 sub-subtitle
■ 아이템
설명
설명
4.2 DAG
■ 아이템
설명
설명
4.1.1 sub-subtitle
■ 아이템
설명
설명
4.3 Cohort Evaluator
■ 아이템
설명
설명
4.1.1 sub-subtitle
■ 아이템
설명
설명
4.4 Treatment Effect Explorer
■ 아이템
설명
설명
4.1.1 sub-subtitle
■ 아이템
설명
설명
4.5 Version History
■ 아이템
설명
설명
5. EXPERT EVALUATION
5.1 Participants
■ 아이템
설명
설명
5.2 Tasks
■ 아이템
설명
설명
5.3 Results
■ 아이템
설명
설명
5.3.1 DAG
■ 아이템
설명
설명
5.3.2 Cohort Evaluator
■ 아이템
설명
설명
5.3.3 Treatment Effect Explorer
■ 아이템
설명
설명
5.3.4 Version History
■ 아이템
설명
설명
6. DISCUSSION
■ 아이템
설명
설명
7. LESSONS LEARNED FROM DESIGN STUDY
■ 아이템
설명
설명
8. CONCLUSION
- 중요한 결론 -
- 이론적 함의 -
- 실재적 함의 (practical implications) -
- Future work
- (1)
- (2)
나의 의견
논문을 선택한 이유
(1) 이유1
(2) 이유2
읽고 난 후 의견
- 의견1
- 의견2