diff --git a/presentations/causality-presentation/.gitignore b/presentations/causality-presentation/.gitignore new file mode 100644 index 0000000..71d7ab2 --- /dev/null +++ b/presentations/causality-presentation/.gitignore @@ -0,0 +1,127 @@ +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc + +## Intermediate documents: +*.dvi +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.brf +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Auxiliary and intermediate files from other packages: + +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.snm +*.vrb + +#(e)ledmac/(e)ledpar +*.end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls + +# gnuplottex +*-gnuplottex-* + +# hyperref +*.brf + +# knitr +*-concordance.tex +*.tikz +*-tikzDictionary + +# listings +*.lol + +# makeidx +*.idx +*.ilg +*.ind +*.ist + +# minitoc +*.maf +*.mtc +*.mtc0 + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# nomencl +*.nlo + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# todonotes +*.tdo + +# xindy +*.xdy + +# WinEdt +*.bak +*.sav +.ipynb_checkpoints/ \ No newline at end of file diff --git a/presentations/causality-presentation/Makefile b/presentations/causality-presentation/Makefile new file mode 100644 index 0000000..7c7d360 --- /dev/null +++ b/presentations/causality-presentation/Makefile @@ -0,0 +1,10 @@ +SOURCE = interventions + +make: + #latexmk -pdf -pdflatex="pdflatex -interactive=nonstopmode" -use-make $(SOURCE).tex + pdflatex -shell-escape $(SOURCE).tex -output-format=pdf #shellescape wird fürs logo benötigt + pdflatex -shell-escape $(SOURCE).tex -output-format=pdf # nochmaliges ausführen wegen Inhaltsverzeichnissen + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.out *.glo *.glg *.gls *.ist *.xdy *.1 *.toc *.snm *.nav *.vrb *.fls *.fdb_latexmk *.pyg diff --git a/presentations/causality-presentation/README.md b/presentations/causality-presentation/README.md new file mode 100644 index 0000000..4bd5bc4 --- /dev/null +++ b/presentations/causality-presentation/README.md @@ -0,0 +1,28 @@ +# Interventions +Dieses Repository ist für einen 30-minütigen Vortrag bei einer Sommerakademie. +Das Thema lautet "Intervention distribution". + +Die kompilierte PDF kann [hier](https://github.com/MartinThoma/causality-presentation/raw/master/interventions.pdf) herutergeladen werden. + + +## Given + +* script 2.2. and ex. 3.1.1 + https://stat.ethz.ch/people/jopeters/index/edit/causalityHomepage/causality_files/scriptChapter1-4.pdf +* examples: intervention distribution, simpson's paradox +* Block: Causality +* Thema: interventions +* Nr: 11 +* Zeit: 30min + +## Plan + +* Einleitung: ca. 5 min +* Interventionsverteilung, def: ca. 2 min + +## Fragen + +1. Definition 2.2.1: "The set of noise variables in S now contains both ..." + - Soll hier wirklich "S" und nicht "\tilde{S}" stehen? +2. Was heißt "full support"? +3. A.2: Was ist Q? \ No newline at end of file diff --git a/presentations/causality-presentation/backup/Makefile b/presentations/causality-presentation/backup/Makefile new file mode 100644 index 0000000..7c7d360 --- /dev/null +++ b/presentations/causality-presentation/backup/Makefile @@ -0,0 +1,10 @@ +SOURCE = interventions + +make: + #latexmk -pdf -pdflatex="pdflatex -interactive=nonstopmode" -use-make $(SOURCE).tex + pdflatex -shell-escape $(SOURCE).tex -output-format=pdf #shellescape wird fürs logo benötigt + pdflatex -shell-escape $(SOURCE).tex -output-format=pdf # nochmaliges ausführen wegen Inhaltsverzeichnissen + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.out *.glo *.glg *.gls *.ist *.xdy *.1 *.toc *.snm *.nav *.vrb *.fls *.fdb_latexmk *.pyg diff --git a/presentations/causality-presentation/backup/end.tex b/presentations/causality-presentation/backup/end.tex new file mode 100644 index 0000000..5394fc8 --- /dev/null +++ b/presentations/causality-presentation/backup/end.tex @@ -0,0 +1,23 @@ +%!TEX root = interventions.tex +\section{Ende} +\subsection{Quellen} +\begin{frame}{Quellen} + \begin{itemize} + \item \href{https://stat.ethz.ch/people/jopeters/index/edit/causalityHomepage/causality_files/scriptChapter1-4.pdf}{Causality, 2015. Jonas Peters.} + \end{itemize} +\end{frame} + +\begin{frame}{Definitionen} + \begin{block}{Unabhängigkeit} + $X$ und $Y$ sind unabhängig $:\Leftrightarrow p(x, y) = p(x) \cdot p(y) \;\;\;\forall x,y$. + + Man schreibt dann: $X \perp\!\!\!\perp Y$ und andernfalls $X \not\!\perp\!\!\!\perp Y$ + \end{block} + + \begin{block}{Korrelation} + Seien $X$ und $Y$ Zufallsvariablen und + \[C(X,Y) := \mathbb{E}((X- \mathbb{E}X) \cdot (Y - \mathbb{E}Y))\] + die Kovarianz zwischen $X$ und $Y$. Gilt $C(X, Y) = 0$, so heißen + $X$ und $Y$ unkorreliert. + \end{block} +\end{frame} diff --git a/presentations/causality-presentation/backup/interventions.tex b/presentations/causality-presentation/backup/interventions.tex new file mode 100644 index 0000000..43569c8 --- /dev/null +++ b/presentations/causality-presentation/backup/interventions.tex @@ -0,0 +1,92 @@ +\documentclass{beamer} +\usetheme{Frankfurt} +\usecolortheme{beaver} +\definecolor{links}{HTML}{2A1B81} +\hypersetup{colorlinks,linkcolor=,urlcolor=links} +\usepackage{hyperref} +\usepackage[utf8]{inputenc} % this is needed for german umlauts +\usepackage[ngerman]{babel} % this is needed for german umlauts +\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf +\usepackage{braket} % needed for \Set +\usepackage{csquotes} +\usepackage{enumitem} +\setitemize{label=\usebeamerfont*{itemize item}% + \usebeamercolor[fg]{itemize item} + \usebeamertemplate{itemize item}} +\usepackage{amsmath, amssymb} +\usepackage{bm} +\usepackage{dsfont} +\usepackage{nicefrac} +\usefonttheme[onlymath]{serif} +\usepackage{siunitx} % this package is for units! +\sisetup{range-phrase=--, range-units=single} + +\usepackage{booktabs} % for \toprule, \midrule and \bottomrule +\selectlanguage{ngerman} + +\usepackage{tikz} +\usetikzlibrary{arrows,positioning, calc} + +\setbeamertemplate{navigation symbols}{} +\addtobeamertemplate{navigation symbols}{}{% + \usebeamerfont{footline}% + \usebeamercolor[fg]{footline}% + \hspace{1em}% + \insertframenumber/\inserttotalframenumber +} +\makeatletter +\setbeamertemplate{footline} +{% + \pgfuseshading{beamer@barshade}% + \ifbeamer@sb@subsection% + \vskip-9.75ex% + \else% + \vskip-7ex% + \fi% + \begin{beamercolorbox}[ignorebg,ht=2.25ex,dp=3.75ex]{section in head/foot} + \insertnavigation{\paperwidth} + \end{beamercolorbox}% + \ifbeamer@sb@subsection% + \begin{beamercolorbox}[ignorebg,ht=2.125ex,dp=1.125ex,% + leftskip=.3cm,rightskip=.3cm plus1fil]{subsection in head/foot} + \usebeamerfont{subsection in head/foot}\insertsubsectionhead + \end{beamercolorbox}% + \fi% +}% +\setbeamertemplate{headline}{% +% \hskip1em\usebeamercolor[fg]{navigation symbols dimmed}% +% \insertslidenavigationsymbol% +% \insertframenavigationsymbol% +% \insertsectionnavigationsymbol% +% \insertsubsectionnavigationsymbol% +% \insertdocnavigationsymbol% +% \insertbackfindforwardnavigationsymbol% +} +\makeatother + +\begin{document} + +\title{Interventions} +% \subtitle{A subtitle} +\author{Martin Thoma} +\date{10. August 2015} +\subject{Causality} + +\frame{\titlepage} + +% Show table of contents +% \frame{ +% \frametitle{Inhalt} +% \setcounter{tocdepth}{1} +% \tableofcontents +% \setcounter{tocdepth}{2} +% } + +%\AtBeginSection[]{ +% \InsertToC[sections={\thesection}] % shows only subsubsections of one subsection +%} + +\input{introduction} +\input{main} +\input{end} +\end{document} diff --git a/presentations/causality-presentation/backup/introduction.tex b/presentations/causality-presentation/backup/introduction.tex new file mode 100644 index 0000000..2538439 --- /dev/null +++ b/presentations/causality-presentation/backup/introduction.tex @@ -0,0 +1,16 @@ +%!TEX root = interventions.tex +\section{SEMs} +\subsection{SEMs} +\begin{frame}{SEMs} + \begin{block}{Structural Equaltion Model (kurz: SEM)} + Ein \textit{Strukturgleichungsmodel} ist ein Tupel + $\mathcal{S} := (\mathcal{S}, \mathbb{P}^\mathbf{N})$, wobei + $\mathcal{S} = (S_1, \dots, S_p)$ ein Tupel aus $p$ Gleichungen + \[S_j : X_j = f_j(\mathbf{PA}_j, N_j), \;\;\; j=1, \dots, p\] + ist und $\mathbf{PA}_j \subseteq \Set{X_1, \dots, X_p} \setminus \Set{X_j}$ + die \textit{Eltern von $X_j$} und $\mathbb{P}^\mathbf{N} = \mathbb{P}^{N_1, \dots, N_p}$ + die gemeinsame Verteilung der Rauschvariablen ist. Diese müssen + von einander unabhängig sein, $\mathbb{P}^\mathbf{N}$ muss also eine + Produktverteilung sein. + \end{block} +\end{frame} diff --git a/presentations/causality-presentation/backup/main.tex b/presentations/causality-presentation/backup/main.tex new file mode 100644 index 0000000..6e5e7d3 --- /dev/null +++ b/presentations/causality-presentation/backup/main.tex @@ -0,0 +1,255 @@ +%!TEX root = interventions.tex +\section{Interventions} +\subsection{Definition} +\begin{frame}{Interventionen} + \begin{block}{Interventionsverteilung} + Sei $\mathbb{P}^\mathbf{X}$ die zu einer SEM + $\mathcal{S} := (\mathcal{S}, \mathbb{P}^N)$ gehörende Verteilung. \onslide<2->{Dann + kann eine (oder mehr) Strukturgleichungen aus $\mathcal{S}$ ersetzt + werden ohne einen Zyklus im Graphen zu erzeugen.} \onslide<3->{Die Verteilung des + neuen SEM $\tilde{\mathcal{S}}$ heißt dann + \textit{Interventionsverteilung}.} + + \onslide<4->{Bei den Variablen, deren Strukturgleichungen ersetzt wurden, sagt man, + wurde \textit{interveniert}.} + + \onslide<5->{Die neue Verteilung wird mit + \[\mathbb{P}_{\tilde{\mathcal{S}}}^{\mathbf{X}} = \mathbb{P}_{\mathcal{S}, do(X_j:=\tilde{f}(\tilde{\mathbf{PA}}_j, \tilde{N}_j))}^{\mathbf{X}}\] + beschrieben.} + + \onslide<6->{Die Menge der Rauschvariablen in $\mathcal{S}$ beinhaltet nun einige + \enquote{neue} und einige \enquote{alte} $N$'s. $\mathcal{S}$ muss + paarweise unabhängig sein.} + \end{block} +\end{frame} + +\begin{frame}{Nieren-Beispiel} + \begin{table} + \begin{tabular}{lrr} + \toprule + ~ & \multicolumn{2}{c}{\textbf{Behandlungserfolg}} \\ + \cmidrule{2-3} + ~ & \multicolumn{1}{c}{\textbf{A}} & \multicolumn{1}{c}{\textbf{B}} \\ \midrule + Kleine Nierensteine & \textbf{93\%} & 87\% \\ + Große Nierensteine & \textbf{73\%} & 69\% \\ + \textbf{Gesamt} & 78\% & \textbf{83\%} \\ + \bottomrule + \end{tabular} + \end{table} + + \begin{figure}[!h] + \centering + \begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm, + thick,main node/.style={circle,fill=blue!10,draw,font=\sffamily\Large\bfseries}] + \node (Z) at (1,1) {Z}; + \node (T) at (0,0) {T}; + \node (R) at (2,0) {R}; + + \foreach \from/\to in {Z/T,Z/R,T/R} + \draw (\from) -> (\to); + \end{tikzpicture} + \end{figure} + + \begin{align*} + Z &= N_Z, \;\;\;& N_Z &\sim Ber(\nicefrac{1}{4})\\ + T &= \lfloor 2 \cdot (1-Z+N_T) \rfloor \;\;\; & N_T &\sim \mathcal{N}(0, 1)\\ + R &= \lfloor 2 \cdot (0.6 \cdot (1-Z) + 0.4 \cdot (1-T) + N_R) \rfloor \;\;\; & N_R &\sim \mathcal{N}(0, 1) + \end{align*} +\end{frame} + +% \begin{frame}{Interventionen: Spezialfälle} +% \begin{block}{Interventionsverteilung} +% Wenn $\tilde{f}(\tilde{\mathbf{PA}_j}, \tilde{N}_j)$ eine Punktmasse +% auf ein $a \in \mathbb{R}$ legt schreibt man +% \[\mathbb{P}_\mathcal{S, do(X_j := \tilde{f}(\tilde{\mathbf{PA}_j}, \tilde{N}_j))}^{\mathbf{X}}\] +% und nennt die Intervention +% \textbf{perfekt}.\\ + +% Eine Intervention mit $\tilde{\mathbf{PA}_j} = \mathbf{PA}_j$ wird +% \textbf{mangelhaft} genannt. +% \end{block} +% \end{frame} + +\begin{frame}[t]{Beispiel 2.2.2: Ursache und Effekt} + Es sei $\mathcal{S}$ gegeben durch + \begin{align} + X &= N_X\\ + Y &= 4 \cdot X + N_Y + \end{align} + mit $N_X, N_Y \overset{\text{iid}}{\sim} \mathcal{N}(0, 1)$ und den + Graphen $X \rightarrow Y$. + \only<2-9>{ + Dann gilt: + \begin{align} + \mathbb{P}_\mathcal{S}^Y = \mathcal{N}(0, 4^2 + 1) &\onslide<3->{\neq \mathcal{N}(8, 1)} \onslide<4->{= \mathbb{P}_{\mathcal{S}, do(X:=2)}^{Y}} \onslide<5->{= \mathbb{P}_\mathcal{S}^{Y|X=2}}\\ + &\onslide<6->{\neq \mathcal{N}(12, 1)} \onslide<7->{= \mathbb{P}_{\mathcal{S}, do(X:=3)}^{Y}} \onslide<8->{= \mathbb{P}_\mathcal{S}^{Y|X=3}} + \end{align} + \onslide<9->{$\Rightarrow$ Intervention auf $X$ beeinflusst die Verteilung von $Y$.} + } + \only<10-13>{ + Aber: + + \begin{align} + \mathbb{P}_{\mathcal{S}, do(Y:=2)}^{X} &= \mathcal{N}(0, 1)\\ + \onslide<11->{&= \mathbb{P}_\mathcal{S}^X}\\ + \onslide<12->{&= \mathbb{P}_{\mathcal{S}, do(Y:=3.14159)}^{X}}\\ + \onslide<13->{&\neq \mathbb{P}_\mathcal{S}^{X|Y=2}} + \end{align} + } + \only<14->{\\ + Beispiel: $X$ (rauchen) $\rightarrow Y$ (weiße Zähne) + \begin{itemize} + \item<15-> Es besteht eine Asymmetrie zwischen Ursache ($X$) und Effekt ($Y$). + \item<16-> $\mathbb{P}_{\mathcal{S}, do(Y:=\tilde{N}_Y)}^{X,Y} \Rightarrow X \perp\!\!\!\perp Y$ + \item<17-> $\mathbb{P}_{\mathcal{S}, do(X:=\tilde{N}_X)}^{X,Y} \text{ und } Var(\tilde{N}_X) > 0 \Rightarrow X \not\perp\!\!\!\perp Y$ + \end{itemize} + } +\end{frame} + +\section{Totaler kausaler Effekt} +\subsection{Totaler kausaler Effekt} +\begin{frame}{Totaler kausaler Effekt} + \begin{block}{Totaler kausaler Effekt} + Gegeben sei ein SEM $\mathcal{S}$. Dann gibt es einen + (totalen) kausalen Effekt von $X$ nach $Y$ genau dann wenn + \[\exists \tilde{N}_X : X \not\!\perp\!\!\!\perp Y \text{ in } \mathbb{P}_{\mathcal{S}, do(X:=\tilde{N}_X)}^{\mathbf{X}}\] + gilt. + \end{block} +\end{frame} + +\begin{frame}[t]{Totaler kausaler Effekt: Äquivalenzen} + Folgende Aussagen sind äquivalent: + + \begin{enumerate}[label=(\roman*)] + \item $\exists \tilde{N}_{X_1} \hphantom{\text{ mit vollem Support }}: X_1 \not\!\perp\!\!\!\perp X_2 \text{ in } \mathbb{P}_{\mathcal{S}, do(X_1:=\tilde{N}_{X_1})}^{\mathbf{X}}$ + \item $\exists x^\triangle \exists x^\square: \mathbb{P}_{\mathcal{S}, do(X_1:=x^\triangle)}^{X_2} \neq \mathbb{P}_{\mathcal{S}, do(X_1:=x^\square)}^{X_2}$ + \item $\exists x^\triangle \hphantom{\exists x^\square}: \mathbb{P}_{\mathcal{S}, do(X_1:=x^\triangle)}^{X_2} \neq \mathbb{P}_\mathcal{S}^{X_2}$. + \item $\forall \tilde{N}_{X_1} \text{ mit vollem Support }: X_1 \not\!\perp\!\!\!\perp X_2 \text{ in } \mathbb{P}_{\mathcal{S}, do(X_1:=\tilde{N}_{X_1})}^{\mathbf{X}}$ + \end{enumerate} + + \only<2>{ + \textbf{Beweisplan:}\\ + (i) $\Rightarrow$ (ii) $\Rightarrow$ (iv) $\Rightarrow$ (i)\\ + $\neg$(i) $\Rightarrow$ $\neg$ (iii) äquivalent zu (iii) $\Rightarrow$ (i)\\ + (ii) $\Rightarrow$ (iii) + } + \only<3-5>{ + \begin{align} + p_{\mathcal{S}, do(X_1:=x_1)}^{X_2}(x_2) &= \int \prod_{j \neq 1} p_j(x_j|x_{pa(j)}) \mathrm{d}x_3 \dots \mathrm{d}x_p \nonumber + \only<4->{\\&= \int \prod_{j \neq 1} p_j(x_j|x_{pa(j)}) \frac{\tilde{p}(x_1)}{\tilde{p}(x_1)}\mathrm{d}x_3 \dots \mathrm{d}x_p \nonumber} + \only<5->{\\&= p_{\mathcal{S}, do(X_1:=\tilde{N}_1)}^{X_2 | X_1=x_1}(x_2)\tag{A.1}\label{eq:A.1}} + \end{align} + \only<5->{mit $\tilde{p}(x_1) > 0$.} + } + \only<6>{ + \begin{align} + X_2 \not\perp\!\!\!\perp X_1 \text{ in } \mathbb{Q} \Leftrightarrow &\exists x_1^\triangle, x_1^\square \nonumber\\ + &\text{mit } q(x_1^\triangle), q(x_1^\square) > 0\nonumber\\ + &\text{und } \mathbb{Q}^{X_2|X_1=x_1^\triangle} \neq \mathbb{Q}^{X_2 | X_1=x_1^\square}\tag{A.2}\label{eq:A.2} + \end{align} + } + + \only<7>{ + \begin{align} + X_2 \not\perp\!\!\!\perp X_1 \text{ in } \mathbb{Q} \Leftrightarrow &\exists x_1^\triangle \nonumber\\ + &\text{mit } q(x_1^\triangle) > 0\nonumber\\ + &\text{und } \mathbb{Q}^{X_2|X_1=x_1^\triangle} \neq \mathbb{Q}^{X_2}\tag{A.3}\label{eq:A.3} + \end{align} + } + + \only<8-10>{ + \textbf{Beweisplan:} (i) $\Rightarrow$ (ii)\\ + \onslide<9->{(i) $\overset{A.2}{\Rightarrow} \exists x_1^\triangle, x_1^\square$ mit + pos. Dichte unter $\tilde{N_1}$ sodass $\mathbb{P}_{\mathcal{S}, do(X_1:=\tilde{N_1})}^{X_2|X_1=x_1^\triangle} \neq \mathbb{P}_{\mathcal{S}, do(X_1:=\tilde{N_1})}^{X_2 | X_1=x^\square}$\\} + \onslide<10->{$\overset{A.1}{\Rightarrow} (ii)$} + } + \only<11-13>{ + \textbf{Beweisplan:} (ii) $\Rightarrow$ (iv)\\ + \onslide<12->{(ii) $\overset{A.1}{\Rightarrow} \exists x_1^\triangle, x_1^\square$ mit pos. Dichte unter $\hat{N_1}$ sodass $\mathbb{P}_{\mathcal{S}, do(X_1:=\hat{N_1})}^{X_2|X_1=x_1^\triangle} \neq \mathbb{P}_{\mathcal{S}, do(X_1 := \hat{N_1})}^{X_2 | X_1 = x_1^\square}$} + \onslide<13->{$\overset{A.2}{\Rightarrow} (iv)$} + } + \only<14>{ + \textbf{Beweisplan:} (iv) $\Rightarrow$ (i)\\ + Trivial + } + \only<15-17>{ + \textbf{Beweisplan:} $\neg$(i) $\Rightarrow$ $\neg$ (iii)\\ + \onslide<16->{Es gilt: $\mathbb{P}_\mathcal{S}^{X_2} = \mathbb{P}_{\mathcal{S}, do(X_1 := N_1^*)}^{X_2}$, wobei $N_1^*$ wie $\mathbb{P}_\mathcal{S}^{X_2}$ verteilt ist.\\} + \onslide<17->{ + \begin{align} + \neg (i) &\Rightarrow X_2 \perp\!\!\!\perp X_1 \text{ in } \mathbb{P}_{\mathcal{S}, do(X_1 := N_1^*)}^{\textbf{X}}\\ + &\overset{A.3}{\Rightarrow} \mathbb{P}_{\mathcal{S}, do(X_1 :=N_1^*)}^{X_2| X_1=x^\triangle} = \mathbb{P}_{\mathcal{S}, do(X_1 := N_1^*)}^{X_2} \;\;\;\forall x^\triangle \text{ mit } p_1(x^\triangle) > 0\\ + &\overset{A.1}{\Rightarrow} \mathbb{P}_{\mathcal{S}, do(X_1:=x^\triangle)}^{X_2} = \mathbb{P}_\mathcal{S}^{X_2} \;\;\; \forall x^\triangle \text{ mit } p_1(x^\triangle) > 0\\ + &\overset{\neg (ii)}{\Rightarrow} \neg (iii) + \end{align} + } + } + \only<18>{ + \textbf{Beweisplan:} (ii) $\Rightarrow$ (iii)\\ + Trivial (TODO: wirklich?) + } +\end{frame} + +\begin{frame}{Beispiel 2.2.6: Randomisierte Studie} + \begin{itemize} + \item<1-> Weise eine Behandlung $T$ zufällig (nach $\tilde{N_T}$) einem + Patienten zu. Das könnte auch ein Placebo sein. + \item<2-> Im SEM: Daten aus $\mathbb{P}_{\mathcal{S}, do(T:=\tilde{N_T})}^{\mathbf{X}}$ + \item<3-> Falls immer noch Abhängigkeit zw. Behandlung und Erfolg + vorliegt $\Rightarrow T$ hat einen totalen kausalen Effekt auf + den Behandlungserfolg. + \end{itemize} +\end{frame} + +\begin{frame}{Beispiel 2.2.7: Nicolai's running-and-health Beispiel} + Das zugrundeliegende (\enquote{wahre}) SEM $\mathcal{S}$, welches die Daten + generierte, hat die Form: + + \begin{align} + A &= N_A &&\text{mit } N_A \sim Ber(\nicefrac{1}{2})\\ + H &= A + N_H \mod 2 &&\text{mit } N_H \sim Ber(\nicefrac{1}{3})\\ + B &= H + N_B \mod 2 &&\text{mit } N_B \sim Ber(\nicefrac{1}{20}) + \end{align} + + mit dem Graphen $A \rightarrow H \rightarrow B$ und\\ + $N_A, N_H, N_B$ unabhängig. + + \begin{itemize} + \item<1-> $B$ ist hilfreicher für die Vorhersage von $H$ als $A$. + \item<2-> Intervention von $A$ hat auf $H$ einen größeren Einfluss als Intervention von $B$. + \end{itemize} +\end{frame} + +\begin{frame}{Proposition 2.2.9} + \begin{enumerate}[label=(\roman*)] + \item<1-> Falls es keinen gerichteten Pfad von $X$ nach $Y$ gibt, dann + gibt es keinen kausalen Effekt. + \item<2-> Manchmal gibt es einen gerichteten Pfad, aber keinen kausalen + Effekt. + \end{enumerate} + + \onslide<3->{Beweis von (i): Folgt aus der Markov-Eigenschaft des + interventierten SEMs. }\onslide<4->{Nach dem Entfernen der + in $X$ eingehenden Kanten gilt: $X$ und $Y$ sind + $d$-separiert, falls es keinen direkten Pfad von $X$ nach + $Y$ gibt. \\} + \onslide<5->{Beweis von (ii) durch Gegenbeispiel: Sei + \begin{align} + X &= N_X\\ + Z &= 2X + N_Z\\ + Y &= 4X - 2Z + N_Y + \end{align} + Dann gilt: $Y = - 2N_Z + N_Y$ und daher $X \perp\!\!\!\perp$ für alle $N_X$. $\square$ + } +\end{frame} + +% \begin{frame}{Nierensteine} +% \begin{columns} +% \begin{column}{0.45\textwidth} +% \begin{center}\textbf{Modell A}\end{center} +% \end{column} +% \begin{column}{0.45\textwidth} +% \begin{center}\textbf{Modell B}\end{center} +% \end{column} +% \end{columns} +% \end{frame} \ No newline at end of file diff --git a/presentations/causality-presentation/end.tex b/presentations/causality-presentation/end.tex new file mode 100644 index 0000000..5394fc8 --- /dev/null +++ b/presentations/causality-presentation/end.tex @@ -0,0 +1,23 @@ +%!TEX root = interventions.tex +\section{Ende} +\subsection{Quellen} +\begin{frame}{Quellen} + \begin{itemize} + \item \href{https://stat.ethz.ch/people/jopeters/index/edit/causalityHomepage/causality_files/scriptChapter1-4.pdf}{Causality, 2015. Jonas Peters.} + \end{itemize} +\end{frame} + +\begin{frame}{Definitionen} + \begin{block}{Unabhängigkeit} + $X$ und $Y$ sind unabhängig $:\Leftrightarrow p(x, y) = p(x) \cdot p(y) \;\;\;\forall x,y$. + + Man schreibt dann: $X \perp\!\!\!\perp Y$ und andernfalls $X \not\!\perp\!\!\!\perp Y$ + \end{block} + + \begin{block}{Korrelation} + Seien $X$ und $Y$ Zufallsvariablen und + \[C(X,Y) := \mathbb{E}((X- \mathbb{E}X) \cdot (Y - \mathbb{E}Y))\] + die Kovarianz zwischen $X$ und $Y$. Gilt $C(X, Y) = 0$, so heißen + $X$ und $Y$ unkorreliert. + \end{block} +\end{frame} diff --git a/presentations/causality-presentation/interventions.tex b/presentations/causality-presentation/interventions.tex new file mode 100644 index 0000000..43569c8 --- /dev/null +++ b/presentations/causality-presentation/interventions.tex @@ -0,0 +1,92 @@ +\documentclass{beamer} +\usetheme{Frankfurt} +\usecolortheme{beaver} +\definecolor{links}{HTML}{2A1B81} +\hypersetup{colorlinks,linkcolor=,urlcolor=links} +\usepackage{hyperref} +\usepackage[utf8]{inputenc} % this is needed for german umlauts +\usepackage[ngerman]{babel} % this is needed for german umlauts +\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf +\usepackage{braket} % needed for \Set +\usepackage{csquotes} +\usepackage{enumitem} +\setitemize{label=\usebeamerfont*{itemize item}% + \usebeamercolor[fg]{itemize item} + \usebeamertemplate{itemize item}} +\usepackage{amsmath, amssymb} +\usepackage{bm} +\usepackage{dsfont} +\usepackage{nicefrac} +\usefonttheme[onlymath]{serif} +\usepackage{siunitx} % this package is for units! +\sisetup{range-phrase=--, range-units=single} + +\usepackage{booktabs} % for \toprule, \midrule and \bottomrule +\selectlanguage{ngerman} + +\usepackage{tikz} +\usetikzlibrary{arrows,positioning, calc} + +\setbeamertemplate{navigation symbols}{} +\addtobeamertemplate{navigation symbols}{}{% + \usebeamerfont{footline}% + \usebeamercolor[fg]{footline}% + \hspace{1em}% + \insertframenumber/\inserttotalframenumber +} +\makeatletter +\setbeamertemplate{footline} +{% + \pgfuseshading{beamer@barshade}% + \ifbeamer@sb@subsection% + \vskip-9.75ex% + \else% + \vskip-7ex% + \fi% + \begin{beamercolorbox}[ignorebg,ht=2.25ex,dp=3.75ex]{section in head/foot} + \insertnavigation{\paperwidth} + \end{beamercolorbox}% + \ifbeamer@sb@subsection% + \begin{beamercolorbox}[ignorebg,ht=2.125ex,dp=1.125ex,% + leftskip=.3cm,rightskip=.3cm plus1fil]{subsection in head/foot} + \usebeamerfont{subsection in head/foot}\insertsubsectionhead + \end{beamercolorbox}% + \fi% +}% +\setbeamertemplate{headline}{% +% \hskip1em\usebeamercolor[fg]{navigation symbols dimmed}% +% \insertslidenavigationsymbol% +% \insertframenavigationsymbol% +% \insertsectionnavigationsymbol% +% \insertsubsectionnavigationsymbol% +% \insertdocnavigationsymbol% +% \insertbackfindforwardnavigationsymbol% +} +\makeatother + +\begin{document} + +\title{Interventions} +% \subtitle{A subtitle} +\author{Martin Thoma} +\date{10. August 2015} +\subject{Causality} + +\frame{\titlepage} + +% Show table of contents +% \frame{ +% \frametitle{Inhalt} +% \setcounter{tocdepth}{1} +% \tableofcontents +% \setcounter{tocdepth}{2} +% } + +%\AtBeginSection[]{ +% \InsertToC[sections={\thesection}] % shows only subsubsections of one subsection +%} + +\input{introduction} +\input{main} +\input{end} +\end{document} diff --git a/presentations/causality-presentation/introduction.tex b/presentations/causality-presentation/introduction.tex new file mode 100644 index 0000000..9fd859d --- /dev/null +++ b/presentations/causality-presentation/introduction.tex @@ -0,0 +1,96 @@ +%!TEX root = interventions.tex +\section{Einführung} +\subsection{Einführung} +\begin{frame}{Nierensteine} + \begin{itemize} + \item Kristalline Ablagerungen + \item \SIrange{2}{4}{\milli\meter} unkritisch, + ab \SI{10}{\milli\meter} operative Entfernung + \item 2~Methoden des Entfernens: + \begin{itemize} + \item \textbf{A}: Offene Operation + \item \textbf{B}: PCNL (Percutaneous nephrolithotomy): Entfernung + durch ca 1cm große Punktuierung der Haut + \end{itemize} + \end{itemize} + + \uncover<2->{Was ist besser: A oder B?}\\ + \uncover<3->{Ist die Entscheidung abhängig von der Größe?}\\ +\end{frame} + + +\begin{frame}{Simpson-Paradoxon} + \begin{table} + % \centering + \begin{tabular}{lrr} + \toprule + ~ & \multicolumn{2}{c}{\textbf{Behandlungserfolg}} \\ + \cmidrule{2-3} + ~ & \multicolumn{1}{c}{\textbf{A}} & \multicolumn{1}{c}{\textbf{B}} \\ \midrule + Kleine Nierensteine & \textbf{93\%} \onslide<2>{(\hphantom{0}81/\hphantom{0}87)} & 87\% \onslide<2>{(234/270)} \\ + Große Nierensteine & \textbf{73\%} \onslide<2>{(192/263)} & 69\% \onslide<2>{(\hphantom{0}55/\hphantom{0}80)}\\ + \textbf{Gesamt} & 78\% \onslide<2>{(273/350)} & \textbf{83\%} \onslide<2>{(289/350)} \\ + \bottomrule + \end{tabular} + \caption{Nierensteine durch (A) offene Operation oder (B) PCNL entfernen.} + \label{table:countries} + \end{table} + + % Quelle: Causality, 2015. Jonas Peters. -- ist für den gesamten Vortrag die Quelle... +\end{frame} + +\begin{frame}{Aufstellen eines SEM} + \begin{itemize}[label={}] + \item $Z \in \Set{\text{klein}, \text{groß}}$: Größe des Nierensteins + \item $T \in \Set{A, B}$: Behandlung (Treatment) + \item $R \in \Set{\text{erfolg}, \text{misserfolg}}$: Behandlungserfolg (Recovery) + \end{itemize} + + Sei das \enquote{wahre} SEM: + \begin{figure}[!h] + \centering + \begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm, + thick,main node/.style={circle,fill=blue!10,draw,font=\sffamily\Large\bfseries}] + \node (Z) at (1,1) {Z}; + \node (T) at (0,0) {T}; + \node (R) at (2,0) {R}; + + \foreach \from/\to in {Z/T,Z/R,T/R} + \draw (\from) -> (\to); + \end{tikzpicture} + \end{figure} +\end{frame} + +\begin{frame}{Nieren-Beispiel} + \begin{table} + \begin{tabular}{lrr} + \toprule + ~ & \multicolumn{2}{c}{\textbf{Behandlungserfolg}} \\ + \cmidrule{2-3} + ~ & \multicolumn{1}{c}{\textbf{A}} & \multicolumn{1}{c}{\textbf{B}} \\ \midrule + Kleine Nierensteine & \textbf{93\%} (\hphantom{0}81/\hphantom{0}87) & 87\% (234/270) \\ + Große Nierensteine & \textbf{73\%} (192/263) & 69\% (\hphantom{0}55/\hphantom{0}80)\\ + \textbf{Gesamt} & 78\% (273/350) & \textbf{83\%} (289/350) \\ + \bottomrule + \end{tabular} + \end{table} + + \begin{figure}[!h] + \centering + \begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm, + thick,main node/.style={circle,fill=blue!10,draw,font=\sffamily\Large\bfseries}] + \node (Z) at (1,1) {Z}; + \node (T) at (0,0) {T}; + \node (R) at (2,0) {R}; + + \foreach \from/\to in {Z/T,Z/R,T/R} + \draw (\from) -> (\to); + \end{tikzpicture} + \end{figure} + + % \begin{align*} + % Z &= N_Z, \;\;\;& N_Z &\sim Ber(\nicefrac{1}{4})\\ + % T &= \lfloor 2 \cdot (1-Z+N_T) \rfloor \;\;\; & N_T &\sim \mathcal{N}(0, 1)\\ + % R &= \lfloor 2 \cdot (0.6 \cdot (1-Z) + 0.4 \cdot (1-T) + N_R) \rfloor \;\;\; & N_R &\sim \mathcal{N}(0, 1) + % \end{align*} +\end{frame} \ No newline at end of file diff --git a/presentations/causality-presentation/main.tex b/presentations/causality-presentation/main.tex new file mode 100644 index 0000000..2d1d74f --- /dev/null +++ b/presentations/causality-presentation/main.tex @@ -0,0 +1,162 @@ +%!TEX root = interventions.tex +\section{Interventions} +\subsection{Definition} +\begin{frame}[t]{Nieren-Beispiel} + \begin{align*} + \mathbb{P}_{\mathcal{S}_A}(R=1) &= \sum_{z=0}^1 \mathbb{P}_{\mathcal{S}_A}(R=1, T=A, Z=z) + \onslide<2->{\\&= \sum_{z=0}^1 \mathbb{P}_{\mathcal{S}_A}(R=1 | T=A, Z=z) \mathbb{P}_{\mathcal{S}_A}(T=A, Z=z)} + \onslide<3->{\\&= \sum_{z=0}^1 \mathbb{P}_{\mathcal{S}_A}(R=1 | T=A, Z=z) \mathbb{P}_{\mathcal{S}_A}(Z=z)} + \onslide<4->{\\&= 0.93 \cdot \frac{357}{700} + 0.73 \cdot \frac{343}{700} = 0.832} + \onslide<5->{\\\mathbb{P}_{\mathcal{S}_B}(R=1)&= 0.87 \cdot \frac{357}{700} + 0.69 \cdot \frac{343}{700} = 0.782} + \end{align*} +\end{frame} + +\begin{frame}{Interventionen} + \begin{block}{Interventionsverteilung} + Sei $\mathbb{P}^\mathbf{X}$ die zu einer SEM + $\mathcal{S} := (\mathcal{S}, \mathbb{P}^N)$ gehörende Verteilung. \onslide<2->{Dann + kann eine (oder mehr) Strukturgleichungen aus $\mathcal{S}$ ersetzt + werden ohne einen Zyklus im Graphen zu erzeugen.} \onslide<3->{Die Verteilung des + neuen SEM $\tilde{\mathcal{S}}$ heißt dann + \textit{Interventionsverteilung}.} + + \onslide<4->{Bei den Variablen, deren Strukturgleichungen ersetzt wurden, sagt man, + wurde \textit{interveniert}.} + + \onslide<5->{Die neue Verteilung wird mit + \[\mathbb{P}_{\tilde{\mathcal{S}}}^{\mathbf{X}} = \mathbb{P}_{\mathcal{S}, do(X_j:=\tilde{f}(\tilde{\mathbf{PA}}_j, \tilde{N}_j))}^{\mathbf{X}}\] + beschrieben.} + + \onslide<6->{Die Menge der Rauschvariablen in $\mathcal{S}$ beinhaltet nun einige + \enquote{neue} und einige \enquote{alte} $N$'s. Diese müssen + gemeinsam unabhängig sein.} + \end{block} +\end{frame} + +\begin{frame}[t]{Beispiel 2.2.2: Ursache und Effekt} + Es sei $\mathcal{S}$ gegeben durch + \begin{align} + X &:= N_X\\ + Y &:= 4 \cdot X + N_Y + \end{align} + mit $N_X, N_Y \overset{\text{iid}}{\sim} \mathcal{N}(0, 1)$ und den + Graphen $X \rightarrow Y$. + \only<2-9>{ + Dann gilt: + \begin{align} + \mathbb{P}_\mathcal{S}^Y = \mathcal{N}(0, 4^2 + 1) &\onslide<3->{\neq \mathcal{N}(8, 1)} \onslide<4->{= \mathbb{P}_{\mathcal{S}, do(X:=2)}^{Y}} \onslide<5->{= \mathbb{P}_\mathcal{S}^{Y|X=2}\\} + &\onslide<6->{\neq \mathcal{N}(12, 1)} \onslide<7->{= \mathbb{P}_{\mathcal{S}, do(X:=3)}^{Y}} \onslide<8->{= \mathbb{P}_\mathcal{S}^{Y|X=3}} + \end{align} + \onslide<9->{$\Rightarrow$ Intervention auf $X$ beeinflusst die Verteilung von $Y$.} + } + \only<10-13>{ + Aber: + + \begin{align} + \mathbb{P}_{\mathcal{S}, do(Y:=2)}^{X} &= \mathcal{N}(0, 1)\\ + \onslide<11->{&= \mathbb{P}_\mathcal{S}^X\\} + \onslide<12->{&= \mathbb{P}_{\mathcal{S}, do(Y:=3.14159)}^{X}\\} + \onslide<13->{&\neq \mathbb{P}_\mathcal{S}^{X|Y=2}} + \end{align} + } + \only<14->{\\ + Beispiel: $X$ (rauchen) $\rightarrow Y$ (weiße Zähne) + \begin{itemize} + \item<15-> Es besteht eine Asymmetrie zwischen Ursache ($X$) und Effekt ($Y$). + \item<16-> $\mathbb{P}_{\mathcal{S}, do(Y:=\tilde{N}_Y)}^{X,Y} \Rightarrow X \perp\!\!\!\perp Y$ + \item<17-> $\mathbb{P}_{\mathcal{S}, do(X:=\tilde{N}_X)}^{X,Y} \text{ und } Var(\tilde{N}_X) > 0 \Rightarrow X \not\perp\!\!\!\perp Y$ + \end{itemize} + } +\end{frame} + +\section{Totaler kausaler Effekt} +\subsection{Totaler kausaler Effekt} +\begin{frame}{Kausaler Effekt}{} + \begin{center} + {\Huge Intuition?} + \end{center} +\end{frame} + +\begin{frame}{Totaler kausaler Effekt} + \begin{block}{Totaler kausaler Effekt} + Gegeben sei ein SEM $\mathcal{S}$. Dann gibt es einen + (totalen) kausalen Effekt von $X$ nach $Y$ genau dann wenn + \[\exists \tilde{N}_X : X \not\!\perp\!\!\!\perp Y \text{ in } \mathbb{P}_{\mathcal{S}, do(X:=\tilde{N}_X)}^{\mathbf{X}}\] + gilt. + \end{block} +\end{frame} + +\begin{frame}{Totaler kausaler Effekt: Äquivalenzen} + Folgende Aussagen sind äquivalent: + + \begin{enumerate}[label=(\roman*)] + \item $\exists \tilde{N}_{X_1} \hphantom{\text{ mit vollem Support }}: X_1 \not\!\perp\!\!\!\perp X_2 \text{ in } \mathbb{P}_{\mathcal{S}, do(X_1:=\tilde{N}_{X_1})}^{\mathbf{X}}$ + \item $\exists x^\triangle \exists x^\square: \mathbb{P}_{\mathcal{S}, do(X_1:=x^\triangle)}^{X_2} \neq \mathbb{P}_{\mathcal{S}, do(X_1:=x^\square)}^{X_2}$ + \item $\exists x^\triangle \hphantom{\exists x^\square}: \mathbb{P}_{\mathcal{S}, do(X_1:=x^\triangle)}^{X_2} \neq \mathbb{P}_\mathcal{S}^{X_2}$. + \item $\forall \tilde{N}_{X_1} \text{ mit vollem Support }: X_1 \not\!\perp\!\!\!\perp X_2 \text{ in } \mathbb{P}_{\mathcal{S}, do(X_1:=\tilde{N}_{X_1})}^{\mathbf{X}}$ + \end{enumerate} +\end{frame} + +\begin{frame}{Beispiel 2.2.6: Randomisierte Studie} + \begin{itemize} + \item<1-> Weise eine Behandlung $T$ zufällig (nach $\tilde{N_T}$) einem + Patienten zu. Das könnte auch ein Placebo sein. + \item<2-> Im SEM: Daten aus $\mathbb{P}_{\mathcal{S}, do(T:=\tilde{N_T})}^{\mathbf{X}}$ + \item<3-> Falls immer noch Abhängigkeit zw. Behandlung und Erfolg + vorliegt $\Rightarrow T$ hat einen totalen kausalen Effekt auf + den Behandlungserfolg. + \end{itemize} +\end{frame} + +\begin{frame}{Beispiel 2.2.7: Nicolai's running-and-health Beispiel} + Das zugrundeliegende (\enquote{wahre}) SEM $\mathcal{S}$, welches die Daten + generierte, hat die Form: + + \begin{align} + A &= N_A &&\text{mit } N_A \sim Ber(\nicefrac{1}{2})\\ + H &= A + N_H \mod 2 &&\text{mit } N_H \sim Ber(\nicefrac{1}{3})\\ + B &= H + N_B \mod 2 &&\text{mit } N_B \sim Ber(\nicefrac{1}{20}) + \end{align} + + mit dem Graphen $A \rightarrow H \rightarrow B$ und\\ + $N_A, N_H, N_B$ unabhängig. + + \begin{itemize} + \item<1-> $B$ ist hilfreicher für die Vorhersage von $H$ als $A$. + \item<2-> Intervention von $A$ hat auf $H$ einen größeren Einfluss als Intervention von $B$. + \end{itemize} +\end{frame} + +\begin{frame}{Proposition 2.2.9} + \begin{enumerate}[label=(\roman*)] + \item<1-> Falls es keinen gerichteten Pfad von $X$ nach $Y$ gibt, dann + gibt es keinen kausalen Effekt. + \item<2-> Manchmal gibt es einen gerichteten Pfad, aber keinen kausalen + Effekt. + \end{enumerate} + + \onslide<3->{Beweis von (i): Folgt aus der Markov-Eigenschaft des + interventierten SEMs. }\onslide<4->{Nach dem Entfernen der + in $X$ eingehenden Kanten gilt: $X$ und $Y$ sind + $d$-separiert, falls es keinen direkten Pfad von $X$ nach + $Y$ gibt. \\} + \onslide<5->{Beweis von (ii) durch Gegenbeispiel: Sei + \begin{align} + X &= N_X\\ + Z &= 2X + N_Z\\ + Y &= 4X - 2Z + N_Y + \end{align} + Dann gilt: $Y = - 2N_Z + N_Y$ und daher $X \perp\!\!\!\perp$ für alle $N_X$. $\square$ + } +\end{frame} + +% \begin{frame}{Nierensteine} +% \begin{columns} +% \begin{column}{0.45\textwidth} +% \begin{center}\textbf{Modell A}\end{center} +% \end{column} +% \begin{column}{0.45\textwidth} +% \begin{center}\textbf{Modell B}\end{center} +% \end{column} +% \end{columns} +% \end{frame} \ No newline at end of file diff --git a/presentations/causality-presentation/pynb/Interventions.ipynb b/presentations/causality-presentation/pynb/Interventions.ipynb new file mode 100644 index 0000000..120f28b --- /dev/null +++ b/presentations/causality-presentation/pynb/Interventions.ipynb @@ -0,0 +1,143 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from scipy.stats import bernoulli\n", + "import matplotlib.pyplot as plt; plt.rcdefaults()\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sympy import latex" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def generate_data(n):\n", + " \"\"\"\n", + " Generate n datapoints for 3 variables A, H, B\n", + " with the model\n", + " A -> H -> B\n", + " \"\"\"\n", + "\n", + " data = []\n", + " for i in range(n):\n", + " N_A = bernoulli.rvs(1./20)\n", + " N_H = bernoulli.rvs(1./3)\n", + " N_B = bernoulli.rvs(1./2)\n", + " A = N_A\n", + " H = (A + N_H) % 2\n", + " B = (H + N_B) % 2\n", + " data.append((A, H, B))\n", + " return data" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "p(H=0|A=0) = 0.67\n", + "p(H=0|A=1) = 0.32\n", + "p(H=0|B=0) = 0.65\n", + "p(H=0|B=1) = 0.65\n" + ] + } + ], + "source": [ + "%matplotlib inline\n", + "\n", + "\n", + "data = generate_data(100000)\n", + "\n", + "# Example data\n", + "people = ('(0,0,0)', '(0,0,1)', '(0,1,0)', '(0,1,1)', '(1,0,0)', '(1,0,1)', '(1,1,0)', '(1,1,1)')\n", + "get_bin = lambda x, n: x >= 0 and str(bin(x))[2:].zfill(n) or \"-\" + str(bin(x))[3:].zfill(n)\n", + "y_pos = np.arange(len(people))\n", + "# ('(0,0,0)', '(0,0,1)', '(0,1,0)', '(0,1,1)', '(1,0,0)', '(1,0,1)', '(1,1,0)', '(1,1,1)')\n", + "count = [sum([1 for d in data if map(int, list(get_bin(i, 3))) == list(d)]) for i in range(8)]\n", + "\n", + "error = np.random.rand(len(people))\n", + "\n", + "plt.barh(y_pos, count, xerr=error, align='center', alpha=0.4)\n", + "plt.yticks(y_pos, people)\n", + "plt.xlabel('Anzahl fur (A, H, B)')\n", + "plt.title('Ergebnisse')\n", + "\n", + "plt.show()\n", + "\n", + "from sympy.interactive import printing\n", + "printing.init_printing(use_latex=True)\n", + "p_1 = (count[0] + count[1]) # h=0 and A=0\n", + "p_2 = (count[4] + count[5]) # h=0 and A=1\n", + "p_3 = (count[2] + count[3]) # h=1 and A=0\n", + "p_4 = (count[6] + count[7]) # h=1 and A=1\n", + "print(latex(\"p(H=0|A=0) = %0.2f\" % (p_1/float(p_1+p_3))))\n", + "print(latex(\"p(H=0|A=1) = %0.2f\" % (p_2/float(p_2+p_4))))\n", + "\n", + "p_1 = (count[0] + count[4]) # h=0 and B=0\n", + "p_2 = (count[1] + count[5]) # h=0 and B=1\n", + "p_3 = (count[2] + count[6]) # h=1 and B=0\n", + "p_4 = (count[3] + count[7]) # h=1 and B=1\n", + "print(latex(\"p(H=0|B=0) = %0.2f\" % (p_1/float(p_1+p_3))))\n", + "print(latex(\"p(H=0|B=1) = %0.2f\" % (p_2/float(p_2+p_4))))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.8" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}