A set of decks and notebooks with exercises for use in a hands-on causal inference tutorial session

Overview

intro-to-causal-inference

A introduction to causal inference using common tools from the python data stack

Table of Contents

Getting Started

Install graphviz

You'll need graphviz for our first exercise notebook, to visualize causal graphs.

Clone the repository

In your terminal, use git to clone the repo to your machine.

git clone [email protected]:ronikobrosly/causal_inference_intro.git

If you are less comfortable with git, there is an easy alternative: You can simply download a zip file of it here :)

Determine your installation preference

Now that you've installed graphviz and cloned the repo locally, there are two paths to finishing up preparing your machine for this tutorial:

Option 1: installing via pip install in a virtual virtualenv

Create a new virtual environment for this tutorial using this guide. Name your environment intro-to-causal-inference

"Activate" this environment and then run the following command in the root folder of this repo: pip install -r requirement.txt

This will install all the necessary packages for the tutorial.

As an optional step, you can try to run the check_environment.py file (in the root folder of the repo) while within your virtual environment. You can do so by running python check_environment.py in your terminal. It will alert you if you're missing any required python packages.

Option 2: installing via Anaconda python and the conda package manager

If you do not already have the Anaconda distribution of Python 3, please install it.

You can then use the conda tool in your terminal to install the necessary packages:

conda env create -f conda_env.yml

"Activate" the new environment via:

conda activate intro-to-causal-inference

As an optional step, you can try to run the check_environment.py file (in the root folder of the repo) while within your virtual environment. You can do so by running python check_environment.py in your terminal. It will alert you if you're missing any required python packages.

Install a new IPython kernelspec

Once the above is complete, you'll need to run the following commands:

python -m ipykernel install --user --name intro-to-causal-inference --display-name "Python (intro-to-causal-inference)"

Start up jupyter lab and open a notebook

In the terminal, execute jupyter lab.

Navigate to the notebooks directory and open your notebook of choice.

Acknowledgements

I would like to like to acknowledgement the following individuals for creating public causal inference materials that were useful in the creation of this tutorial:

Feedback

I love would to hear your feedback on these tutorial materials! Please send your comments to [email protected].

Owner
Roni Kobrosly
data person 💻
Roni Kobrosly
jmespath.rs Python binding

rjmespath-py jmespath.rs Python binding.

messense 3 Dec 14, 2022
Binary++ is an esoteric programming language based on* binary

Binary++ is an esoteric programming language based on* binary. * It's meant to be based on binary, but you can write Binary++ code using different mea

Supercolbat 3 Feb 18, 2022
Rates how pog a word or user is. Not random and does have *some* kind of algorithm to it.

PogRater :D Rates how pogchamp a word is :D A fun project coded by JBYT27 using Python3 Have you ever wondered how pog a word is? Well, congrats, you

an aspirin 2 Jun 25, 2022
Blender addon for executing the operator in response to the received OSC message.

I/F Joiner 受信したOSCメッセージに応じてオペレータ(bpy.ops)を実行するアドオンです. OSC通信に対応したコントローラやアプリをインストールしたスマートフォンを使用してBlenderを操作することが可能になります. 同時開発しているAndroidコントローラ化アプリMocopa

simasimataiyo 6 Oct 02, 2022
Integration between the awesome window manager and the firefox web browser.

Integration between the awesome window manager and the firefox web browser.

contribuewwt 3 Feb 02, 2022
Safely pass trusted data to untrusted environments and back.

ItsDangerous ... so better sign this Various helpers to pass data to untrusted environments and to get it back safe and sound. Data is cryptographical

The Pallets Projects 2.6k Jan 01, 2023
万能通用对象池,可以池化任意自定义类型的对象。

pip install universal_object_pool 此包能够将一切任意类型的python对象池化,是万能池,适用范围远大于单一用途的mysql连接池 http连接池等。 框架使用对象池包,自带实现了4个对象池。可以直接开箱用这四个对象池,也可以作为例子学习对象池用法。

12 Dec 15, 2022
Cairo hooks for pre-commit

pre-commit-cairo Cairo hooks for pre-commit. See pre-commit for more details Using pre-commit-cairo with pre-commit Add this to your .pre-commit-confi

Fran Algaba 16 Sep 21, 2022
GDSC UIET KUK 📍 , welcomes you all to this amazing event where you will be introduced to the world of coding 💻 .

GDSC UIET KUK 📍 , welcomes you all to this amazing event where you will be introduced to the world of coding 💻 .

Google Developer Student Club UIET KUK 9 Mar 24, 2022
Prophet is a tool to discover resources detailed for cloud migration, cloud backup and disaster recovery

Prophet is a tool to discover resources detailed for cloud migration, cloud backup and disaster recovery

22 May 31, 2022
A gamey, snakey esoteric programming language

Snak Snak is an esolang based on the classic snake game. Installation You will need python3. To use the visualizer, you will need the curses module. T

David Rutter 3 Oct 10, 2022
A common, beautiful interface to tabular data, no matter the format

rows No matter in which format your tabular data is: rows will import it, automatically detect types and give you high-level Python objects so you can

Álvaro Justen 834 Jan 03, 2023
Snack Rice - A Rice University servery finder, customized for your needs!

Snack Rice - A Rice University servery finder, customized for your needs!

Aidan Gerber 3 Sep 25, 2022
Cairo-bloom - A naive bloom filter implementation in Cairo

🥀 cairo-bloom A naive bloom filter implementation in Cairo. A Bloom filter is a

Sam Barnes 37 Oct 01, 2022
MeepoBenchmark - This project aims at providing the scripts, logs, and analytic results for Meepo Blockchain

MeepoBenchmark - This project aims at providing the scripts, logs, and analytic results for Meepo Blockchain

Peilin Zheng 3 Aug 16, 2022
This repository requires you to solve a problem by writing some basic python code.

Can You Solve a Problem? A beginner friendly repository that requires you to solve familiar problems with python. This could be as simple as implement

Precious Kolawole 11 Nov 30, 2022
Process GPX files (adding sensor metrics, uploading to InfluxDB, etc.) exported from imxingzhe.com

Xingzhe GPX Processor 行者轨迹处理工具 Xingzhe sells cheap GPS bike meters with sensor support including cadence, heart rate and power. But the GPX files expo

Shengqi Chen 8 Sep 23, 2022
A bot to use in a pump & dump event

A bot to use in a pump & dump event on Binance.com. Please note the bot is in heavy devleopment currently so be aware of errors. If you experience err

Freddie Jonas 189 Dec 24, 2022
Web interface for browsing, search and filtering recent arxiv submissions

Web interface for browsing, search and filtering recent arxiv submissions

Andrej 4.8k Jan 08, 2023
PBN Obfuscator: A overpowered obfuscator for python, which will help you protect your source code

PBN Obfuscator PBN Obfuscator is a overpowered obfuscator for python, which will

Karim 6 Dec 22, 2022