프로젝트 소개
DoWhy는 PyWhy 생태계에서 개발된 인과 추론용 오픈소스 Python 라이브러리입니다. 사용자가 인과 추론 단계를 따라갈 수 있도록 안내하고, 인과 질문에 답하기 위한 통합 인터페이스를 제공하도록 설계되었습니다.
이 라이브러리는 그래프 인과 모델과 잠재 결과라는 두 가지 주요 프레임워크를 기반으로 합니다. 효과 추정을 위해 그래프 기반 기준과 do-calculus를 사용하여 가정을 모델링하고 비모수적 인과 효과를 식별한 다음, 추정을 위해 잠재 결과 기반 방법으로 전환합니다. 효과 추정을 넘어서는 질문의 경우, 각 노드에서 명시적 인과 메커니즘을 통해 데이터 생성 과정을 모델링하여 관찰된 효과를 특정 변수에 귀속시키고 점별 반사실을 추정할 수 있습니다.
주요 기능은 다음과 같습니다:
- 효과 추정: 식별, 평균 인과 효과, 조건부 평균 인과 효과, 도구 변수 등.
- 인과 영향 정량화: 매개 분석, 직접 화살표 강도, 내재적 인과 영향.
- 가정 분석: 개입 분포에서 샘플 생성 및 반사실 추정.
- 근본 원인 분석 및 설명: 이상 현상을 원인에 귀속시키고, 분포 변화의 원인을 찾고, 특징 관련성을 추정합니다.
주목할 만한 기능은 반박 및 반증 API로, 모든 추정 방법에 대해 인과 가정을 테스트할 수 있으며, 추론을 더 견고하게 하고 비전문가도 접근할 수 있도록 하는 것을 목표로 합니다.
효과 추정의 일반적인 워크플로는 모델링, 식별, 추정, 반박의 네 단계로 구성됩니다. 사용자는 인과 그래프(주로 NetworkX를 통해)를 정의하고, 대상 추정량을 식별하고, 통계적 방법으로 추정한 다음, 견고성 검사를 실행합니다. DoWhy는 해석 가능성을 강조하여 언제든지 테스트되지 않은 가정, 식별된 추정량, 추정치를 검사할 수 있습니다.
그래프 인과 모델(GCM) 프레임워크는 구조적 인과 모델, 인과 메커니즘의 자동 할당, 피팅, 평가, 이상 귀속, 개입 샘플링을 지원합니다. 이는 Pearl의 프레임워크를 기반으로 하며 인과 메커니즘을 명시적으로 모델링합니다.
DoWhy는 Python 3.8+를 지원하며 pip, poetry 또는 conda를 통해 설치할 수 있습니다. pydot 또는 pygraphviz와 같은 선택적 종속성을 사용하면 dot 형식의 그래프 입력과 더 보기 좋은 그래프를 사용할 수 있습니다. 이 프로젝트는 광범위한 문서, 예제 노트북, 사례 연구, 비디오 튜토리얼을 제공합니다. 조건부 평균 치료 효과 추정을 위한 EconML과 같은 관련 도구를 호스팅하는 PyWhy 조직의 일부입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.