Skip to content

Commit 3633062

Browse files
committed
update qmd and workflow for quantiles
1 parent 493e323 commit 3633062

File tree

2 files changed

+32
-23
lines changed

2 files changed

+32
-23
lines changed

.github/workflows/quant_sim.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ jobs:
1717
strategy:
1818
matrix:
1919
script: [
20-
'scripts/irm/cvar_coverage.py',
21-
'scripts/irm/pq_coverage.py',
22-
'scripts/irm/lpq_coverage.py',
20+
'scripts/irm/cvar.py',
21+
'scripts/irm/pq.py',
22+
'scripts/irm/lpq.py',
2323
]
2424

2525
steps:
@@ -49,28 +49,37 @@ jobs:
4949
with:
5050
ref: ${{ env.TARGET_BRANCH }}
5151

52+
- name: Install uv
53+
uses: astral-sh/setup-uv@v5
54+
with:
55+
version: "0.7.8"
56+
5257
- name: Set up Python
5358
uses: actions/setup-python@v5
5459
with:
55-
python-version: '3.12'
60+
python-version-file: "monte-cover/pyproject.toml"
5661

57-
- name: Install dependencies
62+
- name: Install Monte-Cover
5863
run: |
59-
python -m pip install --upgrade pip
60-
pip install -r requirements.txt
64+
cd monte-cover
65+
uv venv
66+
uv sync
6167
6268
- name: Install DoubleML from correct branch
6369
run: |
64-
pip uninstall -y doubleml
65-
pip install "doubleml @ git+https://github.com/DoubleML/doubleml-for-py@${{ env.DML_BRANCH }}"
70+
source monte-cover/.venv/bin/activate
71+
uv pip uninstall doubleml
72+
uv pip install "doubleml @ git+https://github.com/DoubleML/doubleml-for-py@${{ env.DML_BRANCH }}"
6673
6774
- name: Set up Git configuration
6875
run: |
6976
git config --global user.name 'github-actions'
7077
git config --global user.email 'github-actions@github.com'
7178
7279
- name: Run scripts
73-
run: python ${{ matrix.script }}
80+
run: |
81+
source monte-cover/.venv/bin/activate
82+
uv run ${{ matrix.script }}
7483
7584
- name: Commit any existing changes
7685
run: |

doc/irm/qte.qmd

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The non-uniform results (coverage, ci length and bias) refer to averaged values
3131

3232
```{python}
3333
#| echo: false
34-
metadata_file = '../../results/irm/pq_coverage_metadata.csv'
34+
metadata_file = '../../results/irm/pq_metadata.csv'
3535
metadata_df = pd.read_csv(metadata_file)
3636
print(metadata_df.T.to_string(header=False))
3737
```
@@ -42,7 +42,7 @@ print(metadata_df.T.to_string(header=False))
4242
#| echo: false
4343
4444
# set up data
45-
df_qte = pd.read_csv("../../results/irm/pq_coverage_qte.csv", index_col=None)
45+
df_qte = pd.read_csv("../../results/irm/pq_effect_coverage.csv", index_col=None)
4646
4747
assert df_qte["repetition"].nunique() == 1
4848
n_rep_qte = df_qte["repetition"].unique()[0]
@@ -85,7 +85,7 @@ generate_and_show_styled_table(
8585
#| echo: false
8686
8787
# set up data
88-
df_pq0 = pd.read_csv("../../results/irm/pq_coverage_pq0.csv", index_col=None)
88+
df_pq0 = pd.read_csv("../../results/irm/pq_Y0_coverage.csv", index_col=None)
8989
9090
assert df_pq0["repetition"].nunique() == 1
9191
n_rep_pq0 = df_pq0["repetition"].unique()[0]
@@ -125,7 +125,7 @@ generate_and_show_styled_table(
125125
#| echo: false
126126
127127
# set up data and rename columns
128-
df_pq1 = pd.read_csv("../../results/irm/pq_coverage_pq1.csv", index_col=None)
128+
df_pq1 = pd.read_csv("../../results/irm/pq_Y1_coverage.csv", index_col=None)
129129
130130
assert df_pq1["repetition"].nunique() == 1
131131
n_rep_pq1 = df_pq1["repetition"].unique()[0]
@@ -161,15 +161,15 @@ generate_and_show_styled_table(
161161

162162
## LQTE
163163

164-
The results are based on a location-scale model as described the corresponding [Example](https://docs.doubleml.org/stable/examples/py_double_ml_pq.html#Local-Potential-Quantiles-(LPQs)) with $10,000$ observations.
164+
The results are based on a location-scale model as described the corresponding [Example](https://docs.doubleml.org/stable/examples/py_double_ml_pq.html#Local-Potential-Quantiles-(LPQs)) with $5,000$ observations.
165165

166166
The non-uniform results (coverage, ci length and bias) refer to averaged values over all quantiles (point-wise confidende intervals).
167167

168168
::: {.callout-note title="Metadata" collapse="true"}
169169

170170
```{python}
171171
#| echo: false
172-
metadata_file = '../../results/irm/lpq_coverage_metadata.csv'
172+
metadata_file = '../../results/irm/lpq_metadata.csv'
173173
metadata_df = pd.read_csv(metadata_file)
174174
print(metadata_df.T.to_string(header=False))
175175
```
@@ -180,7 +180,7 @@ print(metadata_df.T.to_string(header=False))
180180
#| echo: false
181181
182182
# set up data
183-
df_lqte = pd.read_csv("../../results/irm/lpq_coverage_lqte.csv", index_col=None)
183+
df_lqte = pd.read_csv("../../results/irm/lpq_effect_coverage.csv", index_col=None)
184184
185185
assert df_lqte["repetition"].nunique() == 1
186186
n_rep_lqte = df_lqte["repetition"].unique()[0]
@@ -222,7 +222,7 @@ generate_and_show_styled_table(
222222
#| echo: false
223223
224224
# set up data
225-
df_lpq0 = pd.read_csv("../../results/irm/lpq_coverage_lpq0.csv", index_col=None)
225+
df_lpq0 = pd.read_csv("../../results/irm/lpq_Y0_coverage.csv", index_col=None)
226226
227227
assert df_lpq0["repetition"].nunique() == 1
228228
n_rep_lpq0 = df_lpq0["repetition"].unique()[0]
@@ -262,7 +262,7 @@ generate_and_show_styled_table(
262262
#| echo: false
263263
264264
# set up data
265-
df_lpq1 = pd.read_csv("../../results/irm/lpq_coverage_lpq1.csv", index_col=None)
265+
df_lpq1 = pd.read_csv("../../results/irm/lpq_Y1_coverage.csv", index_col=None)
266266
267267
assert df_lpq1["repetition"].nunique() == 1
268268
n_rep_lpq1 = df_lpq1["repetition"].unique()[0]
@@ -306,7 +306,7 @@ The non-uniform results (coverage, ci length and bias) refer to averaged values
306306

307307
```{python}
308308
#| echo: false
309-
metadata_file = '../../results/irm/cvar_coverage_metadata.csv'
309+
metadata_file = '../../results/irm/cvar_metadata.csv'
310310
metadata_df = pd.read_csv(metadata_file)
311311
print(metadata_df.T.to_string(header=False))
312312
```
@@ -317,7 +317,7 @@ print(metadata_df.T.to_string(header=False))
317317
#| echo: false
318318
319319
# set up data
320-
df_cvar_qte = pd.read_csv("../../results/irm/cvar_coverage_qte.csv", index_col=None)
320+
df_cvar_qte = pd.read_csv("../../results/irm/cvar_effect_coverage.csv", index_col=None)
321321
322322
assert df_cvar_qte["repetition"].nunique() == 1
323323
n_rep_cvar_qte = df_cvar_qte["repetition"].unique()[0]
@@ -359,7 +359,7 @@ generate_and_show_styled_table(
359359
#| echo: false
360360
361361
# set up data
362-
df_cvar_pq0 = pd.read_csv("../../results/irm/cvar_coverage_pq0.csv", index_col=None)
362+
df_cvar_pq0 = pd.read_csv("../../results/irm/cvar_Y0_coverage.csv", index_col=None)
363363
364364
assert df_cvar_pq0["repetition"].nunique() == 1
365365
n_rep_cvar_pq0 = df_cvar_pq0["repetition"].unique()[0]
@@ -399,7 +399,7 @@ generate_and_show_styled_table(
399399
#| echo: false
400400
401401
# set up data
402-
df_cvar_pq1 = pd.read_csv("../../results/irm/cvar_coverage_pq1.csv", index_col=None)
402+
df_cvar_pq1 = pd.read_csv("../../results/irm/cvar_Y1_coverage.csv", index_col=None)
403403
404404
assert df_cvar_pq1["repetition"].nunique() == 1
405405
n_rep_cvar_pq1 = df_cvar_pq1["repetition"].unique()[0]

0 commit comments

Comments
 (0)