Skip to content

Commit e5638df

Browse files
committed
add ssm scripts
1 parent 04fbeef commit e5638df

File tree

4 files changed

+190
-0
lines changed

4 files changed

+190
-0
lines changed

scripts/ssm/ssm_mar_ate.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from montecover.ssm import SSMMarATECoverageSimulation
2+
3+
# Create and run simulation with config file
4+
sim = SSMMarATECoverageSimulation(
5+
config_file="scripts/ssm/ssm_mar_ate_config.yml",
6+
log_level="INFO",
7+
log_file="logs/ssm/ssm_mar_ate_sim.log",
8+
)
9+
sim.run_simulation()
10+
sim.save_results(output_path="results/ssm/", file_prefix="ssm_mar_ate")
11+
12+
# Save config file for reproducibility
13+
sim.save_config("results/ssm/ssm_mar_ate_config.yml")

scripts/ssm/ssm_mar_ate_config.yml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Simulation parameters for IRM ATE Coverage
2+
3+
simulation_parameters:
4+
repetitions: 1000
5+
max_runtime: 19800 # 5.5 hours in seconds
6+
random_seed: 42
7+
n_jobs: -2
8+
9+
dgp_parameters:
10+
theta: [1.0] # Treatment effect
11+
n_obs: [500] # Sample size
12+
dim_x: [20] # Number of covariates
13+
14+
# Define reusable learner configurations
15+
learner_definitions:
16+
lasso: &lasso
17+
name: "LassoCV"
18+
19+
logit: &logit
20+
name: "Logistic"
21+
22+
rfr: &rfr
23+
name: "RF Regr."
24+
params:
25+
n_estimators: 200
26+
max_features: 20
27+
max_depth: 5
28+
min_samples_leaf: 2
29+
30+
rfc: &rfc
31+
name: "RF Clas."
32+
params:
33+
n_estimators: 200
34+
max_features: 20
35+
max_depth: 5
36+
min_samples_leaf: 2
37+
38+
lgbmr: &lgbmr
39+
name: "LGBM Regr."
40+
params:
41+
n_estimators: 500
42+
learning_rate: 0.01
43+
44+
lgbmc: &lgbmc
45+
name: "LGBM Clas."
46+
params:
47+
n_estimators: 500
48+
learning_rate: 0.01
49+
50+
dml_parameters:
51+
learners:
52+
- ml_g: *lasso
53+
ml_m: *logit
54+
ml_pi: *logit
55+
- ml_g: *rfr
56+
ml_m: *rfc
57+
ml_pi: *rfc
58+
- ml_g: *lasso
59+
ml_m: *rfc
60+
ml_pi: *rfc
61+
- ml_g: *rfr
62+
ml_m: *logit
63+
ml_pi: *rfc
64+
- ml_g: *rfr
65+
ml_m: *rfc
66+
ml_pi: *logit
67+
- ml_g: *lgbmr
68+
ml_m: *lgbmc
69+
ml_pi: *lgbmc
70+
- ml_g: *lasso
71+
ml_m: *lgbmc
72+
ml_pi: *lgbmc
73+
- ml_g: *lgbmr
74+
ml_m: *logit
75+
ml_pi: *lgbmc
76+
- ml_g: *lgbmr
77+
ml_m: *lgbmc
78+
ml_pi: *logit
79+
80+
81+
confidence_parameters:
82+
level: [0.95, 0.90] # Confidence levels

scripts/ssm/ssm_nonig_ate.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from montecover.ssm import SSMNonIgnorableATECoverageSimulation
2+
3+
# Create and run simulation with config file
4+
sim = SSMNonIgnorableATECoverageSimulation(
5+
config_file="scripts/ssm/ssm_nonig_ate_config.yml",
6+
log_level="INFO",
7+
log_file="logs/ssm/ssm_nonig_ate_sim.log",
8+
)
9+
sim.run_simulation()
10+
sim.save_results(output_path="results/ssm/", file_prefix="ssm_nonig_ate")
11+
12+
# Save config file for reproducibility
13+
sim.save_config("results/ssm/ssm_nonig_ate_config.yml")

scripts/ssm/ssm_nonig_ate_config.yml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Simulation parameters for IRM ATE Coverage
2+
3+
simulation_parameters:
4+
repetitions: 1000
5+
max_runtime: 19800 # 5.5 hours in seconds
6+
random_seed: 42
7+
n_jobs: -2
8+
9+
dgp_parameters:
10+
theta: [1.0] # Treatment effect
11+
n_obs: [500] # Sample size
12+
dim_x: [20] # Number of covariates
13+
14+
# Define reusable learner configurations
15+
learner_definitions:
16+
lasso: &lasso
17+
name: "LassoCV"
18+
19+
logit: &logit
20+
name: "Logistic"
21+
22+
rfr: &rfr
23+
name: "RF Regr."
24+
params:
25+
n_estimators: 200
26+
max_features: 20
27+
max_depth: 5
28+
min_samples_leaf: 2
29+
30+
rfc: &rfc
31+
name: "RF Clas."
32+
params:
33+
n_estimators: 200
34+
max_features: 20
35+
max_depth: 5
36+
min_samples_leaf: 2
37+
38+
lgbmr: &lgbmr
39+
name: "LGBM Regr."
40+
params:
41+
n_estimators: 500
42+
learning_rate: 0.01
43+
44+
lgbmc: &lgbmc
45+
name: "LGBM Clas."
46+
params:
47+
n_estimators: 500
48+
learning_rate: 0.01
49+
50+
dml_parameters:
51+
learners:
52+
- ml_g: *lasso
53+
ml_m: *logit
54+
ml_pi: *logit
55+
- ml_g: *rfr
56+
ml_m: *rfc
57+
ml_pi: *rfc
58+
- ml_g: *lasso
59+
ml_m: *rfc
60+
ml_pi: *rfc
61+
- ml_g: *rfr
62+
ml_m: *logit
63+
ml_pi: *rfc
64+
- ml_g: *rfr
65+
ml_m: *rfc
66+
ml_pi: *logit
67+
- ml_g: *lgbmr
68+
ml_m: *lgbmc
69+
ml_pi: *lgbmc
70+
- ml_g: *lasso
71+
ml_m: *lgbmc
72+
ml_pi: *lgbmc
73+
- ml_g: *lgbmr
74+
ml_m: *logit
75+
ml_pi: *lgbmc
76+
- ml_g: *lgbmr
77+
ml_m: *lgbmc
78+
ml_pi: *logit
79+
80+
81+
confidence_parameters:
82+
level: [0.95, 0.90] # Confidence levels

0 commit comments

Comments
 (0)