diff --git a/.github/ISSUE_TEMPLATE/task-template.md b/.github/ISSUE_TEMPLATE/task-template.md new file mode 100644 index 0000000..805c6f6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/task-template.md @@ -0,0 +1,10 @@ +--- +name: Task template +about: Tasks related to launch and organize the KDD 2023 workshop +title: "[Task] " +labels: '' +assignees: '' + +--- + +* Deadline: diff --git a/.github/ISSUE_TEMPLATE/upgrade.md b/.github/ISSUE_TEMPLATE/upgrade.md index f854fcb..b60dfa8 100644 --- a/.github/ISSUE_TEMPLATE/upgrade.md +++ b/.github/ISSUE_TEMPLATE/upgrade.md @@ -1,8 +1,8 @@ --- name: "[fastpages] Automated Upgrade" -about: "Trigger a PR for upgrading fastpages" +about: Trigger a PR for upgrading fastpages title: "[fastpages] Automated Upgrade" -labels: fastpages-automation +labels: '' assignees: '' --- diff --git a/.gitignore b/.gitignore index 6cdd784..f0c1dce 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ _notebooks/.ipynb_checkpoints # Local Netlify folder .netlify .tweet-cache +.DS_Store __pycache__ diff --git a/README.md b/README.md index 4af745a..f8a9359 100755 --- a/README.md +++ b/README.md @@ -1,120 +1,193 @@ [//]: # (This template replaces README.md when someone creates a new repo with the fastpages template.) -![](https://github.com/causal-machine-learning/kdd2021-tutorial/workflows/CI/badge.svg) -![](https://github.com/causal-machine-learning/kdd2021-tutorial/workflows/GH-Pages%20Status/badge.svg) +![](https://github.com/causal-machine-learning/kdd2023-workshop/workflows/CI/badge.svg) +![](https://github.com/causal-machine-learning/kdd2023-workshop/workflows/GH-Pages%20Status/badge.svg) [![](https://img.shields.io/static/v1?label=fastai&message=fastpages&color=57aeac&labelColor=black&style=flat&logo=data:image/png;base64,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)](https://github.com/fastai/fastpages) -# **Causal Inference and Machine Learning in Practice with EconML and CausalML**: Industrial Use Cases at Microsoft, TripAdvisor, Uber +--- +layout: home +search_exclude: true +image: images/logo.png +--- -## **Schedule** +# **Causal Inference and Machine Learning in Practice**: Use cases for Product, Brand, Policy and Beyond -### Time +## **Schedule** -* 4:00 AM - 7:00 AM August 15, 2021 [SGT](https://www.timeanddate.com/worldclock/converter.html?iso=20210814T200000&p1=236&p2=tz_pt&p3=tz_et) -* 4:00 PM - 7:00 PM August 14, 2021 [EDT](https://www.timeanddate.com/worldclock/converter.html?iso=20210814T200000&p1=236&p2=tz_pt&p3=tz_et) -* 1:00 PM - 4:00 PM August 14, 2021 [PDT](https://www.timeanddate.com/worldclock/converter.html?iso=20210814T200000&p1=236&p2=tz_pt&p3=tz_et) +* Long Beach Convention & Entertainment Center, 300 E Ocean Blvd, Long Beach, CA 90802 +([Map](https://goo.gl/maps/1N3XGEovGgJqXAV98)) +* Date: August 7, 2023 (Monday) +* Time: 1:00 - 5:00 PM Pacific Time -### Live Zoom Link +## **Abstract** -To be shared within the KDD 21 Virtual Platform during the conference. +The increasing demand for data-driven decision-making has led to the rapid growth of machine learning applications in +various industries. However, the ability to draw causal inferences from observational data remains a crucial challenge. +In recent years, causal inference has emerged as a powerful tool for understanding the effects of interventions in +complex systems. Combining causal inference with machine learning has the potential to provide a deeper understanding of +the underlying mechanisms and to develop more effective solutions to real-world problems. -## **Abstract** +This workshop aims to bring together researchers and practitioners from academia and industry to share their experiences +and insights on applying causal inference and machine learning techniques to real-world problems in the areas of +product, brand, policy, and beyond. The workshop welcomes original research that covers machine learning theory, deep +learning, causal inference, and online learning. Additionally, the workshop encourages topics that address scalable +system design, algorithm bias, and interpretability. -In recent years, both academic research and industry applications see an increased effort in using machine learning methods to measure granular causal effects and design optimal policies based on these causal estimates. Open source packages such as [CausalML](https://github.com/uber/causalml) and [EconML](https://github.com/microsoft/econml) provide a unified interface for applied researchers and industry practitioners with a variety of machine learning methods for causal inference. The tutorial will cover the topics including conditional treatment effect estimators by meta-learners and tree-based algorithms, model validations and sensitivity analysis, optimization algorithms including policy leaner and cost optimization. In addition, the tutorial will demonstrate the production of these algorithms in industry use cases. +Through keynote talks, panel discussions, and contributed talks and posters, the workshop will provide a forum for +discussing the latest advances and challenges in applying causal inference and machine learning to real-world problems. +The workshop will also offer opportunities for networking and collaboration among researchers and practitioners working +in industry, government, and academia. -## **Target Audience and Prerequisites for the Tutorial** +## **Paper Submission** -Anyone who is interested in causal inference and machine learning, especially economists/statisticians/data scientists who want to learn how to combine causal inference and machine learning with real industry use cases incorporated in large scaled machine learning systems at companies such as Microsoft, TripAdvisor and Uber. -The tutorial assumes some basic knowledge in statistical methods, machine learning algorithms and the Python programming language. +Please submit your paper to the [CMT portal](https://cmt3.research.microsoft.com/CMLKDD2023) site, and check the [Call for +Paper](https://causal-machine-learning.github.io/kdd2023-workshop/cfp/) page for details on important dates and +submission guidelines. ## **Outline** -| **Title** | **Duration** | Slides | Code | -|-----------|--------------|--------|------| -| **Introduction to Causal Inference** | 20 minutes | [Slides](https://drive.google.com/file/d/1O1oVU3nX7ThzCrUxlFK-OJsxF3Bz8Khl/view?usp=sharing) | | -| **Case Studies Part 1 by CausalML** | | | | -| Introduction to CausalML| 15 minutes | [Slides](https://docs.google.com/presentation/d/1D-cqqwKyWseVoNQEH-d0TS9wqK55l3bSn3PaLFxNEWI/edit?usp=sharing) | | -| Case Study #1: Causal Impact Analysis with Observational Data: CeViChE at Uber | 30 minutes | [Slides](https://docs.google.com/presentation/d/1FvRtis2fm4c2R7XmRKWMTtZaZjUObW1fGxpNmapmjKI/edit?usp=sharing)| [Notebook](https://colab.research.google.com/drive/1ySwg9BIYWS5oLQ5haorMyiIbyiCJ431J?usp=sharing) | -| Case Study #2: Targeting Optimization: Bidder at Uber | 30 minutes |[Slides](https://drive.google.com/file/d/1QJJUCo4LH5kGQP3kaJlG1RdhjhaJWp-5/view?usp=sharing) |[Notebook](https://colab.research.google.com/drive/1fnZEHIAcNxrvSxFrlO1hRTHO7sazXbo0?usp=sharing) | -| **Case Studies Part 2 by EconML** | | | | -| Introduction to EconML| 15 minutes | [Slides](https://drive.google.com/file/d/1gt4KNznrYbwdryi9jGcC0-hDCNg7mBNE/view?usp=sharing) | [Notebook](https://colab.research.google.com/drive/1m2Ob7dc1JalEb6FIzSG1tx0qW491-YNc?usp=sharing) | -| Case Study #3: Customer Segmentation at TripAdvisor with Recommendation A/B Tests | 30 minutes | [Slides](https://drive.google.com/file/d/1yyIu_3epIVXbwzJj658Iv4vxHGjtPh8n/view?usp=sharing) | [Notebook](https://colab.research.google.com/drive/1nUhkLVpanv-gm_oA7FbValhpDpEs02wR#scrollTo=qk4_f4tx5gZz) | -| Case Study #4: Long-Term Return-on-Investment at Microsoft via Short-Term Proxies | 30 minutes | [Slides](https://drive.google.com/file/d/1FEKXFHHATntHjsEymXnEw6GAiUGMm8sG/view?usp=sharing) | [Notebook](https://colab.research.google.com/drive/1Ow7ArXRn1NJq47OLvchi26RRTdm94yv8?usp=sharing) | +| **Title** | **Speaker** | **Time (Duration)** | Link | +|-----------|-------------|--------------|------| +| **Introduction** | Organizers | 1:00 - 1:10 PM (10 minutes) | | +| **Invited Talk:** COG: Creative Optimality Gap for Video Advertising | [Raif Rustamov](#raif-rustamov-amazon) (Amazon) | 1:10 - 1:30 PM (20 minutes) | [Slides](https://drive.google.com/file/d/1ehHzNj-EDlhpQzCOhlJ9oE7Lnmf2Fpmc/view?usp=sharing)| +| **Invited Talk:** The Value of Last-Mile Delivery in Online Retail | [Ruomeng Cui](#ruomeng-cui-emory-university) (Emory) | 1:30 - 1:50 PM (20 minutes) | [Slides](https://drive.google.com/file/d/19w3ay80K1xBqceZj6DgBtyJgPx2OrYe6/view?usp=drive_link)| +| Leveraging Causal Uplift Modeling for Budget Constrained Benefits Allocation | Dmitri Goldenberg, Javier Albert (Booking.com) | 1:50 - 2:05 PM (15 minutes) | [Slides](https://docs.google.com/presentation/d/1Fz720lBj8DDsviLYNAIyBLVE7TN8qFoVtxPzbfAvo_I/edit?usp=drive_link)| +| Ensemble Method for Estimating Individualized Treatment Effects | Kevin Wu Han, Han Wu (Stanford) | 2:05 - 2:20 PM (15 minutes) | [Slides](https://drive.google.com/file/d/1KLAFpKYw5mlJQ7cNyLamS1LkuGScABSb/view?usp=sharing), [Paper](https://drive.google.com/file/d/1dzsIGgQ4cF2ltetH16A4Zz-L-pZ6tHBK/view?usp=drive_link) | +| A Scalable and Debiased Approach to Dynamic Pricing with Causal Machine Learning and Optimization | Nicolò Cosimo Albanese, Fabian Furrer, Marco Guerriero (Amazon AWS) | 2:20 - 2:35 PM (15 minutes) | [Slides](https://drive.google.com/file/d/1uSqpV51qxNcEyCrgzhYo2nr44tfn717z/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1VlW-zgrCfaKi5CtGYkQbkhWw7JVXhPtw/view?usp=drive_link) | +| An IPW-based Unbiased Ranking Metric in Two-sided Markets | Keisho Oh, Naoki Nishimura (Recruit Co), Minje Sung, Ken Kobayashi, Kazuhide Nakata (Tokyo Institute of Technology) | 2:35 - 2:50 PM (15 minutes) | [Slides](https://drive.google.com/file/d/1XLQCMUNy79jmYb0y1AB7ImRflq4csh6Y/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1Bshr6dwFB-E2H2K64g9OfERNUQcfP0eb/view?usp=drive_link)| +| **Break & Poster Session** | | 3:00 - 3:30 PM (30 minutes) | | +| **Invited Talk:** Unit Selection Based on Counterfactual Logic | [Ang Li](#ang-li-university-of-california-los-angeles) (UCLA) | 3:30 - 3:50 PM (20 minutes) | [Slides](https://drive.google.com/file/d/1P-it4MNrYbnWNUgodagU69oubVtpo_WV/view?usp=drive_link)| +| **Invited Talk:** Towards Automating the Causal Machine Learning Pipeline | [Vasilis Syrgkanis](#vasilis-syrgkanis-stanford-universityeconml) (Stanford/EconML) | 3:50 - 4:10 PM (20 minutes) | [Slides](https://www.dropbox.com/scl/fi/w2p1cnghhqp1qc377o4yu/auto_debiased.pptx?rlkey=8k4bdcrastqmzlao8n5bng258&dl=0)| +| Power and Pre-treatment Fit: Optimizing Synthetic Control Method for Quasi-experiments | Ali O Polat (Shipt) | 4:10 - 4:25 PM (15 minutes) | [Slides](https://drive.google.com/file/d/1F9bCmoCYg7AeNxKXekCze7a4ELXs2Ohv/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1rDsCmwl23HELiD-P_Qq9TUZZ_3opbEji/view?usp=drive_link)| +| Dynamic Causal Structure Discovery and Causal Effect Estimation | Jianian Wang, Rui Song (NCSU) | 4:25 - 4:40 PM (15 minutes) | [Slides](https://drive.google.com/file/d/13MzjyZLGxfGNoAg3TMRF0Es-TqtnRVSH/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1928QcX3PdFan_gkeJl-mxEgl7kQ9KupN/view?usp=drive_link)| +| Hierarchical Clustering As a Novel Solution to the Notorious Multicollinearity Problem in Observational Causal Inference | Yufei Wu, Zhiying Gu, Alex Deng, Jacob Zhu (Airbnb) | 4:40 - 4:55 PM (15 minutes) | [Slides](https://drive.google.com/file/d/1r0xXFFflSVDFNtGEypUGh845CeycF51q/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1HQekrFF1vNNrO7TF4aX43850-Dc6UHgo/view?usp=drive_link)| + +## **Invited Speakers** + +### Raif Rustamov, Amazon + +#### Title: COG: Creative Optimality Gap for Video Advertising + +#### Bio + +Raif Rustamov is a Senior Applied Scientist at Amazon where he focuses on brand advertising science including relevance +modeling, representation learning, and causal inference. He previously worked as a Principal Inventive Scientist in AI +and Data Science at AT&T Labs conducting research on recommender systems, customer segmentation, identity for +cross-device advertising, and location analytics. Raif has a PhD in Applied and Computational Mathematics from Princeton +University and has taught at Purdue and Drew Universities, as well as worked as a research associate at Stanford +University. + +#### Abstract -## **Presentation Abstracts** +Video creatives play a crucial role in shaping consumer experiences and brand perceptions, but quantifying their impact +on shopper experience remains a complex challenge. In this talk, we introduce the Creative Optimality Gap (COG), +a metric developed to assess the relative optimality of video creatives using causal-inferential machine learning +methodology. Our main contributions include the development of the COG metric through the use of conditional individual +treatment effects projected on interpretable video features, the introduction of a meta-learner for its computation, +and the incorporation of model uncertainty to avoid false positives. Our work advances the understanding of video +creative effectiveness and provides a valuable tool for optimizing ad performance. -### Introduction to Causal Inference +### Ruomeng Cui, Emory University -We will give an overview of basic concepts in causal inference. A quick refresher on the main tools and terminology of causal inference: correlation vs causation, average, conditional, and individual treatment effects, causal inference via randomization, Causal inference using instrumental variables, Causal inference via unconfoundedness. +#### Title: The Value of Last-Mile Delivery in Online Retail -### Introduction to CasualML +#### Bio -We will provide an overview of CausalML, an open source Python package that provides a suite of uplift modeling and causal inference methods using machine learning algorithms based on recent research. We will introduce the main components of CausalML: (1) inference with causal machine learning algorithms (e.g. meta-learners, uplift trees, CEVAE, dragonnet), (2) validation/analysis methods (e.g. synthetic data generation, AUUC, sensitivity analysis, interpretability), (3) optimization methods (e.g. policy optimization, value optimization, unit selection). +Ruomeng Cui is an Associate Professor of Operations Management at the Goizueta Business School, Emory University (on leave). She currently is a full-time Amazon Visiting Academic at Amazon, working in the supply chain domain. Her research focuses on causal inference, machine learning and data-driven modeling, with applications in retail, supply chains, and platforms. She currently serves as an associate editor for Manufacturing & Service Operations Management and Production and Operations Management. She received her Ph.D. in Operations Management from the Kellogg School of Management, Northwestern University and B.Sc in Industrial Engineering from Tsinghua University. -### Case #1: Causal Impact Analysis with Observational Data at Uber +#### Abstract -As an introductory case study for using causal inference, we will cover the use case of understanding the causal impact from observational data in the context of cross sell at Uber. We emphasize that simple comparisons of users who make cross purchase or not will produce biased estimates and that can be demonstrated in the causal inference framework. We show the use of different causal estimation methodologies through propensity score matching and meta learners to estimate the causal impact. In addition, we will use sensitivity analysis to show the robustness of the estimates. +Last-mile delivery has become increasingly important in the online retail industry. In this study, we study the economic +value of last-mile delivery. To do so, we conducted a quasi-experiment in collaboration with Cainiao, Alibaba's +logistics subsidiary, where home delivery was launched at some pickup stations in 2021. This allowed us to +comprehensively evaluate the causal impact of last-mile delivery. Using a difference-in-differences identification +method, we found that last-mile delivery significantly increases sales and customer spending on the retail platform. To +optimally prioritize limited delivery capacity, we employed causal machine learning to target the most responsive +customers. Our findings suggest that online retailers should carefully weigh the costs and benefits of last-mile +delivery and tailor their logistic strategies accordingly. -### Case #2: Targeting Optimization: Bidder at Uber +### Ang Li, University of California, Los Angeles -We will introduce the audience selection method with uplift modeling in online RTB, which aims to estimate heterogeneous treatment effects for advertising. It has been studied to provide a superior return on investment by selecting the most incremental users for a specific campaign. To examine the effectiveness of uplift modeling in the context of real-time bidding, we conducted the comparative analysis of four different meta-learners on real campaign data. We adapted an explore-exploit set up for offline training and online evaluation. We will also introduce how we use Targeted Maximum Likelihood Estimation (TMLE) based Average Treatment Effect (ATE) as ground truth for evaluation. +#### Title: Unit Selection Based on Counterfactual Logic -### Introduction to EconML +#### Bio -We will provide an overview of recent methodologies that combine machine learning with causal inference and the significant statistical power that machine learning brings to causal inference estimation methods. We will outline the structure and capabilities of the EconML package and describe some of the key causal machine learning methodologies that are implemented (e.g. double machine learning, causal forests, deepiv, doubly robust learning, dynamic double machine learning). We will also outline approaches to confidence interval construction (e.g. bootstrap, bootstrap-of-little-bags, debiased lasso), interpretability (shap values, tree interpreters) and policy learning (doubly robust policy learning). +Dr. Li is set to join the Florida State University Department of Computer Science as an assistant professor in August. +He is currently a post-doctoral researcher in the Department of Computer Science at UCLA under the guidance of Prof. +Judea Pearl. His primary research area is causal inference, artificial intelligence, and causality-based +decision-making, with a focus on building causal models that estimate treatment effects (interventions) and evaluating +what would have happened if an individual had taken a treatment (counterfactuals). He is also interested in +decision-making modeling using knowledge of treatment effects and counterfactuals. Prior to his post-doc, Dr. Li +obtained his Ph.D. at UCLA with Prof. Judea Pearl and his M.S. degree at the University of Minnesota Twin Cities. -### Case #3: Customer Segmentation at TripAdvisor with Recommendation A/B Tests +#### Abstract -We examine the scenario in which we wish to learn heterogeneous treatment effects (CATE), but observational data is biased and direct experimental data (e.g. A/B test) is plagued by imperfect compliance. In this setup, TripAdvisor would like to know whether joining a membership program compels users to spend more time engaging with the website and purchasing more products. The usual approach, a direct A/B test, is infeasible: the website cannot force users to comply and become members, hence the imperfect compliance that can bias calculations. The solution is to use an alternative A/B test that was originally designed to measure whether an easier sign-up process would promote user membership. This A/B test plays the role of an instrument that nudges users to sign up for membership. We introduce EconML’s IntentToTreatDRIV estimator which can leverage this repurposed A/B test to both learn the effect of membership on user engagement and understand how these effects vary with customer features. We show how this novel methodology led to extracting key business insights and helped TripAdvisor understand and differentiate how customers engage with their platform. +The unit selection problem aims to identify a set of individuals who are most likely to +exhibit a desired mode of behavior, which is defined in counterfactual terms. A typical +example is that of selecting individuals who would respond one way if encouraged and a +different way if not encouraged. Unlike previous works on this problem, which rely on ad-hoc +heuristics, we approach this problem formally, using counterfactual logic, to properly capture +the nature of the desired behavior. This formalism enables us to derive an informative +selection criterion which integrates experimental and observational data. We show that a +more accurate selection criterion can be achieved when structural information is available +in the form of a causal diagram. We further discuss data availability issue regarding the +derivation of the selection criterion without the observational or experimental data. We +demonstrate the superiority of this criterion over A/B-test-based approaches. -### Case #4: Long-Term Return-on-Investment at Microsoft via Short-Term Proxies +### Vasilis Syrgkanis, Stanford University/EconML -In this case study, we talk about using observational data to measure the long term Return-on-Investment of some types of dollar value investments Microsoft gives to the enterprise customers. There are many challenges for this setting, for instance, we don't have enough period of data to identify a long term ROI, we should control the effect coming from the future investment and we are in a high dimensional data space. We then propose a surrogate based approach assuming the long-term effect is channeled through some short-term proxies and employ a dynamic adjustment to the surrogate model in order to get rid of the effect from future investment, finally apply double machine learning (DML) techniques to estimate the ROI. We apply this methodology to answer the questions like what is the average long-run ROI on each type of the investment? What types of customers have a higher ROI to a specific investment? And how different incentives impact the different solution areas. Finally we will showcase how you could use EconML to solve similar problems by only a few lines of code. +#### Title: Towards Automating the Causal Machine Learning Pipeline +#### Bio -## **Tutors** +Vasilis Syrgkanis is an Assistant Professor in Management Science and Engineering and (by courtesy) in Computer Science, +in the School of Engineering at Stanford University. His research interests are in the areas of machine learning, causal +inference, econometrics, online and reinforcement learning, game theory/mechanism design and algorithm design. Until +August 2022, he was a Principal Researcher at Microsoft Research, New England, where he was a member of the EconCS and +StatsML groups. During his time at Microsoft, he co-led the project on Automated Learning and Intelligence for Causation +and Economics (ALICE) and was a co-founder of EconML, an open-source python package for causal machine learning. He +received his Ph.D. in Computer Science from Cornell University. + +#### Abstract -### Presenters +## **Accepted Papers** + +### For Oral Presentation +1. Leveraging Causal Uplift Modeling for Budget Constrained Benefits Allocation, Dmitri Goldenberg (Booking.com)*; Javier Albert (Booking.com); [Slides](https://docs.google.com/presentation/d/1Fz720lBj8DDsviLYNAIyBLVE7TN8qFoVtxPzbfAvo_I/edit?usp=drive_link) +2. Ensemble Method for Estimating Individualized Treatment Effects, Kevin Wu Han (Stanford University)*; Han Wu (Stanford University); [Slides](https://drive.google.com/file/d/1KLAFpKYw5mlJQ7cNyLamS1LkuGScABSb/view?usp=sharing), [Paper](https://drive.google.com/file/d/1dzsIGgQ4cF2ltetH16A4Zz-L-pZ6tHBK/view?usp=drive_link) +3. A Scalable and Debiased Approach to Dynamic Pricing with Causal Machine Learning and Optimization, Nicolò Cosimo Albanese (AWS)*; Fabian Furrer (AWS); Marco Guerriero (AWS); [Slides](https://drive.google.com/file/d/1uSqpV51qxNcEyCrgzhYo2nr44tfn717z/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1VlW-zgrCfaKi5CtGYkQbkhWw7JVXhPtw/view?usp=drive_link) +4. An IPW-based Unbiased Ranking Metric in Two-sided Markets, Keisho Oh (Recruit Co., Ltd.)*; Naoki Nishimura (Recruit Co., Ltd.); Minje Sung (Tokyo Institute of Technology); Ken Kobayashi (Tokyo Institute of Technology); Kazuhide Nakata (Department of Industrial Engineering and Economics, Tokyo Institute of Technology.); [Slides](https://drive.google.com/file/d/1XLQCMUNy79jmYb0y1AB7ImRflq4csh6Y/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1Bshr6dwFB-E2H2K64g9OfERNUQcfP0eb/view?usp=drive_link) +5. Power and Pre-treatment Fit: Optimizing Synthetic Control Method for Quasi-experiments, Ali O Polat (Shipt Inc.)*; [Slides](https://drive.google.com/file/d/1F9bCmoCYg7AeNxKXekCze7a4ELXs2Ohv/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1rDsCmwl23HELiD-P_Qq9TUZZ_3opbEji/view?usp=drive_link) +6. Dynamic Causal Structure Discovery and Causal Effect Estimation, Jianian Wang (North Carolina State Unicersity)*; Rui Song (North Carolina State Unicersity); [Slides](https://drive.google.com/file/d/13MzjyZLGxfGNoAg3TMRF0Es-TqtnRVSH/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1928QcX3PdFan_gkeJl-mxEgl7kQ9KupN/view?usp=drive_link) +7. Hierarchical Clustering As a Novel Solution to the Notorious Multicollinearity Problem in Observational Causal Inference, Yufei Wu (Airbnb)*; Zhiying Gu (Airbnb); Alex Deng (Airbnb); Jacob Zhu (Airbnb); [Slides](https://drive.google.com/file/d/1r0xXFFflSVDFNtGEypUGh845CeycF51q/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1HQekrFF1vNNrO7TF4aX43850-Dc6UHgo/view?usp=drive_link) + +### For Poster Presentation +8. Community Detection-Enhanced Causal Structural Learning, Yuhe Gao (North Carolina State University)*; Hengrui Cai (University of California Irvine); Sheng Zhang (North Carolina State University); Rui Song (North Carolina State University); [Poster](https://drive.google.com/file/d/1dC_WLUhOJletn-kDJd1GPUJDyHwpMblG/view?usp=drive_link), [Paper](https://drive.google.com/file/d/11vnSFYDQZ1ZjztaM_eW7J9jd5tKH7y6Y/view?usp=drive_link) +9. ACE: Active Learning for Causal Inference with Expensive Experiments, Difan Song (Georgia Institute of Technology)*; Simon Mak (Duke University); C.F. Jeff Wu (Georgia Institute of Technology); [Paper](https://drive.google.com/file/d/1-fCLcT4RYAHJlsSBUuuAwsuqHDf9B4Qt/view?usp=drive_link) +10. Evaluate the Impact of Similar Products Ad Group Recommendations with Causal Inference, Jamie Chen (Amazon)*; Zuqi Shang (AmaOn); Raif Rustamov (Amazon); [Poster](https://drive.google.com/file/d/13UTLTuJKBA5hIFZ0g1HolLHQpAXhqcX4/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1ahjN_fNvDjmdwD0btW4UvgxaKgCB32kP/view?usp=drive_link) +11. Machine Learning based Framework for Robust Price-Sensitivity Estimation with Application to Airline Pricing, Shahin Boluki (Pros Inc)*; Ravi Kumar (PROS); [Poster](https://drive.google.com/file/d/1AcRtI5NtovYWMEOLnQ7dE_IRgyHVukqf/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1n5mL1quGS5jWVZXXqUrL349CJH-I2BOW/view?usp=drive_link) +12. OpportunityFinder: A Framework for Automated Causal Inference, Huy Nguyen (Amazon)*; Prince Grover (Amazon); Devashish Khatwani (Amazon); [Poster](https://drive.google.com/file/d/1MH_vV5MDafqAOVLnQRIgmG1IFGXZx05r/view?usp=drive_link), [Paper](https://drive.google.com/file/d/1_yAoohM0jG0uPi7om9_6igVQJI1JM-Ce/view?usp=drive_link) -* Jing Pan, Uber, CausalML -* Yifeng Wu, Uber, CausalML -* Huigang Chen, Facebook, CausalML -* Totte Harinen, Toyota Research Institute, CausalML -* Paul Lo, Uber, CausalML -* Greg Lewis, Microsoft Research, EconML -* Vasilis Syrgkanis, Microsoft Research, EconML -* Miruna Oprescu, Microsoft Research, EconML -* Maggie Hei, Microsoft Research, EconML -### Contributors +## **Organizers** -* Jeong-Yoon Lee, Netflix Research, CausalML +* Chu Wang, Amazon +* Yingfei Wang, University of Washington +* Xinwei Ma, UC San Diego +* [Zeyu Zheng](mailto:zyzheng@berkeley.edu), UC Berkeley, Amazon - main contact + +### [CausalML](https://github.com/uber/causalml) Team + +* Jing Pan, Snap, CausalML +* Yifeng Wu, Uber, CausalML +* Huigang Chen, Meta, CausalML +* Totte Harinen, AirBnB, CausalML +* Paul Lo, Snap, CausalML +* [Jeong-Yoon Lee](mailto:jeong@uber.com), Uber, CausalML - main contact * Zhenyu Zhao, Tencent, CausalML -* Keith Battocchi, Microsoft Research, EconML -* Eleanor Dillon, Microsoft Research, EconML +### [EconML](https://github.com/py-why/EconML) Team -## **References** - -1. Künzel, Sören R., et al. "Metalearners for estimating heterogeneous treatment effects using machine learning." Proceedings of the national academy of sciences 116.10 (2019): 4156-4165. ([paper](https://www.pnas.org/content/pnas/116/10/4156.full.pdf)) -2. Chernozhukov, Victor, et al. "Double/debiased/neyman machine learning of treatment effects." American Economic Review 107.5 (2017): 261-65. ([paper](https://arxiv.org/pdf/1701.08687)) -3. Nie, Xinkun, and Stefan Wager. "Quasi-oracle estimation of heterogeneous treatment effects." arXiv preprint arXiv:1712.04912 (2017) ([paper](https://arxiv.org/pdf/1712.04912)) -4. Tso, Fung Po, et al. "DragonNet: a robust mobile internet service system for long-distance trains." IEEE transactions on mobile computing 12.11 (2013): 2206-2218. ([paper](https://eprints.gla.ac.uk/56409/1/56409.pdf)) -5. Louizos, Christos, et al. "Causal effect inference with deep latent-variable models." arXiv preprint arXiv:1705.08821 (2017) ([paper](https://arxiv.org/pdf/1705.08821)) -6. Wager, Stefan, and Susan Athey. "Estimation and inference of heterogeneous treatment effects using random forests." Journal of the American Statistical Association 113.523 (2018): 1228-1242. ([paper](https://www.tandfonline.com/doi/pdf/10.1080/01621459.2017.1319839)) -7. Oprescu, Miruna, et al. "EconML: A Machine Learning Library for Estimating Heterogeneous Treatment Effects." ([repo](https://github.com/microsoft/EconML)) -8. Chen, Huigang, et al. "Causalml: Python package for causal machine learning." arXiv preprint arXiv:2002.11631 (2020) ([repo](https://github.com/uber/causalml)) -9. Yao, Liuyi, et al. "A survey on causal inference." arXiv preprint arXiv:2002.02770 (2020). ([paper](https://arxiv.org/pdf/2002.02770.pdf)) -10. Goldenberg, Dmitri, et al. "Personalization in Practice: Methods and Applications." Proceedings of the 14th ACM International Conference on Web Search and Data Mining. 2021 ([paper](https://drive.google.com/drive/folders/1c_khoTDRbkoRY5OiaxEfUxRQkyNv3FeK)) -11. Blackwell, Matthew. "A selection bias approach to sensitivity analysis for causal effects." Political Analysis 22.2 (2014): 169-182. ([paper](https://www.cambridge.org/core/journals/political-analysis/article/selection-bias-approach-to-sensitivity-analysis-for-causal-effects/788C169FAF5482452566811136D4F9B4)) -12. Athey, Susan, and Stefan Wager. "Efficient policy learning." arXiv preprint arXiv:1702.02896 (2017). ([paper](https://arxiv.org/pdf/1702.02896.pdf)) -13. Sharma, Amit, and Emre Kiciman. "Causal Inference and Counterfactual Reasoning." Proceedings of the 7th ACM IKDD CoDS and 25th COMAD. 2020. 369-370. ([paper](https://dl.acm.org/doi/abs/10.1145/3371158.3371231)) -14. Li, Ang, and Judea Pearl. "Unit selection based on counterfactual logic." Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence. 2019 ([paper](https://par.nsf.gov/biblio/10180278)) -15. Kennedy, Edward H. "Optimal doubly robust estimation of heterogeneous causal effects." arXiv preprint arXiv:2004.14497 (2020) ([paper](https://arxiv.org/pdf/2004.14497.pdf)) -16. Gruber, Susan, and Mark J. Van Der Laan. "Targeted maximum likelihood estimation: A gentle introduction." (2009) ([paper](https://biostats.bepress.com/cgi/viewcontent.cgi?article=1255&context=ucbbiostat)) -17. D. Foster, V. Syrgkanis. Orthogonal Statistical Learning. Proceedings of the 32nd Annual Conference on Learning Theory (COLT), 2019 ([paper](https://arxiv.org/pdf/1901.09036.pdf)) -18. V. Syrgkanis, V. Lei, M. Oprescu, M. Hei, K. Battocchi, G. Lewis. Machine Learning Estimation of Heterogeneous Treatment Effects with Instruments. Proceedings of the 33rd Conference on Neural Information Processing Systems (NeurIPS), 2019 ([paper](https://arxiv.org/pdf/1905.10176.pdf)) -19. M. Oprescu, V. Syrgkanis and Z. S. Wu. Orthogonal Random Forest for Causal Inference. Proceedings of the 36th International Conference on Machine Learning (ICML), 2019 ([paper](http://proceedings.mlr.press/v97/oprescu19a/oprescu19a.pdf)) -20. Jason Hartford, Greg Lewis, Kevin Leyton-Brown, and Matt Taddy. Deep IV: A flexible approach for counterfactual prediction. Proceedings of the 34th International Conference on Machine Learning, ICML'17, 2017 ([paper](http://proceedings.mlr.press/v70/hartford17a/hartford17a.pdf)) -21. Battocchi, K., Dillon, E., Hei, M., Lewis, G., Oprescu, M., & Syrgkanis, V. (2021). Estimating the Long-Term Effects of Novel Treatments. arXiv preprint arXiv:2103.08390. ([paper](https://arxiv.org/pdf/2103.08390.pdf)) -22. Lewis, G., & Syrgkanis, V. (2020). Double/Debiased Machine Learning for Dynamic Treatment Effects. arXiv preprint arXiv:2002.07285. ([paper](https://arxiv.org/pdf/2002.07285.pdf)) +* Fabio Vera, Microsoft Research, EconML +* Eleanor Dillon, Microsoft Research, EconML +* Keith Battocchi, Microsoft Research, EconML diff --git a/_action_files/settings.ini b/_action_files/settings.ini index d803172..8becb3a 100644 --- a/_action_files/settings.ini +++ b/_action_files/settings.ini @@ -7,7 +7,7 @@ description = Writing a library entirely in notebooks keywords = jupyter notebook author = Sylvain Gugger and Jeremy Howard author_email = info@fast.ai -baseurl = /kdd2021-tutorial +baseurl = /kdd2023-workshop title = nbdev copyright = fast.ai license = apache2 diff --git a/_config.yml b/_config.yml index 6995623..da2a486 100644 --- a/_config.yml +++ b/_config.yml @@ -6,11 +6,11 @@ # https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml # https://learnxinyminutes.com/docs/yaml/ -title: EconML/CausalML KDD 2021 Tutorial -description: EconML/CausalML KDD 2021 Tutorial +title: KDD 2023 Workshop - Causal Inference and Machine Learning in Practice +description: KDD 2023 Workshop - Causal Inference and Machine Learning in Practice github_username: causal-machine-learning # you can comment the below line out if your repo name is not different than your baseurl -github_repo: "kdd2021-tutorial" +github_repo: "kdd2023-workshop" # OPTIONAL: override baseurl and url if using a custom domain # Note: leave out the trailing / from this value. @@ -34,13 +34,13 @@ url: "https://causal-machine-learning.github.io" # the base hostname & protocol # # 3. You must replace the parameter `baseurl` in _action_files/settings.ini with the same value as you set here but WITHOUT QUOTES. # -baseurl: "/kdd2021-tutorial" # the subpath of your site, e.g. "/blog". +baseurl: "/kdd2023-workshop" # the subpath of your site, e.g. "/blog". # Github and twitter are optional: minima: social_links: - twitter: CausalMachine - github: causal-machine-learning + - { platform: github, user_url: "https://github.com/causal-machine-learning/" } + - { platform: twitter, user_url: "https://twitter.com/CausalMachine" } # Set this to true to get LaTeX math equation support use_math: true @@ -100,7 +100,7 @@ plugins: paginate: 15 paginate_path: /page:num/ -remote_theme: jekyll/minima +remote_theme: jekyll/minima@6513ea8b9c1c4909b6aa79926d52a1f7d865c5e7 titles_from_headings: enabled: true diff --git a/_fastpages_docs/_setup_pr_template.md b/_fastpages_docs/_setup_pr_template.md index 894e80a..2bb5d67 100644 --- a/_fastpages_docs/_setup_pr_template.md +++ b/_fastpages_docs/_setup_pr_template.md @@ -4,22 +4,22 @@ Hello :wave: @causal-machine-learning! Thank you for using fastpages! 1. Create an ssh key-pair. Open this utility. Select: `RSA` and `4096` and leave `Passphrase` blank. Click the blue button `Generate-SSH-Keys`. -2. Navigate to this link and click `New repository secret`. Copy and paste the **Private Key** into the `Value` field. This includes the "---BEGIN RSA PRIVATE KEY---" and "--END RSA PRIVATE KEY---" portions. **In the `Name` field, name the secret `SSH_DEPLOY_KEY`.** +2. Navigate to this link and click `New repository secret`. Copy and paste the **Private Key** into the `Value` field. This includes the "---BEGIN RSA PRIVATE KEY---" and "--END RSA PRIVATE KEY---" portions. **In the `Name` field, name the secret `SSH_DEPLOY_KEY`.** -3. Navigate to this link and click the `Add deploy key` button. Paste your **Public Key** from step 1 into the `Key` box. In the `Title`, name the key anything you want, for example `fastpages-key`. Finally, **make sure you click the checkbox next to `Allow write access`** (pictured below), and click `Add key` to save the key. +3. Navigate to this link and click the `Add deploy key` button. Paste your **Public Key** from step 1 into the `Key` box. In the `Title`, name the key anything you want, for example `fastpages-key`. Finally, **make sure you click the checkbox next to `Allow write access`** (pictured below), and click `Add key` to save the key. ![](https://raw.githubusercontent.com/fastai/fastpages/master/_fastpages_docs/_checkbox.png) ### What to Expect After Merging This PR -- GitHub Actions will build your site, which will take 2-3 minutes to complete. **This will happen anytime you push changes to the master branch of your repository.** You can monitor the logs of this if you like on the [Actions tab of your repo](https://github.com/causal-machine-learning/kdd2021-tutorial/actions). +- GitHub Actions will build your site, which will take 2-3 minutes to complete. **This will happen anytime you push changes to the master branch of your repository.** You can monitor the logs of this if you like on the [Actions tab of your repo](https://github.com/causal-machine-learning/kdd2023-workshop/actions). - Your GH-Pages Status badge on your README will eventually appear and be green, indicating your first successful build. -- You can monitor the status of your site in the GitHub Pages section of your [repository settings](https://github.com/causal-machine-learning/kdd2021-tutorial/settings). +- You can monitor the status of your site in the GitHub Pages section of your [repository settings](https://github.com/causal-machine-learning/kdd2023-workshop/settings). If you are not using a custom domain, your website will appear at: -#### https://causal-machine-learning.github.io/kdd2021-tutorial +#### https://causal-machine-learning.github.io/kdd2023-workshop ## Optional: Using a Custom Domain diff --git a/_pages/cfp.md b/_pages/cfp.md new file mode 100644 index 0000000..451a37e --- /dev/null +++ b/_pages/cfp.md @@ -0,0 +1,62 @@ +--- +permalink: /cfp/ +layout: default +title: Call for Paper +search_exclude: true +--- + +# **Call for Paper** + +## **Important Dates** + +All deadlines are at 11:59 PM [AoE](https://www.timeanddate.com/time/zones/aoe). +* ~~April 30th, 2023: CMT submission portal opens~~ +* ~~May 23rd, 2023 **May 30th, 2023**: Abstract submission deadline **(extended)**~~ +* ~~June 9th, 2023 **June 16th, 2023**: Workshop paper submission deadline **(extended)**~~ +* ~~July 10th, 2023: Paper decision notifications~~ +* ~~July 24th, 2023: Camera-ready deadline~~ +* August 7th, 2023: Workshop + +## **Submission Link** + +* CMT submission portal: [https://cmt3.research.microsoft.com/CMLKDD2023/](https://cmt3.research.microsoft.com/CMLKDD2023/) + +## **Aim and Scope** + +The workshop aims to bring together researchers and practitioners from academia and industry to share their experiences +and insights on applying causal inference and machine learning techniques to real-world problems in the areas of +product, brand, policy, and beyond. + +We welcome papers on a variety of topics, including but not limited to the following: +* Industry use cases where causal inference and machine learning are used in practice +* Challenges and opportunities for using causal inference and machine learning in industry settings +* Techniques for incorporating causal inference into machine learning models +* Methodologies for evaluating causal machine-learning models in practice + +We encourage submissions from researchers and practitioners working in industry, government, and academia. We welcome +papers that present new research results, works in progress, or case studies that showcase the application of causal +inference and machine learning techniques to real-world problems. + +All submissions will be peer-reviewed by the program committee, and accepted papers will be presented as contributed +talks or posters during the workshop. + +## **Submission and Formatting Instructions** + +* Submissions are single-blind—author names and affiliations should be listed. +* Submissions are limited to 6 pages (excluding references), must be in PDF, and use the ACM Conference Proceeding +template (two-column format). +* The recommended setting for Latex documents is: +`\documentclass[sigconf, review]{acmart}`. +* Additional supplemental material focused on reproducibility can be provided. Proofs, pseudo-code, and code may also be +included in the supplement, which has no explicit page limit. +* The supplementary material should be included in the same pdf file as the main manuscript. The main body of the paper +should be self-contained since reviewers are not required to read the supplementary material. The supplementary material +will not be included in the proceedings. +* Submissions violating these formatting requirements will be desk-rejected. +* The Word template guideline can be found [here](https://www.acm.org/publications/proceedings-template). +* The Latex/overleaf template guideline can be found +[here](https://www.overleaf.com/latex/templates/association-for-computing-machinery-acm-sig-proceedings-template/bmvfhcdnxfty). + +For any questions or inquiries, please contact the workshop organizers at [jeong@uber.com](mailto:jeong@uber.com) and +[zyzheng@berkeley.edu](mailto:zyzheng@berkeley.edu). We +look forward to your submissions! diff --git a/images/logo.png b/images/logo.png index 64c392f..4ef1a18 100644 Binary files a/images/logo.png and b/images/logo.png differ diff --git a/images/raif.png b/images/raif.png new file mode 100644 index 0000000..e627f58 Binary files /dev/null and b/images/raif.png differ diff --git a/images/vasilis.png b/images/vasilis.png new file mode 100644 index 0000000..3e31460 Binary files /dev/null and b/images/vasilis.png differ diff --git a/index.html b/index.html index f2a19d7..14bd462 100644 --- a/index.html +++ b/index.html @@ -4,117 +4,185 @@ image: images/logo.png --- -# **Causal Inference and Machine Learning in Practice with EconML and CausalML**: Industrial Use Cases at Microsoft, TripAdvisor, Uber +# **Causal Inference and Machine Learning in Practice**: Use cases for Product, Brand, Policy and Beyond ## **Schedule** -### Time +* Long Beach Convention & Entertainment Center, 300 E Ocean Blvd, Long Beach, CA 90802 +([Map](https://goo.gl/maps/1N3XGEovGgJqXAV98)) +* Date: August 7, 2023 (Monday) +* Time: 1:00 - 5:00 PM Pacific Time -* 4:00 AM - 7:00 AM August 15, 2021 [SGT](https://www.timeanddate.com/worldclock/converter.html?iso=20210814T200000&p1=236&p2=tz_pt&p3=tz_et) -* 4:00 PM - 7:00 PM August 14, 2021 [EDT](https://www.timeanddate.com/worldclock/converter.html?iso=20210814T200000&p1=236&p2=tz_pt&p3=tz_et) -* 1:00 PM - 4:00 PM August 14, 2021 [PDT](https://www.timeanddate.com/worldclock/converter.html?iso=20210814T200000&p1=236&p2=tz_pt&p3=tz_et) - -### Live Zoom Link +## **Abstract** -To be shared within the KDD 21 Virtual Platform during the conference. +The increasing demand for data-driven decision-making has led to the rapid growth of machine learning applications in +various industries. However, the ability to draw causal inferences from observational data remains a crucial challenge. +In recent years, causal inference has emerged as a powerful tool for understanding the effects of interventions in +complex systems. Combining causal inference with machine learning has the potential to provide a deeper understanding of +the underlying mechanisms and to develop more effective solutions to real-world problems. -## **Abstract** +This workshop aims to bring together researchers and practitioners from academia and industry to share their experiences +and insights on applying causal inference and machine learning techniques to real-world problems in the areas of +product, brand, policy, and beyond. The workshop welcomes original research that covers machine learning theory, deep +learning, causal inference, and online learning. Additionally, the workshop encourages topics that address scalable +system design, algorithm bias, and interpretability. -In recent years, both academic research and industry applications see an increased effort in using machine learning methods to measure granular causal effects and design optimal policies based on these causal estimates. Open source packages such as [CausalML](https://github.com/uber/causalml) and [EconML](https://github.com/microsoft/econml) provide a unified interface for applied researchers and industry practitioners with a variety of machine learning methods for causal inference. The tutorial will cover the topics including conditional treatment effect estimators by meta-learners and tree-based algorithms, model validations and sensitivity analysis, optimization algorithms including policy leaner and cost optimization. In addition, the tutorial will demonstrate the production of these algorithms in industry use cases. +Through keynote talks, panel discussions, and contributed talks and posters, the workshop will provide a forum for +discussing the latest advances and challenges in applying causal inference and machine learning to real-world problems. +The workshop will also offer opportunities for networking and collaboration among researchers and practitioners working +in industry, government, and academia. -## **Target Audience and Prerequisites for the Tutorial** +## **Paper Submission** -Anyone who is interested in causal inference and machine learning, especially economists/statisticians/data scientists who want to learn how to combine causal inference and machine learning with real industry use cases incorporated in large scaled machine learning systems at companies such as Microsoft, TripAdvisor and Uber. -The tutorial assumes some basic knowledge in statistical methods, machine learning algorithms and the Python programming language. +Please submit your paper to the [CMT portal](https://cmt3.research.microsoft.com/CMLKDD2023) site, and check the [Call for +Paper](https://causal-machine-learning.github.io/kdd2023-workshop/cfp/) page for details on important dates and +submission guidelines. ## **Outline** -| **Title** | **Duration** | Slides | Code | -|-----------|--------------|--------|------| -| **Introduction to Causal Inference** | 20 minutes | [Slides](https://drive.google.com/file/d/1O1oVU3nX7ThzCrUxlFK-OJsxF3Bz8Khl/view?usp=sharing) | | -| **Case Studies Part 1 by CausalML** | | | | -| Introduction to CausalML| 15 minutes | [Slides](https://drive.google.com/file/d/1ukFsX0QU0kdlQHv_VG_F8QJZtqZ86cwy/view) | | -| Case Study #1: Causal Impact Analysis with Observational Data: CeViChE at Uber | 30 minutes | [Slides](https://docs.google.com/presentation/d/1FvRtis2fm4c2R7XmRKWMTtZaZjUObW1fGxpNmapmjKI/edit?usp=sharing)| [Notebook](https://colab.research.google.com/drive/1ySwg9BIYWS5oLQ5haorMyiIbyiCJ431J?usp=sharing) | -| Case Study #2: Targeting Optimization: Bidder at Uber | 30 minutes |[Slides](https://drive.google.com/file/d/1QJJUCo4LH5kGQP3kaJlG1RdhjhaJWp-5/view?usp=sharing) |[Notebook](https://colab.research.google.com/drive/1fnZEHIAcNxrvSxFrlO1hRTHO7sazXbo0?usp=sharing) | -| **Case Studies Part 2 by EconML** | | | | -| Introduction to EconML| 15 minutes | [Slides](https://drive.google.com/file/d/1gt4KNznrYbwdryi9jGcC0-hDCNg7mBNE/view?usp=sharing) | [Notebook](https://colab.research.google.com/drive/1m2Ob7dc1JalEb6FIzSG1tx0qW491-YNc?usp=sharing) | -| Case Study #3: Customer Segmentation at TripAdvisor with Recommendation A/B Tests | 30 minutes | [Slides](https://drive.google.com/file/d/1yyIu_3epIVXbwzJj658Iv4vxHGjtPh8n/view?usp=sharing) | [Notebook](https://colab.research.google.com/drive/1nUhkLVpanv-gm_oA7FbValhpDpEs02wR#scrollTo=qk4_f4tx5gZz) | -| Case Study #4: Long-Term Return-on-Investment at Microsoft via Short-Term Proxies | 30 minutes | [Slides](https://drive.google.com/file/d/1FEKXFHHATntHjsEymXnEw6GAiUGMm8sG/view?usp=sharing) | [Notebook](https://colab.research.google.com/drive/1Ow7ArXRn1NJq47OLvchi26RRTdm94yv8?usp=sharing) | +| **Title** | **Speaker** | **Time (Duration)** | Link | +|-----------|-------------|--------------|------| +| **Introduction** | Organizers | 1:00 - 1:10 PM (10 minutes) | | +| **Invited Talk:** COG: Creative Optimality Gap for Video Advertising | [Raif Rustamov](#raif-rustamov-amazon) (Amazon) | 1:10 - 1:30 PM (20 minutes) | | +| **Invited Talk:** The Value of Last-Mile Delivery in Online Retail | [Ruomeng Cui](#ruomeng-cui-emory-university) (Emory) | 1:30 - 1:50 PM (20 minutes) | | +| Leveraging Causal Uplift Modeling for Budget Constrained Benefits Allocation | Dmitri Goldenberg, Javier Albert (Booking.com) | 1:50 - 2:05 PM (15 minutes) | | +| Ensemble Method for Estimating Individualized Treatment Effects | Kevin Wu Han, Han Wu (Stanford) | 2:05 - 2:20 PM (15 minutes) | | +| A Scalable and Debiased Approach to Dynamic Pricing with Causal Machine Learning and Optimization | Nicolò Cosimo Albanese, Fabian Furrer, Marco Guerriero (Amazon AWS) | 2:20 - 2:35 PM (15 minutes) | | +| An IPW-based Unbiased Ranking Metric in Two-sided Markets | Keisho Oh, Naoki Nishimura (Recruit Co), Minje Sung, Ken Kobayashi, Kazuhide Nakata (Tokyo Institute of Technology) | 2:35 - 2:50 PM (15 minutes) | | +| **Break & Poster Session** | | 3:00 - 3:30 PM (30 minutes) | | +| **Invited Talk:** Unit Selection Based on Counterfactual Logic | [Ang Li](#ang-li-university-of-california-los-angeles) (UCLA) | 3:30 - 3:50 PM (20 minutes) | | +| **Invited Talk:** Towards Automating the Causal Machine Learning Pipeline | [Vasilis Syrgkanis](#vasilis-syrgkanis-stanford-universityeconml) (Stanford/EconML) | 3:50 - 4:10 PM (20 minutes) | | +| Power and Pre-treatment Fit: Optimizing Synthetic Control Method for Quasi-experiments | Ali O Polat (Shipt) | 4:10 - 4:25 PM (15 minutes) | | +| Dynamic Causal Structure Discovery and Causal Effect Estimation | Jianian Wang, Rui Song (NCSU) | 4:25 - 4:40 PM (15 minutes) | | +| Hierarchical Clustering As a Novel Solution to the Notorious Multicollinearity Problem in Observational Causal Inference | Yufei Wu, Zhiying Gu, Alex Deng, Jacob Zhu (Airbnb) | 4:40 - 4:55 PM (15 minutes) | | + +## **Invited Speakers** + +### Raif Rustamov, Amazon + +#### Title: COG: Creative Optimality Gap for Video Advertising + +#### Bio + +Raif Rustamov is a Senior Applied Scientist at Amazon where he focuses on brand advertising science including relevance +modeling, representation learning, and causal inference. He previously worked as a Principal Inventive Scientist in AI +and Data Science at AT&T Labs conducting research on recommender systems, customer segmentation, identity for +cross-device advertising, and location analytics. Raif has a PhD in Applied and Computational Mathematics from Princeton +University and has taught at Purdue and Drew Universities, as well as worked as a research associate at Stanford +University. + +#### Abstract -## **Presentation Abstracts** +Video creatives play a crucial role in shaping consumer experiences and brand perceptions, but quantifying their impact +on shopper experience remains a complex challenge. In this talk, we introduce the Creative Optimality Gap (COG), +a metric developed to assess the relative optimality of video creatives using causal-inferential machine learning +methodology. Our main contributions include the development of the COG metric through the use of conditional individual +treatment effects projected on interpretable video features, the introduction of a meta-learner for its computation, +and the incorporation of model uncertainty to avoid false positives. Our work advances the understanding of video +creative effectiveness and provides a valuable tool for optimizing ad performance. -### Introduction to Causal Inference +### Ruomeng Cui, Emory University -We will give an overview of basic concepts in causal inference. A quick refresher on the main tools and terminology of causal inference: correlation vs causation, average, conditional, and individual treatment effects, causal inference via randomization, Causal inference using instrumental variables, Causal inference via unconfoundedness. +#### Title: The Value of Last-Mile Delivery in Online Retail -### Introduction to CasualML +#### Bio -We will provide an overview of CausalML, an open source Python package that provides a suite of uplift modeling and causal inference methods using machine learning algorithms based on recent research. We will introduce the main components of CausalML: (1) inference with causal machine learning algorithms (e.g. meta-learners, uplift trees, CEVAE, dragonnet), (2) validation/analysis methods (e.g. synthetic data generation, AUUC, sensitivity analysis, interpretability), (3) optimization methods (e.g. policy optimization, value optimization, unit selection). +Ruomeng Cui is an Associate Professor of Operations Management at the Goizueta Business School, Emory University (on leave). She currently is a full-time Amazon Visiting Academic at Amazon, working in the supply chain domain. Her research focuses on causal inference, machine learning and data-driven modeling, with applications in retail, supply chains, and platforms. She currently serves as an associate editor for Manufacturing & Service Operations Management and Production and Operations Management. She received her Ph.D. in Operations Management from the Kellogg School of Management, Northwestern University and B.Sc in Industrial Engineering from Tsinghua University. -### Case #1: Causal Impact Analysis with Observational Data at Uber +#### Abstract -As an introductory case study for using causal inference, we will cover the use case of understanding the causal impact from observational data in the context of cross sell at Uber. We emphasize that simple comparisons of users who make cross purchase or not will produce biased estimates and that can be demonstrated in the causal inference framework. We show the use of different causal estimation methodologies through propensity score matching and meta learners to estimate the causal impact. In addition, we will use sensitivity analysis to show the robustness of the estimates. +Last-mile delivery has become increasingly important in the online retail industry. In this study, we study the economic +value of last-mile delivery. To do so, we conducted a quasi-experiment in collaboration with Cainiao, Alibaba's +logistics subsidiary, where home delivery was launched at some pickup stations in 2021. This allowed us to +comprehensively evaluate the causal impact of last-mile delivery. Using a difference-in-differences identification +method, we found that last-mile delivery significantly increases sales and customer spending on the retail platform. To +optimally prioritize limited delivery capacity, we employed causal machine learning to target the most responsive +customers. Our findings suggest that online retailers should carefully weigh the costs and benefits of last-mile +delivery and tailor their logistic strategies accordingly. -### Case #2: Targeting Optimization: Bidder at Uber +### Ang Li, University of California, Los Angeles -We will introduce the audience selection method with uplift modeling in online RTB, which aims to estimate heterogeneous treatment effects for advertising. It has been studied to provide a superior return on investment by selecting the most incremental users for a specific campaign. To examine the effectiveness of uplift modeling in the context of real-time bidding, we conducted the comparative analysis of four different meta-learners on real campaign data. We adapted an explore-exploit set up for offline training and online evaluation. We will also introduce how we use Targeted Maximum Likelihood Estimation (TMLE) based Average Treatment Effect (ATE) as ground truth for evaluation. +#### Title: Unit Selection Based on Counterfactual Logic -### Introduction to EconML +#### Bio -We will provide an overview of recent methodologies that combine machine learning with causal inference and the significant statistical power that machine learning brings to causal inference estimation methods. We will outline the structure and capabilities of the EconML package and describe some of the key causal machine learning methodologies that are implemented (e.g. double machine learning, causal forests, deepiv, doubly robust learning, dynamic double machine learning). We will also outline approaches to confidence interval construction (e.g. bootstrap, bootstrap-of-little-bags, debiased lasso), interpretability (shap values, tree interpreters) and policy learning (doubly robust policy learning). +Dr. Li is set to join the Florida State University Department of Computer Science as an assistant professor in August. +He is currently a post-doctoral researcher in the Department of Computer Science at UCLA under the guidance of Prof. +Judea Pearl. His primary research area is causal inference, artificial intelligence, and causality-based +decision-making, with a focus on building causal models that estimate treatment effects (interventions) and evaluating +what would have happened if an individual had taken a treatment (counterfactuals). He is also interested in +decision-making modeling using knowledge of treatment effects and counterfactuals. Prior to his post-doc, Dr. Li +obtained his Ph.D. at UCLA with Prof. Judea Pearl and his M.S. degree at the University of Minnesota Twin Cities. -### Case #3: Customer Segmentation at TripAdvisor with Recommendation A/B Tests +#### Abstract -We examine the scenario in which we wish to learn heterogeneous treatment effects (CATE), but observational data is biased and direct experimental data (e.g. A/B test) is plagued by imperfect compliance. In this setup, TripAdvisor would like to know whether joining a membership program compels users to spend more time engaging with the website and purchasing more products. The usual approach, a direct A/B test, is infeasible: the website cannot force users to comply and become members, hence the imperfect compliance that can bias calculations. The solution is to use an alternative A/B test that was originally designed to measure whether an easier sign-up process would promote user membership. This A/B test plays the role of an instrument that nudges users to sign up for membership. We introduce EconML’s IntentToTreatDRIV estimator which can leverage this repurposed A/B test to both learn the effect of membership on user engagement and understand how these effects vary with customer features. We show how this novel methodology led to extracting key business insights and helped TripAdvisor understand and differentiate how customers engage with their platform. +The unit selection problem aims to identify a set of individuals who are most likely to +exhibit a desired mode of behavior, which is defined in counterfactual terms. A typical +example is that of selecting individuals who would respond one way if encouraged and a +different way if not encouraged. Unlike previous works on this problem, which rely on ad-hoc +heuristics, we approach this problem formally, using counterfactual logic, to properly capture +the nature of the desired behavior. This formalism enables us to derive an informative +selection criterion which integrates experimental and observational data. We show that a +more accurate selection criterion can be achieved when structural information is available +in the form of a causal diagram. We further discuss data availability issue regarding the +derivation of the selection criterion without the observational or experimental data. We +demonstrate the superiority of this criterion over A/B-test-based approaches. -### Case #4: Long-Term Return-on-Investment at Microsoft via Short-Term Proxies +### Vasilis Syrgkanis, Stanford University/EconML -In this case study, we talk about using observational data to measure the long term Return-on-Investment of some types of dollar value investments Microsoft gives to the enterprise customers. There are many challenges for this setting, for instance, we don't have enough period of data to identify a long term ROI, we should control the effect coming from the future investment and we are in a high dimensional data space. We then propose a surrogate based approach assuming the long-term effect is channeled through some short-term proxies and employ a dynamic adjustment to the surrogate model in order to get rid of the effect from future investment, finally apply double machine learning (DML) techniques to estimate the ROI. We apply this methodology to answer the questions like what is the average long-run ROI on each type of the investment? What types of customers have a higher ROI to a specific investment? And how different incentives impact the different solution areas. Finally we will showcase how you could use EconML to solve similar problems by only a few lines of code. +#### Title: Towards Automating the Causal Machine Learning Pipeline +#### Bio -## **Tutors** +Vasilis Syrgkanis is an Assistant Professor in Management Science and Engineering and (by courtesy) in Computer Science, +in the School of Engineering at Stanford University. His research interests are in the areas of machine learning, causal +inference, econometrics, online and reinforcement learning, game theory/mechanism design and algorithm design. Until +August 2022, he was a Principal Researcher at Microsoft Research, New England, where he was a member of the EconCS and +StatsML groups. During his time at Microsoft, he co-led the project on Automated Learning and Intelligence for Causation +and Economics (ALICE) and was a co-founder of EconML, an open-source python package for causal machine learning. He +received his Ph.D. in Computer Science from Cornell University. + +#### Abstract -### Presenters +## **Accepted Papers** -* Jing Pan, Uber, CausalML -* Yifeng Wu, Uber, CausalML -* Huigang Chen, Facebook, CausalML -* Totte Harinen, Toyota Research Institute, CausalML -* Paul Lo, Uber, CausalML -* Greg Lewis, Microsoft Research, EconML -* Vasilis Syrgkanis, Microsoft Research, EconML -* Miruna Oprescu, Microsoft Research, EconML -* Maggie Hei, Microsoft Research, EconML +### For Oral Presentation +1. Leveraging Causal Uplift Modeling for Budget Constrained Benefits Allocation, Dmitri Goldenberg (Booking.com)*; Javier Albert (Booking.com) +2. Ensemble Method for Estimating Individualized Treatment Effects, Kevin Wu Han (Stanford University)*; Han Wu (Stanford University) +3. A Scalable and Debiased Approach to Dynamic Pricing with Causal Machine Learning and Optimization, Nicolò Cosimo Albanese (AWS)*; Fabian Furrer (AWS); Marco Guerriero (AWS) +4. An IPW-based Unbiased Ranking Metric in Two-sided Markets, Keisho Oh (Recruit Co., Ltd.)*; Naoki Nishimura (Recruit Co., Ltd.); Minje Sung (Tokyo Institute of Technology); Ken Kobayashi (Tokyo Institute of Technology); Kazuhide Nakata (Department of Industrial Engineering and Economics, Tokyo Institute of Technology.) +5. Power and Pre-treatment Fit: Optimizing Synthetic Control Method for Quasi-experiments, Ali O Polat (Shipt Inc.)* +6. Dynamic Causal Structure Discovery and Causal Effect Estimation, Jianian Wang (North Carolina State Unicersity)*; Rui Song (North Carolina State Unicersity) +7. Hierarchical Clustering As a Novel Solution to the Notorious Multicollinearity Problem in Observational Causal Inference, Yufei Wu (Airbnb)*; Zhiying Gu (Airbnb); Alex Deng (Airbnb); Jacob Zhu (Airbnb) + +### For Poster Presentation +8. Community Detection-Enhanced Causal Structural Learning, Yuhe Gao (North Carolina State University)*; Hengrui Cai (University of California Irvine); Sheng Zhang (North Carolina State University); Rui Song (North Carolina State University) +9. ACE: Active Learning for Causal Inference with Expensive Experiments, Difan Song (Georgia Institute of Technology)*; Simon Mak (Duke University); C.F. Jeff Wu (Georgia Institute of Technology) +10. Extracting Causal Insights from Microsoft Feedback Hub using LLMs and In-context Learning, Sara Abdali (University of California, Riverside )*; Anjali Parikh (Microsoft); Steve Lim (Microsoft) +11. Evaluate the Impact of Similar Products Ad Group Recommendations with Causal Inference, Jamie Chen (Amazon)*; Zuqi Shang (AmaOn); Raif Rustamov (Amazon) +12. Machine Learning based Framework for Robust Price-Sensitivity Estimation with Application to Airline Pricing, Shahin Boluki (Pros Inc)*; Ravi Kumar (PROS) +13. OpportunityFinder: A Framework for Automated Causal Inference, Huy Nguyen (Amazon)*; Prince Grover (Amazon); Devashish Khatwani (Amazon) + + +## **Organizers** -### Contributors +* Chu Wang, Amazon +* Yingfei Wang, University of Washington +* Xinwei Ma, UC San Diego +* [Zeyu Zheng](mailto:zyzheng@berkeley.edu), UC Berkeley, Amazon - main contact -* Jeong-Yoon Lee, Netflix Research, CausalML +### [CausalML](https://github.com/uber/causalml) Team + +* Jing Pan, Snap, CausalML +* Yifeng Wu, Uber, CausalML +* Huigang Chen, Meta, CausalML +* Totte Harinen, AirBnB, CausalML +* Paul Lo, Snap, CausalML +* [Jeong-Yoon Lee](mailto:jeong@uber.com), Uber, CausalML - main contact * Zhenyu Zhao, Tencent, CausalML -* Keith Battocchi, Microsoft Research, EconML -* Eleanor Dillon, Microsoft Research, EconML +### [EconML](https://github.com/py-why/EconML) Team -## **References** - -1. Künzel, Sören R., et al. "Metalearners for estimating heterogeneous treatment effects using machine learning." Proceedings of the national academy of sciences 116.10 (2019): 4156-4165. ([paper](https://www.pnas.org/content/pnas/116/10/4156.full.pdf)) -2. Chernozhukov, Victor, et al. "Double/debiased/neyman machine learning of treatment effects." American Economic Review 107.5 (2017): 261-65. ([paper](https://arxiv.org/pdf/1701.08687)) -3. Nie, Xinkun, and Stefan Wager. "Quasi-oracle estimation of heterogeneous treatment effects." arXiv preprint arXiv:1712.04912 (2017) ([paper](https://arxiv.org/pdf/1712.04912)) -4. Tso, Fung Po, et al. "DragonNet: a robust mobile internet service system for long-distance trains." IEEE transactions on mobile computing 12.11 (2013): 2206-2218. ([paper](https://eprints.gla.ac.uk/56409/1/56409.pdf)) -5. Louizos, Christos, et al. "Causal effect inference with deep latent-variable models." arXiv preprint arXiv:1705.08821 (2017) ([paper](https://arxiv.org/pdf/1705.08821)) -6. Wager, Stefan, and Susan Athey. "Estimation and inference of heterogeneous treatment effects using random forests." Journal of the American Statistical Association 113.523 (2018): 1228-1242. ([paper](https://www.tandfonline.com/doi/pdf/10.1080/01621459.2017.1319839)) -7. Oprescu, Miruna, et al. "EconML: A Machine Learning Library for Estimating Heterogeneous Treatment Effects." ([repo](https://github.com/microsoft/EconML)) -8. Chen, Huigang, et al. "Causalml: Python package for causal machine learning." arXiv preprint arXiv:2002.11631 (2020) ([repo](https://github.com/uber/causalml)) -9. Yao, Liuyi, et al. "A survey on causal inference." arXiv preprint arXiv:2002.02770 (2020). ([paper](https://arxiv.org/pdf/2002.02770.pdf)) -10. Goldenberg, Dmitri, et al. "Personalization in Practice: Methods and Applications." Proceedings of the 14th ACM International Conference on Web Search and Data Mining. 2021 ([paper](https://drive.google.com/drive/folders/1c_khoTDRbkoRY5OiaxEfUxRQkyNv3FeK)) -11. Blackwell, Matthew. "A selection bias approach to sensitivity analysis for causal effects." Political Analysis 22.2 (2014): 169-182. ([paper](https://www.cambridge.org/core/journals/political-analysis/article/selection-bias-approach-to-sensitivity-analysis-for-causal-effects/788C169FAF5482452566811136D4F9B4)) -12. Athey, Susan, and Stefan Wager. "Efficient policy learning." arXiv preprint arXiv:1702.02896 (2017). ([paper](https://arxiv.org/pdf/1702.02896.pdf)) -13. Sharma, Amit, and Emre Kiciman. "Causal Inference and Counterfactual Reasoning." Proceedings of the 7th ACM IKDD CoDS and 25th COMAD. 2020. 369-370. ([paper](https://dl.acm.org/doi/abs/10.1145/3371158.3371231)) -14. Li, Ang, and Judea Pearl. "Unit selection based on counterfactual logic." Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence. 2019 ([paper](https://par.nsf.gov/biblio/10180278)) -15. Kennedy, Edward H. "Optimal doubly robust estimation of heterogeneous causal effects." arXiv preprint arXiv:2004.14497 (2020) ([paper](https://arxiv.org/pdf/2004.14497.pdf)) -16. Gruber, Susan, and Mark J. Van Der Laan. "Targeted maximum likelihood estimation: A gentle introduction." (2009) ([paper](https://biostats.bepress.com/cgi/viewcontent.cgi?article=1255&context=ucbbiostat)) -17. D. Foster, V. Syrgkanis. Orthogonal Statistical Learning. Proceedings of the 32nd Annual Conference on Learning Theory (COLT), 2019 ([paper](https://arxiv.org/pdf/1901.09036.pdf)) -18. V. Syrgkanis, V. Lei, M. Oprescu, M. Hei, K. Battocchi, G. Lewis. Machine Learning Estimation of Heterogeneous Treatment Effects with Instruments. Proceedings of the 33rd Conference on Neural Information Processing Systems (NeurIPS), 2019 ([paper](https://arxiv.org/pdf/1905.10176.pdf)) -19. M. Oprescu, V. Syrgkanis and Z. S. Wu. Orthogonal Random Forest for Causal Inference. Proceedings of the 36th International Conference on Machine Learning (ICML), 2019 ([paper](http://proceedings.mlr.press/v97/oprescu19a/oprescu19a.pdf)) -20. Jason Hartford, Greg Lewis, Kevin Leyton-Brown, and Matt Taddy. Deep IV: A flexible approach for counterfactual prediction. Proceedings of the 34th International Conference on Machine Learning, ICML'17, 2017 ([paper](http://proceedings.mlr.press/v70/hartford17a/hartford17a.pdf)) -21. Battocchi, K., Dillon, E., Hei, M., Lewis, G., Oprescu, M., & Syrgkanis, V. (2021). Estimating the Long-Term Effects of Novel Treatments. arXiv preprint arXiv:2103.08390. ([paper](https://arxiv.org/pdf/2103.08390.pdf)) -22. Lewis, G., & Syrgkanis, V. (2020). Double/Debiased Machine Learning for Dynamic Treatment Effects. arXiv preprint arXiv:2002.07285. ([paper](https://arxiv.org/pdf/2002.07285.pdf)) +* Fabio Vera, Microsoft Research, EconML +* Eleanor Dillon, Microsoft Research, EconML +* Keith Battocchi, Microsoft Research, EconML diff --git a/notebooks/kdd_intro_to_EconML.ipynb b/notebooks/kdd_intro_to_EconML.ipynb deleted file mode 100644 index 91746dd..0000000 --- a/notebooks/kdd_intro_to_EconML.ipynb +++ /dev/null @@ -1,3473 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.5" - }, - "colab": { - "name": "kdd_intro_to_EconML.ipynb", - "provenance": [], - "collapsed_sections": [], - "include_colab_link": true - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "d_YD-YF59idL" - }, - "source": [ - "![EconML-Logo-MSFT-color.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcMAAABmCAYAAAC3IPo3AAAACXBIWXMAAAsSAAALEgHS3X78AAATYklEQVR4nO2d7Y8jyV3Hf+3Mi7l3vsALXiDOG4W7nEJuPUjwhhfrSe4hvDqPkECBkLVfEN4AO5Po0JEomhnEoQsBPHs8RIQX9vIPrO8VhBCN51BAJJD1ggRSRLKdQCBc7nZ7XyTa5Ha7UHmr9vr6qtrV7ipXtfv7kUp3mh3b1banvv17jqgGpAl1iBaLk7TaNK/DvgEAAIBKpAn10oTGaUK30oSYYl1NExrgXQYAAFCV4CzD9Ba1iegqEfUMHxIT0bD1MM0cbw0AAMCG0grpstKb1CWiGyWEkIT79DS9SfsOtwYAAGCDCcYyFEJ4SrSwDFdl2HonTfxeCQAAgLoRhBimry8E8FomSaYKu60fgcsUAACAOaG4SfctCSFnbOl5AAAANIQwLMPX6FZF92ievdaP0tTi8wEAANhgvFuG6XepT4zaxIgsroub/KEBAACwi383KaMLDp6zTDYqAACAhrMVwOV3FxahXWy6XAEAAGw4/sXQvhA64S+TbWltxr/WvhPXY9cAAABMgBhq+Nyt7Q5FdImI+lEu0/VzyXZCRDNi9PJHH76DukYAAKg53rNJ0+8sCu2tx/haP7batf3FrW3uYh0RGfc9XbSD+/WH76C2EQAAakoICTRu1gp89uZ2N2V0jTEaMEZkuDqM0elnb26jaTgAANQUiKHgz17f7nJR4+KWMqKyizEa//nrEEQAAKgjEEO5DUZjxqhdwiJUrfGfvraNsg4AAKgZIZRWeOel724fMUZdG7k87H68cafmbwkAADQKWIYLqzC6lLKIbCzGou7lVx/qu3q7AAAA2KfxpRWj/3uonzLrRfq8HRx6owIAQE1ovBhy96j153RQKgIAAMAdjRfD1EVvVLSDAwCAWhHKPENvrFJGYbI+/T8PWbc4AQAAuKHQMmR/8vM8EeRZMXi3Kywe3mmFtyM7I6JJ9Jt/nVTamX/L0BWwDgEAoCYoxTB96YODiOiQGFNNn5fxMC6UI/bSB08Y0XHrt/5mNVHcXDEEAABQE94ihunlZ7g1MyZG/RIasU/E+unlZ/Zalz4/L33ZEEMAAACeeRAzTE+e5tPmT7kQlm+9Qh3+2PTk6fJxMs91hq5ihhBZAACoDw/E8H47MtZljNGKi7cyO703erpWsTJbxfaqBQAAoB4s3KT3/vgpbg3a6Joixx8NjR8BNykAAADPLCxDxtiogkWYX4O7f/SkKvFGjW83aepuAQAAqAdbd//wA11N1mgV+IT4A2Mx9AgsQwAAAFvMjns0j3k7MoghAAAAz2wRYy7akZlnlUIMAQAAeGaL+VYDiCEAAADPbPkWI9+EKobn//saj+P2I94OL4re6nZmLOZt8RjRles/vjOr+FKnpdza4YEaFrBOVH8vfFzb3oZ9CtcUHr5jIjoyfLzqZN0V7TyDhMcM/e7Lt2UYWNbn+W99tU0R7RNjhyTfnrd/RlwoB3yd/6+vzojRwfWf+Ony3X8AADboi7UpM0xHpUJdG0KrfLcZw2WK9w404RTdP/HNf24zYqeMscMSpSw9RuzaE9/6l0GTvrgABMZ4Q5rz9+632Gwe3i3DyFmnFrPrCsVN+r74K21ijLfDW/WObPxE/BX6187PTCxvDQCwnLYQxDq7S+U1NBIk0IQSM2TsKlu4JiptaPy+b3x5/m/v+tmqLtNYLACAOXV3lx6KEEwj2Srl0nSB55e/F4AY/tTX/2nAUmYriWUkAtVVuFIiUA4AeJNxZuZrnWise1TSstiG7S3LGLRjI8bSQ8ZSsrR67/3Pf6xzdigAdaaOrsZGu0cl/hNoPON7hNN7v/YPPUpZx/KLX6zNBwDA5tGvmZXVaPeoBDFD35fPrLlHs8/aLzU5BABgm0MROww99l434XbGFjHPhXYQQxft8DYhxRuAujBTFOJL12PV+L1LdO7RRKxGWYuIGaaRs2W4ASfr8X9/BXFDANYD78yiyuAOPSlFVxt53MRs8sa7SX1nk3rvAAQAsMFQtDDLE6q7VJaB5OFW7gnxNpANo/GlFd7vBTAFGIBNYC4sqsPctYToLi1yjzY21wC9SWEZAgDswGtzLyjih9JdehLI+6xzjw6b3Gxjy78a+H1574YZLEMANgnpLs2LzUi4IH031Ne5R6cb1Gh8JWAZwjIEANgjFu7SkeIZuUW24/G97sA9qse/GHoGCTQAAMvIBJS8u7QrXKm+Wh0WuUfr1j7OOkig8a1FcJOGRE+sC+IuuqjOaiasgLPM//ukLw7bOu5dR1dcl+k1zTPX5Ptw59MrbijER2aXrttduq8Z4n3SdPeopPGlFcb1gI6AZegdfuBeEodumWYF8mCRcyT54XZZHCzrOoj5Hi4GvPeemAyfZbYks7ItDu6LJYu+e7m6voloOO9rsrp0PV5V/Nu63aUdRZYrZVy6jYcw3Nd/b1J+M+JqgULkQX1NiELVrj1dccjdEG4wl12A5N5Pa7j3IvpiDzZ6ZQ4y75GvTiq6pJTuml2lcI8a0PJ+EHsWQx4zdLWMLt/etIq3LaBE1lidatxGVWmLw/yGJmuvCp3MAe967wOD37f5umNhRdkW4p644fHVCUYnOIeOPsM8Re5RX1ZzkCCb1HtpBSy4NdIrceAmmbgO/+9tEbsig/gVide4KiwDG3fg++IArbr3rsFzSHF6dg3WQ1uIe7fgd2JxHdcV//aIeGzR49siu/O8h6zJRMQP8+5iyrhLXb2/Ovcofy8PHL1mbUGjbmSTNoV9Tbp7lrmIM5m0z2oLy+/ZJRagTGzZWzFpQh7kyyw1vueXDRNiOuLGwGTvPRHjc5HwUSSEsfgsJoYJPvLzuFhgccn3cN2CKFuc5a1TKVauhEl349f4MgoVjXeT+o8Zps4WeMB4iRDyA/ecuEs/MTx8E/G4PfHYScHvdgysHxXtTFxw2d73SghHnNv7cYF1Ivdg2+WrE0KZeHJOxNVMM13l57Erlu5xA4ObIhfoml/r3JhVOdJ833RNxRtPCFMr5g7E0Njt4D9m6Ob9h8X5gHGBmMzFwVm1DVUsnmOn4KBpZ5J1TFjmPpwJwbCx9yPxXLoUe+nytSmIVxXXNjW4sTBhJj4L3fO4EqAiigrbdQkuq9ItcI/6qnEMnhCySa87EEPjwPCmjnBC/eKCowLxOREHps0kgnnGutRRJM5ZVGJBmUO1yPpZBRnb2iuwEscrWLcqjhRidLDktcsi3yedINoWIBNmmlIGXWxvVXRdZvbWerU1w7+blN8NckvOrhi+bPri3t2ksAxd0S84YIaOEwgOKiaejDSWSyJEsKrlVMS0IEYordUqIqI6+IcOm1gPNRZvx1OG6ZHmvbVlrRa5RxvbhNsE75Zh1GOJKPi1RRztMuPDAnWGG4luRA0tsRZsIuNXeUFc9vp9zSGdOExkyTNfIoiqQnJT8lm4J2v4PHQ3Jpccv64Onbu0ammJzj06C2hiRrCEYBlyS+6EGMWWrMJSmVL3UnfL6NJRZ+gCnQvsYE1CKMmLyjIhLJozty4hzL6mzm3Zs1SHuK4U/0TzOu0111NK5hp3adFNnAlowl0B/wk03Dp8P+Nu0j0L7tKT6P2sVAzIt2XozDJvrpu0VzCixsfdsRTEPQMh1tURHnjKAIwL4kwjCzG3dR7SukxbXxPdjzTxat2IpWWMNO7RRs8oLIP/OkNB9AE2Z38X7VVwFUyiJ1npu0zvdYZhujMf8ZBtZ0JiIAoh3h0nBs2QdTGs6Zqt2Tyzggnu+xWyEyceBP5Y8f2wXTJSBt3sw3HJZuO9gu8OmnAb4r9Rd4boSTZjX4h2CxIIVCwOuugpttKHburOdEWg7syBJ/fRMpY1ee5rOsMc1KAHoyrWo3PvrZsjTePsS8LaXuW9tZknYMpUc7PU89SaTDf7ULpLTbI/i1zrcI+WIAg3aZboKTaPnmK7wm06LXCJ8vrEA2J0blUhpBDcpN43sFGoEiJiz5aVCbrY1eWAXFy6GNcqltXck9tX51mwUS6yKroeoabuUl1TczThLslWqIdm9DR7YOKzz0d5K3EePcOsfNAp8z3CCfWAluhovAl1GFGjs8JDEvGJ5uC9tMI+jUufHDBTiJ+vKR0S3ezDZe5SnXsUMwpXoBaT7qNnyiXFlMGVm/Rrv3DbaM8YtWQN1V10UgOrkIQLMo9pa7V1clnh0usKgSyzV5/TEr6p+Nl5D/vIopt9KMtYVKEBnXsUMwpXJKiYoQ9StnCb+EsWCfNmZCYmhodG0YGrygqsw91xW+Om82k96Zhq+nr2St50+BRDXe2kb6QnLH9TJ62/fCY03KOW2WpwCv6ClCnHwlTF+BAO1E16VsMehqobmhAFJY/uRixEIZejlPLifaGEGOKg1jMU34e8OB/mJqnoGjNgRmEFWk0v+E4ZTe+llNgsvk9T80MYHWisoBOUOhwMKqsw5H2rvttlElAwMUGPrn9o1iWqc49iRmFFwuhA45H4F28nKaOJxSTOOP6l28YuI/QmtYLKXRTXxAq5oPhZyIIRWjbmpqFrnSbdpbruSiijqEjj3aR03zo8Fhl9NmIH5e7OMF3CBjoxrCu3A9530dxDuEDtcKypmdV1KMKMQgs03jLkfPtDC+tw14KLdPLtD90uFeuBZeiMuohh3dykur3BOrSHrmBeJYSYUWiJ4IruffG/v3x7nrJomLIo4bWHK6zJd37ldmlXBSbdW0HlalSl0IdICJmMIDx0sw+zYEahRVrofvImr3444bHDXV5uUeJSuVV58OqHk9V89mjUDQBQo5t9KMGMQotsoQPKW3ntV5PFtPJ3/lV7wNiiGFqXqRhHEV3hwe6bH0lWjpXAnQkAKEA2886DGYWWaXzRvY6bH0l4RuikPWmriqLjZJBYuSNrmDvTFarGCb67ipiSKFylcJ0CyVwxNQRNuB2AbNIlJIOF1ecsoQE3I1ZQZV/WRVBUQt4NuHtOnWs668qRiIvL9x4zCh3ALUMXbypSrA2Bm9oKqu9bnbMbHwlgDzpgtfpBuktnaMLtBt6o+8zB7DrcJZoCy9AGun6TZRtI++BMYxmGSt1KQTaFWDTshkXoiBYxNl0UfttddegJGQSoM7SC7jAOcVp/Hl1HF1UjgRBQNURHwfd6mMPr5o7Wu//2ewljbGLxEI7f/YXv12FsThBADK2hOpBVB3do1EnIdRM2QpxwAkApWotfZuyAMZZYOoTRLLYM9q3yN1ezUHkjVC2tQkM3fV01td83unAK3KSg9izE8Ce/eCehlA0tFNtPHv3iHQR3SwDL0Bo6b0SIopLniuJn3QCtQ9V7OYHrDmwCLXkNj57+YMoYG1Y4fCePnv4AtS8lQTs2a8QaC8VWA3aX6G4gD9fz8kYMNFa2SsgBqB2t7IYfm/1wQinbYWkalzh0uVV58NjshxDCFYBlaBXVwdzWTGcPiVhj2fYCsg5Vwqy7AQGgdrTyG37slTfm73nl7jliNCTG5gW9LxNi7IQY7Tz2yhtoC7QqiBnaZKJJPR/UILNU15RZN79unRxprMJljaQBqA1buo2+5+/vLtqR/cfPtTriD6Er/ih5sD9+/Esp0qkt0FALziU8geuq4vm5qOx4jG+NRJKPzpKS1mE+SaUjHuvL89LVWIWzgjgtALVDK4aSx7+UxnCHuMOVGEbNrf2aiu9q3hLsCJHc9bCnsRC5fSFqOhE5EBmweUtwIMoX1i0+fB+nmn9D1jjYKN7mJgVrJk3nLlykd37jU03O8BtqLMCeEKZ10c4IoWQsRFFFUQPm/PO4RgohJquDRgAx9Axj7LqD5JmmW/FxgagMhIXoOg7XEWKiErCLBY+bFliA6xLErti7rvUaJquDjQNi6BnG2JRPrrC80A7vvqjoEjz6BYe9DfqiqbLq+ecGrtphgeU1dpxUU/TezDFZHWwqEEPPvLF/nDCWTvj0CkuLZ/kiseE+RwVWVlcI1pFFYZFxSZ3lKYXQxIW9WyCIA7H3fsX9Zlm290QIIQrswUYCMQwB3sLufqmKroylzDp+42O/iwPrTYZLJoLzTMkbFUWxIx5fJFBlhJDE7xUJohQvnSvWlI6wNG8s2fsOJiaATWZpNilwz92P/17yjs98cqgpCSjD5N5zL9io+bwohonWgSsGWZY88/F6QfJMW4jioXiuMxEbKzr8u2I9a2ChTVYsjZCCOCoQPFmYP8rtvUh0Zau3iwau4hksQmCJUcDfoysQw0C499wL09YffGJIxFbNdpwSRbbS3Ts1aHAtMZ2YMBEWztUl1zbICU8+GUk3uUFFIoS4ittaZpieicNEZ722RZbqfuZxeauy7Od6jGQZYJGQ53SeQQwDIv3t35+0Xnw+FhZMqUMrff5FHFrLke6+/RJ9P1ftXDMTImbLtTgRzzkyjBW2K+79AOUToEkgZhgY6fMvzhhjO2wxViuNC5JqROINOwchLEUirJ1zjorYY+FWdDGVPPvcLspn5pnnhxCCRgHLMEDY73w6EUkfJ/TCc51MfIoeuL8++Rlbh2HdD71VBUfWIh4It6hJ/KyIqYhfrmOE2Uysrth3lckcSWbvtgU2UTyn7+9b1T2pfncT46mq6yzzt1a3Wuc4CmATAIRCR7gWzwuh0cXY5B/6mTg0liWsrINuZu/ZXsJZZBwxEQlFM7RZBICIiOj/AayEx8W1UsTcAAAAAElFTkSuQmCC)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "jYAHRpIF-BRW" - }, - "source": [ - "# **KDD2021 Tutorial:** [Causal Inference and Machine Learning in Practice with EconML and CausalML: Industrial Use Cases at Microsoft, TripAdvisor, Uber](https://causal-machine-learning.github.io/kdd2021-tutorial/)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "AYlHqLQf-PjP" - }, - "source": [ - "# Introduction to [EconML](https://github.com/microsoft/EconML)\n", - "\n", - "A python library for estimation of heterogeneous treatment effects with Machine Learning.\n", - "\n", - "**Presentation:** [Introduction to EconML](https://drive.google.com/file/d/1gt4KNznrYbwdryi9jGcC0-hDCNg7mBNE/view?usp=sharing)\n", - "\n", - "**Github:** https://github.com/microsoft/EconML\n", - "\n", - "**Documentation:** https://econml.azurewebsites.net/\n", - "\n", - "By the Microsoft Research project [ALICE (Automated Learning and Intelligence for Causation and Economics)](https://www.microsoft.com/en-us/research/project/alice/)" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "cEqRBSJV9dTX" - }, - "source": [ - "#!pip install econml" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "yPw9zWWm3H9e" - }, - "source": [ - "!pip install git+https://github.com/microsoft/EconML.git@mehei/driv#egg=econml" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "PKxsq0Mv9cGD" - }, - "source": [ - "import numpy as np\n", - "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", - "from sklearn.linear_model import LassoCV, Lasso\n", - "from sklearn.preprocessing import PolynomialFeatures\n", - "from sklearn.model_selection import train_test_split\n", - "import matplotlib.pyplot as plt\n", - "import scipy\n", - "import warnings\n", - "warnings.simplefilter('ignore')" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "WNvGZiKF9cGG" - }, - "source": [ - "def gen_data(n, discrete=False):\n", - " X = np.random.normal(0, 1, size=(n, 2))\n", - " W = np.random.normal(0, 1, size=(n, 2))\n", - " if discrete:\n", - " T = np.random.binomial(1, scipy.special.expit(W[:, 0]))\n", - " else:\n", - " T = W[:, 0] + np.random.normal(0, 1, size=(n,))\n", - " y = (X[:, 0] + 1) * T + W[:, 0] + np.random.normal(0, 1, size=(n,))\n", - " return y, T, X, W\n", - "\n", - "def gen_data_iv(n):\n", - " X = np.random.normal(0, 1, size=(n, 2))\n", - " W = np.random.normal(0, 1, size=(n, 2))\n", - " U = np.random.normal(0, 1, size=(n,))\n", - " Z = np.random.normal(0, 1, size=(n,))\n", - " T = Z + W[:, 0] + U\n", - " y = (X[:, 0] + 1) * T + W[:, 0] + U\n", - " return y, T, Z, X, W" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "7xzAqDMb9cGH" - }, - "source": [ - "# 1. Estimation under Exogeneity" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "TuRauvKA9cGH" - }, - "source": [ - "y, T, X, W = gen_data(1000)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "nHhjI8Kb9cGI", - "outputId": "059fd233-bd8e-4de3-fa61-1a042b381aba" - }, - "source": [ - "from econml.dml import NonParamDML\n", - "\n", - "est = NonParamDML(model_y=RandomForestRegressor(), # Any ML model for E[Y|X,W]\n", - " model_t=RandomForestRegressor(), # Any ML model for E[T|X,W]\n", - " model_final=RandomForestRegressor(max_depth=2), # Any ML model for CATE\n", - " discrete_treatment=False, # categorical or continuous treatment\n", - " cv=2, # number of crossfit folds\n", - " mc_iters=1) # repetitions of cross-fitting for stability\n", - "\n", - "est.fit(y, T, X=X, W=W, cache_values=True) # fit the CATE model" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 6 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Gc4fpcMr9cGJ" - }, - "source": [ - "#### Personalized effect estimates on test samples" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "9rqqLxnt9cGJ", - "outputId": "cd71c483-e9e1-48f8-fab7-e8534777a008" - }, - "source": [ - "# personalized effect for each sample from going from treatment 0 to treatment level 1\n", - "est.effect(X[:5], T0=0, T1=1)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "array([ 1.54592291, 0.87946172, -0.47128723, 0.81285758, 3.1442986 ])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 7 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "qC23J2R09cGJ" - }, - "source": [ - "#### ML model diagnostics" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "yE2v-YzX9cGK", - "outputId": "6d074083-9a40-4222-d7bb-f2d158fc2df0" - }, - "source": [ - "# fitted nuisance models for each cross-fitting fold and out-of-sample scores\n", - "est.models_y, est.nuisance_scores_y" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "([[RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", - " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", - " max_samples=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " n_estimators=100, n_jobs=None, oob_score=False,\n", - " random_state=None, verbose=0, warm_start=False),\n", - " RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", - " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", - " max_samples=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " n_estimators=100, n_jobs=None, oob_score=False,\n", - " random_state=None, verbose=0, warm_start=False)]],\n", - " [[0.5409335662361056, 0.48599679070328405]])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 8 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "JXOd9Rfa9cGK", - "outputId": "dfbebf0a-19e9-4f15-9182-e22318015360" - }, - "source": [ - "est.models_t, est.nuisance_scores_t" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "([[RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", - " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", - " max_samples=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " n_estimators=100, n_jobs=None, oob_score=False,\n", - " random_state=None, verbose=0, warm_start=False),\n", - " RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", - " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", - " max_samples=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " n_estimators=100, n_jobs=None, oob_score=False,\n", - " random_state=None, verbose=0, warm_start=False)]],\n", - " [[0.4282760371961908, 0.3782367983417111]])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 9 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "CLbqvUvr9cGK" - }, - "source": [ - "#### CATE model diagnostics" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "IdiMMpsQ9cGL", - "outputId": "6b6277ca-32b3-4d29-f5f4-37b765551e39" - }, - "source": [ - "# in-sample goodness-of-fit score for the final cate model\n", - "print(est.score_)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "1.4717907756757855\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "968ktBK_9cGL" - }, - "source": [ - "#### Nuisance quantity diagnostics" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "KDwBlm-i9cGL" - }, - "source": [ - "# calculated residuals for each training sample\n", - "yres, Tres, X_cache, W_cache = est.residuals_" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Jkc1WSi19cGL" - }, - "source": [ - "# 2. Estimation with Instruments" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "8pjyjlRQ9cGM" - }, - "source": [ - "y, T, Z, X, W = gen_data_iv(2000)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "l5gr5sGS9cGM" - }, - "source": [ - "from econml.iv.dml import OrthoIV\n", - "\n", - "est = OrthoIV(model_y_xw=RandomForestRegressor(), # ML model for E[Y|X,W]\n", - " model_t_xw=RandomForestRegressor(), # ML model for E[T|X,W]\n", - " model_z_xw=RandomForestRegressor(), # ML model for E[Z|X,W]\n", - " discrete_treatment=False, # categorical/continuous treatment\n", - " discrete_instrument=False, # categorical/continuous instrument\n", - " cv=2, # number of crossfit folds\n", - " mc_iters=1) # repetitions of cross-fitting for stability" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "b_k1NpEp9cGM", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "8b057fc5-bd87-43fa-ea75-33ee736a2a88" - }, - "source": [ - "est.fit(y, T, Z=Z, X=X, W=W, cache_values=True)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 14 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "a0zr3m3r9cGM" - }, - "source": [ - "#### Personalized effect estimates on test samples" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "2wAnhhq99cGN", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "2061468c-6969-4b1a-86fa-ba16a8f6b49c" - }, - "source": [ - "est.effect(X, T0=0, T1=1)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "array([-0.32390668, 2.23728003, 0.70346148, ..., 0.85984079,\n", - " 0.17539819, 1.07325619])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 15 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "D9ESfbo29cGN" - }, - "source": [ - "#### ML model diagnostics" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "9JlbW4an9cGN", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "f77e36a8-295f-4dff-e11d-21057357e4c8" - }, - "source": [ - "est.models_y_xw, est.nuisance_scores_y_xw" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "([[RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", - " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", - " max_samples=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " n_estimators=100, n_jobs=None, oob_score=False,\n", - " random_state=None, verbose=0, warm_start=False),\n", - " RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", - " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", - " max_samples=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " n_estimators=100, n_jobs=None, oob_score=False,\n", - " random_state=None, verbose=0, warm_start=False)]],\n", - " [[0.3493220983540998, 0.2621905464991312]])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 16 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "e1YCQWZK9cGO", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "71292840-3f77-4985-fdf3-855ad7d4f07a" - }, - "source": [ - "est.models_t_xw, est.nuisance_scores_t_xw" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "([[RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", - " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", - " max_samples=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " n_estimators=100, n_jobs=None, oob_score=False,\n", - " random_state=None, verbose=0, warm_start=False),\n", - " RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", - " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", - " max_samples=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " n_estimators=100, n_jobs=None, oob_score=False,\n", - " random_state=None, verbose=0, warm_start=False)]],\n", - " [[0.24243204274642238, 0.22952337252664082]])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 17 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "cN5Ga_YH9cGO", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "fca11455-0e2c-4881-96a9-0e07a67d4461" - }, - "source": [ - "est.models_z_xw, est.nuisance_scores_z_xw" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "([[RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", - " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", - " max_samples=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " n_estimators=100, n_jobs=None, oob_score=False,\n", - " random_state=None, verbose=0, warm_start=False),\n", - " RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", - " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", - " max_samples=None, min_impurity_decrease=0.0,\n", - " min_impurity_split=None, min_samples_leaf=1,\n", - " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", - " n_estimators=100, n_jobs=None, oob_score=False,\n", - " random_state=None, verbose=0, warm_start=False)]],\n", - " [[-0.10057707531258632, -0.08476759034439452]])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 18 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "oNkC5W9i9cGP" - }, - "source": [ - "#### CATE model diagnostics" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "zENiyXuV9cGP", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "621aba3d-e433-4c89-e0dc-1879afd565f6" - }, - "source": [ - "print(est.score_)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "5.018208071305707e-16\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "slJuNhWU9cGP" - }, - "source": [ - "#### Nuisance quantity diagnostics" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "1o5aP05y9cGP" - }, - "source": [ - "yres, Tres, Zres, Xc, Wc, Zc = est.residuals_" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "WrsMl9pm9cGQ" - }, - "source": [ - "# 3. Inference" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "oeTIUL6_9cGQ" - }, - "source": [ - "y, T, X, W = gen_data(1000)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "K0kinaK__Djv" - }, - "source": [ - "### Generic Bootstrap Inference" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "rSGauZ1k9cGQ" - }, - "source": [ - "from econml.dml import NonParamDML\n", - "from econml.sklearn_extensions.linear_model import WeightedLasso\n", - "\n", - "est = NonParamDML(model_y=Lasso(alpha=.1), # Any ML model for E[Y|X,W]\n", - " model_t=Lasso(alpha=.1), # Any ML model for E[T|X,W]\n", - " model_final=WeightedLasso(alpha=.1), # Any ML model for CATE that accepts `sample_weight` at fit\n", - " discrete_treatment=False, # categorical or continuous treatment\n", - " cv=2, # number of crossfit folds\n", - " mc_iters=1) # repetitions of cross-fitting for stability" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "lckeXBSV9cGR", - "outputId": "d1cecd80-0022-4e16-c4a9-dc1081f474f3" - }, - "source": [ - "est.fit(y, T, X=X, W=W, inference='bootstrap') # fit the CATE model" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 23 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 235 - }, - "id": "p-RP37i-9cGR", - "outputId": "2126735a-91d6-4908-eb8a-b36bcae1cbc8" - }, - "source": [ - "est.effect_inference(X[:5], T0=0, T1=1).summary_frame()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
point_estimatestderrzstatpvalueci_lowerci_upper
X
01.2700.03932.6200.01.2101.334
11.7070.05133.6340.01.6311.787
22.4170.07930.4280.02.3042.559
31.3740.04133.7000.01.3121.445
4-0.3020.070-4.3380.0-0.449-0.216
\n", - "
" - ], - "text/plain": [ - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "X \n", - "0 1.270 0.039 32.620 0.0 1.210 1.334\n", - "1 1.707 0.051 33.634 0.0 1.631 1.787\n", - "2 2.417 0.079 30.428 0.0 2.304 2.559\n", - "3 1.374 0.041 33.700 0.0 1.312 1.445\n", - "4 -0.302 0.070 -4.338 0.0 -0.449 -0.216" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 24 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 251 - }, - "id": "9tGAONKF9cGS", - "outputId": "cce9a4d0-d2a9-4991-87aa-90504695a8a9" - }, - "source": [ - "est.ate_inference(X)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Uncertainty of Mean Point Estimate
mean_point stderr_mean zstat pvalue ci_mean_lower ci_mean_upper
0.989 0.061 16.1 0.0 0.888 1.09
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Distribution of Point Estimate
std_point pct_point_lower pct_point_upper
1.041 -0.704 2.734
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Total Variance of Point Estimate
stderr_point ci_point_lower ci_point_upper
1.042 -0.698 2.737


Note: The stderr_mean is a conservative upper bound." - ], - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 25 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "ab22GTTm9cGS", - "outputId": "b26f4c08-1938-43fb-c81b-36ca177254f8" - }, - "source": [ - "from econml.inference import BootstrapInference\n", - "est.fit(y, T, X=X, W=W,\n", - " inference=BootstrapInference(n_bootstrap_samples=100,\n", - " bootstrap_type='normal'))" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 26 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 235 - }, - "id": "MK02FTmf9cGS", - "outputId": "3d1bb9f4-cbcf-45ac-930b-f6d837b407b0" - }, - "source": [ - "est.effect_inference(X[:5], T0=0, T1=1).summary_frame()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
point_estimatestderrzstatpvalueci_lowerci_upper
X
01.2670.04627.5910.01.1921.343
11.7040.05530.9780.01.6131.794
22.4140.07930.6230.02.2842.543
31.3720.04828.8790.01.2941.450
4-0.3030.073-4.1250.0-0.424-0.182
\n", - "
" - ], - "text/plain": [ - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "X \n", - "0 1.267 0.046 27.591 0.0 1.192 1.343\n", - "1 1.704 0.055 30.978 0.0 1.613 1.794\n", - "2 2.414 0.079 30.623 0.0 2.284 2.543\n", - "3 1.372 0.048 28.879 0.0 1.294 1.450\n", - "4 -0.303 0.073 -4.125 0.0 -0.424 -0.182" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 27 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 251 - }, - "id": "qIKkO36S9cGT", - "outputId": "574a2f94-2cca-463f-adf6-b2193d1d0e6c" - }, - "source": [ - "est.ate_inference(X)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Uncertainty of Mean Point Estimate
mean_point stderr_mean zstat pvalue ci_mean_lower ci_mean_upper
0.986 0.065 15.226 0.0 0.88 1.093
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Distribution of Point Estimate
std_point pct_point_lower pct_point_upper
1.039 -0.704 2.73
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Total Variance of Point Estimate
stderr_point ci_point_lower ci_point_upper
1.041 -0.703 2.735


Note: The stderr_mean is a conservative upper bound." - ], - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 28 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "LH0Uo_yJ--G_" - }, - "source": [ - "### Tailored Valid Inference" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "ZfUSZoW-4TJQ" - }, - "source": [ - "#### Heteroskedasticity-robust OLS inference for linear CATE models $\\theta(x)=\\langle\\theta, \\phi(x)\\rangle$" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "uPiPxMU19cGT" - }, - "source": [ - "from econml.dml import LinearDML\n", - "\n", - "est = LinearDML(model_y=RandomForestRegressor(), # Any ML model for E[Y|X,W]\n", - " model_t=RandomForestRegressor(), # Any ML model for E[T|X,W]\n", - " featurizer=PolynomialFeatures(degree=2, include_bias=False)) # any featurizer for " - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "qAQKnPA59cGU", - "outputId": "77583b37-6895-4c2e-c636-d948a6de8798" - }, - "source": [ - "est.fit(y, T, X=X, W=W)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 30 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 353 - }, - "id": "Cy73CEcm9cGU", - "outputId": "749cefb2-54d6-475a-d630-4a8d9beba4f6" - }, - "source": [ - "est.summary()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Coefficient Results
point_estimate stderr zstat pvalue ci_lower ci_upper
X0 1.001 0.034 29.398 0.0 0.945 1.057
X1 0.042 0.032 1.302 0.193 -0.011 0.094
X0^2 0.011 0.025 0.447 0.655 -0.029 0.052
X0 X1 0.032 0.027 1.203 0.229 -0.012 0.076
X1^2 -0.024 0.019 -1.269 0.204 -0.056 0.007
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
CATE Intercept Results
point_estimate stderr zstat pvalue ci_lower ci_upper
cate_intercept 0.99 0.046 21.503 0.0 0.914 1.066


A linear parametric conditional average treatment effect (CATE) model was fitted:
$Y = \\Theta(X)\\cdot T + g(X, W) + \\epsilon$
where for every outcome $i$ and treatment $j$ the CATE $\\Theta_{ij}(X)$ has the form:
$\\Theta_{ij}(X) = \\phi(X)' coef_{ij} + cate\\_intercept_{ij}$
where $\\phi(X)$ is the output of the `featurizer` or $X$ if `featurizer`=None. Coefficient Results table portrays the $coef_{ij}$ parameter vector for each outcome $i$ and treatment $j$. Intercept Results table portrays the $cate\\_intercept_{ij}$ parameter.
" - ], - "text/plain": [ - "\n", - "\"\"\"\n", - " Coefficient Results \n", - "===========================================================\n", - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "-----------------------------------------------------------\n", - "X0 1.001 0.034 29.398 0.0 0.945 1.057\n", - "X1 0.042 0.032 1.302 0.193 -0.011 0.094\n", - "X0^2 0.011 0.025 0.447 0.655 -0.029 0.052\n", - "X0 X1 0.032 0.027 1.203 0.229 -0.012 0.076\n", - "X1^2 -0.024 0.019 -1.269 0.204 -0.056 0.007\n", - " CATE Intercept Results \n", - "====================================================================\n", - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "--------------------------------------------------------------------\n", - "cate_intercept 0.99 0.046 21.503 0.0 0.914 1.066\n", - "--------------------------------------------------------------------\n", - "\n", - "A linear parametric conditional average treatment effect (CATE) model was fitted:\n", - "$Y = \\Theta(X)\\cdot T + g(X, W) + \\epsilon$\n", - "where for every outcome $i$ and treatment $j$ the CATE $\\Theta_{ij}(X)$ has the form:\n", - "$\\Theta_{ij}(X) = \\phi(X)' coef_{ij} + cate\\_intercept_{ij}$\n", - "where $\\phi(X)$ is the output of the `featurizer` or $X$ if `featurizer`=None. Coefficient Results table portrays the $coef_{ij}$ parameter vector for each outcome $i$ and treatment $j$. Intercept Results table portrays the $cate\\_intercept_{ij}$ parameter.\n", - "\"\"\"" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 38 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 235 - }, - "id": "og2hubAj9cGV", - "outputId": "5f0c835f-dcff-4f9c-d1be-dc6741da2a10" - }, - "source": [ - "est.effect_inference(X[:5], T0=0, T1=1).summary_frame()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
point_estimatestderrzstatpvalueci_lowerci_upper
X
01.2610.04726.7320.01.1841.339
11.7850.06826.2740.01.6731.897
22.4160.08329.0690.02.2802.553
31.4180.04829.8280.01.3401.497
4-0.2720.064-4.2660.0-0.378-0.167
\n", - "
" - ], - "text/plain": [ - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "X \n", - "0 1.261 0.047 26.732 0.0 1.184 1.339\n", - "1 1.785 0.068 26.274 0.0 1.673 1.897\n", - "2 2.416 0.083 29.069 0.0 2.280 2.553\n", - "3 1.418 0.048 29.828 0.0 1.340 1.497\n", - "4 -0.272 0.064 -4.266 0.0 -0.378 -0.167" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 32 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "aMqhTNEb4Zt4" - }, - "source": [ - "#### Debiased Lasso Inference for high-dimensional linear CATE models $\\theta(x)=\\langle\\theta, \\phi(x)\\rangle$" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "dtjN8aC99cGY" - }, - "source": [ - "from econml.dml import SparseLinearDML\n", - "\n", - "est = SparseLinearDML(featurizer=PolynomialFeatures(degree=3, include_bias=False))" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "W3xElnFJ9cGY", - "outputId": "89e6d659-d695-49c0-927c-66e3128c3e13" - }, - "source": [ - "est.fit(y, T, X=X, W=W)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 40 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 437 - }, - "id": "6XHdjW9I9cGY", - "outputId": "b8ad3ad6-7006-47ac-c431-d90c109cf0e3" - }, - "source": [ - "est.summary()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Coefficient Results
point_estimate stderr zstat pvalue ci_lower ci_upper
X0 0.99 0.065 15.182 0.0 0.882 1.097
X1 0.012 0.07 0.179 0.858 -0.102 0.127
X0^2 0.071 0.022 3.168 0.002 0.034 0.107
X0 X1 -0.012 0.034 -0.337 0.736 -0.068 0.045
X1^2 -0.019 0.027 -0.686 0.493 -0.063 0.026
X0^3 0.004 0.013 0.328 0.743 -0.017 0.026
X0^2 X1 0.026 0.025 1.025 0.305 -0.016 0.067
X0 X1^2 0.021 0.026 0.806 0.42 -0.022 0.065
X1^3 0.001 0.016 0.054 0.957 -0.026 0.027
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
CATE Intercept Results
point_estimate stderr zstat pvalue ci_lower ci_upper
cate_intercept 0.945 0.051 18.628 0.0 0.862 1.029


A linear parametric conditional average treatment effect (CATE) model was fitted:
$Y = \\Theta(X)\\cdot T + g(X, W) + \\epsilon$
where for every outcome $i$ and treatment $j$ the CATE $\\Theta_{ij}(X)$ has the form:
$\\Theta_{ij}(X) = \\phi(X)' coef_{ij} + cate\\_intercept_{ij}$
where $\\phi(X)$ is the output of the `featurizer` or $X$ if `featurizer`=None. Coefficient Results table portrays the $coef_{ij}$ parameter vector for each outcome $i$ and treatment $j$. Intercept Results table portrays the $cate\\_intercept_{ij}$ parameter.
" - ], - "text/plain": [ - "\n", - "\"\"\"\n", - " Coefficient Results \n", - "=============================================================\n", - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "-------------------------------------------------------------\n", - "X0 0.99 0.065 15.182 0.0 0.882 1.097\n", - "X1 0.012 0.07 0.179 0.858 -0.102 0.127\n", - "X0^2 0.071 0.022 3.168 0.002 0.034 0.107\n", - "X0 X1 -0.012 0.034 -0.337 0.736 -0.068 0.045\n", - "X1^2 -0.019 0.027 -0.686 0.493 -0.063 0.026\n", - "X0^3 0.004 0.013 0.328 0.743 -0.017 0.026\n", - "X0^2 X1 0.026 0.025 1.025 0.305 -0.016 0.067\n", - "X0 X1^2 0.021 0.026 0.806 0.42 -0.022 0.065\n", - "X1^3 0.001 0.016 0.054 0.957 -0.026 0.027\n", - " CATE Intercept Results \n", - "====================================================================\n", - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "--------------------------------------------------------------------\n", - "cate_intercept 0.945 0.051 18.628 0.0 0.862 1.029\n", - "--------------------------------------------------------------------\n", - "\n", - "A linear parametric conditional average treatment effect (CATE) model was fitted:\n", - "$Y = \\Theta(X)\\cdot T + g(X, W) + \\epsilon$\n", - "where for every outcome $i$ and treatment $j$ the CATE $\\Theta_{ij}(X)$ has the form:\n", - "$\\Theta_{ij}(X) = \\phi(X)' coef_{ij} + cate\\_intercept_{ij}$\n", - "where $\\phi(X)$ is the output of the `featurizer` or $X$ if `featurizer`=None. Coefficient Results table portrays the $coef_{ij}$ parameter vector for each outcome $i$ and treatment $j$. Intercept Results table portrays the $cate\\_intercept_{ij}$ parameter.\n", - "\"\"\"" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 41 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 235 - }, - "id": "nYXaiMBX9cGZ", - "outputId": "34e12072-ae19-40c5-d75f-72d96ff4682c" - }, - "source": [ - "est.effect_inference(X[:5], T0=0, T1=1).summary_frame()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
point_estimatestderrzstatpvalueci_lowerci_upper
X
01.2440.06120.4580.0001.1441.344
11.7430.10217.1200.0001.5751.910
22.5280.09227.5530.0002.3772.679
31.3660.06122.5210.0001.2661.466
4-0.2360.085-2.7780.005-0.376-0.096
\n", - "
" - ], - "text/plain": [ - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "X \n", - "0 1.244 0.061 20.458 0.000 1.144 1.344\n", - "1 1.743 0.102 17.120 0.000 1.575 1.910\n", - "2 2.528 0.092 27.553 0.000 2.377 2.679\n", - "3 1.366 0.061 22.521 0.000 1.266 1.466\n", - "4 -0.236 0.085 -2.778 0.005 -0.376 -0.096" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 42 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "9kI_3o004cnQ" - }, - "source": [ - "#### Bootstrap-of-Little-Bags inference for forests CATE models $\\theta(x)$" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "JVKLLU5H9cGZ" - }, - "source": [ - "y, T, X, W = gen_data(2000, discrete=True)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "TzNqV3HW9cGZ", - "outputId": "e829ef4f-3016-431a-91d3-4864c9cca580" - }, - "source": [ - "from econml.dml import CausalForestDML\n", - "\n", - "est = CausalForestDML(discrete_treatment=True,\n", - " criterion='mse', n_estimators=1000)\n", - "est.tune(y, T, X=X, W=W)\n", - "est.fit(y, T, X=X, W=W, cache_values=True)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 44 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 451 - }, - "id": "PhogESjH9cGa", - "outputId": "97fea945-cc4e-4641-cb7b-e20f8e61064d" - }, - "source": [ - "est.summary()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Population summary of CATE predictions on Training Data\n" - ], - "name": "stdout" - }, - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Uncertainty of Mean Point Estimate
mean_point stderr_mean zstat pvalue ci_mean_lower ci_mean_upper
1.099 0.205 5.362 0.0 0.762 1.436
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Distribution of Point Estimate
std_point pct_point_lower pct_point_upper
1.086 -0.862 2.947
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Total Variance of Point Estimate
stderr_point ci_point_lower ci_point_upper
1.105 -0.862 2.965
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Doubly Robust ATE on Training Data Results
point_estimate stderr zstat pvalue ci_lower ci_upper
ATE 1.095 0.056 19.388 0.0 1.002 1.187
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Doubly Robust ATT(T=0) on Training Data Results
point_estimate stderr zstat pvalue ci_lower ci_upper
ATT 1.075 0.078 13.719 0.0 0.947 1.204
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Doubly Robust ATT(T=1) on Training Data Results
point_estimate stderr zstat pvalue ci_lower ci_upper
ATT 1.116 0.081 13.721 0.0 0.982 1.25


Note: The stderr_mean is a conservative upper bound." - ], - "text/plain": [ - "\n", - "\"\"\"\n", - " Uncertainty of Mean Point Estimate \n", - "===============================================================\n", - "mean_point stderr_mean zstat pvalue ci_mean_lower ci_mean_upper\n", - "---------------------------------------------------------------\n", - " 1.099 0.205 5.362 0.0 0.762 1.436\n", - " Distribution of Point Estimate \n", - "=========================================\n", - "std_point pct_point_lower pct_point_upper\n", - "-----------------------------------------\n", - " 1.086 -0.862 2.947\n", - " Total Variance of Point Estimate \n", - "==========================================\n", - "stderr_point ci_point_lower ci_point_upper\n", - "------------------------------------------\n", - " 1.105 -0.862 2.965\n", - " Doubly Robust ATE on Training Data Results \n", - "=========================================================\n", - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "---------------------------------------------------------\n", - "ATE 1.095 0.056 19.388 0.0 1.002 1.187\n", - " Doubly Robust ATT(T=0) on Training Data Results \n", - "=========================================================\n", - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "---------------------------------------------------------\n", - "ATT 1.075 0.078 13.719 0.0 0.947 1.204\n", - " Doubly Robust ATT(T=1) on Training Data Results \n", - "=========================================================\n", - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "---------------------------------------------------------\n", - "ATT 1.116 0.081 13.721 0.0 0.982 1.25\n", - "---------------------------------------------------------\n", - "\n", - "Note: The stderr_mean is a conservative upper bound.\n", - "\"\"\"" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 45 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 235 - }, - "id": "bZzv-0bo9cGa", - "outputId": "26e8e29b-691e-4fa4-d469-7b00ee463ac4" - }, - "source": [ - "est.effect_inference(X[:5], T0=0, T1=1).summary_frame()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
point_estimatestderrzstatpvalueci_lowerci_upper
X
01.9090.2308.2930.0001.5312.288
10.3080.1132.7350.0060.1230.493
2-0.1130.204-0.5530.580-0.4490.223
31.2770.1926.6650.0000.9621.593
42.3950.22510.6390.0002.0242.765
\n", - "
" - ], - "text/plain": [ - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "X \n", - "0 1.909 0.230 8.293 0.000 1.531 2.288\n", - "1 0.308 0.113 2.735 0.006 0.123 0.493\n", - "2 -0.113 0.204 -0.553 0.580 -0.449 0.223\n", - "3 1.277 0.192 6.665 0.000 0.962 1.593\n", - "4 2.395 0.225 10.639 0.000 2.024 2.765" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 46 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "qqO9by3p9cGa" - }, - "source": [ - "# 4. Causal Scoring" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "9HwG--DU9cGa" - }, - "source": [ - "y, T, X, W = gen_data(2000, discrete=True)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Rr5El3LR9cGa" - }, - "source": [ - "#### Multitude of approaches for CATE estimation to select from" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "je0AkjG99cGb" - }, - "source": [ - "from econml.dml import DML, LinearDML, SparseLinearDML, NonParamDML\n", - "from econml.metalearners import XLearner, TLearner, SLearner, DomainAdaptationLearner\n", - "from econml.dr import DRLearner\n", - "\n", - "reg = lambda: RandomForestRegressor(min_samples_leaf=10)\n", - "clf = lambda: RandomForestClassifier(min_samples_leaf=10)\n", - "# A multitude of possible approaches for CATE estimation under conditional exogeneity\n", - "models = [('ldml', LinearDML(model_y=reg(), model_t=clf(), discrete_treatment=True,\n", - " linear_first_stages=False, cv=3)),\n", - " ('sldml', SparseLinearDML(model_y=reg(), model_t=clf(), discrete_treatment=True,\n", - " featurizer=PolynomialFeatures(degree=2, include_bias=False),\n", - " linear_first_stages=False, cv=3)),\n", - " ('xlearner', XLearner(models=reg(), cate_models=reg(), propensity_model=clf())),\n", - " ('dalearner', DomainAdaptationLearner(models=reg(), final_models=reg(),\n", - " propensity_model=clf())),\n", - " ('slearner', SLearner(overall_model=reg())),\n", - " ('tlearner', TLearner(models=reg())),\n", - " ('drlearner', DRLearner(model_propensity=clf(), model_regression=reg(),\n", - " model_final=reg(), cv=3)),\n", - " ('rlearner', NonParamDML(model_y=reg(), model_t=clf(), model_final=reg(),\n", - " discrete_treatment=True, cv=3)),\n", - " ('dml3dlasso', DML(model_y=reg(), model_t=clf(), model_final=LassoCV(),\n", - " discrete_treatment=True,\n", - " featurizer=PolynomialFeatures(degree=3),\n", - " linear_first_stages=False, cv=3))\n", - "]" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "it8Mb8219cGb" - }, - "source": [ - "#### Split the data in train and validation" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "dsqFr4Cz9cGb" - }, - "source": [ - "XW = np.hstack([X, W])\n", - "XW_train, XW_val, T_train, T_val, Y_train, Y_val = train_test_split(XW, T, y, test_size=.4)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "9_X0_AQS9cGc" - }, - "source": [ - "#### Fit all CATE models on train data" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "fNWePOEi9cGc", - "outputId": "1e887546-43fe-4b1f-f238-06ec0d15ab2b" - }, - "source": [ - "from joblib import Parallel, delayed\n", - "\n", - "def fit_model(name, model):\n", - " return name, model.fit(Y_train, T_train, X=XW_train)\n", - "\n", - "models = Parallel(n_jobs=-1, verbose=1)(delayed(fit_model)(name, mdl) for name, mdl in models)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 2 concurrent workers.\n", - "[Parallel(n_jobs=-1)]: Done 9 out of 9 | elapsed: 17.7s finished\n" - ], - "name": "stderr" - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "5HrON5yV9cGc" - }, - "source": [ - "#### Train the scorer on the validation data" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "B4r0CXBP9cGc", - "outputId": "aae0216f-9ed1-4846-d0d4-eaff59d12e77" - }, - "source": [ - "from econml.score import RScorer\n", - "\n", - "# Causal score actually needs fitting on the test set!\n", - "scorer = RScorer(model_y=reg(), model_t=clf(),\n", - " discrete_treatment=True, cv=3,\n", - " mc_iters=3, mc_agg='median')\n", - "scorer.fit(Y_val, T_val, X=XW_val)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 51 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "VaApR6459cGd" - }, - "source": [ - "#### Evaluate each of the trained CATE models on the validation data" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "WX92N2EP9cGd" - }, - "source": [ - "# Then we can evaluate every trained CATE model\n", - "rscore = [scorer.score(mdl) for _, mdl in models]" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "E2ZWa1Mu9cGd" - }, - "source": [ - "#### Calculate ideal score of each model, since we know ground truth" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "1e2SvCV89cGd" - }, - "source": [ - "expected_te_val = 1 + XW_val[:, 0]" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "yPF1_UOM9cGe" - }, - "source": [ - "rootpehe = [np.sqrt(np.mean((expected_te_val.flatten() - mdl.effect(XW_val).flatten())**2))\n", - " for _, mdl in models]" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "a4RafR039cGe" - }, - "source": [ - "#### Qualitatively different performance of each method" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 948 - }, - "id": "fkIgNP999cGe", - "outputId": "3aaa0a23-a756-4857-9daa-0f94c68b7280" - }, - "source": [ - "plt.figure(figsize=(16, 16))\n", - "rows = int(np.ceil(len(models) / 3))\n", - "for it, (name, mdl) in enumerate(models):\n", - " plt.subplot(rows, 3, it + 1)\n", - " plt.title('{}. RScore: {:.3f}, Root-PEHE: {:.3f}'.format(name, rscore[it], rootpehe[it]))\n", - " plt.scatter(XW_val[:, 0], mdl.effect(XW_val), label='{}'.format(name))\n", - " plt.plot(XW_val[:, 0], 1 + XW_val[:, 0], 'b--', label='True effect')\n", - " plt.ylabel('Treatment Effect')\n", - " plt.xlabel('x')\n", - " plt.legend()\n", - "plt.show()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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hnHcccexcOFCrrvuOnr16sWECROq3C5FCUZ1vu+rwtiBWTw0ri9ZmWkIkJWZxkPj+mryp0oS7+v89ddf069fPw4dOkRxcTHZ2dkUFRX5ysvKypg0aRJDhgyhX79+/OMf/wCgqKiI008/nZNPPpm+ffvy5ptvAnZUt0ePHlxzzTX06dOHzz77jF69enHDDTeQnZ3NWWedRUmJ9WrasGEDZ599NoMGDeLnP/85a9euBawMvfHGGznllFO46667qnR8ihIr06bBnj32d0lJ7XAtdtOg0q5UdwbBN954g3Xr1vHdd9+xY8cOevfuzXXXXecr79KlCytWrOC2225jwoQJLFq0iEOHDtGnTx9uvPHGKu9fURKJN4uxO2b28NZMtv97BAAZQ37gxOGFiWpeg6K6ZN28efPo2LEjc+fOBWDfvn08/vjjAGzbto377ruPZcuW0bx5c0aNGsXAgQN96+7du5clS5bw1ltvMWbMGBYtWsQ///lPhgwZwooVKxgwYECl26UogVTlGaiJaXPGDsxS4zUOVIesGzJkCGPGjGHq1KmUlJRw1VVX+YWTPf300zRv3pyvv/6aw4cPM2LECM466yw6d+7MG2+8QbNmzdi1axfDhg1jzJgxAKxfv57nnnuOYcOGsXHjRtavX89LL73EU089xWWXXcZrr73GVVddxcSJE3niiSc48cQT+fLLL7npppuYP38+AFu2bGHx4sUka6IJpYYwBh58EO6/Hy67DP79b2jUKNGtqkiDMmbDZRCMx0vl008/5YorriA5OZmOHTsyevRov3KvUOvbty9FRUVkZGSQkZFB48aNKSxUJV+pu0zNXcWsLzZhXMtK96b7DNnM09bS/rSNTMrpm5gGNjCqS9b17duXO+64g7vvvpvzzz+fn//8576yL7/8kpEjR9KmTRsALr/8cr7//ntf+QUXXICI0LdvX9q1a0ffvvZeyM7OZuPGjWrMKnGlss9ALMaRzhWbeKpL1v3hD39gyJAhpKam8uijj7J582Zf2QcffMA333zjy4myb98+1q9fT6dOnbjnnnv49NNPSUpKIj8/nx07dgDQtWtXhg0b5ttG9+7dfTJv0KBBbNy4kaKiIhYvXsyll17qq3f48GHf70svvVQNWaXGMAbuugueeQZuuQVmzoSkWurP26CM2URnEGzsOJgnJSX5fnv/awyEUpsJp7Tl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n/8MN9ygjmxTZezYsQROraEozYWqKhttct99cPHFMHu2Rp+kOiUlJfz9738HYNOmTQwaNCjBFinJzKxJg7ln6jCynY6EwKqOANNG99LkTw2IZjNOUSoqKmhRz8k5KysrSdfm45TAK/17sOx4/v/92YzTRKgMmE+6rLySuUs3418az2x7paXQrp39fvDBMHNmvXanNBPqq2nx0EQl8SRjJvZgVFbWniP7H/9QR7Yp4HdmL7vssrjt0xiDMYa0ejwgqnHJy6Sc7GqdSiUNayo0O9mNtHcrGm699Vb69evHsccey4YNNsnOI488wogRIxg6dCiTJ09m7969dbbbuHEjp5xyCkcffTTHHXcc69evB2DBggWMGjWKnJwcTjzxRL777jvA9uqef/75jBkzhvPPP5+8vDwuvPBCxo4dy6GHHsp9991Xve8nn3ySkSNHMmzYMH79619TWWmdoLZt23LNNdcwdOhQPvzww3qfu9I4RJvUaVJONktmjOer20+jKsCR9RO4NB5JovbtgxNOsN8PPxy+/bZeu1PqQUNo3Z49ezjttNMYOnQogwYNYt68ebXK33zzTY455hiOOuoopkyZQmlpKQC33HILI0aMYNCgQVxyySUY55kcO3YsV155JcOHD+fee+9l7NixXH/99YwcOZJ+/frx/vvvA7bhLTc3lxEjRjBkyBAefvhhABYvXsxxxx3HxIkTOfLII+t9fkpiScZM7MGorLQhxX78PbRK4xNvrZsxYwYbN25k2LBh5ObmVi8PpkOlpaWccMIJHHXUUQwePJiXXnoJsL26/fv35xe/+AWDBg3i/fff54gjjuDiiy9m4MCBnHzyyZSV2VwWweqD06dP59JLL2XUqFFcd9119TovpXFw17+WzBivjmwj0KyktyF+KFesWMEzzzzDqlWreO2111i2bBkAZ599NsuWLWP16tUcccQRPProo3W2veSSS7j//vtZsWIFd911V3Ur4LHHHsvSpUspKCjgnHPO4Y477qgiR/yjAAAgAElEQVTe5rPPPuPtt9/m6aefBmD9+vUsXLiQjz/+mJtvvpny8nLWrVvHvHnzWLJkCatWrSI9PZ25c+cCtjI6atQoVq9ezbHHHhvzeSuNS32SOjVWtr2yMjjnHPj4Y7jnHvjii5h3pdSThnIK3njjDbp3787q1atZs2YNp5xySnXZjh07mDVr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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "hFddbtTU9cGf" - }, - "source": [ - "#### RScore correlates well with ideal score\n", - "\n", - "Higher `Rscore` implies smaller `PEHE`" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 279 - }, - "id": "i2w9dPuI9cGf", - "outputId": "3adc25ea-2f29-46e2-be2e-4a5162994be3" - }, - "source": [ - "plt.scatter(rootpehe, rscore)\n", - "plt.xlabel('rpehe')\n", - "plt.ylabel('rscore')\n", - "plt.show()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "r8eRryFl9cGf" - }, - "source": [ - "#### Choose CATE model with larger Rscore" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "wTaPVNH39cGf", - "outputId": "bb85de97-45cd-4a07-d659-38bc56183bfb" - }, - "source": [ - "mdl, score = scorer.best_model([mdl for _, mdl in models])\n", - "mdl" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 57 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "cULnL_mZ9cGg" - }, - "source": [ - "rootpehe_best = np.sqrt(np.mean((expected_te_val.flatten() - mdl.effect(XW_val).flatten())**2))" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 295 - }, - "id": "kLwPBbku9cGg", - "outputId": "125c9a16-1d42-4800-8ee5-c77c24d330f1" - }, - "source": [ - "plt.figure()\n", - "plt.title('RScore: {:.3f}, Root-PEHE: {:.3f}'.format(score, rootpehe_best))\n", - "plt.scatter(XW_val[:, 0], mdl.effect(XW_val), label='best')\n", - "plt.plot(XW_val[:, 0], 1 + XW_val[:, 0], 'b--', label='True effect')\n", - "plt.ylabel('Treatment Effect')\n", - "plt.xlabel('x')\n", - "plt.legend()\n", - "plt.show()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "AWpMuY_49cGg" - }, - "source": [ - "# 4. Interpretation" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "PkjmyQgj9cGg" - }, - "source": [ - "y, T, X, W = gen_data(2000, discrete=True)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "S53DNzMd9cGg" - }, - "source": [ - "#### Fit any CATE model" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "XoHzf8Lo9cGg", - "outputId": "e5b36880-2294-4fbb-d4f7-b4e2535f1d9b" - }, - "source": [ - "from econml.dml import NonParamDML\n", - "\n", - "est = NonParamDML(model_y=RandomForestRegressor(min_samples_leaf=10), # Any ML model for E[Y|X,W]\n", - " model_t=RandomForestClassifier(min_samples_leaf=10), # Any ML model for E[T|X,W]\n", - " model_final=RandomForestRegressor(max_depth=2), # Any ML model for CATE\n", - " discrete_treatment=True, # categorical or continuous treatment\n", - " cv=5, # number of crossfit folds\n", - " mc_iters=1) # repetitions of cross-fitting for stability\n", - "\n", - "est.fit(y, T, X=X, W=W, cache_values=True) # fit the CATE model" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 61 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "2N5UElbB9cGh" - }, - "source": [ - "#### Interpret its behavior with a single Tree" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "YnMz_1Hr9cGh", - "outputId": "cbca0155-0c49-424b-9366-c0496df4e3b5" - }, - "source": [ - "from econml.cate_interpreter import SingleTreeCateInterpreter\n", - "\n", - "intrp = SingleTreeCateInterpreter(max_depth=1)\n", - "intrp.interpret(est, X)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 62 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "JVQosW2K9cGh" - }, - "source": [ - "intrp.export_graphviz(out_file='cate_tree.dot')" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 248 - }, - "id": "Rvq9jg649cGh", - "outputId": "b43e7d52-09d1-45cd-b21f-08d2f51cfa55" - }, - "source": [ - "intrp.plot()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAADnCAYAAAC9roUQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd1RURxvA4d8ufelVelFsqGBBxYbGrlFJ1MRu1MRYYotJTKxRY43GRGOJ+tl7772h2LtiwQpSRIogSF/Y/f5AV1eqbRGd5xzOkXvn3p3B5WV27sw7EqVSiSAIgqAZ0qKugCAIwqdEBF1BEAQNEkFXEARBg7SLugLC25FIJDLABdAr6roI710mEKFUKuOLuiLCm5OIB2nFk0QicTE0NpybkZ7RyNjMJENXT1f8R37kMuWZJMQ90dPT17uSlJg0RKlUnirqOgmvTwTdYkgikdjpGehfatujvVXrrl9omZiZFHWVBA1JS03jxP4A5o6flZKelt5QqVSeKeo6Ca9HDC8UQ9o6Ov3qt2xg3mVAd62irougWfoG+jTya4I8Qy5bOuN/k4GGRV0n4fWIB2nFkJ6+bpdGfk11i7oeQtGp17w+aalpdSQSiUFR10V4PSLoFkPyDLmNg6tDUVdDKEKGxoYYyAzkgHVR10V4PSLoFkNKpVJLW1uMDH3qpFpaSsQQYbEj/sM+Eb92H0pGupy/1sxEKn3xt3bT4vWs/HcZs7cuwMHFgb9HTOPQtgMAdOrflS4/dFeVvXr2CoumzSf07gNKOJSgU79u1P/8M9X5o7uPMO2XyQB4VKnAnyv/1lDrCu/pk0TmT57LmSOn0dLSwrdFfXr98j36Bvp5XiPPkLN85hJuXr7BvRt3MDE3Zdnh1WplsrKy2Lx4A2f9TxN6PxQtLS3KeZWn50/f4VTSWVXuduAtdq3ZzrULgTyJjcfGvgTN2regddcv0NISQ/SfAtHT/UT0HTmAezfvsH/jHtWx2KhY1s5bRdse7XFweTFc4VqmJNNXz6RZuxaqY+HBYYzrNwrX0m6M+28iPo3q8NdvU7ly+pKqTJXa1Zi+eibevjU006g3MHnoBG4H3uKnKcPoP2Ygpw6dZO74Wflek56WzoHN+zA0NsTdo3SuZTLSMti0eANlvcoz7M/hDJnwEylJyfza/SfiY+JU5Y7vO0pUxCM6fN+J3+dNoJFfE1bMWsrq2cvfaTuFD5fo6X4i3MqW5PNObVg+cwl1mtbD2MyERdPmY2xmwtd9OquVlRkaUM6rvNqxzUs2Yutkx+AJPyGVSvGsWZnQuw9YN381Xj5VADAxM8HEzARTc1NSnia/VX0z5ZnEx8ZhbWfzVvd52Y2L17l65jIz1v5LmUplAdDW1mbyj3/QZUB3SjjY5nqdkYkRa05uRCKRsGrOcvZv2pujjK6+Lv/buxQjU2PVsYrVPenZuCuHth+k/bdfA9Du2w6YmpuqynjW8EIul7Np0Xq6DuqBRCJ5Z+0VPkyip/sJ6TrgG6RaUpb9s5grpy8RsOcovX/ri55+wYvZLp44R+0mddWGJuo28+X6xWukpaa9szpGhISzePpCejTqzP7NOYPb27hw/Bw29iVUARegRgMfdHR1uHTiQr7XFhQMtbS01AIugMxQhq2jLVERj1THXg64z5UsV4q01DSePH5SmGYIxZzo6X5CDI0N6Tn0O2aOnsGFgHN4+9agVqM6BV6XlpJK7KNYHN2c1I47ujmRlZnFo7BIXMu4vXG9MtIzOLH/GPs27eXauavYOdnTussXNG3bXFVGqVSiyFLkfyMJ+Y6LRoSE52iDto42to52hIeEv3H985KUmER4cBj1P89/Km3QlZsYmhhhYi4WuXwKRND9xDT0a8LqeSuJCn/EhMV/FuqapGdDBUbGRmrHjUyyv09KfPpGdQm5Hcy+jbs5suMw8owMajWuw6TFf1KphleOnuWhrQf4Z9T0fO9nY1+CxQdW5Hk+KfEpxrms3jMyMSIpMemN2pCfpX8vQltHh0Z+TfIsExn6kB0rt+LX7UvxIO0TIYLuJ+bKmctEhT9CIpFw/UKg2gM0TXo+S6KUhzvdBn1D/c8bqoJ4bmp85sPf62bne08dXZ13Xc03dmTHQfZt2M3Pf/6W65ACQGpyKpN//AN7Fwc69O2i4RoKRUUE3U9IpjyT/ybOpkYDH6ztbFj+z2LqNKmHobFhvtcZPTufnKT+cCz5eQ/YxDjHNQWRGRsilUpJSUoh+Wkyaalp+QZdY1NjDI3yrycFPIMyMjHO9QFf0tOkfF/7dV09e4WZo/+mY78u1G/5Wa5lsjKzmPrzRBLiE/hrzSx09cQCw0+FCLqfkK3LNhEdEcXYuRMwMjEiYO9RVs5eRp/h/fO9Tl9mgJWtFeHBYWrHw4ND0dLWwtbJ7rXr0md4f9r2aM/+zXvZs24nK2cvo2odb5q2bU6NBj5o66i/Nd/F8IKDqyP+Ow+pHcuUZxIV/ghHV8fXbkNuQu4EM3HwOOq1qK82x/lVc8bP4vr5QKYun4FVCat38tpC8SCC7ici9lEMa/9bRbteX6uCZPdBPZg3cTbN2rUo8EFY1TrVOXngBJ36dVWNt57YH0CFqhXzXViQH2s7G7r80J1O/bpy4fh59m3czdSfJ2JkYkSDVo1o3dlPVdd3MbxQrW511s1fzd3rt3GvUAaAc8fOIM+QU6VOtTdqw8tiH8Uwtu9ISpV3Z9C4H/Mst3ruCg5t28+Y2eMpWb7UW7+uULyIoPuJ+N+f8zG1MKX9dx1Ux5q2b8GeDbuYP2kuk5dOy/f6tj3bM7h9f2aO+ouGfk24fOoiZ/3P8MfCyW9dN6lUSnXfGlT3rUFczGMObtnP/s17kRnJVL3F53OA34ZH1Qp41qzM9F+n0GPod8gz5CycMo8GrRqqzdEd0WsYAJNeetB4PuAsaSlphN0LJSMtneP7jgFQplJZbOxLkJ6Wzth+o0hPTaddr6+5d/Ou6lqZoQxndxcAjuw8xOo5K2j+9ecYmhgRdOWmqpxzKWdkBQ2hCMWeCLqfgMunL3F83zFGzvpdbU6uVCql78gBDOv6I0d3H8lz/BGyp4f9PvcPFk1bwO99RmBtZ8NPU35VLYx4VyysLfn6+0581bsjifEJ7/TeAMNnjOK/SXP467c/kWpJ8W3RgG9/+V6tjEKRc2ra3PH/Ev0wSvX9lKETABgy4Wcaf9mUJ4/jCbkdDMDvfUaoXVuxuidTlmYPjVw+eRGAvet3sXf9LrVyk5ZMw7OG11u2UPjQiSTmxZCunm7KCv+1Bq9Oxn8X/h4xjcjQh0xeOh2JVKK2GKIgz+fSzhz9F4/CIj/I3Asfky71vk5KiHvipVQq7xd1XYTCEyvShBxuXLqOn1cL1sxb+VrXHdvjj59XCw5vP/ieaiYIxZ8YXhDUdP6hG606+wFgYWP5WtdWq+OtethlYChyawtCbkTQFdSUcLDNM/FLQYxMjSn9HoY8BOFjIoYXBEEQNEj0dAWN6tWkG5+1aki3wT2Luir5SklKZvOSjZwPOEtESAQGMn0q1fCi50+9cyxmiH4YzbwJ/3L17GVkhoY0bdeczj90U8uloFAoWDNvJfs27CY5KZmK1SrRf8ygHJ8qCkoULxR/oqcrCLmIjoxm/+a9VPetyciZY/h+eH8e3AlhZK9haqks5RlyxvQZTmJ8AiP+HkPXgd+wfcUW1s5bpXa/dfNXs2XJRjr378aIf34nOSmF0b2HI8/IUJUpTKJ4ofgTPV1ByIWtgy0L9yxVm9dcplI5vm3ajXNHz1CveX0Aju8/xqPQSP63f7mqB5ySlMyq2ctp9+3X6Bvok56WzuYlG+nUvyvNv/4cgJJlS9KzSTeO7TmqykJWmETxQvEngu5H5H7QPRZNW8Dd67dRZCko4WjLV707qhY9HNiyj70bdhN+PxQtbW3Kepajz/D+arkTfuvxM1YlrKhYrRLrFqwhKeEpdZr5MuD3wdwOvMX8yXOICA6nrFd5hk4ehuWzGQ5Xz15hRM9fmLhoKhsXrePGxeuYW1vwzZBeqgCVl4C9R1m/YA3hwWGYmJvSskMrvv6+k2q5cUHteh/0ZTlnX9jY22BkYkRU+Iuk5BePn6dcFQ+1IYe6zXxZNG0BNy5eo2odb25evkFqcgp1m/mqyphbW+BRtQIXj59XBd2LJ87RpG3zHIniZ47+i7TUtDdebi18WETQ/YhMGDgWl9Ku/DJtONra2oTcDlZlAgOIiYymWbvmlHCwJS0ljV1rdzCs+1AW7F6i9gt97fxVHkc9pt+oAcRERrNw6nx0dHW4cfEaX33XET0DPRZMmsu8P2Yx6t9xanX4Z+R0mrZrwRfd23F4x0GmDZuMnbN9nnuLHdlxkL9HTKd1Fz96/vQdD+6EsPLfZejLDPDr9mWh2pWbrMysAn9eUi3pa22PEx4cxtOEp9g52790LJxSHu5q5aztbNA30CciJJyqdbyJCA5DV083x/itk5sTQVezlwG/70TxwodDBN2PRELcE6IfRjFmznjVL2flWlXVynTu303176ysLLxqVaFLva+4EHCOOk3rqc5lpGUwZs541VzbwHNX2bNuJ9NXz1TtnRYX/Zj5k+eSlZmFlvaLB0a1m9SlU/+uAFSrV52we6FsWrSeX/8amaPOSqWSZf8spsXXn9P7t34AVK3jTaY8kw0L19CqcxuSEp4W2K7c+Hm1KLDM6yy7VSqVLJwyjxKOttRo4KM6npT4NEdydwBDEyOSEpKelUnKNafCy8nT31eieOHDI4LuR8LYzARrW2vmjp9Fm25f4lmzco4EMSG3g1n2z2JuXQ1Sy2vw8EGEWrmyXuXVFjfYOdujb6CvtlmlnbM9iiwF8bFxWNlaq47XbFhb7V41G9bi8LMt3V8VERJO7KNY6jStp9Yz9azpxbJ/FvM4KhYrW+sC25WbgjKSATi4FT6d47r5q7ly+jITFk/9oJKlC8WPCLofCalUyvgFk1n2zyJmDP+TzMxMvGpWod+oAdi7OJCSlMyY74dj42BL35E/YG1rjbaODmO+H07GS0/QgRxJzbV1tDF8Jcm3tk524MlIV7/WzMJM7XtTczPiY+NzrXNifCLwIqvXq2IiY7CxL5Fvu/JSslzBKROlWoWbvOO/8zCrZi9n0B9DqVitkto5IxPjHMndAZITkzAyNXpWxoiUXMokPU1W9WTfR6J44cMkgu5HxKmUM6P+HYc8I4PLpy+zaNp8pv86hRlr/yXoyk3iYuKYvnomNvYlgOwE3gWNjb6uJ3FPcMZF9X1C/BPMrcxzLWv8bPXaj5N+wbmUS47zz3ui+bUrL+9qeOHK6Uv8M+ovvv6+E02+bJbjvKObI+H31ZO7xz6KIS01DYdnidEd3JzISM8g+mGU6mcP2WPEjq7ZY7jvI1G88GESQfcjpKOrS3XfGkQEh7Fq9nIA0tPSAdR2ZAjYdzTXNIZv48zhk2qB7MzhU5SuWDbXsg5ujljYWBL7KCbfzRufy61deXkXwwvBt+5n7wLR3Jdug3rkWqZqXW9mjvyLuJjHWFhnz+Q4sT8AA5kBHlUrAuBRpQIGhjKO7w+gbY/2AMTHxnP9wjUGjhvy4l7vIVG88OERQfcjEXzrPounL8S3ZQNKONjy5HE8u9bswLNmZQDKeZZHz0CPf3//B79uXxJ2P4wtSzciM5K903qcPHAcIxNjyniW4/D2A4TcDmZgHrsoSKVSev3Um39G/UVSYhKVfaqARMLDB+FcOXOZUbPGFtiuvJSuWOat2hEfG8/YfqMwMTel2Vct1ZKNm5qbqmYw1G3qy7r5q5k4eDyd+3fjcVQMK2cv54tv2qkCpa6eLm17tmfNnBXIDGXY2NuwZu5KbOxt8G3RQHXf95koXvhwiKD7kTCzNMfE3IS181YSFxOHsakx3r416DH0OyB7XuiwP0ewZMZCxv8wBtcybvz610gmDRn/TusxeOLPrF+whg3/W4u5tQU/Tf013wDYoFVDDAwNWL9wLbvX7kBbRxt7ZwfqtWxQqHa9L2H3Q3kcFQvAb91/UjvXyK8JP076BcjeImj8/EnM/eNfJg0eh4GhAW26+NGxn/ruvh36dEaRpWDV7OWkJCVToVolfpr6q9pDOU0liheKlkhiXgy9zyTmb+r54ogFu5fk+4BLeHdEEvPiSeReEARB0CARdAVBEDRIjOkK74RnDS92Xt9f1NUQhA+e6OkKgiBokOjpCnk6uvsIe9bt5H7QPeQZcmwd7ajdpC5fftOOVx/izZswm11rttN35ABadW4DZO8sfCiPJcDPderflS4/dKdVhaa5nvfyqcLERVPfTYME4QMggq6Qq/mT5rBr7Q6atW9Ju15fo2egT3DQPXau3k5aSqoqQQ1kJ885sT8AgIC9/qqg27FvF1p0aKUqN3vsTKxsrejY98V0qpdTIn7VuyM1P6ulVg/DXBLFCEJxJoKukMPpwyfZsWobP076RW2lmGcNL1p0aMWNS9fVygeeu8qTx/F41qxM4NkrxEbFYlXCCjtne7U0iDJDA0zNTdUS57zM1tEuz3OC8LEQY7pCDtuWb6F0hTK5Ls3V1dPNXjn2kmO7/TEyMWbA74MBOL73qEbqCdCqQlN2rdnO/Mlz6VCrLV3qfcX2lVsA2LthN72adKNDrbbMHvsP8gy52rX3bt5ldO/faO/dhg4+X/L3iGlquShio2L5e8Q0ejXpRrtqrenX+ju2r9zCy3Pbr569QqsKTbl+4Rrj+o+mnXdr+nzei5MHj2vmByAUOyLoCmoy5ZkEXblB1TrVCl3+1MHj1G5SB3sXB8p6lSfgDYOuUqEgKzNL7aswuSE2/G8tmfJMfvtrJL4tGrBg8jwWT1/IsT3+9Bs1gO6DenBw6wF2r92huiY8OIzfuv+ElrY2v0wbTv/Rgwg8d5W/R05TlUmMS8DcyoI+w/vz+7wJNP+qJStmLWP7ii056jBrzAwqVfdk1KyxOJV0Ytovk4mPiXujn4PwcRPDC4Kap08SkWfIsbazKVT5S6cu8jThqSqHQL3m9Vk4ZR5REY9y7JRQkNnjZjJ73Ey1Yx2+71TgzsFOJV34YcwgIPvB2/F9ARzcso/FB1aott0JPHeVU4dO4Ne9LQBr5q2khKMto2ePU+3aW8LRlp87DybkdjCuZdwoWb4UJctnp4hUKpVUqFqRlKQU9m/eq7rPc42/aErbnl8B4O5Rmi6+X3P++LlcM5MJnzYRdIW3cmyPP2aWZlR6llmsbjNf/jf1PwL2HKX9dx1e614d+nTG55Uk6BbP9mDLT5XaL3aSkEqllHC0xdjUWG2fMztne+7duKv6/uqZKzT/uiUoX2ztU7pCGfQN9Ll34w6uZdxQKBRsXrKRA5v3EhURRaY8e3gityTmL+9mYWxmgpmFmSp3gyC8TARdQY2xmQk6ujrEPIopsGxGegZnDp+kdpN6pCanAqCnr0eZSmUJ2Pv6QdfGvsQbZQczNH41wbp2ronYX07WnvgkgTVzV7Jm7soc93ve9i1LN7Jy1lI69OlMucrlMTQ24uTB42z837pc6vDq6+kgfyXBuyCACLrCK7R1tCnn5cGlkxfyzCH73PmAs6QkpXBwyz4ObtmX43xESLgqkfeHxtjUmHotGtCwdeMc5573rk8dOkmDVg1Ve74BnDlySmN1FD5OIugKOfh1/5IJA8dyZOchPmvVSO2cPCODGxev4+VThYA9R7GwtuDnP4e/UkbOHz+M4dgefzr168qHyLNGZcLuPci3Z52emqaW9D17PvIxTVRP+IiJoCvk4NOwNq27+PHPyOkEXbqBd/2a6Onr8eBOMDtXb8e7XnXKepbj7NHTNG/fMtctb6rUqUbA3qOvFXQfhUeqJQuH7PHTUuXd87jizXX+oRs/dhjIhEFjadimMUbGRsRERnPu2Fm6DeqBg6sjnjUrs2/DbtwrlMGyhBW71+7IMe1MEF6XCLpCrvqM+IFyXh7sXreDwzsOIc+QY+9sj2+LBnzxTTvO+J8mPTWd+p83zPX6Bp83ZNqwyYTcCca1tFuhXnPDwrVsWLhW7ZiNfQkWH1jx1u15laObE9NX/8OKmUuYOeovMuWZWNtZU7VOdcwss/d06/JDNxLinrDkr4Vo62jTyK8p1evXZO74We+8PsKnQyQxL4Y+xCTmguaJJObFk1gcIQiCoEEi6AqCIGiQCLqCIAgaJIKuIAiCBomgKwiCoEFiypigMXeu3Wb7qq0EXbpBZNjDQiWzAYh+GM28Cf9y9exlZIaGNG3XnM4/dFMlqgFYM3clV89e4fa1INJT09l2ZQ9a2lpq9+nVpBvRD6Ny3F9bR4etl3e9fQMFoRBE0BU05sal69y6chOPqhVIfJJQqGvkGXLG9BmOoZEhI/4eQ2xULP+b+h9SqZQuA7qryu3btBt7F0c8qlTk0skLud5r5KzfcyxumDRkPKUrvH6+B0F4UyLoChrTuosfft2+BLJ7nYVxfP8xHoVG8r/9y1Vb+6QkJbNq9nLaffs1+gb6ACw+sBKpVMrBLfvzDLqvrmx7cDeEuOjH1Pup/ps2SRBemxjTFTRGKn39t9vF4+cpV8VDbS+1us18SUtN48bFa29174A9R9HT18uxL5sgvE8i6AoftPDgcBzdnNSOWdvZoG+gT0RI+FvdO2DvUarVq46BoUHBhQXhHRFBV/igJSU+xeiVfLkAhiZGJCUkvfF979+8R0RIuGrHC0HQFBF0hU/Ssb3+6Bvo4+1bo6irInxiRNAVPmhGJsYkJyXnOJ6cmISRac4ecGGd2BdAjQY+qgdxgqApIugKHzRHN0fC74epHYt9FENaatob70px59ptIsMeUq+FmLUgaJ4IusIHrWpdb25euk5czGPVsRP7AzCQGeBRteIb3TNgrz8yIxne9aq/q2oKQqGJebqCxiTEPSHw3FUA0tPSCAsO4/i+7O1v6jbzBaCNZ3M69e2q2pesblNf1s1fzcTB4+ncvxuPo2JYOXs5X3zTTm1oIPDcVRLinnDn+m0ATh48jkQiwbmUC87uLqpySqWSgL3HqNmwNjq6uhpptyC8TARdQWMe3H3AlKETVN+fPHCckweOA7Dz+n4AFFkKFEqFqoyOrg7j509i7h//MmnwOAwMDWjTxY+O/bqo3XvVnOVcexbQAab+NBGATv270sX9xcq1oCs3iYmMxre5GFoQiobYOaIYEjtHCCB2jiiuxJiuIAiCBomgKwiCoEEi6AqCIGiQCLqCIAgaJGYvCG/t6O4j7Fm3k/tB95BnyLF1tKN2k7p8+U07Xn3YN2/CbHat2U7fkQNo1bkNAH+PmMahbQfyfY1O/bvS5YfutKrQNNfzXj5VmLho6hvVPyriEQe37qdNly8wNjPJt+zDBxF837Ink5ZMw7OG1xu9nvBpE0FXeCvzJ81h19odNGvfkna9vkbPQJ/goHvsXL2dtJRUev/WT1U2KyuLE/sDgOwFCs+Dbse+XWjRoZWq3OyxM7GytaJj3xfTwl5O7fhV74450jEaGhm+cRuiIqJYM3cln7VqVGDQFYS3JYKu8MZOHz7JjlXb+HHSLzTya6I67lnDixYdWnHj0nW18oHnrvLkcTyeNSsTePYKsVGxWJWwws7ZHjtne1U5maEBpuamlPMqn+vr2jra5XlOED50IugKb2zb8i2UrlBGLeA+p6unS2WfKmrHju32x8jEmAG/D6bP5704vvcoX3zTTiN13b12B9tWbCH6YRQyIxkly7kzZOLPRISEM6LnLwB83zJ7v7aK1T2ZsnQ6kD10smLWUuJj4vCoWpGvvuugkfoKHy8RdIU3kinPJOjKDdr2aF/o8qcOHqd2kzrYuzhQ1qs8AW8YdJUKBVmZWWrHJFJJnrtHXD1zmfmT59J1wDeUq+xBUuJTrp69QlpKKu4e7vQbNYB5E2bz24xRWNlaIzOUAXA78BZ//ToV35YN+KxVI24FBvH3iGmvXV9BeJkIusIbefokEXmGHGs7m0KVv3TqIk8TnqqShtdrXp+FU+YRFfGIEg62r/Xas8fNZPa4mWrH8ttZ+M7127iWceOr3h1Vx2o1qqP6t1Op7NwMJcuVwt7FQXV80+L1uJZx4+epvwFQrV51EuMT2bl622vVVxBeJqaMCRpxbI8/ZpZmVHr2xL9uM18kEgkBe46+9r069OnM3+tmq3217NQmz/Klyrtz/+Y9Fk79j+sXruXoJeflduAtajZUf2BXu3GdPEoLQuGInq7wRozNTNDR1SHmUUyBZTPSMzhz+CS1m9QjNTkVAD19PcpUKkvA3qO0f81xUhv7EpSuWPht0yvXqsqgP4aybfkWti3fjJGJMc2/akm3QT3Q0tbK87onj+MxszBTO2ZqaZZHaUEoHBF0hTeiraNNOS8PLp28QLdBPfItez7gLClJKRzcso+DW/blOB8REv7GCckLq8mXzWjyZTPiYh7jv+sIS2f8Dxt7G1p2bJ3nNWaW5jyJe6J2LOHxkzxKC0LhiOEF4Y35df+S24G3OLLzUI5z8owMrpy+BGRvdW5hbcGkJdPUvsbNn4S2tjbH9vhrrM4W1pa07dEe51KuhN4LBUBHJ7vvIZfL1cqWrliGM4dPqR07efCEZioqfLRET1d4Yz4Na9O6ix//jJxO0KUbeNeviZ6+Hg/uBLNz9Xa861WnrGc5zh49TfP2LXNdwVWlTjUC9h6lU7+uhX7dR+GRBF25qXZMR1eHUuXdcy2/as5ykhOTqehdCWMzE65fCCT0bgidnyVKt3dxQCqVsn/jHnxbfoahsSGObk606/UVP3cewvRfp/BZ68bcunqTM4dPvsZPSBByEkFXeCt9RvxAOS8Pdq/bweEdh5BnyLF3tse3RQO++KYdZ/xPk56aTv3PG+Z6fYPPGzJt2GRC7gTjWtqtUK+5YeFaNixcq3bMxr4Eiw+syLV86Qpl2LpsE/47D5GWmoatkx39Rw+kdpO6AJhamPHdr33YsmQjO1Ztw6NaRaYsnU5Zz/L8NOVXVsxawskDxylfpQJDJv7MyG9/fY2fkCCoE0nMiyGRxFwAkcS8uBJjuoIgCBokgq4gCIIGiaArCIKgQSLoCoIgaJAIuoIgCBokpowJGhN86z7/TZzNnWu3MbUw44tv2uHX7csCr7sQcI7V81YSeoCMr8UAACAASURBVCcEfZkBnjW96Dn0O6xsrQGQZ8iZ/usU7l6/TXxsPDIjQzyqVuCbH7/F4aUENq/WZfBX/TG3smDZ4dXvtJ2CkB/R0xU0IvFJIqN7/4aBoYwxc8bTuosfi6cv4EAuy4JfdufabcYPGIO9iwMjZo7hu1/7cDvwFuP6j0ahUACgUCjQ0tKiQ5/OjJ03gT4j+hMZ+pBR3/5KSlJyrvddMHkeJmam77ydglAQ0dMVNGLPup0olUp+mzEKfQN9KteqSkxkNGv/W0WTL5vled2J/QFYWFvy48SfVflyTcxMGN17OBHB4TiVckZPX49h00eoXVeyvDt9Wvbk+oVrVK9fU+3c8X3HiI6MovGXTTmyI+cSZkF4n0RPV9CIC8fP412vBvoG+qpjdZr5EhX+iIiQ8Dyvy8zMxEBmoJagXPZsPzSFUpHndSbPFo5kZmaqHU9PS2fRtAX0HPodOro6b9QWQXgbIugKGhEREoajm5PaMadn34cHh+V5XYPPP+Nh6EN2rNpKUmISj8IiWTFrCRW9K+Hi7qpWVvFsR4mYyGgWTJmHnZM9VWpXUyuzcdE6bOxtqNvM9900TBBekxheEDQiKTEJQxMjtWNGJsaqc3lxr1CG0bPHMWXoBOZPmgtk51IYv2BSjrKr/l3GugVrALB1smP8/ElqPevoh9FsWbKRKcumv3V7BOFNiZ6u8EELuR3MX79OoUGrhkxcNJXhf49GLpczYdDYHDtAtOzUhhlr/2XEP2MwszTn9z4jSXySqDq/ePoC6jSth3uFwidAF4R3TfR0BY0wMjEi5an6TIKkp0mqc3lZ+e9SXMuW5Icxg1TH3CuU5tum3Tlz5JQqUxiApY0lljaWlKlUlsq1q9KrcTf2rt/F19934ublG5z1P80/6+eoetbydDlKpZKkxCT09HXR0dV9l00WhFyJoCtohIOrU46x2/D72d+/Otb7soiQCKrVq652rISDLUYmxkSGPczzOpmhDDsnOx6FR2bfJzicjPQM+vv1zlG2Y6229P61L37d2xa6PYLwpkTQFTSiWl1vdqzaSnpaOnr6ekD2dDBbJ7t8t+qxtrPh3o27ascehUWSlPgUG/sSeV6X+CSR8JBwfBrVVr3+pCXq26cf2rqfc8fO8tuMUdg7279p0wThtYigK2hEiw6t2LFqK1OGTsCve1uCg+6xe+0Ofhg7WK1cG8/mdOrblU7PdnVo/nVLJg0ez6wxf1O3WT2SEpNYO28V1nY2eNerAcDRXUe4dPICVepUw9zKgpjIaLYu24Sung5N2zYHwNzaAnNrC7XXCjx3BR1dnVx3tBCE90UEXUEjTMxM+GPhFOZNmM24fqMwszCj50/f5VgYochSqM2/rd24Lr/8OZzNSzcQsMcffZkB5at40OPHbzEwNADAwc2RwzsOsnDKPJKfJmNhY4lnDS869x+fI9AKQlETO0cUQ2LnCAHEzhHFlZgyVkyJP5YCiPdAcSSCbjGkpa2d8jThaVFXQyhCSqWStJQ0HSCxwMLCB0UE3WJIKpUGXDp5QXRzPmG3A4OQamnFAo+Lui7C6xFBtxhKSUqet3ruytToh1FFXRWhCKSlpDJ/0tyUrMzM+UoxzlTsiAdpxZSunu4QqVQ62adRbWWFapUM9PTEaqqPnVyeScid4Iyju45kZmbIt6ampHZTKvNJtSZ8kETQLcYkEomjRCppbyCTVZVqSQ3f9D5ZmZl1JRLpA4VCUVFLS3pJIpFEKxQKZ4lEkiSRSmPfZZ0/BUql0lCpUNhLpdIQpRK9rKzM+lpaWueysrJqaGtr70QiebP7KhTpaalpt7IyszYB10Uvt3gSQfcTJ5FIJEAMcBM4CYQDw4DrwBClUhlUhNUrliQSiQUwA2gN/AfcA8YA+kANpVIZWoTVE4qYGNMVnAAjwBboDjQC2iqVyuYi4L4ZpVIZp1QqewDegCUwHYglO+hWy+dS4RMggq7QGtADrgHNlErlF0ql8lwR1+mjoFQqg5VKZV/Ak+xPEcZA16KtlVDUxPDCJ04ikRgDpZVK5cWirsvHTiKRuJD9OxdS1HURio4IuoIgCBqk0YQ3EonEWUtLq5OZmVlrpVJpKnnDp7hCsaFQKpXRcXFx64BNSqUyvqgr9DokEokt8LWOoV47CZgD4g1bfMkVCsWtzFT5KmCvUqnMLPCK90RjPV2JRNLAwMBgZ8eOHbXatGmjb2lpiQi6H7esrCwiIiJYs2ZN8pEjR5KTk5NrFpeP1hKJpIqWrpa/XWVnbftqLjI9Y32QivdrcaXMVJAYEa8M9r+VnBqfciYzTd5SqVRmFEVdNBJ0JRKJTE9PL3rPnj2Gn3322Xt/PeHDM2PGjKxx48bdTEhIqFTUdSmIRCKRaulqRVX7tp6lg7eriLQfEUWmgpMzD6Q+vh01LUue9XtR1EFTsxdaVqtWLUsE3E/XoEGDtBQKhbtEInEr6roUQh19U5meCLgfH6m2FI8vqhhItbV6FVkdNPEiurq6NVu2bGmiidcSPkza2trUrl07g+IxT7W6TUUHvaKuhPB+mJe0JkueaSuRSN54Fefb0FTQNTEyynvHV+HTYGpqKgWK5I3+mmQ6BjpiV5WPlEQiQaqtlQnIiuL1NbY4org+NHN1dWXUqFFFXY1CmTt3Ls2bN8fMzAyJRMLdu3dzlDl//jzdu3fH3d0diUSSa9sePXpEmzZtcHR0RE9PD0dHR3r16kVkZKRauR49eiCRSHJ8hYeH51q/YvUeKFaVfWHfsA3c2Fw8plzLUzK4suo0e3/ZwPZ+Kzn0+zYenMj5nlVkKgjacYV9v25kW5/l7Bu2gaAdV9TKbPl2aY6v49P35fnaRfmfK/6af0RWrFiBlpYWjRo1YvPmzbmWOXHiBKdPn6Zu3brExuaeyyYlJQUrKysmT56Mk5MToaGhjB07ltatW3PmzBm0tLRUZT09PZk/f77a9TY2Nu+uUcJH68KiAOKCY6nQtioySyMir4RxcfFxtPW0cfB2VZU7/79jxN2NpmzryhiVMCYlNom0hNQc9yvTshJ2lZ1U32sbfJiZ90TQ/YicOHECqVSKv79/nkF34MCBDB6cvQOvq6trrmVKlizJ4sWL1Y7Z2dnRtGlTgoKCqFChguq4sbExPj4+76YBwicjMz2TyCvhVOleC5e6pQGwLm9HfHAsEedDVEH30ZUwHl4MpdG4NhjbmeV7T0NrYyxKffh/8Is098KVK1do3LgxZmZmGBsb4+npydq1a1XnlyxZQq1atTAzM8Pa2prWrVtz/776HnwNGjSga9euLFiwABcXF4yNjenVqxdyuZwTJ05QrVo1jIyMaNy4MQ8fPlRd5+/vj0Qi4fDhwzRt2hSZTEapUqVYv359gfVev349lStXRl9fH0dHRyZOnKi2Z1lB7XpfpNKC/zsLUyY3lpaWAMjl8je6/mOQEBbH8en72DlgFTv6Z38cDj/z4v344Pgd/CfuYueAVewavIZTsw6SHKO+rVLAn3s4v/AYwUdvsfeXDezov5ILi4+jyFTw+E4UR8bvYHv/lRyfvo/U+BTVdTFBkWz5dikxNyM58dd+tvdbwf7fNhF+LrjAeoefC+bw2G1s67OcPT+v59bOK2rv14La9T4oFQpQKtF5pTeqY6CDUvGibg9O3MW6vG2BAbc4KdKerp+fHxUrVmTNmjXo6OgQGBjIkydPVOdDQ0P57rvvcHNzIykpiblz51KvXj3u3LmDTPZiDPzo0aNEREQwZ84cQkND+fHHH9HT0+P48eMMHz4cmUzGoEGD6N+/P1u3blWrQ48ePfjuu+8YOnQoK1asoHPnzri7u1O1atVc67xy5Uq++eYbBg0axJ9//sm1a9cYNWoURkZGqh5kQe3KTWZmwQtktLS0NDrUqFAoyMrKIiQkhN9++43atWvj5eWlVubSpUsYGxsjl8upWbMmU6ZMoVatWhqroyad/vcQxg7mePepj1RLSmJ4PPLUF/PrUx4n4+pbGkMrYzLT5dw/EsSxKXtoMqkt2novftVibz0iNT4Fr64+pD5OJnDdWbR0tHh8J4oyLT3R0tXi6pqzXFl5Cp+BjdTqcGHxcVzrlca9qQehp+5zfsExjGxMMHOxzLXOoafucWHRcUo1Lk+F9t4kRjzh5taLaOnp4N7Eo1Dtyo0iq+Dc6RKpJM/3q46BLvbVXLi9JxBje1MMLAyJuhpOzM1Iag1qrCoXHxyLXWUnLq88TdjJuygBOy8nvLr4oGukPsHk+qYLXF5xCh1Z9r0rtvdGR/bhDTEUWdCNiYnhwYMH7Nixg0qVsufLN27cWK3M77+/mLuclZVF48aNsba2Zs+ePbRr1051LjU1lR07dvB8hoS/vz///fcfp06dUn30ffjwIYMGDSIzMxNt7RfNbteuHWPGjAGgefPm3Lhxg6lTp7Ju3bocdVYqlQwfPpy+ffvy999/A9C0aVMyMjKYNGkSAwYMIC4ursB25UZHR6fAMkeOHKFBgwYFlntXunfvzqpVqwCoWrUqe/fuVfslqlq1Kj4+PpQvX56YmBimT59Ow4YNOXPmDJ6enhqrpyakP00j5XEyPoMaY+poDoCNh71amfJ+lVX/VioUWJe3Z/eQtUQFhquNUWbJs6g1qBHa+tn/57G3HhHsf4v6I1qqPh6nPUnl6pozKLIUSLVefDqxr+ZCuTbZr1OikiNPHz7h9p5AavRtkKPOSqWSG5su4NagLJ4da2RfU9EBRVYWt3dfpVSjcmQkZxTYrtxs+355gWXq/tIM63J2eZ737l2Ps/8d5dCYbUB2kK7yTW1sKrx4/fTEVEJP3MXU2YIa/RqQnpTOtfXnOL8ogNqDX/xeOddxx9bLCT0jPeJDHnNr5xUSI57g+1uLD+6ZaJEFXUtLS5ycnOjXrx+DBw+mYcOGqo+wzwUGBjJ8+HDOnDmj9tDnzp07auV8fHx4eUqau7s7hoaGamON7u7uZGVl8ejRIxwdHVXH/fz81O7l5+fHsmXLcq3z7du3CQ8Pp3379mo9088++4zhw4cTHh6Ok5NTge3KzblzBWdTLFu2bIFl3qU//viDQYMGcffuXSZOnEirVq0ICAhAVze79zBo0CC18i1btsTDw4M///yTlStXarSu75uuoR4GFoZcXnEK98YeWJW3Rc9IX61MQng81zddIP5+DBlJ6arjSdHqG/aal7RWBVwAQxtjtPS01cYjDW2MUSqUpCekYmDxYpbdyw+KAOyqOBF68l6udU6KSiQ1PgUHbxe1nql1OTtubLpIalwKBhaGBbYrNw1GtyqwjFEJ03zPX119lsSwOKp9Ww8DCxnRNyK5vOIUesb62Hplt1OpVKIEag5oqKqXtp42Z+Yc4WnkE9WwQ7VedVX3tSpri7GdKadmHiTmZmSh/ohoUpEFXalUyr59+xg+fDjdu3dHLpfTqFEj5syZg7u7O4mJiTRr1gxXV1dmz56Nk5MTurq6NGvWjLS0NLV7mZmpj/fo6urmegzIce2rT9qtra159OhRrnV+HvgbNmyY6/mwsDBcXFzybVdeKleunOe5516eNaAJbm5uuLm5UaNGDerWrYurqysbN26kc+fOuZaXyWQ0b96cY8eOabSemiCRSqj9YxNubLrA+UUBKLMUWJe3w6uLD0YlTJCnZnByxn5kVkZ4dfHBwMIQqbaUEzMOoJBnqd1L95WPvFJtaY6PwVLt7N5t1ivX6pkYqH9vrJ/rk3yAjKfZ7/Xj03KfOpUSn4zMyijfduXF1Mkiz3PPSfLJVfEk9DEhx25T79cWWJUpAWT/MUh7ksL1zRdVQVdHpoehtbHaHwKrcrYAJD5MyHOst0RFB7R0tXjy4LEIui8rX748W7duJT09nUOHDvHTTz/RpUsXzpw5w+nTp4mMjOTUqVO4uLgA2Q9xChobfV3R0dF4eHiovo+JicHW1jbXshYW2W+0ZcuWqV3z3POeaH7tysuHOLzwMmdnZywtLXM8yMzNh/Zx7l0xsTfDZ2AjsuRZxNyMJHD9Oc4vPEaDUa2IuxdDWkIq9Ud8jswq+1OXIlOBPOXd5lRJT0wF+xeBJv1pGvqmBrmW1THMHvOs9m1djO1zBqfnPdH82pWXtx1eSIrK7v2/GrzNnC2IOBei+t7YzhRFpvofnucK9Tb7AN+LH8SUMT09PVq2bMmtW7dU46spKdlPbp/3UCF71oBC8W43P922bZtaINu2bRvVq1fPtWzZsmWxt7cnLCyM7t27F3jv3NqVlw9xeOFlt2/fJjY2Fje3vFMnJCcns2fPHnx9fTVYM83T0tHC1tORpEcJ3Nx6CYCsjOzhpuc9VICI88HwjhNKRV4OUwtkkZfCMHe1yrWssa0p+mYyUuOSca6d96es53JrV17ednhB9mzIJCH0MVZlX3Ry4h88Rmb5YjjFtpIjQTuukP40DT3j7N5uzM3sT6Imz8agc/MoMJysjCzMnAvukWtakQXdq1ev8ssvv9CxY0fc3NyIiopizpw5qo/uPj4+yGQyevfuzZAhQwgKCmL69OmYmLzbFA6bNm3C3NycmjVrsnz5cq5evcrChQtzLSuVSpk2bRo9e/YkPj6exo0bI5FIuH37NocPH2bLli0Ftisv3t7eb92W8+fPExISwvXr1wHYu3cvtra2uLq6qu4fExPD0aNHgew/bEFBQWzcuBGA9u3bA/DXX3/x4MEDfH19sbKy4tatW0ydOpUyZcrQtm1bABISEmjVqhVdu3bF3d2dmJgYZsyYQUxMDMOGDXvrtnxoEsLiuLbhPI413JBZGZGemMb9I0FYlc8OgBalrNHS1ebispO4N/HgaWQCd/ddQ9ug4E8wr+PhhQfoynQxL2lN6Ml7JITHU6VH7VzLSqQSKn7lzcUlx8lIzsDGww4kEpKiEom5GYnPgIYFtisveQX6wjJztcLMxZLz/wugvF9lDCwMib7+kLBT9/DsVFNVzrVBGe4dvsnp2Ycp07ISGUnpXN94HseabhjZZMeC4KO3eBLyGGsPO/SM9IkPieXWrqtYli6BdQHtKApFFnRLlCiBlZUV48ePJzIyEgsLC1q2bMnUqVMBsLW1Zc2aNQwbNozWrVvj6enJ+vXrVb/078qSJUuYNGkSkydPxs7OjlWrVuUbADt37oyxsTGTJk1i7ty56OrqUrp0aTp27Fiodr1Ps2fPVnsIOHDgQAC++eYbli5dCsD169f56quvVGU2bdrEpk2bAFRzNz09Pdm5cyerV68mOTkZZ2dnvvjiC0aOHImBQfZHWT09PaysrJgwYQLR0dHo6+tTp04djh07ppq18THRMzFA10ifoB1XSHuSgq6hHiU8HanQPjt/j76pjOp9fLm24TynZh3C1NGc6n0bcGbukXdaj6o963B7VyC3dgeib2pA9d718g2ATj4l0dbX4dauqwT7ByHVkmJYwgTHGm6Fatf7ItWS4jOwETc2X+Dm1ktkJGdgaG2EV+eauDUopyqnK9Oj7s/NuLrqDOf+80eqo42DtwuVOrz4NGpobUzoyXtEnA8hM12OvqkMl7ql8fiiygc51KWRfLrGxsbzJ06c+P2rT7uLkr+/P5999hl37tzJ9wGX8O506NAhaf369QOUSmXu00M+EBKJZFSZzz3HV2hb9YP5jY0JiuT4tH00mdQ23wdcQuHs6L8yLTM901mpVMZo+rXFbsCCIAgaJIKuIAiCBn0QsxeKQoMGDRA7IQvFhXU5O75c1KOoqyG8A6KnKwiCoEEfXU937dq1zJs3j8uXL5Oenk7JkiVp164dQ4cOxdxcfV7fgAEDmDNnDrNnz+aHH34AshPg5LUM+Lnff/+dsWPH5vlktFGjRhw8ePDdNEj4aISfuc99/1skhMWhkGdhaG2MfTUX3JtWQNdQPXnLlVWnuX84CK8uNSnZsDyQnX82ryW/z5Vr40V5vyps+XZpruety9tR9+dm76Q9wpv5qILuoEGDmDt3Lr1792bYsGEYGhpy+fJlZs+eTVJSkipJDWQn0Hk+P3XdunWqoDt69Gj69u2rKtenTx8cHR0ZPXq06tjLuRuGDx9OmzZt1Ophapr/mnPh03Nl9RmCjwTh6luGMs0roqWnTUJYHPcPB5GZnqlKSAPZyXIizocAEH42RBV0y7b2wq3BiwUyl5afwsDckHKtXyQXMjB/sbDg1aTe8OEm9v6UfDRBd9u2bfz7778sW7ZMbbVYgwYN6Nu3LydOnFAr7+/vT1RUFA0bNuTIkSNERETg4OBAqVKlKFWqlKqcsbEx1tbWeSbqLlmypEjiLeTr4aVQ7h+6SbVv66qtDLMuZ4dbg7I8vhOtVj4m6BHpiWlYl7Mj5lYkqfHJGJgbZi8GsHkxXUxbXwc9Y708E3cXl6Ten5qPZkz3n3/+wdvbO9flufr6+jRqpJ6XdO3atZibm6u2milM8vJ3RSKRMHfuXAYPHoy5uTk2NjbMmjULgIULF+Lq6oq5uTl9+vQhI0N97f6lS5do2rQpRkZGmJmZ0aNHDxISElTnIyIi6NGjB66urshkMjw8PJg1a5baQ8PnCdyPHz9O69atMTQ0pGzZsmzZskUzP4BPzL0DNzBztcx1Ka6WjnaOhCzhZ4PRkelSuXt2XuKXcxG8b1u+Xcr9w0FcXX2GnQNXs2vIWu4dvAFA8NHb7Bu2gZ0DV3Np+ckcORGePHicnWC9/0p2DljFhUUBarknUuOTubAogH3DNrC93woOjtrCvYM31N6bz5O1x96J4tSsg2zvt5IDIzbz8OIDzfwANOCjCLpyuZxTp07RrFnhxqrkcjmbN2+mbdu2uLu74+Pjk2v+3MJQKBRkZmaqfRUmP8TkyZPJyMhg/fr1dOzYkcGDBzNs2DDWrl3LnDlzmDhxIkuXLmXu3Lmqa27duoWvry86OjqsWbOGefPm4e/vT48ePVRlnifsmTVrFrt37+b7779n1KhRzJw5M0cdvv32W+rXr8/WrVspX748nTp1yjPDmvBmFJkK4u5FU6KCQ6HLP7wYin01F4xKmGBR0rpQu0PkRqlUoshSqH29vCtDXm7vvooiS0GNvg1wrOHG1TVnubbhPBFng/Hq4oPHl1UJPXGX+0eCVNc8fZRAwNQ9SLSkVP++Pl7dahF76xEXFh9XlUl/moaeqQGenWtSa3BjXOuX4caWS6qg/rJLS05gVcYWnwENMbYz5dz8o6QlpOQoVxx9FMMLjx8/Jj09HWdn50KVP3DgAHFxcaqlux06dGDIkCGEhITkuW9YXvr06UOfPn3Ujo0cOZIJEybke52Hhwfz5s0Dsh+8bdiwgcWLF/PgwQMMDbPH5fz9/dmyZQtDhgwBYPz48bi5ubF9+3ZVmkc3Nzdq1apFYGAglSpVonLlyqo0kUqlkrp165KYmMiiRYtU93muZ8+e/PzzzwBUq1YNGxsb9uzZQ8+ePV/rZyDkLSM5DUWmAgPLwu08H33jIfLkdNUyXYfqbgSuPUty7FMMrYxf67UvLz/F5eWn1I6V/dwTj7a574rynLG9GZW7ZfeyrcvbEXE+hAfH79Dsz/Zo671IvP7wYijuTbL3ywvafgWZtTG1BjVE8mxLKEMrI45O2k1CeDymjuaYOVti5pydW1qpVGJZugSZqXIeBNxR3ec557rulG5eEQAzF0t2/7iWqMAI1X5qxdlHEXRf19q1a7GxseGzzz4D4KuvvuLHH39k3bp1/Prrr691r1GjRuVIhG5vX3D+ziZNmqj+LZVKcXNzw8LCQhVwITvx+sWLL7bTPnz4MH369EGpVKqSqHt7e2NoaMjFixepVKkSCoWC6dOns2jRIkJCQlTDE3p66k/HQX1HCwsLC2xsbIiIiChky4X3IfxsMHom+lg/yxnr4O1K4LqzRJwNoUzL18tpUbaVJ3ZV1Dsi+qayPEq/8PJwh0QqwdDKCB1DPVXAhewk609CH6u+jwmKxK1+GZRKUD5LmG7maoWWnjZPHjzG1NEcpULJnX3XeBBwh5THSSgys8u9nJkttzroGumhZ6yvtmdccfZRBF1LS0v09PQICwsrsGxaWhrbtm2jXbt2PH2avWmgTCajRo0abxR0XVxc3ihDWGETr7+cdD02NpZx48Yxbty4HPd73va//vqLUaNGMWrUKNWmnps3b2bKlCmFqsOrSd6Ft6NrqI9UW0pqXHKBZbPkmUReDsW+qgvytOwNQLX0tDB3syL8XPBrB12ZpdEbZQPLLaF6bonXX06wnpGURtD2KwRtv5Ljfs/bfmf/dW5suUS5Vp5YlLJBR6bLw4sPuL07MGcdDHK+3qvJ4IurjyLo6ujoUKtWLfbv388ff/yRb9k9e/aQmJjIkiVLWLJkSY7zt2/fpkyZMu+rqm/FwsKCjh070q1btxznnveut2zZQpcuXdTy927fvl1jdRTUSbWlWJSyIfr6Qzy+zP9jfVRgBJmpckJP3CX0xN0c558+SsDY9sOcjqhrqIdjdTecapfKce557zry4gOcfEqq9ngDiLwcqrE6fig+iqALMGTIEL744gtWrVpFly5d1M6lp6dz4sQJGjZsyNq1a7Gzs2P16tU5yrRu3Zp169apzcn9kDRs2JAbN27k27NOSUlRS/yelZXFhg0bNFE9IQ+lmnhwZvZhwk7fw8lHPShlybOIuxuNdXk7ws8Go29qgPf36kngFZkKTs06RMS5EMq1Vt+N+UNhXc6OxMgn+fasszIy1YYSXp6P/Cn5aIKun58fAwcOpEePHpw8eZLPP/8cmUxGYGAgs2fPpmXLltSsWZOdO3fy/fff57rtTdOmTV876N6/f5/Tp0+rHdPT06NKlSpv26Qcxo4dS/Xq1fnyyy/p3r07ZmZmhIaGsmvXLiZMmECZMmVo2LAhCxYswNvbGwcHB+bOnUt6enrBNxfeG/sqzpRsVJ4Li4/z+G4Mtp6OaOlqkRjxhPuHblLC0xHzklY8uhKOa/0yuW5xY1PBnvCzwa8VdJNjnhJ3T30OsFRbK8/t2t9Gg0T4YwAAHAxJREFUOb/K+P+xk9OzD+NcuxQ6Ml1SHicTdTWc8l9WwdjWFKtydoQcu42ZixUG5jLuHwlSjet+Sj6aoAswa9YsatWqxbx581ixYgXp6em4u7vTsWNHhg4dyo4dO0hJSclzY8UuXbrQuXNnrl27RsWKFQv1mpMnT2by5Mlqx1xcXAgJCXnb5uRQtmxZTp06xciRI+nZsycZGRk4OzvTvHlzSpTI3txv7NixREdH88svv6Crq0uPHj1o1aoV/fr1e+f1EQrPq3NNLEpZE3zkFmGn7qHIzMLQJjuZuHvTCjy6HEZWRiZONUvmer2TT0nOLzhGYnh8vtvUvOz27sAc46UyS0Oa/flVHle8OWNbU+qPaMmNzRe5uPg4iiwFBhaGlKjogP6zzTTL+1Um42ka1zecQ6KthUsdd+y8HLm84nQBd/+4fLJJzAXNE0nMhQ+FSGIuCILwiRBBVxAEQYNE0BUEQdAgEXQFQRA0SARdQRAEDfqopoy9D1evXmXAgAGcO3cOGxsbhg4dyuDBgwt9fWpqKuXKlSM0NFRtu/eHDx8yY8YM9u/fz/3797GysuLzzz9nwoQJajtcnD9/nlmzZnHy5Enu3btXqGQ6wqchPiSWewdvEncvmuTop4VKZpPf7hO+w1ti6Z6dfzclNomra84QfTMSqZYU+2ouVOpQXW15bpY8i1u7rhJ++j5pCSkYWBji6lsG96YV8txVRRBBN1+PHz+mSZMmeHt7s2PHDi5fvszPP/+MiYlJoTNxTZ06NdfFCRcvXmTbtm307t2b6tWrExYWxujRo7l27RpHjhxB+ixT04kTJzh9+jR169YlNjb2nbZPKN4e34km7n4Mlu42ZDwtXM6MV3efALi16ypx92Iwd8teTabIUnDinwNoaUvx7u1LZqqcaxvPk5aQSu3BL5IkXd94ngcBd/BoVw0TBzMe34nm+sYLAJRuVrh57p8iEXTz8d9//6FUKtmwYQMymYzGjRsTGhrKH3/8UaigGxoayowZM5g6dSr9+/dXO1e3bl1u3ryJtvaL/wI3Nzd8fX05f/48NWpkb98ycOBAVc/6ddNOCh+3Uo3K497EA4B9wwq31PvV3SeUCgXxwbHYV3VBqpX9hz7iXAjJ0Yk0ndQOmZURALqGupyadYi4+zH/b+/Oo5q88gaOfwOEsIVVEBANiwguVVBcEHXauo60ta+WY6eLo+NY9dWx1dbWarU6ntaO49HKuIzT9q22toOKtkytothC6wrYioKyVAHBDdn3hGzvHynByCLaMYrczzk5x9znPk+eaPLzyX3u/f1w9XcHDBnRAsb0IWC0oZyQe7AX1dcruZqaL4JuG8SYbhvi4+OZOHEidnZN6fCioqLIy8sjJyfnjvu/8cYbTJs2jd69ezfb5uzsbBJwAWMe3Ly8pqTVjVe8gnA7icVv/wlfkl2EqkpJt8G+xrbKwjIcPByNARfAvY8XSKAo/YqxTafVY3Vb9jGprRRzLLjqyMQ3ug3Z2dkEBwebtDU+z87ObnPfpKQkjhw50mIaxtacPGlION047isI99uVVNP8vWAYq709x63EwgKJREL19abSUIqInuR9n0lZbjEapZqijKsUJufi97jpd0YwJYYX2lBeXt4s52zjTa7y8vJW99Nqtbz66qssX74cN7f2JRdRqVS8+eabREREMGjQoHs/aUFoJ51Wx7WfLtNtsJ+x2gOAg4ecy0d/QV3XYMytW1lQhl6nR13bVPOsX1QY2gYNP7z3rbGt96QQfEd2/OoO95MIuvfBtm3bqK+vZ/78+e3eZ/78+eTn55OcnHwfz0wQmhRnXqehRoXPLUMLAD5D/bnw1RnOfHaCx6YORqNUk7bzpGE445YL4JyD6Vw9nU/Iy8OQezlTlltM1n/SkDnaNrtZJzQRQbcNLi4uJpV2ASoqKozbWlJTU8Py5cvZsGEDtbW1xjaA6upqamtrTUrygCFT2fbt2zlw4ABBQeLDKpjH1dR8bJztcAvsatIuk9sw6M8jObP9OPFv7AEJ+I7sBXqMGcNU1Uoy49IYOD2CHr8mLu8S5Im2Qcv52NP4jur1XxlzfhSJoNuGoKAgsrKyTNoan7cWHEtKSigrK+OPf/xjs20DBw5k0qRJfP3118a2nTt3smzZMj766COTummCcD8Zqg5fpsfwgBaDo3doDzwf86HmRiXWckONsm9fjTEWhqwtrkav1eHUw9VkP2eFK+p6NQ21KmRyG7O8l45GBN02TJgwgejoaOrr67G1NfwPHxsbi7+/f6slfTw9PUlMTDRpS0tLY+HChezcuZMBA5qSUB85coQ//elPLFu2jJkzZ96/NyIIt7l5/irquga6DfZrtY+FlYUxd2/ByUvotDrjLAe7X6sbNxadbFSRX4qlzAprh+aFUAUDEXTbMGfOHKKjo43Vgs+ePcuWLVvYtm2bST8rKytWrFjBihUrsLGxabEqBcDQoUONMxMyMzOZMmUKoaGhREZGmlSf8PHxwcfHB4Di4mJ++OEHwFCKJysri9jYWACee+65//ZbFjoQVbWSkuwbAGgatFTfqDSWv+kW5gvA17N2EPz0AJO6ZABXUvOxdbXHNcC9xWOn706lS6+uWFhZUppTRE58BgNeGGK8erVxssMzpDvpu1LRqtTGMd2c+Az8nwgWK9LaIIJuG9zc3EhISGDevHlERkbi4eHB2rVrmy2M0Gq16HR3V3YkOTmZqqoqUlJSCA8PN9n27rvvsnLlSgDOnz9PVFRTpv+9e/eyd+9eADEfspOrulpOytYk4/NrP13m2k+XAfifT6YDoNfpm31OtGot19MKDOOurQTHuuIafj5xCU19A3IvZ8JmjsDntqoWYTNHkhl3hl8OnUdZWY+dqz1Bkf0JnCAWRrRFVI4QzEZUjhAeFqJyhCAIQichgq4gCIIZiaArCIJgRiLoCoIgmFGnnL0QExPD1q1bSUtLQ6VS4e/vz5QpU1i0aFGzlWbz589n8+bNbNq0iXnz5gEwffp0duxo+15Q4wyE1u4Ojx49miNHjtzT+efn57N9+3YWLFiAq6trm30vXrxIYGAgiYmJrU5lEx4eV5JzyU3KprKwDJ1ai727HO9BCnqO64u1venc17NfnCL3+ywGvDgU/ycNmezaSlLeKPiZAfSeFMpXM7e3uN29txcj3hh/T+dfW1JNwfGLBIzuc8e5ujVFVSQs3ceIxeNxD/a6p9friDpd0F2wYAFbtmxh1qxZvPnmm9jb25OWlsamTZuoqalhw4YNxr5ardY4J3bXrl3GoLt8+XLmzJlj7Dd79mx8fHxYvny5sa1xni3A22+/zTPPPGNyHk5OTvf8HvLz81m1ahUvvfTSHYOu0HGc/TKZvMQsfEf1oteEfljKrKgsLCP3+yw0Kg39nx9i7KvX6Yxzcq+k5BuD7u1Jys98dhJbF3uCn+5vbLN1aVqG3mviY3iFdDc5Dytb03SNd6OupIas/5yl+7AAsUCiFZ0q6MbFxfGPf/yDHTt2MG3aNGP7448/zpw5czh+/LhJ/6SkJIqKinjyySdJTEzk6tWrdOvWjYCAAAICAoz95HI57u7uDBs2rMXX9ff3b3WbIABcO1NA7neZDJo5gh7Dm1J7ugd74fd4EKW/3DTpX5x1A1WVEvdgL4qzr1NfXouti32zJOVWNlJkchmuAR4tvq69u7zVbcL90anGdD/88EPCwsJMAm4jGxsbRo8ebdIWExODi4uLcQXa7t27zXKeAFu3biUoKAgbGxs8PDwYP348165dIykpiSeeeAKAwMBAJBKJybBBTEwMAQEB2NnZMX78eAoLC812zsK9u5RwAWdfN5OA28hSaoVHH2+TtispeUjtrAmZZlhYczU13xynCUBuYhYJS/cRN/szvn0thuPrD1NfXkdx1nWO/f0QAAlL9/HVzO0cXXuw6ZyTczm8ZC//mfv5r/vUmu2cHyadJuiq1WpOnjzJ+PHtG6tSq9Xs27ePyZMn07NnT4YNG8auXbvu6bV1Oh0ajcbk0dYKtsTERBYsWMCMGTM4dOgQ//rXvwgODqampoaBAweyefNmAPbs2cPJkyfZsmULAKmpqbz44ouEh4ezb98+hg8f3mLiHeHhotPoKLt0k659u7W7/7WfC/AepMChqyOu/u5cSc27844t0Ov16LQ6k4de1/qCqeKs65z7dzI9RvQkYtE4QqeFI/d0QqNS46xwY8CLhl90Q+Y+zu+WTmTAS4b/FMrzSkj96CiuAe4M/d8ncA3w4KdPjt3TOXd0nWZ4obS0FJVKRY8ePdrVPyEhgbKyMp5//nkApk6dymuvvUZ+fv5d1yqbPXs2s2fPNmlrq6rv6dOn6d+/P0uWLDG2Pfvss8Y/9+ljqIsVEhJiUmVi7dq19O/fn507dwKGhD0lJSVs2rTprs5XMK+GWiU6jQ5bN/s7dwZuXriGulaFzxBDsppug/1Ij0mhtqQa+y7yu3rttM9OkvbZSZO2tqoKl+eX4uTjStDEpjFi74EK45/l3oZ7FU7dXXHo2jTMkXMwHScfF8JmjQKg62M+NNQoyf3eNItfZ9BprnTvVkxMDB4eHsaf8lFRUUgkknu62n3nnXdITU01edxeqPJWoaGhnDlzhkWLFnHs2DE0Gk27XiclJYVJkyaZtE2ePPmuz1d4uF1JMS2x0y3MFyRwNSX/ro8V9FR/Hl/+lMnD74nWy+0493CloqCUczEplPxShE7bvpwj5XkleIWa3rDzHqRopfejrdMEXTc3N2QyWbvGOJVKJXFxcURGRlJdXU1FRQV2dnYMGTLknoKuQqEgLCzM5OHt7d1q/zFjxvDJJ5/w3XffMXLkSDw8PFiyZMkdg29RUREeHqY3RW5/Ljx8rO1tsLCyoL7szmOcWrWG62kFdH3MB7VSTUOdCkuZJS5+Xe5piMHOzQEX3y4mD1sXu1b7e/TxZuD0CIozr3P0g4MceC2GjNjTdwy+qqp6ZHJbk7bOmm+30wwvSKVSwsPDOXz4MKtXr26z78GDB6mqquLTTz/l008/bbY9Jyen1Xy6/y0zZsxgxowZXL9+nS+//JK33noLhULB3LlzW92na9eu3Lxpepf79ufCw8fCygLXAA9unr9Gn/9p+Wd9o6L0q2jq1RQcv0jB8YvNtlffqETuee/TEdtDMSIQxYhAlBV1FCbncj72J+zcHPBv4wpZ5miLqrrepE1Vrbyv5/mw6jRXugCvvfYaKSkpfPHFF822qVQqvv/+e8AwtODl5UViYqLJIz4+HqlUes831O6Fl5cXr7/+On379uXChQsAWFtbG8/5VoMHDyYuLs6kbd++feY5UeE3CRjbh/K8EgpPNV/YoFVrKc68DhiGFmycbBmxeLzJY/jCsUgsLcw6i8HG2Y7A8f2QeztTfc1QxsrCyhIAnUZr0tfFrwvXz5j+ymxMQ9nZdJorXYBJkybxl7/8henTp3PixAkiIyOxs7MjPT2dTZs2MXHiRIYOHcr+/ft55ZVXWlzBNW7cOHbt2mWyEOJOcnNzTZKUA8hkMkJDQ1vsv3LlSioqKhg1ahRubm4cPXqUjIwM3n33XcAwVczCwoKPP/6YP/zhDzg5OREUFMTixYsJDw/npZde4uWXX+bUqVPNgrDwcPIO7YH/6N789H/HKL1YjGd/HyytLam6WkHud5l07e+Di38Xbpy9gu/verW4gsujrzdXUvIIfnpAC6/Qstriasoumf4asrCyxFnRchXrzLgzqOsacOvlicxBRklOEVVXK4xJ0h26OoJEQv7RX/AZ4ofUzhq5pxOBE/rxw/vfcvqjH+keHkDZpWKup3XO6YydKugCREdHEx4eztatW/n8889RqVT07NmT559/nkWLFvHNN99QV1fHCy+80OL+L774Ii+88AIZGRn069e+ZM1r1qxhzZo1Jm0KhYL8/PwW+4eFhbF+/Xp27txJbW0tAQEBbN261XhTzN3dnQ0bNrBu3Tqio6MZOXIkSUlJDB061Fhzbe/evURERLB9+/Zm84+Fh9OAF4biGuBOXmI2hScvodNosfdwxGeIHz3H9eVGWiHaBg3db0sm3qj7MH9O/+tHqq6UG8vs3EnOgXRyDqSbtNm52TN+bVSL/Z19u3Dx8HkKT+WiUWmwd5cT8vIwuv16U0wmt6H/84P55dB5Lh3JpEsvD0a++Xtc/d0J+/MoLnz1M1d/uoxbTw8G/WkEx9Yduou/oUeDSGIumI1IYi48LEQSc0EQhE5CBF1BEAQzEkFXEATBjETQFQRBMCMRdAVBEMxIBN07OHfuHKNGjcLW1haFQsHGjRvvuE9SUhISiaTZ4/YENzqdjpUrV+Lt7Y29vT2///3vm00j0+l0rFq1Ch8fH2xtbQkPD28251fonCoLy/jxg4PEzfmc+MV7uJhw4a721zZoiF+8h69mbqemqMrYrtNoSd6SyKG3Yomb8zkHFsaQvCXRpA8YMpRdTDhPwrJ9/Gfu5xx6K5bz+35Gq25frpDOqtPN070bpaWljB07lrCwML755hvS0tJ44403cHR0ZMaMGXfcf8+ePSYVJLp3N0348d5777Fu3TrWr1+PQqFg1apVjBs3jvT0dGQyQ9b9999/nw8++ID333+f3r17s3nzZsaNG0daWhr+/i3P1xQefaoaJcfXH8ZZ0YXwBaOpLCgjY08qUlspihGB7TpGzsH0ZivHAPQ6PRaWFgQ91R97dzmqaiU5357j2LpDjP7rJKS/Vpa4dOQCGbtP0/vZUFwD3Km6Us75fT+jqW8wpngUmhNBtw3//Oc/0ev17NmzBzs7O8aMGUNBQQGrV69uV9C9PfXirerr6/n73//Ou+++yyuvvALAgAEDUCgU7Nq1i2nTpqFSqfjb3/7GO++8w8KFCwF48skn8ff3Z926dcY8ukLnk5+UjV5vyFtrJTMkOa8rqyXrm7PtCrp1pTVcPHyBvs8N4uxO019OltZWDJ79O5M25x5uJCzdR2lOEZ4DDBcPV1Ly8BniR1CkIc2je7AXyioll4/miKDbBjG80Ib4+HgmTpyInV1T1qWoqCjy8vLIycn5Tcc+ceIE1dXVREU1rfzx9PRkxIgRxMfHA4blwzU1NYwdO9bYx9rampEjR3LgwIHf9PpCx1aUcRXPx7phJWu6buoW5ktdSQ3VNyrvuH/G7tP0GB6A3Kt9yXEai2Lemk1Mr9U3q6cmtZW2mQRdEEG3TdnZ2QQHm2ZOanyenZ19x/0jIiKwtLQ0XpneuvovOzsbGxubZgnRg4ODjceurzdkZWpMcNNIJpNRUFBg3C50PtU3qnC4LWA2BtCaG1Ut7WJUnHWdmxeuETwppM1+ep2hqkRdWS3n/p2MvYccj1uqW/SI6MmV5FxuXriGRqmm7NJNcr/PajMfryCGF9pUXl6Os7OzSVtjifby8vJW93NycmLJkiWMGjUKqVTK/v37eeuttygvL+e9994z7t9SRWAXFxfjsQMCApBIJKSmphIS0vQFOX36NHq9nvLycmxtbZsdQ3j0qetUWNvddpX563N1naqlXQBDFeFz/04h+OkByBzazmeb+fUZsr89BxgKWA5fONbkyjpgdG809Q0cX38Yfr2eUIwIpM+zLSdyEgxE0L0PQkNDTTKIjRkzBmtra9avX8/bb7+Ng4NDu47j5OTE1KlTWbVqFX369CEoKIiNGzeSlWUocWJhIX6oCHcnLykHrVprLNneFr8ngvEK7UFdWS0XD2Vw4sMEfrcs0hisC05cIudgBn2fC8PVrwtV1yq48NUZZI429J0y6H6/lQ5LfGvb4OLiQmWl6fhYRUWFcdvdmDx5Mkql0pgTt6VjNx7/1mN/+OGH+Pr6MmLECNzd3dm7dy8LFixAKpXi5tZy+j3h0Se1k6GuU5u0qesajNtaolGqufD1GYKf6o+mwVB1QqPSGLdpVKbHs3Wxw8WvC90GKRi+cBwNNSryfzDcy9Dr9JyLSSFwQj96TehHlyBP/J8I5rGpg/klPgNVlRj6ao240m1DUFCQ8aqyUePzoKCgezqmRCIx7q9UKrl8+TIKRVOtqKysLJNjd+3alWPHjnH58mXq6uoICgri1VdfJSQkBKlUek/nIHR8ck/HZjfMGp87eDq2tAuqGiXqWlWLVXgT//oNXiHdGfaXltOASm2l2HvIqS2uBqDh12M5dXc16efcwxW9Tk9daS0yRzH01RIRdNswYcIEoqOjqa+vN46dxsbG4u/vf9flemJjY7GxsTFW8o2IiEAulxMbG8vrr78OGGqcHT16lI8++qjZ/o2BuaysjN27d7Ny5crf8M6Ejq5rv25c+i4TbYMGS2vD1/ja6Xzs3eWtlutprDhxq8rCMtJjUgmbNRInH9cW9wNDwK65UYV3qKGatrWDDZbWllRcLsUrpGn+ecXlUsCQk1domQi6bZgzZw7R0dFERUWxcOFCzp49y5YtW9i2bZtJPysrK1asWMGKFSsAmDt3Lu7u7gwePBhra2v279/Pli1bWLp0Kfb2hg+jjY0NixcvZuXKlTg6OhoXRygUCmPZd4AdO3ag0+nw8/MjNzeXNWvW0KtXL2bNmmW+vwjhoeP7eBCXvsskeWsSPcf2obKwnNzEbEKnhZv0+3rWDoKfHkDwMyFYSq1arDgB4OLnbiyZXpicy83z1+ja1xuZky31ZbVcPHweC6klipGGOcASCwm+I3vxS3y6ocabvztV1yrI/PoM3gMV4iq3DSLotsHNzY2EhATmzZtHZGQkHh4erF27ttnCCK1Wi07XNH8xODiYjz/+mPXr16NWqwkMDGTjxo3MmzfPZL9ly5ah0WhYsWIFlZWVjBo1ip07d5pMEdNqtXzwwQcUFBTg6urK1KlTWb16NVZW4p+uM5M52BCxaBxnvzjFyY1HkDna0i9qULOFEXqdnrstVCD3dKLw5CXOxaSgrmvAxtkO92Avhi0Iwcapac5636hBSO1lXD5+kez9Z5E52tIjoie97zAVrbMTlSMEsxGVI4SHRaeoHGGO4C483DrUZ6BDnaxwtx7kP65Zgq5SqSwvLy8XH+JOrqSkRAdUP+jzaIfqhprb5k8JjwydVodOrZUCNQ/i9c0SdDUazY9xcXEd4csm3CdKpZJTp07JgBMP+lza4diNc4VqcbH7aCrNKcLKRpqr1+sfyGRicw0vHMnOztZ8+eWX4lPcCen1epYuXdpgbW2dqtfrbzzo82mHn9X16pJLRzKb5z0UOjR1fQPpu1LrNEr1A0vRZ5YbaQASiaSfra3tj2FhYVZTpkyRu7m5iWWsjzitVkthYaHuiy++qC0oKLheU1MzXK/Xlz7o82oPiUTia2ltdVLu7WznM8RXLnO0lTQubBE6Hp1GS2VhWUPhyVyNVqPdpVVp/qzX63V33vO/z2xBF0AikTgAkXK5fLxUKnVDLEN+1GmVSuXVurq6OCBRr9d3qHFSiURiA4y3lFk9ZWFl4SFBIj6vHZRer1dqVJosvVa3G8jQP8CxI7MGXUEQhM5O/M8tCIJgRiLoCoIgmJEIuoIgCGYkgq4gCIIZiaArCIJgRiLoCoIgmJEIuoIgCGYkgq4gCIIZiaArCIJgRiLoCoIgmJEIuoIgCGYkgq4gCIIZiaArCIJgRv8PTM7cwIYvyIIAAAAASUVORK5CYII=\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "WCtJ48zI9cGi" - }, - "source": [ - "#### Make tree-based policy recommendations from CATE model" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "SZL7vB1_9cGi", - "outputId": "b085ab61-7631-4959-b5e8-ed458e8e80d1" - }, - "source": [ - "from econml.cate_interpreter import SingleTreePolicyInterpreter\n", - "\n", - "intrp = SingleTreePolicyInterpreter(max_depth=1)\n", - "intrp.interpret(est, X, sample_treatment_costs=0.2)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 65 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "-tWTr9ha9cGi" - }, - "source": [ - "intrp.export_graphviz(out_file='policy_tree.dot')" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 279 - }, - "id": "J90REc4o9cGi", - "outputId": "44988977-d39f-4fec-cca2-fe02014c6bc9" - }, - "source": [ - "intrp.plot()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "YMzp0si39cGj" - }, - "source": [ - "#### Interpret CATE model with SHAP" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "FS1Uy2V-9cGj" - }, - "source": [ - "shap_values = est.shap_values(X)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 194 - }, - "id": "cXdMGuBY9cGj", - "outputId": "f980abf2-c1ed-4305-f76c-48fae99331d8" - }, - "source": [ - "import shap\n", - "\n", - "# effect heterogeneity feature importances with summary plot\n", - "shap.summary_plot(shap_values['Y0']['T0_1'])" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 193 - }, - "id": "rowyWQ_l9cGj", - "outputId": "0dc74436-6ca5-417b-e45c-b260c20b6e19" - }, - "source": [ - "shap.initjs()\n", - "# explain the heterogeneity of the effect of any single sample\n", - "shap.force_plot(shap_values['Y0']['T0_1'][0])" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/html": [ - "
" - ], - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "
\n", - "
\n", - " Visualization omitted, Javascript library not loaded!
\n", - " Have you run `initjs()` in this notebook? If this notebook was from another\n", - " user you must also trust this notebook (File -> Trust notebook). If you are viewing\n", - " this notebook on github the Javascript has been stripped for security. If you are using\n", - " JupyterLab this error is because a JupyterLab extension has not yet been written.\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 70 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "dA1nRbFK9cGk" - }, - "source": [ - "# 5. Validation and Sensitivity" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "Nds7Fwyg9cGl" - }, - "source": [ - "y, T, Z, X, W = gen_data_iv(2000)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "-zHcWkF19cGl" - }, - "source": [ - "#### Instantiate any CATE model" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "0nMA97Jh9cGl" - }, - "source": [ - "from econml.iv.dml import OrthoIV\n", - "\n", - "est = OrthoIV(model_y_xw=RandomForestRegressor(), # ML model for E[Y|X,W]\n", - " model_t_xw=RandomForestRegressor(), # ML model for E[Y|X,W]\n", - " model_z_xw=RandomForestRegressor(), # ML model for E[Y|X,W]\n", - " discrete_treatment=False, # categorical/continuous treatment\n", - " discrete_instrument=False, # categorical/continuous instrument\n", - " cv=2, # number of crossfit folds\n", - " mc_iters=1) # repetitions of cross-fitting for stability" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Z91lWEiQ9cGl" - }, - "source": [ - "#### Enable dowhy capabilities" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "QEe9XMai9cGm" - }, - "source": [ - "import dowhy\n", - "est = est.dowhy" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "BIWgh7Ce9cGm" - }, - "source": [ - "#### Then fit" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "roPf-t439cGm", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "4d24cac9-58fa-44fa-87e9-f8e57ec68176" - }, - "source": [ - "est.fit(y, T, Z=Z, X=X, W=W, cache_values=True)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 74 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "5tlyZMcP9cGn" - }, - "source": [ - "#### Use it as a normal EconML cate estimator" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "lHr9Ooaa9cGn", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 290 - }, - "outputId": "e86a4da8-cbac-4271-ae99-8d312fd1949c" - }, - "source": [ - "est.summary()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Coefficient Results
point_estimate stderr zstat pvalue ci_lower ci_upper
X0 0.99 0.035 27.933 0.0 0.932 1.049
X1 -0.012 0.027 -0.441 0.659 -0.057 0.033
\n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
CATE Intercept Results
point_estimate stderr zstat pvalue ci_lower ci_upper
cate_intercept 1.018 0.026 38.577 0.0 0.975 1.061


A linear parametric conditional average treatment effect (CATE) model was fitted:
$Y = \\Theta(X)\\cdot T + g(X, W) + \\epsilon$
where for every outcome $i$ and treatment $j$ the CATE $\\Theta_{ij}(X)$ has the form:
$\\Theta_{ij}(X) = \\phi(X)' coef_{ij} + cate\\_intercept_{ij}$
where $\\phi(X)$ is the output of the `featurizer` or $X$ if `featurizer`=None. Coefficient Results table portrays the $coef_{ij}$ parameter vector for each outcome $i$ and treatment $j$. Intercept Results table portrays the $cate\\_intercept_{ij}$ parameter.
" - ], - "text/plain": [ - "\n", - "\"\"\"\n", - " Coefficient Results \n", - "========================================================\n", - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "--------------------------------------------------------\n", - "X0 0.99 0.035 27.933 0.0 0.932 1.049\n", - "X1 -0.012 0.027 -0.441 0.659 -0.057 0.033\n", - " CATE Intercept Results \n", - "====================================================================\n", - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "--------------------------------------------------------------------\n", - "cate_intercept 1.018 0.026 38.577 0.0 0.975 1.061\n", - "--------------------------------------------------------------------\n", - "\n", - "A linear parametric conditional average treatment effect (CATE) model was fitted:\n", - "$Y = \\Theta(X)\\cdot T + g(X, W) + \\epsilon$\n", - "where for every outcome $i$ and treatment $j$ the CATE $\\Theta_{ij}(X)$ has the form:\n", - "$\\Theta_{ij}(X) = \\phi(X)' coef_{ij} + cate\\_intercept_{ij}$\n", - "where $\\phi(X)$ is the output of the `featurizer` or $X$ if `featurizer`=None. Coefficient Results table portrays the $coef_{ij}$ parameter vector for each outcome $i$ and treatment $j$. Intercept Results table portrays the $cate\\_intercept_{ij}$ parameter.\n", - "\"\"\"" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 75 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "o1z0z-E79cGo", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 235 - }, - "outputId": "5cf7bc63-16c6-4eb4-9cd7-3ecd7a7128fd" - }, - "source": [ - "est.effect_inference(X[:5]).summary_frame()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
point_estimatestderrzstatpvalueci_lowerci_upper
X
00.2860.0456.3620.00.2120.360
12.7300.07138.6180.02.6132.846
20.6780.03022.8660.00.6300.727
30.7600.03819.9510.00.6970.823
42.5390.08629.6050.02.3982.680
\n", - "
" - ], - "text/plain": [ - " point_estimate stderr zstat pvalue ci_lower ci_upper\n", - "X \n", - "0 0.286 0.045 6.362 0.0 0.212 0.360\n", - "1 2.730 0.071 38.618 0.0 2.613 2.846\n", - "2 0.678 0.030 22.866 0.0 0.630 0.727\n", - "3 0.760 0.038 19.951 0.0 0.697 0.823\n", - "4 2.539 0.086 29.605 0.0 2.398 2.680" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 76 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "cAPR5eMZ9cGo" - }, - "source": [ - "#### But now we also have DoWhy capabilities: Sensitivity Analysis" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "9aUCWN489cGo" - }, - "source": [ - "ref_res = est.refute_estimate(method_name=\"add_unobserved_common_cause\",\n", - " effect_strenght_on_treatment=0.05,\n", - " effect_strength_on_outcome=0.5)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "7bTLzM_H9cGp", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "7b5fdb67-e26d-46f0-b46d-572001977533" - }, - "source": [ - "print(ref_res)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Refute: Add an Unobserved Common Cause\n", - "Estimated effect:1.0314669223854354\n", - "New effect:0.9983858330683743\n", - "\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "MuaLIl6X9cGp" - }, - "source": [ - "# 6. Policy Learning" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "Z5NSUCzK9cGp" - }, - "source": [ - "y, T, X, W = gen_data(2000, discrete=True)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "_oGYT0HP9cGp" - }, - "source": [ - "#### Fit a Doubly Robust policy tree" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "PLk_-21M9cGp" - }, - "source": [ - "from econml.policy import DRPolicyTree\n", - "\n", - "est = DRPolicyTree(max_depth=2, min_impurity_decrease=0.01, honest=True)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "DVBwu-oh9cGq", - "outputId": "8972c75a-1793-4611-959c-708e85ea5796" - }, - "source": [ - "est.fit(y, T, X=X, W=W)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 81 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "WNpPMq0Z9cGq" - }, - "source": [ - "#### Visualize treatment policy" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 279 - }, - "id": "4YnPJkJW9cGq", - "outputId": "5b9b02ea-01dd-4c3a-d598-4fb61b8e02ce" - }, - "source": [ - "est.plot()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "JjBym5Iw9cGr", - "outputId": "2fdf00f7-9f6f-494e-be9a-84b85ad7d30c" - }, - "source": [ - "est.feature_importances_" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "array([1., 0.])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 83 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "L7q7UxZG9cGr" - }, - "source": [ - "#### Produce recommended treatments" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "sZ_E-Tjk9cGr", - "outputId": "4773b57f-bc7e-4f70-f65c-50ad9471041e" - }, - "source": [ - "est.predict(X[:100])" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "array([1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1,\n", - " 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1,\n", - " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1,\n", - " 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1,\n", - " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 84 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Zb3MFbCq9cGs" - }, - "source": [ - "#### Fit a Doubly Robust policy forest" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "N4CAMtPQ9cGs" - }, - "source": [ - "from econml.policy import DRPolicyForest\n", - "\n", - "est = DRPolicyForest(n_estimators=100, max_depth=2,\n", - " min_impurity_decrease=0.01, honest=True)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "jK5vBCCm9cGs", - "outputId": "1b97cc54-6324-42c0-e403-fba3dc3dee14" - }, - "source": [ - "est.fit(y, T, X=X, W=W)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 86 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "lhiGgCKD9cGt" - }, - "source": [ - "#### Produce recommended treatments" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "lAGuJ1wB9cGt", - "outputId": "b1590aad-d1d1-4657-8e65-012ae7abec58" - }, - "source": [ - "est.predict(X[:100])" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "array([1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1,\n", - " 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1,\n", - " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1,\n", - " 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1,\n", - " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 87 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "3xWXtC8k9cGt" - }, - "source": [ - "#### Plot one of the trees" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 279 - }, - "id": "Xen6bm7Y9cGt", - "outputId": "25f978fc-a5d0-4395-9bb2-a0b089ff2828" - }, - "source": [ - "est.plot(0)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "HInWzLf-84ta" - }, - "source": [ - "#### Plot decisions as function of covariates" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 265 - }, - "id": "0EdmyR-39cGt", - "outputId": "992dd9e8-abed-4f2b-a3cd-2d12e507ed05" - }, - "source": [ - "plt.scatter(X[:, 0], est.predict(X))\n", - "plt.show()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "c90e1Sei80dv" - }, - "source": [ - "" - ], - "execution_count": null, - "outputs": [] - } - ] -} \ No newline at end of file