Skip to content

Commit ffd55cc

Browse files
committed
update irm qmd files
1 parent f0827bf commit ffd55cc

File tree

8 files changed

+444
-823
lines changed

8 files changed

+444
-823
lines changed

doc/_quarto-dev.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ website:
1515
- irm/irm_cate.qmd
1616
- irm/apo.qmd
1717
- irm/qte.qmd
18+
- irm/iivm.qmd
1819
# PLM
1920
- plm/plr.qmd
2021
- plm/plr_gate.qmd

doc/_website.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ website:
1818
- irm/irm_cate.qmd
1919
- irm/apo.qmd
2020
- irm/qte.qmd
21+
- irm/iivm.qmd
2122
- text: "PLM"
2223
menu:
2324
- plm/plr.qmd

doc/irm/apo.qmd

Lines changed: 72 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -9,55 +9,17 @@ jupyter: python3
99
1010
import numpy as np
1111
import pandas as pd
12-
from itables import init_notebook_mode, show, options
12+
from itables import init_notebook_mode
13+
import os
14+
import sys
1315
14-
init_notebook_mode(all_interactive=True)
16+
doc_dir = os.path.abspath(os.path.join(os.getcwd(), ".."))
17+
if doc_dir not in sys.path:
18+
sys.path.append(doc_dir)
19+
20+
from utils.style_tables import generate_and_show_styled_table
1521
16-
def highlight_range(s, level=0.95, dist=0.05, props=''):
17-
color_grid = np.where((s >= level-dist) &
18-
(s <= level+dist), props, '')
19-
return color_grid
20-
21-
22-
def color_coverage(df, level):
23-
# color coverage column order is important
24-
styled_df = df.apply(
25-
highlight_range,
26-
level=level,
27-
dist=1.0,
28-
props='color:black;background-color:red',
29-
subset=["Coverage"])
30-
styled_df = styled_df.apply(
31-
highlight_range,
32-
level=level,
33-
dist=0.1,
34-
props='color:black;background-color:yellow',
35-
subset=["Coverage"])
36-
styled_df = styled_df.apply(
37-
highlight_range,
38-
level=level,
39-
dist=0.05,
40-
props='color:white;background-color:darkgreen',
41-
subset=["Coverage"])
42-
43-
# set all coverage values to bold
44-
styled_df = styled_df.set_properties(
45-
**{'font-weight': 'bold'},
46-
subset=["Coverage"])
47-
return styled_df
48-
49-
50-
def make_pretty(df, level, n_rep):
51-
styled_df = df.style.hide(axis="index")
52-
# Format only float columns
53-
float_cols = df.select_dtypes(include=['float']).columns
54-
styled_df = styled_df.format({col: "{:.3f}" for col in float_cols})
55-
56-
# color coverage column order is important
57-
styled_df = color_coverage(styled_df, level)
58-
caption = f"Coverage for {level*100}%-Confidence Interval over {n_rep} Repetitions"
59-
60-
return show(styled_df, caption=caption, allow_html=True)
22+
init_notebook_mode(all_interactive=True)
6123
```
6224

6325
## APO Pointwise Coverage
@@ -78,31 +40,41 @@ print(metadata_df.T.to_string(header=False))
7840
```{python}
7941
#| echo: false
8042
81-
# set up data and rename columns
82-
df = pd.read_csv("../../results/irm/irm_apo_coverage_apo.csv", index_col=None)
43+
# set up data
44+
df_apo = pd.read_csv("../../results/irm/irm_apo_coverage_apo.csv", index_col=None)
8345
84-
assert df["repetition"].nunique() == 1
85-
n_rep = df["repetition"].unique()[0]
46+
assert df_apo["repetition"].nunique() == 1
47+
n_rep_apo = df_apo["repetition"].unique()[0]
8648
87-
display_columns = ["Learner g", "Learner m", "Treatment Level", "Bias", "CI Length", "Coverage"]
49+
display_columns_apo = ["Learner g", "Learner m", "Treatment Level", "Bias", "CI Length", "Coverage"]
8850
```
8951

9052

9153
```{python}
9254
#| echo: false
9355
94-
level = 0.95
95-
df_ate_95 = df[df['level'] == level][display_columns]
96-
make_pretty(df_ate_95, level, n_rep)
56+
generate_and_show_styled_table(
57+
main_df=df_apo,
58+
filters={"level": 0.95},
59+
display_cols=display_columns_apo,
60+
n_rep=n_rep_apo,
61+
level_col="level",
62+
coverage_highlight_cols=["Coverage"]
63+
)
9764
```
9865

9966

10067
```{python}
10168
#| echo: false
10269
103-
level = 0.9
104-
df_ate_9 = df[df['level'] == level][display_columns]
105-
make_pretty(df_ate_9, level, n_rep)
70+
generate_and_show_styled_table(
71+
main_df=df_apo,
72+
filters={"level": 0.9},
73+
display_cols=display_columns_apo,
74+
n_rep=n_rep_apo,
75+
level_col="level",
76+
coverage_highlight_cols=["Coverage"]
77+
)
10678
```
10779

10880

@@ -126,80 +98,40 @@ print(metadata_df.T.to_string(header=False))
12698
```{python}
12799
#| echo: false
128100
129-
def highlight_range(s, level=0.95, dist=0.05, props=''):
130-
color_grid = np.where((s >= level-dist) &
131-
(s <= level+dist), props, '')
132-
return color_grid
133-
134-
135-
def color_coverage(df, level):
136-
# color coverage column order is important
137-
styled_df = df.apply(
138-
highlight_range,
139-
level=level,
140-
dist=1.0,
141-
props='color:black;background-color:red',
142-
subset=["Coverage", "Uniform Coverage"])
143-
styled_df = styled_df.apply(
144-
highlight_range,
145-
level=level,
146-
dist=0.1,
147-
props='color:black;background-color:yellow',
148-
subset=["Coverage", "Uniform Coverage"])
149-
styled_df = styled_df.apply(
150-
highlight_range,
151-
level=level,
152-
dist=0.05,
153-
props='color:white;background-color:darkgreen',
154-
subset=["Coverage", "Uniform Coverage"])
155-
156-
# set all coverage values to bold
157-
styled_df = styled_df.set_properties(
158-
**{'font-weight': 'bold'},
159-
subset=["Coverage", "Uniform Coverage"])
160-
return styled_df
161-
162-
163-
def make_pretty(df, level, n_rep):
164-
styled_df = df.style.hide(axis="index")
165-
# Format only float columns
166-
float_cols = df.select_dtypes(include=['float']).columns
167-
styled_df = styled_df.format({col: "{:.3f}" for col in float_cols})
168-
169-
# color coverage column order is important
170-
styled_df = color_coverage(styled_df, level)
171-
caption = f"Coverage for {level*100}%-Confidence Interval over {n_rep} Repetitions"
172-
173-
return show(styled_df, caption=caption, allow_html=True)
174-
```
175-
176-
```{python}
177-
#| echo: false
178-
179-
# set up data and rename columns
180-
df = pd.read_csv("../../results/irm/irm_apo_coverage_apos.csv", index_col=None)
101+
# set up data
102+
df_apos = pd.read_csv("../../results/irm/irm_apo_coverage_apos.csv", index_col=None)
181103
182-
assert df["repetition"].nunique() == 1
183-
n_rep = df["repetition"].unique()[0]
104+
assert df_apos["repetition"].nunique() == 1
105+
n_rep_apos = df_apos["repetition"].unique()[0]
184106
185-
display_columns = ["Learner g", "Learner m", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"]
107+
display_columns_apos = ["Learner g", "Learner m", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"]
186108
```
187109

188110
```{python}
189111
#| echo: false
190112
191-
level = 0.95
192-
df_ate_95 = df[df['level'] == level][display_columns]
193-
make_pretty(df_ate_95, level, n_rep)
113+
generate_and_show_styled_table(
114+
main_df=df_apos,
115+
filters={"level": 0.95},
116+
display_cols=display_columns_apos,
117+
n_rep=n_rep_apos,
118+
level_col="level",
119+
coverage_highlight_cols=["Coverage", "Uniform Coverage"]
120+
)
194121
```
195122

196123

197124
```{python}
198125
#| echo: false
199126
200-
level = 0.9
201-
df_ate_9 = df[df['level'] == level][display_columns]
202-
make_pretty(df_ate_9, level, n_rep)
127+
generate_and_show_styled_table(
128+
main_df=df_apos,
129+
filters={"level": 0.9},
130+
display_cols=display_columns_apos,
131+
n_rep=n_rep_apos,
132+
level_col="level",
133+
coverage_highlight_cols=["Coverage", "Uniform Coverage"]
134+
)
203135
```
204136

205137
## Causal Contrast Coverage
@@ -222,28 +154,38 @@ print(metadata_df.T.to_string(header=False))
222154
```{python}
223155
#| echo: false
224156
225-
# set up data and rename columns
226-
df = pd.read_csv("../../results/irm/irm_apo_coverage_apos_contrast.csv", index_col=None)
157+
# set up data
158+
df_contrast = pd.read_csv("../../results/irm/irm_apo_coverage_apos_contrast.csv", index_col=None)
227159
228-
assert df["repetition"].nunique() == 1
229-
n_rep = df["repetition"].unique()[0]
160+
assert df_contrast["repetition"].nunique() == 1
161+
n_rep_contrast = df_contrast["repetition"].unique()[0]
230162
231-
display_columns = ["Learner g", "Learner m", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"]
163+
display_columns_contrast = ["Learner g", "Learner m", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"]
232164
```
233165

234166
```{python}
235167
#| echo: false
236168
237-
level = 0.95
238-
df_ate_95 = df[df['level'] == level][display_columns]
239-
make_pretty(df_ate_95, level, n_rep)
169+
generate_and_show_styled_table(
170+
main_df=df_contrast,
171+
filters={"level": 0.95},
172+
display_cols=display_columns_contrast,
173+
n_rep=n_rep_contrast,
174+
level_col="level",
175+
coverage_highlight_cols=["Coverage", "Uniform Coverage"]
176+
)
240177
```
241178

242179

243180
```{python}
244181
#| echo: false
245182
246-
level = 0.9
247-
df_ate_9 = df[df['level'] == level][display_columns]
248-
make_pretty(df_ate_9, level, n_rep)
183+
generate_and_show_styled_table(
184+
main_df=df_contrast,
185+
filters={"level": 0.9},
186+
display_cols=display_columns_contrast,
187+
n_rep=n_rep_contrast,
188+
level_col="level",
189+
coverage_highlight_cols=["Coverage", "Uniform Coverage"]
190+
)
249191
```

doc/irm/iivm.qmd

Lines changed: 25 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -9,55 +9,17 @@ jupyter: python3
99
1010
import numpy as np
1111
import pandas as pd
12-
from itables import init_notebook_mode, show, options
12+
from itables import init_notebook_mode
13+
import os
14+
import sys
1315
14-
init_notebook_mode(all_interactive=True)
16+
doc_dir = os.path.abspath(os.path.join(os.getcwd(), ".."))
17+
if doc_dir not in sys.path:
18+
sys.path.append(doc_dir)
19+
20+
from utils.style_tables import generate_and_show_styled_table
1521
16-
def highlight_range(s, level=0.95, dist=0.05, props=''):
17-
color_grid = np.where((s >= level-dist) &
18-
(s <= level+dist), props, '')
19-
return color_grid
20-
21-
22-
def color_coverage(df, level):
23-
# color coverage column order is important
24-
styled_df = df.apply(
25-
highlight_range,
26-
level=level,
27-
dist=1.0,
28-
props='color:black;background-color:red',
29-
subset=["Coverage"])
30-
styled_df = styled_df.apply(
31-
highlight_range,
32-
level=level,
33-
dist=0.1,
34-
props='color:black;background-color:yellow',
35-
subset=["Coverage"])
36-
styled_df = styled_df.apply(
37-
highlight_range,
38-
level=level,
39-
dist=0.05,
40-
props='color:white;background-color:darkgreen',
41-
subset=["Coverage"])
42-
43-
# set all coverage values to bold
44-
styled_df = styled_df.set_properties(
45-
**{'font-weight': 'bold'},
46-
subset=["Coverage"])
47-
return styled_df
48-
49-
50-
def make_pretty(df, level, n_rep):
51-
styled_df = df.style.hide(axis="index")
52-
# Format only float columns
53-
float_cols = df.select_dtypes(include=['float']).columns
54-
styled_df = styled_df.format({col: "{:.3f}" for col in float_cols})
55-
56-
# color coverage column order is important
57-
styled_df = color_coverage(styled_df, level)
58-
caption = f"Coverage for {level*100}%-Confidence Interval over {n_rep} Repetitions"
59-
60-
return show(styled_df, caption=caption, allow_html=True)
22+
init_notebook_mode(all_interactive=True)
6123
```
6224

6325
## LATE Coverage
@@ -91,16 +53,26 @@ display_columns = ["Learner g", "Learner m", "Bias", "CI Length", "Coverage"]
9153
```{python}
9254
#| echo: false
9355
94-
level = 0.95
95-
df_ate_95 = df[df['level'] == level][display_columns]
96-
make_pretty(df_ate_95, level, n_rep)
56+
generate_and_show_styled_table(
57+
main_df=df,
58+
filters={"level": 0.95},
59+
display_cols=display_columns,
60+
n_rep=n_rep,
61+
level_col="level",
62+
coverage_highlight_cols=["Coverage"]
63+
)
9764
```
9865

9966

10067
```{python}
10168
#| echo: false
10269
103-
level = 0.9
104-
df_ate_9 = df[df['level'] == level][display_columns]
105-
make_pretty(df_ate_9, level, n_rep)
70+
generate_and_show_styled_table(
71+
main_df=df,
72+
filters={"level": 0.9},
73+
display_cols=display_columns,
74+
n_rep=n_rep,
75+
level_col="level",
76+
coverage_highlight_cols=["Coverage"]
77+
)
10678
```

0 commit comments

Comments
 (0)