Skip to content

Commit 0a2dd00

Browse files
authored
Merge pull request #30 from DoubleML/dev
Update simulations 0.11.0 release
2 parents fae7636 + 4d63845 commit 0a2dd00

File tree

91 files changed

+1284
-889
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+1284
-889
lines changed

.github/workflows/plr_sim.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ jobs:
2121
'scripts/plm/plr_ate_sensitivity.py',
2222
'scripts/plm/plr_cate.py',
2323
'scripts/plm/plr_gate.py',
24+
'scripts/plm/lplr_ate.py',
2425
]
2526

2627
steps:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
__pycache__/
2+
.idea/
23

34
# Logs
45
monte-cover/logs/

doc/_quarto-dev.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ website:
2121
- plm/plr_gate.qmd
2222
- plm/plr_cate.qmd
2323
- plm/pliv.qmd
24+
- plm/lplr.qmd
2425
# DID
2526
- did/did_pa.qmd
2627
- did/did_cs.qmd

doc/_website.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ website:
2424
- plm/plr.qmd
2525
- plm/plr_gate.qmd
2626
- plm/plr_cate.qmd
27+
- plm/lplr.qmd
2728
- plm/pliv.qmd
2829
- text: "DID"
2930
menu:

doc/plm/lplr.qmd

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
---
2+
title: "Logistic PLR Models"
3+
4+
jupyter: python3
5+
---
6+
7+
```{python}
8+
#| echo: false
9+
10+
import numpy as np
11+
import pandas as pd
12+
from itables import init_notebook_mode
13+
import os
14+
import sys
15+
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
21+
22+
init_notebook_mode(all_interactive=True)
23+
```
24+
25+
## ATE Coverage
26+
27+
The simulations are based on the the [make_lplr_LZZ2020](https://docs.doubleml.org/stable/api/generated/doubleml.plm.datasets.make_lplr_LZZ2020.html)-DGP with $500$ observations.
28+
29+
::: {.callout-note title="Metadata" collapse="true"}
30+
31+
```{python}
32+
#| echo: false
33+
metadata_file = '../../results/plm/lplr_ate_metadata.csv'
34+
metadata_df = pd.read_csv(metadata_file)
35+
print(metadata_df.T.to_string(header=False))
36+
```
37+
38+
:::
39+
40+
```{python}
41+
#| echo: false
42+
43+
# set up data and rename columns
44+
df_coverage = pd.read_csv("../../results/plm/lplr_ate_coverage.csv", index_col=None)
45+
46+
if "repetition" in df_coverage.columns and df_coverage["repetition"].nunique() == 1:
47+
n_rep_coverage = df_coverage["repetition"].unique()[0]
48+
elif "n_rep" in df_coverage.columns and df_coverage["n_rep"].nunique() == 1:
49+
n_rep_coverage = df_coverage["n_rep"].unique()[0]
50+
else:
51+
n_rep_coverage = "N/A" # Fallback if n_rep cannot be determined
52+
53+
display_columns_coverage = ["Learner m", "Learner M", "Learner t", "Bias", "CI Length", "Coverage"]
54+
```
55+
56+
### Nuisance space
57+
58+
```{python}
59+
# | echo: false
60+
61+
generate_and_show_styled_table(
62+
main_df=df_coverage,
63+
filters={"level": 0.95, "Score": "nuisance_space"},
64+
display_cols=display_columns_coverage,
65+
n_rep=n_rep_coverage,
66+
level_col="level",
67+
# rename_map={"Learner g": "Learner l"},
68+
coverage_highlight_cols=["Coverage"]
69+
)
70+
```
71+
72+
```{python}
73+
#| echo: false
74+
75+
generate_and_show_styled_table(
76+
main_df=df_coverage,
77+
filters={"level": 0.9, "Score": "nuisance_space"},
78+
display_cols=display_columns_coverage,
79+
n_rep=n_rep_coverage,
80+
level_col="level",
81+
# rename_map={"Learner g": "Learner l"},
82+
coverage_highlight_cols=["Coverage"]
83+
)
84+
```
85+
86+
### Instrument
87+
88+
89+
```{python}
90+
#| echo: false
91+
92+
generate_and_show_styled_table(
93+
main_df=df_coverage,
94+
filters={"level": 0.95, "Score": "instrument"},
95+
display_cols=display_columns_coverage,
96+
n_rep=n_rep_coverage,
97+
level_col="level",
98+
coverage_highlight_cols=["Coverage"]
99+
)
100+
```
101+
102+
```{python}
103+
#| echo: false
104+
105+
generate_and_show_styled_table(
106+
main_df=df_coverage,
107+
filters={"level": 0.9, "Score": "instrument"},
108+
display_cols=display_columns_coverage,
109+
n_rep=n_rep_coverage,
110+
level_col="level",
111+
coverage_highlight_cols=["Coverage"]
112+
)
113+
```

monte-cover/src/montecover/irm/apo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import doubleml as dml
44
import numpy as np
55
import pandas as pd
6-
from doubleml.datasets import make_irm_data_discrete_treatments
6+
from doubleml.irm.datasets import make_irm_data_discrete_treatments
77

88
from montecover.base import BaseSimulation
99
from montecover.utils import create_learner_from_config

monte-cover/src/montecover/irm/apos.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import doubleml as dml
44
import numpy as np
55
import pandas as pd
6-
from doubleml.datasets import make_irm_data_discrete_treatments
6+
from doubleml.irm.datasets import make_irm_data_discrete_treatments
77

88
from montecover.base import BaseSimulation
99
from montecover.utils import create_learner_from_config

monte-cover/src/montecover/irm/iivm_late.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Any, Dict, Optional
22

33
import doubleml as dml
4-
from doubleml.datasets import make_iivm_data
4+
from doubleml.irm.datasets import make_iivm_data
55

66
from montecover.base import BaseSimulation
77
from montecover.utils import create_learner_from_config

monte-cover/src/montecover/irm/irm_ate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Any, Dict, Optional
22

33
import doubleml as dml
4-
from doubleml.datasets import make_irm_data
4+
from doubleml.irm.datasets import make_irm_data
55

66
from montecover.base import BaseSimulation
77
from montecover.utils import create_learner_from_config

monte-cover/src/montecover/irm/irm_ate_sensitivity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import doubleml as dml
44
import numpy as np
55
import pandas as pd
6-
from doubleml.datasets import make_confounded_irm_data
6+
from doubleml.irm.datasets import make_confounded_irm_data
77

88
from montecover.base import BaseSimulation
99
from montecover.utils import create_learner_from_config

0 commit comments

Comments
 (0)