Skip to content

Commit 493e323

Browse files
committed
update quantile scripts
1 parent 0e94461 commit 493e323

File tree

6 files changed

+194
-0
lines changed

6 files changed

+194
-0
lines changed

scripts/irm/cvar.py

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

scripts/irm/cvar_config.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Simulation parameters for CVAR Coverage
2+
3+
simulation_parameters:
4+
repetitions: 200
5+
max_runtime: 19800 # 5.5 hours in seconds
6+
random_seed: 42
7+
n_jobs: -2
8+
9+
dgp_parameters:
10+
n_obs: [5000] # Sample size
11+
dim_x: [5] # Number of covariates
12+
13+
# Define reusable learner configurations
14+
learner_definitions:
15+
linear: &linear
16+
name: "Linear"
17+
18+
logit: &logit
19+
name: "Logistic"
20+
21+
lgbmr: &lgbmr
22+
name: "LGBM Regr."
23+
params:
24+
n_estimators: 200 # Fewer trees — faster
25+
learning_rate: 0.05 # Balanced speed and stability
26+
num_leaves: 15 # Modest complexity for smaller data
27+
max_depth: 5 # Limit tree depth to avoid overfitting
28+
min_child_samples: 10 # Minimum samples per leaf — conservative
29+
subsample: 0.9 # Slightly randomized rows
30+
colsample_bytree: 0.9 # Slightly randomized features
31+
reg_alpha: 0.0 # No L1 regularization (faster)
32+
reg_lambda: 0.1 # Light L2 regularization
33+
random_state: 42 # Reproducible
34+
35+
lgbmc: &lgbmc
36+
name: "LGBM Clas."
37+
params:
38+
n_estimators: 200 # Fewer trees — faster
39+
learning_rate: 0.05 # Balanced speed and stability
40+
num_leaves: 15 # Modest complexity for smaller data
41+
max_depth: 5 # Limit tree depth to avoid overfitting
42+
min_child_samples: 10 # Minimum samples per leaf — conservative
43+
subsample: 0.9 # Slightly randomized rows
44+
colsample_bytree: 0.9 # Slightly randomized features
45+
reg_alpha: 0.0 # No L1 regularization (faster)
46+
reg_lambda: 0.1 # Light L2 regularization
47+
random_state: 42 # Reproducible
48+
49+
dml_parameters:
50+
tau_vec: [[0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]] # Quantiles
51+
trimming_threshold: [0.01]
52+
learners:
53+
- ml_g: *linear
54+
ml_m: *logit
55+
- ml_g: *lgbmr
56+
ml_m: *lgbmc
57+
- ml_g: *lgbmr
58+
ml_m: *logit
59+
- ml_g: *linear
60+
ml_m: *lgbmc
61+
62+
confidence_parameters:
63+
level: [0.95, 0.90] # Confidence levels

scripts/irm/lpq.py

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

scripts/irm/lpq_config.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Simulation parameters for LPQ Coverage
2+
3+
simulation_parameters:
4+
repetitions: 200
5+
max_runtime: 19800 # 5.5 hours in seconds
6+
random_seed: 42
7+
n_jobs: -2
8+
9+
dgp_parameters:
10+
n_obs: [5000] # Sample size
11+
dim_x: [5] # Number of covariates
12+
13+
# Define reusable learner configurations
14+
learner_definitions:
15+
logit: &logit
16+
name: "Logistic"
17+
18+
lgbmc: &lgbmc
19+
name: "LGBM Clas."
20+
params:
21+
n_estimators: 200 # Fewer trees — faster
22+
learning_rate: 0.05 # Balanced speed and stability
23+
num_leaves: 15 # Modest complexity for smaller data
24+
max_depth: 5 # Limit tree depth to avoid overfitting
25+
min_child_samples: 10 # Minimum samples per leaf — conservative
26+
subsample: 0.9 # Slightly randomized rows
27+
colsample_bytree: 0.9 # Slightly randomized features
28+
reg_alpha: 0.0 # No L1 regularization (faster)
29+
reg_lambda: 0.1 # Light L2 regularization
30+
random_state: 42 # Reproducible
31+
32+
dml_parameters:
33+
tau_vec: [[0.3, 0.4, 0.5, 0.6, 0.7]] # Quantiles
34+
trimming_threshold: [0.01]
35+
learners:
36+
- ml_g: *logit
37+
ml_m: *logit
38+
- ml_g: *lgbmc
39+
ml_m: *lgbmc
40+
- ml_g: *lgbmc
41+
ml_m: *logit
42+
- ml_g: *logit
43+
ml_m: *lgbmc
44+
45+
confidence_parameters:
46+
level: [0.95, 0.90] # Confidence levels

scripts/irm/pq.py

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

scripts/irm/pq_config.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Simulation parameters for PQ Coverage
2+
3+
simulation_parameters:
4+
repetitions: 200
5+
max_runtime: 19800 # 5.5 hours in seconds
6+
random_seed: 42
7+
n_jobs: -2
8+
9+
dgp_parameters:
10+
n_obs: [5000] # Sample size
11+
dim_x: [5] # Number of covariates
12+
13+
# Define reusable learner configurations
14+
learner_definitions:
15+
logit: &logit
16+
name: "Logistic"
17+
18+
lgbmc: &lgbmc
19+
name: "LGBM Clas."
20+
params:
21+
n_estimators: 200 # Fewer trees — faster
22+
learning_rate: 0.05 # Balanced speed and stability
23+
num_leaves: 15 # Modest complexity for smaller data
24+
max_depth: 5 # Limit tree depth to avoid overfitting
25+
min_child_samples: 10 # Minimum samples per leaf — conservative
26+
subsample: 0.9 # Slightly randomized rows
27+
colsample_bytree: 0.9 # Slightly randomized features
28+
reg_alpha: 0.0 # No L1 regularization (faster)
29+
reg_lambda: 0.1 # Light L2 regularization
30+
random_state: 42 # Reproducible
31+
32+
dml_parameters:
33+
tau_vec: [[0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]] # Quantiles
34+
trimming_threshold: [0.01]
35+
learners:
36+
- ml_g: *logit
37+
ml_m: *logit
38+
- ml_g: *lgbmc
39+
ml_m: *lgbmc
40+
- ml_g: *lgbmc
41+
ml_m: *logit
42+
- ml_g: *logit
43+
ml_m: *lgbmc
44+
45+
confidence_parameters:
46+
level: [0.95, 0.90] # Confidence levels

0 commit comments

Comments
 (0)