diff --git a/.github/workflows/apo_sim.yml b/.github/workflows/apo_sim.yml index 31ee1cbd..9712005e 100644 --- a/.github/workflows/apo_sim.yml +++ b/.github/workflows/apo_sim.yml @@ -52,7 +52,7 @@ jobs: uses: astral-sh/setup-uv@v5 with: version: "0.7.8" - + - name: Set up Python uses: actions/setup-python@v5 with: diff --git a/.github/workflows/pliv_sim.yml b/.github/workflows/pliv_sim.yml index 22a91bc4..4c1233ed 100644 --- a/.github/workflows/pliv_sim.yml +++ b/.github/workflows/pliv_sim.yml @@ -62,7 +62,7 @@ jobs: cd monte-cover uv venv uv sync - + - name: Install DoubleML from correct branch run: | source monte-cover/.venv/bin/activate diff --git a/doc/did/did_cs.qmd b/doc/did/did_cs.qmd index eab72ec2..39047753 100644 --- a/doc/did/did_cs.qmd +++ b/doc/did/did_cs.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## ATTE Coverage +## Coverage -The simulations are based on the the [make_did_SZ2020](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_did_SZ2020.html)-DGP with $1000$ observations. Learners are only set to boosting, due to time constraints (and the nonlinearity of some of the DGPs). +The simulations are based on the the [make_did_SZ2020](https://docs.doubleml.org/stable/api/generated/doubleml.did.datasets.make_did_SZ2020.html)-DGP with $1000$ observations. Learners are only set to boosting, due to time constraints (and the nonlinearity of some of the DGPs). ::: {.callout-note title="Metadata" collapse="true"} diff --git a/doc/did/did_cs_multi.qmd b/doc/did/did_cs_multi.qmd index fba42d58..e6c938c7 100644 --- a/doc/did/did_cs_multi.qmd +++ b/doc/did/did_cs_multi.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## ATTE Coverage +## Coverage -The simulations are based on the [make_did_cs_CS2021](https://docs.doubleml.org/dev/api/generated/doubleml.did.datasets.make_did_cs_CS2021.html)-DGP with $2000$ observations. Learners are both set to either boosting or a linear (logistic) model. Due to time constraints we only consider the following DGPs: +The simulations are based on the [make_did_cs_CS2021](https://docs.doubleml.org/stable/api/generated/doubleml.did.datasets.make_did_cs_CS2021.html)-DGP with $1000$ observations. Learners are both set to either boosting or a linear (logistic) model. Due to time constraints we only consider the following DGPs: - Type 1: Linear outcome model and treatment assignment - Type 4: Nonlinear outcome model and treatment assignment @@ -52,7 +52,7 @@ df = pd.read_csv("../../results/did/did_cs_multi_detailed.csv", index_col=None) assert df["repetition"].nunique() == 1 n_rep = df["repetition"].unique()[0] -display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"] +display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_d0_t0", "Loss g_d0_t1", "Loss g_d1_t0", "Loss g_d1_t1", "Loss m"] ``` ### Observational Score @@ -112,7 +112,7 @@ generate_and_show_styled_table( ## Aggregated Effects -These simulations test different types of aggregation, as described in [DiD User Guide](https://docs.doubleml.org/dev/guide/models.html#difference-in-differences-models-did). +These simulations test different types of aggregation, as described in [DiD User Guide](https://docs.doubleml.org/stable/guide/models.html#difference-in-differences-models-did). The non-uniform results (coverage, ci length and bias) refer to averaged values over all $ATTs$ (point-wise confidence intervals). @@ -127,7 +127,7 @@ df_group = pd.read_csv("../../results/did/did_cs_multi_group.csv", index_col=Non assert df_group["repetition"].nunique() == 1 n_rep_group = df_group["repetition"].unique()[0] -display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"] +display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_d0_t0", "Loss g_d0_t1", "Loss g_d1_t0", "Loss g_d1_t1", "Loss m"] ``` #### Observational Score @@ -195,7 +195,7 @@ df_time = pd.read_csv("../../results/did/did_cs_multi_time.csv", index_col=None) assert df_time["repetition"].nunique() == 1 n_rep_time = df_time["repetition"].unique()[0] -display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"] +display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_d0_t0", "Loss g_d0_t1", "Loss g_d1_t0", "Loss g_d1_t1", "Loss m"] ``` #### Observational Score @@ -263,7 +263,7 @@ df_es = pd.read_csv("../../results/did/did_cs_multi_eventstudy.csv", index_col=N assert df_es["repetition"].nunique() == 1 n_rep_es = df_es["repetition"].unique()[0] -display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"] +display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_d0_t0", "Loss g_d0_t1", "Loss g_d1_t0", "Loss g_d1_t1", "Loss m"] ``` #### Observational Score diff --git a/doc/did/did_pa.qmd b/doc/did/did_pa.qmd index 94f16ed8..2a9a58f6 100644 --- a/doc/did/did_pa.qmd +++ b/doc/did/did_pa.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## ATTE Coverage +## Coverage -The simulations are based on the the [make_did_SZ2020](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_did_SZ2020.html)-DGP with $1000$ observations. Learners are only set to boosting, due to time constraints (and the nonlinearity of some of the DGPs). +The simulations are based on the the [make_did_SZ2020](https://docs.doubleml.org/stable/api/generated/doubleml.did.datasets.make_did_SZ2020.html)-DGP with $1000$ observations. Learners are only set to boosting, due to time constraints (and the nonlinearity of some of the DGPs). ::: {.callout-note title="Metadata" collapse="true"} diff --git a/doc/did/did_pa_multi.qmd b/doc/did/did_pa_multi.qmd index b004299f..33934b24 100644 --- a/doc/did/did_pa_multi.qmd +++ b/doc/did/did_pa_multi.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## ATTE Coverage +## Coverage -The simulations are based on the the [make_did_CS2021](https://docs.doubleml.org/dev/api/generated/doubleml.did.datasets.make_did_CS2021.html)-DGP with $2000$ observations. Learners are both set to either boosting or a linear (logistic) model. Due to time constraints we only consider the following DGPs: +The simulations are based on the the [make_did_CS2021](https://docs.doubleml.org/stable/api/generated/doubleml.did.datasets.make_did_CS2021.html)-DGP with $1000$ observations. Learners are both set to either boosting or a linear (logistic) model. Due to time constraints we only consider the following DGPs: - Type 1: Linear outcome model and treatment assignment - Type 4: Nonlinear outcome model and treatment assignment @@ -52,7 +52,7 @@ df = pd.read_csv("../../results/did/did_pa_multi_detailed.csv", index_col=None) assert df["repetition"].nunique() == 1 n_rep = df["repetition"].unique()[0] -display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"] +display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_control", "Loss g_treated", "Loss m"] ``` ### Observational Score @@ -112,7 +112,7 @@ generate_and_show_styled_table( ## Aggregated Effects -These simulations test different types of aggregation, as described in [DiD User Guide](https://docs.doubleml.org/dev/guide/models.html#difference-in-differences-models-did). +These simulations test different types of aggregation, as described in [DiD User Guide](https://docs.doubleml.org/stable/guide/models.html#difference-in-differences-models-did). The non-uniform results (coverage, ci length and bias) refer to averaged values over all $ATTs$ (point-wise confidende intervals). @@ -127,7 +127,7 @@ df_group = pd.read_csv("../../results/did/did_pa_multi_group.csv", index_col=Non assert df_group["repetition"].nunique() == 1 n_rep_group = df_group["repetition"].unique()[0] -display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"] +display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_control", "Loss g_treated", "Loss m"] ``` #### Observational Score @@ -195,7 +195,7 @@ df_time = pd.read_csv("../../results/did/did_pa_multi_time.csv", index_col=None) assert df_time["repetition"].nunique() == 1 n_rep_time = df_time["repetition"].unique()[0] -display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"] +display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_control", "Loss g_treated", "Loss m"] ``` #### Observational Score @@ -263,7 +263,7 @@ df_es = pd.read_csv("../../results/did/did_pa_multi_eventstudy.csv", index_col=N assert df_es["repetition"].nunique() == 1 n_rep_es = df_es["repetition"].unique()[0] -display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage"] +display_columns = ["Learner g", "Learner m", "DGP", "In-sample-norm.", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_control", "Loss g_treated", "Loss m"] ``` #### Observational Score @@ -320,3 +320,194 @@ generate_and_show_styled_table( coverage_highlight_cols=["Coverage", "Uniform Coverage"] ) ``` + + +## Tuning + +The simulations are based on the the [make_did_CS2021](https://docs.doubleml.org/stable/api/generated/doubleml.did.datasets.make_did_CS2021.html)-DGP with $1000$ observations. Due to time constraints we only consider one learner, use in-sample normalization and the following DGPs: + + - Type 1: Linear outcome model and treatment assignment + - Type 4: Nonlinear outcome model and treatment assignment + +The non-uniform results (coverage, ci length and bias) refer to averaged values over all $ATTs$ (point-wise confidende intervals). This is only an example as the untuned version just relies on the default configuration. + +::: {.callout-note title="Metadata" collapse="true"} + +```{python} +#| echo: false +metadata_file = '../../results/did/did_pa_multi_tune_metadata.csv' +metadata_df = pd.read_csv(metadata_file) +print(metadata_df.T.to_string(header=False)) +``` + +::: + +```{python} +#| echo: false + +# set up data +df = pd.read_csv("../../results/did/did_pa_multi_tune_detailed.csv", index_col=None) + +assert df["repetition"].nunique() == 1 +n_rep = df["repetition"].unique()[0] + +display_columns = ["Learner g", "Learner m", "DGP", "Tuned", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_control", "Loss g_treated", "Loss m"] +``` + +### Observational Score + +```{python} +#| echo: false +generate_and_show_styled_table( + main_df=df, + filters={"level": 0.95, "Score": "observational"}, + display_cols=display_columns, + n_rep=n_rep, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` + +```{python} +#| echo: false +generate_and_show_styled_table( + main_df=df, + filters={"level": 0.9, "Score": "observational"}, + display_cols=display_columns, + n_rep=n_rep, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` + +## Tuning Aggregated Effects + +These simulations test different types of aggregation, as described in [DiD User Guide](https://docs.doubleml.org/stable/guide/models.html#difference-in-differences-models-did). + +As before, we only consider one learner, use in-sample normalization and the following DGPs: + + - Type 1: Linear outcome model and treatment assignment + - Type 4: Nonlinear outcome model and treatment assignment + +The non-uniform results (coverage, ci length and bias) refer to averaged values over all $ATTs$ (point-wise confidende intervals). This is only an example as the untuned version just relies on the default configuration. + +### Group Effects + +```{python} +#| echo: false + +# set up data +df_group_tune = pd.read_csv("../../results/did/did_pa_multi_tune_group.csv", index_col=None) + +assert df_group_tune["repetition"].nunique() == 1 +n_rep_group_tune = df_group_tune["repetition"].unique()[0] + +display_columns_tune = ["Learner g", "Learner m", "DGP", "Tuned", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_control", "Loss g_treated", "Loss m"] +``` + +#### Observational Score + +```{python} +#| echo: false +generate_and_show_styled_table( + main_df=df_group_tune, + filters={"level": 0.95, "Score": "observational"}, + display_cols=display_columns_tune, + n_rep=n_rep_group_tune, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` + +```{python} +#| echo: false +generate_and_show_styled_table( + main_df=df_group_tune, + filters={"level": 0.9, "Score": "observational"}, + display_cols=display_columns_tune, + n_rep=n_rep_group_tune, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` + + +### Time Effects + +```{python} +#| echo: false + +# set up data +df_time_tune = pd.read_csv("../../results/did/did_pa_multi_tune_time.csv", index_col=None) + +assert df_time_tune["repetition"].nunique() == 1 +n_rep_time_tune = df_time_tune["repetition"].unique()[0] + +display_columns_tune = ["Learner g", "Learner m", "DGP", "Tuned", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_control", "Loss g_treated", "Loss m"] +``` + +#### Observational Score + +```{python} +#| echo: false +generate_and_show_styled_table( + main_df=df_time_tune, + filters={"level": 0.95, "Score": "observational"}, + display_cols=display_columns_tune, + n_rep=n_rep_time_tune, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` + +```{python} +#| echo: false +generate_and_show_styled_table( + main_df=df_time_tune, + filters={"level": 0.9, "Score": "observational"}, + display_cols=display_columns_tune, + n_rep=n_rep_time_tune, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` + +### Event Study Aggregation + +```{python} +#| echo: false + +# set up data +df_es_tune = pd.read_csv("../../results/did/did_pa_multi_tune_eventstudy.csv", index_col=None) + +assert df_es_tune["repetition"].nunique() == 1 +n_rep_es_tune = df_es_tune["repetition"].unique()[0] + +display_columns_tune = ["Learner g", "Learner m", "DGP", "Tuned", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_control", "Loss g_treated", "Loss m"] +``` + +#### Observational Score + +```{python} +#| echo: false +generate_and_show_styled_table( + main_df=df_es_tune, + filters={"level": 0.95, "Score": "observational"}, + display_cols=display_columns_tune, + n_rep=n_rep_es_tune, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` + +```{python} +#| echo: false +generate_and_show_styled_table( + main_df=df_es_tune, + filters={"level": 0.9, "Score": "observational"}, + display_cols=display_columns_tune, + n_rep=n_rep_es_tune, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` diff --git a/doc/irm/apo.qmd b/doc/irm/apo.qmd index 376f0831..c9200fa8 100644 --- a/doc/irm/apo.qmd +++ b/doc/irm/apo.qmd @@ -22,9 +22,11 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## APO Pointwise Coverage +## Coverage -The simulations are based on the the [make_irm_data_discrete_treatments](https://docs.doubleml.org/stable/api/api.html#datasets-module)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso and Logit Regression are nearly optimal choices for the nuisance estimation. +### APO Pointwise Coverage + +The simulations are based on the the [make_irm_data_discrete_treatments](https://docs.doubleml.org/stable/api/datasets.html#dataset-generators)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso and Logit Regression are nearly optimal choices for the nuisance estimation. ::: {.callout-note title="Metadata" collapse="true"} @@ -78,11 +80,11 @@ generate_and_show_styled_table( ``` -## APOS Coverage +### APOS Coverage -The simulations are based on the the [make_irm_data_discrete_treatments](https://docs.doubleml.org/stable/api/api.html#datasets-module)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso and Logit Regression are nearly optimal choices for the nuisance estimation. +The simulations are based on the the [make_irm_data_discrete_treatments](https://docs.doubleml.org/stable/api/datasets.html#dataset-generators)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso and Logit Regression are nearly optimal choices for the nuisance estimation. -The non-uniform results (coverage, ci length and bias) refer to averaged values over all quantiles (point-wise confidende intervals). +The non-uniform results (coverage, ci length and bias) refer to averaged values over all levels (point-wise confidende intervals). ::: {.callout-note title="Metadata" collapse="true"} @@ -134,11 +136,11 @@ generate_and_show_styled_table( ) ``` -## Causal Contrast Coverage +### Causal Contrast Coverage -The simulations are based on the the [make_irm_data_discrete_treatments](https://docs.doubleml.org/stable/api/api.html#datasets-module)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso and Logit Regression are nearly optimal choices for the nuisance estimation. +The simulations are based on the the [make_irm_data_discrete_treatments](https://docs.doubleml.org/stable/api/datasets.html#dataset-generators)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso and Logit Regression are nearly optimal choices for the nuisance estimation. -The non-uniform results (coverage, ci length and bias) refer to averaged values over all quantiles (point-wise confidende intervals). +The non-uniform results (coverage, ci length and bias) refer to averaged values over all levels (point-wise confidende intervals). ::: {.callout-note title="Metadata" collapse="true"} @@ -189,3 +191,118 @@ generate_and_show_styled_table( coverage_highlight_cols=["Coverage", "Uniform Coverage"] ) ``` + + +## Tuning + +The simulations are based on the the [make_irm_data_discrete_treatments](https://docs.doubleml.org/stable/api/datasets.html#dataset-generators)-DGP with $500$ observations. This is only an example as the untuned version just relies on the default configuration. + +### APOS Coverage + +The non-uniform results (coverage, ci length and bias) refer to averaged values over all levels (point-wise confidende intervals). The same holds for the loss values which are averaged over all treatment levels. + +::: {.callout-note title="Metadata" collapse="true"} + +```{python} +#| echo: false +metadata_file = '../../results/irm/apos_tune_metadata.csv' +metadata_df = pd.read_csv(metadata_file) +print(metadata_df.T.to_string(header=False)) +``` + +::: + +```{python} +#| echo: false + +# set up data +df_apos_tune = pd.read_csv("../../results/irm/apos_tune_coverage.csv", index_col=None) + +assert df_apos_tune["repetition"].nunique() == 1 +n_rep_apos_tune = df_apos_tune["repetition"].unique()[0] + +display_columns_apos_tune = ["Learner g", "Learner m", "Tuned", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_control", "Loss g_treated", "Loss m"] +``` + +```{python} +#| echo: false + +generate_and_show_styled_table( + main_df=df_apos_tune, + filters={"level": 0.95}, + display_cols=display_columns_apos_tune, + n_rep=n_rep_apos_tune, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` + + +```{python} +#| echo: false + +generate_and_show_styled_table( + main_df=df_apos_tune, + filters={"level": 0.9}, + display_cols=display_columns_apos_tune, + n_rep=n_rep_apos_tune, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` + + +### Causal Contrast Coverage + +The non-uniform results (coverage, ci length and bias) refer to averaged values over all quantiles (point-wise confidende intervals). The same holds for the loss values which are averaged over all treatment levels. + + +::: {.callout-note title="Metadata" collapse="true"} + +```{python} +#| echo: false +metadata_file = '../../results/irm/apos_tune_metadata.csv' +metadata_df = pd.read_csv(metadata_file) +print(metadata_df.T.to_string(header=False)) +``` + +::: + +```{python} +#| echo: false + +# set up data +df_contrast_tune = pd.read_csv("../../results/irm/apos_tune_causal_contrast.csv", index_col=None) + +assert df_contrast_tune["repetition"].nunique() == 1 +n_rep_contrast_tune = df_contrast_tune["repetition"].unique()[0] + +display_columns_contrast_tune = ["Learner g", "Learner m", "Tuned", "Bias", "CI Length", "Coverage", "Uniform CI Length", "Uniform Coverage", "Loss g_control", "Loss g_treated", "Loss m"] +``` + +```{python} +#| echo: false + +generate_and_show_styled_table( + main_df=df_contrast_tune, + filters={"level": 0.95}, + display_cols=display_columns_contrast_tune, + n_rep=n_rep_contrast_tune, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` + + +```{python} +#| echo: false + +generate_and_show_styled_table( + main_df=df_contrast_tune, + filters={"level": 0.9}, + display_cols=display_columns_contrast_tune, + n_rep=n_rep_contrast_tune, + level_col="level", + coverage_highlight_cols=["Coverage", "Uniform Coverage"] +) +``` \ No newline at end of file diff --git a/doc/irm/iivm.qmd b/doc/irm/iivm.qmd index 7dd53c28..d18e34a8 100644 --- a/doc/irm/iivm.qmd +++ b/doc/irm/iivm.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## LATE Coverage +## Coverage -The simulations are based on the the [make_iivm_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_iivm_data.html)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso and Logit Regression are nearly optimal choices for the nuisance estimation. +The simulations are based on the the [make_iivm_data](https://docs.doubleml.org/stable/api/generated/doubleml.irm.datasets.make_iivm_data.html)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso and Logit Regression are nearly optimal choices for the nuisance estimation. ::: {.callout-note title="Metadata" collapse="true"} diff --git a/doc/irm/irm.qmd b/doc/irm/irm.qmd index a25087c1..f347ae8e 100644 --- a/doc/irm/irm.qmd +++ b/doc/irm/irm.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## ATE Coverage +## Coverage -The simulations are based on the the [make_irm_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_irm_data.html)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso and Logit Regression are nearly optimal choices for the nuisance estimation. +The simulations are based on the the [make_irm_data](https://docs.doubleml.org/stable/api/generated/doubleml.irm.datasets.make_irm_data.html)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso and Logit Regression are nearly optimal choices for the nuisance estimation. ::: {.callout-note title="Metadata" collapse="true"} @@ -37,6 +37,8 @@ print(metadata_df.T.to_string(header=False)) ::: +### ATE + ```{python} #| echo: false @@ -78,9 +80,9 @@ generate_and_show_styled_table( ``` -## ATTE Coverage +### ATTE -As for the ATE, the simulations are based on the the [make_irm_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_irm_data.html)-DGP with $500$ observations. +As for the ATE, the simulations are based on the the [make_irm_data](https://docs.doubleml.org/stable/api/generated/doubleml.irm.datasets.make_irm_data.html)-DGP with $500$ observations. ::: {.callout-note title="Metadata" collapse="true"} @@ -135,7 +137,7 @@ generate_and_show_styled_table( ## Sensitivity -The simulations are based on the the [make_confounded_irm_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_confounded_irm_data.html#doubleml.datasets.make_confounded_irm_data)-DGP with $5,000$ observations. Since the DGP includes an unobserved confounder, we would expect a bias in the ATE estimates, leading to low coverage of the true parameter. +The simulations are based on the the [make_confounded_irm_data](https://docs.doubleml.org/stable/api/generated/doubleml.irm.datasets.make_confounded_irm_data.html#doubleml.datasets.make_confounded_irm_data)-DGP with $5,000$ observations. Since the DGP includes an unobserved confounder, we would expect a bias in the ATE estimates, leading to low coverage of the true parameter. The confounding is set such that both sensitivity parameters are approximately $cf_y=cf_d=0.1$, such that the robustness value $RV$ should be approximately $10\%$. Further, the corresponding confidence intervals are one-sided (since the direction of the bias is unkown), such that only one side should approximate the corresponding coverage level (here only the lower coverage is relevant since the bias is positive). Remark that for the coverage level the value of $\rho$ has to be correctly specified, such that the coverage level will be generally (significantly) larger than the nominal level under the conservative choice of $|\rho|=1$. @@ -245,3 +247,61 @@ generate_and_show_styled_table( coverage_highlight_cols=coverage_highlight_cols_sens ) ``` + + +## Tuning + +The simulations are based on the the [make_irm_data](https://docs.doubleml.org/stable/api/generated/doubleml.irm.datasets.make_irm_data.html)-DGP with $500$ observations. This is only an example as the untuned version just relies on the default configuration. + +::: {.callout-note title="Metadata" collapse="true"} + +```{python} +#| echo: false +metadata_file = '../../results/irm/irm_ate_tune_metadata.csv' +metadata_df = pd.read_csv(metadata_file) +print(metadata_df.T.to_string(header=False)) +``` + +::: + +### ATE + +```{python} +#| echo: false + +# set up data +df_ate_tune_cov = pd.read_csv("../../results/irm/irm_ate_tune_coverage.csv", index_col=None) + +assert df_ate_tune_cov["repetition"].nunique() == 1 +n_rep_ate_tune_cov = df_ate_tune_cov["repetition"].unique()[0] + +display_columns_ate_tune_cov = ["Learner g", "Learner m", "Tuned", "Bias", "CI Length", "Coverage", "Loss g0", "Loss g1", "Loss m"] +``` + + +```{python} +#| echo: false + +generate_and_show_styled_table( + main_df=df_ate_tune_cov, + filters={"level": 0.95}, + display_cols=display_columns_ate_tune_cov, + n_rep=n_rep_ate_tune_cov, + level_col="level", + coverage_highlight_cols=["Coverage"] +) +``` + + +```{python} +#| echo: false + +generate_and_show_styled_table( + main_df=df_ate_tune_cov, + filters={"level": 0.9}, + display_cols=display_columns_ate_tune_cov, + n_rep=n_rep_ate_tune_cov, + level_col="level", + coverage_highlight_cols=["Coverage"] +) +``` diff --git a/doc/irm/irm_cate.qmd b/doc/irm/irm_cate.qmd index df2d3c67..0e979927 100644 --- a/doc/irm/irm_cate.qmd +++ b/doc/irm/irm_cate.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## CATE Coverage +## Coverage -The simulations are based on the the [make_heterogeneous_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_heterogeneous_data.html)-DGP with $2000$ observations. The groups are defined based on the first covariate, analogously to the [CATE IRM Example](https://docs.doubleml.org/stable/examples/py_double_ml_cate.html), but rely on [LightGBM](https://lightgbm.readthedocs.io/en/latest/index.html) to estimate nuisance elements (due to time constraints). +The simulations are based on the the [make_heterogeneous_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.irm.make_heterogeneous_data.html)-DGP with $2000$ observations. The groups are defined based on the first covariate, analogously to the [CATE IRM Example](https://docs.doubleml.org/stable/examples/py_double_ml_cate.html), but rely on [LightGBM](https://lightgbm.readthedocs.io/en/latest/index.html) to estimate nuisance elements (due to time constraints). The non-uniform results (coverage, ci length and bias) refer to averaged values over all groups (point-wise confidende intervals). diff --git a/doc/irm/irm_gate.qmd b/doc/irm/irm_gate.qmd index 9224fae3..3eaeae69 100644 --- a/doc/irm/irm_gate.qmd +++ b/doc/irm/irm_gate.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## GATE Coverage +## Coverage -The simulations are based on the the [make_heterogeneous_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_heterogeneous_data.html)-DGP with $500$ observations. The groups are defined based on the first covariate, analogously to the [GATE IRM Example](https://docs.doubleml.org/stable/examples/py_double_ml_gate.html), but rely on [LightGBM](https://lightgbm.readthedocs.io/en/latest/index.html) to estimate nuisance elements (due to time constraints). +The simulations are based on the the [make_heterogeneous_data](https://docs.doubleml.org/stable/api/generated/doubleml.irm.datasets.make_heterogeneous_data.html)-DGP with $500$ observations. The groups are defined based on the first covariate, analogously to the [GATE IRM Example](https://docs.doubleml.org/stable/examples/py_double_ml_gate.html), but rely on [LightGBM](https://lightgbm.readthedocs.io/en/latest/index.html) to estimate nuisance elements (due to time constraints). The non-uniform results (coverage, ci length and bias) refer to averaged values over all groups (point-wise confidende intervals). diff --git a/doc/plm/lplr.qmd b/doc/plm/lplr.qmd index b310ce17..d6e79cca 100644 --- a/doc/plm/lplr.qmd +++ b/doc/plm/lplr.qmd @@ -22,7 +22,7 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## ATE Coverage +## Coverage 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. @@ -64,7 +64,6 @@ generate_and_show_styled_table( display_cols=display_columns_coverage, n_rep=n_rep_coverage, level_col="level", -# rename_map={"Learner g": "Learner l"}, coverage_highlight_cols=["Coverage"] ) ``` @@ -78,7 +77,6 @@ generate_and_show_styled_table( display_cols=display_columns_coverage, n_rep=n_rep_coverage, level_col="level", -# rename_map={"Learner g": "Learner l"}, coverage_highlight_cols=["Coverage"] ) ``` @@ -111,3 +109,92 @@ generate_and_show_styled_table( coverage_highlight_cols=["Coverage"] ) ``` + + +## Tuning + +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. This is only an example as the untuned version just relies on the default configuration. + +::: {.callout-note title="Metadata" collapse="true"} + +```{python} +#| echo: false +metadata_file = '../../results/plm/lplr_ate_tune_metadata.csv' +metadata_df = pd.read_csv(metadata_file) +print(metadata_df.T.to_string(header=False)) +``` + +::: + +```{python} +#| echo: false + +# set up data and rename columns +df_coverage_tune = pd.read_csv("../../results/plm/lplr_ate_tune_coverage.csv", index_col=None) + +if "repetition" in df_coverage_tune.columns and df_coverage_tune["repetition"].nunique() == 1: + n_rep_coverage_tune = df_coverage_tune["repetition"].unique()[0] +elif "n_rep" in df_coverage_tune.columns and df_coverage_tune["n_rep"].nunique() == 1: + n_rep_coverage_tune = df_coverage_tune["n_rep"].unique()[0] +else: + n_rep_coverage_tune = "N/A" # Fallback if n_rep cannot be determined + +display_columns_coverage_tune = ["Learner m", "Learner M", "Learner t", "Tuned", "Bias", "CI Length", "Coverage", "Loss M", "Loss a", "Loss m"] +``` + +### Nuisance space + +```{python} +# | echo: false + +generate_and_show_styled_table( + main_df=df_coverage_tune, + filters={"level": 0.95, "Score": "nuisance_space"}, + display_cols=display_columns_coverage_tune, + n_rep=n_rep_coverage_tune, + level_col="level", + coverage_highlight_cols=["Coverage"] +) +``` + +```{python} +#| echo: false + +generate_and_show_styled_table( + main_df=df_coverage_tune, + filters={"level": 0.9, "Score": "nuisance_space"}, + display_cols=display_columns_coverage_tune, + n_rep=n_rep_coverage_tune, + level_col="level", + coverage_highlight_cols=["Coverage"] +) +``` + +### Instrument + + +```{python} +#| echo: false + +generate_and_show_styled_table( + main_df=df_coverage_tune, + filters={"level": 0.95, "Score": "instrument"}, + display_cols=display_columns_coverage_tune, + n_rep=n_rep_coverage_tune, + level_col="level", + coverage_highlight_cols=["Coverage"] +) +``` + +```{python} +#| echo: false + +generate_and_show_styled_table( + main_df=df_coverage_tune, + filters={"level": 0.9, "Score": "instrument"}, + display_cols=display_columns_coverage_tune, + n_rep=n_rep_coverage_tune, + level_col="level", + coverage_highlight_cols=["Coverage"] +) +``` \ No newline at end of file diff --git a/doc/plm/pliv.qmd b/doc/plm/pliv.qmd index eb3b455d..89652428 100644 --- a/doc/plm/pliv.qmd +++ b/doc/plm/pliv.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## LATE Coverage +## Coverage -The simulations are based on the the [make_pliv_CHS2015](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_pliv_CHS2015.html)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso is a nearly optimal choice for the nuisance estimation. +The simulations are based on the the [make_pliv_CHS2015](https://docs.doubleml.org/stable/api/generated/doubleml.plm.datasets.make_pliv_CHS2015.html)-DGP with $500$ observations. Due to the linearity of the DGP, Lasso is a nearly optimal choice for the nuisance estimation. ::: {.callout-note title="Metadata" collapse="true"} diff --git a/doc/plm/plr.qmd b/doc/plm/plr.qmd index f9e93043..2fe0aaf2 100644 --- a/doc/plm/plr.qmd +++ b/doc/plm/plr.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## ATE Coverage +## Coverage -The simulations are based on the the [make_plr_CCDDHNR2018](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_plr_CCDDHNR2018.html)-DGP with $500$ observations. +The simulations are based on the the [make_plr_CCDDHNR2018](https://docs.doubleml.org/stable/api/generated/doubleml.plm.datasets.make_plr_CCDDHNR2018.html)-DGP with $500$ observations. ::: {.callout-note title="Metadata" collapse="true"} @@ -113,9 +113,9 @@ generate_and_show_styled_table( ) ``` -## ATE Sensitivity +## Sensitivity -The simulations are based on the the [make_confounded_plr_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_confounded_plr_data.html)-DGP with $1000$ observations as highlighted in the [Example Gallery](https://docs.doubleml.org/stable/examples/py_double_ml_sensitivity.html#). As the DGP is nonlinear, we will only use corresponding learners. Since the DGP includes unobserved confounders, we would expect a bias in the ATE estimates, leading to low coverage of the true parameter. +The simulations are based on the the [make_confounded_plr_data](https://docs.doubleml.org/stable/api/generated/doubleml.plm.datasets.make_confounded_plr_data.html)-DGP with $1000$ observations as highlighted in the [Example Gallery](https://docs.doubleml.org/stable/examples/py_double_ml_sensitivity.html#). As the DGP is nonlinear, we will only use corresponding learners. Since the DGP includes unobserved confounders, we would expect a bias in the ATE estimates, leading to low coverage of the true parameter. Both sensitivity parameters are set to $cf_y=cf_d=0.1$, such that the robustness value $RV$ should be approximately $10\%$. Further, the corresponding confidence intervals are one-sided (since the direction of the bias is unkown), such that only one side should approximate the corresponding coverage level (here only the upper coverage is relevant since the bias is positive). Remark that for the coverage level the value of $\rho$ has to be correctly specified, such that the coverage level will be generally (significantly) larger than the nominal level under the conservative choice of $|\rho|=1$. @@ -208,3 +208,61 @@ generate_and_show_styled_table( coverage_highlight_cols=["Coverage", "Coverage (Upper)"] ) ``` + +## Tuning + +The simulations are based on the the [make_plr_CCDDHNR2018](https://docs.doubleml.org/stable/api/generated/doubleml.plm.datasets.make_plr_CCDDHNR2018.html)-DGP with $500$ observations. This is only an example as the untuned version just relies on the default configuration. + +::: {.callout-note title="Metadata" collapse="true"} + +```{python} +#| echo: false +metadata_file = '../../results/plm/plr_ate_tune_metadata.csv' +metadata_df = pd.read_csv(metadata_file) +print(metadata_df.T.to_string(header=False)) +``` + +::: + +```{python} +#| echo: false + +# set up data +df_tune_cov = pd.read_csv("../../results/plm/plr_ate_tune_coverage.csv", index_col=None) + +assert df_tune_cov["repetition"].nunique() == 1 +n_rep_tune_cov = df_tune_cov["repetition"].unique()[0] + +display_columns_tune_cov = ["Learner g", "Learner m", "Tuned", "Bias", "CI Length", "Coverage", "Loss g", "Loss m"] +``` + + +### Partialling out + +```{python} +# | echo: false + +generate_and_show_styled_table( + main_df=df_tune_cov, + filters={"level": 0.95, "Score": "partialling out"}, + display_cols=display_columns_tune_cov, + n_rep=n_rep_tune_cov, + level_col="level", + rename_map={"Learner g": "Learner l", "Loss g": "Loss l"}, + coverage_highlight_cols=["Coverage"] +) +``` + +```{python} +#| echo: false + +generate_and_show_styled_table( + main_df=df_tune_cov, + filters={"level": 0.9, "Score": "partialling out"}, + display_cols=display_columns_tune_cov, + n_rep=n_rep_tune_cov, + level_col="level", + rename_map={"Learner g": "Learner l", "Loss g": "Loss l"}, + coverage_highlight_cols=["Coverage"] +) +``` diff --git a/doc/plm/plr_cate.qmd b/doc/plm/plr_cate.qmd index 15810255..6ac7d99a 100644 --- a/doc/plm/plr_cate.qmd +++ b/doc/plm/plr_cate.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## CATE Coverage +## Coverage -The simulations are based on the the [make_heterogeneous_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_heterogeneous_data.html)-DGP with $2000$ observations. The groups are defined based on the first covariate, analogously to the [CATE PLR Example](https://docs.doubleml.org/stable/examples/py_double_ml_cate_plr.html), but rely on [LightGBM](https://lightgbm.readthedocs.io/en/latest/index.html) to estimate nuisance elements (due to time constraints). +The simulations are based on the the [make_heterogeneous_data](https://docs.doubleml.org/stable/api/generated/doubleml.irm.datasets.make_heterogeneous_data.html)-DGP with $2000$ observations. The groups are defined based on the first covariate, analogously to the [CATE PLR Example](https://docs.doubleml.org/stable/examples/py_double_ml_cate_plr.html), but rely on [LightGBM](https://lightgbm.readthedocs.io/en/latest/index.html) to estimate nuisance elements (due to time constraints). The non-uniform results (coverage, ci length and bias) refer to averaged values over all groups (point-wise confidende intervals). diff --git a/doc/plm/plr_gate.qmd b/doc/plm/plr_gate.qmd index d32bd4ef..52da0229 100644 --- a/doc/plm/plr_gate.qmd +++ b/doc/plm/plr_gate.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## GATE Coverage +## Coverage -The simulations are based on the the [make_heterogeneous_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_heterogeneous_data.html)-DGP with $500$ observations. The groups are defined based on the first covariate, analogously to the [GATE PLR Example](https://docs.doubleml.org/stable/examples/py_double_ml_gate_plr.html), but rely on [LightGBM](https://lightgbm.readthedocs.io/en/latest/index.html) to estimate nuisance elements (due to time constraints). +The simulations are based on the the [make_heterogeneous_data](https://docs.doubleml.org/stable/api/generated/doubleml.irm.datasets.make_heterogeneous_data.html)-DGP with $500$ observations. The groups are defined based on the first covariate, analogously to the [GATE PLR Example](https://docs.doubleml.org/stable/examples/py_double_ml_gate_plr.html), but rely on [LightGBM](https://lightgbm.readthedocs.io/en/latest/index.html) to estimate nuisance elements (due to time constraints). The non-uniform results (coverage, ci length and bias) refer to averaged values over all groups (point-wise confidende intervals). diff --git a/doc/ssm/ssm_mar.qmd b/doc/ssm/ssm_mar.qmd index a396fa4a..36334158 100644 --- a/doc/ssm/ssm_mar.qmd +++ b/doc/ssm/ssm_mar.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## ATE Coverage +## Coverage -The simulations are based on the [make_ssm_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_ssm_data.html)-DGP with $500$ observations. The simulation considers data under [missingness at random](https://docs.doubleml.org/stable/guide/models.html#missingness-at-random). +The simulations are based on the [make_ssm_data](https://docs.doubleml.org/stable/api/generated/doubleml.irm.datasets.make_ssm_data.html)-DGP with $500$ observations. The simulation considers data under [missingness at random](https://docs.doubleml.org/stable/guide/models.html#missingness-at-random). ::: {.callout-note title="Metadata" collapse="true"} diff --git a/doc/ssm/ssm_nonignorable.qmd b/doc/ssm/ssm_nonignorable.qmd index 8eff76b9..8b8be403 100644 --- a/doc/ssm/ssm_nonignorable.qmd +++ b/doc/ssm/ssm_nonignorable.qmd @@ -22,9 +22,9 @@ from utils.style_tables import generate_and_show_styled_table init_notebook_mode(all_interactive=True) ``` -## ATE Coverage +## Coverage -The simulations are based on the [make_ssm_data](https://docs.doubleml.org/stable/api/generated/doubleml.datasets.make_ssm_data.html)-DGP with $500$ observations. The simulation considers data with [nonignorable nonresponse](https://docs.doubleml.org/stable/guide/models.html#nonignorable-nonresponse). +The simulations are based on the [make_ssm_data](https://docs.doubleml.org/stable/api/generated/doubleml.irm.datasets.make_ssm_data.html)-DGP with $500$ observations. The simulation considers data with [nonignorable nonresponse](https://docs.doubleml.org/stable/guide/models.html#nonignorable-nonresponse). ::: {.callout-note title="Metadata" collapse="true"} diff --git a/monte-cover/pyproject.toml b/monte-cover/pyproject.toml index 547bf243..f60a3840 100644 --- a/monte-cover/pyproject.toml +++ b/monte-cover/pyproject.toml @@ -9,7 +9,7 @@ authors = [ requires-python = ">=3.12" dependencies = [ "black>=25.1.0", - "doubleml[rdd]>=0.10.0", + "doubleml[rdd]>=0.11.0", "ipykernel>=6.29.5", "itables>=2.2.5", "joblib>=1.4.2", diff --git a/monte-cover/src/montecover/base.py b/monte-cover/src/montecover/base.py index 1695e2e6..6309c68c 100644 --- a/monte-cover/src/montecover/base.py +++ b/monte-cover/src/montecover/base.py @@ -107,7 +107,9 @@ def run_simulation(self, n_jobs=None): rep_end_time = time.time() rep_duration = rep_end_time - rep_start_time - self.logger.info(f"Repetition {i_rep+1} completed in {rep_duration:.2f}s") + self.logger.info( + f"Repetition {i_rep+1} completed in {rep_duration:.2f}s" + ) else: self.logger.info(f"Starting parallel execution with n_jobs={n_jobs}") @@ -138,7 +140,9 @@ def save_results(self, output_path: str = "results", file_prefix: str = ""): "Script": [self.__class__.__name__], "Date": [datetime.now().strftime("%Y-%m-%d %H:%M")], "Total Runtime (minutes)": [self.total_runtime / 60], - "Python Version": [f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}"], + "Python Version": [ + f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}" + ], "Config File": [self.config_file], } ) @@ -161,7 +165,14 @@ def save_config(self, output_path: str): self.logger.warning(f"Adding .yaml extension to output path: {output_path}") with open(output_path, "w") as file: - yaml.dump(self.config, file, sort_keys=False, default_flow_style=False, indent=2, allow_unicode=True) + yaml.dump( + self.config, + file, + sort_keys=False, + default_flow_style=False, + indent=2, + allow_unicode=True, + ) self.logger.info(f"Configuration saved to {output_path}") @@ -174,7 +185,9 @@ def _load_config(self, config_path: str) -> Dict[str, Any]: with open(config_path, "r") as file: config = yaml.safe_load(file) else: - raise ValueError(f"Unsupported config file format: {config_path}. Use .yaml or .yml") + raise ValueError( + f"Unsupported config file format: {config_path}. Use .yaml or .yml" + ) return config @@ -198,7 +211,9 @@ def _setup_logging(self, log_level: str, log_file: Optional[str]): # Console handler ch = logging.StreamHandler() ch.setLevel(level) - formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") + formatter = logging.Formatter( + "%(asctime)s - %(name)s - %(levelname)s - %(message)s" + ) ch.setFormatter(formatter) self.logger.addHandler(ch) @@ -256,7 +271,9 @@ def _process_repetition(self, i_rep): dml_params = dict(zip(self.dml_parameters.keys(), dml_param_values)) i_param_comb += 1 - comb_results = self._process_parameter_combination(i_rep, i_param_comb, dgp_params, dml_params, dml_data) + comb_results = self._process_parameter_combination( + i_rep, i_param_comb, dgp_params, dml_params, dml_data + ) # Merge results for result_name, result_list in comb_results.items(): @@ -266,11 +283,14 @@ def _process_repetition(self, i_rep): return rep_results - def _process_parameter_combination(self, i_rep, i_param_comb, dgp_params, dml_params, dml_data): + def _process_parameter_combination( + self, i_rep, i_param_comb, dgp_params, dml_params, dml_data + ): """Process a single parameter combination.""" # Log parameter combination self.logger.debug( - f"Rep {i_rep+1}, Combo {i_param_comb}/{self.total_combinations}: " f"DGPs {dgp_params}, DML {dml_params}" + f"Rep {i_rep+1}, Combo {i_param_comb}/{self.total_combinations}: " + f"DGPs {dgp_params}, DML {dml_params}" ) param_start_time = time.time() @@ -279,7 +299,9 @@ def _process_parameter_combination(self, i_rep, i_param_comb, dgp_params, dml_pa # Log timing param_duration = time.time() - param_start_time - self.logger.debug(f"Parameter combination completed in {param_duration:.2f}s") + self.logger.debug( + f"Parameter combination completed in {param_duration:.2f}s" + ) # Process results if repetition_results is None: @@ -298,7 +320,8 @@ def _process_parameter_combination(self, i_rep, i_param_comb, dgp_params, dml_pa except Exception as e: self.logger.error( - f"Error: repetition {i_rep+1}, DGP parameters {dgp_params}, " f"DML parameters {dml_params}: {str(e)}" + f"Error: repetition {i_rep+1}, DGP parameters {dgp_params}, " + f"DML parameters {dml_params}: {str(e)}" ) self.logger.exception("Exception details:") return {} @@ -333,9 +356,13 @@ def _compute_coverage(thetas, oracle_thetas, confint, joint_confint=None): if joint_confint is not None: joint_lower_bound = joint_confint.iloc[:, 0] joint_upper_bound = joint_confint.iloc[:, 1] - joint_coverage_mask = (joint_lower_bound < oracle_thetas) & (oracle_thetas < joint_upper_bound) + joint_coverage_mask = (joint_lower_bound < oracle_thetas) & ( + oracle_thetas < joint_upper_bound + ) result_dict["Uniform Coverage"] = np.all(joint_coverage_mask) - result_dict["Uniform CI Length"] = np.mean(joint_upper_bound - joint_lower_bound) + result_dict["Uniform CI Length"] = np.mean( + joint_upper_bound - joint_lower_bound + ) return result_dict diff --git a/monte-cover/src/montecover/did/__init__.py b/monte-cover/src/montecover/did/__init__.py index e14a6ddb..6d0f2da5 100644 --- a/monte-cover/src/montecover/did/__init__.py +++ b/monte-cover/src/montecover/did/__init__.py @@ -2,5 +2,10 @@ from montecover.did.did_cs_multi import DIDCSMultiCoverageSimulation from montecover.did.did_pa_multi import DIDMultiCoverageSimulation +from montecover.did.did_pa_multi_tune import DIDMultiTuningCoverageSimulation -__all__ = ["DIDMultiCoverageSimulation", "DIDCSMultiCoverageSimulation"] +__all__ = [ + "DIDMultiCoverageSimulation", + "DIDCSMultiCoverageSimulation", + "DIDMultiTuningCoverageSimulation" +] diff --git a/monte-cover/src/montecover/did/did_cs_multi.py b/monte-cover/src/montecover/did/did_cs_multi.py index ea11cd25..9882fdd8 100644 --- a/monte-cover/src/montecover/did/did_cs_multi.py +++ b/monte-cover/src/montecover/did/did_cs_multi.py @@ -35,7 +35,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -54,19 +56,23 @@ def _calculate_oracle_values(self): lambda_t=self.dgp_parameters["lambda_t"][0], ) # does not depend on the DGP type or lambda_t df_oracle["ite"] = df_oracle["y1"] - df_oracle["y0"] - self.oracle_values["detailed"] = df_oracle.groupby(["d", "t"])["ite"].mean().reset_index() + self.oracle_values["detailed"] = ( + df_oracle.groupby(["d", "t"])["ite"].mean().reset_index() + ) # Oracle group aggregation df_oracle_post_treatment = df_oracle[df_oracle["t"] >= df_oracle["d"]] - self.oracle_values["group"] = df_oracle_post_treatment.groupby("d")["ite"].mean() + self.oracle_values["group"] = df_oracle_post_treatment.groupby("d")[ + "ite" + ].mean() # Oracle time aggregation self.oracle_values["time"] = df_oracle_post_treatment.groupby("t")["ite"].mean() # Oracle eventstudy aggregation - df_oracle["e"] = pd.to_datetime(df_oracle["t"]).values.astype("datetime64[M]") - pd.to_datetime( - df_oracle["d"] - ).values.astype("datetime64[M]") + df_oracle["e"] = pd.to_datetime(df_oracle["t"]).values.astype( + "datetime64[M]" + ) - pd.to_datetime(df_oracle["d"]).values.astype("datetime64[M]") self.oracle_values["eventstudy"] = df_oracle.groupby("e")["ite"].mean()[1:] def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: @@ -90,13 +96,16 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: ) dml_model.fit() dml_model.bootstrap(n_rep_boot=2000) + nuisance_loss = dml_model.nuisance_loss # Oracle values for this model oracle_thetas = np.full_like(dml_model.coef, np.nan) for i, (g, _, t) in enumerate(dml_model.gt_combinations): group_index = self.oracle_values["detailed"]["d"] == g time_index = self.oracle_values["detailed"]["t"] == t - oracle_thetas[i] = self.oracle_values["detailed"][group_index & time_index]["ite"].iloc[0] + oracle_thetas[i] = self.oracle_values["detailed"][group_index & time_index][ + "ite" + ].iloc[0] result = { "detailed": [], @@ -121,7 +130,9 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: thetas=agg_obj.aggregated_frameworks.thetas, oracle_thetas=self.oracle_values[aggregation_method].values, confint=agg_obj.aggregated_frameworks.confint(level=level), - joint_confint=agg_obj.aggregated_frameworks.confint(level=level, joint=True), + joint_confint=agg_obj.aggregated_frameworks.confint( + level=level, joint=True + ), ) # add parameters to the result @@ -133,6 +144,11 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: "Score": score, "In-sample-norm.": in_sample_normalization, "level": level, + "Loss g_d0_t0": nuisance_loss["ml_g_d0_t0"].mean(), + "Loss g_d1_t0": nuisance_loss["ml_g_d1_t0"].mean(), + "Loss g_d0_t1": nuisance_loss["ml_g_d0_t1"].mean(), + "Loss g_d1_t1": nuisance_loss["ml_g_d1_t1"].mean(), + "Loss m": nuisance_loss["ml_m"].mean() if score == "observational" else np.nan, } ) for key, res in level_result.items(): @@ -158,19 +174,30 @@ def summarize_results(self): "Bias": "mean", "Uniform Coverage": "mean", "Uniform CI Length": "mean", + "Loss g_d0_t0": "mean", + "Loss g_d1_t0": "mean", + "Loss g_d0_t1": "mean", + "Loss g_d1_t1": "mean", + "Loss m": "mean", "repetition": "count", } result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary def _generate_dml_data(self, dgp_params) -> dml.data.DoubleMLPanelData: """Generate data for the simulation.""" - data = make_did_cs_CS2021(n_obs=dgp_params["n_obs"], dgp_type=dgp_params["DGP"], lambda_t=dgp_params["lambda_t"]) + data = make_did_cs_CS2021( + n_obs=dgp_params["n_obs"], + dgp_type=dgp_params["DGP"], + lambda_t=dgp_params["lambda_t"], + ) dml_data = dml.data.DoubleMLPanelData( data, y_col="y", diff --git a/monte-cover/src/montecover/did/did_pa_multi.py b/monte-cover/src/montecover/did/did_pa_multi.py index eb849347..5ac90b99 100644 --- a/monte-cover/src/montecover/did/did_pa_multi.py +++ b/monte-cover/src/montecover/did/did_pa_multi.py @@ -36,7 +36,9 @@ def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -92,6 +94,7 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: ) dml_model.fit() dml_model.bootstrap(n_rep_boot=2000) + nuisance_loss = dml_model.nuisance_loss # Oracle values for this model oracle_thetas = np.full_like(dml_model.coef, np.nan) @@ -139,6 +142,9 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: "Score": score, "In-sample-norm.": in_sample_normalization, "level": level, + "Loss g_control": nuisance_loss["ml_g0"].mean(), + "Loss g_treated": nuisance_loss["ml_g1"].mean(), + "Loss m": nuisance_loss["ml_m"].mean() if score == "observational" else np.nan, } ) for key, res in level_result.items(): @@ -164,6 +170,9 @@ def summarize_results(self): "Bias": "mean", "Uniform Coverage": "mean", "Uniform CI Length": "mean", + "Loss g_control": "mean", + "Loss g_treated": "mean", + "Loss m": "mean", "repetition": "count", } diff --git a/monte-cover/src/montecover/did/did_pa_multi_tune.py b/monte-cover/src/montecover/did/did_pa_multi_tune.py new file mode 100644 index 00000000..596566c0 --- /dev/null +++ b/monte-cover/src/montecover/did/did_pa_multi_tune.py @@ -0,0 +1,229 @@ +from typing import Any, Dict, Optional + +import doubleml as dml +import numpy as np +import optuna +import pandas as pd +from doubleml.did.datasets import make_did_CS2021 + +from montecover.base import BaseSimulation +from montecover.utils import create_learner_from_config +from montecover.utils_tuning import lgbm_reg_params, lgbm_cls_params + + +class DIDMultiTuningCoverageSimulation(BaseSimulation): + """Simulation study for coverage properties of DoubleMLDIDMulti with hyperparameter tuning.""" + + def __init__( + self, + config_file: str, + suppress_warnings: bool = True, + log_level: str = "INFO", + log_file: Optional[str] = None, + ): + super().__init__( + config_file=config_file, + suppress_warnings=suppress_warnings, + log_level=log_level, + log_file=log_file, + ) + + # Additional results storage for aggregated results + self.results_aggregated = [] + + # Calculate oracle values + self._calculate_oracle_values() + # tuning specific settings + self._param_space = {"ml_g": lgbm_reg_params, "ml_m": lgbm_cls_params} + + self._optuna_settings = { + "n_trials": 50, + "show_progress_bar": False, + "verbosity": optuna.logging.WARNING, # Suppress Optuna logs + } + + def _process_config_parameters(self): + """Process simulation-specific parameters from config""" + # Process ML models in parameter grid + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" + + required_learners = ["ml_g", "ml_m"] + for learner in self.dml_parameters["learners"]: + for ml in required_learners: + assert ml in learner, f"No {ml} specified in the config file" + + def _calculate_oracle_values(self): + """Calculate oracle values for the simulation.""" + self.logger.info("Calculating oracle values") + + self.oracle_values = dict() + # Oracle values + df_oracle = make_did_CS2021( + n_obs=int(1e6), dgp_type=1 + ) # does not depend on the DGP type + df_oracle["ite"] = df_oracle["y1"] - df_oracle["y0"] + self.oracle_values["detailed"] = ( + df_oracle.groupby(["d", "t"])["ite"].mean().reset_index() + ) + + # Oracle group aggregation + df_oracle_post_treatment = df_oracle[df_oracle["t"] >= df_oracle["d"]] + self.oracle_values["group"] = df_oracle_post_treatment.groupby("d")[ + "ite" + ].mean() + + # Oracle time aggregation + self.oracle_values["time"] = df_oracle_post_treatment.groupby("t")["ite"].mean() + + # Oracle eventstudy aggregation + df_oracle["e"] = pd.to_datetime(df_oracle["t"]).values.astype( + "datetime64[M]" + ) - pd.to_datetime(df_oracle["d"]).values.astype("datetime64[M]") + self.oracle_values["eventstudy"] = df_oracle.groupby("e")["ite"].mean()[1:] + + def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: + """Run a single repetition with the given parameters.""" + # Extract parameters + learner_config = dml_params["learners"] + learner_g_name, ml_g = create_learner_from_config(learner_config["ml_g"]) + learner_m_name, ml_m = create_learner_from_config(learner_config["ml_m"]) + score = dml_params["score"] + control_group = dml_params["control_group"] + in_sample_normalization = dml_params["in_sample_normalization"] + + # Model + dml_model = dml.did.DoubleMLDIDMulti( + obj_dml_data=dml_data, + ml_g=ml_g, + ml_m=None if score == "experimental" else ml_m, + gt_combinations="standard", + score=score, + control_group=control_group, + in_sample_normalization=in_sample_normalization, + ) + # Tuning + dml_model_tuned = dml.did.DoubleMLDIDMulti( + obj_dml_data=dml_data, + ml_g=ml_g, + ml_m=None if score == "experimental" else ml_m, + gt_combinations="standard", + score=score, + control_group=control_group, + in_sample_normalization=in_sample_normalization, + ) + dml_model_tuned.tune_ml_models( + ml_param_space=self._param_space, + optuna_settings=self._optuna_settings, + ) + + # sort out oracle thetas + oracle_thetas = np.full(len(dml_model.gt_combinations), np.nan) + for i, (g, _, t) in enumerate(dml_model.gt_combinations): + group_index = self.oracle_values["detailed"]["d"] == g + time_index = self.oracle_values["detailed"]["t"] == t + oracle_thetas[i] = self.oracle_values["detailed"][group_index & time_index][ + "ite" + ].iloc[0] + + result = { + "detailed": [], + "group": [], + "time": [], + "eventstudy": [], + } + for model in [dml_model, dml_model_tuned]: + model.fit() + model.bootstrap(n_rep_boot=2000) + nuisance_loss = model.nuisance_loss + for level in self.confidence_parameters["level"]: + level_result = dict() + level_result["detailed"] = self._compute_coverage( + thetas=model.coef, + oracle_thetas=oracle_thetas, + confint=model.confint(level=level), + joint_confint=model.confint(level=level, joint=True), + ) + + for aggregation_method in ["group", "time", "eventstudy"]: + agg_obj = model.aggregate(aggregation=aggregation_method) + agg_obj.aggregated_frameworks.bootstrap(n_rep_boot=2000) + + level_result[aggregation_method] = self._compute_coverage( + thetas=agg_obj.aggregated_frameworks.thetas, + oracle_thetas=self.oracle_values[aggregation_method].values, + confint=agg_obj.aggregated_frameworks.confint(level=level), + joint_confint=agg_obj.aggregated_frameworks.confint( + level=level, joint=True + ), + ) + + # add parameters to the result + for res in level_result.values(): + res.update( + { + "Learner g": learner_g_name, + "Learner m": learner_m_name, + "Score": score, + "Control Group": control_group, + "In-sample-norm.": in_sample_normalization, + "level": level, + "Tuned": model is dml_model_tuned, + "Loss g_control": nuisance_loss["ml_g0"].mean(), + "Loss g_treated": nuisance_loss["ml_g1"].mean(), + "Loss m": nuisance_loss["ml_m"].mean(), + } + ) + for key, res in level_result.items(): + result[key].append(res) + + return result + + def summarize_results(self): + """Summarize the simulation results.""" + self.logger.info("Summarizing simulation results") + + groupby_cols = [ + "Learner g", + "Learner m", + "Score", + "Control Group", + "In-sample-norm.", + "DGP", + "level", + "Tuned", + ] + aggregation_dict = { + "Coverage": "mean", + "CI Length": "mean", + "Bias": "mean", + "Uniform Coverage": "mean", + "Uniform CI Length": "mean", + "Loss g_control": "mean", + "Loss g_treated": "mean", + "Loss m": "mean", + "repetition": "count", + } + + result_summary = dict() + for result_name, result_df in self.results.items(): + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) + self.logger.debug(f"Summarized {result_name} results") + + return result_summary + + def _generate_dml_data(self, dgp_params) -> dml.data.DoubleMLPanelData: + """Generate data for the simulation.""" + data = make_did_CS2021(n_obs=dgp_params["n_obs"], dgp_type=dgp_params["DGP"], xi=dgp_params.get("xi", 0.0)) + dml_data = dml.data.DoubleMLPanelData( + data, + y_col="y", + d_cols="d", + id_col="id", + t_col="t", + x_cols=["Z1", "Z2", "Z3", "Z4"], + ) + return dml_data diff --git a/monte-cover/src/montecover/irm/__init__.py b/monte-cover/src/montecover/irm/__init__.py index 6c097267..e920e730 100644 --- a/monte-cover/src/montecover/irm/__init__.py +++ b/monte-cover/src/montecover/irm/__init__.py @@ -2,10 +2,12 @@ from montecover.irm.apo import APOCoverageSimulation from montecover.irm.apos import APOSCoverageSimulation +from montecover.irm.apos_tune import APOSTuningCoverageSimulation from montecover.irm.cvar import CVARCoverageSimulation from montecover.irm.iivm_late import IIVMLATECoverageSimulation from montecover.irm.irm_ate import IRMATECoverageSimulation from montecover.irm.irm_ate_sensitivity import IRMATESensitivityCoverageSimulation +from montecover.irm.irm_ate_tune import IRMATETuningCoverageSimulation from montecover.irm.irm_atte import IRMATTECoverageSimulation from montecover.irm.irm_atte_sensitivity import IRMATTESensitivityCoverageSimulation from montecover.irm.irm_cate import IRMCATECoverageSimulation @@ -16,8 +18,10 @@ __all__ = [ "APOCoverageSimulation", "APOSCoverageSimulation", + "APOSTuningCoverageSimulation", "CVARCoverageSimulation", "IRMATECoverageSimulation", + "IRMATETuningCoverageSimulation", "IIVMLATECoverageSimulation", "IRMATESensitivityCoverageSimulation", "IRMATTECoverageSimulation", diff --git a/monte-cover/src/montecover/irm/apo.py b/monte-cover/src/montecover/irm/apo.py index 19a1c14e..88c84145 100644 --- a/monte-cover/src/montecover/irm/apo.py +++ b/monte-cover/src/montecover/irm/apo.py @@ -32,7 +32,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -62,7 +64,9 @@ def _calculate_oracle_values(self): for i in range(n_levels): ates[i] = apos[i + 1] - apos[0] - self.logger.info(f"Levels and their counts:\n{np.unique(d, return_counts=True)}") + self.logger.info( + f"Levels and their counts:\n{np.unique(d, return_counts=True)}" + ) self.logger.info(f"True APOs: {apos}") self.logger.info(f"True ATEs: {ates}") @@ -70,7 +74,9 @@ def _calculate_oracle_values(self): self.oracle_values["apos"] = apos self.oracle_values["ates"] = ates - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -132,7 +138,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/irm/apos.py b/monte-cover/src/montecover/irm/apos.py index 70d5ce65..8cf885ba 100644 --- a/monte-cover/src/montecover/irm/apos.py +++ b/monte-cover/src/montecover/irm/apos.py @@ -32,7 +32,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -62,7 +64,9 @@ def _calculate_oracle_values(self): for i in range(n_levels): ates[i] = apos[i + 1] - apos[0] - self.logger.info(f"Levels and their counts:\n{np.unique(d, return_counts=True)}") + self.logger.info( + f"Levels and their counts:\n{np.unique(d, return_counts=True)}" + ) self.logger.info(f"True APOs: {apos}") self.logger.info(f"True ATEs: {ates}") @@ -70,7 +74,9 @@ def _calculate_oracle_values(self): self.oracle_values["apos"] = apos self.oracle_values["ates"] = ates - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -144,7 +150,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/irm/apos_tune.py b/monte-cover/src/montecover/irm/apos_tune.py new file mode 100644 index 00000000..d8abaf1d --- /dev/null +++ b/monte-cover/src/montecover/irm/apos_tune.py @@ -0,0 +1,216 @@ +from typing import Any, Dict, Optional + +import doubleml as dml +import numpy as np +import optuna +import pandas as pd +from doubleml.irm.datasets import make_irm_data_discrete_treatments + +from montecover.base import BaseSimulation +from montecover.utils import create_learner_from_config +from montecover.utils_tuning import lgbm_reg_params, lgbm_cls_params + + +class APOSTuningCoverageSimulation(BaseSimulation): + """Simulation class for coverage properties of DoubleMLAPOs for APO estimation with tuning.""" + + def __init__( + self, + config_file: str, + suppress_warnings: bool = True, + log_level: str = "INFO", + log_file: Optional[str] = None, + ): + super().__init__( + config_file=config_file, + suppress_warnings=suppress_warnings, + log_level=log_level, + log_file=log_file, + ) + + # Calculate oracle values + self._calculate_oracle_values() + + # tuning specific settings + self._param_space = {"ml_g": lgbm_reg_params, "ml_m": lgbm_cls_params} + + self._optuna_settings = { + "n_trials": 200, + "show_progress_bar": False, + "verbosity": optuna.logging.WARNING, # Suppress Optuna logs + } + + def _process_config_parameters(self): + """Process simulation-specific parameters from config""" + # Process ML models in parameter grid + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" + + required_learners = ["ml_g", "ml_m"] + for learner in self.dml_parameters["learners"]: + for ml in required_learners: + assert ml in learner, f"No {ml} specified in the config file" + + def _calculate_oracle_values(self): + """Calculate oracle values for the simulation.""" + self.logger.info("Calculating oracle values") + + n_levels = self.dgp_parameters["n_levels"][0] + data_apo_oracle = make_irm_data_discrete_treatments( + n_obs=int(1e6), n_levels=n_levels, linear=self.dgp_parameters["linear"][0] + ) + + y0 = data_apo_oracle["oracle_values"]["y0"] + ite = data_apo_oracle["oracle_values"]["ite"] + d = data_apo_oracle["d"] + + average_ites = np.full(n_levels + 1, np.nan) + apos = np.full(n_levels + 1, np.nan) + for i in range(n_levels + 1): + average_ites[i] = np.mean(ite[d == i]) * (i > 0) + apos[i] = np.mean(y0) + average_ites[i] + + ates = np.full(n_levels, np.nan) + for i in range(n_levels): + ates[i] = apos[i + 1] - apos[0] + + self.logger.info( + f"Levels and their counts:\n{np.unique(d, return_counts=True)}" + ) + self.logger.info(f"True APOs: {apos}") + self.logger.info(f"True ATEs: {ates}") + + self.oracle_values = dict() + self.oracle_values["apos"] = apos + self.oracle_values["ates"] = ates + + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: + """Run a single repetition with the given parameters.""" + # Extract parameters + learner_config = dml_params["learners"] + learner_g_name, ml_g = create_learner_from_config(learner_config["ml_g"]) + learner_m_name, ml_m = create_learner_from_config(learner_config["ml_m"]) + treatment_levels = dml_params["treatment_levels"] + trimming_threshold = dml_params["trimming_threshold"] + + # Model + dml_model = dml.DoubleMLAPOS( + obj_dml_data=dml_data, + ml_g=ml_g, + ml_m=ml_m, + treatment_levels=treatment_levels, + trimming_threshold=trimming_threshold, + ) + # Tuning + dml_model_tuned = dml.DoubleMLAPOS( + obj_dml_data=dml_data, + ml_g=ml_g, + ml_m=ml_m, + treatment_levels=treatment_levels, + trimming_threshold=trimming_threshold, + ) + dml_model_tuned.tune_ml_models( + ml_param_space=self._param_space, + optuna_settings=self._optuna_settings, + ) + + result = { + "coverage": [], + "causal_contrast": [], + } + for model in [dml_model, dml_model_tuned]: + model.fit() + model.bootstrap(n_rep_boot=2000) + causal_contrast_model = model.causal_contrast(reference_levels=0) + causal_contrast_model.bootstrap(n_rep_boot=2000) + + # average all nuisance losses over treatment levels + n_lvls = len(model.modellist) + loss_dict = { + "ml_g_d_lvl0": np.full(n_lvls, np.nan), + "ml_g_d_lvl1": np.full(n_lvls, np.nan), + "ml_m": np.full(n_lvls, np.nan) + } + for key in loss_dict.keys(): + for i_submodel, submodel in enumerate(model.modellist): + loss_dict[key][i_submodel] = submodel.nuisance_loss[key].mean() + + for level in self.confidence_parameters["level"]: + level_result = dict() + level_result["coverage"] = self._compute_coverage( + thetas=model.coef, + oracle_thetas=self.oracle_values["apos"], + confint=model.confint(level=level), + joint_confint=model.confint(level=level, joint=True), + ) + level_result["causal_contrast"] = self._compute_coverage( + thetas=causal_contrast_model.thetas, + oracle_thetas=self.oracle_values["ates"], + confint=causal_contrast_model.confint(level=level), + joint_confint=causal_contrast_model.confint( + level=level, joint=True + ), + ) + + # add parameters to the result + for res_metric in level_result.values(): + res_metric.update( + { + "Learner g": learner_g_name, + "Learner m": learner_m_name, + "level": level, + "Tuned": model is dml_model_tuned, + "Loss g_control": loss_dict["ml_g_d_lvl0"].mean(), + "Loss g_treated": loss_dict["ml_g_d_lvl1"].mean(), + "Loss m": loss_dict["ml_m"].mean(), + } + ) + for key, res in level_result.items(): + result[key].append(res) + + return result + + def summarize_results(self): + """Summarize the simulation results.""" + self.logger.info("Summarizing simulation results") + + # Group by parameter combinations + groupby_cols = ["Learner g", "Learner m", "level", "Tuned"] + aggregation_dict = { + "Coverage": "mean", + "CI Length": "mean", + "Bias": "mean", + "Uniform Coverage": "mean", + "Uniform CI Length": "mean", + "Loss g_control": "mean", + "Loss g_treated": "mean", + "Loss m": "mean", + "repetition": "count", + } + + # Aggregate results (possibly multiple result dfs) + result_summary = dict() + for result_name, result_df in self.results.items(): + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) + self.logger.debug(f"Summarized {result_name} results") + + return result_summary + + def _generate_dml_data(self, dgp_params: Dict[str, Any]) -> dml.DoubleMLData: + """Generate data for the simulation.""" + data = make_irm_data_discrete_treatments( + n_obs=dgp_params["n_obs"], + n_levels=dgp_params["n_levels"], + linear=dgp_params["linear"], + ) + df_apo = pd.DataFrame( + np.column_stack((data["y"], data["d"], data["x"])), + columns=["y", "d"] + ["x" + str(i) for i in range(data["x"].shape[1])], + ) + dml_data = dml.DoubleMLData(df_apo, "y", "d") + return dml_data diff --git a/monte-cover/src/montecover/irm/cvar.py b/monte-cover/src/montecover/irm/cvar.py index 19180c09..15028967 100644 --- a/monte-cover/src/montecover/irm/cvar.py +++ b/monte-cover/src/montecover/irm/cvar.py @@ -10,7 +10,13 @@ # define loc-scale model def f_loc(D, X): - loc = 0.5 * D + 2 * D * X[:, 4] + 2.0 * (X[:, 1] > 0.1) - 1.7 * (X[:, 0] * X[:, 2] > 0) - 3 * X[:, 3] + loc = ( + 0.5 * D + + 2 * D * X[:, 4] + + 2.0 * (X[:, 1] > 0.1) + - 1.7 * (X[:, 0] * X[:, 2] > 0) + - 3 * X[:, 3] + ) return loc @@ -51,7 +57,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -87,7 +95,9 @@ def _calculate_oracle_values(self): self.logger.info(f"Oracle values: {self.oracle_values}") - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -189,7 +199,9 @@ def summarize_results(self): # Aggregate results for Y0 and Y1 for result_name in ["Y0_coverage", "Y1_coverage"]: df = self.results[result_name] - result_summary[result_name] = df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") uniform_aggregation_dict = { @@ -201,7 +213,10 @@ def summarize_results(self): "repetition": "count", } result_summary["effect_coverage"] = ( - self.results["effect_coverage"].groupby(groupby_cols).agg(uniform_aggregation_dict).reset_index() + self.results["effect_coverage"] + .groupby(groupby_cols) + .agg(uniform_aggregation_dict) + .reset_index() ) self.logger.debug("Summarized effect_coverage results") diff --git a/monte-cover/src/montecover/irm/iivm_late.py b/monte-cover/src/montecover/irm/iivm_late.py index 10f45443..0cd53a47 100644 --- a/monte-cover/src/montecover/irm/iivm_late.py +++ b/monte-cover/src/montecover/irm/iivm_late.py @@ -30,7 +30,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m", "ml_r"] for learner in self.dml_parameters["learners"]: @@ -44,7 +46,9 @@ def _calculate_oracle_values(self): self.oracle_values = dict() self.oracle_values["theta"] = self.dgp_parameters["theta"] - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -104,7 +108,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/irm/irm_ate.py b/monte-cover/src/montecover/irm/irm_ate.py index 7e149ef8..b541ac41 100644 --- a/monte-cover/src/montecover/irm/irm_ate.py +++ b/monte-cover/src/montecover/irm/irm_ate.py @@ -30,7 +30,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -44,7 +46,9 @@ def _calculate_oracle_values(self): self.oracle_values = dict() self.oracle_values["theta"] = self.dgp_parameters["theta"] - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -101,7 +105,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/irm/irm_ate_sensitivity.py b/monte-cover/src/montecover/irm/irm_ate_sensitivity.py index c95f9ef0..c31c700a 100644 --- a/monte-cover/src/montecover/irm/irm_ate_sensitivity.py +++ b/monte-cover/src/montecover/irm/irm_ate_sensitivity.py @@ -32,7 +32,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -101,12 +103,18 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: null_hypothesis=theta, ) sensitivity_results = { - "Coverage (Lower)": theta >= dml_model.sensitivity_params["ci"]["lower"][0], - "Coverage (Upper)": theta <= dml_model.sensitivity_params["ci"]["upper"][0], + "Coverage (Lower)": theta + >= dml_model.sensitivity_params["ci"]["lower"][0], + "Coverage (Upper)": theta + <= dml_model.sensitivity_params["ci"]["upper"][0], "RV": dml_model.sensitivity_params["rv"][0], "RVa": dml_model.sensitivity_params["rva"][0], - "Bias (Lower)": abs(theta - dml_model.sensitivity_params["theta"]["lower"][0]), - "Bias (Upper)": abs(theta - dml_model.sensitivity_params["theta"]["upper"][0]), + "Bias (Lower)": abs( + theta - dml_model.sensitivity_params["theta"]["lower"][0] + ), + "Bias (Upper)": abs( + theta - dml_model.sensitivity_params["theta"]["upper"][0] + ), } # add sensitivity results to the level result coverage level_result["coverage"].update(sensitivity_results) @@ -147,7 +155,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/irm/irm_ate_tune.py b/monte-cover/src/montecover/irm/irm_ate_tune.py new file mode 100644 index 00000000..085767f0 --- /dev/null +++ b/monte-cover/src/montecover/irm/irm_ate_tune.py @@ -0,0 +1,155 @@ +from typing import Any, Dict, Optional + +import doubleml as dml +import optuna +from doubleml.irm.datasets import make_irm_data + +from montecover.base import BaseSimulation +from montecover.utils import create_learner_from_config +from montecover.utils_tuning import lgbm_reg_params, lgbm_cls_params + + +class IRMATETuningCoverageSimulation(BaseSimulation): + """Simulation class for coverage properties of DoubleMLIRM for ATE estimation with hyperparameter tuning.""" + + def __init__( + self, + config_file: str, + suppress_warnings: bool = True, + log_level: str = "INFO", + log_file: Optional[str] = None, + ): + super().__init__( + config_file=config_file, + suppress_warnings=suppress_warnings, + log_level=log_level, + log_file=log_file, + ) + + # Calculate oracle values + self._calculate_oracle_values() + + # tuning specific settings + self._param_space = {"ml_g": lgbm_reg_params, "ml_m": lgbm_cls_params} + + self._optuna_settings = { + "n_trials": 500, + "show_progress_bar": False, + "verbosity": optuna.logging.WARNING, # Suppress Optuna logs + } + + def _process_config_parameters(self): + """Process simulation-specific parameters from config""" + # Process ML models in parameter grid + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" + + required_learners = ["ml_g", "ml_m"] + for learner in self.dml_parameters["learners"]: + for ml in required_learners: + assert ml in learner, f"No {ml} specified in the config file" + + def _calculate_oracle_values(self): + """Calculate oracle values for the simulation.""" + self.logger.info("Calculating oracle values") + + self.oracle_values = dict() + self.oracle_values["theta"] = self.dgp_parameters["theta"] + + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: + """Run a single repetition with the given parameters.""" + # Extract parameters + learner_config = dml_params["learners"] + learner_g_name, ml_g = create_learner_from_config(learner_config["ml_g"]) + learner_m_name, ml_m = create_learner_from_config(learner_config["ml_m"]) + + # Model + dml_model = dml.DoubleMLIRM( + obj_dml_data=dml_data, + ml_g=ml_g, + ml_m=ml_m, + ) + dml_model.fit() + + dml_model_tuned = dml.DoubleMLIRM( + obj_dml_data=dml_data, + ml_g=ml_g, + ml_m=ml_m, + ) + dml_model_tuned.tune_ml_models( + ml_param_space=self._param_space, + optuna_settings=self._optuna_settings, + ) + dml_model_tuned.fit() + + result = { + "coverage": [], + } + for model in [dml_model, dml_model_tuned]: + nuisance_loss = model.nuisance_loss + for level in self.confidence_parameters["level"]: + level_result = dict() + level_result["coverage"] = self._compute_coverage( + thetas=model.coef, + oracle_thetas=self.oracle_values["theta"], + confint=model.confint(level=level), + joint_confint=None, + ) + + # add parameters to the result + for res_metric in level_result.values(): + res_metric.update( + { + "Learner g": learner_g_name, + "Learner m": learner_m_name, + "level": level, + "Tuned": model is dml_model_tuned, + "Loss g0": nuisance_loss["ml_g0"].mean(), + "Loss g1": nuisance_loss["ml_g1"].mean(), + "Loss m": nuisance_loss["ml_m"].mean(), + } + ) + for key, res in level_result.items(): + result[key].append(res) + + return result + + def summarize_results(self): + """Summarize the simulation results.""" + self.logger.info("Summarizing simulation results") + + # Group by parameter combinations + groupby_cols = ["Learner g", "Learner m", "level", "Tuned"] + aggregation_dict = { + "Coverage": "mean", + "CI Length": "mean", + "Bias": "mean", + "Loss g0": "mean", + "Loss g1": "mean", + "Loss m": "mean", + "repetition": "count", + } + + # Aggregate results (possibly multiple result dfs) + result_summary = dict() + for result_name, result_df in self.results.items(): + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) + self.logger.debug(f"Summarized {result_name} results") + + return result_summary + + def _generate_dml_data(self, dgp_params: Dict[str, Any]) -> dml.DoubleMLData: + """Generate data for the simulation.""" + data = make_irm_data( + theta=dgp_params["theta"], + n_obs=dgp_params["n_obs"], + dim_x=dgp_params["dim_x"], + return_type="DataFrame", + ) + dml_data = dml.DoubleMLData(data, "y", "d") + return dml_data diff --git a/monte-cover/src/montecover/irm/irm_atte.py b/monte-cover/src/montecover/irm/irm_atte.py index cb25a894..64eb4d8a 100644 --- a/monte-cover/src/montecover/irm/irm_atte.py +++ b/monte-cover/src/montecover/irm/irm_atte.py @@ -32,7 +32,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -86,7 +88,9 @@ def _calculate_oracle_values(self): self.oracle_values["theta"] = np.mean(y1[d == 1] - y0[d == 1]) self.logger.info(f"Oracle ATTE value: {self.oracle_values['theta']}") - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -144,7 +148,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/irm/irm_atte_sensitivity.py b/monte-cover/src/montecover/irm/irm_atte_sensitivity.py index ef054950..92a66364 100644 --- a/monte-cover/src/montecover/irm/irm_atte_sensitivity.py +++ b/monte-cover/src/montecover/irm/irm_atte_sensitivity.py @@ -32,7 +32,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -101,12 +103,18 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: null_hypothesis=theta, ) sensitivity_results = { - "Coverage (Lower)": theta >= dml_model.sensitivity_params["ci"]["lower"][0], - "Coverage (Upper)": theta <= dml_model.sensitivity_params["ci"]["upper"][0], + "Coverage (Lower)": theta + >= dml_model.sensitivity_params["ci"]["lower"][0], + "Coverage (Upper)": theta + <= dml_model.sensitivity_params["ci"]["upper"][0], "RV": dml_model.sensitivity_params["rv"][0], "RVa": dml_model.sensitivity_params["rva"][0], - "Bias (Lower)": abs(theta - dml_model.sensitivity_params["theta"]["lower"][0]), - "Bias (Upper)": abs(theta - dml_model.sensitivity_params["theta"]["upper"][0]), + "Bias (Lower)": abs( + theta - dml_model.sensitivity_params["theta"]["lower"][0] + ), + "Bias (Upper)": abs( + theta - dml_model.sensitivity_params["theta"]["upper"][0] + ), } # add sensitivity results to the level result coverage level_result["coverage"].update(sensitivity_results) @@ -147,7 +155,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/irm/irm_cate.py b/monte-cover/src/montecover/irm/irm_cate.py index cb0f2264..45fe8df6 100644 --- a/monte-cover/src/montecover/irm/irm_cate.py +++ b/monte-cover/src/montecover/irm/irm_cate.py @@ -34,7 +34,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -54,14 +56,18 @@ def _calculate_oracle_values(self): self.logger.info("Calculating oracle values") - design_matrix_oracle = patsy.dmatrix("bs(x, df=5, degree=2)", {"x": data_oracle["data"]["X_0"]}) + design_matrix_oracle = patsy.dmatrix( + "bs(x, df=5, degree=2)", {"x": data_oracle["data"]["X_0"]} + ) spline_basis_oracle = pd.DataFrame(design_matrix_oracle) oracle_model = LinearRegression() oracle_model.fit(spline_basis_oracle, data_oracle["effects"]) # evaluate on grid grid = {"x": np.linspace(0.1, 0.9, 100)} - spline_grid_oracle = pd.DataFrame(patsy.build_design_matrices([design_matrix_oracle.design_info], grid)[0]) + spline_grid_oracle = pd.DataFrame( + patsy.build_design_matrices([design_matrix_oracle.design_info], grid)[0] + ) oracle_cates = oracle_model.predict(spline_grid_oracle) self.oracle_values = dict() @@ -70,7 +76,9 @@ def _calculate_oracle_values(self): self.logger.info(f"Oracle values: {self.oracle_values}") - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -86,12 +94,18 @@ def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) dml_model.fit() # cate - design_matrix = patsy.dmatrix("bs(x, df=5, degree=2)", {"x": dml_data.data["X_0"]}) + design_matrix = patsy.dmatrix( + "bs(x, df=5, degree=2)", {"x": dml_data.data["X_0"]} + ) spline_basis = pd.DataFrame(design_matrix) cate_model = dml_model.cate(basis=spline_basis) # evaluation spline basis - spline_grid = pd.DataFrame(patsy.build_design_matrices([design_matrix.design_info], self.oracle_values["grid"])[0]) + spline_grid = pd.DataFrame( + patsy.build_design_matrices( + [design_matrix.design_info], self.oracle_values["grid"] + )[0] + ) result = { "coverage": [], @@ -100,7 +114,9 @@ def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) level_result = dict() confint = cate_model.confint(basis=spline_grid, level=level) effects = confint["effect"] - uniform_confint = cate_model.confint(basis=spline_grid, level=0.95, joint=True, n_rep_boot=2000) + uniform_confint = cate_model.confint( + basis=spline_grid, level=0.95, joint=True, n_rep_boot=2000 + ) level_result["coverage"] = self._compute_coverage( thetas=effects, oracle_thetas=self.oracle_values["cates"], @@ -140,7 +156,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/irm/irm_gate.py b/monte-cover/src/montecover/irm/irm_gate.py index 469cdbf9..8fa99195 100644 --- a/monte-cover/src/montecover/irm/irm_gate.py +++ b/monte-cover/src/montecover/irm/irm_gate.py @@ -32,7 +32,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -66,14 +68,18 @@ def _calculate_oracle_values(self): self.logger.info("Calculating oracle values") groups = self._generate_groups(data_oracle["data"]) - oracle_gates = [data_oracle["effects"][groups[group]].mean() for group in groups.columns] + oracle_gates = [ + data_oracle["effects"][groups[group]].mean() for group in groups.columns + ] self.oracle_values = dict() self.oracle_values["gates"] = oracle_gates self.logger.info(f"Oracle values: {self.oracle_values}") - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -99,7 +105,9 @@ def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) level_result = dict() confint = gate_model.confint(level=level) effects = confint["effect"] - uniform_confint = gate_model.confint(level=0.95, joint=True, n_rep_boot=2000) + uniform_confint = gate_model.confint( + level=0.95, joint=True, n_rep_boot=2000 + ) level_result["coverage"] = self._compute_coverage( thetas=effects, oracle_thetas=self.oracle_values["gates"], @@ -139,7 +147,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/irm/lpq.py b/monte-cover/src/montecover/irm/lpq.py index 86b66f3d..979e902e 100644 --- a/monte-cover/src/montecover/irm/lpq.py +++ b/monte-cover/src/montecover/irm/lpq.py @@ -10,7 +10,14 @@ # define loc-scale model def f_loc(D, X, X_conf): - loc = 0.5 * D + 2 * D * X[:, 4] + 2.0 * (X[:, 1] > 0.1) - 1.7 * (X[:, 0] * X[:, 2] > 0) - 3 * X[:, 3] - 2 * X_conf[:, 0] + loc = ( + 0.5 * D + + 2 * D * X[:, 4] + + 2.0 * (X[:, 1] > 0.1) + - 1.7 * (X[:, 0] * X[:, 2] > 0) + - 3 * X[:, 3] + - 2 * X_conf[:, 0] + ) return loc @@ -60,7 +67,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -88,11 +97,19 @@ def _calculate_oracle_values(self): n_compliers = compliers.sum() Y1 = ( f_loc(np.ones(n_compliers), X_true[compliers, :], X_conf_true[compliers, :]) - + f_scale(np.ones(n_compliers), X_true[compliers, :], X_conf_true[compliers, :]) * epsilon_true[compliers] + + f_scale( + np.ones(n_compliers), X_true[compliers, :], X_conf_true[compliers, :] + ) + * epsilon_true[compliers] ) Y0 = ( - f_loc(np.zeros(n_compliers), X_true[compliers, :], X_conf_true[compliers, :]) - + f_scale(np.zeros(n_compliers), X_true[compliers, :], X_conf_true[compliers, :]) * epsilon_true[compliers] + f_loc( + np.zeros(n_compliers), X_true[compliers, :], X_conf_true[compliers, :] + ) + + f_scale( + np.zeros(n_compliers), X_true[compliers, :], X_conf_true[compliers, :] + ) + * epsilon_true[compliers] ) Y0_quant = np.quantile(Y0, q=tau_vec) @@ -106,7 +123,9 @@ def _calculate_oracle_values(self): self.logger.info(f"Oracle values: {self.oracle_values}") - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -208,7 +227,9 @@ def summarize_results(self): # Aggregate results for Y0 and Y1 for result_name in ["Y0_coverage", "Y1_coverage"]: df = self.results[result_name] - result_summary[result_name] = df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") uniform_aggregation_dict = { @@ -220,7 +241,10 @@ def summarize_results(self): "repetition": "count", } result_summary["effect_coverage"] = ( - self.results["effect_coverage"].groupby(groupby_cols).agg(uniform_aggregation_dict).reset_index() + self.results["effect_coverage"] + .groupby(groupby_cols) + .agg(uniform_aggregation_dict) + .reset_index() ) self.logger.debug("Summarized effect_coverage results") diff --git a/monte-cover/src/montecover/irm/pq.py b/monte-cover/src/montecover/irm/pq.py index f935dc33..219d5b1f 100644 --- a/monte-cover/src/montecover/irm/pq.py +++ b/monte-cover/src/montecover/irm/pq.py @@ -10,7 +10,13 @@ # define loc-scale model def f_loc(D, X): - loc = 0.5 * D + 2 * D * X[:, 4] + 2.0 * (X[:, 1] > 0.1) - 1.7 * (X[:, 0] * X[:, 2] > 0) - 3 * X[:, 3] + loc = ( + 0.5 * D + + 2 * D * X[:, 4] + + 2.0 * (X[:, 1] > 0.1) + - 1.7 * (X[:, 0] * X[:, 2] > 0) + - 3 * X[:, 3] + ) return loc @@ -51,7 +57,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -85,7 +93,9 @@ def _calculate_oracle_values(self): self.logger.info(f"Oracle values: {self.oracle_values}") - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -187,7 +197,9 @@ def summarize_results(self): # Aggregate results for Y0 and Y1 for result_name in ["Y0_coverage", "Y1_coverage"]: df = self.results[result_name] - result_summary[result_name] = df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") uniform_aggregation_dict = { @@ -199,7 +211,10 @@ def summarize_results(self): "repetition": "count", } result_summary["effect_coverage"] = ( - self.results["effect_coverage"].groupby(groupby_cols).agg(uniform_aggregation_dict).reset_index() + self.results["effect_coverage"] + .groupby(groupby_cols) + .agg(uniform_aggregation_dict) + .reset_index() ) self.logger.debug("Summarized effect_coverage results") diff --git a/monte-cover/src/montecover/plm/__init__.py b/monte-cover/src/montecover/plm/__init__.py index 5d995c92..0edaedc7 100644 --- a/monte-cover/src/montecover/plm/__init__.py +++ b/monte-cover/src/montecover/plm/__init__.py @@ -1,11 +1,13 @@ """Monte Carlo coverage simulations for PLM.""" +from montecover.plm.lplr_ate import LPLRATECoverageSimulation +from montecover.plm.lplr_ate_tune import LPLRATETuningCoverageSimulation from montecover.plm.pliv_late import PLIVLATECoverageSimulation from montecover.plm.plr_ate import PLRATECoverageSimulation from montecover.plm.plr_ate_sensitivity import PLRATESensitivityCoverageSimulation +from montecover.plm.plr_ate_tune import PLRATETuningCoverageSimulation from montecover.plm.plr_cate import PLRCATECoverageSimulation from montecover.plm.plr_gate import PLRGATECoverageSimulation -from montecover.plm.lplr_ate import LPLRATECoverageSimulation __all__ = [ "PLRATECoverageSimulation", @@ -13,5 +15,7 @@ "PLRGATECoverageSimulation", "PLRCATECoverageSimulation", "PLRATESensitivityCoverageSimulation", + "PLRATETuningCoverageSimulation", "LPLRATECoverageSimulation", + "LPLRATETuningCoverageSimulation", ] diff --git a/monte-cover/src/montecover/plm/lplr_ate.py b/monte-cover/src/montecover/plm/lplr_ate.py index da962e32..6fec3280 100644 --- a/monte-cover/src/montecover/plm/lplr_ate.py +++ b/monte-cover/src/montecover/plm/lplr_ate.py @@ -1,4 +1,3 @@ -import warnings from typing import Any, Dict, Optional import doubleml as dml @@ -12,12 +11,12 @@ class LPLRATECoverageSimulation(BaseSimulation): """Simulation class for coverage properties of DoubleMLPLR for ATE estimation.""" def __init__( - self, - config_file: str, - suppress_warnings: bool = True, - log_level: str = "INFO", - log_file: Optional[str] = None, - use_failed_scores: bool = False, + self, + config_file: str, + suppress_warnings: bool = True, + log_level: str = "INFO", + log_file: Optional[str] = None, + use_failed_scores: bool = False, ): super().__init__( config_file=config_file, @@ -34,7 +33,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_m", "ml_M", "ml_t"] for learner in self.dml_parameters["learners"]: @@ -46,7 +47,7 @@ def _calculate_oracle_values(self): self.logger.info("Calculating oracle values") self.oracle_values = dict() - self.oracle_values["theta"] = self.dgp_parameters["theta"] + self.oracle_values["theta"] = self.dgp_parameters["alpha"] def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" @@ -64,7 +65,8 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: ml_M=ml_M, ml_t=ml_t, score=score, - error_on_convergence_failure= not self._use_failed_scores,) + error_on_convergence_failure=(not self._use_failed_scores), + ) try: dml_model.fit() @@ -116,7 +118,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/plm/lplr_ate_tune.py b/monte-cover/src/montecover/plm/lplr_ate_tune.py new file mode 100644 index 00000000..1e25fce5 --- /dev/null +++ b/monte-cover/src/montecover/plm/lplr_ate_tune.py @@ -0,0 +1,167 @@ +from typing import Any, Dict, Optional + +import doubleml as dml +import optuna +from doubleml.plm.datasets import make_lplr_LZZ2020 + +from montecover.base import BaseSimulation +from montecover.utils import create_learner_from_config +from montecover.utils_tuning import lgbm_reg_params, lgbm_cls_params + + +class LPLRATETuningCoverageSimulation(BaseSimulation): + """Simulation class for coverage properties of DoubleMLPLR for ATE estimation.""" + + def __init__( + self, + config_file: str, + suppress_warnings: bool = True, + log_level: str = "INFO", + log_file: Optional[str] = None, + use_failed_scores: bool = False, + ): + super().__init__( + config_file=config_file, + suppress_warnings=suppress_warnings, + log_level=log_level, + log_file=log_file, + ) + + # Calculate oracle values + self._calculate_oracle_values() + self._use_failed_scores = use_failed_scores + + # tuning specific settings + self._param_space = { + "ml_M": lgbm_cls_params, + "ml_t": lgbm_reg_params, + "ml_m": lgbm_reg_params, + "ml_a": lgbm_reg_params, + } + + self._optuna_settings = { + "n_trials": 200, + "show_progress_bar": False, + "verbosity": optuna.logging.WARNING, # Suppress Optuna logs + } + + def _process_config_parameters(self): + """Process simulation-specific parameters from config""" + # Process ML models in parameter grid + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" + + required_learners = ["ml_m", "ml_M", "ml_t"] + for learner in self.dml_parameters["learners"]: + for ml in required_learners: + assert ml in learner, f"No {ml} specified in the config file" + + def _calculate_oracle_values(self): + """Calculate oracle values for the simulation.""" + self.logger.info("Calculating oracle values") + + self.oracle_values = dict() + self.oracle_values["theta"] = self.dgp_parameters["alpha"] + + def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: + """Run a single repetition with the given parameters.""" + # Extract parameters + learner_config = dml_params["learners"] + learner_m_name, ml_m = create_learner_from_config(learner_config["ml_m"]) + learner_M_name, ml_M = create_learner_from_config(learner_config["ml_M"]) + learner_t_name, ml_t = create_learner_from_config(learner_config["ml_t"]) + score = dml_params["score"] + + model_inputs = { + "obj_dml_data": dml_data, + "ml_m": ml_m, + "ml_M": ml_M, + "ml_t": ml_t, + "score": score, + "error_on_convergence_failure": not self._use_failed_scores, + } + # Model + dml_model = dml.DoubleMLLPLR(**model_inputs) + dml_model_tuned = dml.DoubleMLLPLR(**model_inputs) + dml_model_tuned.tune_ml_models( + ml_param_space=self._param_space, + optuna_settings=self._optuna_settings, + ) + + result = { + "coverage": [], + } + + for model in [dml_model, dml_model_tuned]: + try: + model.fit() + except RuntimeError as e: + self.logger.info(f"Exception during fit: {e}") + return None + nuisance_loss = model.nuisance_loss + for level in self.confidence_parameters["level"]: + level_result = dict() + level_result["coverage"] = self._compute_coverage( + thetas=model.coef, + oracle_thetas=self.oracle_values["theta"], + confint=model.confint(level=level), + joint_confint=None, + ) + + # add parameters to the result + for res in level_result.values(): + res.update( + { + "Learner m": learner_m_name, + "Learner M": learner_M_name, + "Learner t": learner_t_name, + "Score": score, + "level": level, + "Tuned": model is dml_model_tuned, + "Loss M": nuisance_loss["ml_M"].mean(), + "Loss a": nuisance_loss["ml_a"].mean(), + "Loss m": nuisance_loss["ml_m"].mean(), + } + ) + for key, res in level_result.items(): + result[key].append(res) + + return result + + def summarize_results(self): + """Summarize the simulation results.""" + self.logger.info("Summarizing simulation results") + + # Group by parameter combinations + groupby_cols = [ + "Learner m", + "Learner M", + "Learner t", + "Score", + "level", + "Tuned", + ] + aggregation_dict = { + "Coverage": "mean", + "CI Length": "mean", + "Bias": "mean", + "Loss M": "mean", + "Loss a": "mean", + "Loss m": "mean", + "repetition": "count", + } + + # Aggregate results (possibly multiple result dfs) + result_summary = dict() + for result_name, result_df in self.results.items(): + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) + self.logger.debug(f"Summarized {result_name} results") + + return result_summary + + def _generate_dml_data(self, dgp_params) -> dml.DoubleMLData: + """Generate data for the simulation.""" + return make_lplr_LZZ2020(**dgp_params) diff --git a/monte-cover/src/montecover/plm/pliv_late.py b/monte-cover/src/montecover/plm/pliv_late.py index c7d86254..056b0eaa 100644 --- a/monte-cover/src/montecover/plm/pliv_late.py +++ b/monte-cover/src/montecover/plm/pliv_late.py @@ -30,7 +30,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m", "ml_r"] for learner in self.dml_parameters["learners"]: @@ -109,7 +111,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/plm/plr_ate.py b/monte-cover/src/montecover/plm/plr_ate.py index 2c8e0240..0f192141 100644 --- a/monte-cover/src/montecover/plm/plr_ate.py +++ b/monte-cover/src/montecover/plm/plr_ate.py @@ -30,7 +30,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -105,7 +107,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/plm/plr_ate_sensitivity.py b/monte-cover/src/montecover/plm/plr_ate_sensitivity.py index ff94e7f7..ee2fb761 100644 --- a/monte-cover/src/montecover/plm/plr_ate_sensitivity.py +++ b/monte-cover/src/montecover/plm/plr_ate_sensitivity.py @@ -32,7 +32,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -48,21 +50,31 @@ def _calculate_oracle_values(self): cf_d = 0.1 np.random.seed(42) - dgp_dict = make_confounded_plr_data(n_obs=int(1e6), cf_y=cf_y, cf_d=cf_d, theta=self.dgp_parameters["theta"]) - oracle_dict = dgp_dict["oracle_values"] - cf_y_test = np.mean(np.square(oracle_dict["g_long"] - oracle_dict["g_short"])) / np.mean( - np.square(dgp_dict["y"] - oracle_dict["g_short"]) + dgp_dict = make_confounded_plr_data( + n_obs=int(1e6), cf_y=cf_y, cf_d=cf_d, theta=self.dgp_parameters["theta"] ) + oracle_dict = dgp_dict["oracle_values"] + cf_y_test = np.mean( + np.square(oracle_dict["g_long"] - oracle_dict["g_short"]) + ) / np.mean(np.square(dgp_dict["y"] - oracle_dict["g_short"])) self.logger.info(f"Input cf_y:{cf_y} \nCalculated cf_y: {round(cf_y_test, 5)}") - rr_long = (dgp_dict["d"] - oracle_dict["m_long"]) / np.mean(np.square(dgp_dict["d"] - oracle_dict["m_long"])) - rr_short = (dgp_dict["d"] - oracle_dict["m_short"]) / np.mean(np.square(dgp_dict["d"] - oracle_dict["m_short"])) - C2_D = (np.mean(np.square(rr_long)) - np.mean(np.square(rr_short))) / np.mean(np.square(rr_short)) + rr_long = (dgp_dict["d"] - oracle_dict["m_long"]) / np.mean( + np.square(dgp_dict["d"] - oracle_dict["m_long"]) + ) + rr_short = (dgp_dict["d"] - oracle_dict["m_short"]) / np.mean( + np.square(dgp_dict["d"] - oracle_dict["m_short"]) + ) + C2_D = (np.mean(np.square(rr_long)) - np.mean(np.square(rr_short))) / np.mean( + np.square(rr_short) + ) cf_d_test = C2_D / (1 + C2_D) self.logger.info(f"Input cf_d:{cf_d}\nCalculated cf_d: {round(cf_d_test, 5)}") # compute the value for rho - rho = np.corrcoef((oracle_dict["g_long"] - oracle_dict["g_short"]), (rr_long - rr_short))[0, 1] + rho = np.corrcoef( + (oracle_dict["g_long"] - oracle_dict["g_short"]), (rr_long - rr_short) + )[0, 1] self.logger.info(f"Correlation rho: {round(rho, 5)}") self.oracle_values = { @@ -112,12 +124,18 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: null_hypothesis=theta, ) sensitivity_results = { - "Coverage (Lower)": theta >= dml_model.sensitivity_params["ci"]["lower"][0], - "Coverage (Upper)": theta <= dml_model.sensitivity_params["ci"]["upper"][0], + "Coverage (Lower)": theta + >= dml_model.sensitivity_params["ci"]["lower"][0], + "Coverage (Upper)": theta + <= dml_model.sensitivity_params["ci"]["upper"][0], "RV": dml_model.sensitivity_params["rv"][0], "RVa": dml_model.sensitivity_params["rva"][0], - "Bias (Lower)": abs(theta - dml_model.sensitivity_params["theta"]["lower"][0]), - "Bias (Upper)": abs(theta - dml_model.sensitivity_params["theta"]["upper"][0]), + "Bias (Lower)": abs( + theta - dml_model.sensitivity_params["theta"]["lower"][0] + ), + "Bias (Upper)": abs( + theta - dml_model.sensitivity_params["theta"]["upper"][0] + ), } # add sensitivity results to the level result coverage level_result["coverage"].update(sensitivity_results) @@ -159,7 +177,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/plm/plr_ate_tune.py b/monte-cover/src/montecover/plm/plr_ate_tune.py new file mode 100644 index 00000000..c50b5efd --- /dev/null +++ b/monte-cover/src/montecover/plm/plr_ate_tune.py @@ -0,0 +1,157 @@ +from typing import Any, Dict, Optional + +import doubleml as dml +import optuna +from doubleml.plm.datasets import make_plr_CCDDHNR2018 + +from montecover.base import BaseSimulation +from montecover.utils import create_learner_from_config +from montecover.utils_tuning import lgbm_reg_params + + +class PLRATETuningCoverageSimulation(BaseSimulation): + """Simulation class for coverage properties of DoubleMLPLR for ATE estimation.""" + + def __init__( + self, + config_file: str, + suppress_warnings: bool = True, + log_level: str = "INFO", + log_file: Optional[str] = None, + ): + super().__init__( + config_file=config_file, + suppress_warnings=suppress_warnings, + log_level=log_level, + log_file=log_file, + ) + + # Calculate oracle values + self._calculate_oracle_values() + + # tuning specific settings + self._param_space = {"ml_l": lgbm_reg_params, "ml_m": lgbm_reg_params} + + self._optuna_settings = { + "n_trials": 200, + "show_progress_bar": False, + "verbosity": optuna.logging.WARNING, # Suppress Optuna logs + } + + def _process_config_parameters(self): + """Process simulation-specific parameters from config""" + # Process ML models in parameter grid + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" + + required_learners = ["ml_g", "ml_m"] + for learner in self.dml_parameters["learners"]: + for ml in required_learners: + assert ml in learner, f"No {ml} specified in the config file" + + def _calculate_oracle_values(self): + """Calculate oracle values for the simulation.""" + self.logger.info("Calculating oracle values") + + self.oracle_values = dict() + self.oracle_values["theta"] = self.dgp_parameters["theta"] + + def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: + """Run a single repetition with the given parameters.""" + # Extract parameters + learner_config = dml_params["learners"] + learner_g_name, ml_g = create_learner_from_config(learner_config["ml_g"]) + learner_m_name, ml_m = create_learner_from_config(learner_config["ml_m"]) + score = dml_params["score"] + + # Model + dml_model = dml.DoubleMLPLR( + obj_dml_data=dml_data, + ml_l=ml_g, + ml_m=ml_m, + ml_g=ml_g if score == "IV-type" else None, + score=score, + ) + dml_model.fit() + + dml_model_tuned = dml.DoubleMLPLR( + obj_dml_data=dml_data, + ml_l=ml_g, + ml_m=ml_m, + ml_g=ml_g if score == "IV-type" else None, + score=score, + ) + dml_model_tuned.tune_ml_models( + ml_param_space=self._param_space, + optuna_settings=self._optuna_settings, + ) + dml_model_tuned.fit() + + result = { + "coverage": [], + } + for model in [dml_model, dml_model_tuned]: + nuisance_loss = model.nuisance_loss + for level in self.confidence_parameters["level"]: + level_result = dict() + level_result["coverage"] = self._compute_coverage( + thetas=model.coef, + oracle_thetas=self.oracle_values["theta"], + confint=model.confint(level=level), + joint_confint=None, + ) + + # add parameters to the result + for res in level_result.values(): + res.update( + { + "Learner g": learner_g_name, + "Learner m": learner_m_name, + "Score": score, + "level": level, + "Tuned": model is dml_model_tuned, + "Loss g": nuisance_loss["ml_l"].mean() if score == "partialling out" else nuisance_loss["ml_g"].mean(), + "Loss m": nuisance_loss["ml_m"].mean(), + } + ) + for key, res in level_result.items(): + result[key].append(res) + + return result + + def summarize_results(self): + """Summarize the simulation results.""" + self.logger.info("Summarizing simulation results") + + # Group by parameter combinations + groupby_cols = ["Learner g", "Learner m", "Score", "level", "Tuned"] + aggregation_dict = { + "Coverage": "mean", + "CI Length": "mean", + "Bias": "mean", + "Loss g": "mean", + "Loss m": "mean", + "repetition": "count", + } + + # Aggregate results (possibly multiple result dfs) + result_summary = dict() + for result_name, result_df in self.results.items(): + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) + self.logger.debug(f"Summarized {result_name} results") + + return result_summary + + def _generate_dml_data(self, dgp_params) -> dml.DoubleMLData: + """Generate data for the simulation.""" + data = make_plr_CCDDHNR2018( + alpha=dgp_params["theta"], + n_obs=dgp_params["n_obs"], + dim_x=dgp_params["dim_x"], + return_type="DataFrame", + ) + dml_data = dml.DoubleMLData(data, "y", "d") + return dml_data diff --git a/monte-cover/src/montecover/plm/plr_cate.py b/monte-cover/src/montecover/plm/plr_cate.py index cab396a7..0d4d6f83 100644 --- a/monte-cover/src/montecover/plm/plr_cate.py +++ b/monte-cover/src/montecover/plm/plr_cate.py @@ -34,7 +34,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -54,14 +56,18 @@ def _calculate_oracle_values(self): self.logger.info("Calculating oracle values") - design_matrix_oracle = patsy.dmatrix("bs(x, df=5, degree=2)", {"x": data_oracle["data"]["X_0"]}) + design_matrix_oracle = patsy.dmatrix( + "bs(x, df=5, degree=2)", {"x": data_oracle["data"]["X_0"]} + ) spline_basis_oracle = pd.DataFrame(design_matrix_oracle) oracle_model = LinearRegression() oracle_model.fit(spline_basis_oracle, data_oracle["effects"]) # evaluate on grid grid = {"x": np.linspace(0.1, 0.9, 100)} - spline_grid_oracle = pd.DataFrame(patsy.build_design_matrices([design_matrix_oracle.design_info], grid)[0]) + spline_grid_oracle = pd.DataFrame( + patsy.build_design_matrices([design_matrix_oracle.design_info], grid)[0] + ) oracle_cates = oracle_model.predict(spline_grid_oracle) self.oracle_values = dict() @@ -87,12 +93,18 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: dml_model.fit() # cate - design_matrix = patsy.dmatrix("bs(x, df=5, degree=2)", {"x": dml_data.data["X_0"]}) + design_matrix = patsy.dmatrix( + "bs(x, df=5, degree=2)", {"x": dml_data.data["X_0"]} + ) spline_basis = pd.DataFrame(design_matrix) cate_model = dml_model.cate(basis=spline_basis) # evaluation spline basis - spline_grid = pd.DataFrame(patsy.build_design_matrices([design_matrix.design_info], self.oracle_values["grid"])[0]) + spline_grid = pd.DataFrame( + patsy.build_design_matrices( + [design_matrix.design_info], self.oracle_values["grid"] + )[0] + ) result = { "coverage": [], @@ -101,7 +113,9 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: level_result = dict() confint = cate_model.confint(basis=spline_grid, level=level) effects = confint["effect"] - uniform_confint = cate_model.confint(basis=spline_grid, level=0.95, joint=True, n_rep_boot=2000) + uniform_confint = cate_model.confint( + basis=spline_grid, level=0.95, joint=True, n_rep_boot=2000 + ) level_result["coverage"] = self._compute_coverage( thetas=effects, oracle_thetas=self.oracle_values["cates"], @@ -142,7 +156,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/plm/plr_gate.py b/monte-cover/src/montecover/plm/plr_gate.py index dda52d41..7cb12135 100644 --- a/monte-cover/src/montecover/plm/plr_gate.py +++ b/monte-cover/src/montecover/plm/plr_gate.py @@ -32,7 +32,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m"] for learner in self.dml_parameters["learners"]: @@ -66,7 +68,9 @@ def _calculate_oracle_values(self): self.logger.info("Calculating oracle values") groups = self._generate_groups(data_oracle["data"]) - oracle_gates = [data_oracle["effects"][groups[group]].mean() for group in groups.columns] + oracle_gates = [ + data_oracle["effects"][groups[group]].mean() for group in groups.columns + ] self.oracle_values = dict() self.oracle_values["gates"] = oracle_gates @@ -100,7 +104,9 @@ def run_single_rep(self, dml_data, dml_params) -> Dict[str, Any]: level_result = dict() confint = gate_model.confint(level=level) effects = confint["effect"] - uniform_confint = gate_model.confint(level=0.95, joint=True, n_rep_boot=2000) + uniform_confint = gate_model.confint( + level=0.95, joint=True, n_rep_boot=2000 + ) level_result["coverage"] = self._compute_coverage( thetas=effects, oracle_thetas=self.oracle_values["gates"], @@ -141,7 +147,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/rdd/rdd.py b/monte-cover/src/montecover/rdd/rdd.py index c130f0d6..95c9f90f 100644 --- a/monte-cover/src/montecover/rdd/rdd.py +++ b/monte-cover/src/montecover/rdd/rdd.py @@ -40,7 +40,9 @@ def _process_config_parameters(self): """Process simulation-specific parameters from config.""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g"] for learner in self.dml_parameters["learners"]: @@ -51,7 +53,9 @@ def _calculate_oracle_values(self): """Calculate oracle values for the simulation.""" self.logger.info("Calculating oracle values") - data_oracle = make_simple_rdd_data(n_obs=int(1e6), fuzzy=self.fuzzy, cutoff=self.cutoff) + data_oracle = make_simple_rdd_data( + n_obs=int(1e6), fuzzy=self.fuzzy, cutoff=self.cutoff + ) # get oracle value score = data_oracle["score"] ite = data_oracle["oracle_values"]["Y1"] - data_oracle["oracle_values"]["Y0"] @@ -59,7 +63,12 @@ def _calculate_oracle_values(self): # subset score and ite for faster computation score_subset = (score >= (self.cutoff - 0.02)) & (score <= (self.cutoff + 0.02)) self.logger.info(f"Oracle score subset size: {np.sum(score_subset)}") - kernel_reg = KernelReg(endog=ite[score_subset], exog=score[score_subset], var_type="c", reg_type="ll") + kernel_reg = KernelReg( + endog=ite[score_subset], + exog=score[score_subset], + var_type="c", + reg_type="ll", + ) effect_at_cutoff, _ = kernel_reg.fit(np.array([self.cutoff])) oracle_effect = effect_at_cutoff[0] @@ -83,23 +92,31 @@ def _process_repetition(self, i_rep): dml_data = self._generate_dml_data(dgp_params) # --- Run rdrobust benchmark --- - self.logger.debug(f"Rep {i_rep+1}: Running rdrobust benchmark for DGP {dgp_params}") + self.logger.debug( + f"Rep {i_rep+1}: Running rdrobust benchmark for DGP {dgp_params}" + ) param_start_time_rd_benchmark = time.time() # Call the dedicated benchmark function # Pass dml_data, current dgp_params, and repetition index - benchmark_result_list = self._rdrobust_benchmark(dml_data, dgp_params, i_rep) + benchmark_result_list = self._rdrobust_benchmark( + dml_data, dgp_params, i_rep + ) if benchmark_result_list: rep_results["coverage"].extend(benchmark_result_list) param_duration_rd_benchmark = time.time() - param_start_time_rd_benchmark - self.logger.debug(f"rdrobust benchmark for DGP {dgp_params} completed in {param_duration_rd_benchmark:.2f}s") + self.logger.debug( + f"rdrobust benchmark for DGP {dgp_params} completed in {param_duration_rd_benchmark:.2f}s" + ) for dml_param_values in product(*self.dml_parameters.values()): dml_params = dict(zip(self.dml_parameters.keys(), dml_param_values)) i_param_comb += 1 - comb_results = self._process_parameter_combination(i_rep, i_param_comb, dgp_params, dml_params, dml_data) + comb_results = self._process_parameter_combination( + i_rep, i_param_comb, dgp_params, dml_params, dml_data + ) rep_results["coverage"].extend(comb_results["coverage"]) return rep_results @@ -116,14 +133,20 @@ def _rdrobust_benchmark(self, dml_data, dml_params, i_rep): for level in self.confidence_parameters["level"]: if self.fuzzy: D = dml_data.data[dml_data.d_cols] - rd_model = rdrobust(y=Y, x=score, fuzzy=D, covs=Z, c=self.cutoff, level=level * 100) + rd_model = rdrobust( + y=Y, x=score, fuzzy=D, covs=Z, c=self.cutoff, level=level * 100 + ) else: - rd_model = rdrobust(y=Y, x=score, covs=Z, c=self.cutoff, level=level * 100) + rd_model = rdrobust( + y=Y, x=score, covs=Z, c=self.cutoff, level=level * 100 + ) coef_rd = rd_model.coef.loc["Robust", "Coeff"] ci_lower_rd = rd_model.ci.loc["Robust", "CI Lower"] ci_upper_rd = rd_model.ci.loc["Robust", "CI Upper"] - confint_for_compute = pd.DataFrame({"lower": [ci_lower_rd], "upper": [ci_upper_rd]}) + confint_for_compute = pd.DataFrame( + {"lower": [ci_lower_rd], "upper": [ci_upper_rd]} + ) theta_for_compute = np.array([coef_rd]) coverage_metrics = self._compute_coverage( @@ -217,7 +240,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary @@ -232,7 +257,10 @@ def _generate_dml_data(self, dgp_params) -> dml.DoubleMLData: x_cols = ["x" + str(i) for i in range(data["X"].shape[1])] columns = ["y", "d", "score"] + x_cols - df = pd.DataFrame(np.column_stack((data["Y"], data["D"], data["score"], data["X"])), columns=columns) + df = pd.DataFrame( + np.column_stack((data["Y"], data["D"], data["score"], data["X"])), + columns=columns, + ) dml_data = dml.data.DoubleMLRDDData( data=df, diff --git a/monte-cover/src/montecover/ssm/ssm_mar_ate.py b/monte-cover/src/montecover/ssm/ssm_mar_ate.py index 5bd8972f..fe6dc0b8 100644 --- a/monte-cover/src/montecover/ssm/ssm_mar_ate.py +++ b/monte-cover/src/montecover/ssm/ssm_mar_ate.py @@ -30,7 +30,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m", "ml_pi"] for learner in self.dml_parameters["learners"]: @@ -44,7 +46,9 @@ def _calculate_oracle_values(self): self.oracle_values = dict() self.oracle_values["theta"] = self.dgp_parameters["theta"] - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -105,7 +109,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/ssm/ssm_nonig_ate.py b/monte-cover/src/montecover/ssm/ssm_nonig_ate.py index dfb75605..62c04c80 100644 --- a/monte-cover/src/montecover/ssm/ssm_nonig_ate.py +++ b/monte-cover/src/montecover/ssm/ssm_nonig_ate.py @@ -32,7 +32,9 @@ def __init__( def _process_config_parameters(self): """Process simulation-specific parameters from config""" # Process ML models in parameter grid - assert "learners" in self.dml_parameters, "No learners specified in the config file" + assert ( + "learners" in self.dml_parameters + ), "No learners specified in the config file" required_learners = ["ml_g", "ml_m", "ml_pi"] for learner in self.dml_parameters["learners"]: @@ -46,7 +48,9 @@ def _calculate_oracle_values(self): self.oracle_values = dict() self.oracle_values["theta"] = self.dgp_parameters["theta"] - def run_single_rep(self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any]) -> Dict[str, Any]: + def run_single_rep( + self, dml_data: dml.DoubleMLData, dml_params: Dict[str, Any] + ) -> Dict[str, Any]: """Run a single repetition with the given parameters.""" # Extract parameters learner_config = dml_params["learners"] @@ -107,7 +111,9 @@ def summarize_results(self): # Aggregate results (possibly multiple result dfs) result_summary = dict() for result_name, result_df in self.results.items(): - result_summary[result_name] = result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + result_summary[result_name] = ( + result_df.groupby(groupby_cols).agg(aggregation_dict).reset_index() + ) self.logger.debug(f"Summarized {result_name} results") return result_summary diff --git a/monte-cover/src/montecover/utils.py b/monte-cover/src/montecover/utils.py index 838cb431..de27dd4f 100644 --- a/monte-cover/src/montecover/utils.py +++ b/monte-cover/src/montecover/utils.py @@ -2,7 +2,12 @@ from doubleml.utils import GlobalClassifier, GlobalRegressor from lightgbm import LGBMClassifier, LGBMRegressor -from sklearn.ensemble import RandomForestClassifier, RandomForestRegressor, StackingClassifier, StackingRegressor +from sklearn.ensemble import ( + RandomForestClassifier, + RandomForestRegressor, + StackingClassifier, + StackingRegressor, +) from sklearn.linear_model import LassoCV, LinearRegression, LogisticRegression, Ridge LearnerInstantiator = Callable[[Dict[str, Any]], Any] @@ -11,8 +16,12 @@ "LassoCV": lambda params: LassoCV(**params), "RF Regr.": lambda params: RandomForestRegressor(**params), "RF Clas.": lambda params: RandomForestClassifier(**params), - "LGBM Regr.": lambda params: LGBMRegressor(**{**{"verbose": -1, "n_jobs": 1}, **params}), - "LGBM Clas.": lambda params: LGBMClassifier(**{**{"verbose": -1, "n_jobs": 1}, **params}), + "LGBM Regr.": lambda params: LGBMRegressor( + **{**{"verbose": -1, "n_jobs": 1}, **params} + ), + "LGBM Clas.": lambda params: LGBMClassifier( + **{**{"verbose": -1, "n_jobs": 1}, **params} + ), "Linear": lambda params: LinearRegression(**params), "Logistic": lambda params: LogisticRegression(**params), "Global Linear": lambda params: GlobalRegressor(LinearRegression(**params)), diff --git a/monte-cover/src/montecover/utils_tuning.py b/monte-cover/src/montecover/utils_tuning.py new file mode 100644 index 00000000..4503c921 --- /dev/null +++ b/monte-cover/src/montecover/utils_tuning.py @@ -0,0 +1,26 @@ +def lgbm_reg_params(trial): + """Parameter space for LightGBM regression tuning.""" + return { + "n_estimators": trial.suggest_int("n_estimators", 100, 500, step=50), + "learning_rate": trial.suggest_float("learning_rate", 1e-3, 0.1, log=True), + "min_child_samples": trial.suggest_int("min_child_samples", 10, 50, step=5), + "max_depth": 3, + "feature_fraction": trial.suggest_float("feature_fraction", 0.6, 1), + "bagging_fraction": trial.suggest_float("bagging_fraction", 0.6, 1), + "lambda_l1": trial.suggest_float("lambda_l1", 1e-8, 10.0, log=True), + "lambda_l2": trial.suggest_float("lambda_l2", 1e-8, 10.0, log=True), + } + + +def lgbm_cls_params(trial): + """Parameter space for LightGBM classification tuning.""" + return { + "n_estimators": trial.suggest_int("n_estimators", 100, 500, step=50), + "learning_rate": trial.suggest_float("learning_rate", 1e-3, 0.1, log=True), + "min_child_samples": trial.suggest_int("min_child_samples", 10, 50, step=5), + "max_depth": 3, + "feature_fraction": trial.suggest_float("feature_fraction", 0.6, 1), + "bagging_fraction": trial.suggest_float("bagging_fraction", 0.6, 1), + "lambda_l1": trial.suggest_float("lambda_l1", 1e-8, 10.0, log=True), + "lambda_l2": trial.suggest_float("lambda_l2", 1e-8, 10.0, log=True), + } diff --git a/monte-cover/uv.lock b/monte-cover/uv.lock index dd4c0668..2391cbf3 100644 --- a/monte-cover/uv.lock +++ b/monte-cover/uv.lock @@ -1,23 +1,23 @@ version = 1 -revision = 1 +revision = 3 requires-python = ">=3.12" [[package]] name = "appnope" version = "0.1.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170 } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321 }, + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, ] [[package]] name = "asttokens" version = "3.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978 } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918 }, + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, ] [[package]] @@ -31,17 +31,17 @@ dependencies = [ { name = "pathspec" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/94/49/26a7b0f3f35da4b5a65f081943b7bcd22d7002f5f0fb8098ec1ff21cb6ef/black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666", size = 649449 } +sdist = { url = "https://files.pythonhosted.org/packages/94/49/26a7b0f3f35da4b5a65f081943b7bcd22d7002f5f0fb8098ec1ff21cb6ef/black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666", size = 649449, upload-time = "2025-01-29T04:15:40.373Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/83/71/3fe4741df7adf015ad8dfa082dd36c94ca86bb21f25608eb247b4afb15b2/black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b", size = 1650988 }, - { url = "https://files.pythonhosted.org/packages/13/f3/89aac8a83d73937ccd39bbe8fc6ac8860c11cfa0af5b1c96d081facac844/black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc", size = 1453985 }, - { url = "https://files.pythonhosted.org/packages/6f/22/b99efca33f1f3a1d2552c714b1e1b5ae92efac6c43e790ad539a163d1754/black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f", size = 1783816 }, - { url = "https://files.pythonhosted.org/packages/18/7e/a27c3ad3822b6f2e0e00d63d58ff6299a99a5b3aee69fa77cd4b0076b261/black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba", size = 1440860 }, - { url = "https://files.pythonhosted.org/packages/98/87/0edf98916640efa5d0696e1abb0a8357b52e69e82322628f25bf14d263d1/black-25.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8f0b18a02996a836cc9c9c78e5babec10930862827b1b724ddfe98ccf2f2fe4f", size = 1650673 }, - { url = "https://files.pythonhosted.org/packages/52/e5/f7bf17207cf87fa6e9b676576749c6b6ed0d70f179a3d812c997870291c3/black-25.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:afebb7098bfbc70037a053b91ae8437c3857482d3a690fefc03e9ff7aa9a5fd3", size = 1453190 }, - { url = "https://files.pythonhosted.org/packages/e3/ee/adda3d46d4a9120772fae6de454c8495603c37c4c3b9c60f25b1ab6401fe/black-25.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:030b9759066a4ee5e5aca28c3c77f9c64789cdd4de8ac1df642c40b708be6171", size = 1782926 }, - { url = "https://files.pythonhosted.org/packages/cc/64/94eb5f45dcb997d2082f097a3944cfc7fe87e071907f677e80788a2d7b7a/black-25.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:a22f402b410566e2d1c950708c77ebf5ebd5d0d88a6a2e87c86d9fb48afa0d18", size = 1442613 }, - { url = "https://files.pythonhosted.org/packages/09/71/54e999902aed72baf26bca0d50781b01838251a462612966e9fc4891eadd/black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717", size = 207646 }, + { url = "https://files.pythonhosted.org/packages/83/71/3fe4741df7adf015ad8dfa082dd36c94ca86bb21f25608eb247b4afb15b2/black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b", size = 1650988, upload-time = "2025-01-29T05:37:16.707Z" }, + { url = "https://files.pythonhosted.org/packages/13/f3/89aac8a83d73937ccd39bbe8fc6ac8860c11cfa0af5b1c96d081facac844/black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc", size = 1453985, upload-time = "2025-01-29T05:37:18.273Z" }, + { url = "https://files.pythonhosted.org/packages/6f/22/b99efca33f1f3a1d2552c714b1e1b5ae92efac6c43e790ad539a163d1754/black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f", size = 1783816, upload-time = "2025-01-29T04:18:33.823Z" }, + { url = "https://files.pythonhosted.org/packages/18/7e/a27c3ad3822b6f2e0e00d63d58ff6299a99a5b3aee69fa77cd4b0076b261/black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba", size = 1440860, upload-time = "2025-01-29T04:19:12.944Z" }, + { url = "https://files.pythonhosted.org/packages/98/87/0edf98916640efa5d0696e1abb0a8357b52e69e82322628f25bf14d263d1/black-25.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8f0b18a02996a836cc9c9c78e5babec10930862827b1b724ddfe98ccf2f2fe4f", size = 1650673, upload-time = "2025-01-29T05:37:20.574Z" }, + { url = "https://files.pythonhosted.org/packages/52/e5/f7bf17207cf87fa6e9b676576749c6b6ed0d70f179a3d812c997870291c3/black-25.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:afebb7098bfbc70037a053b91ae8437c3857482d3a690fefc03e9ff7aa9a5fd3", size = 1453190, upload-time = "2025-01-29T05:37:22.106Z" }, + { url = "https://files.pythonhosted.org/packages/e3/ee/adda3d46d4a9120772fae6de454c8495603c37c4c3b9c60f25b1ab6401fe/black-25.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:030b9759066a4ee5e5aca28c3c77f9c64789cdd4de8ac1df642c40b708be6171", size = 1782926, upload-time = "2025-01-29T04:18:58.564Z" }, + { url = "https://files.pythonhosted.org/packages/cc/64/94eb5f45dcb997d2082f097a3944cfc7fe87e071907f677e80788a2d7b7a/black-25.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:a22f402b410566e2d1c950708c77ebf5ebd5d0d88a6a2e87c86d9fb48afa0d18", size = 1442613, upload-time = "2025-01-29T04:19:27.63Z" }, + { url = "https://files.pythonhosted.org/packages/09/71/54e999902aed72baf26bca0d50781b01838251a462612966e9fc4891eadd/black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717", size = 207646, upload-time = "2025-01-29T04:15:38.082Z" }, ] [[package]] @@ -51,39 +51,39 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pycparser" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178 }, - { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840 }, - { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803 }, - { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850 }, - { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729 }, - { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256 }, - { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424 }, - { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568 }, - { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736 }, - { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, - { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, - { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, - { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, - { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, - { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, - { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, - { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, - { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, ] [[package]] name = "cfgv" version = "3.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114 } +sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249 }, + { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, ] [[package]] @@ -93,18 +93,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, ] [[package]] name = "colorama" version = "0.4.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] [[package]] @@ -114,9 +114,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/a8/fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86/comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", size = 6210 } +sdist = { url = "https://files.pythonhosted.org/packages/e9/a8/fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86/comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", size = 6210, upload-time = "2024-03-12T16:53:41.133Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180 }, + { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180, upload-time = "2024-03-12T16:53:39.226Z" }, ] [[package]] @@ -126,87 +126,87 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699", size = 13465753 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/37/6b/175f60227d3e7f5f1549fcb374592be311293132207e451c3d7c654c25fb/contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509", size = 271494 }, - { url = "https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc", size = 255444 }, - { url = "https://files.pythonhosted.org/packages/7f/b3/7859efce66eaca5c14ba7619791b084ed02d868d76b928ff56890d2d059d/contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454", size = 307628 }, - { url = "https://files.pythonhosted.org/packages/48/b2/011415f5e3f0a50b1e285a0bf78eb5d92a4df000553570f0851b6e309076/contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80", size = 347271 }, - { url = "https://files.pythonhosted.org/packages/84/7d/ef19b1db0f45b151ac78c65127235239a8cf21a59d1ce8507ce03e89a30b/contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec", size = 318906 }, - { url = "https://files.pythonhosted.org/packages/ba/99/6794142b90b853a9155316c8f470d2e4821fe6f086b03e372aca848227dd/contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9", size = 323622 }, - { url = "https://files.pythonhosted.org/packages/3c/0f/37d2c84a900cd8eb54e105f4fa9aebd275e14e266736778bb5dccbf3bbbb/contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b", size = 1266699 }, - { url = "https://files.pythonhosted.org/packages/3a/8a/deb5e11dc7d9cc8f0f9c8b29d4f062203f3af230ba83c30a6b161a6effc9/contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d", size = 1326395 }, - { url = "https://files.pythonhosted.org/packages/1a/35/7e267ae7c13aaf12322ccc493531f1e7f2eb8fba2927b9d7a05ff615df7a/contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e", size = 175354 }, - { url = "https://files.pythonhosted.org/packages/a1/35/c2de8823211d07e8a79ab018ef03960716c5dff6f4d5bff5af87fd682992/contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d", size = 220971 }, - { url = "https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2", size = 271548 }, - { url = "https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5", size = 255576 }, - { url = "https://files.pythonhosted.org/packages/ab/8a/915380ee96a5638bda80cd061ccb8e666bfdccea38d5741cb69e6dbd61fc/contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81", size = 306635 }, - { url = "https://files.pythonhosted.org/packages/29/5c/c83ce09375428298acd4e6582aeb68b1e0d1447f877fa993d9bf6cd3b0a0/contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2", size = 345925 }, - { url = "https://files.pythonhosted.org/packages/29/63/5b52f4a15e80c66c8078a641a3bfacd6e07106835682454647aca1afc852/contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7", size = 318000 }, - { url = "https://files.pythonhosted.org/packages/9a/e2/30ca086c692691129849198659bf0556d72a757fe2769eb9620a27169296/contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c", size = 322689 }, - { url = "https://files.pythonhosted.org/packages/6b/77/f37812ef700f1f185d348394debf33f22d531e714cf6a35d13d68a7003c7/contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3", size = 1268413 }, - { url = "https://files.pythonhosted.org/packages/3f/6d/ce84e79cdd128542ebeb268f84abb4b093af78e7f8ec504676673d2675bc/contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1", size = 1326530 }, - { url = "https://files.pythonhosted.org/packages/72/22/8282f4eae20c73c89bee7a82a19c4e27af9b57bb602ecaa00713d5bdb54d/contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82", size = 175315 }, - { url = "https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd", size = 220987 }, - { url = "https://files.pythonhosted.org/packages/2f/24/a4b285d6adaaf9746e4700932f579f1a7b6f9681109f694cfa233ae75c4e/contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30", size = 285001 }, - { url = "https://files.pythonhosted.org/packages/48/1d/fb49a401b5ca4f06ccf467cd6c4f1fd65767e63c21322b29b04ec40b40b9/contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751", size = 268553 }, - { url = "https://files.pythonhosted.org/packages/79/1e/4aef9470d13fd029087388fae750dccb49a50c012a6c8d1d634295caa644/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342", size = 310386 }, - { url = "https://files.pythonhosted.org/packages/b0/34/910dc706ed70153b60392b5305c708c9810d425bde12499c9184a1100888/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c", size = 349806 }, - { url = "https://files.pythonhosted.org/packages/31/3c/faee6a40d66d7f2a87f7102236bf4780c57990dd7f98e5ff29881b1b1344/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f", size = 321108 }, - { url = "https://files.pythonhosted.org/packages/17/69/390dc9b20dd4bb20585651d7316cc3054b7d4a7b4f8b710b2b698e08968d/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda", size = 327291 }, - { url = "https://files.pythonhosted.org/packages/ef/74/7030b67c4e941fe1e5424a3d988080e83568030ce0355f7c9fc556455b01/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242", size = 1263752 }, - { url = "https://files.pythonhosted.org/packages/f0/ed/92d86f183a8615f13f6b9cbfc5d4298a509d6ce433432e21da838b4b63f4/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1", size = 1318403 }, - { url = "https://files.pythonhosted.org/packages/b3/0e/c8e4950c77dcfc897c71d61e56690a0a9df39543d2164040301b5df8e67b/contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1", size = 185117 }, - { url = "https://files.pythonhosted.org/packages/c1/31/1ae946f11dfbd229222e6d6ad8e7bd1891d3d48bde5fbf7a0beb9491f8e3/contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546", size = 236668 }, +sdist = { url = "https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699", size = 13465753, upload-time = "2024-11-12T11:00:59.118Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/37/6b/175f60227d3e7f5f1549fcb374592be311293132207e451c3d7c654c25fb/contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509", size = 271494, upload-time = "2024-11-12T10:54:23.6Z" }, + { url = "https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc", size = 255444, upload-time = "2024-11-12T10:54:28.267Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b3/7859efce66eaca5c14ba7619791b084ed02d868d76b928ff56890d2d059d/contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454", size = 307628, upload-time = "2024-11-12T10:54:33.418Z" }, + { url = "https://files.pythonhosted.org/packages/48/b2/011415f5e3f0a50b1e285a0bf78eb5d92a4df000553570f0851b6e309076/contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80", size = 347271, upload-time = "2024-11-12T10:54:38.816Z" }, + { url = "https://files.pythonhosted.org/packages/84/7d/ef19b1db0f45b151ac78c65127235239a8cf21a59d1ce8507ce03e89a30b/contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec", size = 318906, upload-time = "2024-11-12T10:54:44.132Z" }, + { url = "https://files.pythonhosted.org/packages/ba/99/6794142b90b853a9155316c8f470d2e4821fe6f086b03e372aca848227dd/contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9", size = 323622, upload-time = "2024-11-12T10:54:48.788Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0f/37d2c84a900cd8eb54e105f4fa9aebd275e14e266736778bb5dccbf3bbbb/contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b", size = 1266699, upload-time = "2024-11-12T10:55:04.016Z" }, + { url = "https://files.pythonhosted.org/packages/3a/8a/deb5e11dc7d9cc8f0f9c8b29d4f062203f3af230ba83c30a6b161a6effc9/contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d", size = 1326395, upload-time = "2024-11-12T10:55:20.547Z" }, + { url = "https://files.pythonhosted.org/packages/1a/35/7e267ae7c13aaf12322ccc493531f1e7f2eb8fba2927b9d7a05ff615df7a/contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e", size = 175354, upload-time = "2024-11-12T10:55:24.377Z" }, + { url = "https://files.pythonhosted.org/packages/a1/35/c2de8823211d07e8a79ab018ef03960716c5dff6f4d5bff5af87fd682992/contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d", size = 220971, upload-time = "2024-11-12T10:55:27.971Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2", size = 271548, upload-time = "2024-11-12T10:55:32.228Z" }, + { url = "https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5", size = 255576, upload-time = "2024-11-12T10:55:36.246Z" }, + { url = "https://files.pythonhosted.org/packages/ab/8a/915380ee96a5638bda80cd061ccb8e666bfdccea38d5741cb69e6dbd61fc/contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81", size = 306635, upload-time = "2024-11-12T10:55:41.904Z" }, + { url = "https://files.pythonhosted.org/packages/29/5c/c83ce09375428298acd4e6582aeb68b1e0d1447f877fa993d9bf6cd3b0a0/contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2", size = 345925, upload-time = "2024-11-12T10:55:47.206Z" }, + { url = "https://files.pythonhosted.org/packages/29/63/5b52f4a15e80c66c8078a641a3bfacd6e07106835682454647aca1afc852/contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7", size = 318000, upload-time = "2024-11-12T10:55:52.264Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e2/30ca086c692691129849198659bf0556d72a757fe2769eb9620a27169296/contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c", size = 322689, upload-time = "2024-11-12T10:55:57.858Z" }, + { url = "https://files.pythonhosted.org/packages/6b/77/f37812ef700f1f185d348394debf33f22d531e714cf6a35d13d68a7003c7/contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3", size = 1268413, upload-time = "2024-11-12T10:56:13.328Z" }, + { url = "https://files.pythonhosted.org/packages/3f/6d/ce84e79cdd128542ebeb268f84abb4b093af78e7f8ec504676673d2675bc/contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1", size = 1326530, upload-time = "2024-11-12T10:56:30.07Z" }, + { url = "https://files.pythonhosted.org/packages/72/22/8282f4eae20c73c89bee7a82a19c4e27af9b57bb602ecaa00713d5bdb54d/contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82", size = 175315, upload-time = "2024-11-12T10:57:42.804Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd", size = 220987, upload-time = "2024-11-12T10:57:46.365Z" }, + { url = "https://files.pythonhosted.org/packages/2f/24/a4b285d6adaaf9746e4700932f579f1a7b6f9681109f694cfa233ae75c4e/contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30", size = 285001, upload-time = "2024-11-12T10:56:34.483Z" }, + { url = "https://files.pythonhosted.org/packages/48/1d/fb49a401b5ca4f06ccf467cd6c4f1fd65767e63c21322b29b04ec40b40b9/contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751", size = 268553, upload-time = "2024-11-12T10:56:39.167Z" }, + { url = "https://files.pythonhosted.org/packages/79/1e/4aef9470d13fd029087388fae750dccb49a50c012a6c8d1d634295caa644/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342", size = 310386, upload-time = "2024-11-12T10:56:44.594Z" }, + { url = "https://files.pythonhosted.org/packages/b0/34/910dc706ed70153b60392b5305c708c9810d425bde12499c9184a1100888/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c", size = 349806, upload-time = "2024-11-12T10:56:49.565Z" }, + { url = "https://files.pythonhosted.org/packages/31/3c/faee6a40d66d7f2a87f7102236bf4780c57990dd7f98e5ff29881b1b1344/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f", size = 321108, upload-time = "2024-11-12T10:56:55.013Z" }, + { url = "https://files.pythonhosted.org/packages/17/69/390dc9b20dd4bb20585651d7316cc3054b7d4a7b4f8b710b2b698e08968d/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda", size = 327291, upload-time = "2024-11-12T10:56:59.897Z" }, + { url = "https://files.pythonhosted.org/packages/ef/74/7030b67c4e941fe1e5424a3d988080e83568030ce0355f7c9fc556455b01/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242", size = 1263752, upload-time = "2024-11-12T10:57:14.79Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ed/92d86f183a8615f13f6b9cbfc5d4298a509d6ce433432e21da838b4b63f4/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1", size = 1318403, upload-time = "2024-11-12T10:57:31.326Z" }, + { url = "https://files.pythonhosted.org/packages/b3/0e/c8e4950c77dcfc897c71d61e56690a0a9df39543d2164040301b5df8e67b/contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1", size = 185117, upload-time = "2024-11-12T10:57:34.735Z" }, + { url = "https://files.pythonhosted.org/packages/c1/31/1ae946f11dfbd229222e6d6ad8e7bd1891d3d48bde5fbf7a0beb9491f8e3/contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546", size = 236668, upload-time = "2024-11-12T10:57:39.061Z" }, ] [[package]] name = "cycler" version = "0.12.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 }, + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, ] [[package]] name = "debugpy" version = "1.8.13" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/51/d4/f35f539e11c9344652f362c22413ec5078f677ac71229dc9b4f6f85ccaa3/debugpy-1.8.13.tar.gz", hash = "sha256:837e7bef95bdefba426ae38b9a94821ebdc5bea55627879cd48165c90b9e50ce", size = 1641193 } +sdist = { url = "https://files.pythonhosted.org/packages/51/d4/f35f539e11c9344652f362c22413ec5078f677ac71229dc9b4f6f85ccaa3/debugpy-1.8.13.tar.gz", hash = "sha256:837e7bef95bdefba426ae38b9a94821ebdc5bea55627879cd48165c90b9e50ce", size = 1641193, upload-time = "2025-03-05T01:02:22.807Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/79/ad/dff929b6b5403feaab0af0e5bb460fd723f9c62538b718a9af819b8fff20/debugpy-1.8.13-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:2b8de94c5c78aa0d0ed79023eb27c7c56a64c68217d881bee2ffbcb13951d0c1", size = 2501004 }, - { url = "https://files.pythonhosted.org/packages/d6/4f/b7d42e6679f0bb525888c278b0c0d2b6dff26ed42795230bb46eaae4f9b3/debugpy-1.8.13-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:887d54276cefbe7290a754424b077e41efa405a3e07122d8897de54709dbe522", size = 4222346 }, - { url = "https://files.pythonhosted.org/packages/ec/18/d9b3e88e85d41f68f77235112adc31012a784e45a3fcdbb039777d570a0f/debugpy-1.8.13-cp312-cp312-win32.whl", hash = "sha256:3872ce5453b17837ef47fb9f3edc25085ff998ce63543f45ba7af41e7f7d370f", size = 5226639 }, - { url = "https://files.pythonhosted.org/packages/c9/f7/0df18a4f530ed3cc06f0060f548efe9e3316102101e311739d906f5650be/debugpy-1.8.13-cp312-cp312-win_amd64.whl", hash = "sha256:63ca7670563c320503fea26ac688988d9d6b9c6a12abc8a8cf2e7dd8e5f6b6ea", size = 5268735 }, - { url = "https://files.pythonhosted.org/packages/b1/db/ae7cd645c1826aae557cebccbc448f0cc9a818d364efb88f8d80e7a03f41/debugpy-1.8.13-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:31abc9618be4edad0b3e3a85277bc9ab51a2d9f708ead0d99ffb5bb750e18503", size = 2485416 }, - { url = "https://files.pythonhosted.org/packages/ec/ed/db4b10ff3b5bb30fe41d9e86444a08bb6448e4d8265e7768450b8408dd36/debugpy-1.8.13-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0bd87557f97bced5513a74088af0b84982b6ccb2e254b9312e29e8a5c4270eb", size = 4218784 }, - { url = "https://files.pythonhosted.org/packages/82/82/ed81852a8d94086f51664d032d83c7f87cd2b087c6ea70dabec7c1ba813d/debugpy-1.8.13-cp313-cp313-win32.whl", hash = "sha256:5268ae7fdca75f526d04465931cb0bd24577477ff50e8bb03dab90983f4ebd02", size = 5226270 }, - { url = "https://files.pythonhosted.org/packages/15/63/aa92fb341a78ec40f1c414ec7a7885c2ee17032eee00d12cee0cdc502af4/debugpy-1.8.13-cp313-cp313-win_amd64.whl", hash = "sha256:79ce4ed40966c4c1631d0131606b055a5a2f8e430e3f7bf8fd3744b09943e8e8", size = 5268621 }, - { url = "https://files.pythonhosted.org/packages/37/4f/0b65410a08b6452bfd3f7ed6f3610f1a31fb127f46836e82d31797065dcb/debugpy-1.8.13-py2.py3-none-any.whl", hash = "sha256:d4ba115cdd0e3a70942bd562adba9ec8c651fe69ddde2298a1be296fc331906f", size = 5229306 }, + { url = "https://files.pythonhosted.org/packages/79/ad/dff929b6b5403feaab0af0e5bb460fd723f9c62538b718a9af819b8fff20/debugpy-1.8.13-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:2b8de94c5c78aa0d0ed79023eb27c7c56a64c68217d881bee2ffbcb13951d0c1", size = 2501004, upload-time = "2025-03-05T01:02:42.602Z" }, + { url = "https://files.pythonhosted.org/packages/d6/4f/b7d42e6679f0bb525888c278b0c0d2b6dff26ed42795230bb46eaae4f9b3/debugpy-1.8.13-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:887d54276cefbe7290a754424b077e41efa405a3e07122d8897de54709dbe522", size = 4222346, upload-time = "2025-03-05T01:02:44.803Z" }, + { url = "https://files.pythonhosted.org/packages/ec/18/d9b3e88e85d41f68f77235112adc31012a784e45a3fcdbb039777d570a0f/debugpy-1.8.13-cp312-cp312-win32.whl", hash = "sha256:3872ce5453b17837ef47fb9f3edc25085ff998ce63543f45ba7af41e7f7d370f", size = 5226639, upload-time = "2025-03-05T01:02:47.144Z" }, + { url = "https://files.pythonhosted.org/packages/c9/f7/0df18a4f530ed3cc06f0060f548efe9e3316102101e311739d906f5650be/debugpy-1.8.13-cp312-cp312-win_amd64.whl", hash = "sha256:63ca7670563c320503fea26ac688988d9d6b9c6a12abc8a8cf2e7dd8e5f6b6ea", size = 5268735, upload-time = "2025-03-05T01:02:48.92Z" }, + { url = "https://files.pythonhosted.org/packages/b1/db/ae7cd645c1826aae557cebccbc448f0cc9a818d364efb88f8d80e7a03f41/debugpy-1.8.13-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:31abc9618be4edad0b3e3a85277bc9ab51a2d9f708ead0d99ffb5bb750e18503", size = 2485416, upload-time = "2025-03-05T01:02:50.558Z" }, + { url = "https://files.pythonhosted.org/packages/ec/ed/db4b10ff3b5bb30fe41d9e86444a08bb6448e4d8265e7768450b8408dd36/debugpy-1.8.13-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0bd87557f97bced5513a74088af0b84982b6ccb2e254b9312e29e8a5c4270eb", size = 4218784, upload-time = "2025-03-05T01:02:53.535Z" }, + { url = "https://files.pythonhosted.org/packages/82/82/ed81852a8d94086f51664d032d83c7f87cd2b087c6ea70dabec7c1ba813d/debugpy-1.8.13-cp313-cp313-win32.whl", hash = "sha256:5268ae7fdca75f526d04465931cb0bd24577477ff50e8bb03dab90983f4ebd02", size = 5226270, upload-time = "2025-03-05T01:02:56.241Z" }, + { url = "https://files.pythonhosted.org/packages/15/63/aa92fb341a78ec40f1c414ec7a7885c2ee17032eee00d12cee0cdc502af4/debugpy-1.8.13-cp313-cp313-win_amd64.whl", hash = "sha256:79ce4ed40966c4c1631d0131606b055a5a2f8e430e3f7bf8fd3744b09943e8e8", size = 5268621, upload-time = "2025-03-05T01:02:57.845Z" }, + { url = "https://files.pythonhosted.org/packages/37/4f/0b65410a08b6452bfd3f7ed6f3610f1a31fb127f46836e82d31797065dcb/debugpy-1.8.13-py2.py3-none-any.whl", hash = "sha256:d4ba115cdd0e3a70942bd562adba9ec8c651fe69ddde2298a1be296fc331906f", size = 5229306, upload-time = "2025-03-05T01:03:16.51Z" }, ] [[package]] name = "decorator" version = "5.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711 } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190 }, + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, ] [[package]] name = "distlib" version = "0.3.9" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923 } +sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923, upload-time = "2024-10-09T18:35:47.551Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973 }, + { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" }, ] [[package]] name = "doubleml" -version = "0.10.0" +version = "0.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "joblib" }, @@ -219,9 +219,9 @@ dependencies = [ { name = "seaborn" }, { name = "statsmodels" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/24/e0/145b63e9b682a139911f5a3dbc6c34aa77a460b1747a2d418599eeeb2974/doubleml-0.10.0.tar.gz", hash = "sha256:648a4440f4e9c3586f78d338430e3b914f147f16cc13da864cef1439aad8e7a1", size = 294772 } +sdist = { url = "https://files.pythonhosted.org/packages/57/ae/714bd035aa2d524065e19774bb382e0ee4dfb365b97d6e1578c0fd26af19/doubleml-0.11.0.tar.gz", hash = "sha256:54d02439bfcc97704463a9727420a4cb6ebb559a870c645bbc6b21d30f09c972", size = 350498, upload-time = "2025-11-21T10:36:51.46Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/04/41d0f9cc48ca4b1d4c357961010d19f8a67fa5c2a139ddd5766655dd6ab5/doubleml-0.10.0-py3-none-any.whl", hash = "sha256:6bac311bc937bfed82d2e0d2dea0ac911604469fd144aa2de392daaca14134ed", size = 443289 }, + { url = "https://files.pythonhosted.org/packages/53/b0/bab2789fcb6e2b48e762e593f641ab9eb8b524a3832c7098595ebc8edb45/doubleml-0.11.0-py3-none-any.whl", hash = "sha256:4c15a8b2b7e52b68161e440cd991c28ebb8c133727decfb4343021e5ffcc0873", size = 540420, upload-time = "2025-11-21T10:36:50.156Z" }, ] [package.optional-dependencies] @@ -233,52 +233,52 @@ rdd = [ name = "executing" version = "2.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693 } +sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693, upload-time = "2025-01-22T15:41:29.403Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702 }, + { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702, upload-time = "2025-01-22T15:41:25.929Z" }, ] [[package]] name = "filelock" version = "3.18.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075 } +sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075, upload-time = "2025-03-14T07:11:40.47Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215 }, + { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload-time = "2025-03-14T07:11:39.145Z" }, ] [[package]] name = "fonttools" version = "4.56.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1c/8c/9ffa2a555af0e5e5d0e2ed7fdd8c9bef474ed676995bb4c57c9cd0014248/fonttools-4.56.0.tar.gz", hash = "sha256:a114d1567e1a1586b7e9e7fc2ff686ca542a82769a296cef131e4c4af51e58f4", size = 3462892 } +sdist = { url = "https://files.pythonhosted.org/packages/1c/8c/9ffa2a555af0e5e5d0e2ed7fdd8c9bef474ed676995bb4c57c9cd0014248/fonttools-4.56.0.tar.gz", hash = "sha256:a114d1567e1a1586b7e9e7fc2ff686ca542a82769a296cef131e4c4af51e58f4", size = 3462892, upload-time = "2025-02-07T13:46:29.026Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/39/32/71cfd6877999576a11824a7fe7bc0bb57c5c72b1f4536fa56a3e39552643/fonttools-4.56.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6f195c14c01bd057bc9b4f70756b510e009c83c5ea67b25ced3e2c38e6ee6e9", size = 2747757 }, - { url = "https://files.pythonhosted.org/packages/15/52/d9f716b072c5061a0b915dd4c387f74bef44c68c069e2195c753905bd9b7/fonttools-4.56.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa760e5fe8b50cbc2d71884a1eff2ed2b95a005f02dda2fa431560db0ddd927f", size = 2279007 }, - { url = "https://files.pythonhosted.org/packages/d1/97/f1b3a8afa9a0d814a092a25cd42f59ccb98a0bb7a295e6e02fc9ba744214/fonttools-4.56.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54a45d30251f1d729e69e5b675f9a08b7da413391a1227781e2a297fa37f6d2", size = 4783991 }, - { url = "https://files.pythonhosted.org/packages/95/70/2a781bedc1c45a0c61d29c56425609b22ed7f971da5d7e5df2679488741b/fonttools-4.56.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661a8995d11e6e4914a44ca7d52d1286e2d9b154f685a4d1f69add8418961563", size = 4855109 }, - { url = "https://files.pythonhosted.org/packages/0c/02/a2597858e61a5e3fb6a14d5f6be9e6eb4eaf090da56ad70cedcbdd201685/fonttools-4.56.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d94449ad0a5f2a8bf5d2f8d71d65088aee48adbe45f3c5f8e00e3ad861ed81a", size = 4762496 }, - { url = "https://files.pythonhosted.org/packages/f2/00/aaf00100d6078fdc73f7352b44589804af9dc12b182a2540b16002152ba4/fonttools-4.56.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f59746f7953f69cc3290ce2f971ab01056e55ddd0fb8b792c31a8acd7fee2d28", size = 4990094 }, - { url = "https://files.pythonhosted.org/packages/bf/dc/3ff1db522460db60cf3adaf1b64e0c72b43406717d139786d3fa1eb20709/fonttools-4.56.0-cp312-cp312-win32.whl", hash = "sha256:bce60f9a977c9d3d51de475af3f3581d9b36952e1f8fc19a1f2254f1dda7ce9c", size = 2142888 }, - { url = "https://files.pythonhosted.org/packages/6f/e3/5a181a85777f7809076e51f7422e0dc77eb04676c40ec8bf6a49d390d1ff/fonttools-4.56.0-cp312-cp312-win_amd64.whl", hash = "sha256:300c310bb725b2bdb4f5fc7e148e190bd69f01925c7ab437b9c0ca3e1c7cd9ba", size = 2189734 }, - { url = "https://files.pythonhosted.org/packages/a5/55/f06b48d48e0b4ec3a3489efafe9bd4d81b6e0802ac51026e3ee4634e89ba/fonttools-4.56.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f20e2c0dfab82983a90f3d00703ac0960412036153e5023eed2b4641d7d5e692", size = 2735127 }, - { url = "https://files.pythonhosted.org/packages/59/db/d2c7c9b6dd5cbd46f183e650a47403ffb88fca17484eb7c4b1cd88f9e513/fonttools-4.56.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f36a0868f47b7566237640c026c65a86d09a3d9ca5df1cd039e30a1da73098a0", size = 2272519 }, - { url = "https://files.pythonhosted.org/packages/4d/a2/da62d779c34a0e0c06415f02eab7fa3466de5d46df459c0275a255cefc65/fonttools-4.56.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62b4c6802fa28e14dba010e75190e0e6228513573f1eeae57b11aa1a39b7e5b1", size = 4762423 }, - { url = "https://files.pythonhosted.org/packages/be/6a/fd4018e0448c8a5e12138906411282c5eab51a598493f080a9f0960e658f/fonttools-4.56.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05d1f07eb0a7d755fbe01fee1fd255c3a4d3730130cf1bfefb682d18fd2fcea", size = 4834442 }, - { url = "https://files.pythonhosted.org/packages/6d/63/fa1dec8efb35bc11ef9c39b2d74754b45d48a3ccb2cf78c0109c0af639e8/fonttools-4.56.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0073b62c3438cf0058488c002ea90489e8801d3a7af5ce5f7c05c105bee815c3", size = 4742800 }, - { url = "https://files.pythonhosted.org/packages/dd/f4/963247ae8c73ccc4cf2929e7162f595c81dbe17997d1d0ea77da24a217c9/fonttools-4.56.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cad98c94833465bcf28f51c248aaf07ca022efc6a3eba750ad9c1e0256d278", size = 4963746 }, - { url = "https://files.pythonhosted.org/packages/ea/e0/46f9600c39c644b54e4420f941f75fa200d9288c9ae171e5d80918b8cbb9/fonttools-4.56.0-cp313-cp313-win32.whl", hash = "sha256:d0cb73ccf7f6d7ca8d0bc7ea8ac0a5b84969a41c56ac3ac3422a24df2680546f", size = 2140927 }, - { url = "https://files.pythonhosted.org/packages/27/6d/3edda54f98a550a0473f032d8050315fbc8f1b76a0d9f3879b72ebb2cdd6/fonttools-4.56.0-cp313-cp313-win_amd64.whl", hash = "sha256:62cc1253827d1e500fde9dbe981219fea4eb000fd63402283472d38e7d8aa1c6", size = 2186709 }, - { url = "https://files.pythonhosted.org/packages/bf/ff/44934a031ce5a39125415eb405b9efb76fe7f9586b75291d66ae5cbfc4e6/fonttools-4.56.0-py3-none-any.whl", hash = "sha256:1088182f68c303b50ca4dc0c82d42083d176cba37af1937e1a976a31149d4d14", size = 1089800 }, + { url = "https://files.pythonhosted.org/packages/39/32/71cfd6877999576a11824a7fe7bc0bb57c5c72b1f4536fa56a3e39552643/fonttools-4.56.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6f195c14c01bd057bc9b4f70756b510e009c83c5ea67b25ced3e2c38e6ee6e9", size = 2747757, upload-time = "2025-02-07T13:44:28.021Z" }, + { url = "https://files.pythonhosted.org/packages/15/52/d9f716b072c5061a0b915dd4c387f74bef44c68c069e2195c753905bd9b7/fonttools-4.56.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa760e5fe8b50cbc2d71884a1eff2ed2b95a005f02dda2fa431560db0ddd927f", size = 2279007, upload-time = "2025-02-07T13:44:31.325Z" }, + { url = "https://files.pythonhosted.org/packages/d1/97/f1b3a8afa9a0d814a092a25cd42f59ccb98a0bb7a295e6e02fc9ba744214/fonttools-4.56.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54a45d30251f1d729e69e5b675f9a08b7da413391a1227781e2a297fa37f6d2", size = 4783991, upload-time = "2025-02-07T13:44:34.888Z" }, + { url = "https://files.pythonhosted.org/packages/95/70/2a781bedc1c45a0c61d29c56425609b22ed7f971da5d7e5df2679488741b/fonttools-4.56.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661a8995d11e6e4914a44ca7d52d1286e2d9b154f685a4d1f69add8418961563", size = 4855109, upload-time = "2025-02-07T13:44:40.702Z" }, + { url = "https://files.pythonhosted.org/packages/0c/02/a2597858e61a5e3fb6a14d5f6be9e6eb4eaf090da56ad70cedcbdd201685/fonttools-4.56.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d94449ad0a5f2a8bf5d2f8d71d65088aee48adbe45f3c5f8e00e3ad861ed81a", size = 4762496, upload-time = "2025-02-07T13:44:45.929Z" }, + { url = "https://files.pythonhosted.org/packages/f2/00/aaf00100d6078fdc73f7352b44589804af9dc12b182a2540b16002152ba4/fonttools-4.56.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f59746f7953f69cc3290ce2f971ab01056e55ddd0fb8b792c31a8acd7fee2d28", size = 4990094, upload-time = "2025-02-07T13:44:49.004Z" }, + { url = "https://files.pythonhosted.org/packages/bf/dc/3ff1db522460db60cf3adaf1b64e0c72b43406717d139786d3fa1eb20709/fonttools-4.56.0-cp312-cp312-win32.whl", hash = "sha256:bce60f9a977c9d3d51de475af3f3581d9b36952e1f8fc19a1f2254f1dda7ce9c", size = 2142888, upload-time = "2025-02-07T13:44:54.127Z" }, + { url = "https://files.pythonhosted.org/packages/6f/e3/5a181a85777f7809076e51f7422e0dc77eb04676c40ec8bf6a49d390d1ff/fonttools-4.56.0-cp312-cp312-win_amd64.whl", hash = "sha256:300c310bb725b2bdb4f5fc7e148e190bd69f01925c7ab437b9c0ca3e1c7cd9ba", size = 2189734, upload-time = "2025-02-07T13:44:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/a5/55/f06b48d48e0b4ec3a3489efafe9bd4d81b6e0802ac51026e3ee4634e89ba/fonttools-4.56.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f20e2c0dfab82983a90f3d00703ac0960412036153e5023eed2b4641d7d5e692", size = 2735127, upload-time = "2025-02-07T13:44:59.966Z" }, + { url = "https://files.pythonhosted.org/packages/59/db/d2c7c9b6dd5cbd46f183e650a47403ffb88fca17484eb7c4b1cd88f9e513/fonttools-4.56.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f36a0868f47b7566237640c026c65a86d09a3d9ca5df1cd039e30a1da73098a0", size = 2272519, upload-time = "2025-02-07T13:45:03.891Z" }, + { url = "https://files.pythonhosted.org/packages/4d/a2/da62d779c34a0e0c06415f02eab7fa3466de5d46df459c0275a255cefc65/fonttools-4.56.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62b4c6802fa28e14dba010e75190e0e6228513573f1eeae57b11aa1a39b7e5b1", size = 4762423, upload-time = "2025-02-07T13:45:07.034Z" }, + { url = "https://files.pythonhosted.org/packages/be/6a/fd4018e0448c8a5e12138906411282c5eab51a598493f080a9f0960e658f/fonttools-4.56.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05d1f07eb0a7d755fbe01fee1fd255c3a4d3730130cf1bfefb682d18fd2fcea", size = 4834442, upload-time = "2025-02-07T13:45:10.6Z" }, + { url = "https://files.pythonhosted.org/packages/6d/63/fa1dec8efb35bc11ef9c39b2d74754b45d48a3ccb2cf78c0109c0af639e8/fonttools-4.56.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0073b62c3438cf0058488c002ea90489e8801d3a7af5ce5f7c05c105bee815c3", size = 4742800, upload-time = "2025-02-07T13:45:14.096Z" }, + { url = "https://files.pythonhosted.org/packages/dd/f4/963247ae8c73ccc4cf2929e7162f595c81dbe17997d1d0ea77da24a217c9/fonttools-4.56.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cad98c94833465bcf28f51c248aaf07ca022efc6a3eba750ad9c1e0256d278", size = 4963746, upload-time = "2025-02-07T13:45:17.479Z" }, + { url = "https://files.pythonhosted.org/packages/ea/e0/46f9600c39c644b54e4420f941f75fa200d9288c9ae171e5d80918b8cbb9/fonttools-4.56.0-cp313-cp313-win32.whl", hash = "sha256:d0cb73ccf7f6d7ca8d0bc7ea8ac0a5b84969a41c56ac3ac3422a24df2680546f", size = 2140927, upload-time = "2025-02-07T13:45:21.084Z" }, + { url = "https://files.pythonhosted.org/packages/27/6d/3edda54f98a550a0473f032d8050315fbc8f1b76a0d9f3879b72ebb2cdd6/fonttools-4.56.0-cp313-cp313-win_amd64.whl", hash = "sha256:62cc1253827d1e500fde9dbe981219fea4eb000fd63402283472d38e7d8aa1c6", size = 2186709, upload-time = "2025-02-07T13:45:23.719Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ff/44934a031ce5a39125415eb405b9efb76fe7f9586b75291d66ae5cbfc4e6/fonttools-4.56.0-py3-none-any.whl", hash = "sha256:1088182f68c303b50ca4dc0c82d42083d176cba37af1937e1a976a31149d4d14", size = 1089800, upload-time = "2025-02-07T13:46:26.415Z" }, ] [[package]] name = "identify" version = "2.6.12" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/88/d193a27416618628a5eea64e3223acd800b40749a96ffb322a9b55a49ed1/identify-2.6.12.tar.gz", hash = "sha256:d8de45749f1efb108badef65ee8386f0f7bb19a7f26185f74de6367bffbaf0e6", size = 99254 } +sdist = { url = "https://files.pythonhosted.org/packages/a2/88/d193a27416618628a5eea64e3223acd800b40749a96ffb322a9b55a49ed1/identify-2.6.12.tar.gz", hash = "sha256:d8de45749f1efb108badef65ee8386f0f7bb19a7f26185f74de6367bffbaf0e6", size = 99254, upload-time = "2025-05-23T20:37:53.3Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7a/cd/18f8da995b658420625f7ef13f037be53ae04ec5ad33f9b718240dcfd48c/identify-2.6.12-py2.py3-none-any.whl", hash = "sha256:ad9672d5a72e0d2ff7c5c8809b62dfa60458626352fb0eb7b55e69bdc45334a2", size = 99145 }, + { url = "https://files.pythonhosted.org/packages/7a/cd/18f8da995b658420625f7ef13f037be53ae04ec5ad33f9b718240dcfd48c/identify-2.6.12-py2.py3-none-any.whl", hash = "sha256:ad9672d5a72e0d2ff7c5c8809b62dfa60458626352fb0eb7b55e69bdc45334a2", size = 99145, upload-time = "2025-05-23T20:37:51.495Z" }, ] [[package]] @@ -300,9 +300,9 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367 } +sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367, upload-time = "2024-07-01T14:07:22.543Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173 }, + { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173, upload-time = "2024-07-01T14:07:19.603Z" }, ] [[package]] @@ -321,9 +321,9 @@ dependencies = [ { name = "stack-data" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7d/ce/012a0f40ca58a966f87a6e894d6828e2817657cbdf522b02a5d3a87d92ce/ipython-9.0.2.tar.gz", hash = "sha256:ec7b479e3e5656bf4f58c652c120494df1820f4f28f522fb7ca09e213c2aab52", size = 4366102 } +sdist = { url = "https://files.pythonhosted.org/packages/7d/ce/012a0f40ca58a966f87a6e894d6828e2817657cbdf522b02a5d3a87d92ce/ipython-9.0.2.tar.gz", hash = "sha256:ec7b479e3e5656bf4f58c652c120494df1820f4f28f522fb7ca09e213c2aab52", size = 4366102, upload-time = "2025-03-08T15:04:52.885Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/20/3a/917cb9e72f4e1a4ea13c862533205ae1319bd664119189ee5cc9e4e95ebf/ipython-9.0.2-py3-none-any.whl", hash = "sha256:143ef3ea6fb1e1bffb4c74b114051de653ffb7737a3f7ab1670e657ca6ae8c44", size = 600524 }, + { url = "https://files.pythonhosted.org/packages/20/3a/917cb9e72f4e1a4ea13c862533205ae1319bd664119189ee5cc9e4e95ebf/ipython-9.0.2-py3-none-any.whl", hash = "sha256:143ef3ea6fb1e1bffb4c74b114051de653ffb7737a3f7ab1670e657ca6ae8c44", size = 600524, upload-time = "2025-03-08T15:04:50.667Z" }, ] [[package]] @@ -333,9 +333,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393 } +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074 }, + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, ] [[package]] @@ -347,9 +347,9 @@ dependencies = [ { name = "numpy" }, { name = "pandas" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/07/18/359fc46f2874290843a4ba2c089d0109874cd2d73863d0e69fd54a5e9532/itables-2.2.5.tar.gz", hash = "sha256:838ed4783da0b6481b9062c362b8a331aa56f48d6c90e0f6dc76a0488a316049", size = 2436699 } +sdist = { url = "https://files.pythonhosted.org/packages/07/18/359fc46f2874290843a4ba2c089d0109874cd2d73863d0e69fd54a5e9532/itables-2.2.5.tar.gz", hash = "sha256:838ed4783da0b6481b9062c362b8a331aa56f48d6c90e0f6dc76a0488a316049", size = 2436699, upload-time = "2025-02-24T08:51:03.011Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/dd/8976761076632f492f0d25502e348f41f343423d36270dc32f323b9155bc/itables-2.2.5-py3-none-any.whl", hash = "sha256:d0d33ce427c6c84d4063998650323eb65ccddb47a5505ef1ad3f563580dc101d", size = 1407043 }, + { url = "https://files.pythonhosted.org/packages/aa/dd/8976761076632f492f0d25502e348f41f343423d36270dc32f323b9155bc/itables-2.2.5-py3-none-any.whl", hash = "sha256:d0d33ce427c6c84d4063998650323eb65ccddb47a5505ef1ad3f563580dc101d", size = 1407043, upload-time = "2025-02-24T08:50:59.745Z" }, ] [[package]] @@ -359,18 +359,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "parso" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287 } +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278 }, + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, ] [[package]] name = "joblib" version = "1.4.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/64/33/60135848598c076ce4b231e1b1895170f45fbcaeaa2c9d5e38b04db70c35/joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e", size = 2116621 } +sdist = { url = "https://files.pythonhosted.org/packages/64/33/60135848598c076ce4b231e1b1895170f45fbcaeaa2c9d5e38b04db70c35/joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e", size = 2116621, upload-time = "2024-05-02T12:15:05.765Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6", size = 301817 }, + { url = "https://files.pythonhosted.org/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6", size = 301817, upload-time = "2024-05-02T12:15:00.765Z" }, ] [[package]] @@ -384,9 +384,9 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019 } +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105 }, + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload-time = "2024-09-17T10:44:15.218Z" }, ] [[package]] @@ -398,60 +398,60 @@ dependencies = [ { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/11/b56381fa6c3f4cc5d2cf54a7dbf98ad9aa0b339ef7a601d6053538b079a7/jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9", size = 87629 } +sdist = { url = "https://files.pythonhosted.org/packages/00/11/b56381fa6c3f4cc5d2cf54a7dbf98ad9aa0b339ef7a601d6053538b079a7/jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9", size = 87629, upload-time = "2024-03-12T12:37:35.652Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/fb/108ecd1fe961941959ad0ee4e12ee7b8b1477247f30b1fdfd83ceaf017f0/jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409", size = 28965 }, + { url = "https://files.pythonhosted.org/packages/c9/fb/108ecd1fe961941959ad0ee4e12ee7b8b1477247f30b1fdfd83ceaf017f0/jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409", size = 28965, upload-time = "2024-03-12T12:37:32.36Z" }, ] [[package]] name = "kiwisolver" version = "1.4.8" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152 }, - { url = "https://files.pythonhosted.org/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555 }, - { url = "https://files.pythonhosted.org/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067 }, - { url = "https://files.pythonhosted.org/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443 }, - { url = "https://files.pythonhosted.org/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728 }, - { url = "https://files.pythonhosted.org/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388 }, - { url = "https://files.pythonhosted.org/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849 }, - { url = "https://files.pythonhosted.org/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533 }, - { url = "https://files.pythonhosted.org/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898 }, - { url = "https://files.pythonhosted.org/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605 }, - { url = "https://files.pythonhosted.org/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801 }, - { url = "https://files.pythonhosted.org/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077 }, - { url = "https://files.pythonhosted.org/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410 }, - { url = "https://files.pythonhosted.org/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853 }, - { url = "https://files.pythonhosted.org/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424 }, - { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156 }, - { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555 }, - { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071 }, - { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053 }, - { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278 }, - { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139 }, - { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517 }, - { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952 }, - { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132 }, - { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997 }, - { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060 }, - { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471 }, - { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793 }, - { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855 }, - { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430 }, - { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294 }, - { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736 }, - { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194 }, - { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942 }, - { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341 }, - { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455 }, - { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138 }, - { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857 }, - { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129 }, - { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538 }, - { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661 }, - { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710 }, - { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213 }, +sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538, upload-time = "2024-12-24T18:30:51.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152, upload-time = "2024-12-24T18:29:16.85Z" }, + { url = "https://files.pythonhosted.org/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555, upload-time = "2024-12-24T18:29:19.146Z" }, + { url = "https://files.pythonhosted.org/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067, upload-time = "2024-12-24T18:29:20.096Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443, upload-time = "2024-12-24T18:29:22.843Z" }, + { url = "https://files.pythonhosted.org/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728, upload-time = "2024-12-24T18:29:24.463Z" }, + { url = "https://files.pythonhosted.org/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388, upload-time = "2024-12-24T18:29:25.776Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849, upload-time = "2024-12-24T18:29:27.202Z" }, + { url = "https://files.pythonhosted.org/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533, upload-time = "2024-12-24T18:29:28.638Z" }, + { url = "https://files.pythonhosted.org/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898, upload-time = "2024-12-24T18:29:30.368Z" }, + { url = "https://files.pythonhosted.org/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605, upload-time = "2024-12-24T18:29:33.151Z" }, + { url = "https://files.pythonhosted.org/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801, upload-time = "2024-12-24T18:29:34.584Z" }, + { url = "https://files.pythonhosted.org/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077, upload-time = "2024-12-24T18:29:36.138Z" }, + { url = "https://files.pythonhosted.org/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410, upload-time = "2024-12-24T18:29:39.991Z" }, + { url = "https://files.pythonhosted.org/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853, upload-time = "2024-12-24T18:29:42.006Z" }, + { url = "https://files.pythonhosted.org/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424, upload-time = "2024-12-24T18:29:44.38Z" }, + { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156, upload-time = "2024-12-24T18:29:45.368Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555, upload-time = "2024-12-24T18:29:46.37Z" }, + { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071, upload-time = "2024-12-24T18:29:47.333Z" }, + { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053, upload-time = "2024-12-24T18:29:49.636Z" }, + { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278, upload-time = "2024-12-24T18:29:51.164Z" }, + { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139, upload-time = "2024-12-24T18:29:52.594Z" }, + { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517, upload-time = "2024-12-24T18:29:53.941Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952, upload-time = "2024-12-24T18:29:56.523Z" }, + { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132, upload-time = "2024-12-24T18:29:57.989Z" }, + { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997, upload-time = "2024-12-24T18:29:59.393Z" }, + { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060, upload-time = "2024-12-24T18:30:01.338Z" }, + { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471, upload-time = "2024-12-24T18:30:04.574Z" }, + { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793, upload-time = "2024-12-24T18:30:06.25Z" }, + { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855, upload-time = "2024-12-24T18:30:07.535Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430, upload-time = "2024-12-24T18:30:08.504Z" }, + { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294, upload-time = "2024-12-24T18:30:09.508Z" }, + { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736, upload-time = "2024-12-24T18:30:11.039Z" }, + { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194, upload-time = "2024-12-24T18:30:14.886Z" }, + { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942, upload-time = "2024-12-24T18:30:18.927Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341, upload-time = "2024-12-24T18:30:22.102Z" }, + { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455, upload-time = "2024-12-24T18:30:24.947Z" }, + { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138, upload-time = "2024-12-24T18:30:26.286Z" }, + { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857, upload-time = "2024-12-24T18:30:28.86Z" }, + { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129, upload-time = "2024-12-24T18:30:30.34Z" }, + { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538, upload-time = "2024-12-24T18:30:33.334Z" }, + { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661, upload-time = "2024-12-24T18:30:34.939Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710, upload-time = "2024-12-24T18:30:37.281Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213, upload-time = "2024-12-24T18:30:40.019Z" }, ] [[package]] @@ -462,13 +462,13 @@ dependencies = [ { name = "numpy" }, { name = "scipy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/68/0b/a2e9f5c5da7ef047cc60cef37f86185088845e8433e54d2e7ed439cce8a3/lightgbm-4.6.0.tar.gz", hash = "sha256:cb1c59720eb569389c0ba74d14f52351b573af489f230032a1c9f314f8bab7fe", size = 1703705 } +sdist = { url = "https://files.pythonhosted.org/packages/68/0b/a2e9f5c5da7ef047cc60cef37f86185088845e8433e54d2e7ed439cce8a3/lightgbm-4.6.0.tar.gz", hash = "sha256:cb1c59720eb569389c0ba74d14f52351b573af489f230032a1c9f314f8bab7fe", size = 1703705, upload-time = "2025-02-15T04:03:03.111Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f2/75/cffc9962cca296bc5536896b7e65b4a7cdeb8db208e71b9c0133c08f8f7e/lightgbm-4.6.0-py3-none-macosx_10_15_x86_64.whl", hash = "sha256:b7a393de8a334d5c8e490df91270f0763f83f959574d504c7ccb9eee4aef70ed", size = 2010151 }, - { url = "https://files.pythonhosted.org/packages/21/1b/550ee378512b78847930f5d74228ca1fdba2a7fbdeaac9aeccc085b0e257/lightgbm-4.6.0-py3-none-macosx_12_0_arm64.whl", hash = "sha256:2dafd98d4e02b844ceb0b61450a660681076b1ea6c7adb8c566dfd66832aafad", size = 1592172 }, - { url = "https://files.pythonhosted.org/packages/64/41/4fbde2c3d29e25ee7c41d87df2f2e5eda65b431ee154d4d462c31041846c/lightgbm-4.6.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:4d68712bbd2b57a0b14390cbf9376c1d5ed773fa2e71e099cac588703b590336", size = 3454567 }, - { url = "https://files.pythonhosted.org/packages/42/86/dabda8fbcb1b00bcfb0003c3776e8ade1aa7b413dff0a2c08f457dace22f/lightgbm-4.6.0-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:cb19b5afea55b5b61cbb2131095f50538bd608a00655f23ad5d25ae3e3bf1c8d", size = 3569831 }, - { url = "https://files.pythonhosted.org/packages/5e/23/f8b28ca248bb629b9e08f877dd2965d1994e1674a03d67cd10c5246da248/lightgbm-4.6.0-py3-none-win_amd64.whl", hash = "sha256:37089ee95664b6550a7189d887dbf098e3eadab03537e411f52c63c121e3ba4b", size = 1451509 }, + { url = "https://files.pythonhosted.org/packages/f2/75/cffc9962cca296bc5536896b7e65b4a7cdeb8db208e71b9c0133c08f8f7e/lightgbm-4.6.0-py3-none-macosx_10_15_x86_64.whl", hash = "sha256:b7a393de8a334d5c8e490df91270f0763f83f959574d504c7ccb9eee4aef70ed", size = 2010151, upload-time = "2025-02-15T04:02:50.961Z" }, + { url = "https://files.pythonhosted.org/packages/21/1b/550ee378512b78847930f5d74228ca1fdba2a7fbdeaac9aeccc085b0e257/lightgbm-4.6.0-py3-none-macosx_12_0_arm64.whl", hash = "sha256:2dafd98d4e02b844ceb0b61450a660681076b1ea6c7adb8c566dfd66832aafad", size = 1592172, upload-time = "2025-02-15T04:02:53.937Z" }, + { url = "https://files.pythonhosted.org/packages/64/41/4fbde2c3d29e25ee7c41d87df2f2e5eda65b431ee154d4d462c31041846c/lightgbm-4.6.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:4d68712bbd2b57a0b14390cbf9376c1d5ed773fa2e71e099cac588703b590336", size = 3454567, upload-time = "2025-02-15T04:02:56.443Z" }, + { url = "https://files.pythonhosted.org/packages/42/86/dabda8fbcb1b00bcfb0003c3776e8ade1aa7b413dff0a2c08f457dace22f/lightgbm-4.6.0-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:cb19b5afea55b5b61cbb2131095f50538bd608a00655f23ad5d25ae3e3bf1c8d", size = 3569831, upload-time = "2025-02-15T04:02:58.925Z" }, + { url = "https://files.pythonhosted.org/packages/5e/23/f8b28ca248bb629b9e08f877dd2965d1994e1674a03d67cd10c5246da248/lightgbm-4.6.0-py3-none-win_amd64.whl", hash = "sha256:37089ee95664b6550a7189d887dbf098e3eadab03537e411f52c63c121e3ba4b", size = 1451509, upload-time = "2025-02-15T04:03:01.515Z" }, ] [[package]] @@ -486,26 +486,26 @@ dependencies = [ { name = "pyparsing" }, { name = "python-dateutil" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2f/08/b89867ecea2e305f408fbb417139a8dd941ecf7b23a2e02157c36da546f0/matplotlib-3.10.1.tar.gz", hash = "sha256:e8d2d0e3881b129268585bf4765ad3ee73a4591d77b9a18c214ac7e3a79fb2ba", size = 36743335 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/1d/5e0dc3b59c034e43de16f94deb68f4ad8a96b3ea00f4b37c160b7474928e/matplotlib-3.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:66e907a06e68cb6cfd652c193311d61a12b54f56809cafbed9736ce5ad92f107", size = 8175488 }, - { url = "https://files.pythonhosted.org/packages/7a/81/dae7e14042e74da658c3336ab9799128e09a1ee03964f2d89630b5d12106/matplotlib-3.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9b4bb156abb8fa5e5b2b460196f7db7264fc6d62678c03457979e7d5254b7be", size = 8046264 }, - { url = "https://files.pythonhosted.org/packages/21/c4/22516775dcde10fc9c9571d155f90710761b028fc44f660508106c363c97/matplotlib-3.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1985ad3d97f51307a2cbfc801a930f120def19ba22864182dacef55277102ba6", size = 8452048 }, - { url = "https://files.pythonhosted.org/packages/63/23/c0615001f67ce7c96b3051d856baedc0c818a2ed84570b9bf9bde200f85d/matplotlib-3.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c96f2c2f825d1257e437a1482c5a2cf4fee15db4261bd6fc0750f81ba2b4ba3d", size = 8597111 }, - { url = "https://files.pythonhosted.org/packages/ca/c0/a07939a82aed77770514348f4568177d7dadab9787ebc618a616fe3d665e/matplotlib-3.10.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35e87384ee9e488d8dd5a2dd7baf471178d38b90618d8ea147aced4ab59c9bea", size = 9402771 }, - { url = "https://files.pythonhosted.org/packages/a6/b6/a9405484fb40746fdc6ae4502b16a9d6e53282ba5baaf9ebe2da579f68c4/matplotlib-3.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfd414bce89cc78a7e1d25202e979b3f1af799e416010a20ab2b5ebb3a02425c", size = 8063742 }, - { url = "https://files.pythonhosted.org/packages/60/73/6770ff5e5523d00f3bc584acb6031e29ee5c8adc2336b16cd1d003675fe0/matplotlib-3.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c42eee41e1b60fd83ee3292ed83a97a5f2a8239b10c26715d8a6172226988d7b", size = 8176112 }, - { url = "https://files.pythonhosted.org/packages/08/97/b0ca5da0ed54a3f6599c3ab568bdda65269bc27c21a2c97868c1625e4554/matplotlib-3.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4f0647b17b667ae745c13721602b540f7aadb2a32c5b96e924cd4fea5dcb90f1", size = 8046931 }, - { url = "https://files.pythonhosted.org/packages/df/9a/1acbdc3b165d4ce2dcd2b1a6d4ffb46a7220ceee960c922c3d50d8514067/matplotlib-3.10.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa3854b5f9473564ef40a41bc922be978fab217776e9ae1545c9b3a5cf2092a3", size = 8453422 }, - { url = "https://files.pythonhosted.org/packages/51/d0/2bc4368abf766203e548dc7ab57cf7e9c621f1a3c72b516cc7715347b179/matplotlib-3.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e496c01441be4c7d5f96d4e40f7fca06e20dcb40e44c8daa2e740e1757ad9e6", size = 8596819 }, - { url = "https://files.pythonhosted.org/packages/ab/1b/8b350f8a1746c37ab69dda7d7528d1fc696efb06db6ade9727b7887be16d/matplotlib-3.10.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5d45d3f5245be5b469843450617dcad9af75ca50568acf59997bed9311131a0b", size = 9402782 }, - { url = "https://files.pythonhosted.org/packages/89/06/f570373d24d93503988ba8d04f213a372fa1ce48381c5eb15da985728498/matplotlib-3.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:8e8e25b1209161d20dfe93037c8a7f7ca796ec9aa326e6e4588d8c4a5dd1e473", size = 8063812 }, - { url = "https://files.pythonhosted.org/packages/fc/e0/8c811a925b5a7ad75135f0e5af46408b78af88bbb02a1df775100ef9bfef/matplotlib-3.10.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:19b06241ad89c3ae9469e07d77efa87041eac65d78df4fcf9cac318028009b01", size = 8214021 }, - { url = "https://files.pythonhosted.org/packages/4a/34/319ec2139f68ba26da9d00fce2ff9f27679fb799a6c8e7358539801fd629/matplotlib-3.10.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:01e63101ebb3014e6e9f80d9cf9ee361a8599ddca2c3e166c563628b39305dbb", size = 8090782 }, - { url = "https://files.pythonhosted.org/packages/77/ea/9812124ab9a99df5b2eec1110e9b2edc0b8f77039abf4c56e0a376e84a29/matplotlib-3.10.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f06bad951eea6422ac4e8bdebcf3a70c59ea0a03338c5d2b109f57b64eb3972", size = 8478901 }, - { url = "https://files.pythonhosted.org/packages/c9/db/b05bf463689134789b06dea85828f8ebe506fa1e37593f723b65b86c9582/matplotlib-3.10.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3dfb036f34873b46978f55e240cff7a239f6c4409eac62d8145bad3fc6ba5a3", size = 8613864 }, - { url = "https://files.pythonhosted.org/packages/c2/04/41ccec4409f3023a7576df3b5c025f1a8c8b81fbfe922ecfd837ac36e081/matplotlib-3.10.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dc6ab14a7ab3b4d813b88ba957fc05c79493a037f54e246162033591e770de6f", size = 9409487 }, - { url = "https://files.pythonhosted.org/packages/ac/c2/0d5aae823bdcc42cc99327ecdd4d28585e15ccd5218c453b7bcd827f3421/matplotlib-3.10.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bc411ebd5889a78dabbc457b3fa153203e22248bfa6eedc6797be5df0164dbf9", size = 8134832 }, +sdist = { url = "https://files.pythonhosted.org/packages/2f/08/b89867ecea2e305f408fbb417139a8dd941ecf7b23a2e02157c36da546f0/matplotlib-3.10.1.tar.gz", hash = "sha256:e8d2d0e3881b129268585bf4765ad3ee73a4591d77b9a18c214ac7e3a79fb2ba", size = 36743335, upload-time = "2025-02-27T19:19:51.038Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/1d/5e0dc3b59c034e43de16f94deb68f4ad8a96b3ea00f4b37c160b7474928e/matplotlib-3.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:66e907a06e68cb6cfd652c193311d61a12b54f56809cafbed9736ce5ad92f107", size = 8175488, upload-time = "2025-02-27T19:18:51.436Z" }, + { url = "https://files.pythonhosted.org/packages/7a/81/dae7e14042e74da658c3336ab9799128e09a1ee03964f2d89630b5d12106/matplotlib-3.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9b4bb156abb8fa5e5b2b460196f7db7264fc6d62678c03457979e7d5254b7be", size = 8046264, upload-time = "2025-02-27T19:18:54.344Z" }, + { url = "https://files.pythonhosted.org/packages/21/c4/22516775dcde10fc9c9571d155f90710761b028fc44f660508106c363c97/matplotlib-3.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1985ad3d97f51307a2cbfc801a930f120def19ba22864182dacef55277102ba6", size = 8452048, upload-time = "2025-02-27T19:18:56.536Z" }, + { url = "https://files.pythonhosted.org/packages/63/23/c0615001f67ce7c96b3051d856baedc0c818a2ed84570b9bf9bde200f85d/matplotlib-3.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c96f2c2f825d1257e437a1482c5a2cf4fee15db4261bd6fc0750f81ba2b4ba3d", size = 8597111, upload-time = "2025-02-27T19:18:59.439Z" }, + { url = "https://files.pythonhosted.org/packages/ca/c0/a07939a82aed77770514348f4568177d7dadab9787ebc618a616fe3d665e/matplotlib-3.10.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35e87384ee9e488d8dd5a2dd7baf471178d38b90618d8ea147aced4ab59c9bea", size = 9402771, upload-time = "2025-02-27T19:19:01.944Z" }, + { url = "https://files.pythonhosted.org/packages/a6/b6/a9405484fb40746fdc6ae4502b16a9d6e53282ba5baaf9ebe2da579f68c4/matplotlib-3.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfd414bce89cc78a7e1d25202e979b3f1af799e416010a20ab2b5ebb3a02425c", size = 8063742, upload-time = "2025-02-27T19:19:04.632Z" }, + { url = "https://files.pythonhosted.org/packages/60/73/6770ff5e5523d00f3bc584acb6031e29ee5c8adc2336b16cd1d003675fe0/matplotlib-3.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c42eee41e1b60fd83ee3292ed83a97a5f2a8239b10c26715d8a6172226988d7b", size = 8176112, upload-time = "2025-02-27T19:19:07.59Z" }, + { url = "https://files.pythonhosted.org/packages/08/97/b0ca5da0ed54a3f6599c3ab568bdda65269bc27c21a2c97868c1625e4554/matplotlib-3.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4f0647b17b667ae745c13721602b540f7aadb2a32c5b96e924cd4fea5dcb90f1", size = 8046931, upload-time = "2025-02-27T19:19:10.515Z" }, + { url = "https://files.pythonhosted.org/packages/df/9a/1acbdc3b165d4ce2dcd2b1a6d4ffb46a7220ceee960c922c3d50d8514067/matplotlib-3.10.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa3854b5f9473564ef40a41bc922be978fab217776e9ae1545c9b3a5cf2092a3", size = 8453422, upload-time = "2025-02-27T19:19:12.738Z" }, + { url = "https://files.pythonhosted.org/packages/51/d0/2bc4368abf766203e548dc7ab57cf7e9c621f1a3c72b516cc7715347b179/matplotlib-3.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e496c01441be4c7d5f96d4e40f7fca06e20dcb40e44c8daa2e740e1757ad9e6", size = 8596819, upload-time = "2025-02-27T19:19:15.306Z" }, + { url = "https://files.pythonhosted.org/packages/ab/1b/8b350f8a1746c37ab69dda7d7528d1fc696efb06db6ade9727b7887be16d/matplotlib-3.10.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5d45d3f5245be5b469843450617dcad9af75ca50568acf59997bed9311131a0b", size = 9402782, upload-time = "2025-02-27T19:19:17.841Z" }, + { url = "https://files.pythonhosted.org/packages/89/06/f570373d24d93503988ba8d04f213a372fa1ce48381c5eb15da985728498/matplotlib-3.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:8e8e25b1209161d20dfe93037c8a7f7ca796ec9aa326e6e4588d8c4a5dd1e473", size = 8063812, upload-time = "2025-02-27T19:19:20.888Z" }, + { url = "https://files.pythonhosted.org/packages/fc/e0/8c811a925b5a7ad75135f0e5af46408b78af88bbb02a1df775100ef9bfef/matplotlib-3.10.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:19b06241ad89c3ae9469e07d77efa87041eac65d78df4fcf9cac318028009b01", size = 8214021, upload-time = "2025-02-27T19:19:23.412Z" }, + { url = "https://files.pythonhosted.org/packages/4a/34/319ec2139f68ba26da9d00fce2ff9f27679fb799a6c8e7358539801fd629/matplotlib-3.10.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:01e63101ebb3014e6e9f80d9cf9ee361a8599ddca2c3e166c563628b39305dbb", size = 8090782, upload-time = "2025-02-27T19:19:28.33Z" }, + { url = "https://files.pythonhosted.org/packages/77/ea/9812124ab9a99df5b2eec1110e9b2edc0b8f77039abf4c56e0a376e84a29/matplotlib-3.10.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f06bad951eea6422ac4e8bdebcf3a70c59ea0a03338c5d2b109f57b64eb3972", size = 8478901, upload-time = "2025-02-27T19:19:31.536Z" }, + { url = "https://files.pythonhosted.org/packages/c9/db/b05bf463689134789b06dea85828f8ebe506fa1e37593f723b65b86c9582/matplotlib-3.10.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3dfb036f34873b46978f55e240cff7a239f6c4409eac62d8145bad3fc6ba5a3", size = 8613864, upload-time = "2025-02-27T19:19:34.233Z" }, + { url = "https://files.pythonhosted.org/packages/c2/04/41ccec4409f3023a7576df3b5c025f1a8c8b81fbfe922ecfd837ac36e081/matplotlib-3.10.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dc6ab14a7ab3b4d813b88ba957fc05c79493a037f54e246162033591e770de6f", size = 9409487, upload-time = "2025-02-27T19:19:36.924Z" }, + { url = "https://files.pythonhosted.org/packages/ac/c2/0d5aae823bdcc42cc99327ecdd4d28585e15ccd5218c453b7bcd827f3421/matplotlib-3.10.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bc411ebd5889a78dabbc457b3fa153203e22248bfa6eedc6797be5df0164dbf9", size = 8134832, upload-time = "2025-02-27T19:19:39.431Z" }, ] [[package]] @@ -515,9 +515,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159 } +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899 }, + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, ] [[package]] @@ -530,9 +530,9 @@ dependencies = [ { name = "scipy" }, { name = "tzdata", marker = "sys_platform == 'emscripten' or sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/91/c3/9f83c374314b2b42e7aec65f3bf87046415ab265f209fa8a04eb6da822ee/mizani-0.13.1.tar.gz", hash = "sha256:e3247ea12c746c8104767d7e42a2d16473173c7bc314f298d8294a58f4653353", size = 765181 } +sdist = { url = "https://files.pythonhosted.org/packages/91/c3/9f83c374314b2b42e7aec65f3bf87046415ab265f209fa8a04eb6da822ee/mizani-0.13.1.tar.gz", hash = "sha256:e3247ea12c746c8104767d7e42a2d16473173c7bc314f298d8294a58f4653353", size = 765181, upload-time = "2024-12-10T16:33:37.468Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/29/85/16e17e75831ec01808c5f07e578f1552df87a4f5c827caa8be28f97b4c19/mizani-0.13.1-py3-none-any.whl", hash = "sha256:7da0dcacd43fbcc01c279ea06a76f1f064ae90dbb387c4a985ba24a92d3c7d7a", size = 127896 }, + { url = "https://files.pythonhosted.org/packages/29/85/16e17e75831ec01808c5f07e578f1552df87a4f5c827caa8be28f97b4c19/mizani-0.13.1-py3-none-any.whl", hash = "sha256:7da0dcacd43fbcc01c279ea06a76f1f064ae90dbb387c4a985ba24a92d3c7d7a", size = 127896, upload-time = "2024-12-10T16:33:35.763Z" }, ] [[package]] @@ -557,7 +557,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "black", specifier = ">=25.1.0" }, - { name = "doubleml", extras = ["rdd"], specifier = ">=0.10.0" }, + { name = "doubleml", extras = ["rdd"], specifier = ">=0.11.0" }, { name = "ipykernel", specifier = ">=6.29.5" }, { name = "itables", specifier = ">=2.2.5" }, { name = "joblib", specifier = ">=1.4.2" }, @@ -574,83 +574,83 @@ requires-dist = [ name = "mypy-extensions" version = "1.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", size = 4433 } +sdist = { url = "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", size = 4433, upload-time = "2023-02-04T12:11:27.157Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695 }, + { url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695, upload-time = "2023-02-04T12:11:25.002Z" }, ] [[package]] name = "narwhals" version = "1.31.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/36/fa/c2b6a4d5dbc4af15aa58c86920d5275a9c65142318179b246685069f57da/narwhals-1.31.0.tar.gz", hash = "sha256:333472e2562343dfdd27407ec9b5114a07c81d0416794e4ac6b703dd925c6a1a", size = 253463 } +sdist = { url = "https://files.pythonhosted.org/packages/36/fa/c2b6a4d5dbc4af15aa58c86920d5275a9c65142318179b246685069f57da/narwhals-1.31.0.tar.gz", hash = "sha256:333472e2562343dfdd27407ec9b5114a07c81d0416794e4ac6b703dd925c6a1a", size = 253463, upload-time = "2025-03-17T15:26:26.065Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/c0/fb39bd876ea2fd9509343d643690cd2f9715e6a77271e7c7b26f1eea70c1/narwhals-1.31.0-py3-none-any.whl", hash = "sha256:2a7b79bb5f511055c4c0142121fc0d4171ea171458e12d44dbd9c8fc6488e997", size = 313124 }, + { url = "https://files.pythonhosted.org/packages/f9/c0/fb39bd876ea2fd9509343d643690cd2f9715e6a77271e7c7b26f1eea70c1/narwhals-1.31.0-py3-none-any.whl", hash = "sha256:2a7b79bb5f511055c4c0142121fc0d4171ea171458e12d44dbd9c8fc6488e997", size = 313124, upload-time = "2025-03-17T15:26:23.87Z" }, ] [[package]] name = "nest-asyncio" version = "1.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418 } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195 }, + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, ] [[package]] name = "nodeenv" version = "1.9.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437 } +sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314 }, + { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, ] [[package]] name = "numpy" version = "2.2.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e1/78/31103410a57bc2c2b93a3597340a8119588571f6a4539067546cb9a0bfac/numpy-2.2.4.tar.gz", hash = "sha256:9ba03692a45d3eef66559efe1d1096c4b9b75c0986b5dff5530c378fb8331d4f", size = 20270701 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a2/30/182db21d4f2a95904cec1a6f779479ea1ac07c0647f064dea454ec650c42/numpy-2.2.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a7b9084668aa0f64e64bd00d27ba5146ef1c3a8835f3bd912e7a9e01326804c4", size = 20947156 }, - { url = "https://files.pythonhosted.org/packages/24/6d/9483566acfbda6c62c6bc74b6e981c777229d2af93c8eb2469b26ac1b7bc/numpy-2.2.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dbe512c511956b893d2dacd007d955a3f03d555ae05cfa3ff1c1ff6df8851854", size = 14133092 }, - { url = "https://files.pythonhosted.org/packages/27/f6/dba8a258acbf9d2bed2525cdcbb9493ef9bae5199d7a9cb92ee7e9b2aea6/numpy-2.2.4-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:bb649f8b207ab07caebba230d851b579a3c8711a851d29efe15008e31bb4de24", size = 5163515 }, - { url = "https://files.pythonhosted.org/packages/62/30/82116199d1c249446723c68f2c9da40d7f062551036f50b8c4caa42ae252/numpy-2.2.4-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:f34dc300df798742b3d06515aa2a0aee20941c13579d7a2f2e10af01ae4901ee", size = 6696558 }, - { url = "https://files.pythonhosted.org/packages/0e/b2/54122b3c6df5df3e87582b2e9430f1bdb63af4023c739ba300164c9ae503/numpy-2.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3f7ac96b16955634e223b579a3e5798df59007ca43e8d451a0e6a50f6bfdfba", size = 14084742 }, - { url = "https://files.pythonhosted.org/packages/02/e2/e2cbb8d634151aab9528ef7b8bab52ee4ab10e076509285602c2a3a686e0/numpy-2.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f92084defa704deadd4e0a5ab1dc52d8ac9e8a8ef617f3fbb853e79b0ea3592", size = 16134051 }, - { url = "https://files.pythonhosted.org/packages/8e/21/efd47800e4affc993e8be50c1b768de038363dd88865920439ef7b422c60/numpy-2.2.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4e84a6283b36632e2a5b56e121961f6542ab886bc9e12f8f9818b3c266bfbb", size = 15578972 }, - { url = "https://files.pythonhosted.org/packages/04/1e/f8bb88f6157045dd5d9b27ccf433d016981032690969aa5c19e332b138c0/numpy-2.2.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:11c43995255eb4127115956495f43e9343736edb7fcdb0d973defd9de14cd84f", size = 17898106 }, - { url = "https://files.pythonhosted.org/packages/2b/93/df59a5a3897c1f036ae8ff845e45f4081bb06943039ae28a3c1c7c780f22/numpy-2.2.4-cp312-cp312-win32.whl", hash = "sha256:65ef3468b53269eb5fdb3a5c09508c032b793da03251d5f8722b1194f1790c00", size = 6311190 }, - { url = "https://files.pythonhosted.org/packages/46/69/8c4f928741c2a8efa255fdc7e9097527c6dc4e4df147e3cadc5d9357ce85/numpy-2.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:2aad3c17ed2ff455b8eaafe06bcdae0062a1db77cb99f4b9cbb5f4ecb13c5146", size = 12644305 }, - { url = "https://files.pythonhosted.org/packages/2a/d0/bd5ad792e78017f5decfb2ecc947422a3669a34f775679a76317af671ffc/numpy-2.2.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cf4e5c6a278d620dee9ddeb487dc6a860f9b199eadeecc567f777daace1e9e7", size = 20933623 }, - { url = "https://files.pythonhosted.org/packages/c3/bc/2b3545766337b95409868f8e62053135bdc7fa2ce630aba983a2aa60b559/numpy-2.2.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1974afec0b479e50438fc3648974268f972e2d908ddb6d7fb634598cdb8260a0", size = 14148681 }, - { url = "https://files.pythonhosted.org/packages/6a/70/67b24d68a56551d43a6ec9fe8c5f91b526d4c1a46a6387b956bf2d64744e/numpy-2.2.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:79bd5f0a02aa16808fcbc79a9a376a147cc1045f7dfe44c6e7d53fa8b8a79392", size = 5148759 }, - { url = "https://files.pythonhosted.org/packages/1c/8b/e2fc8a75fcb7be12d90b31477c9356c0cbb44abce7ffb36be39a0017afad/numpy-2.2.4-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:3387dd7232804b341165cedcb90694565a6015433ee076c6754775e85d86f1fc", size = 6683092 }, - { url = "https://files.pythonhosted.org/packages/13/73/41b7b27f169ecf368b52533edb72e56a133f9e86256e809e169362553b49/numpy-2.2.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f527d8fdb0286fd2fd97a2a96c6be17ba4232da346931d967a0630050dfd298", size = 14081422 }, - { url = "https://files.pythonhosted.org/packages/4b/04/e208ff3ae3ddfbafc05910f89546382f15a3f10186b1f56bd99f159689c2/numpy-2.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bce43e386c16898b91e162e5baaad90c4b06f9dcbe36282490032cec98dc8ae7", size = 16132202 }, - { url = "https://files.pythonhosted.org/packages/fe/bc/2218160574d862d5e55f803d88ddcad88beff94791f9c5f86d67bd8fbf1c/numpy-2.2.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:31504f970f563d99f71a3512d0c01a645b692b12a63630d6aafa0939e52361e6", size = 15573131 }, - { url = "https://files.pythonhosted.org/packages/a5/78/97c775bc4f05abc8a8426436b7cb1be806a02a2994b195945600855e3a25/numpy-2.2.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:81413336ef121a6ba746892fad881a83351ee3e1e4011f52e97fba79233611fd", size = 17894270 }, - { url = "https://files.pythonhosted.org/packages/b9/eb/38c06217a5f6de27dcb41524ca95a44e395e6a1decdc0c99fec0832ce6ae/numpy-2.2.4-cp313-cp313-win32.whl", hash = "sha256:f486038e44caa08dbd97275a9a35a283a8f1d2f0ee60ac260a1790e76660833c", size = 6308141 }, - { url = "https://files.pythonhosted.org/packages/52/17/d0dd10ab6d125c6d11ffb6dfa3423c3571befab8358d4f85cd4471964fcd/numpy-2.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:207a2b8441cc8b6a2a78c9ddc64d00d20c303d79fba08c577752f080c4007ee3", size = 12636885 }, - { url = "https://files.pythonhosted.org/packages/fa/e2/793288ede17a0fdc921172916efb40f3cbc2aa97e76c5c84aba6dc7e8747/numpy-2.2.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8120575cb4882318c791f839a4fd66161a6fa46f3f0a5e613071aae35b5dd8f8", size = 20961829 }, - { url = "https://files.pythonhosted.org/packages/3a/75/bb4573f6c462afd1ea5cbedcc362fe3e9bdbcc57aefd37c681be1155fbaa/numpy-2.2.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a761ba0fa886a7bb33c6c8f6f20213735cb19642c580a931c625ee377ee8bd39", size = 14161419 }, - { url = "https://files.pythonhosted.org/packages/03/68/07b4cd01090ca46c7a336958b413cdbe75002286295f2addea767b7f16c9/numpy-2.2.4-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ac0280f1ba4a4bfff363a99a6aceed4f8e123f8a9b234c89140f5e894e452ecd", size = 5196414 }, - { url = "https://files.pythonhosted.org/packages/a5/fd/d4a29478d622fedff5c4b4b4cedfc37a00691079623c0575978d2446db9e/numpy-2.2.4-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:879cf3a9a2b53a4672a168c21375166171bc3932b7e21f622201811c43cdd3b0", size = 6709379 }, - { url = "https://files.pythonhosted.org/packages/41/78/96dddb75bb9be730b87c72f30ffdd62611aba234e4e460576a068c98eff6/numpy-2.2.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f05d4198c1bacc9124018109c5fba2f3201dbe7ab6e92ff100494f236209c960", size = 14051725 }, - { url = "https://files.pythonhosted.org/packages/00/06/5306b8199bffac2a29d9119c11f457f6c7d41115a335b78d3f86fad4dbe8/numpy-2.2.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2f085ce2e813a50dfd0e01fbfc0c12bbe5d2063d99f8b29da30e544fb6483b8", size = 16101638 }, - { url = "https://files.pythonhosted.org/packages/fa/03/74c5b631ee1ded596945c12027649e6344614144369fd3ec1aaced782882/numpy-2.2.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:92bda934a791c01d6d9d8e038363c50918ef7c40601552a58ac84c9613a665bc", size = 15571717 }, - { url = "https://files.pythonhosted.org/packages/cb/dc/4fc7c0283abe0981e3b89f9b332a134e237dd476b0c018e1e21083310c31/numpy-2.2.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ee4d528022f4c5ff67332469e10efe06a267e32f4067dc76bb7e2cddf3cd25ff", size = 17879998 }, - { url = "https://files.pythonhosted.org/packages/e5/2b/878576190c5cfa29ed896b518cc516aecc7c98a919e20706c12480465f43/numpy-2.2.4-cp313-cp313t-win32.whl", hash = "sha256:05c076d531e9998e7e694c36e8b349969c56eadd2cdcd07242958489d79a7286", size = 6366896 }, - { url = "https://files.pythonhosted.org/packages/3e/05/eb7eec66b95cf697f08c754ef26c3549d03ebd682819f794cb039574a0a6/numpy-2.2.4-cp313-cp313t-win_amd64.whl", hash = "sha256:188dcbca89834cc2e14eb2f106c96d6d46f200fe0200310fc29089657379c58d", size = 12739119 }, +sdist = { url = "https://files.pythonhosted.org/packages/e1/78/31103410a57bc2c2b93a3597340a8119588571f6a4539067546cb9a0bfac/numpy-2.2.4.tar.gz", hash = "sha256:9ba03692a45d3eef66559efe1d1096c4b9b75c0986b5dff5530c378fb8331d4f", size = 20270701, upload-time = "2025-03-16T18:27:00.648Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/30/182db21d4f2a95904cec1a6f779479ea1ac07c0647f064dea454ec650c42/numpy-2.2.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a7b9084668aa0f64e64bd00d27ba5146ef1c3a8835f3bd912e7a9e01326804c4", size = 20947156, upload-time = "2025-03-16T18:09:51.975Z" }, + { url = "https://files.pythonhosted.org/packages/24/6d/9483566acfbda6c62c6bc74b6e981c777229d2af93c8eb2469b26ac1b7bc/numpy-2.2.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dbe512c511956b893d2dacd007d955a3f03d555ae05cfa3ff1c1ff6df8851854", size = 14133092, upload-time = "2025-03-16T18:10:16.329Z" }, + { url = "https://files.pythonhosted.org/packages/27/f6/dba8a258acbf9d2bed2525cdcbb9493ef9bae5199d7a9cb92ee7e9b2aea6/numpy-2.2.4-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:bb649f8b207ab07caebba230d851b579a3c8711a851d29efe15008e31bb4de24", size = 5163515, upload-time = "2025-03-16T18:10:26.19Z" }, + { url = "https://files.pythonhosted.org/packages/62/30/82116199d1c249446723c68f2c9da40d7f062551036f50b8c4caa42ae252/numpy-2.2.4-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:f34dc300df798742b3d06515aa2a0aee20941c13579d7a2f2e10af01ae4901ee", size = 6696558, upload-time = "2025-03-16T18:10:38.996Z" }, + { url = "https://files.pythonhosted.org/packages/0e/b2/54122b3c6df5df3e87582b2e9430f1bdb63af4023c739ba300164c9ae503/numpy-2.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3f7ac96b16955634e223b579a3e5798df59007ca43e8d451a0e6a50f6bfdfba", size = 14084742, upload-time = "2025-03-16T18:11:02.76Z" }, + { url = "https://files.pythonhosted.org/packages/02/e2/e2cbb8d634151aab9528ef7b8bab52ee4ab10e076509285602c2a3a686e0/numpy-2.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f92084defa704deadd4e0a5ab1dc52d8ac9e8a8ef617f3fbb853e79b0ea3592", size = 16134051, upload-time = "2025-03-16T18:11:32.767Z" }, + { url = "https://files.pythonhosted.org/packages/8e/21/efd47800e4affc993e8be50c1b768de038363dd88865920439ef7b422c60/numpy-2.2.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4e84a6283b36632e2a5b56e121961f6542ab886bc9e12f8f9818b3c266bfbb", size = 15578972, upload-time = "2025-03-16T18:11:59.877Z" }, + { url = "https://files.pythonhosted.org/packages/04/1e/f8bb88f6157045dd5d9b27ccf433d016981032690969aa5c19e332b138c0/numpy-2.2.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:11c43995255eb4127115956495f43e9343736edb7fcdb0d973defd9de14cd84f", size = 17898106, upload-time = "2025-03-16T18:12:31.487Z" }, + { url = "https://files.pythonhosted.org/packages/2b/93/df59a5a3897c1f036ae8ff845e45f4081bb06943039ae28a3c1c7c780f22/numpy-2.2.4-cp312-cp312-win32.whl", hash = "sha256:65ef3468b53269eb5fdb3a5c09508c032b793da03251d5f8722b1194f1790c00", size = 6311190, upload-time = "2025-03-16T18:12:44.46Z" }, + { url = "https://files.pythonhosted.org/packages/46/69/8c4f928741c2a8efa255fdc7e9097527c6dc4e4df147e3cadc5d9357ce85/numpy-2.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:2aad3c17ed2ff455b8eaafe06bcdae0062a1db77cb99f4b9cbb5f4ecb13c5146", size = 12644305, upload-time = "2025-03-16T18:13:06.864Z" }, + { url = "https://files.pythonhosted.org/packages/2a/d0/bd5ad792e78017f5decfb2ecc947422a3669a34f775679a76317af671ffc/numpy-2.2.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cf4e5c6a278d620dee9ddeb487dc6a860f9b199eadeecc567f777daace1e9e7", size = 20933623, upload-time = "2025-03-16T18:13:43.231Z" }, + { url = "https://files.pythonhosted.org/packages/c3/bc/2b3545766337b95409868f8e62053135bdc7fa2ce630aba983a2aa60b559/numpy-2.2.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1974afec0b479e50438fc3648974268f972e2d908ddb6d7fb634598cdb8260a0", size = 14148681, upload-time = "2025-03-16T18:14:08.031Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/67b24d68a56551d43a6ec9fe8c5f91b526d4c1a46a6387b956bf2d64744e/numpy-2.2.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:79bd5f0a02aa16808fcbc79a9a376a147cc1045f7dfe44c6e7d53fa8b8a79392", size = 5148759, upload-time = "2025-03-16T18:14:18.613Z" }, + { url = "https://files.pythonhosted.org/packages/1c/8b/e2fc8a75fcb7be12d90b31477c9356c0cbb44abce7ffb36be39a0017afad/numpy-2.2.4-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:3387dd7232804b341165cedcb90694565a6015433ee076c6754775e85d86f1fc", size = 6683092, upload-time = "2025-03-16T18:14:31.386Z" }, + { url = "https://files.pythonhosted.org/packages/13/73/41b7b27f169ecf368b52533edb72e56a133f9e86256e809e169362553b49/numpy-2.2.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f527d8fdb0286fd2fd97a2a96c6be17ba4232da346931d967a0630050dfd298", size = 14081422, upload-time = "2025-03-16T18:14:54.83Z" }, + { url = "https://files.pythonhosted.org/packages/4b/04/e208ff3ae3ddfbafc05910f89546382f15a3f10186b1f56bd99f159689c2/numpy-2.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bce43e386c16898b91e162e5baaad90c4b06f9dcbe36282490032cec98dc8ae7", size = 16132202, upload-time = "2025-03-16T18:15:22.035Z" }, + { url = "https://files.pythonhosted.org/packages/fe/bc/2218160574d862d5e55f803d88ddcad88beff94791f9c5f86d67bd8fbf1c/numpy-2.2.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:31504f970f563d99f71a3512d0c01a645b692b12a63630d6aafa0939e52361e6", size = 15573131, upload-time = "2025-03-16T18:15:48.546Z" }, + { url = "https://files.pythonhosted.org/packages/a5/78/97c775bc4f05abc8a8426436b7cb1be806a02a2994b195945600855e3a25/numpy-2.2.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:81413336ef121a6ba746892fad881a83351ee3e1e4011f52e97fba79233611fd", size = 17894270, upload-time = "2025-03-16T18:16:20.274Z" }, + { url = "https://files.pythonhosted.org/packages/b9/eb/38c06217a5f6de27dcb41524ca95a44e395e6a1decdc0c99fec0832ce6ae/numpy-2.2.4-cp313-cp313-win32.whl", hash = "sha256:f486038e44caa08dbd97275a9a35a283a8f1d2f0ee60ac260a1790e76660833c", size = 6308141, upload-time = "2025-03-16T18:20:15.297Z" }, + { url = "https://files.pythonhosted.org/packages/52/17/d0dd10ab6d125c6d11ffb6dfa3423c3571befab8358d4f85cd4471964fcd/numpy-2.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:207a2b8441cc8b6a2a78c9ddc64d00d20c303d79fba08c577752f080c4007ee3", size = 12636885, upload-time = "2025-03-16T18:20:36.982Z" }, + { url = "https://files.pythonhosted.org/packages/fa/e2/793288ede17a0fdc921172916efb40f3cbc2aa97e76c5c84aba6dc7e8747/numpy-2.2.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8120575cb4882318c791f839a4fd66161a6fa46f3f0a5e613071aae35b5dd8f8", size = 20961829, upload-time = "2025-03-16T18:16:56.191Z" }, + { url = "https://files.pythonhosted.org/packages/3a/75/bb4573f6c462afd1ea5cbedcc362fe3e9bdbcc57aefd37c681be1155fbaa/numpy-2.2.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a761ba0fa886a7bb33c6c8f6f20213735cb19642c580a931c625ee377ee8bd39", size = 14161419, upload-time = "2025-03-16T18:17:22.811Z" }, + { url = "https://files.pythonhosted.org/packages/03/68/07b4cd01090ca46c7a336958b413cdbe75002286295f2addea767b7f16c9/numpy-2.2.4-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ac0280f1ba4a4bfff363a99a6aceed4f8e123f8a9b234c89140f5e894e452ecd", size = 5196414, upload-time = "2025-03-16T18:17:34.066Z" }, + { url = "https://files.pythonhosted.org/packages/a5/fd/d4a29478d622fedff5c4b4b4cedfc37a00691079623c0575978d2446db9e/numpy-2.2.4-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:879cf3a9a2b53a4672a168c21375166171bc3932b7e21f622201811c43cdd3b0", size = 6709379, upload-time = "2025-03-16T18:17:47.466Z" }, + { url = "https://files.pythonhosted.org/packages/41/78/96dddb75bb9be730b87c72f30ffdd62611aba234e4e460576a068c98eff6/numpy-2.2.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f05d4198c1bacc9124018109c5fba2f3201dbe7ab6e92ff100494f236209c960", size = 14051725, upload-time = "2025-03-16T18:18:11.904Z" }, + { url = "https://files.pythonhosted.org/packages/00/06/5306b8199bffac2a29d9119c11f457f6c7d41115a335b78d3f86fad4dbe8/numpy-2.2.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2f085ce2e813a50dfd0e01fbfc0c12bbe5d2063d99f8b29da30e544fb6483b8", size = 16101638, upload-time = "2025-03-16T18:18:40.749Z" }, + { url = "https://files.pythonhosted.org/packages/fa/03/74c5b631ee1ded596945c12027649e6344614144369fd3ec1aaced782882/numpy-2.2.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:92bda934a791c01d6d9d8e038363c50918ef7c40601552a58ac84c9613a665bc", size = 15571717, upload-time = "2025-03-16T18:19:04.512Z" }, + { url = "https://files.pythonhosted.org/packages/cb/dc/4fc7c0283abe0981e3b89f9b332a134e237dd476b0c018e1e21083310c31/numpy-2.2.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ee4d528022f4c5ff67332469e10efe06a267e32f4067dc76bb7e2cddf3cd25ff", size = 17879998, upload-time = "2025-03-16T18:19:32.52Z" }, + { url = "https://files.pythonhosted.org/packages/e5/2b/878576190c5cfa29ed896b518cc516aecc7c98a919e20706c12480465f43/numpy-2.2.4-cp313-cp313t-win32.whl", hash = "sha256:05c076d531e9998e7e694c36e8b349969c56eadd2cdcd07242958489d79a7286", size = 6366896, upload-time = "2025-03-16T18:19:43.55Z" }, + { url = "https://files.pythonhosted.org/packages/3e/05/eb7eec66b95cf697f08c754ef26c3549d03ebd682819f794cb039574a0a6/numpy-2.2.4-cp313-cp313t-win_amd64.whl", hash = "sha256:188dcbca89834cc2e14eb2f106c96d6d46f200fe0200310fc29089657379c58d", size = 12739119, upload-time = "2025-03-16T18:20:03.94Z" }, ] [[package]] name = "packaging" version = "24.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 } +sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950, upload-time = "2024-11-08T09:47:47.202Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 }, + { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451, upload-time = "2024-11-08T09:47:44.722Z" }, ] [[package]] @@ -663,46 +663,46 @@ dependencies = [ { name = "pytz" }, { name = "tzdata" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893 }, - { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475 }, - { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645 }, - { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445 }, - { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235 }, - { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756 }, - { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248 }, - { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643 }, - { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573 }, - { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085 }, - { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809 }, - { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316 }, - { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055 }, - { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175 }, - { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650 }, - { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177 }, - { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526 }, - { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013 }, - { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620 }, - { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436 }, +sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213, upload-time = "2024-09-20T13:10:04.827Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893, upload-time = "2024-09-20T13:09:09.655Z" }, + { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475, upload-time = "2024-09-20T13:09:14.718Z" }, + { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645, upload-time = "2024-09-20T19:02:03.88Z" }, + { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445, upload-time = "2024-09-20T13:09:17.621Z" }, + { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235, upload-time = "2024-09-20T19:02:07.094Z" }, + { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756, upload-time = "2024-09-20T13:09:20.474Z" }, + { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248, upload-time = "2024-09-20T13:09:23.137Z" }, + { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643, upload-time = "2024-09-20T13:09:25.522Z" }, + { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573, upload-time = "2024-09-20T13:09:28.012Z" }, + { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085, upload-time = "2024-09-20T19:02:10.451Z" }, + { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809, upload-time = "2024-09-20T13:09:30.814Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316, upload-time = "2024-09-20T19:02:13.825Z" }, + { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055, upload-time = "2024-09-20T13:09:33.462Z" }, + { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175, upload-time = "2024-09-20T13:09:35.871Z" }, + { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650, upload-time = "2024-09-20T13:09:38.685Z" }, + { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177, upload-time = "2024-09-20T13:09:41.141Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526, upload-time = "2024-09-20T19:02:16.905Z" }, + { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013, upload-time = "2024-09-20T13:09:44.39Z" }, + { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620, upload-time = "2024-09-20T19:02:20.639Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436, upload-time = "2024-09-20T13:09:48.112Z" }, ] [[package]] name = "parso" version = "0.8.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609 } +sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609, upload-time = "2024-04-05T09:43:55.897Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650 }, + { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650, upload-time = "2024-04-05T09:43:53.299Z" }, ] [[package]] name = "pathspec" version = "0.12.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043 } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191 }, + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, ] [[package]] @@ -712,9 +712,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d1/81/74f6a65b848ffd16c18f920620ce999fe45fe27f01ab3911260ce4ed85e4/patsy-1.0.1.tar.gz", hash = "sha256:e786a9391eec818c054e359b737bbce692f051aee4c661f4141cc88fb459c0c4", size = 396010 } +sdist = { url = "https://files.pythonhosted.org/packages/d1/81/74f6a65b848ffd16c18f920620ce999fe45fe27f01ab3911260ce4ed85e4/patsy-1.0.1.tar.gz", hash = "sha256:e786a9391eec818c054e359b737bbce692f051aee4c661f4141cc88fb459c0c4", size = 396010, upload-time = "2024-11-12T14:10:54.642Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/87/2b/b50d3d08ea0fc419c183a84210571eba005328efa62b6b98bc28e9ead32a/patsy-1.0.1-py2.py3-none-any.whl", hash = "sha256:751fb38f9e97e62312e921a1954b81e1bb2bcda4f5eeabaf94db251ee791509c", size = 232923 }, + { url = "https://files.pythonhosted.org/packages/87/2b/b50d3d08ea0fc419c183a84210571eba005328efa62b6b98bc28e9ead32a/patsy-1.0.1-py2.py3-none-any.whl", hash = "sha256:751fb38f9e97e62312e921a1954b81e1bb2bcda4f5eeabaf94db251ee791509c", size = 232923, upload-time = "2024-11-12T14:10:52.85Z" }, ] [[package]] @@ -724,56 +724,56 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "ptyprocess" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450 } +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772 }, + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, ] [[package]] name = "pillow" version = "11.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/af/c097e544e7bd278333db77933e535098c259609c4eb3b85381109602fb5b/pillow-11.1.0.tar.gz", hash = "sha256:368da70808b36d73b4b390a8ffac11069f8a5c85f29eff1f1b01bcf3ef5b2a20", size = 46742715 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/95/20/9ce6ed62c91c073fcaa23d216e68289e19d95fb8188b9fb7a63d36771db8/pillow-11.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2062ffb1d36544d42fcaa277b069c88b01bb7298f4efa06731a7fd6cc290b81a", size = 3226818 }, - { url = "https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a85b653980faad27e88b141348707ceeef8a1186f75ecc600c395dcac19f385b", size = 3101662 }, - { url = "https://files.pythonhosted.org/packages/08/d9/892e705f90051c7a2574d9f24579c9e100c828700d78a63239676f960b74/pillow-11.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9409c080586d1f683df3f184f20e36fb647f2e0bc3988094d4fd8c9f4eb1b3b3", size = 4329317 }, - { url = "https://files.pythonhosted.org/packages/8c/aa/7f29711f26680eab0bcd3ecdd6d23ed6bce180d82e3f6380fb7ae35fcf3b/pillow-11.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fdadc077553621911f27ce206ffcbec7d3f8d7b50e0da39f10997e8e2bb7f6a", size = 4412999 }, - { url = "https://files.pythonhosted.org/packages/c8/c4/8f0fe3b9e0f7196f6d0bbb151f9fba323d72a41da068610c4c960b16632a/pillow-11.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:93a18841d09bcdd774dcdc308e4537e1f867b3dec059c131fde0327899734aa1", size = 4368819 }, - { url = "https://files.pythonhosted.org/packages/38/0d/84200ed6a871ce386ddc82904bfadc0c6b28b0c0ec78176871a4679e40b3/pillow-11.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9aa9aeddeed452b2f616ff5507459e7bab436916ccb10961c4a382cd3e03f47f", size = 4496081 }, - { url = "https://files.pythonhosted.org/packages/84/9c/9bcd66f714d7e25b64118e3952d52841a4babc6d97b6d28e2261c52045d4/pillow-11.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3cdcdb0b896e981678eee140d882b70092dac83ac1cdf6b3a60e2216a73f2b91", size = 4296513 }, - { url = "https://files.pythonhosted.org/packages/db/61/ada2a226e22da011b45f7104c95ebda1b63dcbb0c378ad0f7c2a710f8fd2/pillow-11.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:36ba10b9cb413e7c7dfa3e189aba252deee0602c86c309799da5a74009ac7a1c", size = 4431298 }, - { url = "https://files.pythonhosted.org/packages/e7/c4/fc6e86750523f367923522014b821c11ebc5ad402e659d8c9d09b3c9d70c/pillow-11.1.0-cp312-cp312-win32.whl", hash = "sha256:cfd5cd998c2e36a862d0e27b2df63237e67273f2fc78f47445b14e73a810e7e6", size = 2291630 }, - { url = "https://files.pythonhosted.org/packages/08/5c/2104299949b9d504baf3f4d35f73dbd14ef31bbd1ddc2c1b66a5b7dfda44/pillow-11.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a697cd8ba0383bba3d2d3ada02b34ed268cb548b369943cd349007730c92bddf", size = 2626369 }, - { url = "https://files.pythonhosted.org/packages/37/f3/9b18362206b244167c958984b57c7f70a0289bfb59a530dd8af5f699b910/pillow-11.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:4dd43a78897793f60766563969442020e90eb7847463eca901e41ba186a7d4a5", size = 2375240 }, - { url = "https://files.pythonhosted.org/packages/b3/31/9ca79cafdce364fd5c980cd3416c20ce1bebd235b470d262f9d24d810184/pillow-11.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ae98e14432d458fc3de11a77ccb3ae65ddce70f730e7c76140653048c71bfcbc", size = 3226640 }, - { url = "https://files.pythonhosted.org/packages/ac/0f/ff07ad45a1f172a497aa393b13a9d81a32e1477ef0e869d030e3c1532521/pillow-11.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cc1331b6d5a6e144aeb5e626f4375f5b7ae9934ba620c0ac6b3e43d5e683a0f0", size = 3101437 }, - { url = "https://files.pythonhosted.org/packages/08/2f/9906fca87a68d29ec4530be1f893149e0cb64a86d1f9f70a7cfcdfe8ae44/pillow-11.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:758e9d4ef15d3560214cddbc97b8ef3ef86ce04d62ddac17ad39ba87e89bd3b1", size = 4326605 }, - { url = "https://files.pythonhosted.org/packages/b0/0f/f3547ee15b145bc5c8b336401b2d4c9d9da67da9dcb572d7c0d4103d2c69/pillow-11.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b523466b1a31d0dcef7c5be1f20b942919b62fd6e9a9be199d035509cbefc0ec", size = 4411173 }, - { url = "https://files.pythonhosted.org/packages/b1/df/bf8176aa5db515c5de584c5e00df9bab0713548fd780c82a86cba2c2fedb/pillow-11.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:9044b5e4f7083f209c4e35aa5dd54b1dd5b112b108648f5c902ad586d4f945c5", size = 4369145 }, - { url = "https://files.pythonhosted.org/packages/de/7c/7433122d1cfadc740f577cb55526fdc39129a648ac65ce64db2eb7209277/pillow-11.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:3764d53e09cdedd91bee65c2527815d315c6b90d7b8b79759cc48d7bf5d4f114", size = 4496340 }, - { url = "https://files.pythonhosted.org/packages/25/46/dd94b93ca6bd555588835f2504bd90c00d5438fe131cf01cfa0c5131a19d/pillow-11.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:31eba6bbdd27dde97b0174ddf0297d7a9c3a507a8a1480e1e60ef914fe23d352", size = 4296906 }, - { url = "https://files.pythonhosted.org/packages/a8/28/2f9d32014dfc7753e586db9add35b8a41b7a3b46540e965cb6d6bc607bd2/pillow-11.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b5d658fbd9f0d6eea113aea286b21d3cd4d3fd978157cbf2447a6035916506d3", size = 4431759 }, - { url = "https://files.pythonhosted.org/packages/33/48/19c2cbe7403870fbe8b7737d19eb013f46299cdfe4501573367f6396c775/pillow-11.1.0-cp313-cp313-win32.whl", hash = "sha256:f86d3a7a9af5d826744fabf4afd15b9dfef44fe69a98541f666f66fbb8d3fef9", size = 2291657 }, - { url = "https://files.pythonhosted.org/packages/3b/ad/285c556747d34c399f332ba7c1a595ba245796ef3e22eae190f5364bb62b/pillow-11.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:593c5fd6be85da83656b93ffcccc2312d2d149d251e98588b14fbc288fd8909c", size = 2626304 }, - { url = "https://files.pythonhosted.org/packages/e5/7b/ef35a71163bf36db06e9c8729608f78dedf032fc8313d19bd4be5c2588f3/pillow-11.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:11633d58b6ee5733bde153a8dafd25e505ea3d32e261accd388827ee987baf65", size = 2375117 }, - { url = "https://files.pythonhosted.org/packages/79/30/77f54228401e84d6791354888549b45824ab0ffde659bafa67956303a09f/pillow-11.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:70ca5ef3b3b1c4a0812b5c63c57c23b63e53bc38e758b37a951e5bc466449861", size = 3230060 }, - { url = "https://files.pythonhosted.org/packages/ce/b1/56723b74b07dd64c1010fee011951ea9c35a43d8020acd03111f14298225/pillow-11.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8000376f139d4d38d6851eb149b321a52bb8893a88dae8ee7d95840431977081", size = 3106192 }, - { url = "https://files.pythonhosted.org/packages/e1/cd/7bf7180e08f80a4dcc6b4c3a0aa9e0b0ae57168562726a05dc8aa8fa66b0/pillow-11.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ee85f0696a17dd28fbcfceb59f9510aa71934b483d1f5601d1030c3c8304f3c", size = 4446805 }, - { url = "https://files.pythonhosted.org/packages/97/42/87c856ea30c8ed97e8efbe672b58c8304dee0573f8c7cab62ae9e31db6ae/pillow-11.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:dd0e081319328928531df7a0e63621caf67652c8464303fd102141b785ef9547", size = 4530623 }, - { url = "https://files.pythonhosted.org/packages/ff/41/026879e90c84a88e33fb00cc6bd915ac2743c67e87a18f80270dfe3c2041/pillow-11.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e63e4e5081de46517099dc30abe418122f54531a6ae2ebc8680bcd7096860eab", size = 4465191 }, - { url = "https://files.pythonhosted.org/packages/e5/fb/a7960e838bc5df57a2ce23183bfd2290d97c33028b96bde332a9057834d3/pillow-11.1.0-cp313-cp313t-win32.whl", hash = "sha256:dda60aa465b861324e65a78c9f5cf0f4bc713e4309f83bc387be158b077963d9", size = 2295494 }, - { url = "https://files.pythonhosted.org/packages/d7/6c/6ec83ee2f6f0fda8d4cf89045c6be4b0373ebfc363ba8538f8c999f63fcd/pillow-11.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ad5db5781c774ab9a9b2c4302bbf0c1014960a0a7be63278d13ae6fdf88126fe", size = 2631595 }, - { url = "https://files.pythonhosted.org/packages/cf/6c/41c21c6c8af92b9fea313aa47c75de49e2f9a467964ee33eb0135d47eb64/pillow-11.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:67cd427c68926108778a9005f2a04adbd5e67c442ed21d95389fe1d595458756", size = 2377651 }, +sdist = { url = "https://files.pythonhosted.org/packages/f3/af/c097e544e7bd278333db77933e535098c259609c4eb3b85381109602fb5b/pillow-11.1.0.tar.gz", hash = "sha256:368da70808b36d73b4b390a8ffac11069f8a5c85f29eff1f1b01bcf3ef5b2a20", size = 46742715, upload-time = "2025-01-02T08:13:58.407Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/20/9ce6ed62c91c073fcaa23d216e68289e19d95fb8188b9fb7a63d36771db8/pillow-11.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2062ffb1d36544d42fcaa277b069c88b01bb7298f4efa06731a7fd6cc290b81a", size = 3226818, upload-time = "2025-01-02T08:11:22.518Z" }, + { url = "https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a85b653980faad27e88b141348707ceeef8a1186f75ecc600c395dcac19f385b", size = 3101662, upload-time = "2025-01-02T08:11:25.19Z" }, + { url = "https://files.pythonhosted.org/packages/08/d9/892e705f90051c7a2574d9f24579c9e100c828700d78a63239676f960b74/pillow-11.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9409c080586d1f683df3f184f20e36fb647f2e0bc3988094d4fd8c9f4eb1b3b3", size = 4329317, upload-time = "2025-01-02T08:11:30.371Z" }, + { url = "https://files.pythonhosted.org/packages/8c/aa/7f29711f26680eab0bcd3ecdd6d23ed6bce180d82e3f6380fb7ae35fcf3b/pillow-11.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fdadc077553621911f27ce206ffcbec7d3f8d7b50e0da39f10997e8e2bb7f6a", size = 4412999, upload-time = "2025-01-02T08:11:33.499Z" }, + { url = "https://files.pythonhosted.org/packages/c8/c4/8f0fe3b9e0f7196f6d0bbb151f9fba323d72a41da068610c4c960b16632a/pillow-11.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:93a18841d09bcdd774dcdc308e4537e1f867b3dec059c131fde0327899734aa1", size = 4368819, upload-time = "2025-01-02T08:11:37.304Z" }, + { url = "https://files.pythonhosted.org/packages/38/0d/84200ed6a871ce386ddc82904bfadc0c6b28b0c0ec78176871a4679e40b3/pillow-11.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9aa9aeddeed452b2f616ff5507459e7bab436916ccb10961c4a382cd3e03f47f", size = 4496081, upload-time = "2025-01-02T08:11:39.598Z" }, + { url = "https://files.pythonhosted.org/packages/84/9c/9bcd66f714d7e25b64118e3952d52841a4babc6d97b6d28e2261c52045d4/pillow-11.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3cdcdb0b896e981678eee140d882b70092dac83ac1cdf6b3a60e2216a73f2b91", size = 4296513, upload-time = "2025-01-02T08:11:43.083Z" }, + { url = "https://files.pythonhosted.org/packages/db/61/ada2a226e22da011b45f7104c95ebda1b63dcbb0c378ad0f7c2a710f8fd2/pillow-11.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:36ba10b9cb413e7c7dfa3e189aba252deee0602c86c309799da5a74009ac7a1c", size = 4431298, upload-time = "2025-01-02T08:11:46.626Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c4/fc6e86750523f367923522014b821c11ebc5ad402e659d8c9d09b3c9d70c/pillow-11.1.0-cp312-cp312-win32.whl", hash = "sha256:cfd5cd998c2e36a862d0e27b2df63237e67273f2fc78f47445b14e73a810e7e6", size = 2291630, upload-time = "2025-01-02T08:11:49.401Z" }, + { url = "https://files.pythonhosted.org/packages/08/5c/2104299949b9d504baf3f4d35f73dbd14ef31bbd1ddc2c1b66a5b7dfda44/pillow-11.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a697cd8ba0383bba3d2d3ada02b34ed268cb548b369943cd349007730c92bddf", size = 2626369, upload-time = "2025-01-02T08:11:52.02Z" }, + { url = "https://files.pythonhosted.org/packages/37/f3/9b18362206b244167c958984b57c7f70a0289bfb59a530dd8af5f699b910/pillow-11.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:4dd43a78897793f60766563969442020e90eb7847463eca901e41ba186a7d4a5", size = 2375240, upload-time = "2025-01-02T08:11:56.193Z" }, + { url = "https://files.pythonhosted.org/packages/b3/31/9ca79cafdce364fd5c980cd3416c20ce1bebd235b470d262f9d24d810184/pillow-11.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ae98e14432d458fc3de11a77ccb3ae65ddce70f730e7c76140653048c71bfcbc", size = 3226640, upload-time = "2025-01-02T08:11:58.329Z" }, + { url = "https://files.pythonhosted.org/packages/ac/0f/ff07ad45a1f172a497aa393b13a9d81a32e1477ef0e869d030e3c1532521/pillow-11.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cc1331b6d5a6e144aeb5e626f4375f5b7ae9934ba620c0ac6b3e43d5e683a0f0", size = 3101437, upload-time = "2025-01-02T08:12:01.797Z" }, + { url = "https://files.pythonhosted.org/packages/08/2f/9906fca87a68d29ec4530be1f893149e0cb64a86d1f9f70a7cfcdfe8ae44/pillow-11.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:758e9d4ef15d3560214cddbc97b8ef3ef86ce04d62ddac17ad39ba87e89bd3b1", size = 4326605, upload-time = "2025-01-02T08:12:05.224Z" }, + { url = "https://files.pythonhosted.org/packages/b0/0f/f3547ee15b145bc5c8b336401b2d4c9d9da67da9dcb572d7c0d4103d2c69/pillow-11.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b523466b1a31d0dcef7c5be1f20b942919b62fd6e9a9be199d035509cbefc0ec", size = 4411173, upload-time = "2025-01-02T08:12:08.281Z" }, + { url = "https://files.pythonhosted.org/packages/b1/df/bf8176aa5db515c5de584c5e00df9bab0713548fd780c82a86cba2c2fedb/pillow-11.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:9044b5e4f7083f209c4e35aa5dd54b1dd5b112b108648f5c902ad586d4f945c5", size = 4369145, upload-time = "2025-01-02T08:12:11.411Z" }, + { url = "https://files.pythonhosted.org/packages/de/7c/7433122d1cfadc740f577cb55526fdc39129a648ac65ce64db2eb7209277/pillow-11.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:3764d53e09cdedd91bee65c2527815d315c6b90d7b8b79759cc48d7bf5d4f114", size = 4496340, upload-time = "2025-01-02T08:12:15.29Z" }, + { url = "https://files.pythonhosted.org/packages/25/46/dd94b93ca6bd555588835f2504bd90c00d5438fe131cf01cfa0c5131a19d/pillow-11.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:31eba6bbdd27dde97b0174ddf0297d7a9c3a507a8a1480e1e60ef914fe23d352", size = 4296906, upload-time = "2025-01-02T08:12:17.485Z" }, + { url = "https://files.pythonhosted.org/packages/a8/28/2f9d32014dfc7753e586db9add35b8a41b7a3b46540e965cb6d6bc607bd2/pillow-11.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b5d658fbd9f0d6eea113aea286b21d3cd4d3fd978157cbf2447a6035916506d3", size = 4431759, upload-time = "2025-01-02T08:12:20.382Z" }, + { url = "https://files.pythonhosted.org/packages/33/48/19c2cbe7403870fbe8b7737d19eb013f46299cdfe4501573367f6396c775/pillow-11.1.0-cp313-cp313-win32.whl", hash = "sha256:f86d3a7a9af5d826744fabf4afd15b9dfef44fe69a98541f666f66fbb8d3fef9", size = 2291657, upload-time = "2025-01-02T08:12:23.922Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ad/285c556747d34c399f332ba7c1a595ba245796ef3e22eae190f5364bb62b/pillow-11.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:593c5fd6be85da83656b93ffcccc2312d2d149d251e98588b14fbc288fd8909c", size = 2626304, upload-time = "2025-01-02T08:12:28.069Z" }, + { url = "https://files.pythonhosted.org/packages/e5/7b/ef35a71163bf36db06e9c8729608f78dedf032fc8313d19bd4be5c2588f3/pillow-11.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:11633d58b6ee5733bde153a8dafd25e505ea3d32e261accd388827ee987baf65", size = 2375117, upload-time = "2025-01-02T08:12:30.064Z" }, + { url = "https://files.pythonhosted.org/packages/79/30/77f54228401e84d6791354888549b45824ab0ffde659bafa67956303a09f/pillow-11.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:70ca5ef3b3b1c4a0812b5c63c57c23b63e53bc38e758b37a951e5bc466449861", size = 3230060, upload-time = "2025-01-02T08:12:32.362Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b1/56723b74b07dd64c1010fee011951ea9c35a43d8020acd03111f14298225/pillow-11.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8000376f139d4d38d6851eb149b321a52bb8893a88dae8ee7d95840431977081", size = 3106192, upload-time = "2025-01-02T08:12:34.361Z" }, + { url = "https://files.pythonhosted.org/packages/e1/cd/7bf7180e08f80a4dcc6b4c3a0aa9e0b0ae57168562726a05dc8aa8fa66b0/pillow-11.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ee85f0696a17dd28fbcfceb59f9510aa71934b483d1f5601d1030c3c8304f3c", size = 4446805, upload-time = "2025-01-02T08:12:36.99Z" }, + { url = "https://files.pythonhosted.org/packages/97/42/87c856ea30c8ed97e8efbe672b58c8304dee0573f8c7cab62ae9e31db6ae/pillow-11.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:dd0e081319328928531df7a0e63621caf67652c8464303fd102141b785ef9547", size = 4530623, upload-time = "2025-01-02T08:12:41.912Z" }, + { url = "https://files.pythonhosted.org/packages/ff/41/026879e90c84a88e33fb00cc6bd915ac2743c67e87a18f80270dfe3c2041/pillow-11.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e63e4e5081de46517099dc30abe418122f54531a6ae2ebc8680bcd7096860eab", size = 4465191, upload-time = "2025-01-02T08:12:45.186Z" }, + { url = "https://files.pythonhosted.org/packages/e5/fb/a7960e838bc5df57a2ce23183bfd2290d97c33028b96bde332a9057834d3/pillow-11.1.0-cp313-cp313t-win32.whl", hash = "sha256:dda60aa465b861324e65a78c9f5cf0f4bc713e4309f83bc387be158b077963d9", size = 2295494, upload-time = "2025-01-02T08:12:47.098Z" }, + { url = "https://files.pythonhosted.org/packages/d7/6c/6ec83ee2f6f0fda8d4cf89045c6be4b0373ebfc363ba8538f8c999f63fcd/pillow-11.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ad5db5781c774ab9a9b2c4302bbf0c1014960a0a7be63278d13ae6fdf88126fe", size = 2631595, upload-time = "2025-01-02T08:12:50.47Z" }, + { url = "https://files.pythonhosted.org/packages/cf/6c/41c21c6c8af92b9fea313aa47c75de49e2f9a467964ee33eb0135d47eb64/pillow-11.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:67cd427c68926108778a9005f2a04adbd5e67c442ed21d95389fe1d595458756", size = 2377651, upload-time = "2025-01-02T08:12:53.356Z" }, ] [[package]] name = "platformdirs" version = "4.3.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 } +sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302, upload-time = "2024-09-17T19:06:50.688Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 }, + { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439, upload-time = "2024-09-17T19:06:49.212Z" }, ] [[package]] @@ -784,9 +784,9 @@ dependencies = [ { name = "narwhals" }, { name = "packaging" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c7/cc/e41b5f697ae403f0b50e47b7af2e36642a193085f553bf7cc1169362873a/plotly-6.0.1.tar.gz", hash = "sha256:dd8400229872b6e3c964b099be699f8d00c489a974f2cfccfad5e8240873366b", size = 8094643 } +sdist = { url = "https://files.pythonhosted.org/packages/c7/cc/e41b5f697ae403f0b50e47b7af2e36642a193085f553bf7cc1169362873a/plotly-6.0.1.tar.gz", hash = "sha256:dd8400229872b6e3c964b099be699f8d00c489a974f2cfccfad5e8240873366b", size = 8094643, upload-time = "2025-03-17T15:02:23.994Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/02/65/ad2bc85f7377f5cfba5d4466d5474423a3fb7f6a97fd807c06f92dd3e721/plotly-6.0.1-py3-none-any.whl", hash = "sha256:4714db20fea57a435692c548a4eb4fae454f7daddf15f8d8ba7e1045681d7768", size = 14805757 }, + { url = "https://files.pythonhosted.org/packages/02/65/ad2bc85f7377f5cfba5d4466d5474423a3fb7f6a97fd807c06f92dd3e721/plotly-6.0.1-py3-none-any.whl", hash = "sha256:4714db20fea57a435692c548a4eb4fae454f7daddf15f8d8ba7e1045681d7768", size = 14805757, upload-time = "2025-03-17T15:02:18.73Z" }, ] [[package]] @@ -801,9 +801,9 @@ dependencies = [ { name = "scipy" }, { name = "statsmodels" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5d/0e/618bfa724ad19418c83eb22cdc4332dc69bb67f47094bd013ffe15e188d2/plotnine-0.14.5.tar.gz", hash = "sha256:9e75969e8e10d8d770a4be36d10e075cc10b88ca6fcc99e36ada53436fb5653f", size = 6424617 } +sdist = { url = "https://files.pythonhosted.org/packages/5d/0e/618bfa724ad19418c83eb22cdc4332dc69bb67f47094bd013ffe15e188d2/plotnine-0.14.5.tar.gz", hash = "sha256:9e75969e8e10d8d770a4be36d10e075cc10b88ca6fcc99e36ada53436fb5653f", size = 6424617, upload-time = "2025-01-02T11:06:07.338Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/c5/7cfda7ba9fa02243367fbfb4880b6de8039266f22c47c2dbbd39b6adc46f/plotnine-0.14.5-py3-none-any.whl", hash = "sha256:4a8bc4360732dd69a0263def4abab285ed8f0f4386186f1e44c642f2cea79b88", size = 1301197 }, + { url = "https://files.pythonhosted.org/packages/4d/c5/7cfda7ba9fa02243367fbfb4880b6de8039266f22c47c2dbbd39b6adc46f/plotnine-0.14.5-py3-none-any.whl", hash = "sha256:4a8bc4360732dd69a0263def4abab285ed8f0f4386186f1e44c642f2cea79b88", size = 1301197, upload-time = "2025-01-02T11:06:03.686Z" }, ] [[package]] @@ -817,9 +817,9 @@ dependencies = [ { name = "pyyaml" }, { name = "virtualenv" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/08/39/679ca9b26c7bb2999ff122d50faa301e49af82ca9c066ec061cfbc0c6784/pre_commit-4.2.0.tar.gz", hash = "sha256:601283b9757afd87d40c4c4a9b2b5de9637a8ea02eaff7adc2d0fb4e04841146", size = 193424 } +sdist = { url = "https://files.pythonhosted.org/packages/08/39/679ca9b26c7bb2999ff122d50faa301e49af82ca9c066ec061cfbc0c6784/pre_commit-4.2.0.tar.gz", hash = "sha256:601283b9757afd87d40c4c4a9b2b5de9637a8ea02eaff7adc2d0fb4e04841146", size = 193424, upload-time = "2025-03-18T21:35:20.987Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/74/a88bf1b1efeae488a0c0b7bdf71429c313722d1fc0f377537fbe554e6180/pre_commit-4.2.0-py2.py3-none-any.whl", hash = "sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd", size = 220707 }, + { url = "https://files.pythonhosted.org/packages/88/74/a88bf1b1efeae488a0c0b7bdf71429c313722d1fc0f377537fbe554e6180/pre_commit-4.2.0-py2.py3-none-any.whl", hash = "sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd", size = 220707, upload-time = "2025-03-18T21:35:19.343Z" }, ] [[package]] @@ -829,69 +829,69 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "wcwidth" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a1/e1/bd15cb8ffdcfeeb2bdc215de3c3cffca11408d829e4b8416dcfe71ba8854/prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab", size = 429087 } +sdist = { url = "https://files.pythonhosted.org/packages/a1/e1/bd15cb8ffdcfeeb2bdc215de3c3cffca11408d829e4b8416dcfe71ba8854/prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab", size = 429087, upload-time = "2025-01-20T15:55:35.072Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/ea/d836f008d33151c7a1f62caf3d8dd782e4d15f6a43897f64480c2b8de2ad/prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198", size = 387816 }, + { url = "https://files.pythonhosted.org/packages/e4/ea/d836f008d33151c7a1f62caf3d8dd782e4d15f6a43897f64480c2b8de2ad/prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198", size = 387816, upload-time = "2025-01-20T15:55:29.98Z" }, ] [[package]] name = "psutil" version = "7.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003 } +sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003, upload-time = "2025-02-13T21:54:07.946Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051 }, - { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535 }, - { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004 }, - { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986 }, - { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544 }, - { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053 }, - { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885 }, + { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051, upload-time = "2025-02-13T21:54:12.36Z" }, + { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535, upload-time = "2025-02-13T21:54:16.07Z" }, + { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004, upload-time = "2025-02-13T21:54:18.662Z" }, + { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986, upload-time = "2025-02-13T21:54:21.811Z" }, + { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544, upload-time = "2025-02-13T21:54:24.68Z" }, + { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload-time = "2025-02-13T21:54:34.31Z" }, + { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload-time = "2025-02-13T21:54:37.486Z" }, ] [[package]] name = "ptyprocess" version = "0.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762 } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993 }, + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, ] [[package]] name = "pure-eval" version = "0.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752 } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842 }, + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, ] [[package]] name = "pycparser" version = "2.22" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736 } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, ] [[package]] name = "pygments" version = "2.19.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, ] [[package]] name = "pyparsing" version = "3.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8b/1a/3544f4f299a47911c2ab3710f534e52fea62a633c96806995da5d25be4b2/pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a", size = 1067694 } +sdist = { url = "https://files.pythonhosted.org/packages/8b/1a/3544f4f299a47911c2ab3710f534e52fea62a633c96806995da5d25be4b2/pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a", size = 1067694, upload-time = "2024-12-31T20:59:46.157Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1", size = 107716 }, + { url = "https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1", size = 107716, upload-time = "2024-12-31T20:59:42.738Z" }, ] [[package]] @@ -901,18 +901,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "six" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 } +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 }, + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, ] [[package]] name = "pytz" version = "2025.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5f/57/df1c9157c8d5a05117e455d66fd7cf6dbc46974f832b1058ed4856785d8a/pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e", size = 319617 } +sdist = { url = "https://files.pythonhosted.org/packages/5f/57/df1c9157c8d5a05117e455d66fd7cf6dbc46974f832b1058ed4856785d8a/pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e", size = 319617, upload-time = "2025-01-31T01:54:48.615Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", size = 507930 }, + { url = "https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", size = 507930, upload-time = "2025-01-31T01:54:45.634Z" }, ] [[package]] @@ -920,38 +920,38 @@ name = "pywin32" version = "310" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239 }, - { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839 }, - { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470 }, - { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384 }, - { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039 }, - { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152 }, + { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239, upload-time = "2025-03-17T00:55:58.807Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839, upload-time = "2025-03-17T00:56:00.8Z" }, + { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470, upload-time = "2025-03-17T00:56:02.601Z" }, + { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384, upload-time = "2025-03-17T00:56:04.383Z" }, + { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039, upload-time = "2025-03-17T00:56:06.207Z" }, + { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152, upload-time = "2025-03-17T00:56:07.819Z" }, ] [[package]] name = "pyyaml" version = "6.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, - { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, - { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, - { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, - { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, - { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, - { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, - { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, ] [[package]] @@ -961,38 +961,38 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "implementation_name == 'pypy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3a/ed/c3876f3b3e8beba336214ce44e1efa1792dd537027cef24192ac2b077d7c/pyzmq-26.3.0.tar.gz", hash = "sha256:f1cd68b8236faab78138a8fc703f7ca0ad431b17a3fcac696358600d4e6243b3", size = 276733 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/03/7170c3814bb9106c1bca67700c731aaf1cd990fd2f0097c754acb600330e/pyzmq-26.3.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:c80653332c6136da7f4d4e143975e74ac0fa14f851f716d90583bc19e8945cea", size = 1348354 }, - { url = "https://files.pythonhosted.org/packages/74/f3/908b17f9111cdc764aef1de3d36026a2984c46ed90c3c2c85f28b66142f0/pyzmq-26.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e317ee1d4528a03506cb1c282cd9db73660a35b3564096de37de7350e7d87a7", size = 671056 }, - { url = "https://files.pythonhosted.org/packages/02/ad/afcb8484b65ceacd1609f709c2caeed31bd6c49261a7507cd5c175cc105f/pyzmq-26.3.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:943a22ebb3daacb45f76a9bcca9a7b74e7d94608c0c0505da30af900b998ca8d", size = 908597 }, - { url = "https://files.pythonhosted.org/packages/a1/b5/4eeeae0aaaa6ef0c74cfa8b2273b53382bd858df6d99485f2fc8211e7002/pyzmq-26.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fc9e71490d989144981ea21ef4fdfaa7b6aa84aff9632d91c736441ce2f6b00", size = 865260 }, - { url = "https://files.pythonhosted.org/packages/74/6a/63db856e93e3a3c3dc98a1de28a902cf1b21c7b0d3856cd5931d7cfd30af/pyzmq-26.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e281a8071a06888575a4eb523c4deeefdcd2f5fe4a2d47e02ac8bf3a5b49f695", size = 859916 }, - { url = "https://files.pythonhosted.org/packages/e1/ce/d522c9b46ee3746d4b98c81969c568c2c6296e931a65f2c87104b645654c/pyzmq-26.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:be77efd735bb1064605be8dec6e721141c1421ef0b115ef54e493a64e50e9a52", size = 1201368 }, - { url = "https://files.pythonhosted.org/packages/5a/56/29dcd3647a39e933eb489fda261a1e2700a59d4a9432889a85166e15651c/pyzmq-26.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7a4ac2ffa34f1212dd586af90f4ba894e424f0cabb3a49cdcff944925640f6ac", size = 1512663 }, - { url = "https://files.pythonhosted.org/packages/6b/36/7c570698127a43398ed1b1832dada59496e633115016addbce5eda9938a6/pyzmq-26.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ba698c7c252af83b6bba9775035263f0df5f807f0404019916d4b71af8161f66", size = 1411693 }, - { url = "https://files.pythonhosted.org/packages/de/54/51d39bef85a7cdbca36227f7defdbfcdc5011b8361a3bfc0e8df431f5a5d/pyzmq-26.3.0-cp312-cp312-win32.whl", hash = "sha256:214038aaa88e801e54c2ef0cfdb2e6df27eb05f67b477380a452b595c5ecfa37", size = 581244 }, - { url = "https://files.pythonhosted.org/packages/f2/6a/9512b11a1d0c5648534f03d5ab0c3222f55dc9c192029c1cb00a0ca044e2/pyzmq-26.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:bad7fe0372e505442482ca3ccbc0d6f38dae81b1650f57a0aa6bbee18e7df495", size = 643559 }, - { url = "https://files.pythonhosted.org/packages/27/9f/faf5c9cf91b61eeb82a5e919d024d3ac28a795c92cce817be264ccd757d3/pyzmq-26.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:b7b578d604e79e99aa39495becea013fd043fa9f36e4b490efa951f3d847a24d", size = 557664 }, - { url = "https://files.pythonhosted.org/packages/37/16/97b8c5107bfccb39120e611671a452c9ff6e8626fb3f8d4c15afd652b6ae/pyzmq-26.3.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:fa85953df84beb7b8b73cb3ec3f5d92b62687a09a8e71525c6734e020edf56fd", size = 1345691 }, - { url = "https://files.pythonhosted.org/packages/a5/61/d5572d95040c0bb5b31eed5b23f3f0f992d94e4e0de0cea62e3c7f3a85c1/pyzmq-26.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:209d09f0ab6ddbcebe64630d1e6ca940687e736f443c265ae15bc4bfad833597", size = 670622 }, - { url = "https://files.pythonhosted.org/packages/1c/0c/f0235d27388aacf4ed8bcc1d574f6f2f629da0a20610faa0a8e9d363c2b0/pyzmq-26.3.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d35cc1086f1d4f907df85c6cceb2245cb39a04f69c3f375993363216134d76d4", size = 908683 }, - { url = "https://files.pythonhosted.org/packages/cb/52/664828f9586c396b857eec088d208230463e3dc991a24df6adbad98fbaa3/pyzmq-26.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b380e9087078ba91e45fb18cdd0c25275ffaa045cf63c947be0ddae6186bc9d9", size = 865212 }, - { url = "https://files.pythonhosted.org/packages/2b/14/213b2967030b7d7aecc32dd453830f98799b3cbf2b10a40232e9f22a6520/pyzmq-26.3.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:6d64e74143587efe7c9522bb74d1448128fdf9897cc9b6d8b9927490922fd558", size = 860068 }, - { url = "https://files.pythonhosted.org/packages/aa/e5/ff50c8fade69d1c0469652832c626d1910668697642c10cb0e1b6183ef9a/pyzmq-26.3.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:efba4f53ac7752eea6d8ca38a4ddac579e6e742fba78d1e99c12c95cd2acfc64", size = 1201303 }, - { url = "https://files.pythonhosted.org/packages/9a/e2/fff5e483be95ccc11a05781323e001e63ec15daec1d0f6f08de72ca534db/pyzmq-26.3.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:9b0137a1c40da3b7989839f9b78a44de642cdd1ce20dcef341de174c8d04aa53", size = 1512892 }, - { url = "https://files.pythonhosted.org/packages/21/75/cc44d276e43136e5692e487c3c019f816e11ed445261e434217c28cc98c4/pyzmq-26.3.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:a995404bd3982c089e57b428c74edd5bfc3b0616b3dbcd6a8e270f1ee2110f36", size = 1411736 }, - { url = "https://files.pythonhosted.org/packages/ee/1c/d070cbc9a7961fe772641c51bb3798d88cb1f8e20ca718407363462624cf/pyzmq-26.3.0-cp313-cp313-win32.whl", hash = "sha256:240b1634b9e530ef6a277d95cbca1a6922f44dfddc5f0a3cd6c722a8de867f14", size = 581214 }, - { url = "https://files.pythonhosted.org/packages/38/d3/91082f1151ff5b54e0bed40eb1a26f418530ab07ecaec4dbb83e3d9fa9a9/pyzmq-26.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:fe67291775ea4c2883764ba467eb389c29c308c56b86c1e19e49c9e1ed0cbeca", size = 643412 }, - { url = "https://files.pythonhosted.org/packages/e0/cf/dabe68dfdf3e67bea6152eeec4b251cf899ee5b853cfb5c97e4719f9e6e9/pyzmq-26.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:73ca9ae9a9011b714cf7650450cd9c8b61a135180b708904f1f0a05004543dce", size = 557444 }, - { url = "https://files.pythonhosted.org/packages/c0/56/e7576ac71c1566da4f4ec586351462a2bb202143fb074bf56df8fe85dcc3/pyzmq-26.3.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:fea7efbd7e49af9d7e5ed6c506dfc7de3d1a628790bd3a35fd0e3c904dc7d464", size = 1340288 }, - { url = "https://files.pythonhosted.org/packages/f1/ab/0bca97e94d420b5908968bc479e51c3686a9f80d8893450eefcd673b1b1d/pyzmq-26.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4430c7cba23bb0e2ee203eee7851c1654167d956fc6d4b3a87909ccaf3c5825", size = 662462 }, - { url = "https://files.pythonhosted.org/packages/ee/be/99e89b55863808da322ac3ab52d8e135dcf2241094aaa468bfe2923d5194/pyzmq-26.3.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:016d89bee8c7d566fad75516b4e53ec7c81018c062d4c51cd061badf9539be52", size = 896464 }, - { url = "https://files.pythonhosted.org/packages/38/d4/a4be06a313c8d6a5fe1d92975db30aca85f502e867fca392532e06a28c3c/pyzmq-26.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04bfe59852d76d56736bfd10ac1d49d421ab8ed11030b4a0332900691507f557", size = 853432 }, - { url = "https://files.pythonhosted.org/packages/12/e6/e608b4c34106bbf5b3b382662ea90a43b2e23df0aa9c1f0fd4e21168d523/pyzmq-26.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:1fe05bd0d633a0f672bb28cb8b4743358d196792e1caf04973b7898a0d70b046", size = 845884 }, - { url = "https://files.pythonhosted.org/packages/c3/a9/d5e6355308ba529d9cd3576ee8bb3b2e2b726571748f515fbb8559401f5b/pyzmq-26.3.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:2aa1a9f236d5b835fb8642f27de95f9edcfd276c4bc1b6ffc84f27c6fb2e2981", size = 1191454 }, - { url = "https://files.pythonhosted.org/packages/6a/9a/a21dc6c73ac242e425709c1e0049368d8f5db5de7c1102a45f93f5c492b3/pyzmq-26.3.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:21399b31753bf321043ea60c360ed5052cc7be20739785b1dff1820f819e35b3", size = 1500397 }, - { url = "https://files.pythonhosted.org/packages/87/88/0236056156da0278c9ca2e2562463643597808b5bbd6c34009ba217e7e92/pyzmq-26.3.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:d015efcd96aca8882057e7e6f06224f79eecd22cad193d3e6a0a91ec67590d1f", size = 1398401 }, +sdist = { url = "https://files.pythonhosted.org/packages/3a/ed/c3876f3b3e8beba336214ce44e1efa1792dd537027cef24192ac2b077d7c/pyzmq-26.3.0.tar.gz", hash = "sha256:f1cd68b8236faab78138a8fc703f7ca0ad431b17a3fcac696358600d4e6243b3", size = 276733, upload-time = "2025-03-12T08:04:30.804Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/03/7170c3814bb9106c1bca67700c731aaf1cd990fd2f0097c754acb600330e/pyzmq-26.3.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:c80653332c6136da7f4d4e143975e74ac0fa14f851f716d90583bc19e8945cea", size = 1348354, upload-time = "2025-03-12T08:02:32.699Z" }, + { url = "https://files.pythonhosted.org/packages/74/f3/908b17f9111cdc764aef1de3d36026a2984c46ed90c3c2c85f28b66142f0/pyzmq-26.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e317ee1d4528a03506cb1c282cd9db73660a35b3564096de37de7350e7d87a7", size = 671056, upload-time = "2025-03-12T08:02:34.086Z" }, + { url = "https://files.pythonhosted.org/packages/02/ad/afcb8484b65ceacd1609f709c2caeed31bd6c49261a7507cd5c175cc105f/pyzmq-26.3.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:943a22ebb3daacb45f76a9bcca9a7b74e7d94608c0c0505da30af900b998ca8d", size = 908597, upload-time = "2025-03-12T08:02:35.536Z" }, + { url = "https://files.pythonhosted.org/packages/a1/b5/4eeeae0aaaa6ef0c74cfa8b2273b53382bd858df6d99485f2fc8211e7002/pyzmq-26.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fc9e71490d989144981ea21ef4fdfaa7b6aa84aff9632d91c736441ce2f6b00", size = 865260, upload-time = "2025-03-12T08:02:37.562Z" }, + { url = "https://files.pythonhosted.org/packages/74/6a/63db856e93e3a3c3dc98a1de28a902cf1b21c7b0d3856cd5931d7cfd30af/pyzmq-26.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e281a8071a06888575a4eb523c4deeefdcd2f5fe4a2d47e02ac8bf3a5b49f695", size = 859916, upload-time = "2025-03-12T08:02:38.954Z" }, + { url = "https://files.pythonhosted.org/packages/e1/ce/d522c9b46ee3746d4b98c81969c568c2c6296e931a65f2c87104b645654c/pyzmq-26.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:be77efd735bb1064605be8dec6e721141c1421ef0b115ef54e493a64e50e9a52", size = 1201368, upload-time = "2025-03-12T08:02:40.774Z" }, + { url = "https://files.pythonhosted.org/packages/5a/56/29dcd3647a39e933eb489fda261a1e2700a59d4a9432889a85166e15651c/pyzmq-26.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7a4ac2ffa34f1212dd586af90f4ba894e424f0cabb3a49cdcff944925640f6ac", size = 1512663, upload-time = "2025-03-12T08:02:42.2Z" }, + { url = "https://files.pythonhosted.org/packages/6b/36/7c570698127a43398ed1b1832dada59496e633115016addbce5eda9938a6/pyzmq-26.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ba698c7c252af83b6bba9775035263f0df5f807f0404019916d4b71af8161f66", size = 1411693, upload-time = "2025-03-12T08:02:43.583Z" }, + { url = "https://files.pythonhosted.org/packages/de/54/51d39bef85a7cdbca36227f7defdbfcdc5011b8361a3bfc0e8df431f5a5d/pyzmq-26.3.0-cp312-cp312-win32.whl", hash = "sha256:214038aaa88e801e54c2ef0cfdb2e6df27eb05f67b477380a452b595c5ecfa37", size = 581244, upload-time = "2025-03-12T08:02:45.072Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/9512b11a1d0c5648534f03d5ab0c3222f55dc9c192029c1cb00a0ca044e2/pyzmq-26.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:bad7fe0372e505442482ca3ccbc0d6f38dae81b1650f57a0aa6bbee18e7df495", size = 643559, upload-time = "2025-03-12T08:02:46.485Z" }, + { url = "https://files.pythonhosted.org/packages/27/9f/faf5c9cf91b61eeb82a5e919d024d3ac28a795c92cce817be264ccd757d3/pyzmq-26.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:b7b578d604e79e99aa39495becea013fd043fa9f36e4b490efa951f3d847a24d", size = 557664, upload-time = "2025-03-12T08:02:47.896Z" }, + { url = "https://files.pythonhosted.org/packages/37/16/97b8c5107bfccb39120e611671a452c9ff6e8626fb3f8d4c15afd652b6ae/pyzmq-26.3.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:fa85953df84beb7b8b73cb3ec3f5d92b62687a09a8e71525c6734e020edf56fd", size = 1345691, upload-time = "2025-03-12T08:02:49.508Z" }, + { url = "https://files.pythonhosted.org/packages/a5/61/d5572d95040c0bb5b31eed5b23f3f0f992d94e4e0de0cea62e3c7f3a85c1/pyzmq-26.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:209d09f0ab6ddbcebe64630d1e6ca940687e736f443c265ae15bc4bfad833597", size = 670622, upload-time = "2025-03-12T08:02:51.112Z" }, + { url = "https://files.pythonhosted.org/packages/1c/0c/f0235d27388aacf4ed8bcc1d574f6f2f629da0a20610faa0a8e9d363c2b0/pyzmq-26.3.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d35cc1086f1d4f907df85c6cceb2245cb39a04f69c3f375993363216134d76d4", size = 908683, upload-time = "2025-03-12T08:02:52.659Z" }, + { url = "https://files.pythonhosted.org/packages/cb/52/664828f9586c396b857eec088d208230463e3dc991a24df6adbad98fbaa3/pyzmq-26.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b380e9087078ba91e45fb18cdd0c25275ffaa045cf63c947be0ddae6186bc9d9", size = 865212, upload-time = "2025-03-12T08:02:54.187Z" }, + { url = "https://files.pythonhosted.org/packages/2b/14/213b2967030b7d7aecc32dd453830f98799b3cbf2b10a40232e9f22a6520/pyzmq-26.3.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:6d64e74143587efe7c9522bb74d1448128fdf9897cc9b6d8b9927490922fd558", size = 860068, upload-time = "2025-03-12T08:02:55.609Z" }, + { url = "https://files.pythonhosted.org/packages/aa/e5/ff50c8fade69d1c0469652832c626d1910668697642c10cb0e1b6183ef9a/pyzmq-26.3.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:efba4f53ac7752eea6d8ca38a4ddac579e6e742fba78d1e99c12c95cd2acfc64", size = 1201303, upload-time = "2025-03-12T08:02:57.073Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e2/fff5e483be95ccc11a05781323e001e63ec15daec1d0f6f08de72ca534db/pyzmq-26.3.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:9b0137a1c40da3b7989839f9b78a44de642cdd1ce20dcef341de174c8d04aa53", size = 1512892, upload-time = "2025-03-12T08:02:58.68Z" }, + { url = "https://files.pythonhosted.org/packages/21/75/cc44d276e43136e5692e487c3c019f816e11ed445261e434217c28cc98c4/pyzmq-26.3.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:a995404bd3982c089e57b428c74edd5bfc3b0616b3dbcd6a8e270f1ee2110f36", size = 1411736, upload-time = "2025-03-12T08:03:00.202Z" }, + { url = "https://files.pythonhosted.org/packages/ee/1c/d070cbc9a7961fe772641c51bb3798d88cb1f8e20ca718407363462624cf/pyzmq-26.3.0-cp313-cp313-win32.whl", hash = "sha256:240b1634b9e530ef6a277d95cbca1a6922f44dfddc5f0a3cd6c722a8de867f14", size = 581214, upload-time = "2025-03-12T08:03:02.412Z" }, + { url = "https://files.pythonhosted.org/packages/38/d3/91082f1151ff5b54e0bed40eb1a26f418530ab07ecaec4dbb83e3d9fa9a9/pyzmq-26.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:fe67291775ea4c2883764ba467eb389c29c308c56b86c1e19e49c9e1ed0cbeca", size = 643412, upload-time = "2025-03-12T08:03:04.007Z" }, + { url = "https://files.pythonhosted.org/packages/e0/cf/dabe68dfdf3e67bea6152eeec4b251cf899ee5b853cfb5c97e4719f9e6e9/pyzmq-26.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:73ca9ae9a9011b714cf7650450cd9c8b61a135180b708904f1f0a05004543dce", size = 557444, upload-time = "2025-03-12T08:03:05.53Z" }, + { url = "https://files.pythonhosted.org/packages/c0/56/e7576ac71c1566da4f4ec586351462a2bb202143fb074bf56df8fe85dcc3/pyzmq-26.3.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:fea7efbd7e49af9d7e5ed6c506dfc7de3d1a628790bd3a35fd0e3c904dc7d464", size = 1340288, upload-time = "2025-03-12T08:03:07.638Z" }, + { url = "https://files.pythonhosted.org/packages/f1/ab/0bca97e94d420b5908968bc479e51c3686a9f80d8893450eefcd673b1b1d/pyzmq-26.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4430c7cba23bb0e2ee203eee7851c1654167d956fc6d4b3a87909ccaf3c5825", size = 662462, upload-time = "2025-03-12T08:03:10.039Z" }, + { url = "https://files.pythonhosted.org/packages/ee/be/99e89b55863808da322ac3ab52d8e135dcf2241094aaa468bfe2923d5194/pyzmq-26.3.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:016d89bee8c7d566fad75516b4e53ec7c81018c062d4c51cd061badf9539be52", size = 896464, upload-time = "2025-03-12T08:03:11.51Z" }, + { url = "https://files.pythonhosted.org/packages/38/d4/a4be06a313c8d6a5fe1d92975db30aca85f502e867fca392532e06a28c3c/pyzmq-26.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04bfe59852d76d56736bfd10ac1d49d421ab8ed11030b4a0332900691507f557", size = 853432, upload-time = "2025-03-12T08:03:12.948Z" }, + { url = "https://files.pythonhosted.org/packages/12/e6/e608b4c34106bbf5b3b382662ea90a43b2e23df0aa9c1f0fd4e21168d523/pyzmq-26.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:1fe05bd0d633a0f672bb28cb8b4743358d196792e1caf04973b7898a0d70b046", size = 845884, upload-time = "2025-03-12T08:03:14.429Z" }, + { url = "https://files.pythonhosted.org/packages/c3/a9/d5e6355308ba529d9cd3576ee8bb3b2e2b726571748f515fbb8559401f5b/pyzmq-26.3.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:2aa1a9f236d5b835fb8642f27de95f9edcfd276c4bc1b6ffc84f27c6fb2e2981", size = 1191454, upload-time = "2025-03-12T08:03:16.348Z" }, + { url = "https://files.pythonhosted.org/packages/6a/9a/a21dc6c73ac242e425709c1e0049368d8f5db5de7c1102a45f93f5c492b3/pyzmq-26.3.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:21399b31753bf321043ea60c360ed5052cc7be20739785b1dff1820f819e35b3", size = 1500397, upload-time = "2025-03-12T08:03:17.918Z" }, + { url = "https://files.pythonhosted.org/packages/87/88/0236056156da0278c9ca2e2562463643597808b5bbd6c34009ba217e7e92/pyzmq-26.3.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:d015efcd96aca8882057e7e6f06224f79eecd22cad193d3e6a0a91ec67590d1f", size = 1398401, upload-time = "2025-03-12T08:03:19.493Z" }, ] [[package]] @@ -1007,39 +1007,39 @@ dependencies = [ { name = "scikit-learn" }, { name = "scipy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/40/8a/e8ae926da333a82d597c874a59f888838616651de6bc815d9d78c2f76c64/rdrobust-1.3.0.tar.gz", hash = "sha256:994528ca6c7351b2ef8a1f9f57a524d8caa9d40f5f40f8a16c6533bd53109d53", size = 29187 } +sdist = { url = "https://files.pythonhosted.org/packages/40/8a/e8ae926da333a82d597c874a59f888838616651de6bc815d9d78c2f76c64/rdrobust-1.3.0.tar.gz", hash = "sha256:994528ca6c7351b2ef8a1f9f57a524d8caa9d40f5f40f8a16c6533bd53109d53", size = 29187, upload-time = "2024-09-14T15:23:56.396Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/d6/c2faba19eea47e62c9cb07abd9a4ef735d43d1f85ba562eb549b7540af12/rdrobust-1.3.0-py3-none-any.whl", hash = "sha256:611ae2c07dc4e7969596800987953747c7dd9a68c0536c86cb1c53af90b9a2de", size = 30285 }, + { url = "https://files.pythonhosted.org/packages/90/d6/c2faba19eea47e62c9cb07abd9a4ef735d43d1f85ba562eb549b7540af12/rdrobust-1.3.0-py3-none-any.whl", hash = "sha256:611ae2c07dc4e7969596800987953747c7dd9a68c0536c86cb1c53af90b9a2de", size = 30285, upload-time = "2024-09-14T15:23:55.245Z" }, ] [[package]] name = "ruff" version = "0.11.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/77/2b/7ca27e854d92df5e681e6527dc0f9254c9dc06c8408317893cf96c851cdd/ruff-0.11.0.tar.gz", hash = "sha256:e55c620690a4a7ee6f1cccb256ec2157dc597d109400ae75bbf944fc9d6462e2", size = 3799407 } +sdist = { url = "https://files.pythonhosted.org/packages/77/2b/7ca27e854d92df5e681e6527dc0f9254c9dc06c8408317893cf96c851cdd/ruff-0.11.0.tar.gz", hash = "sha256:e55c620690a4a7ee6f1cccb256ec2157dc597d109400ae75bbf944fc9d6462e2", size = 3799407, upload-time = "2025-03-14T13:52:36.539Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/48/40/3d0340a9e5edc77d37852c0cd98c5985a5a8081fc3befaeb2ae90aaafd2b/ruff-0.11.0-py3-none-linux_armv6l.whl", hash = "sha256:dc67e32bc3b29557513eb7eeabb23efdb25753684b913bebb8a0c62495095acb", size = 10098158 }, - { url = "https://files.pythonhosted.org/packages/ec/a9/d8f5abb3b87b973b007649ac7bf63665a05b2ae2b2af39217b09f52abbbf/ruff-0.11.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:38c23fd9bdec4eb437b4c1e3595905a0a8edfccd63a790f818b28c78fe345639", size = 10879071 }, - { url = "https://files.pythonhosted.org/packages/ab/62/aaa198614c6211677913ec480415c5e6509586d7b796356cec73a2f8a3e6/ruff-0.11.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7c8661b0be91a38bd56db593e9331beaf9064a79028adee2d5f392674bbc5e88", size = 10247944 }, - { url = "https://files.pythonhosted.org/packages/9f/52/59e0a9f2cf1ce5e6cbe336b6dd0144725c8ea3b97cac60688f4e7880bf13/ruff-0.11.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6c0e8d3d2db7e9f6efd884f44b8dc542d5b6b590fc4bb334fdbc624d93a29a2", size = 10421725 }, - { url = "https://files.pythonhosted.org/packages/a6/c3/dcd71acc6dff72ce66d13f4be5bca1dbed4db678dff2f0f6f307b04e5c02/ruff-0.11.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c3156d3f4b42e57247275a0a7e15a851c165a4fc89c5e8fa30ea6da4f7407b8", size = 9954435 }, - { url = "https://files.pythonhosted.org/packages/a6/9a/342d336c7c52dbd136dee97d4c7797e66c3f92df804f8f3b30da59b92e9c/ruff-0.11.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:490b1e147c1260545f6d041c4092483e3f6d8eba81dc2875eaebcf9140b53905", size = 11492664 }, - { url = "https://files.pythonhosted.org/packages/84/35/6e7defd2d7ca95cc385ac1bd9f7f2e4a61b9cc35d60a263aebc8e590c462/ruff-0.11.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1bc09a7419e09662983b1312f6fa5dab829d6ab5d11f18c3760be7ca521c9329", size = 12207856 }, - { url = "https://files.pythonhosted.org/packages/22/78/da669c8731bacf40001c880ada6d31bcfb81f89cc996230c3b80d319993e/ruff-0.11.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bcfa478daf61ac8002214eb2ca5f3e9365048506a9d52b11bea3ecea822bb844", size = 11645156 }, - { url = "https://files.pythonhosted.org/packages/ee/47/e27d17d83530a208f4a9ab2e94f758574a04c51e492aa58f91a3ed7cbbcb/ruff-0.11.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6fbb2aed66fe742a6a3a0075ed467a459b7cedc5ae01008340075909d819df1e", size = 13884167 }, - { url = "https://files.pythonhosted.org/packages/9f/5e/42ffbb0a5d4b07bbc642b7d58357b4e19a0f4774275ca6ca7d1f7b5452cd/ruff-0.11.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92c0c1ff014351c0b0cdfdb1e35fa83b780f1e065667167bb9502d47ca41e6db", size = 11348311 }, - { url = "https://files.pythonhosted.org/packages/c8/51/dc3ce0c5ce1a586727a3444a32f98b83ba99599bb1ebca29d9302886e87f/ruff-0.11.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e4fd5ff5de5f83e0458a138e8a869c7c5e907541aec32b707f57cf9a5e124445", size = 10305039 }, - { url = "https://files.pythonhosted.org/packages/60/e0/475f0c2f26280f46f2d6d1df1ba96b3399e0234cf368cc4c88e6ad10dcd9/ruff-0.11.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:96bc89a5c5fd21a04939773f9e0e276308be0935de06845110f43fd5c2e4ead7", size = 9937939 }, - { url = "https://files.pythonhosted.org/packages/e2/d3/3e61b7fd3e9cdd1e5b8c7ac188bec12975c824e51c5cd3d64caf81b0331e/ruff-0.11.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a9352b9d767889ec5df1483f94870564e8102d4d7e99da52ebf564b882cdc2c7", size = 10923259 }, - { url = "https://files.pythonhosted.org/packages/30/32/cd74149ebb40b62ddd14bd2d1842149aeb7f74191fb0f49bd45c76909ff2/ruff-0.11.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:049a191969a10897fe052ef9cc7491b3ef6de79acd7790af7d7897b7a9bfbcb6", size = 11406212 }, - { url = "https://files.pythonhosted.org/packages/00/ef/033022a6b104be32e899b00de704d7c6d1723a54d4c9e09d147368f14b62/ruff-0.11.0-py3-none-win32.whl", hash = "sha256:3191e9116b6b5bbe187447656f0c8526f0d36b6fd89ad78ccaad6bdc2fad7df2", size = 10310905 }, - { url = "https://files.pythonhosted.org/packages/ed/8a/163f2e78c37757d035bd56cd60c8d96312904ca4a6deeab8442d7b3cbf89/ruff-0.11.0-py3-none-win_amd64.whl", hash = "sha256:c58bfa00e740ca0a6c43d41fb004cd22d165302f360aaa56f7126d544db31a21", size = 11411730 }, - { url = "https://files.pythonhosted.org/packages/4e/f7/096f6efabe69b49d7ca61052fc70289c05d8d35735c137ef5ba5ef423662/ruff-0.11.0-py3-none-win_arm64.whl", hash = "sha256:868364fc23f5aa122b00c6f794211e85f7e78f5dffdf7c590ab90b8c4e69b657", size = 10538956 }, + { url = "https://files.pythonhosted.org/packages/48/40/3d0340a9e5edc77d37852c0cd98c5985a5a8081fc3befaeb2ae90aaafd2b/ruff-0.11.0-py3-none-linux_armv6l.whl", hash = "sha256:dc67e32bc3b29557513eb7eeabb23efdb25753684b913bebb8a0c62495095acb", size = 10098158, upload-time = "2025-03-14T13:51:55.69Z" }, + { url = "https://files.pythonhosted.org/packages/ec/a9/d8f5abb3b87b973b007649ac7bf63665a05b2ae2b2af39217b09f52abbbf/ruff-0.11.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:38c23fd9bdec4eb437b4c1e3595905a0a8edfccd63a790f818b28c78fe345639", size = 10879071, upload-time = "2025-03-14T13:51:58.989Z" }, + { url = "https://files.pythonhosted.org/packages/ab/62/aaa198614c6211677913ec480415c5e6509586d7b796356cec73a2f8a3e6/ruff-0.11.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7c8661b0be91a38bd56db593e9331beaf9064a79028adee2d5f392674bbc5e88", size = 10247944, upload-time = "2025-03-14T13:52:02.318Z" }, + { url = "https://files.pythonhosted.org/packages/9f/52/59e0a9f2cf1ce5e6cbe336b6dd0144725c8ea3b97cac60688f4e7880bf13/ruff-0.11.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6c0e8d3d2db7e9f6efd884f44b8dc542d5b6b590fc4bb334fdbc624d93a29a2", size = 10421725, upload-time = "2025-03-14T13:52:04.303Z" }, + { url = "https://files.pythonhosted.org/packages/a6/c3/dcd71acc6dff72ce66d13f4be5bca1dbed4db678dff2f0f6f307b04e5c02/ruff-0.11.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c3156d3f4b42e57247275a0a7e15a851c165a4fc89c5e8fa30ea6da4f7407b8", size = 9954435, upload-time = "2025-03-14T13:52:06.602Z" }, + { url = "https://files.pythonhosted.org/packages/a6/9a/342d336c7c52dbd136dee97d4c7797e66c3f92df804f8f3b30da59b92e9c/ruff-0.11.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:490b1e147c1260545f6d041c4092483e3f6d8eba81dc2875eaebcf9140b53905", size = 11492664, upload-time = "2025-03-14T13:52:08.613Z" }, + { url = "https://files.pythonhosted.org/packages/84/35/6e7defd2d7ca95cc385ac1bd9f7f2e4a61b9cc35d60a263aebc8e590c462/ruff-0.11.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1bc09a7419e09662983b1312f6fa5dab829d6ab5d11f18c3760be7ca521c9329", size = 12207856, upload-time = "2025-03-14T13:52:11.019Z" }, + { url = "https://files.pythonhosted.org/packages/22/78/da669c8731bacf40001c880ada6d31bcfb81f89cc996230c3b80d319993e/ruff-0.11.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bcfa478daf61ac8002214eb2ca5f3e9365048506a9d52b11bea3ecea822bb844", size = 11645156, upload-time = "2025-03-14T13:52:13.383Z" }, + { url = "https://files.pythonhosted.org/packages/ee/47/e27d17d83530a208f4a9ab2e94f758574a04c51e492aa58f91a3ed7cbbcb/ruff-0.11.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6fbb2aed66fe742a6a3a0075ed467a459b7cedc5ae01008340075909d819df1e", size = 13884167, upload-time = "2025-03-14T13:52:15.528Z" }, + { url = "https://files.pythonhosted.org/packages/9f/5e/42ffbb0a5d4b07bbc642b7d58357b4e19a0f4774275ca6ca7d1f7b5452cd/ruff-0.11.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92c0c1ff014351c0b0cdfdb1e35fa83b780f1e065667167bb9502d47ca41e6db", size = 11348311, upload-time = "2025-03-14T13:52:18.088Z" }, + { url = "https://files.pythonhosted.org/packages/c8/51/dc3ce0c5ce1a586727a3444a32f98b83ba99599bb1ebca29d9302886e87f/ruff-0.11.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e4fd5ff5de5f83e0458a138e8a869c7c5e907541aec32b707f57cf9a5e124445", size = 10305039, upload-time = "2025-03-14T13:52:20.476Z" }, + { url = "https://files.pythonhosted.org/packages/60/e0/475f0c2f26280f46f2d6d1df1ba96b3399e0234cf368cc4c88e6ad10dcd9/ruff-0.11.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:96bc89a5c5fd21a04939773f9e0e276308be0935de06845110f43fd5c2e4ead7", size = 9937939, upload-time = "2025-03-14T13:52:22.798Z" }, + { url = "https://files.pythonhosted.org/packages/e2/d3/3e61b7fd3e9cdd1e5b8c7ac188bec12975c824e51c5cd3d64caf81b0331e/ruff-0.11.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a9352b9d767889ec5df1483f94870564e8102d4d7e99da52ebf564b882cdc2c7", size = 10923259, upload-time = "2025-03-14T13:52:24.89Z" }, + { url = "https://files.pythonhosted.org/packages/30/32/cd74149ebb40b62ddd14bd2d1842149aeb7f74191fb0f49bd45c76909ff2/ruff-0.11.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:049a191969a10897fe052ef9cc7491b3ef6de79acd7790af7d7897b7a9bfbcb6", size = 11406212, upload-time = "2025-03-14T13:52:27.493Z" }, + { url = "https://files.pythonhosted.org/packages/00/ef/033022a6b104be32e899b00de704d7c6d1723a54d4c9e09d147368f14b62/ruff-0.11.0-py3-none-win32.whl", hash = "sha256:3191e9116b6b5bbe187447656f0c8526f0d36b6fd89ad78ccaad6bdc2fad7df2", size = 10310905, upload-time = "2025-03-14T13:52:30.46Z" }, + { url = "https://files.pythonhosted.org/packages/ed/8a/163f2e78c37757d035bd56cd60c8d96312904ca4a6deeab8442d7b3cbf89/ruff-0.11.0-py3-none-win_amd64.whl", hash = "sha256:c58bfa00e740ca0a6c43d41fb004cd22d165302f360aaa56f7126d544db31a21", size = 11411730, upload-time = "2025-03-14T13:52:32.508Z" }, + { url = "https://files.pythonhosted.org/packages/4e/f7/096f6efabe69b49d7ca61052fc70289c05d8d35735c137ef5ba5ef423662/ruff-0.11.0-py3-none-win_arm64.whl", hash = "sha256:868364fc23f5aa122b00c6f794211e85f7e78f5dffdf7c590ab90b8c4e69b657", size = 10538956, upload-time = "2025-03-14T13:52:34.491Z" }, ] [[package]] name = "scikit-learn" -version = "1.5.2" +version = "1.7.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "joblib" }, @@ -1047,18 +1047,28 @@ dependencies = [ { name = "scipy" }, { name = "threadpoolctl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/37/59/44985a2bdc95c74e34fef3d10cb5d93ce13b0e2a7baefffe1b53853b502d/scikit_learn-1.5.2.tar.gz", hash = "sha256:b4237ed7b3fdd0a4882792e68ef2545d5baa50aca3bb45aa7df468138ad8f94d", size = 7001680 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/db/b485c1ac54ff3bd9e7e6b39d3cc6609c4c76a65f52ab0a7b22b6c3ab0e9d/scikit_learn-1.5.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f932a02c3f4956dfb981391ab24bda1dbd90fe3d628e4b42caef3e041c67707a", size = 12110344 }, - { url = "https://files.pythonhosted.org/packages/54/1a/7deb52fa23aebb855431ad659b3c6a2e1709ece582cb3a63d66905e735fe/scikit_learn-1.5.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3b923d119d65b7bd555c73be5423bf06c0105678ce7e1f558cb4b40b0a5502b1", size = 11033502 }, - { url = "https://files.pythonhosted.org/packages/a1/32/4a7a205b14c11225609b75b28402c196e4396ac754dab6a81971b811781c/scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f60021ec1574e56632be2a36b946f8143bf4e5e6af4a06d85281adc22938e0dd", size = 12085794 }, - { url = "https://files.pythonhosted.org/packages/c6/29/044048c5e911373827c0e1d3051321b9183b2a4f8d4e2f11c08fcff83f13/scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:394397841449853c2290a32050382edaec3da89e35b3e03d6cc966aebc6a8ae6", size = 12945797 }, - { url = "https://files.pythonhosted.org/packages/aa/ce/c0b912f2f31aeb1b756a6ba56bcd84dd1f8a148470526a48515a3f4d48cd/scikit_learn-1.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:57cc1786cfd6bd118220a92ede80270132aa353647684efa385a74244a41e3b1", size = 10985467 }, - { url = "https://files.pythonhosted.org/packages/a4/50/8891028437858cc510e13578fe7046574a60c2aaaa92b02d64aac5b1b412/scikit_learn-1.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9a702e2de732bbb20d3bad29ebd77fc05a6b427dc49964300340e4c9328b3f5", size = 12025584 }, - { url = "https://files.pythonhosted.org/packages/d2/79/17feef8a1c14149436083bec0e61d7befb4812e272d5b20f9d79ea3e9ab1/scikit_learn-1.5.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:b0768ad641981f5d3a198430a1d31c3e044ed2e8a6f22166b4d546a5116d7908", size = 10959795 }, - { url = "https://files.pythonhosted.org/packages/b1/c8/f08313f9e2e656bd0905930ae8bf99a573ea21c34666a813b749c338202f/scikit_learn-1.5.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:178ddd0a5cb0044464fc1bfc4cca5b1833bfc7bb022d70b05db8530da4bb3dd3", size = 12077302 }, - { url = "https://files.pythonhosted.org/packages/a7/48/fbfb4dc72bed0fe31fe045fb30e924909ad03f717c36694351612973b1a9/scikit_learn-1.5.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7284ade780084d94505632241bf78c44ab3b6f1e8ccab3d2af58e0e950f9c12", size = 13002811 }, - { url = "https://files.pythonhosted.org/packages/a5/e7/0c869f9e60d225a77af90d2aefa7a4a4c0e745b149325d1450f0f0ce5399/scikit_learn-1.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:b7b0f9a0b1040830d38c39b91b3a44e1b643f4b36e36567b80b7c6bd2202a27f", size = 10951354 }, +sdist = { url = "https://files.pythonhosted.org/packages/98/c2/a7855e41c9d285dfe86dc50b250978105dce513d6e459ea66a6aeb0e1e0c/scikit_learn-1.7.2.tar.gz", hash = "sha256:20e9e49ecd130598f1ca38a1d85090e1a600147b9c02fa6f15d69cb53d968fda", size = 7193136, upload-time = "2025-09-09T08:21:29.075Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/aa/3996e2196075689afb9fce0410ebdb4a09099d7964d061d7213700204409/scikit_learn-1.7.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8d91a97fa2b706943822398ab943cde71858a50245e31bc71dba62aab1d60a96", size = 9259818, upload-time = "2025-09-09T08:20:43.19Z" }, + { url = "https://files.pythonhosted.org/packages/43/5d/779320063e88af9c4a7c2cf463ff11c21ac9c8bd730c4a294b0000b666c9/scikit_learn-1.7.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:acbc0f5fd2edd3432a22c69bed78e837c70cf896cd7993d71d51ba6708507476", size = 8636997, upload-time = "2025-09-09T08:20:45.468Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d0/0c577d9325b05594fdd33aa970bf53fb673f051a45496842caee13cfd7fe/scikit_learn-1.7.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e5bf3d930aee75a65478df91ac1225ff89cd28e9ac7bd1196853a9229b6adb0b", size = 9478381, upload-time = "2025-09-09T08:20:47.982Z" }, + { url = "https://files.pythonhosted.org/packages/82/70/8bf44b933837ba8494ca0fc9a9ab60f1c13b062ad0197f60a56e2fc4c43e/scikit_learn-1.7.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4d6e9deed1a47aca9fe2f267ab8e8fe82ee20b4526b2c0cd9e135cea10feb44", size = 9300296, upload-time = "2025-09-09T08:20:50.366Z" }, + { url = "https://files.pythonhosted.org/packages/c6/99/ed35197a158f1fdc2fe7c3680e9c70d0128f662e1fee4ed495f4b5e13db0/scikit_learn-1.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:6088aa475f0785e01bcf8529f55280a3d7d298679f50c0bb70a2364a82d0b290", size = 8731256, upload-time = "2025-09-09T08:20:52.627Z" }, + { url = "https://files.pythonhosted.org/packages/ae/93/a3038cb0293037fd335f77f31fe053b89c72f17b1c8908c576c29d953e84/scikit_learn-1.7.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0b7dacaa05e5d76759fb071558a8b5130f4845166d88654a0f9bdf3eb57851b7", size = 9212382, upload-time = "2025-09-09T08:20:54.731Z" }, + { url = "https://files.pythonhosted.org/packages/40/dd/9a88879b0c1104259136146e4742026b52df8540c39fec21a6383f8292c7/scikit_learn-1.7.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:abebbd61ad9e1deed54cca45caea8ad5f79e1b93173dece40bb8e0c658dbe6fe", size = 8592042, upload-time = "2025-09-09T08:20:57.313Z" }, + { url = "https://files.pythonhosted.org/packages/46/af/c5e286471b7d10871b811b72ae794ac5fe2989c0a2df07f0ec723030f5f5/scikit_learn-1.7.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:502c18e39849c0ea1a5d681af1dbcf15f6cce601aebb657aabbfe84133c1907f", size = 9434180, upload-time = "2025-09-09T08:20:59.671Z" }, + { url = "https://files.pythonhosted.org/packages/f1/fd/df59faa53312d585023b2da27e866524ffb8faf87a68516c23896c718320/scikit_learn-1.7.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a4c328a71785382fe3fe676a9ecf2c86189249beff90bf85e22bdb7efaf9ae0", size = 9283660, upload-time = "2025-09-09T08:21:01.71Z" }, + { url = "https://files.pythonhosted.org/packages/a7/c7/03000262759d7b6f38c836ff9d512f438a70d8a8ddae68ee80de72dcfb63/scikit_learn-1.7.2-cp313-cp313-win_amd64.whl", hash = "sha256:63a9afd6f7b229aad94618c01c252ce9e6fa97918c5ca19c9a17a087d819440c", size = 8702057, upload-time = "2025-09-09T08:21:04.234Z" }, + { url = "https://files.pythonhosted.org/packages/55/87/ef5eb1f267084532c8e4aef98a28b6ffe7425acbfd64b5e2f2e066bc29b3/scikit_learn-1.7.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9acb6c5e867447b4e1390930e3944a005e2cb115922e693c08a323421a6966e8", size = 9558731, upload-time = "2025-09-09T08:21:06.381Z" }, + { url = "https://files.pythonhosted.org/packages/93/f8/6c1e3fc14b10118068d7938878a9f3f4e6d7b74a8ddb1e5bed65159ccda8/scikit_learn-1.7.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:2a41e2a0ef45063e654152ec9d8bcfc39f7afce35b08902bfe290c2498a67a6a", size = 9038852, upload-time = "2025-09-09T08:21:08.628Z" }, + { url = "https://files.pythonhosted.org/packages/83/87/066cafc896ee540c34becf95d30375fe5cbe93c3b75a0ee9aa852cd60021/scikit_learn-1.7.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:98335fb98509b73385b3ab2bd0639b1f610541d3988ee675c670371d6a87aa7c", size = 9527094, upload-time = "2025-09-09T08:21:11.486Z" }, + { url = "https://files.pythonhosted.org/packages/9c/2b/4903e1ccafa1f6453b1ab78413938c8800633988c838aa0be386cbb33072/scikit_learn-1.7.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:191e5550980d45449126e23ed1d5e9e24b2c68329ee1f691a3987476e115e09c", size = 9367436, upload-time = "2025-09-09T08:21:13.602Z" }, + { url = "https://files.pythonhosted.org/packages/b5/aa/8444be3cfb10451617ff9d177b3c190288f4563e6c50ff02728be67ad094/scikit_learn-1.7.2-cp313-cp313t-win_amd64.whl", hash = "sha256:57dc4deb1d3762c75d685507fbd0bc17160144b2f2ba4ccea5dc285ab0d0e973", size = 9275749, upload-time = "2025-09-09T08:21:15.96Z" }, + { url = "https://files.pythonhosted.org/packages/d9/82/dee5acf66837852e8e68df6d8d3a6cb22d3df997b733b032f513d95205b7/scikit_learn-1.7.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fa8f63940e29c82d1e67a45d5297bdebbcb585f5a5a50c4914cc2e852ab77f33", size = 9208906, upload-time = "2025-09-09T08:21:18.557Z" }, + { url = "https://files.pythonhosted.org/packages/3c/30/9029e54e17b87cb7d50d51a5926429c683d5b4c1732f0507a6c3bed9bf65/scikit_learn-1.7.2-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:f95dc55b7902b91331fa4e5845dd5bde0580c9cd9612b1b2791b7e80c3d32615", size = 8627836, upload-time = "2025-09-09T08:21:20.695Z" }, + { url = "https://files.pythonhosted.org/packages/60/18/4a52c635c71b536879f4b971c2cedf32c35ee78f48367885ed8025d1f7ee/scikit_learn-1.7.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9656e4a53e54578ad10a434dc1f993330568cfee176dff07112b8785fb413106", size = 9426236, upload-time = "2025-09-09T08:21:22.645Z" }, + { url = "https://files.pythonhosted.org/packages/99/7e/290362f6ab582128c53445458a5befd471ed1ea37953d5bcf80604619250/scikit_learn-1.7.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96dc05a854add0e50d3f47a1ef21a10a595016da5b007c7d9cd9d0bffd1fcc61", size = 9312593, upload-time = "2025-09-09T08:21:24.65Z" }, + { url = "https://files.pythonhosted.org/packages/8e/87/24f541b6d62b1794939ae6422f8023703bbf6900378b2b34e0b4384dfefd/scikit_learn-1.7.2-cp314-cp314-win_amd64.whl", hash = "sha256:bb24510ed3f9f61476181e4db51ce801e2ba37541def12dc9333b946fc7a9cf8", size = 8820007, upload-time = "2025-09-09T08:21:26.713Z" }, ] [[package]] @@ -1068,35 +1078,35 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b7/b9/31ba9cd990e626574baf93fbc1ac61cf9ed54faafd04c479117517661637/scipy-1.15.2.tar.gz", hash = "sha256:cd58a314d92838f7e6f755c8a2167ead4f27e1fd5c1251fd54289569ef3495ec", size = 59417316 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4b/5d/3c78815cbab499610f26b5bae6aed33e227225a9fa5290008a733a64f6fc/scipy-1.15.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c4697a10da8f8765bb7c83e24a470da5797e37041edfd77fd95ba3811a47c4fd", size = 38756184 }, - { url = "https://files.pythonhosted.org/packages/37/20/3d04eb066b471b6e171827548b9ddb3c21c6bbea72a4d84fc5989933910b/scipy-1.15.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:869269b767d5ee7ea6991ed7e22b3ca1f22de73ab9a49c44bad338b725603301", size = 30163558 }, - { url = "https://files.pythonhosted.org/packages/a4/98/e5c964526c929ef1f795d4c343b2ff98634ad2051bd2bbadfef9e772e413/scipy-1.15.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:bad78d580270a4d32470563ea86c6590b465cb98f83d760ff5b0990cb5518a93", size = 22437211 }, - { url = "https://files.pythonhosted.org/packages/1d/cd/1dc7371e29195ecbf5222f9afeedb210e0a75057d8afbd942aa6cf8c8eca/scipy-1.15.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b09ae80010f52efddb15551025f9016c910296cf70adbf03ce2a8704f3a5ad20", size = 25232260 }, - { url = "https://files.pythonhosted.org/packages/f0/24/1a181a9e5050090e0b5138c5f496fee33293c342b788d02586bc410c6477/scipy-1.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a6fd6eac1ce74a9f77a7fc724080d507c5812d61e72bd5e4c489b042455865e", size = 35198095 }, - { url = "https://files.pythonhosted.org/packages/c0/53/eaada1a414c026673eb983f8b4a55fe5eb172725d33d62c1b21f63ff6ca4/scipy-1.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b871df1fe1a3ba85d90e22742b93584f8d2b8e6124f8372ab15c71b73e428b8", size = 37297371 }, - { url = "https://files.pythonhosted.org/packages/e9/06/0449b744892ed22b7e7b9a1994a866e64895363572677a316a9042af1fe5/scipy-1.15.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:03205d57a28e18dfd39f0377d5002725bf1f19a46f444108c29bdb246b6c8a11", size = 36872390 }, - { url = "https://files.pythonhosted.org/packages/6a/6f/a8ac3cfd9505ec695c1bc35edc034d13afbd2fc1882a7c6b473e280397bb/scipy-1.15.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:601881dfb761311045b03114c5fe718a12634e5608c3b403737ae463c9885d53", size = 39700276 }, - { url = "https://files.pythonhosted.org/packages/f5/6f/e6e5aff77ea2a48dd96808bb51d7450875af154ee7cbe72188afb0b37929/scipy-1.15.2-cp312-cp312-win_amd64.whl", hash = "sha256:e7c68b6a43259ba0aab737237876e5c2c549a031ddb7abc28c7b47f22e202ded", size = 40942317 }, - { url = "https://files.pythonhosted.org/packages/53/40/09319f6e0f276ea2754196185f95cd191cb852288440ce035d5c3a931ea2/scipy-1.15.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01edfac9f0798ad6b46d9c4c9ca0e0ad23dbf0b1eb70e96adb9fa7f525eff0bf", size = 38717587 }, - { url = "https://files.pythonhosted.org/packages/fe/c3/2854f40ecd19585d65afaef601e5e1f8dbf6758b2f95b5ea93d38655a2c6/scipy-1.15.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:08b57a9336b8e79b305a143c3655cc5bdbe6d5ece3378578888d2afbb51c4e37", size = 30100266 }, - { url = "https://files.pythonhosted.org/packages/dd/b1/f9fe6e3c828cb5930b5fe74cb479de5f3d66d682fa8adb77249acaf545b8/scipy-1.15.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:54c462098484e7466362a9f1672d20888f724911a74c22ae35b61f9c5919183d", size = 22373768 }, - { url = "https://files.pythonhosted.org/packages/15/9d/a60db8c795700414c3f681908a2b911e031e024d93214f2d23c6dae174ab/scipy-1.15.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:cf72ff559a53a6a6d77bd8eefd12a17995ffa44ad86c77a5df96f533d4e6c6bb", size = 25154719 }, - { url = "https://files.pythonhosted.org/packages/37/3b/9bda92a85cd93f19f9ed90ade84aa1e51657e29988317fabdd44544f1dd4/scipy-1.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9de9d1416b3d9e7df9923ab23cd2fe714244af10b763975bea9e4f2e81cebd27", size = 35163195 }, - { url = "https://files.pythonhosted.org/packages/03/5a/fc34bf1aa14dc7c0e701691fa8685f3faec80e57d816615e3625f28feb43/scipy-1.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb530e4794fc8ea76a4a21ccb67dea33e5e0e60f07fc38a49e821e1eae3b71a0", size = 37255404 }, - { url = "https://files.pythonhosted.org/packages/4a/71/472eac45440cee134c8a180dbe4c01b3ec247e0338b7c759e6cd71f199a7/scipy-1.15.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5ea7ed46d437fc52350b028b1d44e002646e28f3e8ddc714011aaf87330f2f32", size = 36860011 }, - { url = "https://files.pythonhosted.org/packages/01/b3/21f890f4f42daf20e4d3aaa18182dddb9192771cd47445aaae2e318f6738/scipy-1.15.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:11e7ad32cf184b74380f43d3c0a706f49358b904fa7d5345f16ddf993609184d", size = 39657406 }, - { url = "https://files.pythonhosted.org/packages/0d/76/77cf2ac1f2a9cc00c073d49e1e16244e389dd88e2490c91d84e1e3e4d126/scipy-1.15.2-cp313-cp313-win_amd64.whl", hash = "sha256:a5080a79dfb9b78b768cebf3c9dcbc7b665c5875793569f48bf0e2b1d7f68f6f", size = 40961243 }, - { url = "https://files.pythonhosted.org/packages/4c/4b/a57f8ddcf48e129e6054fa9899a2a86d1fc6b07a0e15c7eebff7ca94533f/scipy-1.15.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:447ce30cee6a9d5d1379087c9e474628dab3db4a67484be1b7dc3196bfb2fac9", size = 38870286 }, - { url = "https://files.pythonhosted.org/packages/0c/43/c304d69a56c91ad5f188c0714f6a97b9c1fed93128c691148621274a3a68/scipy-1.15.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:c90ebe8aaa4397eaefa8455a8182b164a6cc1d59ad53f79943f266d99f68687f", size = 30141634 }, - { url = "https://files.pythonhosted.org/packages/44/1a/6c21b45d2548eb73be9b9bff421aaaa7e85e22c1f9b3bc44b23485dfce0a/scipy-1.15.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:def751dd08243934c884a3221156d63e15234a3155cf25978b0a668409d45eb6", size = 22415179 }, - { url = "https://files.pythonhosted.org/packages/74/4b/aefac4bba80ef815b64f55da06f62f92be5d03b467f2ce3668071799429a/scipy-1.15.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:302093e7dfb120e55515936cb55618ee0b895f8bcaf18ff81eca086c17bd80af", size = 25126412 }, - { url = "https://files.pythonhosted.org/packages/b1/53/1cbb148e6e8f1660aacd9f0a9dfa2b05e9ff1cb54b4386fe868477972ac2/scipy-1.15.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd5b77413e1855351cdde594eca99c1f4a588c2d63711388b6a1f1c01f62274", size = 34952867 }, - { url = "https://files.pythonhosted.org/packages/2c/23/e0eb7f31a9c13cf2dca083828b97992dd22f8184c6ce4fec5deec0c81fcf/scipy-1.15.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d0194c37037707b2afa7a2f2a924cf7bac3dc292d51b6a925e5fcb89bc5c776", size = 36890009 }, - { url = "https://files.pythonhosted.org/packages/03/f3/e699e19cabe96bbac5189c04aaa970718f0105cff03d458dc5e2b6bd1e8c/scipy-1.15.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:bae43364d600fdc3ac327db99659dcb79e6e7ecd279a75fe1266669d9a652828", size = 36545159 }, - { url = "https://files.pythonhosted.org/packages/af/f5/ab3838e56fe5cc22383d6fcf2336e48c8fe33e944b9037fbf6cbdf5a11f8/scipy-1.15.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f031846580d9acccd0044efd1a90e6f4df3a6e12b4b6bd694a7bc03a89892b28", size = 39136566 }, - { url = "https://files.pythonhosted.org/packages/0a/c8/b3f566db71461cabd4b2d5b39bcc24a7e1c119535c8361f81426be39bb47/scipy-1.15.2-cp313-cp313t-win_amd64.whl", hash = "sha256:fe8a9eb875d430d81755472c5ba75e84acc980e4a8f6204d402849234d3017db", size = 40477705 }, +sdist = { url = "https://files.pythonhosted.org/packages/b7/b9/31ba9cd990e626574baf93fbc1ac61cf9ed54faafd04c479117517661637/scipy-1.15.2.tar.gz", hash = "sha256:cd58a314d92838f7e6f755c8a2167ead4f27e1fd5c1251fd54289569ef3495ec", size = 59417316, upload-time = "2025-02-17T00:42:24.791Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4b/5d/3c78815cbab499610f26b5bae6aed33e227225a9fa5290008a733a64f6fc/scipy-1.15.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c4697a10da8f8765bb7c83e24a470da5797e37041edfd77fd95ba3811a47c4fd", size = 38756184, upload-time = "2025-02-17T00:31:50.623Z" }, + { url = "https://files.pythonhosted.org/packages/37/20/3d04eb066b471b6e171827548b9ddb3c21c6bbea72a4d84fc5989933910b/scipy-1.15.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:869269b767d5ee7ea6991ed7e22b3ca1f22de73ab9a49c44bad338b725603301", size = 30163558, upload-time = "2025-02-17T00:31:56.721Z" }, + { url = "https://files.pythonhosted.org/packages/a4/98/e5c964526c929ef1f795d4c343b2ff98634ad2051bd2bbadfef9e772e413/scipy-1.15.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:bad78d580270a4d32470563ea86c6590b465cb98f83d760ff5b0990cb5518a93", size = 22437211, upload-time = "2025-02-17T00:32:03.042Z" }, + { url = "https://files.pythonhosted.org/packages/1d/cd/1dc7371e29195ecbf5222f9afeedb210e0a75057d8afbd942aa6cf8c8eca/scipy-1.15.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b09ae80010f52efddb15551025f9016c910296cf70adbf03ce2a8704f3a5ad20", size = 25232260, upload-time = "2025-02-17T00:32:07.847Z" }, + { url = "https://files.pythonhosted.org/packages/f0/24/1a181a9e5050090e0b5138c5f496fee33293c342b788d02586bc410c6477/scipy-1.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a6fd6eac1ce74a9f77a7fc724080d507c5812d61e72bd5e4c489b042455865e", size = 35198095, upload-time = "2025-02-17T00:32:14.565Z" }, + { url = "https://files.pythonhosted.org/packages/c0/53/eaada1a414c026673eb983f8b4a55fe5eb172725d33d62c1b21f63ff6ca4/scipy-1.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b871df1fe1a3ba85d90e22742b93584f8d2b8e6124f8372ab15c71b73e428b8", size = 37297371, upload-time = "2025-02-17T00:32:21.411Z" }, + { url = "https://files.pythonhosted.org/packages/e9/06/0449b744892ed22b7e7b9a1994a866e64895363572677a316a9042af1fe5/scipy-1.15.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:03205d57a28e18dfd39f0377d5002725bf1f19a46f444108c29bdb246b6c8a11", size = 36872390, upload-time = "2025-02-17T00:32:29.421Z" }, + { url = "https://files.pythonhosted.org/packages/6a/6f/a8ac3cfd9505ec695c1bc35edc034d13afbd2fc1882a7c6b473e280397bb/scipy-1.15.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:601881dfb761311045b03114c5fe718a12634e5608c3b403737ae463c9885d53", size = 39700276, upload-time = "2025-02-17T00:32:37.431Z" }, + { url = "https://files.pythonhosted.org/packages/f5/6f/e6e5aff77ea2a48dd96808bb51d7450875af154ee7cbe72188afb0b37929/scipy-1.15.2-cp312-cp312-win_amd64.whl", hash = "sha256:e7c68b6a43259ba0aab737237876e5c2c549a031ddb7abc28c7b47f22e202ded", size = 40942317, upload-time = "2025-02-17T00:32:45.47Z" }, + { url = "https://files.pythonhosted.org/packages/53/40/09319f6e0f276ea2754196185f95cd191cb852288440ce035d5c3a931ea2/scipy-1.15.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01edfac9f0798ad6b46d9c4c9ca0e0ad23dbf0b1eb70e96adb9fa7f525eff0bf", size = 38717587, upload-time = "2025-02-17T00:32:53.196Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c3/2854f40ecd19585d65afaef601e5e1f8dbf6758b2f95b5ea93d38655a2c6/scipy-1.15.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:08b57a9336b8e79b305a143c3655cc5bdbe6d5ece3378578888d2afbb51c4e37", size = 30100266, upload-time = "2025-02-17T00:32:59.318Z" }, + { url = "https://files.pythonhosted.org/packages/dd/b1/f9fe6e3c828cb5930b5fe74cb479de5f3d66d682fa8adb77249acaf545b8/scipy-1.15.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:54c462098484e7466362a9f1672d20888f724911a74c22ae35b61f9c5919183d", size = 22373768, upload-time = "2025-02-17T00:33:04.091Z" }, + { url = "https://files.pythonhosted.org/packages/15/9d/a60db8c795700414c3f681908a2b911e031e024d93214f2d23c6dae174ab/scipy-1.15.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:cf72ff559a53a6a6d77bd8eefd12a17995ffa44ad86c77a5df96f533d4e6c6bb", size = 25154719, upload-time = "2025-02-17T00:33:08.909Z" }, + { url = "https://files.pythonhosted.org/packages/37/3b/9bda92a85cd93f19f9ed90ade84aa1e51657e29988317fabdd44544f1dd4/scipy-1.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9de9d1416b3d9e7df9923ab23cd2fe714244af10b763975bea9e4f2e81cebd27", size = 35163195, upload-time = "2025-02-17T00:33:15.352Z" }, + { url = "https://files.pythonhosted.org/packages/03/5a/fc34bf1aa14dc7c0e701691fa8685f3faec80e57d816615e3625f28feb43/scipy-1.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb530e4794fc8ea76a4a21ccb67dea33e5e0e60f07fc38a49e821e1eae3b71a0", size = 37255404, upload-time = "2025-02-17T00:33:22.21Z" }, + { url = "https://files.pythonhosted.org/packages/4a/71/472eac45440cee134c8a180dbe4c01b3ec247e0338b7c759e6cd71f199a7/scipy-1.15.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5ea7ed46d437fc52350b028b1d44e002646e28f3e8ddc714011aaf87330f2f32", size = 36860011, upload-time = "2025-02-17T00:33:29.446Z" }, + { url = "https://files.pythonhosted.org/packages/01/b3/21f890f4f42daf20e4d3aaa18182dddb9192771cd47445aaae2e318f6738/scipy-1.15.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:11e7ad32cf184b74380f43d3c0a706f49358b904fa7d5345f16ddf993609184d", size = 39657406, upload-time = "2025-02-17T00:33:39.019Z" }, + { url = "https://files.pythonhosted.org/packages/0d/76/77cf2ac1f2a9cc00c073d49e1e16244e389dd88e2490c91d84e1e3e4d126/scipy-1.15.2-cp313-cp313-win_amd64.whl", hash = "sha256:a5080a79dfb9b78b768cebf3c9dcbc7b665c5875793569f48bf0e2b1d7f68f6f", size = 40961243, upload-time = "2025-02-17T00:34:51.024Z" }, + { url = "https://files.pythonhosted.org/packages/4c/4b/a57f8ddcf48e129e6054fa9899a2a86d1fc6b07a0e15c7eebff7ca94533f/scipy-1.15.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:447ce30cee6a9d5d1379087c9e474628dab3db4a67484be1b7dc3196bfb2fac9", size = 38870286, upload-time = "2025-02-17T00:33:47.62Z" }, + { url = "https://files.pythonhosted.org/packages/0c/43/c304d69a56c91ad5f188c0714f6a97b9c1fed93128c691148621274a3a68/scipy-1.15.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:c90ebe8aaa4397eaefa8455a8182b164a6cc1d59ad53f79943f266d99f68687f", size = 30141634, upload-time = "2025-02-17T00:33:54.131Z" }, + { url = "https://files.pythonhosted.org/packages/44/1a/6c21b45d2548eb73be9b9bff421aaaa7e85e22c1f9b3bc44b23485dfce0a/scipy-1.15.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:def751dd08243934c884a3221156d63e15234a3155cf25978b0a668409d45eb6", size = 22415179, upload-time = "2025-02-17T00:33:59.948Z" }, + { url = "https://files.pythonhosted.org/packages/74/4b/aefac4bba80ef815b64f55da06f62f92be5d03b467f2ce3668071799429a/scipy-1.15.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:302093e7dfb120e55515936cb55618ee0b895f8bcaf18ff81eca086c17bd80af", size = 25126412, upload-time = "2025-02-17T00:34:06.328Z" }, + { url = "https://files.pythonhosted.org/packages/b1/53/1cbb148e6e8f1660aacd9f0a9dfa2b05e9ff1cb54b4386fe868477972ac2/scipy-1.15.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd5b77413e1855351cdde594eca99c1f4a588c2d63711388b6a1f1c01f62274", size = 34952867, upload-time = "2025-02-17T00:34:12.928Z" }, + { url = "https://files.pythonhosted.org/packages/2c/23/e0eb7f31a9c13cf2dca083828b97992dd22f8184c6ce4fec5deec0c81fcf/scipy-1.15.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d0194c37037707b2afa7a2f2a924cf7bac3dc292d51b6a925e5fcb89bc5c776", size = 36890009, upload-time = "2025-02-17T00:34:19.55Z" }, + { url = "https://files.pythonhosted.org/packages/03/f3/e699e19cabe96bbac5189c04aaa970718f0105cff03d458dc5e2b6bd1e8c/scipy-1.15.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:bae43364d600fdc3ac327db99659dcb79e6e7ecd279a75fe1266669d9a652828", size = 36545159, upload-time = "2025-02-17T00:34:26.724Z" }, + { url = "https://files.pythonhosted.org/packages/af/f5/ab3838e56fe5cc22383d6fcf2336e48c8fe33e944b9037fbf6cbdf5a11f8/scipy-1.15.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f031846580d9acccd0044efd1a90e6f4df3a6e12b4b6bd694a7bc03a89892b28", size = 39136566, upload-time = "2025-02-17T00:34:34.512Z" }, + { url = "https://files.pythonhosted.org/packages/0a/c8/b3f566db71461cabd4b2d5b39bcc24a7e1c119535c8361f81426be39bb47/scipy-1.15.2-cp313-cp313t-win_amd64.whl", hash = "sha256:fe8a9eb875d430d81755472c5ba75e84acc980e4a8f6204d402849234d3017db", size = 40477705, upload-time = "2025-02-17T00:34:43.619Z" }, ] [[package]] @@ -1108,18 +1118,18 @@ dependencies = [ { name = "numpy" }, { name = "pandas" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/86/59/a451d7420a77ab0b98f7affa3a1d78a313d2f7281a57afb1a34bae8ab412/seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7", size = 1457696 } +sdist = { url = "https://files.pythonhosted.org/packages/86/59/a451d7420a77ab0b98f7affa3a1d78a313d2f7281a57afb1a34bae8ab412/seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7", size = 1457696, upload-time = "2024-01-25T13:21:52.551Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987", size = 294914 }, + { url = "https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987", size = 294914, upload-time = "2024-01-25T13:21:49.598Z" }, ] [[package]] name = "six" version = "1.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, ] [[package]] @@ -1131,9 +1141,9 @@ dependencies = [ { name = "executing" }, { name = "pure-eval" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707 } +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521 }, + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, ] [[package]] @@ -1147,65 +1157,65 @@ dependencies = [ { name = "patsy" }, { name = "scipy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1f/3b/963a015dd8ea17e10c7b0e2f14d7c4daec903baf60a017e756b57953a4bf/statsmodels-0.14.4.tar.gz", hash = "sha256:5d69e0f39060dc72c067f9bb6e8033b6dccdb0bae101d76a7ef0bcc94e898b67", size = 20354802 } +sdist = { url = "https://files.pythonhosted.org/packages/1f/3b/963a015dd8ea17e10c7b0e2f14d7c4daec903baf60a017e756b57953a4bf/statsmodels-0.14.4.tar.gz", hash = "sha256:5d69e0f39060dc72c067f9bb6e8033b6dccdb0bae101d76a7ef0bcc94e898b67", size = 20354802, upload-time = "2024-10-03T16:15:36.273Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f5/99/654fd41a9024643ee70b239e5ebc987bf98ce9fc2693bd550bee58136564/statsmodels-0.14.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5221dba7424cf4f2561b22e9081de85f5bb871228581124a0d1b572708545199", size = 10220508 }, - { url = "https://files.pythonhosted.org/packages/67/d8/ac30cf4cf97adaa48548be57e7cf02e894f31b45fd55bf9213358d9781c9/statsmodels-0.14.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:17672b30c6b98afe2b095591e32d1d66d4372f2651428e433f16a3667f19eabb", size = 9912317 }, - { url = "https://files.pythonhosted.org/packages/e0/77/2440d551eaf27f9c1d3650e13b3821a35ad5b21d3a19f62fb302af9203e8/statsmodels-0.14.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ab5e6312213b8cfb9dca93dd46a0f4dccb856541f91d3306227c3d92f7659245", size = 10301662 }, - { url = "https://files.pythonhosted.org/packages/fa/e1/60a652f18996a40a7410aeb7eb476c18da8a39792c7effe67f06883e9852/statsmodels-0.14.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bbb150620b53133d6cd1c5d14c28a4f85701e6c781d9b689b53681effaa655f", size = 10741763 }, - { url = "https://files.pythonhosted.org/packages/81/0c/2453eec3ac25e300847d9ed97f41156de145e507391ecb5ac989e111e525/statsmodels-0.14.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb695c2025d122a101c2aca66d2b78813c321b60d3a7c86bb8ec4467bb53b0f9", size = 10879534 }, - { url = "https://files.pythonhosted.org/packages/59/9a/e466a1b887a1441141e52dbcc98152f013d85076576da6eed2357f2016ae/statsmodels-0.14.4-cp312-cp312-win_amd64.whl", hash = "sha256:7f7917a51766b4e074da283c507a25048ad29a18e527207883d73535e0dc6184", size = 9823866 }, - { url = "https://files.pythonhosted.org/packages/31/f8/2662e6a101315ad336f75168fa9bac71f913ebcb92a6be84031d84a0f21f/statsmodels-0.14.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b5a24f5d2c22852d807d2b42daf3a61740820b28d8381daaf59dcb7055bf1a79", size = 10186886 }, - { url = "https://files.pythonhosted.org/packages/fa/c0/ee6e8ed35fc1ca9c7538c592f4974547bf72274bc98db1ae4a6e87481a83/statsmodels-0.14.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df4f7864606fa843d7e7c0e6af288f034a2160dba14e6ccc09020a3cf67cb092", size = 9880066 }, - { url = "https://files.pythonhosted.org/packages/d1/97/3380ca6d8fd66cfb3d12941e472642f26e781a311c355a4e97aab2ed0216/statsmodels-0.14.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91341cbde9e8bea5fb419a76e09114e221567d03f34ca26e6d67ae2c27d8fe3c", size = 10283521 }, - { url = "https://files.pythonhosted.org/packages/fe/2a/55c5b5c5e5124a202ea3fe0bcdbdeceaf91b4ec6164b8434acb9dd97409c/statsmodels-0.14.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1322286a7bfdde2790bf72d29698a1b76c20b8423a55bdcd0d457969d0041f72", size = 10723228 }, - { url = "https://files.pythonhosted.org/packages/4f/76/67747e49dc758daae06f33aad8247b718cd7d224f091d2cd552681215bb2/statsmodels-0.14.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e31b95ac603415887c9f0d344cb523889cf779bc52d68e27e2d23c358958fec7", size = 10859503 }, - { url = "https://files.pythonhosted.org/packages/1d/eb/cb8b01f5edf8f135eb3d0553d159db113a35b2948d0e51eeb735e7ae09ea/statsmodels-0.14.4-cp313-cp313-win_amd64.whl", hash = "sha256:81030108d27aecc7995cac05aa280cf8c6025f6a6119894eef648997936c2dd0", size = 9817574 }, + { url = "https://files.pythonhosted.org/packages/f5/99/654fd41a9024643ee70b239e5ebc987bf98ce9fc2693bd550bee58136564/statsmodels-0.14.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5221dba7424cf4f2561b22e9081de85f5bb871228581124a0d1b572708545199", size = 10220508, upload-time = "2024-10-03T17:10:31.183Z" }, + { url = "https://files.pythonhosted.org/packages/67/d8/ac30cf4cf97adaa48548be57e7cf02e894f31b45fd55bf9213358d9781c9/statsmodels-0.14.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:17672b30c6b98afe2b095591e32d1d66d4372f2651428e433f16a3667f19eabb", size = 9912317, upload-time = "2024-10-03T16:22:29.504Z" }, + { url = "https://files.pythonhosted.org/packages/e0/77/2440d551eaf27f9c1d3650e13b3821a35ad5b21d3a19f62fb302af9203e8/statsmodels-0.14.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ab5e6312213b8cfb9dca93dd46a0f4dccb856541f91d3306227c3d92f7659245", size = 10301662, upload-time = "2024-10-03T17:13:04.537Z" }, + { url = "https://files.pythonhosted.org/packages/fa/e1/60a652f18996a40a7410aeb7eb476c18da8a39792c7effe67f06883e9852/statsmodels-0.14.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bbb150620b53133d6cd1c5d14c28a4f85701e6c781d9b689b53681effaa655f", size = 10741763, upload-time = "2024-10-03T17:13:17.594Z" }, + { url = "https://files.pythonhosted.org/packages/81/0c/2453eec3ac25e300847d9ed97f41156de145e507391ecb5ac989e111e525/statsmodels-0.14.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb695c2025d122a101c2aca66d2b78813c321b60d3a7c86bb8ec4467bb53b0f9", size = 10879534, upload-time = "2024-10-03T17:13:31.19Z" }, + { url = "https://files.pythonhosted.org/packages/59/9a/e466a1b887a1441141e52dbcc98152f013d85076576da6eed2357f2016ae/statsmodels-0.14.4-cp312-cp312-win_amd64.whl", hash = "sha256:7f7917a51766b4e074da283c507a25048ad29a18e527207883d73535e0dc6184", size = 9823866, upload-time = "2024-10-03T16:14:23.828Z" }, + { url = "https://files.pythonhosted.org/packages/31/f8/2662e6a101315ad336f75168fa9bac71f913ebcb92a6be84031d84a0f21f/statsmodels-0.14.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b5a24f5d2c22852d807d2b42daf3a61740820b28d8381daaf59dcb7055bf1a79", size = 10186886, upload-time = "2024-10-03T17:10:44.074Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c0/ee6e8ed35fc1ca9c7538c592f4974547bf72274bc98db1ae4a6e87481a83/statsmodels-0.14.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df4f7864606fa843d7e7c0e6af288f034a2160dba14e6ccc09020a3cf67cb092", size = 9880066, upload-time = "2024-10-03T17:10:56.972Z" }, + { url = "https://files.pythonhosted.org/packages/d1/97/3380ca6d8fd66cfb3d12941e472642f26e781a311c355a4e97aab2ed0216/statsmodels-0.14.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91341cbde9e8bea5fb419a76e09114e221567d03f34ca26e6d67ae2c27d8fe3c", size = 10283521, upload-time = "2024-10-03T17:14:06.216Z" }, + { url = "https://files.pythonhosted.org/packages/fe/2a/55c5b5c5e5124a202ea3fe0bcdbdeceaf91b4ec6164b8434acb9dd97409c/statsmodels-0.14.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1322286a7bfdde2790bf72d29698a1b76c20b8423a55bdcd0d457969d0041f72", size = 10723228, upload-time = "2024-10-03T17:14:19.587Z" }, + { url = "https://files.pythonhosted.org/packages/4f/76/67747e49dc758daae06f33aad8247b718cd7d224f091d2cd552681215bb2/statsmodels-0.14.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e31b95ac603415887c9f0d344cb523889cf779bc52d68e27e2d23c358958fec7", size = 10859503, upload-time = "2024-10-03T17:14:32.798Z" }, + { url = "https://files.pythonhosted.org/packages/1d/eb/cb8b01f5edf8f135eb3d0553d159db113a35b2948d0e51eeb735e7ae09ea/statsmodels-0.14.4-cp313-cp313-win_amd64.whl", hash = "sha256:81030108d27aecc7995cac05aa280cf8c6025f6a6119894eef648997936c2dd0", size = 9817574, upload-time = "2024-10-03T16:14:37.461Z" }, ] [[package]] name = "threadpoolctl" version = "3.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274 } +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638 }, + { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" }, ] [[package]] name = "tornado" version = "6.4.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135 } +sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135, upload-time = "2024-11-22T03:06:38.036Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299 }, - { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253 }, - { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602 }, - { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972 }, - { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173 }, - { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892 }, - { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334 }, - { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261 }, - { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463 }, - { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907 }, + { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299, upload-time = "2024-11-22T03:06:20.162Z" }, + { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253, upload-time = "2024-11-22T03:06:22.39Z" }, + { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602, upload-time = "2024-11-22T03:06:24.214Z" }, + { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972, upload-time = "2024-11-22T03:06:25.559Z" }, + { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173, upload-time = "2024-11-22T03:06:27.584Z" }, + { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892, upload-time = "2024-11-22T03:06:28.933Z" }, + { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334, upload-time = "2024-11-22T03:06:30.428Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261, upload-time = "2024-11-22T03:06:32.458Z" }, + { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463, upload-time = "2024-11-22T03:06:34.71Z" }, + { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907, upload-time = "2024-11-22T03:06:36.71Z" }, ] [[package]] name = "traitlets" version = "5.14.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621 } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359 }, + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, ] [[package]] name = "tzdata" version = "2025.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/0f/fa4723f22942480be4ca9527bbde8d43f6c3f2fe8412f00e7f5f6746bc8b/tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", size = 194950 } +sdist = { url = "https://files.pythonhosted.org/packages/43/0f/fa4723f22942480be4ca9527bbde8d43f6c3f2fe8412f00e7f5f6746bc8b/tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", size = 194950, upload-time = "2025-01-21T19:49:38.686Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639", size = 346762 }, + { url = "https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639", size = 346762, upload-time = "2025-01-21T19:49:37.187Z" }, ] [[package]] @@ -1217,16 +1227,16 @@ dependencies = [ { name = "filelock" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af", size = 6076316 } +sdist = { url = "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af", size = 6076316, upload-time = "2025-05-08T17:58:23.811Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/40/b1c265d4b2b62b58576588510fc4d1fe60a86319c8de99fd8e9fec617d2c/virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11", size = 6057982 }, + { url = "https://files.pythonhosted.org/packages/f3/40/b1c265d4b2b62b58576588510fc4d1fe60a86319c8de99fd8e9fec617d2c/virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11", size = 6057982, upload-time = "2025-05-08T17:58:21.15Z" }, ] [[package]] name = "wcwidth" version = "0.2.13" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301 } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166 }, + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, ] diff --git a/results/did/did_cs_atte_coverage_metadata.csv b/results/did/did_cs_atte_coverage_metadata.csv index 091e5c66..7cc6f839 100644 --- a/results/did/did_cs_atte_coverage_metadata.csv +++ b/results/did/did_cs_atte_coverage_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (seconds),Python Version -0.11.dev0,did_cs_atte_coverage.py,2025-09-08 10:19:25,13230.593134403229,3.12.3 +0.12.dev0,did_cs_atte_coverage.py,2025-12-04 20:44:32,12870.662700414658,3.12.3 diff --git a/results/did/did_cs_multi_config.yml b/results/did/did_cs_multi_config.yml index d469e0b4..99d4329c 100644 --- a/results/did/did_cs_multi_config.yml +++ b/results/did/did_cs_multi_config.yml @@ -9,7 +9,7 @@ dgp_parameters: - 4 - 6 n_obs: - - 2000 + - 1000 lambda_t: - 0.5 learner_definitions: @@ -19,30 +19,8 @@ learner_definitions: name: Logistic lgbmr: &id003 name: LGBM Regr. - params: - n_estimators: 300 - learning_rate: 0.03 - num_leaves: 7 - max_depth: 3 - min_child_samples: 20 - subsample: 0.8 - colsample_bytree: 0.8 - reg_alpha: 0.1 - reg_lambda: 1.0 - random_state: 42 lgbmc: &id004 name: LGBM Clas. - params: - n_estimators: 300 - learning_rate: 0.03 - num_leaves: 7 - max_depth: 3 - min_child_samples: 20 - subsample: 0.8 - colsample_bytree: 0.8 - reg_alpha: 0.1 - reg_lambda: 1.0 - random_state: 42 dml_parameters: learners: - ml_g: *id001 diff --git a/results/did/did_cs_multi_detailed.csv b/results/did/did_cs_multi_detailed.csv index d1d95ab7..39ccee5d 100644 --- a/results/did/did_cs_multi_detailed.csv +++ b/results/did/did_cs_multi_detailed.csv @@ -1,49 +1,49 @@ -Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.75,1.778614580306219,0.5960664419046884,0.36200716845878134,2.7753128098849658,279 -LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.8234767025089605,2.1193499911836593,0.5960664419046884,0.5197132616487455,3.046234800893927,279 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.7574671445639188,1.7673512077587101,0.5877301896781565,0.35842293906810035,2.7750176684642893,279 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.8285543608124253,2.105928854995092,0.5877301896781565,0.5125448028673835,3.0376307888560263,279 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.953405017921147,1.7711378031482288,0.3485951085214999,0.982078853046595,2.7786621957580335,279 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.982078853046595,2.1104408616964037,0.3485951085214999,0.989247311827957,3.043575951249779,279 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.7455197132616488,1.7798346094911495,0.6014872582751684,0.33691756272401435,2.777451317728216,279 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.8255675029868579,2.1208037456231854,0.6014872582751684,0.5017921146953405,3.0459581940581923,279 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.755973715651135,1.766929436888452,0.5834788162107485,0.3655913978494624,2.7725803051166205,279 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.8291517323775388,2.1054262840052553,0.5834788162107485,0.5555555555555556,3.035233811976123,279 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.9605734767025089,1.7714530285340087,0.34314288186137,0.978494623655914,2.7789019074112855,279 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9841696535244921,2.1108164759109562,0.34314288186137,0.996415770609319,3.0455285637203886,279 -LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.9483273596176821,2.0308822899152084,0.43043163182179567,0.989247311827957,3.186602696895313,279 -LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9796893667861409,2.4199455075229475,0.43043163182179567,0.996415770609319,3.4900418275751783,279 -LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9217443249701315,2.6108911501102927,0.5867926575137528,0.9247311827956989,4.080813037421938,279 -LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.9599761051373954,3.1110686920238084,0.5867926575137528,0.9605734767025089,4.475229809570479,279 -LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.948626045400239,2.014627594409634,0.4068166752203039,0.974910394265233,3.1616003008165534,279 -LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.9796893667861409,2.40057684319405,0.4068166752203039,0.985663082437276,3.463547004360337,279 -LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.9516129032258065,1.996352116602651,0.4182517906789826,0.974910394265233,3.1337446246342635,279 -LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9814814814814814,2.3788002682362324,0.4182517906789826,0.996415770609319,3.4305112612958353,279 -LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.919952210274791,2.5594683220019543,0.5644116455203284,0.946236559139785,4.002648701069293,279 -LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9659498207885304,3.0497946130272884,0.5644116455203284,0.967741935483871,4.386415620739374,279 -LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.9411589008363201,1.9939367995221768,0.40946212637122803,0.978494623655914,3.1288239608382087,279 -LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9758064516129032,2.375922240421838,0.40946212637122803,0.989247311827957,3.427382307215447,279 -Linear,Logistic,experimental,False,1,0.9,0.9106929510155317,0.416845415185824,0.09765077648267778,0.9139784946236559,0.6499084007733272,279 -Linear,Logistic,experimental,False,1,0.95,0.9575866188769415,0.49670194812353635,0.09765077648267778,0.942652329749104,0.7142025343093921,279 -Linear,Logistic,experimental,False,4,0.9,0.7353643966547192,2.7965200585349543,0.9725277709187674,0.3548387096774194,4.378382067605002,279 -Linear,Logistic,experimental,False,4,0.95,0.8070489844683393,3.3322591791531257,0.9725277709187674,0.4838709677419355,4.802135932987083,279 -Linear,Logistic,experimental,False,6,0.9,0.9656511350059738,2.933611463613629,0.5575047957568199,0.985663082437276,4.590870477824951,279 -Linear,Logistic,experimental,False,6,0.95,0.9868578255675029,3.4956136637963477,0.5575047957568199,1.0,5.033195652163488,279 -Linear,Logistic,experimental,True,1,0.9,0.9133811230585425,0.4169045731218592,0.09745090018793506,0.9068100358422939,0.6496277755162176,279 -Linear,Logistic,experimental,True,1,0.95,0.9581839904420549,0.4967724391521171,0.09745090018793506,0.942652329749104,0.7134054600135054,279 -Linear,Logistic,experimental,True,4,0.9,0.7347670250896058,2.796930951690407,0.9732015048144421,0.35125448028673834,4.379185168949285,279 -Linear,Logistic,experimental,True,4,0.95,0.8067502986857826,3.332748788546317,0.9732015048144421,0.4767025089605735,4.800320987521932,279 -Linear,Logistic,experimental,True,6,0.9,0.9617682198327359,2.9339591943302765,0.5587320993183728,0.989247311827957,4.587239933690171,279 -Linear,Logistic,experimental,True,6,0.95,0.9874551971326165,3.4960280105016,0.5587320993183728,0.996415770609319,5.027743081254625,279 -Linear,Logistic,observational,False,1,0.9,0.9510155316606929,0.44690466316390964,0.0923145109483158,0.9713261648745519,0.6956035933691973,279 -Linear,Logistic,observational,False,1,0.95,0.9823775388291517,0.532519751284902,0.0923145109483158,0.989247311827957,0.7644785034564796,279 -Linear,Logistic,observational,False,4,0.9,0.8198924731182796,3.3981305997913656,1.0076858299266183,0.6559139784946236,5.28563070760084,279 -Linear,Logistic,observational,False,4,0.95,0.8948626045400239,4.0491223542476735,1.0076858299266183,0.7885304659498208,5.806675171191566,279 -Linear,Logistic,observational,False,6,0.9,0.9656511350059738,3.0138558768024004,0.5776489786450035,0.982078853046595,4.705706926180292,279 -Linear,Logistic,observational,False,6,0.95,0.9865591397849462,3.5912307796500156,0.5776489786450035,0.996415770609319,5.15807474968051,279 -Linear,Logistic,observational,True,1,0.9,0.9489247311827957,0.4455964561218644,0.09215210238176288,0.96415770609319,0.6930347576956017,279 -Linear,Logistic,observational,True,1,0.95,0.9823775388291517,0.5309609264480182,0.09215210238176288,0.989247311827957,0.7619686090236201,279 -Linear,Logistic,observational,True,4,0.9,0.8243727598566308,3.4010070491186695,1.0041104807135977,0.7132616487455197,5.292540058984283,279 -Linear,Logistic,observational,True,4,0.95,0.9017323775388292,4.052549855024942,1.0041104807135977,0.8315412186379928,5.811117953650732,279 -Linear,Logistic,observational,True,6,0.9,0.9623655913978495,3.01035064541757,0.5787225111971113,0.978494623655914,4.709297900485361,279 -Linear,Logistic,observational,True,6,0.95,0.9868578255675029,3.587054038839053,0.5787225111971113,1.0,5.16336213800866,279 +Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_d0_t0,Loss g_d1_t0,Loss g_d0_t1,Loss g_d1_t1,Loss m,repetition +LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.8998333333333334,3.3125096194345844,0.7826860599680568,0.874,5.190622294862132,6.617282691976663,5.988405546643561,10.433768136791137,9.401627631428449,,500 +LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.9491666666666666,3.94709866346412,0.7826860599680568,0.924,5.688320448375571,6.617282691976663,5.988405546643561,10.433768136791137,9.401627631428449,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.8925,2.8443984995799974,0.6946961050569026,0.85,4.47385955752261,5.478783669135401,5.5473424625830665,8.578982469210048,8.69589502771623,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.9438333333333334,3.3893098604700582,0.6946961050569026,0.934,4.894365177002075,5.478783669135401,5.5473424625830665,8.578982469210048,8.69589502771623,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.9583333333333334,2.8722638889426007,0.5547519589032016,0.984,4.516928273001306,5.558095521410893,5.564711313324499,8.69537790943,8.729681431584753,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9866666666666666,3.4225135198540912,0.5547519589032016,0.992,4.945026241307186,5.558095521410893,5.564711313324499,8.69537790943,8.729681431584753,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.8971666666666667,3.3133694587670433,0.7877473595148027,0.868,5.192402551317713,6.6136666751556525,5.987226860773448,10.428640368494829,9.40200596142953,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.9485,3.9481232252223806,0.7877473595148027,0.93,5.693392740297791,6.6136666751556525,5.987226860773448,10.428640368494829,9.40200596142953,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.895,2.8450922417521425,0.6936321338225757,0.85,4.472132834713051,5.483600251103322,5.545699398474001,8.587704431322381,8.68529322791349,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.9435,3.390136505254543,0.6936321338225757,0.918,4.897290164597576,5.483600251103322,5.545699398474001,8.587704431322381,8.68529322791349,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.9571666666666666,2.8748599891408184,0.5612303158396071,0.984,4.515619941533206,5.556215492953239,5.566798575190458,8.697387677372742,8.732028582264512,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9825,3.4256069640398783,0.5612303158396071,0.994,4.945054636407004,5.556215492953239,5.566798575190458,8.697387677372742,8.732028582264512,,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.935,13.859697053308652,3.217955633214692,0.974,21.93451136853079,6.61431322341285,5.989098338531844,10.441531473425052,9.401922782821982,0.6223517773930638,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9746666666666667,16.514847653323926,3.217955633214692,0.992,23.956160800648714,6.61431322341285,5.989098338531844,10.441531473425052,9.401922782821982,0.6223517773930638,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9428333333333334,17.032345278494457,3.864575332779374,0.984,26.925514038366096,5.483529511409194,5.544572471266972,8.573728123423898,8.686222700734833,0.620652439220559,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.9803333333333334,20.29529118646911,3.864575332779374,0.994,29.404302891187243,5.483529511409194,5.544572471266972,8.573728123423898,8.686222700734833,0.620652439220559,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9386666666666666,13.00077820868831,2.9868542494843107,0.982,20.613043350884578,5.556447030625612,5.566332217435632,8.697349572684388,8.724714850333458,0.6425912403978503,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.9776666666666667,15.491382723974143,2.9868542494843107,0.996,22.510996928795095,5.556447030625612,5.566332217435632,8.697349572684388,8.724714850333458,0.6425912403978503,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.924,6.692125082774109,1.5592940552590642,0.962,10.587759646934659,6.610953777859591,5.987558649973095,10.431331456540903,9.398209506600173,0.6227191384163594,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9665,7.9741588718649865,1.5592940552590642,0.988,11.561670514923387,6.610953777859591,5.987558649973095,10.431331456540903,9.398209506600173,0.6227191384163594,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9268333333333334,7.978285486073211,1.8193263319083899,0.954,12.629428048973397,5.481503486929605,5.549881921443366,8.586152274155427,8.691875547038066,0.6204308565768274,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9661666666666666,9.506713518371608,1.8193263319083899,0.98,13.796787321478446,5.481503486929605,5.549881921443366,8.586152274155427,8.691875547038066,0.6204308565768274,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.9258333333333334,6.659405492936204,1.5618321839612377,0.962,10.561572025184674,5.5560627139726915,5.569138600194468,8.697199773476768,8.730173653898916,0.6422062286736312,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9693333333333334,7.935171075856613,1.5618321839612377,0.98,11.533983370482504,5.5560627139726915,5.569138600194468,8.697199773476768,8.730173653898916,0.6422062286736312,500 +Linear,Logistic,experimental,False,1,0.9,0.9251666666666666,0.5935812439707215,0.13009419102278003,0.95,0.9249059784854823,1.4326492523105687,1.4311291054269213,1.4325223901031552,1.4317781279701975,,500 +Linear,Logistic,experimental,False,1,0.95,0.968,0.7072956772678356,0.13009419102278003,0.97,1.0148607138151193,1.4326492523105687,1.4311291054269213,1.4325223901031552,1.4317781279701975,,500 +Linear,Logistic,experimental,False,4,0.9,0.8713333333333334,4.053822589654013,1.0450624650623617,0.804,6.341922848402283,7.312512104360314,7.364921614399227,11.66805513936815,11.709611562434787,,500 +Linear,Logistic,experimental,False,4,0.95,0.9275,4.830427550056508,1.0450624650623617,0.882,6.957235839248235,7.312512104360314,7.364921614399227,11.66805513936815,11.709611562434787,,500 +Linear,Logistic,experimental,False,6,0.9,0.9666666666666667,4.180660537727563,0.7756239290159009,0.992,6.539220241148233,7.557717971919393,7.578566933659404,12.021131413918786,12.099925992696773,,500 +Linear,Logistic,experimental,False,6,0.95,0.9888333333333333,4.981564287103356,0.7756239290159009,0.998,7.17172513038786,7.557717971919393,7.578566933659404,12.021131413918786,12.099925992696773,,500 +Linear,Logistic,experimental,True,1,0.9,0.9268333333333334,0.5937431012082774,0.1300720754684952,0.944,0.9256122234292026,1.4329230075255606,1.4311831659455172,1.4323891463629586,1.4316481461552522,,500 +Linear,Logistic,experimental,True,1,0.95,0.9678333333333333,0.7074885420620329,0.1300720754684952,0.968,1.0161433286659824,1.4329230075255606,1.4311831659455172,1.4323891463629586,1.4316481461552522,,500 +Linear,Logistic,experimental,True,4,0.9,0.8711666666666666,4.055807369230813,1.0467020154273383,0.8,6.3456105820568585,7.3172880998807335,7.363134149481367,11.67348808958302,11.711262037657798,,500 +Linear,Logistic,experimental,True,4,0.95,0.9243333333333333,4.832792560793048,1.0467020154273383,0.896,6.959823578774457,7.3172880998807335,7.363134149481367,11.67348808958302,11.711262037657798,,500 +Linear,Logistic,experimental,True,6,0.9,0.9663333333333334,4.181772837537743,0.7748496412394084,0.996,6.544156963583238,7.557221578348061,7.57757429903331,12.027039927351481,12.089940358101535,,500 +Linear,Logistic,experimental,True,6,0.95,0.9888333333333333,4.982889674075328,0.7748496412394084,1.0,7.1790229493931355,7.557221578348061,7.57757429903331,12.027039927351481,12.089940358101535,,500 +Linear,Logistic,observational,False,1,0.9,0.9428333333333334,0.6281850936025,0.13147427123375507,0.968,0.9773797597904551,1.4329203952287997,1.430880633417486,1.4322896879071867,1.4315357933534285,0.6727048864100559,500 +Linear,Logistic,observational,False,1,0.95,0.9761666666666666,0.7485287073037211,0.13147427123375507,0.992,1.0737535903149242,1.4329203952287997,1.430880633417486,1.4322896879071867,1.4315357933534285,0.6727048864100559,500 +Linear,Logistic,observational,False,4,0.9,0.9163333333333333,4.7580275802995695,1.0905205319808382,0.924,7.419482280389843,7.317311353635984,7.363258557040041,11.670171139311439,11.70683555690419,0.6729428054402635,500 +Linear,Logistic,observational,False,4,0.95,0.9601666666666666,5.669539551746721,1.0905205319808382,0.97,8.139156670831637,7.317311353635984,7.363258557040041,11.670171139311439,11.70683555690419,0.6729428054402635,500 +Linear,Logistic,observational,False,6,0.9,0.9676666666666667,4.408320212540459,0.8178925331505947,0.996,6.887058695249832,7.555869504377207,7.576817624543539,12.017894502902424,12.091627342634094,0.6939649419526995,500 +Linear,Logistic,observational,False,6,0.95,0.9901666666666666,5.25283752142291,0.8178925331505947,0.998,7.556168033117604,7.555869504377207,7.576817624543539,12.017894502902424,12.091627342634094,0.6939649419526995,500 +Linear,Logistic,observational,True,1,0.9,0.9411666666666666,0.625207007570724,0.1311533017004224,0.98,0.9734732907887752,1.432718050716034,1.4309229860904062,1.432554830777679,1.4318056942597368,0.6727122522683564,500 +Linear,Logistic,observational,True,1,0.95,0.9761666666666666,0.7449800989233144,0.1311533017004224,0.996,1.068834893145094,1.432718050716034,1.4309229860904062,1.432554830777679,1.4318056942597368,0.6727122522683564,500 +Linear,Logistic,observational,True,4,0.9,0.9213333333333333,4.740984347430622,1.08102522295854,0.94,7.393057540757745,7.317555311981951,7.362601753308157,11.670615292305248,11.711325063822715,0.6729405659549627,500 +Linear,Logistic,observational,True,4,0.95,0.958,5.649231287196046,1.08102522295854,0.97,8.112794509952831,7.317555311981951,7.362601753308157,11.670615292305248,11.711325063822715,0.6729405659549627,500 +Linear,Logistic,observational,True,6,0.9,0.9683333333333334,4.380856543549146,0.8170315570147886,0.988,6.849802922193696,7.559243151805225,7.5771914622592105,12.019363662222768,12.096028014111692,0.6939192119435217,500 +Linear,Logistic,observational,True,6,0.95,0.9893333333333334,5.220112541385589,0.8170315570147886,0.996,7.5097644590109285,7.559243151805225,7.5771914622592105,12.019363662222768,12.096028014111692,0.6939192119435217,500 diff --git a/results/did/did_cs_multi_eventstudy.csv b/results/did/did_cs_multi_eventstudy.csv index cfe8c1d7..9f7d60a0 100644 --- a/results/did/did_cs_multi_eventstudy.csv +++ b/results/did/did_cs_multi_eventstudy.csv @@ -1,49 +1,49 @@ -Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.6224611708482676,1.2402194928689272,0.5809222891492261,0.3225806451612903,1.7737862941008629,279 -LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.7287933094384708,1.477812675315542,0.5809222891492261,0.4982078853046595,1.9715078897845981,279 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.6373954599761051,1.2479141575620998,0.5931594381366708,0.3333333333333333,1.7911427701234592,279 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.7311827956989247,1.4869814338145468,0.5931594381366708,0.4838709677419355,1.9856391175167616,279 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.9528076463560334,1.2544723230325925,0.2520162722412503,0.96415770609319,1.8007610245998058,279 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.974910394265233,1.4947959699630569,0.2520162722412503,0.989247311827957,1.993779812039481,279 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.6206690561529271,1.2406479402605826,0.5850171373091937,0.31899641577060933,1.7753125510728645,279 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.7150537634408602,1.478323201871313,0.5850171373091937,0.4767025089605735,1.974964266292922,279 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.6296296296296297,1.24736282946404,0.587089464230041,0.3906810035842294,1.7899094934094781,279 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.7293906810035843,1.4863244858660143,0.587089464230041,0.5340501792114696,1.9877434313147402,279 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.9557945041816011,1.2544741320029795,0.2514049075932686,0.9713261648745519,1.7992110462137336,279 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9796893667861409,1.4947981254842226,0.2514049075932686,0.989247311827957,1.9966198163444047,279 -LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.942652329749104,1.4807990314708686,0.32003460612557183,0.96415770609319,2.1276390534793532,279 -LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9826762246117086,1.7644808768812856,0.32003460612557183,0.982078853046595,2.3591387189604336,279 -LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.910394265232975,1.8805033803129778,0.4561492207292547,0.9068100358422939,2.6974170141120055,279 -LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.953405017921147,2.2407579846787207,0.4561492207292547,0.946236559139785,2.9904620473854,279 -LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.946236559139785,1.4253071734677722,0.29346942235648776,0.974910394265233,2.050563933430702,279 -LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.9814814814814814,1.6983582497130212,0.29346942235648776,0.989247311827957,2.270469130328229,279 -LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.946236559139785,1.4470118462529324,0.30273992701453806,0.974910394265233,2.077265121350854,279 -LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.982078853046595,1.724220962515001,0.30273992701453806,0.992831541218638,2.3039602629538094,279 -LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9139784946236559,1.8418563680373876,0.43611079219257715,0.9354838709677419,2.6420800031086693,279 -LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9623655913978495,2.194707229201699,0.43611079219257715,0.96415770609319,2.927438814343708,279 -LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.942652329749104,1.412497099695236,0.28876477463896644,0.946236559139785,2.03034517088535,279 -LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9743130227001194,1.6830941053404878,0.28876477463896644,0.985663082437276,2.250398573954417,279 -Linear,Logistic,experimental,False,1,0.9,0.8853046594982079,0.2966189208822212,0.07697378904064395,0.8637992831541219,0.42421678201301266,279 -Linear,Logistic,experimental,False,1,0.95,0.9390681003584229,0.35344324415040557,0.07697378904064395,0.931899641577061,0.47087689699288793,279 -Linear,Logistic,experimental,False,4,0.9,0.5818399044205497,1.9632230354934612,0.9865035853593799,0.3333333333333333,2.813929836020063,279 -Linear,Logistic,experimental,False,4,0.95,0.7025089605734767,2.3393245332826846,0.9865035853593799,0.46953405017921146,3.127645908283085,279 -Linear,Logistic,experimental,False,6,0.9,0.9516129032258065,2.0638825538419026,0.40786042529604416,0.967741935483871,2.9608432259427877,279 -Linear,Logistic,experimental,False,6,0.95,0.9796893667861409,2.4592677473361713,0.40786042529604416,0.992831541218638,3.2798895629348186,279 -Linear,Logistic,experimental,True,1,0.9,0.886499402628435,0.29667845886587413,0.07686869347906883,0.8673835125448028,0.4236605147640369,279 -Linear,Logistic,experimental,True,1,0.95,0.9390681003584229,0.3535141880336544,0.07686869347906883,0.9247311827956989,0.4705609082518747,279 -Linear,Logistic,experimental,True,4,0.9,0.5902031063321386,1.9634322988378632,0.9869655698123,0.35125448028673834,2.814064242814986,279 -Linear,Logistic,experimental,True,4,0.95,0.6977299880525687,2.339573885937287,0.9869655698123,0.4838709677419355,3.121859788261583,279 -Linear,Logistic,experimental,True,6,0.9,0.9545997610513739,2.064247814444245,0.4075308278696422,0.9713261648745519,2.957199069395569,279 -Linear,Logistic,experimental,True,6,0.95,0.9802867383512545,2.4597029821885816,0.4075308278696422,0.992831541218638,3.2842845831955056,279 -Linear,Logistic,observational,False,1,0.9,0.9498207885304659,0.3170300494171379,0.06504819352526141,0.974910394265233,0.45242892734163964,279 -Linear,Logistic,observational,False,1,0.95,0.9790919952210275,0.37776460390957084,0.06504819352526141,0.992831541218638,0.5020262317120233,279 -Linear,Logistic,observational,False,4,0.9,0.6839904420549582,2.4127304494483663,1.010285259800335,0.5698924731182796,3.455657640389805,279 -Linear,Logistic,observational,False,4,0.95,0.7956989247311828,2.874945653423452,1.010285259800335,0.6917562724014337,3.8310239928191354,279 -Linear,Logistic,observational,False,6,0.9,0.9528076463560334,2.1172870017181973,0.4239579491204401,0.9605734767025089,3.035463744493012,279 -Linear,Logistic,observational,False,6,0.95,0.982078853046595,2.522903071924766,0.4239579491204401,0.989247311827957,3.368436781919364,279 -Linear,Logistic,observational,True,1,0.9,0.9474313022700119,0.31630459728684235,0.06514097241369085,0.982078853046595,0.4515490947684488,279 -Linear,Logistic,observational,True,1,0.95,0.9790919952210275,0.3769001743794354,0.06514097241369085,0.989247311827957,0.5015670908754307,279 -Linear,Logistic,observational,True,4,0.9,0.6929510155316607,2.4132978999768855,1.0099658485179035,0.6021505376344086,3.451850751988374,279 -Linear,Logistic,observational,True,4,0.95,0.7980884109916367,2.8756218124327906,1.0099658485179035,0.7132616487455197,3.833637978054256,279 -Linear,Logistic,observational,True,6,0.9,0.9516129032258065,2.116092518070855,0.4261877307573523,0.9713261648745519,3.0321090087991402,279 -Linear,Logistic,observational,True,6,0.95,0.982078853046595,2.521479756870738,0.4261877307573523,0.996415770609319,3.3634536996559423,279 +Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_d0_t0,Loss g_d1_t0,Loss g_d0_t1,Loss g_d1_t1,Loss m,repetition +LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.8633333333333334,2.331782221947759,0.6428493791896893,0.816,3.3449177840046618,6.617282691976663,5.988405546643561,10.433768136791137,9.401627631428449,,500 +LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.9263333333333333,2.7784898910906093,0.6428493791896893,0.888,3.709400187358764,6.617282691976663,5.988405546643561,10.433768136791137,9.401627631428449,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.865,2.0184989815514154,0.5778409898014801,0.832,2.8987939478815345,5.478783669135401,5.5473424625830665,8.578982469210048,8.69589502771623,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.9266666666666666,2.405189885499928,0.5778409898014801,0.9,3.2182242194265553,5.478783669135401,5.5473424625830665,8.578982469210048,8.69589502771623,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.9496666666666667,2.040434766200809,0.41752388975268534,0.98,2.9321553106182163,5.558095521410893,5.564711313324499,8.69537790943,8.729681431584753,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9816666666666666,2.43132798507364,0.41752388975268534,0.992,3.2481639492337044,5.558095521410893,5.564711313324499,8.69537790943,8.729681431584753,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.868,2.331619761190149,0.6379640130064316,0.836,3.3489383098741534,6.6136666751556525,5.987226860773448,10.428640368494829,9.40200596142953,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.928,2.778296307157912,0.6379640130064316,0.9,3.70986048312144,6.6136666751556525,5.987226860773448,10.428640368494829,9.40200596142953,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.8666666666666666,2.018992541248689,0.5776565141463084,0.842,2.900504357166484,5.483600251103322,5.545699398474001,8.587704431322381,8.68529322791349,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.9266666666666666,2.405777998153252,0.5776565141463084,0.916,3.216631363261785,5.483600251103322,5.545699398474001,8.587704431322381,8.68529322791349,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.9466666666666667,2.042448412740037,0.42343339447813266,0.978,2.9358356291344467,5.556215492953239,5.566798575190458,8.697387677372742,8.732028582264512,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.98,2.4337273929174827,0.42343339447813266,0.992,3.252159393702273,5.556215492953239,5.566798575190458,8.697387677372742,8.732028582264512,,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.934,10.546791893761622,2.372671609357099,0.956,15.180624206848918,6.61431322341285,5.989098338531844,10.441531473425052,9.401922782821982,0.6223517773930638,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.975,12.567277674745725,2.372671609357099,0.984,16.805634337263136,6.61431322341285,5.989098338531844,10.441531473425052,9.401922782821982,0.6223517773930638,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9353333333333333,13.01135156591981,2.981458431880436,0.966,18.724160992154967,5.483529511409194,5.544572471266972,8.573728123423898,8.686222700734833,0.620652439220559,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.9766666666666667,15.503981656201216,2.981458431880436,0.992,20.76112103879887,5.483529511409194,5.544572471266972,8.573728123423898,8.686222700734833,0.620652439220559,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9253333333333333,9.697584187217156,2.2767108366859357,0.97,13.970404813712975,5.556447030625612,5.566332217435632,8.697349572684388,8.724714850333458,0.6425912403978503,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.973,11.55538428013055,2.2767108366859357,0.982,15.472020420440042,5.556447030625612,5.566332217435632,8.697349572684388,8.724714850333458,0.6425912403978503,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.9243333333333333,5.020206659626419,1.1361556805256878,0.95,7.237567448813011,6.610953777859591,5.987558649973095,10.431331456540903,9.398209506600173,0.6227191384163594,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9696666666666667,5.981945193538004,1.1361556805256878,0.984,8.01167471719325,6.610953777859591,5.987558649973095,10.431331456540903,9.398209506600173,0.6227191384163594,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9316666666666666,5.939030264217093,1.3275115377642797,0.94,8.561267207458341,5.481503486929605,5.549881921443366,8.586152274155427,8.691875547038066,0.6204308565768274,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9676666666666667,7.076791047074931,1.3275115377642797,0.972,9.479838581290386,5.481503486929605,5.549881921443366,8.586152274155427,8.691875547038066,0.6204308565768274,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.9256666666666666,4.939700333559818,1.16661729858837,0.96,7.122245445633669,5.5560627139726915,5.569138600194468,8.697199773476768,8.730173653898916,0.6422062286736312,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9686666666666667,5.886015989241195,1.16661729858837,0.98,7.880299964975417,5.5560627139726915,5.569138600194468,8.697199773476768,8.730173653898916,0.6422062286736312,500 +Linear,Logistic,experimental,False,1,0.9,0.923,0.4224847124070884,0.09512377899072404,0.946,0.6033707182652828,1.4326492523105687,1.4311291054269213,1.4325223901031552,1.4317781279701975,,500 +Linear,Logistic,experimental,False,1,0.95,0.9666666666666667,0.5034215852211424,0.09512377899072404,0.98,0.6701502944572801,1.4326492523105687,1.4311291054269213,1.4325223901031552,1.4317781279701975,,500 +Linear,Logistic,experimental,False,4,0.9,0.8133333333333334,2.849498879171029,0.9373289830973285,0.758,4.085028644477756,7.312512104360314,7.364921614399227,11.66805513936815,11.709611562434787,,500 +Linear,Logistic,experimental,False,4,0.95,0.8893333333333334,3.3953873376036503,0.9373289830973285,0.852,4.534230986916259,7.312512104360314,7.364921614399227,11.66805513936815,11.709611562434787,,500 +Linear,Logistic,experimental,False,6,0.9,0.9616666666666667,2.9428458080326423,0.5787134172080873,0.98,4.213312127299615,7.557717971919393,7.578566933659404,12.021131413918786,12.099925992696773,,500 +Linear,Logistic,experimental,False,6,0.95,0.9863333333333334,3.506617063846995,0.5787134172080873,0.994,4.681147562297293,7.557717971919393,7.578566933659404,12.021131413918786,12.099925992696773,,500 +Linear,Logistic,experimental,True,1,0.9,0.9233333333333333,0.42259583168992254,0.0949710638566149,0.942,0.6033037092364887,1.4329230075255606,1.4311831659455172,1.4323891463629586,1.4316481461552522,,500 +Linear,Logistic,experimental,True,1,0.95,0.9676666666666667,0.5035539920133179,0.0949710638566149,0.974,0.6702580445218634,1.4329230075255606,1.4311831659455172,1.4323891463629586,1.4316481461552522,,500 +Linear,Logistic,experimental,True,4,0.9,0.813,2.8512625005480876,0.9394679788495722,0.758,4.085592224874449,7.3172880998807335,7.363134149481367,11.67348808958302,11.711262037657798,,500 +Linear,Logistic,experimental,True,4,0.95,0.885,3.397488822091244,0.9394679788495722,0.854,4.534035767896809,7.3172880998807335,7.363134149481367,11.67348808958302,11.711262037657798,,500 +Linear,Logistic,experimental,True,6,0.9,0.962,2.9437818663465305,0.5775052822257991,0.976,4.223027513295131,7.557221578348061,7.57757429903331,12.027039927351481,12.089940358101535,,500 +Linear,Logistic,experimental,True,6,0.95,0.988,3.5077324461233204,0.5775052822257991,0.998,4.68046390114978,7.557221578348061,7.57757429903331,12.027039927351481,12.089940358101535,,500 +Linear,Logistic,observational,False,1,0.9,0.9473333333333334,0.44566002894048135,0.09283149387101797,0.964,0.6364383210995682,1.4329203952287997,1.430880633417486,1.4322896879071867,1.4315357933534285,0.6727048864100559,500 +Linear,Logistic,observational,False,1,0.95,0.979,0.5310366781336657,0.09283149387101797,0.986,0.7065312802641917,1.4329203952287997,1.430880633417486,1.4322896879071867,1.4315357933534285,0.6727048864100559,500 +Linear,Logistic,observational,False,4,0.9,0.8666666666666666,3.3736631063794857,0.965121215335697,0.862,4.832122384866826,7.317311353635984,7.363258557040041,11.670171139311439,11.70683555690419,0.6729428054402635,500 +Linear,Logistic,observational,False,4,0.95,0.9286666666666666,4.019967537616278,0.965121215335697,0.928,5.362655809203376,7.317311353635984,7.363258557040041,11.670171139311439,11.70683555690419,0.6729428054402635,500 +Linear,Logistic,observational,False,6,0.9,0.9613333333333334,3.1026835620983406,0.6054840625997017,0.982,4.442746729369287,7.555869504377207,7.576817624543539,12.017894502902424,12.091627342634094,0.6939649419526995,500 +Linear,Logistic,observational,False,6,0.95,0.986,3.6970754950444005,0.6054840625997017,0.996,4.932996335749315,7.555869504377207,7.576817624543539,12.017894502902424,12.091627342634094,0.6939649419526995,500 +Linear,Logistic,observational,True,1,0.9,0.9426666666666667,0.44387203572142175,0.09292895135603028,0.972,0.6335168954839606,1.432718050716034,1.4309229860904062,1.432554830777679,1.4318056942597368,0.6727122522683564,500 +Linear,Logistic,observational,True,1,0.95,0.977,0.5289061528051271,0.09292895135603028,0.982,0.7032409242517832,1.432718050716034,1.4309229860904062,1.432554830777679,1.4318056942597368,0.6727122522683564,500 +Linear,Logistic,observational,True,4,0.9,0.8666666666666666,3.3574318328106085,0.9540873709949256,0.882,4.8111174573847455,7.317555311981951,7.362601753308157,11.670615292305248,11.711325063822715,0.6729405659549627,500 +Linear,Logistic,observational,True,4,0.95,0.9276666666666666,4.000626782246345,0.9540873709949256,0.942,5.335710122379934,7.317555311981951,7.362601753308157,11.670615292305248,11.711325063822715,0.6729405659549627,500 +Linear,Logistic,observational,True,6,0.9,0.9633333333333334,3.0792774951725423,0.6033935192641902,0.976,4.412257382757483,7.559243151805225,7.5771914622592105,12.019363662222768,12.096028014111692,0.6939192119435217,500 +Linear,Logistic,observational,True,6,0.95,0.9853333333333334,3.6691854460803945,0.6033935192641902,0.992,4.896585928668179,7.559243151805225,7.5771914622592105,12.019363662222768,12.096028014111692,0.6939192119435217,500 diff --git a/results/did/did_cs_multi_group.csv b/results/did/did_cs_multi_group.csv index 90af7470..9b13eb10 100644 --- a/results/did/did_cs_multi_group.csv +++ b/results/did/did_cs_multi_group.csv @@ -1,49 +1,49 @@ -Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.6750298685782556,1.9693232878407607,0.6809517042810738,0.34408602150537637,2.5252572586756377,279 -LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.7323775388291517,2.3465934322907214,0.6809517042810738,0.45878136200716846,2.851361544471591,279 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.6738351254480287,1.942050896505041,0.6735007423848389,0.3118279569892473,2.4912526027763073,279 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.7287933094384706,2.314096373637933,0.6735007423848389,0.4014336917562724,2.81358780656166,279 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.953405017921147,1.9416748342871284,0.3741351117099803,0.978494623655914,2.4936396048937057,279 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.984468339307049,2.31364826786671,0.3741351117099803,0.992831541218638,2.815206355251331,279 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.6571087216248506,1.9711121963342015,0.6905300386198914,0.35842293906810035,2.5267008922756493,279 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.7407407407407407,2.348725048235953,0.6905300386198914,0.45878136200716846,2.857961161818087,279 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.6750298685782556,1.941616702002925,0.6669780280118026,0.3225806451612903,2.490240468278929,279 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.7299880525686977,2.313578998977667,0.6669780280118026,0.43727598566308246,2.8173837493480085,279 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.962962962962963,1.9417171110846188,0.367002624054474,0.978494623655914,2.4963662503476693,279 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9868578255675029,2.3136986437780407,0.367002624054474,0.989247311827957,2.811540904713415,279 -LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.9450418160095581,2.180597058515431,0.4740453901490375,0.967741935483871,2.797837859379854,279 -LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9832735961768219,2.5983416575524365,0.4740453901490375,0.989247311827957,3.1582414057201915,279 -LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.8936678614097969,2.745468226724172,0.6173030702677429,0.8817204301075269,3.516309304238815,279 -LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.930704898446834,3.271427169511406,0.6173030702677429,0.9498207885304659,3.978733770335614,279 -LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9474313022700119,2.1981801326133916,0.4464447789792722,0.953405017921147,2.823770017716627,279 -LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.984468339307049,2.6192931826029504,0.4464447789792722,0.982078853046595,3.1875448561286435,279 -LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.942652329749104,2.1686327380185273,0.44986628900969405,0.974910394265233,2.7826037061835,279 -LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9832735961768219,2.5840852903662044,0.44986628900969405,0.992831541218638,3.13835386935761,279 -LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.899641577060932,2.704934944613143,0.6076547249663103,0.9175627240143369,3.469916457417566,279 -LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.95221027479092,3.2231287848946195,0.6076547249663103,0.96415770609319,3.9209409303256217,279 -LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.9474313022700119,2.1757711986887487,0.453263269024094,0.953405017921147,2.792833801788602,279 -LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9772998805256871,2.5925912908938136,0.453263269024094,0.982078853046595,3.1571753169413697,279 -Linear,Logistic,experimental,False,1,0.9,0.8781362007168458,0.37268774418561273,0.09390263008619863,0.8637992831541219,0.4784168005383007,279 -Linear,Logistic,experimental,False,1,0.95,0.9366786140979688,0.44408483777190727,0.09390263008619863,0.931899641577061,0.5407743684687393,279 -Linear,Logistic,experimental,False,4,0.9,0.6511350059737157,3.122808304945589,1.1372015750079183,0.24014336917562723,3.999501991768922,279 -Linear,Logistic,experimental,False,4,0.95,0.6977299880525687,3.721055605208878,1.1372015750079183,0.34408602150537637,4.5312716524370495,279 -Linear,Logistic,experimental,False,6,0.9,0.959378733572282,3.2673770458937335,0.6373979234952247,0.9713261648745519,4.1909886784558,279 -Linear,Logistic,experimental,False,6,0.95,0.9796893667861409,3.8933198850851474,0.6373979234952247,0.996415770609319,4.742860360823139,279 -Linear,Logistic,experimental,True,1,0.9,0.886499402628435,0.37277221302880087,0.09370328102492449,0.8745519713261649,0.4792751423730485,279 -Linear,Logistic,experimental,True,1,0.95,0.937873357228196,0.4441854886065784,0.09370328102492449,0.9390681003584229,0.5409847540068355,279 -Linear,Logistic,experimental,True,4,0.9,0.6499402628434886,3.123410437442801,1.1346070839016187,0.24372759856630824,4.005060213168967,279 -Linear,Logistic,experimental,True,4,0.95,0.6977299880525687,3.7217730903328547,1.1346070839016187,0.35125448028673834,4.528259793964742,279 -Linear,Logistic,experimental,True,6,0.9,0.9581839904420549,3.2675025942015976,0.6402736026210359,0.9713261648745519,4.190054445787369,279 -Linear,Logistic,experimental,True,6,0.95,0.9808841099163681,3.8934694851211025,0.6402736026210359,0.992831541218638,4.740521752468565,279 -Linear,Logistic,observational,False,1,0.9,0.9498207885304659,0.3980211122909266,0.08347741693067301,0.96415770609319,0.5118467894800592,279 -Linear,Logistic,observational,False,1,0.95,0.9772998805256871,0.4742714077377319,0.08347741693067301,0.982078853046595,0.5772116881923769,279 -Linear,Logistic,observational,False,4,0.9,0.7383512544802867,3.685195002317261,1.1755148668785227,0.5197132616487455,4.72723993773384,279 -Linear,Logistic,observational,False,4,0.95,0.8004778972520907,4.391180687570035,1.1755148668785227,0.6523297491039427,5.3415630201174915,279 -Linear,Logistic,observational,False,6,0.9,0.959378733572282,3.359643588935201,0.6660021596702236,0.967741935483871,4.310775795320043,279 -Linear,Logistic,observational,False,6,0.95,0.982078853046595,4.003262252221154,0.6660021596702236,0.992831541218638,4.877640990986795,279 -Linear,Logistic,observational,True,1,0.9,0.9474313022700119,0.39682685811285806,0.08342193549786645,0.9605734767025089,0.5094792187017854,279 -Linear,Logistic,observational,True,1,0.95,0.978494623655914,0.4728483661132081,0.08342193549786645,0.985663082437276,0.5757316956591612,279 -Linear,Logistic,observational,True,4,0.9,0.7275985663082437,3.683991695773076,1.1701432406619077,0.5376344086021505,4.7273197737268555,279 -Linear,Logistic,observational,True,4,0.95,0.8112305854241338,4.3897468593859825,1.1701432406619077,0.6774193548387096,5.338454173886779,279 -Linear,Logistic,observational,True,6,0.9,0.9605734767025089,3.349248419700074,0.652966118052585,0.9713261648745519,4.293438864600423,279 -Linear,Logistic,observational,True,6,0.95,0.9880525686977301,3.9908756440876334,0.652966118052585,0.989247311827957,4.857820082621734,279 +Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_d0_t0,Loss g_d1_t0,Loss g_d0_t1,Loss g_d1_t1,Loss m,repetition +LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.868,3.658538117555974,0.871752964673053,0.84,4.693084134736866,6.617282691976663,5.988405546643561,10.433768136791137,9.401627631428449,,500 +LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.9286666666666666,4.359417050237156,0.871752964673053,0.914,5.302047642308471,6.617282691976663,5.988405546643561,10.433768136791137,9.401627631428449,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.8466666666666667,3.122710438174877,0.7834589543365588,0.792,4.008987870552923,5.478783669135401,5.5473424625830665,8.578982469210048,8.69589502771623,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.9086666666666666,3.7209389897588854,0.7834589543365588,0.866,4.52562108167588,5.478783669135401,5.5473424625830665,8.578982469210048,8.69589502771623,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.9486666666666667,3.1459577801807446,0.6221511105235991,0.974,4.0392169851278075,5.558095521410893,5.564711313324499,8.69537790943,8.729681431584753,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.982,3.7486399063153533,0.6221511105235991,0.988,4.569483181888754,5.558095521410893,5.564711313324499,8.69537790943,8.729681431584753,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.8733333333333334,3.6577420958008604,0.8861429924414261,0.846,4.69299240749734,6.6136666751556525,5.987226860773448,10.428640368494829,9.40200596142953,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.9326666666666666,4.358468531812558,0.8861429924414261,0.906,5.295232571343216,6.6136666751556525,5.987226860773448,10.428640368494829,9.40200596142953,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.8473333333333334,3.1222696378072565,0.7891495996672956,0.794,4.008738967323557,5.483600251103322,5.545699398474001,8.587704431322381,8.68529322791349,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.91,3.720413743724374,0.7891495996672956,0.862,4.520419809377732,5.483600251103322,5.545699398474001,8.587704431322381,8.68529322791349,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.9486666666666667,3.15006007505297,0.6244713515852145,0.976,4.040850455903356,5.556215492953239,5.566798575190458,8.697387677372742,8.732028582264512,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9833333333333334,3.7535280921525493,0.6244713515852145,0.988,4.564717260717035,5.556215492953239,5.566798575190458,8.697387677372742,8.732028582264512,,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.9333333333333333,14.551554850847623,3.4674494570101935,0.944,18.636688748430192,6.61431322341285,5.989098338531844,10.441531473425052,9.401922782821982,0.6223517773930638,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9713333333333334,17.339247066974362,3.4674494570101935,0.98,21.07744790808494,6.61431322341285,5.989098338531844,10.441531473425052,9.401922782821982,0.6223517773930638,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9273333333333333,17.535197053199244,4.014382449954407,0.956,22.50600734347617,5.483529511409194,5.544572471266972,8.573728123423898,8.686222700734833,0.620652439220559,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.9753333333333334,20.894476032971273,4.014382449954407,0.98,25.400233240147887,5.483529511409194,5.544572471266972,8.573728123423898,8.686222700734833,0.620652439220559,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9166666666666666,14.08859673424229,3.335655692227775,0.944,18.106541236616415,5.556447030625612,5.566332217435632,8.697349572684388,8.724714850333458,0.6425912403978503,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.968,16.787598446070227,3.335655692227775,0.98,20.44045241522765,5.556447030625612,5.566332217435632,8.697349572684388,8.724714850333458,0.6425912403978503,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.9093333333333333,7.133063012695544,1.7034338946340275,0.932,9.14289140803571,6.610953777859591,5.987558649973095,10.431331456540903,9.398209506600173,0.6227191384163594,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.958,8.499568821968197,1.7034338946340275,0.97,10.334292986830564,6.610953777859591,5.987558649973095,10.431331456540903,9.398209506600173,0.6227191384163594,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9233333333333333,8.30624527279542,1.9395017503267278,0.922,10.651004266952022,5.481503486929605,5.549881921443366,8.586152274155427,8.691875547038066,0.6204308565768274,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.968,9.897501707557963,1.9395017503267278,0.962,12.034988203387382,5.481503486929605,5.549881921443366,8.586152274155427,8.691875547038066,0.6204308565768274,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.914,7.133144822213551,1.6904559749614643,0.92,9.15295736877495,5.5560627139726915,5.569138600194468,8.697199773476768,8.730173653898916,0.6422062286736312,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9653333333333334,8.499666304021469,1.6904559749614643,0.962,10.332772762861605,5.5560627139726915,5.569138600194468,8.697199773476768,8.730173653898916,0.6422062286736312,500 +Linear,Logistic,experimental,False,1,0.9,0.9286666666666666,0.5304747433663688,0.11628289906530434,0.924,0.6816505515052473,1.4326492523105687,1.4311291054269213,1.4325223901031552,1.4317781279701975,,500 +Linear,Logistic,experimental,False,1,0.95,0.9646666666666667,0.6320996438042844,0.11628289906530434,0.964,0.7693476782696298,1.4326492523105687,1.4311291054269213,1.4325223901031552,1.4317781279701975,,500 +Linear,Logistic,experimental,False,4,0.9,0.806,4.524193188729381,1.2209579947478042,0.684,5.800780329498579,7.312512104360314,7.364921614399227,11.66805513936815,11.709611562434787,,500 +Linear,Logistic,experimental,False,4,0.95,0.864,5.390908688601882,1.2209579947478042,0.792,6.561505139174302,7.312512104360314,7.364921614399227,11.66805513936815,11.709611562434787,,500 +Linear,Logistic,experimental,False,6,0.9,0.9566666666666667,4.65663173909767,0.8659008571391279,0.97,5.973800262403057,7.557717971919393,7.578566933659404,12.021131413918786,12.099925992696773,,500 +Linear,Logistic,experimental,False,6,0.95,0.986,5.5487189548975095,0.8659008571391279,0.992,6.753642636027055,7.557717971919393,7.578566933659404,12.021131413918786,12.099925992696773,,500 +Linear,Logistic,experimental,True,1,0.9,0.928,0.5306575159727325,0.11642576164297934,0.918,0.6810275119383526,1.4329230075255606,1.4311831659455172,1.4323891463629586,1.4316481461552522,,500 +Linear,Logistic,experimental,True,1,0.95,0.9653333333333334,0.6323174307975848,0.11642576164297934,0.966,0.770564892432109,1.4329230075255606,1.4311831659455172,1.4323891463629586,1.4316481461552522,,500 +Linear,Logistic,experimental,True,4,0.9,0.8066666666666666,4.527510697196716,1.219016908029625,0.684,5.805807373920994,7.3172880998807335,7.363134149481367,11.67348808958302,11.711262037657798,,500 +Linear,Logistic,experimental,True,4,0.95,0.8626666666666666,5.394861743760009,1.219016908029625,0.796,6.564165492208673,7.3172880998807335,7.363134149481367,11.67348808958302,11.711262037657798,,500 +Linear,Logistic,experimental,True,6,0.9,0.956,4.657289988924854,0.8673166059181981,0.972,5.976347510498241,7.557221578348061,7.57757429903331,12.027039927351481,12.089940358101535,,500 +Linear,Logistic,experimental,True,6,0.95,0.982,5.549503307944474,0.8673166059181981,0.994,6.754136900341865,7.557221578348061,7.57757429903331,12.027039927351481,12.089940358101535,,500 +Linear,Logistic,observational,False,1,0.9,0.944,0.5599093628665215,0.11645770972267618,0.962,0.7195743427833607,1.4329203952287997,1.430880633417486,1.4322896879071867,1.4315357933534285,0.6727048864100559,500 +Linear,Logistic,observational,False,1,0.95,0.978,0.6671731562273091,0.11645770972267618,0.988,0.81295285678439,1.4329203952287997,1.430880633417486,1.4322896879071867,1.4315357933534285,0.6727048864100559,500 +Linear,Logistic,observational,False,4,0.9,0.8666666666666666,5.207108367541486,1.2658472995732641,0.836,6.680913460545053,7.317311353635984,7.363258557040041,11.670171139311439,11.70683555690419,0.6729428054402635,500 +Linear,Logistic,observational,False,4,0.95,0.9166666666666666,6.204652314804158,1.2658472995732641,0.904,7.550248833859017,7.317311353635984,7.363258557040041,11.670171139311439,11.70683555690419,0.6729428054402635,500 +Linear,Logistic,observational,False,6,0.9,0.9633333333333334,4.913553331205741,0.9107692353961002,0.976,6.300955081439959,7.555869504377207,7.576817624543539,12.017894502902424,12.091627342634094,0.6939649419526995,500 +Linear,Logistic,observational,False,6,0.95,0.9853333333333334,5.854859914270162,0.9107692353961002,0.994,7.11253024862817,7.555869504377207,7.576817624543539,12.017894502902424,12.091627342634094,0.6939649419526995,500 +Linear,Logistic,observational,True,1,0.9,0.9453333333333334,0.5571283821451075,0.11534580823405766,0.962,0.7157401552108863,1.432718050716034,1.4309229860904062,1.432554830777679,1.4318056942597368,0.6727122522683564,500 +Linear,Logistic,observational,True,1,0.95,0.9793333333333334,0.6638594133103944,0.11534580823405766,0.988,0.8080418911049031,1.432718050716034,1.4309229860904062,1.432554830777679,1.4318056942597368,0.6727122522683564,500 +Linear,Logistic,observational,True,4,0.9,0.8626666666666666,5.178515931845214,1.2461513670243192,0.834,6.640015577975941,7.317555311981951,7.362601753308157,11.670615292305248,11.711325063822715,0.6729405659549627,500 +Linear,Logistic,observational,True,4,0.95,0.912,6.170582326279506,1.2461513670243192,0.9,7.5044529911531725,7.317555311981951,7.362601753308157,11.670615292305248,11.711325063822715,0.6729405659549627,500 +Linear,Logistic,observational,True,6,0.9,0.9566666666666667,4.884149276989282,0.9018881464166801,0.976,6.26232727716403,7.559243151805225,7.5771914622592105,12.019363662222768,12.096028014111692,0.6939192119435217,500 +Linear,Logistic,observational,True,6,0.95,0.9853333333333334,5.819822822629045,0.9018881464166801,0.988,7.079344135796427,7.559243151805225,7.5771914622592105,12.019363662222768,12.096028014111692,0.6939192119435217,500 diff --git a/results/did/did_cs_multi_metadata.csv b/results/did/did_cs_multi_metadata.csv index 1076b4c3..ce5e6888 100644 --- a/results/did/did_cs_multi_metadata.csv +++ b/results/did/did_cs_multi_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,DIDCSMultiCoverageSimulation,2025-09-08 12:16,337.3148369193077,3.12.3,scripts/did/did_cs_multi_config.yml +0.12.dev0,DIDCSMultiCoverageSimulation,2025-12-04 22:25,315.6724048376083,3.12.3,scripts/did/did_cs_multi_config.yml diff --git a/results/did/did_cs_multi_time.csv b/results/did/did_cs_multi_time.csv index 1f15f2c4..80684b8b 100644 --- a/results/did/did_cs_multi_time.csv +++ b/results/did/did_cs_multi_time.csv @@ -1,49 +1,49 @@ -Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.7060931899641577,1.6951392436550388,0.6480352394763556,0.6164874551971327,2.1760652275678454,279 -LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.8100358422939068,2.019882992568775,0.6480352394763556,0.7813620071684588,2.45754914651766,279 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.6774193548387096,1.6567161125525725,0.6736701567456025,0.5770609318996416,2.1275235767067735,279 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.7873357228195937,1.9740990079636107,0.6736701567456025,0.7204301075268817,2.402986793943087,279 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.9557945041816011,1.675062648349498,0.3216504987272129,0.9713261648745519,2.1525339617897337,279 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9832735961768219,1.995960253738831,0.3216504987272129,0.992831541218638,2.4286123129050425,279 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.7013142174432496,1.6963829256066243,0.6559685795422001,0.6379928315412187,2.1785249453729922,279 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.8124253285543608,2.0213649310181236,0.6559685795422001,0.7634408602150538,2.46026802636688,279 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.6786140979689366,1.6563094115877437,0.6739119632770749,0.6057347670250897,2.127437043098977,279 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.7897252090800477,1.973614393873651,0.6739119632770749,0.7204301075268817,2.405475232810186,279 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.959378733572282,1.6753327710084593,0.3178547452358235,0.985663082437276,2.151770683116439,279 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9880525686977301,1.9962821247395677,0.3178547452358235,0.992831541218638,2.430282765039841,279 -LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.948626045400239,1.9886534702622511,0.42652052172489513,0.9605734767025089,2.5508802701415108,279 -LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.982078853046595,2.3696267653119265,0.42652052172489513,0.985663082437276,2.8779082268088896,279 -LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.919952210274791,2.7543894866582592,0.6131842375665039,0.9390681003584229,3.533521821850437,279 -LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.962962962962963,3.2820575063882127,0.6131842375665039,0.96415770609319,3.996322202322764,279 -LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9545997610513739,1.9077063533601106,0.36965628483154406,0.974910394265233,2.451651861750512,279 -LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.982078853046595,2.2731723263387806,0.36965628483154406,0.989247311827957,2.7700713149742238,279 -LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.9450418160095581,1.950154596953942,0.4170093666043757,0.9713261648745519,2.5026673085384226,279 -LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9761051373954599,2.3237525283018496,0.4170093666043757,0.989247311827957,2.8265335272473506,279 -LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9151732377538829,2.696826924172035,0.5787095347882425,0.931899641577061,3.4630009951695926,279 -LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9617682198327359,3.2134674826424923,0.5787095347882425,0.9713261648745519,3.910946317258273,279 -LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.946236559139785,1.8868156181513538,0.37794787686712633,0.953405017921147,2.423867319053368,279 -LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.973715651135006,2.248279479979185,0.37794787686712633,0.978494623655914,2.737866225288965,279 -Linear,Logistic,experimental,False,1,0.9,0.8781362007168458,0.34505110601522554,0.09072414599095838,0.8602150537634409,0.44173322721221486,279 -Linear,Logistic,experimental,False,1,0.95,0.9235364396654719,0.4111537522454005,0.09072414599095838,0.942652329749104,0.4999798886829815,279 -Linear,Logistic,experimental,False,4,0.9,0.6272401433691757,2.6445643239462022,1.1473776883957956,0.5304659498207885,3.3973680458217284,279 -Linear,Logistic,experimental,False,4,0.95,0.7538829151732378,3.1511927534491755,1.1473776883957956,0.6738351254480287,3.837904531181666,279 -Linear,Logistic,experimental,False,6,0.9,0.9665471923536441,2.817641435858241,0.5337486705787436,0.982078853046595,3.617918674322867,279 -Linear,Logistic,experimental,False,6,0.95,0.992831541218638,3.3574268525431568,0.5337486705787436,0.985663082437276,4.090510766335912,279 -Linear,Logistic,experimental,True,1,0.9,0.8793309438470729,0.3451241610270191,0.09085881649493469,0.8637992831541219,0.4425232370878494,279 -Linear,Logistic,experimental,True,1,0.95,0.927120669056153,0.4112408026611089,0.09085881649493469,0.9247311827956989,0.5003511513270503,279 -Linear,Logistic,experimental,True,4,0.9,0.6260454002389486,2.6453285704074445,1.1470193896220129,0.5340501792114696,3.400400629628495,279 -Linear,Logistic,experimental,True,4,0.95,0.7550776583034647,3.1521034092758122,1.1470193896220129,0.6630824372759857,3.835273402507854,279 -Linear,Logistic,experimental,True,6,0.9,0.9653524492234169,2.818036451528012,0.53628148161544,0.978494623655914,3.618649944340008,279 -Linear,Logistic,experimental,True,6,0.95,0.9916367980884111,3.357897542745248,0.53628148161544,0.989247311827957,4.095387610507919,279 -Linear,Logistic,observational,False,1,0.9,0.953405017921147,0.3841708968971484,0.07961050104957598,0.96415770609319,0.4922207537455792,279 -Linear,Logistic,observational,False,1,0.95,0.9796893667861409,0.4577678581785902,0.07961050104957598,0.982078853046595,0.5570819491636803,279 -Linear,Logistic,observational,False,4,0.9,0.7562724014336918,3.5703538989923196,1.2179903097229416,0.7311827956989247,4.58660474293079,279 -Linear,Logistic,observational,False,4,0.95,0.8661887694145758,4.254339072745686,1.2179903097229416,0.8279569892473119,5.176867731855577,279 -Linear,Logistic,observational,False,6,0.9,0.96415770609319,2.90403181077712,0.5577928749840405,0.978494623655914,3.7307388727293302,279 -Linear,Logistic,observational,False,6,0.95,0.9880525686977301,3.4603673334938736,0.5577928749840405,0.996415770609319,4.215660153871918,279 -Linear,Logistic,observational,True,1,0.9,0.9498207885304659,0.38271599525385286,0.07953780926669077,0.96415770609319,0.4903922294219223,279 -Linear,Logistic,observational,True,1,0.95,0.978494623655914,0.4560342359430406,0.07953780926669077,0.978494623655914,0.5546270673061412,279 -Linear,Logistic,observational,True,4,0.9,0.7753882915173238,3.578451805172507,1.2155985533899312,0.7562724014336918,4.596710497687665,279 -Linear,Logistic,observational,True,4,0.95,0.8661887694145758,4.263988323112582,1.2155985533899312,0.8494623655913979,5.198365228983065,279 -Linear,Logistic,observational,True,6,0.9,0.96415770609319,2.8963764757963824,0.5559980511022559,0.9713261648745519,3.7129044797782056,279 -Linear,Logistic,observational,True,6,0.95,0.9868578255675029,3.451245439237761,0.5559980511022559,0.989247311827957,4.203613051634758,279 +Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_d0_t0,Loss g_d1_t0,Loss g_d0_t1,Loss g_d1_t1,Loss m,repetition +LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.9006666666666666,3.1374187819703567,0.7520129457568626,0.912,4.029207901199153,6.617282691976663,5.988405546643561,10.433768136791137,9.401627631428449,,500 +LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.9466666666666667,3.7384650623765454,0.7520129457568626,0.958,4.552227012702633,6.617282691976663,5.988405546643561,10.433768136791137,9.401627631428449,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.8793333333333334,2.655804247792647,0.701696085496226,0.868,3.414257418227367,5.478783669135401,5.5473424625830665,8.578982469210048,8.69589502771623,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.9406666666666667,3.16458594878707,0.701696085496226,0.936,3.850883101278767,5.478783669135401,5.5473424625830665,8.578982469210048,8.69589502771623,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.9606666666666667,2.7041652924875885,0.521323309674846,0.986,3.475008864856367,5.558095521410893,5.564711313324499,8.69537790943,8.729681431584753,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9906666666666666,3.2222116878216673,0.521323309674846,0.992,3.922462566189405,5.558095521410893,5.564711313324499,8.69537790943,8.729681431584753,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.9,3.1362719016395455,0.7595579395546788,0.902,4.026008755732896,6.6136666751556525,5.987226860773448,10.428640368494829,9.40200596142953,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.9466666666666667,3.7370984701727563,0.7595579395546788,0.948,4.544401995198902,6.6136666751556525,5.987226860773448,10.428640368494829,9.40200596142953,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.88,2.6564029952171233,0.6979007686443791,0.862,3.4111067553138694,5.483600251103322,5.545699398474001,8.587704431322381,8.68529322791349,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.94,3.1652994003480965,0.6979007686443791,0.922,3.8510106954903858,5.483600251103322,5.545699398474001,8.587704431322381,8.68529322791349,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.9673333333333334,2.706761765754681,0.532231880925605,0.97,3.475892283172812,5.556215492953239,5.566798575190458,8.697387677372742,8.732028582264512,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9873333333333334,3.2253055765464382,0.532231880925605,0.986,3.929581016524332,5.556215492953239,5.566798575190458,8.697387677372742,8.732028582264512,,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.9293333333333333,13.372898717462169,3.006793558973905,0.952,17.17021338240484,6.61431322341285,5.989098338531844,10.441531473425052,9.401922782821982,0.6223517773930638,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9726666666666667,15.93479165906415,3.006793558973905,0.976,19.370621869558164,6.61431322341285,5.989098338531844,10.441531473425052,9.401922782821982,0.6223517773930638,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9393333333333334,17.387507033907504,3.867717192529616,0.978,22.29785415068699,5.483529511409194,5.544572471266972,8.573728123423898,8.686222700734833,0.620652439220559,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.9866666666666666,20.718492520551187,3.867717192529616,0.996,25.197153679607695,5.483529511409194,5.544572471266972,8.573728123423898,8.686222700734833,0.620652439220559,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9346666666666666,11.756579512078682,2.687172454408062,0.964,15.096014857508953,5.556447030625612,5.566332217435632,8.697349572684388,8.724714850333458,0.6425912403978503,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.9793333333333334,14.008828534951162,2.687172454408062,0.986,17.0499932094467,5.556447030625612,5.566332217435632,8.697349572684388,8.724714850333458,0.6425912403978503,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.9213333333333333,6.177101952631624,1.4473282972437795,0.922,7.930470227900552,6.610953777859591,5.987558649973095,10.431331456540903,9.398209506600173,0.6227191384163594,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.96,7.360470960828671,1.4473282972437795,0.968,8.959245957892955,6.610953777859591,5.987558649973095,10.431331456540903,9.398209506600173,0.6227191384163594,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9266666666666666,7.7047316286962335,1.6919787257080627,0.93,9.881487689397664,5.481503486929605,5.549881921443366,8.586152274155427,8.691875547038066,0.6204308565768274,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9666666666666667,9.180753992547674,1.6919787257080627,0.968,11.164111607252154,5.481503486929605,5.549881921443366,8.586152274155427,8.691875547038066,0.6204308565768274,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.9146666666666666,5.952225575954154,1.3768469606904437,0.942,7.64675388973916,5.5560627139726915,5.569138600194468,8.697199773476768,8.730173653898916,0.6422062286736312,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.966,7.0925142307951425,1.3768469606904437,0.976,8.624417230625568,5.5560627139726915,5.569138600194468,8.697199773476768,8.730173653898916,0.6422062286736312,500 +Linear,Logistic,experimental,False,1,0.9,0.916,0.49167914192328377,0.11200177746300413,0.916,0.6307655292545913,1.4326492523105687,1.4311291054269213,1.4325223901031552,1.4317781279701975,,500 +Linear,Logistic,experimental,False,1,0.95,0.9626666666666667,0.5858718334136762,0.11200177746300413,0.96,0.7124926884202681,1.4326492523105687,1.4311291054269213,1.4325223901031552,1.4317781279701975,,500 +Linear,Logistic,experimental,False,4,0.9,0.842,3.8562124525420933,1.1248968556709855,0.846,4.954814644510645,7.312512104360314,7.364921614399227,11.66805513936815,11.709611562434787,,500 +Linear,Logistic,experimental,False,4,0.95,0.9133333333333333,4.594960548389488,1.1248968556709855,0.932,5.59080985604953,7.312512104360314,7.364921614399227,11.66805513936815,11.709611562434787,,500 +Linear,Logistic,experimental,False,6,0.9,0.956,4.011665096314042,0.7427382585168987,0.98,5.1516891674272305,7.557717971919393,7.578566933659404,12.021131413918786,12.099925992696773,,500 +Linear,Logistic,experimental,False,6,0.95,0.982,4.780193798389516,0.7427382585168987,0.994,5.814970435427329,7.557717971919393,7.578566933659404,12.021131413918786,12.099925992696773,,500 +Linear,Logistic,experimental,True,1,0.9,0.914,0.4918327961740914,0.11227174324411467,0.918,0.6300853080695145,1.4329230075255606,1.4311831659455172,1.4323891463629586,1.4316481461552522,,500 +Linear,Logistic,experimental,True,1,0.95,0.9626666666666667,0.586054923746287,0.11227174324411467,0.962,0.7121903640351243,1.4329230075255606,1.4311831659455172,1.4323891463629586,1.4316481461552522,,500 +Linear,Logistic,experimental,True,4,0.9,0.8406666666666667,3.8582024264603483,1.1297788222184038,0.832,4.958303957339932,7.3172880998807335,7.363134149481367,11.67348808958302,11.711262037657798,,500 +Linear,Logistic,experimental,True,4,0.95,0.9126666666666666,4.597331748565629,1.1297788222184038,0.918,5.590892421427835,7.3172880998807335,7.363134149481367,11.67348808958302,11.711262037657798,,500 +Linear,Logistic,experimental,True,6,0.9,0.9573333333333334,4.013067624094225,0.7421262204810875,0.972,5.154885178903125,7.557221578348061,7.57757429903331,12.027039927351481,12.089940358101535,,500 +Linear,Logistic,experimental,True,6,0.95,0.984,4.781865013317965,0.7421262204810875,0.996,5.825010935591872,7.557221578348061,7.57757429903331,12.027039927351481,12.089940358101535,,500 +Linear,Logistic,observational,False,1,0.9,0.9386666666666666,0.5339246513603744,0.11164335677035286,0.948,0.6847946948938862,1.4329203952287997,1.430880633417486,1.4322896879071867,1.4315357933534285,0.6727048864100559,500 +Linear,Logistic,observational,False,1,0.95,0.9726666666666667,0.6362104627291024,0.11164335677035286,0.984,0.7749110612475982,1.4329203952287997,1.430880633417486,1.4322896879071867,1.4315357933534285,0.6727048864100559,500 +Linear,Logistic,observational,False,4,0.9,0.8926666666666666,4.893186323214135,1.1976760469301848,0.928,6.2824106539017315,7.317311353635984,7.363258557040041,11.670171139311439,11.70683555690419,0.6729428054402635,500 +Linear,Logistic,observational,False,4,0.95,0.962,5.830591127380976,1.1976760469301848,0.96,7.100458383114395,7.317311353635984,7.363258557040041,11.670171139311439,11.70683555690419,0.6729428054402635,500 +Linear,Logistic,observational,False,6,0.9,0.9586666666666667,4.24947456911618,0.777830164454471,0.986,5.452199293138655,7.555869504377207,7.576817624543539,12.017894502902424,12.091627342634094,0.6939649419526995,500 +Linear,Logistic,observational,False,6,0.95,0.9866666666666666,5.063561262969632,0.777830164454471,0.998,6.163707088660532,7.555869504377207,7.576817624543539,12.017894502902424,12.091627342634094,0.6939649419526995,500 +Linear,Logistic,observational,True,1,0.9,0.9366666666666666,0.5315266512396845,0.11131169317983068,0.95,0.6818062962889836,1.432718050716034,1.4309229860904062,1.432554830777679,1.4318056942597368,0.6727122522683564,500 +Linear,Logistic,observational,True,1,0.95,0.9746666666666667,0.6333530693449958,0.11131169317983068,0.982,0.768956484213576,1.432718050716034,1.4309229860904062,1.432554830777679,1.4318056942597368,0.6727122522683564,500 +Linear,Logistic,observational,True,4,0.9,0.9013333333333333,4.873627881760751,1.192569798416415,0.906,6.260104013232184,7.317555311981951,7.362601753308157,11.670615292305248,11.711325063822715,0.6729405659549627,500 +Linear,Logistic,observational,True,4,0.95,0.952,5.807285806947441,1.192569798416415,0.96,7.065739690289801,7.317555311981951,7.362601753308157,11.670615292305248,11.711325063822715,0.6729405659549627,500 +Linear,Logistic,observational,True,6,0.9,0.96,4.224826442302571,0.7755018492012593,0.978,5.4337222374310015,7.559243151805225,7.5771914622592105,12.019363662222768,12.096028014111692,0.6939192119435217,500 +Linear,Logistic,observational,True,6,0.95,0.986,5.034191208364479,0.7755018492012593,0.996,6.131887010616248,7.559243151805225,7.5771914622592105,12.019363662222768,12.096028014111692,0.6939192119435217,500 diff --git a/results/did/did_pa_atte_coverage.csv b/results/did/did_pa_atte_coverage.csv index 9119e34e..4d165627 100644 --- a/results/did/did_pa_atte_coverage.csv +++ b/results/did/did_pa_atte_coverage.csv @@ -25,13 +25,13 @@ LGBM,LGBM,experimental,True,6,0.9,0.897,1.8093537325759845,0.43669034939483387,1 LGBM,LGBM,experimental,True,6,0.95,0.944,2.1559779502779253,0.43669034939483387,1000 LGBM,LGBM,observational,False,1,0.9,0.893,12.590652453419517,3.3787304616783773,1000 LGBM,LGBM,observational,False,1,0.95,0.953,15.002687744501154,3.3787304616783773,1000 -LGBM,LGBM,observational,False,2,0.9,0.914,14.716645515368727,3.622038823656133,1000 -LGBM,LGBM,observational,False,2,0.95,0.966,17.535964727040476,3.622038823656133,1000 +LGBM,LGBM,observational,False,2,0.9,0.914,14.716645515368729,3.6220388236561334,1000 +LGBM,LGBM,observational,False,2,0.95,0.966,17.535964727040476,3.6220388236561334,1000 LGBM,LGBM,observational,False,3,0.9,0.933,14.387879061625718,3.413516510279929,1000 LGBM,LGBM,observational,False,3,0.95,0.977,17.14421533481309,3.413516510279929,1000 LGBM,LGBM,observational,False,4,0.9,0.843,18.129751335736472,5.765050835726839,1000 LGBM,LGBM,observational,False,4,0.95,0.932,21.602931157204278,5.765050835726839,1000 -LGBM,LGBM,observational,False,5,0.9,0.917,7.704465948378402,1.901185439754437,1000 +LGBM,LGBM,observational,False,5,0.9,0.917,7.704465948378403,1.901185439754437,1000 LGBM,LGBM,observational,False,5,0.95,0.96,9.180437414922883,1.901185439754437,1000 LGBM,LGBM,observational,False,6,0.9,0.922,7.569553123736534,1.7987428999886972,1000 LGBM,LGBM,observational,False,6,0.95,0.971,9.019678868984235,1.7987428999886972,1000 diff --git a/results/did/did_pa_atte_coverage_metadata.csv b/results/did/did_pa_atte_coverage_metadata.csv index 000a12d0..ba65af64 100644 --- a/results/did/did_pa_atte_coverage_metadata.csv +++ b/results/did/did_pa_atte_coverage_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (seconds),Python Version -0.11.dev0,did_pa_atte_coverage.py,2025-09-08 09:48:43,11386.774159193039,3.12.3 +0.12.dev0,did_pa_atte_coverage.py,2025-12-04 21:12:43,14567.57974767685,3.12.3 diff --git a/results/did/did_pa_multi_config.yml b/results/did/did_pa_multi_config.yml index 83d9a598..0964a5db 100644 --- a/results/did/did_pa_multi_config.yml +++ b/results/did/did_pa_multi_config.yml @@ -9,7 +9,7 @@ dgp_parameters: - 4 - 6 n_obs: - - 2000 + - 1000 learner_definitions: linear: &id001 name: Linear @@ -17,30 +17,8 @@ learner_definitions: name: Logistic lgbmr: &id003 name: LGBM Regr. - params: - n_estimators: 300 - learning_rate: 0.03 - num_leaves: 7 - max_depth: 3 - min_child_samples: 20 - subsample: 0.8 - colsample_bytree: 0.8 - reg_alpha: 0.1 - reg_lambda: 1.0 - random_state: 42 lgbmc: &id004 name: LGBM Clas. - params: - n_estimators: 300 - learning_rate: 0.03 - num_leaves: 7 - max_depth: 3 - min_child_samples: 20 - subsample: 0.8 - colsample_bytree: 0.8 - reg_alpha: 0.1 - reg_lambda: 1.0 - random_state: 42 dml_parameters: learners: - ml_g: *id001 diff --git a/results/did/did_pa_multi_detailed.csv b/results/did/did_pa_multi_detailed.csv index c1e4e004..32a34122 100644 --- a/results/did/did_pa_multi_detailed.csv +++ b/results/did/did_pa_multi_detailed.csv @@ -1,49 +1,49 @@ -Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.376,0.6652875963255455,0.4788685058327714,0.058,0.9917345689606342,500 -LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.466,0.7927390661356161,0.4788685058327714,0.108,1.1006737210796154,500 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.4028333333333333,0.6375143991809316,0.4598493354870683,0.062,0.9707190331373089,500 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.4835,0.7596452605549572,0.4598493354870683,0.116,1.0714847122758369,500 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.9068333333333334,0.6319876715013313,0.1496835272788454,0.902,0.961159835023131,500 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9545,0.7530597583395087,0.1496835272788454,0.948,1.0612651757550962,500 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.3695,0.665112888834881,0.4796254225591018,0.056,0.9918017057736429,500 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.4643333333333333,0.7925308893204144,0.4796254225591018,0.096,1.100765040608417,500 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.40166666666666667,0.637529211762134,0.45941817473447466,0.066,0.9704822467049042,500 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.48483333333333334,0.7596629108341059,0.45941817473447466,0.13,1.0709769244654075,500 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.9086666666666666,0.6320226929328787,0.15100923938299782,0.908,0.9611707119460113,500 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.956,0.753101488949087,0.15100923938299782,0.958,1.0617636267630723,500 -LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.9413333333333334,0.8473750602173274,0.18142333577766562,0.966,1.2982618812879472,500 -LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9783333333333334,1.0097096618265964,0.18142333577766562,0.982,1.4306891717715393,500 -LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9361666666666666,1.1805935901738753,0.24311470255923542,0.928,1.7694514143349136,500 -LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.972,1.4067640300664292,0.24311470255923542,0.968,1.9613167333492803,500 -LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9445,0.799473826966886,0.16836783892060214,0.964,1.219530440156558,500 -LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.9765,0.9526318219218256,0.16836783892060214,0.992,1.3465373276978427,500 -LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.9318333333333334,0.765793532602588,0.1690667393317399,0.948,1.174708291209629,500 -LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9693333333333334,0.9124992758635622,0.1690667393317399,0.968,1.2944261985939705,500 -LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9073333333333333,1.047664796626265,0.23641189001223264,0.884,1.5765116310810836,500 -LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9526666666666667,1.2483696029923643,0.23641189001223264,0.934,1.745518490751232,500 -LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.9201666666666666,0.7385460777856706,0.1670517636117764,0.93,1.1302692286733522,500 -LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.966,0.8800319309056294,0.1670517636117764,0.978,1.2470377584840033,500 -Linear,Logistic,experimental,False,1,0.9,0.8501666666666666,0.29479284945056916,0.08086572239335096,0.796,0.45995374878119605,500 -Linear,Logistic,experimental,False,1,0.95,0.913,0.3512673458330162,0.08086572239335096,0.88,0.5050979956516887,500 -Linear,Logistic,experimental,False,4,0.9,0.3168333333333333,0.9760437330904909,0.7983186878119084,0.044,1.4125036246810794,500 -Linear,Logistic,experimental,False,4,0.95,0.3938333333333333,1.1630278420207578,0.7983186878119084,0.092,1.5753820426798095,500 -Linear,Logistic,experimental,False,6,0.9,0.899,0.9860085683861257,0.23991010091979903,0.906,1.4243822820823935,500 -Linear,Logistic,experimental,False,6,0.95,0.9505,1.1749016756381088,0.23991010091979903,0.954,1.5890926429460632,500 -Linear,Logistic,experimental,True,1,0.9,0.8493333333333334,0.2947743766527007,0.08084058304773781,0.788,0.4596544541257168,500 -Linear,Logistic,experimental,True,1,0.95,0.912,0.35124533413670317,0.08084058304773781,0.88,0.5047647602299501,500 -Linear,Logistic,experimental,True,4,0.9,0.317,0.9760523203780584,0.7984727949426184,0.044,1.4128372852042128,500 -Linear,Logistic,experimental,True,4,0.95,0.3943333333333333,1.1630380744050146,0.7984727949426184,0.094,1.5751667127652091,500 -Linear,Logistic,experimental,True,6,0.9,0.8991666666666667,0.9859626233262315,0.23979371890526563,0.904,1.4232291798853027,500 -Linear,Logistic,experimental,True,6,0.95,0.951,1.1748469287225265,0.23979371890526563,0.958,1.588215494542204,500 -Linear,Logistic,observational,False,1,0.9,0.8988333333333334,0.3184881107577261,0.07719182324721395,0.896,0.4952541062417649,500 -Linear,Logistic,observational,False,1,0.95,0.9508333333333334,0.37950199115666555,0.07719182324721395,0.948,0.5441088991747411,500 -Linear,Logistic,observational,False,4,0.9,0.4406666666666667,1.250117333215647,0.7652605925915565,0.216,1.785617101702533,500 -Linear,Logistic,observational,False,4,0.95,0.5483333333333333,1.489606679527487,0.7652605925915565,0.318,1.996557839151422,500 -Linear,Logistic,observational,False,6,0.9,0.9001666666666667,1.0281899856954657,0.25243845779943025,0.906,1.4837296477899995,500 -Linear,Logistic,observational,False,6,0.95,0.9523333333333334,1.2251639344728882,0.25243845779943025,0.952,1.6552087227571348,500 -Linear,Logistic,observational,True,1,0.9,0.896,0.3165397630599274,0.07742883162791457,0.9,0.4922063338438365,500 -Linear,Logistic,observational,True,1,0.95,0.9476666666666667,0.37718039168150475,0.07742883162791457,0.948,0.5406640569497208,500 -Linear,Logistic,observational,True,4,0.9,0.4401666666666667,1.2510817907762226,0.7665003000548748,0.212,1.7865647514529477,500 -Linear,Logistic,observational,True,4,0.95,0.5455,1.4907559015934337,0.7665003000548748,0.314,1.9973361166282748,500 -Linear,Logistic,observational,True,6,0.9,0.8968333333333334,1.0226493025529169,0.2537626388753708,0.904,1.4768520252885453,500 -Linear,Logistic,observational,True,6,0.95,0.9493333333333334,1.2185618032976842,0.2537626388753708,0.954,1.6473969037298655,500 +Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_control,Loss g_treated,Loss m,repetition +LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.7118333333333333,1.1381623402129686,0.4419798715138312,0.58,1.6935147614076662,4.251414560174687,3.9023721235530875,,500 +LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.8078333333333334,1.3562040772659318,0.4419798715138312,0.702,1.879314654400257,4.251414560174687,3.9023721235530875,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.6663333333333333,0.9979198070269957,0.4351867876643422,0.484,1.5177614960490897,3.6041257872434316,3.656177733062923,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.7625,1.1890947918916412,0.4351867876643422,0.6,1.6768693689030565,3.6041257872434316,3.656177733062923,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.8923333333333334,1.0022018005212947,0.2483414823118985,0.89,1.5221823526670997,3.6653199008882806,3.6732792671089802,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9455,1.194197101843935,0.2483414823118985,0.936,1.682298879386959,3.6653199008882806,3.6732792671089802,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.7161666666666666,1.139228880785853,0.4432914902036533,0.586,1.695672383489301,4.254915661245208,3.9081580572672006,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.8046666666666666,1.3574749387436054,0.4432914902036533,0.702,1.88310585448359,4.254915661245208,3.9081580572672006,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.6648333333333334,0.9976690743615908,0.4349016774715437,0.494,1.5163112900112334,3.604058108148232,3.6558496288293028,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.7576666666666666,1.1887960254932888,0.4349016774715437,0.602,1.6756055150069782,3.604058108148232,3.6558496288293028,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.8963333333333334,1.0022538664126324,0.24859661066544184,0.896,1.5208399939131125,3.6673476578091213,3.67282635262856,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9465,1.1942591421800313,0.24859661066544184,0.938,1.6797233293731755,3.6673476578091213,3.67282635262856,,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.93,4.242952590277389,1.0501915472624304,0.976,6.572329940003239,4.253175709801001,3.906060351285797,0.8593178740429351,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9731666666666666,5.0557898458523205,1.0501915472624304,0.996,7.219576355472785,4.253175709801001,3.906060351285797,0.8593178740429351,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9328333333333334,5.190956646525575,1.3180842895910307,0.982,7.974694922573532,3.603393726868437,3.6567299092669496,0.8550452901236911,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.9811666666666666,6.1854063521477745,1.3180842895910307,0.998,8.780905280309248,3.603393726868437,3.6567299092669496,0.8550452901236911,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9286666666666666,3.8680087739270808,0.9171462617439157,0.976,5.990538989333728,3.6690522171173754,3.673958530682985,0.8827023979591501,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.9735,4.609016732286827,0.9171462617439157,0.99,6.585177511395715,3.6690522171173754,3.673958530682985,0.8827023979591501,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.9246666666666666,1.7872450371071749,0.41644649122540595,0.932,2.7788777272652876,4.252871492540774,3.9091800675023842,0.8597712039752193,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9705,2.12963381475485,0.41644649122540595,0.972,3.047956509870691,4.252871492540774,3.9091800675023842,0.8597712039752193,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9151666666666667,2.134291936975694,0.49848103575747027,0.914,3.2911700420965184,3.6023625666216796,3.656369960958097,0.8544314031214001,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9603333333333334,2.543165702056725,0.49848103575747027,0.954,3.6207167069025283,3.6023625666216796,3.656369960958097,0.8544314031214001,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.9038333333333334,1.7616392562369854,0.4302768985929552,0.948,2.739906693853885,3.6668860766842997,3.673219727253148,0.8823772245412226,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9586666666666667,2.0991226449587814,0.4302768985929552,0.976,3.0084955460606175,3.6668860766842997,3.673219727253148,0.8823772245412226,500 +Linear,Logistic,experimental,False,1,0.9,0.8781666666666667,0.41874433610870204,0.10804155884105895,0.86,0.6523375088978596,1.4308932901376943,1.433755616875065,,500 +Linear,Logistic,experimental,False,1,0.95,0.932,0.4989646519637731,0.10804155884105895,0.922,0.7158647009999489,1.4308932901376943,1.433755616875065,,500 +Linear,Logistic,experimental,False,4,0.9,0.5705,1.3886794903407913,0.7274980014924879,0.326,2.012833802762671,4.630168890637375,4.67631587765691,,500 +Linear,Logistic,experimental,False,4,0.95,0.666,1.654713673326562,0.7274980014924879,0.46,2.24467414530547,4.630168890637375,4.67631587765691,,500 +Linear,Logistic,experimental,False,6,0.9,0.8998333333333334,1.3984859261598657,0.33830505605146655,0.89,2.020536014062823,4.789675142322002,4.82008231089315,,500 +Linear,Logistic,experimental,False,6,0.95,0.9458333333333334,1.6663987623260685,0.33830505605146655,0.952,2.2554338055691443,4.789675142322002,4.82008231089315,,500 +Linear,Logistic,experimental,True,1,0.9,0.8758333333333334,0.41874981585890936,0.10810312860451958,0.862,0.6526715196659946,1.4308342472003583,1.4336678133715806,,500 +Linear,Logistic,experimental,True,1,0.95,0.9323333333333333,0.4989711814888778,0.10810312860451958,0.922,0.716243536618842,1.4308342472003583,1.4336678133715806,,500 +Linear,Logistic,experimental,True,4,0.9,0.5708333333333334,1.3887666362211712,0.7273632909529565,0.322,2.0099027225460664,4.6324226237971935,4.67531768790484,,500 +Linear,Logistic,experimental,True,4,0.95,0.6668333333333334,1.6548175140477952,0.7273632909529565,0.446,2.2425682069566997,4.6324226237971935,4.67531768790484,,500 +Linear,Logistic,experimental,True,6,0.9,0.9021666666666667,1.3982265248349863,0.3376322846625368,0.9,2.0202289877865622,4.78576655831704,4.816427096646486,,500 +Linear,Logistic,experimental,True,6,0.95,0.948,1.6660896665828517,0.3376322846625368,0.942,2.2535011538359546,4.78576655831704,4.816427096646486,,500 +Linear,Logistic,observational,False,1,0.9,0.8965,0.4487747005561018,0.11003501545786216,0.894,0.6985974887320255,1.4307576389325865,1.43345005442208,0.6767021399480564,500 +Linear,Logistic,observational,False,1,0.95,0.9466666666666667,0.5347480382755401,0.11003501545786216,0.95,0.7677453626757766,1.4307576389325865,1.43345005442208,0.6767021399480564,500 +Linear,Logistic,observational,False,4,0.9,0.702,1.72673203692044,0.6824518123834845,0.568,2.475636508042855,4.632192822877654,4.674876689774085,0.6765506392804086,500 +Linear,Logistic,observational,False,4,0.95,0.7953333333333333,2.0575281276474318,0.6824518123834845,0.682,2.7657955101513707,4.632192822877654,4.674876689774085,0.6765506392804086,500 +Linear,Logistic,observational,False,6,0.9,0.903,1.5566195007244013,0.3891975535069405,0.894,2.2449775973848984,4.7881148275256455,4.815953043151829,0.6973883348636404,500 +Linear,Logistic,observational,False,6,0.95,0.9525,1.8548265383996734,0.3891975535069405,0.956,2.507185809368545,4.7881148275256455,4.815953043151829,0.6973883348636404,500 +Linear,Logistic,observational,True,1,0.9,0.8903333333333334,0.44421407142823904,0.10950061428650094,0.904,0.6917171809295278,1.4307941803206001,1.434054951101132,0.6767148696162103,500 +Linear,Logistic,observational,True,1,0.95,0.9446666666666667,0.5293137134876124,0.10950061428650094,0.958,0.7591158113284706,1.4307941803206001,1.434054951101132,0.6767148696162103,500 +Linear,Logistic,observational,True,4,0.9,0.6961666666666666,1.7147016185541077,0.6843803046869413,0.574,2.462671762515258,4.633353199848344,4.672360931794965,0.6765044995038704,500 +Linear,Logistic,observational,True,4,0.95,0.7916666666666666,2.0431929999919323,0.6843803046869413,0.668,2.7502204808697956,4.633353199848344,4.672360931794965,0.6765044995038704,500 +Linear,Logistic,observational,True,6,0.9,0.8953333333333334,1.5451866520422732,0.39068353921980453,0.872,2.2282559295209747,4.789419332950871,4.818343116282321,0.6974028333059313,500 +Linear,Logistic,observational,True,6,0.95,0.9483333333333334,1.8412034589411095,0.39068353921980453,0.936,2.487704452423753,4.789419332950871,4.818343116282321,0.6974028333059313,500 diff --git a/results/did/did_pa_multi_eventstudy.csv b/results/did/did_pa_multi_eventstudy.csv index 688aa5fe..ec66f20b 100644 --- a/results/did/did_pa_multi_eventstudy.csv +++ b/results/did/did_pa_multi_eventstudy.csv @@ -1,49 +1,49 @@ -Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.251,0.6628654501020936,0.5553497060316026,0.05,0.8666120274374581,500 -LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.331,0.789852900895458,0.5553497060316026,0.1,0.9836416996824218,500 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.25566666666666665,0.6061163481265549,0.5359315854116167,0.06,0.8130682948554054,500 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.32866666666666666,0.7222321751332573,0.5359315854116167,0.092,0.9175062395844776,500 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.9083333333333333,0.6011245085663874,0.1420917367605564,0.902,0.8062184462576744,500 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9566666666666667,0.7162840314235562,0.1420917367605564,0.948,0.9103123304564166,500 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.24466666666666664,0.6627880064142638,0.555925276229026,0.054,0.8659525081500888,500 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.3243333333333333,0.7897606210497081,0.555925276229026,0.108,0.9823405373544069,500 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.2553333333333333,0.60609902981909,0.5350068317799034,0.052,0.8130942841660469,500 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.32666666666666666,0.722211539097109,0.5350068317799034,0.092,0.9176685231521926,500 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.909,0.6012608745780371,0.1443036501234995,0.902,0.8073600526505708,500 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9586666666666667,0.7164465215486161,0.1443036501234995,0.96,0.9100811064364884,500 -LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.9566666666666667,0.8343591700520313,0.17240891215637585,0.96,1.125236895893377,500 -LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.982,0.9942002720956753,0.17240891215637585,0.994,1.269001756280088,500 -LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9446666666666667,1.2226388345816632,0.24145099309149382,0.944,1.6118340685470378,500 -LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.977,1.4568640288810228,0.24145099309149382,0.97,1.827176036213007,500 -LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9513333333333334,0.7702039169429056,0.1586828551592256,0.966,1.035001709912542,500 -LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.9836666666666666,0.917754572944934,0.1586828551592256,0.988,1.168185861541643,500 -LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.9466666666666667,0.7461348940365403,0.15792024532328497,0.954,1.0098840015313073,500 -LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9776666666666667,0.8890745632063305,0.15792024532328497,0.974,1.1390596500565442,500 -LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9083333333333333,1.0789233695036153,0.2404318284685795,0.882,1.429893381678945,500 -LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9516666666666667,1.28561648991523,0.2404318284685795,0.952,1.6175838477627063,500 -LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.923,0.7073837841148641,0.1575489998575967,0.934,0.9550253110353343,500 -LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.97,0.842899767733372,0.1575489998575967,0.972,1.076631200447866,500 -Linear,Logistic,experimental,False,1,0.9,0.8233333333333334,0.21022825549584365,0.06374762819649163,0.744,0.2998975987786293,500 -Linear,Logistic,experimental,False,1,0.95,0.893,0.25050241708631654,0.06374762819649163,0.838,0.33298087141709914,500 -Linear,Logistic,experimental,False,4,0.9,0.1933333333333333,0.9737209286316986,0.9334028345758404,0.044,1.2561104323099732,500 -Linear,Logistic,experimental,False,4,0.95,0.25266666666666665,1.1602600497942852,0.9334028345758404,0.08,1.4288023908537466,500 -Linear,Logistic,experimental,False,6,0.9,0.8986666666666666,0.9865429862466888,0.24294087140303738,0.904,1.2681889702764777,500 -Linear,Logistic,experimental,False,6,0.95,0.9466666666666667,1.1755384737958512,0.24294087140303738,0.954,1.4454898524520403,500 -Linear,Logistic,experimental,True,1,0.9,0.8233333333333334,0.2102348213490823,0.06373632876190509,0.74,0.2999482453048072,500 -Linear,Logistic,experimental,True,1,0.95,0.89,0.2505102407830058,0.06373632876190509,0.848,0.3335602987785028,500 -Linear,Logistic,experimental,True,4,0.9,0.1923333333333333,0.9736990455722659,0.9337657524747155,0.044,1.256282125165825,500 -Linear,Logistic,experimental,True,4,0.95,0.252,1.160233974520682,0.9337657524747155,0.074,1.4289847216304696,500 -Linear,Logistic,experimental,True,6,0.9,0.9006666666666666,0.9863791931119813,0.24255809551692858,0.914,1.2688421282398379,500 -Linear,Logistic,experimental,True,6,0.95,0.9483333333333334,1.1753433022379194,0.24255809551692858,0.956,1.445799753826744,500 -Linear,Logistic,observational,False,1,0.9,0.8953333333333334,0.2264823246923422,0.05493825925004863,0.918,0.322950395371407,500 -Linear,Logistic,observational,False,1,0.95,0.9496666666666667,0.26987033512191866,0.05493825925004863,0.954,0.3588037291923096,500 -Linear,Logistic,observational,False,4,0.9,0.32966666666666666,1.3016542754114409,0.8932940133269849,0.2,1.6556404721672309,500 -Linear,Logistic,observational,False,4,0.95,0.44,1.551016733845991,0.8932940133269849,0.31,1.8903852689136251,500 -Linear,Logistic,observational,False,6,0.9,0.8946666666666666,1.0335838313434413,0.2567399080775817,0.922,1.3265965045559125,500 -Linear,Logistic,observational,False,6,0.95,0.9533333333333334,1.2315910979815305,0.2567399080775817,0.964,1.5103732256620959,500 -Linear,Logistic,observational,True,1,0.9,0.8986666666666666,0.22519917198646572,0.05473224824799309,0.91,0.3214469509497375,500 -Linear,Logistic,observational,True,1,0.95,0.9483333333333334,0.26834136436794104,0.05473224824799309,0.954,0.35662200934767824,500 -Linear,Logistic,observational,True,4,0.9,0.323,1.3023128742573333,0.8932355330696581,0.198,1.6555035692749673,500 -Linear,Logistic,observational,True,4,0.95,0.433,1.5518015027743977,0.8932355330696581,0.302,1.8892552035874615,500 -Linear,Logistic,observational,True,6,0.9,0.8936666666666666,1.0264671975717252,0.25867842235664285,0.918,1.3201271983253648,500 -Linear,Logistic,observational,True,6,0.95,0.9476666666666667,1.2231111058076516,0.25867842235664285,0.956,1.5006760620616992,500 +Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_control,Loss g_treated,Loss m,repetition +LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.6746666666666666,1.1302540296683334,0.4731576889876941,0.578,1.4816051236224814,4.251414560174687,3.9023721235530875,,500 +LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.7766666666666666,1.3467807440330712,0.4731576889876941,0.706,1.6812828344116404,4.251414560174687,3.9023721235530875,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.5883333333333334,0.9528043828979721,0.4823560543893541,0.466,1.27929371437128,3.6041257872434316,3.656177733062923,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.6846666666666666,1.1353364482972514,0.4823560543893541,0.568,1.4435828626776763,3.6041257872434316,3.656177733062923,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.8906666666666666,0.9614073644430178,0.23854888715713693,0.874,1.2882368342996033,3.6653199008882806,3.6732792671089802,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9433333333333334,1.1455875330817396,0.23854888715713693,0.934,1.4541719279679532,3.6653199008882806,3.6732792671089802,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.672,1.1313612944573888,0.4752045661008921,0.582,1.4825812440852297,4.254915661245208,3.9081580572672006,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.7753333333333333,1.3481001314073264,0.4752045661008921,0.708,1.6822431311559558,4.254915661245208,3.9081580572672006,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.5866666666666667,0.9526131499712629,0.48381828437683166,0.462,1.2789773774736573,3.604058108148232,3.6558496288293028,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.683,1.1351085802104706,0.48381828437683166,0.574,1.4449397662479588,3.604058108148232,3.6558496288293028,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.8896666666666666,0.9613935147646324,0.2413090996788802,0.886,1.2886962171143663,3.6673476578091213,3.67282635262856,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9413333333333334,1.1455710301720656,0.2413090996788802,0.946,1.4545969888401349,3.6673476578091213,3.67282635262856,,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.931,4.164767502037442,1.022491190366466,0.97,5.764363671470065,4.253175709801001,3.906060351285797,0.8593178740429351,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9766666666666667,4.962626567024652,1.022491190366466,0.988,6.456380306992598,4.253175709801001,3.906060351285797,0.8593178740429351,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9366666666666666,5.237723094261605,1.3087624117721026,0.964,7.162636336164366,3.603393726868437,3.6567299092669496,0.8550452901236911,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.978,6.241132011711401,1.3087624117721026,0.986,8.044010723863218,3.603393726868437,3.6567299092669496,0.8550452901236911,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9403333333333334,3.702744804674989,0.841195198587983,0.956,5.120358871756714,3.6690522171173754,3.673958530682985,0.8827023979591501,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.98,4.4120925668967645,0.841195198587983,0.992,5.735527288019376,3.6690522171173754,3.673958530682985,0.8827023979591501,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.931,1.6944396957302716,0.3788936105933235,0.958,2.351486820346032,4.252871492540774,3.9091800675023842,0.8597712039752193,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9733333333333334,2.019049429803349,0.3788936105933235,0.986,2.6340758955175962,4.252871492540774,3.9091800675023842,0.8597712039752193,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9203333333333333,2.099994463708224,0.47568840327077033,0.916,2.884538642447501,3.6023625666216796,3.656369960958097,0.8544314031214001,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9643333333333334,2.5022977419759527,0.47568840327077033,0.96,3.2361711377554325,3.6023625666216796,3.656369960958097,0.8544314031214001,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.9176666666666666,1.6649680157548647,0.3965715534070617,0.94,2.3096412442209173,3.6668860766842997,3.673219727253148,0.8823772245412226,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9683333333333334,1.9839317571003103,0.3965715534070617,0.978,2.5878336327807934,3.6668860766842997,3.673219727253148,0.8823772245412226,500 +Linear,Logistic,experimental,False,1,0.9,0.8666666666666666,0.2985220382766737,0.08032954714335858,0.858,0.42588904901239366,1.4308932901376943,1.433755616875065,,500 +Linear,Logistic,experimental,False,1,0.95,0.9276666666666666,0.3557109483949417,0.08032954714335858,0.908,0.4732054604923478,1.4308932901376943,1.433755616875065,,500 +Linear,Logistic,experimental,False,4,0.9,0.469,1.385425299133638,0.8291392834950805,0.332,1.78816179246692,4.630168890637375,4.67631587765691,,500 +Linear,Logistic,experimental,False,4,0.95,0.5746666666666667,1.6508360653374252,0.8291392834950805,0.432,2.035004980001657,4.630168890637375,4.67631587765691,,500 +Linear,Logistic,experimental,False,6,0.9,0.905,1.3978653080426409,0.3351675196253679,0.896,1.799739390962864,4.789675142322002,4.82008231089315,,500 +Linear,Logistic,experimental,False,6,0.95,0.951,1.6656592502272516,0.3351675196253679,0.946,2.049982822531411,4.789675142322002,4.82008231089315,,500 +Linear,Logistic,experimental,True,1,0.9,0.8693333333333334,0.29852676546237694,0.08045667559004953,0.844,0.4259770328026022,1.4308342472003583,1.4336678133715806,,500 +Linear,Logistic,experimental,True,1,0.95,0.9273333333333333,0.3557165811841303,0.08045667559004953,0.92,0.4731312968260002,1.4308342472003583,1.4336678133715806,,500 +Linear,Logistic,experimental,True,4,0.9,0.474,1.3855744881365462,0.8290728030361341,0.342,1.7882955240502534,4.6324226237971935,4.67531768790484,,500 +Linear,Logistic,experimental,True,4,0.95,0.5766666666666667,1.6510138349989913,0.8290728030361341,0.454,2.0346621930802478,4.6324226237971935,4.67531768790484,,500 +Linear,Logistic,experimental,True,6,0.9,0.91,1.3974935711705463,0.33476026099477,0.896,1.800052207362101,4.78576655831704,4.816427096646486,,500 +Linear,Logistic,experimental,True,6,0.95,0.9516666666666667,1.6652162984234602,0.33476026099477,0.944,2.0490585716874223,4.78576655831704,4.816427096646486,,500 +Linear,Logistic,observational,False,1,0.9,0.8966666666666666,0.31895870510261515,0.07868199724566835,0.888,0.4549331199458131,1.4307576389325865,1.43345005442208,0.6767021399480564,500 +Linear,Logistic,observational,False,1,0.95,0.952,0.3800627389047921,0.07868199724566835,0.946,0.5051436354988306,1.4307576389325865,1.43345005442208,0.6767021399480564,500 +Linear,Logistic,observational,False,4,0.9,0.6573333333333333,1.784953121184199,0.7708604228512036,0.564,2.278221524823677,4.632192822877654,4.674876689774085,0.6765506392804086,500 +Linear,Logistic,observational,False,4,0.95,0.76,2.126902828488946,0.7708604228512036,0.674,2.598489445347544,4.632192822877654,4.674876689774085,0.6765506392804086,500 +Linear,Logistic,observational,False,6,0.9,0.906,1.5752433768792418,0.3914161388585165,0.902,2.0188733882038976,4.7881148275256455,4.815953043151829,0.6973883348636404,500 +Linear,Logistic,observational,False,6,0.95,0.9556666666666667,1.8770182555943968,0.3914161388585165,0.954,2.2996980248286607,4.7881148275256455,4.815953043151829,0.6973883348636404,500 +Linear,Logistic,observational,True,1,0.9,0.8913333333333334,0.3161665909621781,0.07884305664550068,0.896,0.45112838427282925,1.4307941803206001,1.434054951101132,0.6767148696162103,500 +Linear,Logistic,observational,True,1,0.95,0.9486666666666667,0.3767357297008642,0.07884305664550068,0.946,0.5009667788496103,1.4307941803206001,1.434054951101132,0.6767148696162103,500 +Linear,Logistic,observational,True,4,0.9,0.6476666666666666,1.7751659442635044,0.7700657310612388,0.572,2.268325764959804,4.633353199848344,4.672360931794965,0.6765044995038704,500 +Linear,Logistic,observational,True,4,0.95,0.7536666666666666,2.1152406878822863,0.7700657310612388,0.672,2.5831609573536167,4.633353199848344,4.672360931794965,0.6765044995038704,500 +Linear,Logistic,observational,True,6,0.9,0.9,1.5617152784826012,0.3961474375185221,0.894,2.0047075372345904,4.789419332950871,4.818343116282321,0.6974028333059313,500 +Linear,Logistic,observational,True,6,0.95,0.9506666666666667,1.8608985321112372,0.3961474375185221,0.946,2.279812259768839,4.789419332950871,4.818343116282321,0.6974028333059313,500 diff --git a/results/did/did_pa_multi_group.csv b/results/did/did_pa_multi_group.csv index ebc87b8b..67119f15 100644 --- a/results/did/did_pa_multi_group.csv +++ b/results/did/did_pa_multi_group.csv @@ -1,49 +1,49 @@ -Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.3426666666666666,0.7094130851911502,0.5410651079691455,0.062,0.8814474431328166,500 -LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.42266666666666663,0.8453178291086452,0.5410651079691455,0.104,1.0048246357986352,500 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.39,0.6779205770432316,0.5131491369277266,0.072,0.8608598787689631,500 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.466,0.807792191117894,0.5131491369277266,0.114,0.9757314534812841,500 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.9033333333333333,0.6708779229748151,0.15978189372564774,0.9,0.8514634190118249,500 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9493333333333334,0.7994003511976128,0.15978189372564774,0.95,0.966645534150367,500 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.3393333333333333,0.7091931157887029,0.5416760628721469,0.06,0.8811653075764705,500 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.42466666666666664,0.8450557193990434,0.5416760628721469,0.104,1.0062395241091628,500 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.3873333333333333,0.6779461397136461,0.5125661256187202,0.058,0.8598622368543076,500 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.4673333333333333,0.807822650918414,0.5125661256187202,0.112,0.9763657143834374,500 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.902,0.6709376464263304,0.16126311506797883,0.904,0.8507117262094466,500 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9533333333333334,0.7994715160794506,0.16126311506797883,0.948,0.9656911274747025,500 -LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.9506666666666667,0.8769891697442429,0.17704146499402318,0.968,1.1040395734117068,500 -LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9833333333333334,1.0449970498080747,0.17704146499402318,0.988,1.2548031420655423,500 -LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9453333333333334,1.2595077372224688,0.24011432746611314,0.954,1.5721834290290815,500 -LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.9786666666666666,1.5007960360465604,0.24011432746611314,0.976,1.7918356237317294,500 -LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9466666666666667,0.8382209495722466,0.17077166945961064,0.952,1.0581664848559929,500 -LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.978,0.9988018662143472,0.17077166945961064,0.986,1.2016174900854408,500 -LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.9386666666666666,0.7937537279183898,0.1667685993233276,0.944,1.0014910716705034,500 -LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.972,0.9458159035085665,0.1667685993233276,0.972,1.136496239036312,500 -LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9206666666666666,1.1175586785614413,0.24052102198207612,0.904,1.3991418164723,500 -LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.9526666666666667,1.3316533001481612,0.24052102198207612,0.962,1.592875358306436,500 -LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.932,0.7745222260146944,0.1707396957488134,0.94,0.9820916763862624,500 -LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9733333333333334,0.9229001555768093,0.1707396957488134,0.97,1.1142894916108599,500 -Linear,Logistic,experimental,False,1,0.9,0.8133333333333334,0.26395431632200467,0.0773900785436536,0.75,0.3390147418996337,500 -Linear,Logistic,experimental,False,1,0.95,0.8846666666666666,0.31452096714152494,0.0773900785436536,0.868,0.38330617033291153,500 -Linear,Logistic,experimental,False,4,0.9,0.3133333333333333,1.0790342968394178,0.9002096398810875,0.056,1.3587879992082978,500 -Linear,Logistic,experimental,False,4,0.95,0.3846666666666666,1.2857486679884103,0.9002096398810875,0.088,1.545289916624924,500 -Linear,Logistic,experimental,False,6,0.9,0.9,1.0884742810961583,0.26825309230055355,0.902,1.3693811437722017,500 -Linear,Logistic,experimental,False,6,0.95,0.946,1.2969971030191478,0.26825309230055355,0.95,1.5573371090500345,500 -Linear,Logistic,experimental,True,1,0.9,0.812,0.2639313424665521,0.07734221466914705,0.748,0.3390526325357082,500 -Linear,Logistic,experimental,True,1,0.95,0.8833333333333334,0.31449359210429656,0.07734221466914705,0.868,0.3825635034591635,500 -Linear,Logistic,experimental,True,4,0.9,0.312,1.078961468155351,0.9006389971082854,0.048,1.3607338799743556,500 -Linear,Logistic,experimental,True,4,0.95,0.3893333333333333,1.2856618872588221,0.9006389971082854,0.092,1.5471177897063324,500 -Linear,Logistic,experimental,True,6,0.9,0.9033333333333333,1.0884326467310725,0.26821464149819224,0.908,1.3701572370141855,500 -Linear,Logistic,experimental,True,6,0.95,0.9473333333333334,1.2969474926132427,0.26821464149819224,0.95,1.5585855674145508,500 -Linear,Logistic,observational,False,1,0.9,0.8906666666666666,0.2840042137382125,0.06960750537880217,0.878,0.36482205739698775,500 -Linear,Logistic,observational,False,1,0.95,0.9373333333333334,0.33841189347417516,0.06960750537880217,0.948,0.412325327828022,500 -Linear,Logistic,observational,False,4,0.9,0.4273333333333333,1.3904429185037226,0.8711107185602676,0.22,1.7371301151796643,500 -Linear,Logistic,observational,False,4,0.95,0.5373333333333333,1.6568149275853221,0.8711107185602676,0.318,1.9819747781698973,500 -Linear,Logistic,observational,False,6,0.9,0.902,1.1333263178064186,0.28141063731080684,0.906,1.423189414740755,500 -Linear,Logistic,observational,False,6,0.95,0.95,1.350441601146501,0.28141063731080684,0.956,1.6184271354524533,500 -Linear,Logistic,observational,True,1,0.9,0.886,0.2823125606137277,0.07006784415704004,0.874,0.36253489394956745,500 -Linear,Logistic,observational,True,1,0.95,0.938,0.336396164448809,0.07006784415704004,0.946,0.4094838750889928,500 -Linear,Logistic,observational,True,4,0.9,0.4273333333333333,1.3946359445919065,0.8717118631501477,0.224,1.7428953020427504,500 -Linear,Logistic,observational,True,4,0.95,0.5426666666666666,1.6618112263345968,0.8717118631501477,0.322,1.9895793927576437,500 -Linear,Logistic,observational,True,6,0.9,0.8953333333333334,1.1273362530854465,0.2834674254891896,0.912,1.4167544218946766,500 -Linear,Logistic,observational,True,6,0.95,0.9466666666666667,1.3433039987934405,0.2834674254891896,0.95,1.6097065720279435,500 +Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_control,Loss g_treated,Loss m,repetition +LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.68,1.223035480707037,0.4955631873627174,0.584,1.5300332687694937,4.251414560174687,3.9023721235530875,,500 +LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.79,1.4573366618907944,0.4955631873627174,0.708,1.7434787133739384,4.251414560174687,3.9023721235530875,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.6326666666666666,1.0617375977781927,0.48624725258553236,0.466,1.34759478845602,3.6041257872434316,3.656177733062923,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.7266666666666667,1.265138379841215,0.48624725258553236,0.558,1.5268405776509006,3.6041257872434316,3.656177733062923,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.888,1.0656886126304117,0.2659278668921121,0.88,1.3518375843488881,3.6653199008882806,3.6732792671089802,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.942,1.2698463044162933,0.2659278668921121,0.944,1.5315781808137972,3.6653199008882806,3.6732792671089802,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.686,1.224478229609375,0.49424735501910577,0.574,1.5342773807173786,4.254915661245208,3.9081580572672006,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.778,1.4590558032423309,0.49424735501910577,0.684,1.7448800366815072,4.254915661245208,3.9081580572672006,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.6286666666666666,1.061678182610802,0.4859723883784638,0.456,1.3482473754846722,3.604058108148232,3.6558496288293028,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.728,1.265067582302569,0.4859723883784638,0.57,1.5294554623458922,3.604058108148232,3.6558496288293028,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.8926666666666666,1.0655066376849363,0.2664044256834159,0.904,1.3515047707241956,3.6673476578091213,3.67282635262856,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.944,1.2696294678945654,0.2664044256834159,0.942,1.5316853438806863,3.6673476578091213,3.67282635262856,,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.942,4.2092538614652515,1.010396431841649,0.978,5.32309131136417,4.253175709801001,3.906060351285797,0.8593178740429351,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9813333333333334,5.015635333794622,1.010396431841649,0.986,6.050885394857413,4.253175709801001,3.906060351285797,0.8593178740429351,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9353333333333333,5.243902823685244,1.309617104242604,0.97,6.608531391637682,3.603393726868437,3.6567299092669496,0.8550452901236911,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.9846666666666666,6.24849561349704,1.309617104242604,0.986,7.510504554907851,3.603393726868437,3.6567299092669496,0.8550452901236911,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9373333333333334,3.851554037508468,0.8803792573839961,0.968,4.872365198337216,3.6690522171173754,3.673958530682985,0.8827023979591501,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.9793333333333334,4.589409704508098,0.8803792573839961,0.984,5.526781103832225,3.6690522171173754,3.673958530682985,0.8827023979591501,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.93,1.779208972012963,0.39690669971867254,0.966,2.2606069199738372,4.252871492540774,3.9091800675023842,0.8597712039752193,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9746666666666667,2.1200582525868863,0.39690669971867254,0.982,2.562117004861023,4.252871492540774,3.9091800675023842,0.8597712039752193,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.9266666666666666,2.168069968613998,0.47489079673089873,0.934,2.746526936060071,3.6023625666216796,3.656369960958097,0.8544314031214001,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.972,2.5834147092601385,0.47489079673089873,0.96,3.115091120975245,3.6023625666216796,3.656369960958097,0.8544314031214001,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.91,1.7673532658184532,0.4106872309945523,0.932,2.2475327707857917,3.6668860766842997,3.673219727253148,0.8823772245412226,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9646666666666667,2.1059313073245325,0.4106872309945523,0.97,2.5510055740837005,3.6668860766842997,3.673219727253148,0.8823772245412226,500 +Linear,Logistic,experimental,False,1,0.9,0.8726666666666666,0.37502551794580635,0.0980905512464107,0.858,0.4819431304802122,1.4308932901376943,1.433755616875065,,500 +Linear,Logistic,experimental,False,1,0.95,0.9293333333333333,0.4468704670211642,0.0980905512464107,0.934,0.5436989116704612,1.4308932901376943,1.433755616875065,,500 +Linear,Logistic,experimental,False,4,0.9,0.5553333333333332,1.5342391154237787,0.8236779022069166,0.336,1.9331195643955514,4.630168890637375,4.67631587765691,,500 +Linear,Logistic,experimental,False,4,0.95,0.6573333333333332,1.8281586644742303,0.8236779022069166,0.44,2.195970525124974,4.630168890637375,4.67631587765691,,500 +Linear,Logistic,experimental,False,6,0.9,0.9,1.542937519327997,0.37388874901155206,0.898,1.941930784149397,4.789675142322002,4.82008231089315,,500 +Linear,Logistic,experimental,False,6,0.95,0.946,1.8385234520127105,0.37388874901155206,0.95,2.2091516410523524,4.789675142322002,4.82008231089315,,500 +Linear,Logistic,experimental,True,1,0.9,0.868,0.3750038027610117,0.09839976280226585,0.854,0.48175169835973375,1.4308342472003583,1.4336678133715806,,500 +Linear,Logistic,experimental,True,1,0.95,0.9306666666666666,0.4468445917825303,0.09839976280226585,0.932,0.5438357202502617,1.4308342472003583,1.4336678133715806,,500 +Linear,Logistic,experimental,True,4,0.9,0.5553333333333333,1.534124821526472,0.8234290333475868,0.342,1.9350713098222938,4.6324226237971935,4.67531768790484,,500 +Linear,Logistic,experimental,True,4,0.95,0.6613333333333332,1.8280224748955933,0.8234290333475868,0.444,2.19645734171477,4.6324226237971935,4.67531768790484,,500 +Linear,Logistic,experimental,True,6,0.9,0.9006666666666666,1.542696384871231,0.37318032253020644,0.9,1.9422837051318496,4.78576655831704,4.816427096646486,,500 +Linear,Logistic,experimental,True,6,0.95,0.9493333333333334,1.8382361225853687,0.37318032253020644,0.954,2.208765269949538,4.78576655831704,4.816427096646486,,500 +Linear,Logistic,observational,False,1,0.9,0.8893333333333334,0.40054916633616183,0.09776809098336145,0.924,0.5142529883017366,1.4307576389325865,1.43345005442208,0.6767021399480564,500 +Linear,Logistic,observational,False,1,0.95,0.9526666666666667,0.47728376993120875,0.09776809098336145,0.962,0.5813341242992942,1.4307576389325865,1.43345005442208,0.6767021399480564,500 +Linear,Logistic,observational,False,4,0.9,0.6906666666666667,1.9158629808067722,0.7727663045366717,0.588,2.397367286396628,4.632192822877654,4.674876689774085,0.6765506392804086,500 +Linear,Logistic,observational,False,4,0.95,0.792,2.2828915474103826,0.7727663045366717,0.708,2.731668509811014,4.632192822877654,4.674876689774085,0.6765506392804086,500 +Linear,Logistic,observational,False,6,0.9,0.9046666666666666,1.7068943585446565,0.42630674479250796,0.91,2.13740957690726,4.7881148275256455,4.815953043151829,0.6973883348636404,500 +Linear,Logistic,observational,False,6,0.95,0.952,2.033890075898422,0.42630674479250796,0.96,2.436350353448931,4.7881148275256455,4.815953043151829,0.6973883348636404,500 +Linear,Logistic,observational,True,1,0.9,0.886,0.39627966077256066,0.09738926063987939,0.918,0.5089934143156859,1.4307941803206001,1.434054951101132,0.6767148696162103,500 +Linear,Logistic,observational,True,1,0.95,0.9526666666666667,0.47219634026613816,0.09738926063987939,0.966,0.5744685752054821,1.4307941803206001,1.434054951101132,0.6767148696162103,500 +Linear,Logistic,observational,True,4,0.9,0.686,1.9072075411411775,0.7786275392768665,0.596,2.3889872340724247,4.633353199848344,4.672360931794965,0.6765044995038704,500 +Linear,Logistic,observational,True,4,0.95,0.7906666666666666,2.272577954919866,0.7786275392768665,0.692,2.719095432079242,4.633353199848344,4.672360931794965,0.6765044995038704,500 +Linear,Logistic,observational,True,6,0.9,0.8926666666666666,1.6941211069824236,0.4296741461421564,0.906,2.120335772428661,4.789419332950871,4.818343116282321,0.6974028333059313,500 +Linear,Logistic,observational,True,6,0.95,0.954,2.018669807895703,0.4296741461421564,0.952,2.4159333102414347,4.789419332950871,4.818343116282321,0.6974028333059313,500 diff --git a/results/did/did_pa_multi_metadata.csv b/results/did/did_pa_multi_metadata.csv index 6f739c0e..a7f3e805 100644 --- a/results/did/did_pa_multi_metadata.csv +++ b/results/did/did_pa_multi_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,DIDMultiCoverageSimulation,2025-09-08 10:34,235.16521683136622,3.12.3,scripts/did/did_pa_multi_config.yml +0.12.dev0,DIDMultiCoverageSimulation,2025-12-04 19:08,118.96503913799921,3.12.3,scripts/did/did_pa_multi_config.yml diff --git a/results/did/did_pa_multi_time.csv b/results/did/did_pa_multi_time.csv index ebe36f51..543f6f21 100644 --- a/results/did/did_pa_multi_time.csv +++ b/results/did/did_pa_multi_time.csv @@ -1,49 +1,49 @@ -Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.07466666666666666,0.6732674013122543,0.6235690621466867,0.058,0.7961923108719068,500 -LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.14066666666666666,0.8022475902506702,0.6235690621466867,0.098,0.918006645210409,500 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.082,0.6058318700175549,0.6008490525254478,0.052,0.7251168811624854,500 -LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.136,0.7218931985587499,0.6008490525254478,0.106,0.8351087438145972,500 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.9066666666666666,0.59714055238215,0.14040889807066953,0.924,0.7161350746238019,500 -LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9606666666666667,0.7115368548303642,0.14040889807066953,0.962,0.8251205579380226,500 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.074,0.6729928370630124,0.6244323144006763,0.056,0.7941715732936923,500 -LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.132,0.8019204267686809,0.6244323144006763,0.104,0.9193016367752481,500 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.08666666666666666,0.6059313052481657,0.5993304117564142,0.052,0.725564519463603,500 -LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.12533333333333332,0.7220116829439853,0.5993304117564142,0.098,0.8365327370139422,500 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.906,0.5970989989313065,0.14157525005184923,0.92,0.7168446464166246,500 -LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9566666666666667,0.7114873408397255,0.14157525005184923,0.962,0.8249531167974216,500 -LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.9486666666666667,0.8770187116658913,0.17962057221172684,0.948,1.061881825210057,500 -LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.9806666666666666,1.0450322511788936,0.17962057221172684,0.982,1.220684057699607,500 -LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9493333333333334,1.3320128962103468,0.2571035149618884,0.94,1.571937612240713,500 -LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.976,1.5871912617256803,0.2571035149618884,0.972,1.8187323168567295,500 -LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.946,0.7662860532295224,0.1564515730110081,0.956,0.928463556722575,500 -LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.9833333333333334,0.9130861503882113,0.1564515730110081,0.988,1.065756941975338,500 -LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.94,0.7816557146222524,0.16791548653175506,0.942,0.9469921947874506,500 -LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9753333333333334,0.931400231526335,0.16791548653175506,0.978,1.088731036421437,500 -LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.89,1.155715034340344,0.25318614533380285,0.874,1.3683212943129301,500 -LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.944,1.3771194023487263,0.25318614533380285,0.934,1.57988569849374,500 -LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.9166666666666666,0.7001452111787113,0.15746253827962622,0.916,0.8484234185348815,500 -LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9593333333333334,0.8342744760831842,0.15746253827962622,0.96,0.9736662475722498,500 -Linear,Logistic,experimental,False,1,0.9,0.794,0.24425077841473194,0.07578113842525139,0.722,0.3129163378933677,500 -Linear,Logistic,experimental,False,1,0.95,0.8626666666666666,0.2910427536193599,0.07578113842525139,0.848,0.35387918164260174,500 -Linear,Logistic,experimental,False,4,0.9,0.042666666666666665,0.9663030601095306,1.0538679416817638,0.022,1.107527437294173,500 -Linear,Logistic,experimental,False,4,0.95,0.07933333333333333,1.1514211142760844,1.0538679416817638,0.06,1.2869318623991737,500 -Linear,Logistic,experimental,False,6,0.9,0.8973333333333333,0.9667007601125351,0.23778551526074673,0.892,1.1127729718159607,500 -Linear,Logistic,experimental,False,6,0.95,0.944,1.1518950030585073,0.23778551526074673,0.952,1.291361911437721,500 -Linear,Logistic,experimental,True,1,0.9,0.7953333333333333,0.2442344894591128,0.0758026304003878,0.726,0.31326629074244566,500 -Linear,Logistic,experimental,True,1,0.95,0.8626666666666666,0.29102334413158776,0.0758026304003878,0.834,0.3540027436581034,500 -Linear,Logistic,experimental,True,4,0.9,0.041333333333333326,0.9661639682761842,1.0541037636302513,0.028,1.1076075222020547,500 -Linear,Logistic,experimental,True,4,0.95,0.08266666666666665,1.1512553761341393,1.0541037636302513,0.066,1.2890352653966053,500 -Linear,Logistic,experimental,True,6,0.9,0.9,0.9665096797252255,0.23746581622514001,0.902,1.1101278673952202,500 -Linear,Logistic,experimental,True,6,0.95,0.9473333333333334,1.151667316733632,0.23746581622514001,0.95,1.2910188703398415,500 -Linear,Logistic,observational,False,1,0.9,0.8853333333333334,0.2743923693288106,0.06934934364504367,0.898,0.3512416156142327,500 -Linear,Logistic,observational,False,1,0.95,0.9486666666666667,0.3269586744407309,0.06934934364504367,0.956,0.3970891233173115,500 -Linear,Logistic,observational,False,4,0.9,0.19933333333333333,1.3667424492759064,1.0158806375552287,0.166,1.5384295027203043,500 -Linear,Logistic,observational,False,4,0.95,0.284,1.6285740766414527,1.0158806375552287,0.272,1.794614364828469,500 -Linear,Logistic,observational,False,6,0.9,0.9026666666666666,1.0126580133897904,0.24930906704163627,0.91,1.164554052028215,500 -Linear,Logistic,observational,False,6,0.95,0.952,1.206656447952998,0.24930906704163627,0.96,1.3545056219187221,500 -Linear,Logistic,observational,True,1,0.9,0.8846666666666666,0.27224248016963637,0.06948976121024017,0.896,0.3488760835912005,500 -Linear,Logistic,observational,True,1,0.95,0.9453333333333334,0.32439692350211136,0.06948976121024017,0.946,0.3943453891091834,500 -Linear,Logistic,observational,True,4,0.9,0.20066666666666666,1.3731005202075228,1.0154409187335418,0.164,1.545884997307414,500 -Linear,Logistic,observational,True,4,0.95,0.2846666666666667,1.6361501854410028,1.0154409187335418,0.272,1.8028618817025817,500 -Linear,Logistic,observational,True,6,0.9,0.9,1.005884944404527,0.25122735784047073,0.89,1.1573844423070272,500 -Linear,Logistic,observational,True,6,0.95,0.9506666666666667,1.198585838472369,0.25122735784047073,0.95,1.344474734929994,500 +Learner g,Learner m,Score,In-sample-norm.,DGP,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_control,Loss g_treated,Loss m,repetition +LGBM Regr.,LGBM Clas.,experimental,False,1,0.9,0.598,1.1266899230627856,0.5018460987334973,0.57,1.330071739758634,4.251414560174687,3.9023721235530875,,500 +LGBM Regr.,LGBM Clas.,experimental,False,1,0.95,0.7186666666666667,1.3425338490696075,0.5018460987334973,0.69,1.5336397043833967,4.251414560174687,3.9023721235530875,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.9,0.45,0.9446174454063001,0.531224200831128,0.41,1.132386874411178,3.6041257872434316,3.656177733062923,,500 +LGBM Regr.,LGBM Clas.,experimental,False,4,0.95,0.5646666666666667,1.125581110579392,0.531224200831128,0.54,1.3045910589819267,3.6041257872434316,3.656177733062923,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.9,0.8786666666666666,0.9486213522201865,0.24397005084817594,0.872,1.1374661252630853,3.6653199008882806,3.6732792671089802,,500 +LGBM Regr.,LGBM Clas.,experimental,False,6,0.95,0.9353333333333333,1.1303520598140762,0.24397005084817594,0.922,1.3078779640488225,3.6653199008882806,3.6732792671089802,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.9,0.602,1.1276256196412848,0.5027730970734264,0.558,1.3291592714915261,4.254915661245208,3.9081580572672006,,500 +LGBM Regr.,LGBM Clas.,experimental,True,1,0.95,0.71,1.3436488003116305,0.5027730970734264,0.68,1.5394934609066147,4.254915661245208,3.9081580572672006,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.9,0.448,0.9442163183851058,0.53162433456125,0.424,1.131334371992665,3.604058108148232,3.6558496288293028,,500 +LGBM Regr.,LGBM Clas.,experimental,True,4,0.95,0.5686666666666667,1.125103138252928,0.53162433456125,0.516,1.3002854383058795,3.604058108148232,3.6558496288293028,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.9,0.8806666666666666,0.9483497352597887,0.243361151862621,0.878,1.1361944209715906,3.6673476578091213,3.67282635262856,,500 +LGBM Regr.,LGBM Clas.,experimental,True,6,0.95,0.9393333333333334,1.1300284082433547,0.243361151862621,0.944,1.309480511069928,3.6673476578091213,3.67282635262856,,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.9,0.9453333333333334,4.318921692723004,1.0247135023367768,0.96,5.331034987139861,4.253175709801001,3.906060351285797,0.8593178740429351,500 +LGBM Regr.,LGBM Clas.,observational,False,1,0.95,0.982,5.146312614742826,1.0247135023367768,0.984,6.103722794129011,4.253175709801001,3.906060351285797,0.8593178740429351,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.9,0.9366666666666666,5.585581251950944,1.4080679871607733,0.97,6.815946663074795,3.603393726868437,3.6567299092669496,0.8550452901236911,500 +LGBM Regr.,LGBM Clas.,observational,False,4,0.95,0.9826666666666666,6.655630572329935,1.4080679871607733,0.99,7.817978753131027,3.603393726868437,3.6567299092669496,0.8550452901236911,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.9,0.9386666666666666,3.6293975429293828,0.8102130923310369,0.936,4.4986699843552875,3.6690522171173754,3.673958530682985,0.8827023979591501,500 +LGBM Regr.,LGBM Clas.,observational,False,6,0.95,0.97,4.324693913891721,0.8102130923310369,0.974,5.145052250164915,3.6690522171173754,3.673958530682985,0.8827023979591501,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.9,0.9446666666666667,1.7146248702392077,0.3845887599583407,0.952,2.122357161809936,4.252871492540774,3.9091800675023842,0.8597712039752193,500 +LGBM Regr.,LGBM Clas.,observational,True,1,0.95,0.9753333333333334,2.043101548734134,0.3845887599583407,0.984,2.4227835779991147,4.252871492540774,3.9091800675023842,0.8597712039752193,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.9,0.908,2.1781319403080635,0.499822909447953,0.904,2.662414622198057,3.6023625666216796,3.656369960958097,0.8544314031214001,500 +LGBM Regr.,LGBM Clas.,observational,True,4,0.95,0.956,2.5954042880352297,0.499822909447953,0.956,3.0495153098435317,3.6023625666216796,3.656369960958097,0.8544314031214001,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.9,0.9053333333333333,1.6207287453832842,0.3906756266619106,0.916,2.0075174634593704,3.6668860766842997,3.673219727253148,0.8823772245412226,500 +LGBM Regr.,LGBM Clas.,observational,True,6,0.95,0.9593333333333334,1.9312174151005732,0.3906756266619106,0.968,2.2937511551154683,3.6668860766842997,3.673219727253148,0.8823772245412226,500 +Linear,Logistic,experimental,False,1,0.9,0.8546666666666666,0.34758756945888863,0.09593511221834335,0.818,0.4448743317621195,1.4308932901376943,1.433755616875065,,500 +Linear,Logistic,experimental,False,1,0.95,0.912,0.41417613485515037,0.09593511221834335,0.904,0.5036158003678926,1.4308932901376943,1.433755616875065,,500 +Linear,Logistic,experimental,False,4,0.9,0.3073333333333333,1.3703723623901347,0.9281321270334562,0.284,1.5743939019776392,4.630168890637375,4.67631587765691,,500 +Linear,Logistic,experimental,False,4,0.95,0.4046666666666667,1.6328993848964386,0.9281321270334562,0.372,1.8272212980954847,4.630168890637375,4.67631587765691,,500 +Linear,Logistic,experimental,False,6,0.9,0.8973333333333333,1.3691849992126803,0.33438744989071734,0.882,1.5774961611220242,4.789675142322002,4.82008231089315,,500 +Linear,Logistic,experimental,False,6,0.95,0.9393333333333334,1.631484554405599,0.33438744989071734,0.944,1.8315759696444804,4.789675142322002,4.82008231089315,,500 +Linear,Logistic,experimental,True,1,0.9,0.854,0.3476256774638225,0.09592672413351071,0.82,0.44577210308958737,1.4308342472003583,1.4336678133715806,,500 +Linear,Logistic,experimental,True,1,0.95,0.9126666666666666,0.4142215433437656,0.09592672413351071,0.906,0.5034315093950756,1.4308342472003583,1.4336678133715806,,500 +Linear,Logistic,experimental,True,4,0.9,0.31,1.3705059852330193,0.9278020085931696,0.28,1.5754546728538281,4.6324226237971935,4.67531768790484,,500 +Linear,Logistic,experimental,True,4,0.95,0.404,1.6330586063343064,0.9278020085931696,0.378,1.8301846344355657,4.6324226237971935,4.67531768790484,,500 +Linear,Logistic,experimental,True,6,0.9,0.9006666666666666,1.3691323148952537,0.33362437049025256,0.902,1.5750623510647086,4.78576655831704,4.816427096646486,,500 +Linear,Logistic,experimental,True,6,0.95,0.94,1.6314217771693669,0.33362437049025256,0.94,1.8315600699985277,4.78576655831704,4.816427096646486,,500 +Linear,Logistic,observational,False,1,0.9,0.8946666666666666,0.3827009755100664,0.09548442860762694,0.878,0.4903343385546143,1.4307576389325865,1.43345005442208,0.6767021399480564,500 +Linear,Logistic,observational,False,1,0.95,0.9426666666666667,0.4560163388144475,0.09548442860762694,0.938,0.5544191957158142,1.4307576389325865,1.43345005442208,0.6767021399480564,500 +Linear,Logistic,observational,False,4,0.9,0.5286666666666666,1.839570456380273,0.8682427324889391,0.484,2.0881522185500683,4.632192822877654,4.674876689774085,0.6765506392804086,500 +Linear,Logistic,observational,False,4,0.95,0.6406666666666666,2.1919833974598504,0.8682427324889391,0.612,2.4350218067084883,4.632192822877654,4.674876689774085,0.6765506392804086,500 +Linear,Logistic,observational,False,6,0.9,0.8933333333333334,1.539608824860191,0.3909689185717702,0.894,1.7736294511077006,4.7881148275256455,4.815953043151829,0.6973883348636404,500 +Linear,Logistic,observational,False,6,0.95,0.9473333333333334,1.8345570679129113,0.3909689185717702,0.94,2.0584684662967594,4.7881148275256455,4.815953043151829,0.6973883348636404,500 +Linear,Logistic,observational,True,1,0.9,0.8886666666666666,0.37870477166944744,0.0955501582341831,0.866,0.4847724241254767,1.4307941803206001,1.434054951101132,0.6767148696162103,500 +Linear,Logistic,observational,True,1,0.95,0.9353333333333333,0.45125456823853904,0.0955501582341831,0.936,0.5482294644122102,1.4307941803206001,1.434054951101132,0.6767148696162103,500 +Linear,Logistic,observational,True,4,0.9,0.5206666666666666,1.8296827662295978,0.8696986777550378,0.484,2.0768019122880257,4.633353199848344,4.672360931794965,0.6765044995038704,500 +Linear,Logistic,observational,True,4,0.95,0.64,2.1802014879524787,0.8696986777550378,0.616,2.418714420244346,4.633353199848344,4.672360931794965,0.6765044995038704,500 +Linear,Logistic,observational,True,6,0.9,0.892,1.5223480106061822,0.38943694227197045,0.886,1.7571128386894448,4.789419332950871,4.818343116282321,0.6974028333059313,500 +Linear,Logistic,observational,True,6,0.95,0.9426666666666667,1.8139895391508574,0.38943694227197045,0.94,2.0373261346926905,4.789419332950871,4.818343116282321,0.6974028333059313,500 diff --git a/results/did/did_pa_multi_tune_config.yml b/results/did/did_pa_multi_tune_config.yml new file mode 100644 index 00000000..cbbfbb24 --- /dev/null +++ b/results/did/did_pa_multi_tune_config.yml @@ -0,0 +1,30 @@ +simulation_parameters: + repetitions: 100 + max_runtime: 19800 + random_seed: 42 + n_jobs: -2 +dgp_parameters: + DGP: + - 1 + - 4 + n_obs: + - 1000 +learner_definitions: + lgbmr: &id001 + name: LGBM Regr. + lgbmc: &id002 + name: LGBM Clas. +dml_parameters: + learners: + - ml_g: *id001 + ml_m: *id002 + control_group: + - never_treated + score: + - observational + in_sample_normalization: + - true +confidence_parameters: + level: + - 0.95 + - 0.9 diff --git a/results/did/did_pa_multi_tune_detailed.csv b/results/did/did_pa_multi_tune_detailed.csv new file mode 100644 index 00000000..2a5145bc --- /dev/null +++ b/results/did/did_pa_multi_tune_detailed.csv @@ -0,0 +1,9 @@ +Learner g,Learner m,Score,Control Group,In-sample-norm.,DGP,level,Tuned,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_control,Loss g_treated,Loss m,repetition +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.9,False,0.9275,1.8593949776820482,0.4346861300386444,0.97,2.874851679530885,4.15228593515413,4.102044299300661,0.8799534697781108,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.9,True,0.9075,1.088851048708071,0.2557955033769076,0.93,1.6741086802905776,3.6012775766109666,3.6101319424740215,0.693616349570638,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.95,False,0.9758333333333333,2.215605771588204,0.4346861300386444,1.0,3.1578645489164607,4.15228593515413,4.102044299300661,0.8799534697781108,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.95,True,0.9483333333333333,1.297446049319165,0.2557955033769076,0.97,1.8440233690565457,3.6012775766109666,3.6101319424740215,0.693616349570638,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.9,False,0.9108333333333333,1.8075508119563164,0.44789904815007936,0.96,2.802110311494384,3.652463306210211,3.6708533097124714,0.8830643738769425,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.9,True,0.8933333333333333,1.058831441283919,0.26192371622931565,0.89,1.6345701645609878,3.5143385620781493,3.5272128458553693,0.6931310978755358,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.95,False,0.9683333333333333,2.153829637854477,0.44789904815007936,0.98,3.0783331083010848,3.652463306210211,3.6708533097124714,0.8830643738769425,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.95,True,0.9441666666666667,1.261675480791182,0.26192371622931565,0.96,1.7976149308747436,3.5143385620781493,3.5272128458553693,0.6931310978755358,100 diff --git a/results/did/did_pa_multi_tune_eventstudy.csv b/results/did/did_pa_multi_tune_eventstudy.csv new file mode 100644 index 00000000..5ae81091 --- /dev/null +++ b/results/did/did_pa_multi_tune_eventstudy.csv @@ -0,0 +1,9 @@ +Learner g,Learner m,Score,Control Group,In-sample-norm.,DGP,level,Tuned,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_control,Loss g_treated,Loss m,repetition +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.9,False,0.9416666666666668,1.7659541047891871,0.39308694266139194,0.93,2.4420578877328767,4.15228593515413,4.102044299300661,0.8799534697781108,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.9,True,0.9083333333333333,1.030714180672431,0.24016490667021678,0.93,1.406859901790291,3.6012775766109666,3.6101319424740215,0.693616349570638,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.95,False,0.9733333333333333,2.1042641041272394,0.39308694266139194,1.0,2.736959872483268,4.15228593515413,4.102044299300661,0.8799534697781108,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.95,True,0.96,1.2281716983029005,0.24016490667021678,0.96,1.5807763156565435,3.6012775766109666,3.6101319424740215,0.693616349570638,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.9,False,0.9366666666666668,1.7112550769045318,0.396163312403484,0.98,2.367964369489649,3.652463306210211,3.6708533097124714,0.8830643738769425,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.9,True,0.9,0.9994035644332807,0.25096323583763025,0.88,1.3714882023841133,3.5143385620781493,3.5272128458553693,0.6931310978755358,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.95,False,0.9766666666666667,2.0390861923139108,0.396163312403484,0.99,2.6584225369437418,3.652463306210211,3.6708533097124714,0.8830643738769425,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.95,True,0.95,1.1908627978895385,0.25096323583763025,0.91,1.5408540922037406,3.5143385620781493,3.5272128458553693,0.6931310978755358,100 diff --git a/results/did/did_pa_multi_tune_group.csv b/results/did/did_pa_multi_tune_group.csv new file mode 100644 index 00000000..4b28278d --- /dev/null +++ b/results/did/did_pa_multi_tune_group.csv @@ -0,0 +1,9 @@ +Learner g,Learner m,Score,Control Group,In-sample-norm.,DGP,level,Tuned,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_control,Loss g_treated,Loss m,repetition +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.9,False,0.9366666666666668,1.887529422761483,0.4078406757751923,0.97,2.3923419517019577,4.15228593515413,4.102044299300661,0.8799534697781108,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.9,True,0.9133333333333333,1.1253315787859015,0.25856668346071443,0.9,1.429389738623314,3.6012775766109666,3.6101319424740215,0.693616349570638,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.95,False,0.9866666666666667,2.2491300306330113,0.4078406757751923,0.99,2.717316302560584,4.15228593515413,4.102044299300661,0.8799534697781108,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.95,True,0.96,1.340915282032592,0.25856668346071443,0.96,1.6146455048175112,3.6012775766109666,3.6101319424740215,0.693616349570638,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.9,False,0.9366666666666668,1.8035237527862522,0.4277250604905066,0.97,2.2879701408286475,3.652463306210211,3.6708533097124714,0.8830643738769425,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.9,True,0.9033333333333333,1.0877850089585135,0.2646623250717837,0.93,1.3792469402376673,3.5143385620781493,3.5272128458553693,0.6931310978755358,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.95,False,0.98,2.149031100885831,0.4277250604905066,0.99,2.598740285490513,3.652463306210211,3.6708533097124714,0.8830643738769425,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.95,True,0.9533333333333333,1.2961757846092934,0.2646623250717837,0.96,1.5703576274240174,3.5143385620781493,3.5272128458553693,0.6931310978755358,100 diff --git a/results/did/did_pa_multi_tune_metadata.csv b/results/did/did_pa_multi_tune_metadata.csv new file mode 100644 index 00000000..ae879633 --- /dev/null +++ b/results/did/did_pa_multi_tune_metadata.csv @@ -0,0 +1,2 @@ +DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File +0.12.dev0,DIDMultiTuningCoverageSimulation,2025-12-03 19:48,38.914858877658844,3.12.9,scripts/did/did_pa_multi_tune_config.yml diff --git a/results/did/did_pa_multi_tune_time.csv b/results/did/did_pa_multi_tune_time.csv new file mode 100644 index 00000000..859e4a64 --- /dev/null +++ b/results/did/did_pa_multi_tune_time.csv @@ -0,0 +1,9 @@ +Learner g,Learner m,Score,Control Group,In-sample-norm.,DGP,level,Tuned,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_control,Loss g_treated,Loss m,repetition +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.9,False,0.9433333333333332,1.7120476117205499,0.36849188080191575,0.95,2.1085453606546345,4.15228593515413,4.102044299300661,0.8799534697781108,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.9,True,0.9233333333333333,1.016949457432688,0.22638709701961932,0.92,1.241298139223119,3.6012775766109666,3.6101319424740215,0.693616349570638,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.95,False,0.9766666666666667,2.0400305557943064,0.36849188080191575,0.98,2.406647044968694,4.15228593515413,4.102044299300661,0.8799534697781108,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,1,0.95,True,0.9633333333333333,1.211770018928512,0.22638709701961932,0.98,1.4246578476359533,3.6012775766109666,3.6101319424740215,0.693616349570638,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.9,False,0.9266666666666667,1.649219987325804,0.3783409546428835,0.95,2.036331118231633,3.652463306210211,3.6708533097124714,0.8830643738769425,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.9,True,0.8833333333333333,0.9868002437637116,0.251633620630943,0.92,1.212057651508958,3.5143385620781493,3.5272128458553693,0.6931310978755358,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.95,False,0.98,1.9651668238304254,0.3783409546428835,0.97,2.325492733909296,3.652463306210211,3.6708533097124714,0.8830643738769425,100 +LGBM Regr.,LGBM Clas.,observational,never_treated,True,4,0.95,True,0.9533333333333333,1.1758450150344482,0.251633620630943,0.96,1.388067825552566,3.5143385620781493,3.5272128458553693,0.6931310978755358,100 diff --git a/results/irm/apo_coverage.csv b/results/irm/apo_coverage.csv index 3285fbf4..d65b7fe5 100644 --- a/results/irm/apo_coverage.csv +++ b/results/irm/apo_coverage.csv @@ -1,25 +1,25 @@ Learner g,Learner m,Treatment Level,level,Coverage,CI Length,Bias,repetition -LGBM Regr.,LGBM Clas.,0,0.9,0.91,8.448708156821523,1.9750353954576516,1000 -LGBM Regr.,LGBM Clas.,0,0.95,0.964,10.06725670414229,1.9750353954576516,1000 -LGBM Regr.,LGBM Clas.,1,0.9,0.929,33.97368183551072,8.24578707402124,1000 -LGBM Regr.,LGBM Clas.,1,0.95,0.972,40.48213879263808,8.24578707402124,1000 -LGBM Regr.,LGBM Clas.,2,0.9,0.892,32.60041903902424,8.57187519908264,1000 -LGBM Regr.,LGBM Clas.,2,0.95,0.962,38.845795243084254,8.57187519908264,1000 -LGBM Regr.,Logistic,0,0.9,0.919,5.622417369664611,1.3041095784829069,1000 -LGBM Regr.,Logistic,0,0.95,0.966,6.699523513845268,1.3041095784829069,1000 -LGBM Regr.,Logistic,1,0.9,0.919,7.087080260443338,1.6525542055578457,1000 -LGBM Regr.,Logistic,1,0.95,0.956,8.444776993171013,1.6525542055578457,1000 -LGBM Regr.,Logistic,2,0.9,0.919,7.122040852887705,1.617065797288604,1000 -LGBM Regr.,Logistic,2,0.95,0.965,8.486435108486805,1.617065797288604,1000 -Linear,LGBM Clas.,0,0.9,0.912,5.4550159030998895,1.2942930123955605,1000 -Linear,LGBM Clas.,0,0.95,0.96,6.50005236331248,1.2942930123955605,1000 -Linear,LGBM Clas.,1,0.9,0.956,9.813026810453364,2.0391427947858425,1000 -Linear,LGBM Clas.,1,0.95,0.98,11.692942650137699,2.0391427947858425,1000 -Linear,LGBM Clas.,2,0.9,0.931,7.129870255664527,1.5863997469468463,1000 -Linear,LGBM Clas.,2,0.95,0.97,8.495764417315014,1.5863997469468463,1000 -Linear,Logistic,0,0.9,0.916,5.337733090643185,1.2727441530326435,1000 -Linear,Logistic,0,0.95,0.961,6.36030127260495,1.2727441530326435,1000 -Linear,Logistic,1,0.9,0.916,5.417715726893596,1.2843274350382277,1000 -Linear,Logistic,1,0.95,0.96,6.455606461997341,1.2843274350382277,1000 -Linear,Logistic,2,0.9,0.909,5.365443726631665,1.277028275846632,1000 -Linear,Logistic,2,0.95,0.959,6.393320531970161,1.277028275846632,1000 +LGBM Regr.,LGBM Clas.,0,0.9,0.911,8.367147388814955,1.9468891829084087,1000 +LGBM Regr.,LGBM Clas.,0,0.95,0.959,9.970071054778114,1.9468891829084087,1000 +LGBM Regr.,LGBM Clas.,1,0.9,0.927,33.90278245856187,8.08626102965796,1000 +LGBM Regr.,LGBM Clas.,1,0.95,0.963,40.397656974274945,8.08626102965796,1000 +LGBM Regr.,LGBM Clas.,2,0.9,0.912,33.28384710426898,8.353006249801732,1000 +LGBM Regr.,LGBM Clas.,2,0.95,0.963,39.660150011165456,8.353006249801732,1000 +LGBM Regr.,Logistic,0,0.9,0.912,5.63730833179423,1.3144102702189047,1000 +LGBM Regr.,Logistic,0,0.95,0.955,6.717267189629536,1.3144102702189047,1000 +LGBM Regr.,Logistic,1,0.9,0.92,7.122502980817966,1.6196432403482612,1000 +LGBM Regr.,Logistic,1,0.95,0.969,8.486985767879665,1.6196432403482612,1000 +LGBM Regr.,Logistic,2,0.9,0.924,7.076807184165477,1.558379920402528,1000 +LGBM Regr.,Logistic,2,0.95,0.959,8.43253586776926,1.558379920402528,1000 +Linear,LGBM Clas.,0,0.9,0.906,5.4628463152959785,1.2764446154981781,1000 +Linear,LGBM Clas.,0,0.95,0.949,6.509382874937932,1.2764446154981781,1000 +Linear,LGBM Clas.,1,0.9,0.939,9.808324498456713,2.085746167612665,1000 +Linear,LGBM Clas.,1,0.95,0.977,11.687339499798673,2.085746167612665,1000 +Linear,LGBM Clas.,2,0.9,0.934,7.176220883961563,1.5650173182054261,1000 +Linear,LGBM Clas.,2,0.95,0.975,8.550994597456553,1.5650173182054261,1000 +Linear,Logistic,0,0.9,0.906,5.3483608617226395,1.2574610450449657,1000 +Linear,Logistic,0,0.95,0.953,6.372965042930987,1.2574610450449657,1000 +Linear,Logistic,1,0.9,0.9,5.425955174051074,1.283578434674604,1000 +Linear,Logistic,1,0.95,0.954,6.465424368841191,1.283578434674604,1000 +Linear,Logistic,2,0.9,0.914,5.377402065139319,1.246610508634217,1000 +Linear,Logistic,2,0.95,0.952,6.407569771176558,1.246610508634217,1000 diff --git a/results/irm/apo_metadata.csv b/results/irm/apo_metadata.csv index c159f457..f79f3193 100644 --- a/results/irm/apo_metadata.csv +++ b/results/irm/apo_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,APOCoverageSimulation,2025-09-08 07:52,74.02908265988032,3.12.3,scripts/irm/apo_config.yml +0.12.dev0,APOCoverageSimulation,2025-12-04 18:24,75.00107036828994,3.12.3,scripts/irm/apo_config.yml diff --git a/results/irm/apos_causal_contrast.csv b/results/irm/apos_causal_contrast.csv index 149a0532..ce3c2b6f 100644 --- a/results/irm/apos_causal_contrast.csv +++ b/results/irm/apos_causal_contrast.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,0.9,0.8985,33.60313998768328,8.62676858480036,0.915,39.77456075827479,1000 -LGBM Regr.,LGBM Clas.,0.95,0.959,40.040610948088954,8.62676858480036,0.972,45.62380258315557,1000 -LGBM Regr.,Logistic,0.9,0.942,5.3683923473672825,1.1064466312245236,0.949,6.347349786459089,1000 -LGBM Regr.,Logistic,0.95,0.975,6.396834030284652,1.1064466312245236,0.98,7.289008003904023,1000 -Linear,LGBM Clas.,0.9,0.963,6.610619627981532,1.2930291385928911,0.97,7.817833271049541,1000 -Linear,LGBM Clas.,0.95,0.9845,7.877039132260507,1.2930291385928911,0.989,8.965895782069206,1000 -Linear,Logistic,0.9,0.88,1.1440244887213769,0.29717144124251454,0.862,1.3513672686392388,1000 -Linear,Logistic,0.95,0.9335,1.3631892580505587,0.29717144124251454,0.938,1.551247330789396,1000 +LGBM Regr.,LGBM Clas.,0.9,0.908,33.52458756996381,8.669768972982405,0.912,39.69038177637447,1000 +LGBM Regr.,LGBM Clas.,0.95,0.956,39.947009969189665,8.669768972982405,0.963,45.539207400880635,1000 +LGBM Regr.,Logistic,0.9,0.942,5.418376815341814,1.1177578246481668,0.951,6.413959977441442,1000 +LGBM Regr.,Logistic,0.95,0.975,6.456394197469891,1.1177578246481668,0.979,7.3596604350528905,1000 +Linear,LGBM Clas.,0.9,0.958,6.645789732664919,1.3068883576166876,0.968,7.873338052971561,1000 +Linear,LGBM Clas.,0.95,0.9845,7.918946896807132,1.3068883576166876,0.989,9.033483053185353,1000 +Linear,Logistic,0.9,0.896,1.1481321709355257,0.2853591542610903,0.885,1.357216597612154,1000 +Linear,Logistic,0.95,0.9435,1.368083863301598,0.2853591542610903,0.932,1.5583287806380506,1000 diff --git a/results/irm/apos_coverage.csv b/results/irm/apos_coverage.csv index c5cb9271..9a1668bb 100644 --- a/results/irm/apos_coverage.csv +++ b/results/irm/apos_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,0.9,0.9116666666666666,25.380884756214634,6.3033576983720385,0.931,32.56526868720959,1000 -LGBM Regr.,LGBM Clas.,0.95,0.9633333333333334,30.243189547594916,6.3033576983720385,0.971,36.806047640863575,1000 -LGBM Regr.,Logistic,0.9,0.9153333333333333,6.6236336046586155,1.5450159773054415,0.923,8.149672568213141,1000 -LGBM Regr.,Logistic,0.95,0.9576666666666667,7.892546241929591,1.5450159773054415,0.959,9.334305451163466,1000 -Linear,LGBM Clas.,0.9,0.9206666666666666,7.481260581637696,1.6455175148624328,0.932,9.256732930958306,1000 -Linear,LGBM Clas.,0.95,0.9673333333333334,8.914471816039386,1.6455175148624328,0.965,10.567345838624604,1000 -Linear,Logistic,0.9,0.8983333333333333,5.379448642069803,1.3088594234228312,0.9,5.8038157310767735,1000 -Linear,Logistic,0.95,0.9453333333333334,6.41000841800179,1.3088594234228312,0.947,6.826689793179672,1000 +LGBM Regr.,LGBM Clas.,0.9,0.911,25.33383305218413,6.362966930836552,0.937,32.467609705425545,1000 +LGBM Regr.,LGBM Clas.,0.95,0.9613333333333334,30.1871239841916,6.362966930836552,0.975,36.70233354816845,1000 +LGBM Regr.,Logistic,0.9,0.9023333333333333,6.668208361349107,1.5732731164170273,0.905,8.201551480986833,1000 +LGBM Regr.,Logistic,0.95,0.9503333333333334,7.945660340534777,1.5732731164170273,0.954,9.38621417059308,1000 +Linear,LGBM Clas.,0.9,0.916,7.5097289653187325,1.7065530275498664,0.928,9.289774829157478,1000 +Linear,LGBM Clas.,0.95,0.9626666666666667,8.94839398747072,1.7065530275498664,0.965,10.610827335816024,1000 +Linear,Logistic,0.9,0.8946666666666666,5.395004545334627,1.319774939600406,0.887,5.817098751565451,1000 +Linear,Logistic,0.95,0.9476666666666667,6.428544420018306,1.319774939600406,0.945,6.848624032317537,1000 diff --git a/results/irm/apos_metadata.csv b/results/irm/apos_metadata.csv index bea57944..a1ec5ca9 100644 --- a/results/irm/apos_metadata.csv +++ b/results/irm/apos_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,APOSCoverageSimulation,2025-09-08 07:52,73.54105892578761,3.12.3,scripts/irm/apos_config.yml +0.12.dev0,APOSCoverageSimulation,2025-12-04 18:24,74.42682578563691,3.12.3,scripts/irm/apos_config.yml diff --git a/results/irm/apos_tune_causal_contrast.csv b/results/irm/apos_tune_causal_contrast.csv new file mode 100644 index 00000000..97cfd5f6 --- /dev/null +++ b/results/irm/apos_tune_causal_contrast.csv @@ -0,0 +1,5 @@ +Learner g,Learner m,level,Tuned,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_control,Loss g_treated,Loss m,repetition +LGBM Regr.,LGBM Clas.,0.9,False,0.905,37.557614215103456,9.702752376788483,0.93,44.43580521211171,10.231838281825558,13.632270699354638,0.7977017509425842,200 +LGBM Regr.,LGBM Clas.,0.9,True,0.8625,4.281908161317747,1.1456270552515193,0.885,5.058837856166666,9.74905255354395,11.553230793169227,0.6041491925910187,200 +LGBM Regr.,LGBM Clas.,0.95,False,0.9625,44.75265762296555,9.702752376788483,0.975,51.03212790722511,10.231838281825558,13.632270699354638,0.7977017509425842,200 +LGBM Regr.,LGBM Clas.,0.95,True,0.945,5.102208271774997,1.1456270552515193,0.95,5.809070370902955,9.74905255354395,11.553230793169227,0.6041491925910187,200 diff --git a/results/irm/apos_tune_config.yml b/results/irm/apos_tune_config.yml new file mode 100644 index 00000000..b8d83823 --- /dev/null +++ b/results/irm/apos_tune_config.yml @@ -0,0 +1,31 @@ +simulation_parameters: + repetitions: 200 + max_runtime: 19800 + random_seed: 42 + n_jobs: -2 +dgp_parameters: + n_obs: + - 500 + n_levels: + - 2 + linear: + - true +learner_definitions: + lgbmr: &id001 + name: LGBM Regr. + lgbmc: &id002 + name: LGBM Clas. +dml_parameters: + treatment_levels: + - - 0 + - 1 + - 2 + trimming_threshold: + - 0.01 + learners: + - ml_g: *id001 + ml_m: *id002 +confidence_parameters: + level: + - 0.95 + - 0.9 diff --git a/results/irm/apos_tune_coverage.csv b/results/irm/apos_tune_coverage.csv new file mode 100644 index 00000000..619f30c4 --- /dev/null +++ b/results/irm/apos_tune_coverage.csv @@ -0,0 +1,5 @@ +Learner g,Learner m,level,Tuned,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,Loss g_control,Loss g_treated,Loss m,repetition +LGBM Regr.,LGBM Clas.,0.9,False,0.9133333333333333,28.052950188600192,7.055413388225961,0.945,35.926212976449165,10.231838281825558,13.632270699354638,0.7977017509425842,200 +LGBM Regr.,LGBM Clas.,0.9,True,0.8866666666666667,6.138357605002483,1.524949927232772,0.865,7.417779175659066,9.74905255354395,11.553230793169227,0.6041491925910187,200 +LGBM Regr.,LGBM Clas.,0.95,False,0.9766666666666667,33.42715189293536,7.055413388225961,0.98,40.556851028772705,10.231838281825558,13.632270699354638,0.7977017509425842,200 +LGBM Regr.,LGBM Clas.,0.95,True,0.945,7.31430422312426,1.524949927232772,0.94,8.537534779534262,9.74905255354395,11.553230793169227,0.6041491925910187,200 diff --git a/results/irm/apos_tune_metadata.csv b/results/irm/apos_tune_metadata.csv new file mode 100644 index 00000000..e36b86fb --- /dev/null +++ b/results/irm/apos_tune_metadata.csv @@ -0,0 +1,2 @@ +DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File +0.12.dev0,APOSTuningCoverageSimulation,2025-12-01 13:09,38.63118334611257,3.12.9,scripts/irm/apos_tune_config.yml diff --git a/results/irm/cvar_Y0_coverage.csv b/results/irm/cvar_Y0_coverage.csv index d982b134..e6bac3da 100644 --- a/results/irm/cvar_Y0_coverage.csv +++ b/results/irm/cvar_Y0_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,repetition -LGBM Regr.,LGBM Clas.,0.9,0.7992857142857143,0.5698895627940845,0.1622318401991349,200 -LGBM Regr.,LGBM Clas.,0.95,0.8728571428571429,0.6790652979328213,0.1622318401991349,200 -LGBM Regr.,Logistic,0.9,0.7892857142857143,0.444416645306349,0.13289988655229823,200 -LGBM Regr.,Logistic,0.95,0.8857142857142857,0.5295550951514872,0.13289988655229823,200 -Linear,LGBM Clas.,0.9,0.8221428571428571,0.5759694248495425,0.16067305644701288,200 -Linear,LGBM Clas.,0.95,0.88,0.6863099004095503,0.16067305644701288,200 -Linear,Logistic,0.9,0.77,0.4638841356789262,0.14556325752609944,200 -Linear,Logistic,0.95,0.8385714285714286,0.5527520406878192,0.14556325752609944,200 +LGBM Regr.,LGBM Clas.,0.9,0.8135714285714286,0.558683997772339,0.16093846082916122,200 +LGBM Regr.,LGBM Clas.,0.95,0.8771428571428571,0.6657130436597479,0.16093846082916122,200 +LGBM Regr.,Logistic,0.9,0.83,0.4284775657171733,0.1276714757715089,200 +LGBM Regr.,Logistic,0.95,0.8771428571428571,0.5105625103830777,0.1276714757715089,200 +Linear,LGBM Clas.,0.9,0.7892857142857143,0.5630811366272137,0.1750343717735893,200 +Linear,LGBM Clas.,0.95,0.8492857142857143,0.6709525577717416,0.1750343717735893,200 +Linear,Logistic,0.9,0.7421428571428571,0.45008918626971695,0.14782345478591596,200 +Linear,Logistic,0.95,0.835,0.5363143446110485,0.14782345478591596,200 diff --git a/results/irm/cvar_Y1_coverage.csv b/results/irm/cvar_Y1_coverage.csv index 1b724efb..34a99f53 100644 --- a/results/irm/cvar_Y1_coverage.csv +++ b/results/irm/cvar_Y1_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,repetition -LGBM Regr.,LGBM Clas.,0.9,0.917142857142857,0.19119717658041008,0.04362829784730854,200 -LGBM Regr.,LGBM Clas.,0.95,0.9542857142857143,0.22782548787510115,0.04362829784730854,200 -LGBM Regr.,Logistic,0.9,0.9057142857142857,0.1808152569639124,0.04420216660189615,200 -LGBM Regr.,Logistic,0.95,0.9464285714285714,0.21545466763595436,0.04420216660189615,200 -Linear,LGBM Clas.,0.9,0.9307142857142857,0.21249094126531845,0.04611913119447561,200 -Linear,LGBM Clas.,0.95,0.9685714285714286,0.2531985734760624,0.04611913119447561,200 -Linear,Logistic,0.9,0.907142857142857,0.1974588750818297,0.04611240388345785,200 -Linear,Logistic,0.95,0.9592857142857143,0.2352867618412089,0.04611240388345785,200 +LGBM Regr.,LGBM Clas.,0.9,0.9314285714285714,0.19151734578017915,0.04104704711866214,200 +LGBM Regr.,LGBM Clas.,0.95,0.9657142857142857,0.22820699300736602,0.04104704711866214,200 +LGBM Regr.,Logistic,0.9,0.9314285714285714,0.18081183530929518,0.039318346927923055,200 +LGBM Regr.,Logistic,0.95,0.9664285714285714,0.21545059048300444,0.039318346927923055,200 +Linear,LGBM Clas.,0.9,0.9514285714285714,0.21336023206199958,0.042369199648548656,200 +Linear,LGBM Clas.,0.95,0.9764285714285714,0.25423439734857617,0.042369199648548656,200 +Linear,Logistic,0.9,0.9285714285714286,0.1967447832942214,0.041760333368338426,200 +Linear,Logistic,0.95,0.9735714285714286,0.2344358689943104,0.041760333368338426,200 diff --git a/results/irm/cvar_effect_coverage.csv b/results/irm/cvar_effect_coverage.csv index c2c9d886..913c2581 100644 --- a/results/irm/cvar_effect_coverage.csv +++ b/results/irm/cvar_effect_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,0.9,0.8285714285714286,0.5820773835982563,0.16340146510609896,0.8,0.7041248792060457,200 -LGBM Regr.,LGBM Clas.,0.95,0.8828571428571429,0.6935879821612518,0.16340146510609896,0.865,0.8104981741914127,200 -LGBM Regr.,Logistic,0.9,0.8078571428571429,0.4557462112689952,0.13573460597377687,0.775,0.5481526458665991,200 -LGBM Regr.,Logistic,0.95,0.8935714285714286,0.5430551056590559,0.13573460597377687,0.875,0.632067835425355,200 -Linear,LGBM Clas.,0.9,0.827857142857143,0.6010696922562259,0.16176034889643487,0.795,0.7100199778744414,200 -Linear,LGBM Clas.,0.95,0.8864285714285713,0.7162187137612902,0.16176034889643487,0.855,0.8211084080550509,200 -Linear,Logistic,0.9,0.7728571428571429,0.48825700023292934,0.14657921460513024,0.755,0.5721453699087213,200 -Linear,Logistic,0.95,0.8542857142857143,0.5817941000803347,0.14657921460513024,0.83,0.662941047401618,200 +LGBM Regr.,LGBM Clas.,0.9,0.827857142857143,0.5710685305481125,0.16052920368203474,0.785,0.6906174048262292,200 +LGBM Regr.,LGBM Clas.,0.95,0.8885714285714286,0.6804701246596295,0.16052920368203474,0.895,0.7953244912486926,200 +LGBM Regr.,Logistic,0.9,0.8271428571428571,0.43999562239145346,0.12430365207842994,0.815,0.5327747575457736,200 +LGBM Regr.,Logistic,0.95,0.8892857142857143,0.5242871214266269,0.12430365207842994,0.87,0.6147424507415543,200 +Linear,LGBM Clas.,0.9,0.7892857142857143,0.5891418372517685,0.18374743604747235,0.745,0.6976304863416719,200 +Linear,LGBM Clas.,0.95,0.8621428571428571,0.7020057978893286,0.18374743604747235,0.84,0.8072538231232462,200 +Linear,Logistic,0.9,0.7707142857142857,0.47465066399401157,0.15252675761847112,0.735,0.5599340403260908,200 +Linear,Logistic,0.95,0.8342857142857143,0.5655811504580351,0.15252675761847112,0.8,0.6483698794785692,200 diff --git a/results/irm/cvar_metadata.csv b/results/irm/cvar_metadata.csv index 7520a27c..37e79372 100644 --- a/results/irm/cvar_metadata.csv +++ b/results/irm/cvar_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,CVARCoverageSimulation,2025-09-08 08:12,94.27919102907181,3.12.3,scripts/irm/cvar_config.yml +0.12.dev0,CVARCoverageSimulation,2025-12-04 18:37,87.47529164155324,3.12.3,scripts/irm/cvar_config.yml diff --git a/results/irm/iivm_late_coverage.csv b/results/irm/iivm_late_coverage.csv index b6e0e54c..1a1b1486 100644 --- a/results/irm/iivm_late_coverage.csv +++ b/results/irm/iivm_late_coverage.csv @@ -1,17 +1,17 @@ Learner g,Learner m,Learner r,level,Coverage,CI Length,Bias,repetition -LGBM Regr.,LGBM Clas.,LGBM Clas.,0.9,0.946,1.1080585555024707,0.23427549254847976,1000 -LGBM Regr.,LGBM Clas.,LGBM Clas.,0.95,0.978,1.3203332053146828,0.23427549254847976,1000 -LGBM Regr.,LGBM Clas.,Logistic,0.9,0.943,1.1055825257787983,0.22791025413745555,1000 -LGBM Regr.,LGBM Clas.,Logistic,0.95,0.972,1.3173828339238602,0.22791025413745555,1000 -LGBM Regr.,Logistic,LGBM Clas.,0.9,0.932,1.0563347214139562,0.22752001300777,1000 -LGBM Regr.,Logistic,LGBM Clas.,0.95,0.973,1.2587004555704382,0.22752001300777,1000 -LGBM Regr.,Logistic,Logistic,0.9,0.94,1.0505523267416146,0.22900092947174036,1000 -LGBM Regr.,Logistic,Logistic,0.95,0.974,1.2518103073429687,0.22900092947174036,1000 -LassoCV,LGBM Clas.,LGBM Clas.,0.9,0.948,1.0490801986799458,0.2195713594881401,1000 -LassoCV,LGBM Clas.,LGBM Clas.,0.95,0.981,1.2500561585638772,0.2195713594881401,1000 -LassoCV,LGBM Clas.,Logistic,0.9,0.946,1.0435082872686077,0.2207244658952354,1000 -LassoCV,LGBM Clas.,Logistic,0.95,0.98,1.2434168166112987,0.2207244658952354,1000 -LassoCV,Logistic,LGBM Clas.,0.9,0.935,1.0001394984833323,0.21177325003879846,1000 -LassoCV,Logistic,LGBM Clas.,0.95,0.973,1.191739717397429,0.21177325003879846,1000 -LassoCV,Logistic,Logistic,0.9,0.934,0.9931397101584005,0.21455142111202397,1000 -LassoCV,Logistic,Logistic,0.95,0.974,1.1833989551609148,0.21455142111202397,1000 +LGBM Regr.,LGBM Clas.,LGBM Clas.,0.9,0.932,1.111672552573591,0.24712079914741866,1000 +LGBM Regr.,LGBM Clas.,LGBM Clas.,0.95,0.966,1.324639548434561,0.24712079914741866,1000 +LGBM Regr.,LGBM Clas.,Logistic,0.9,0.938,1.106712027476611,0.2448217653784481,1000 +LGBM Regr.,LGBM Clas.,Logistic,0.95,0.974,1.318728718209195,0.2448217653784481,1000 +LGBM Regr.,Logistic,LGBM Clas.,0.9,0.93,1.0567707396722865,0.24326330947680244,1000 +LGBM Regr.,Logistic,LGBM Clas.,0.95,0.968,1.2592200033702707,0.24326330947680244,1000 +LGBM Regr.,Logistic,Logistic,0.9,0.928,1.0504737986107116,0.23894410467918908,1000 +LGBM Regr.,Logistic,Logistic,0.95,0.975,1.2517167353035965,0.23894410467918908,1000 +LassoCV,LGBM Clas.,LGBM Clas.,0.9,0.933,1.0512070933120594,0.2319586997131223,1000 +LassoCV,LGBM Clas.,LGBM Clas.,0.95,0.974,1.2525905098335282,0.2319586997131223,1000 +LassoCV,LGBM Clas.,Logistic,0.9,0.94,1.0461275433215658,0.22928895019032752,1000 +LassoCV,LGBM Clas.,Logistic,0.95,0.982,1.2465378526998414,0.22928895019032752,1000 +LassoCV,Logistic,LGBM Clas.,0.9,0.934,0.9969635378409042,0.22440759114740333,1000 +LassoCV,Logistic,LGBM Clas.,0.95,0.969,1.1879553268756944,0.22440759114740333,1000 +LassoCV,Logistic,Logistic,0.9,0.933,0.9899215135224229,0.21960950588542172,1000 +LassoCV,Logistic,Logistic,0.95,0.974,1.179564237348744,0.21960950588542172,1000 diff --git a/results/irm/iivm_late_metadata.csv b/results/irm/iivm_late_metadata.csv index 39f4b5b6..ff48a455 100644 --- a/results/irm/iivm_late_metadata.csv +++ b/results/irm/iivm_late_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,IIVMLATECoverageSimulation,2025-09-08 07:01,23.067837047576905,3.12.3,scripts/irm/iivm_late_config.yml +0.12.dev0,IIVMLATECoverageSimulation,2025-12-04 17:32,22.869691892464957,3.12.3,scripts/irm/iivm_late_config.yml diff --git a/results/irm/irm_ate_coverage.csv b/results/irm/irm_ate_coverage.csv index 803a7f1f..6c991106 100644 --- a/results/irm/irm_ate_coverage.csv +++ b/results/irm/irm_ate_coverage.csv @@ -1,15 +1,15 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,repetition -LGBM Regr.,LGBM Clas.,0.9,0.931,1.2080355246306695,0.2860783963960894,1000 -LGBM Regr.,LGBM Clas.,0.95,0.978,1.4394631118084988,0.2860783963960894,1000 -LGBM Regr.,Logistic,0.9,0.913,0.7728307106222837,0.19455600487602173,1000 -LGBM Regr.,Logistic,0.95,0.97,0.920884590669332,0.19455600487602173,1000 -LassoCV,LGBM Clas.,0.9,0.92,1.1003887936231362,0.25860854058964594,1000 -LassoCV,LGBM Clas.,0.95,0.972,1.3111941203485913,0.25860854058964594,1000 -LassoCV,Logistic,0.9,0.9,0.6549601688327414,0.1653729067630603,1000 -LassoCV,Logistic,0.95,0.95,0.7804331772667328,0.1653729067630603,1000 -LassoCV,RF Clas.,0.9,0.903,0.6018263796986386,0.14720572978308205,1000 -LassoCV,RF Clas.,0.95,0.949,0.7171203624614432,0.14720572978308205,1000 -RF Regr.,Logistic,0.9,0.911,0.733375696800298,0.1843476916310545,1000 -RF Regr.,Logistic,0.95,0.955,0.8738710419659472,0.1843476916310545,1000 -RF Regr.,RF Clas.,0.9,0.885,0.6190925784677545,0.1539369305670702,1000 -RF Regr.,RF Clas.,0.95,0.944,0.7376943072689804,0.1539369305670702,1000 +LGBM Regr.,LGBM Clas.,0.9,0.931,1.2316532622529917,0.2992448325629738,1000 +LGBM Regr.,LGBM Clas.,0.95,0.971,1.4676053819640873,0.2992448325629738,1000 +LGBM Regr.,Logistic,0.9,0.918,0.7686543138837709,0.19130776690526882,1000 +LGBM Regr.,Logistic,0.95,0.964,0.9159081070123597,0.19130776690526882,1000 +LassoCV,LGBM Clas.,0.9,0.919,1.085643937942505,0.26276932948403875,1000 +LassoCV,LGBM Clas.,0.95,0.977,1.2936245411363425,0.26276932948403875,1000 +LassoCV,Logistic,0.9,0.914,0.6575993935743172,0.15918300885857045,1000 +LassoCV,Logistic,0.95,0.963,0.7835780075153564,0.15918300885857045,1000 +LassoCV,RF Clas.,0.9,0.923,0.5880692523443405,0.14216834117620963,1000 +LassoCV,RF Clas.,0.95,0.968,0.7007277341428199,0.14216834117620963,1000 +RF Regr.,Logistic,0.9,0.912,0.737241521175503,0.18258213488785877,1000 +RF Regr.,Logistic,0.95,0.96,0.8784774558266153,0.18258213488785877,1000 +RF Regr.,RF Clas.,0.9,0.901,0.6169132543509753,0.15312602292680585,1000 +RF Regr.,RF Clas.,0.95,0.952,0.7350974824150611,0.15312602292680585,1000 diff --git a/results/irm/irm_ate_metadata.csv b/results/irm/irm_ate_metadata.csv index 38401a13..ba15362e 100644 --- a/results/irm/irm_ate_metadata.csv +++ b/results/irm/irm_ate_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,IRMATECoverageSimulation,2025-09-08 08:44,125.62044833103816,3.12.3,scripts/irm/irm_ate_config.yml +0.12.dev0,IRMATECoverageSimulation,2025-12-04 19:18,128.43919472694398,3.12.3,scripts/irm/irm_ate_config.yml diff --git a/results/irm/irm_ate_sensitivity_coverage.csv b/results/irm/irm_ate_sensitivity_coverage.csv index ff0e59cf..60061b42 100644 --- a/results/irm/irm_ate_sensitivity_coverage.csv +++ b/results/irm/irm_ate_sensitivity_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,Coverage (Lower),Coverage (Upper),RV,RVa,Bias (Lower),Bias (Upper),repetition -LGBM Regr.,LGBM Clas.,0.9,0.098,0.26691111802988843,0.18092094921744792,0.978,1.0,0.1251172046448644,0.05541109257381291,0.043433798604186634,0.32421141683166593,500 -LGBM Regr.,LGBM Clas.,0.95,0.24,0.31804421368572927,0.18092094921744792,0.998,1.0,0.1251172046448644,0.035581028493690985,0.043433798604186634,0.32421141683166593,500 -LGBM Regr.,Logistic,0.9,0.256,0.2575176748128544,0.15034061289364611,0.996,1.0,0.1012586582476983,0.035576767083884395,0.027405858296419432,0.29927796472935253,500 -LGBM Regr.,Logistic,0.95,0.526,0.3068512357243219,0.15034061289364611,1.0,1.0,0.1012586582476983,0.019006465720496604,0.027405858296419432,0.29927796472935253,500 -Linear,LGBM Clas.,0.9,0.102,0.2671222767999316,0.1797932596698173,0.97,1.0,0.1272534908574333,0.05595957612301405,0.045162467154599054,0.319626676739507,500 -Linear,LGBM Clas.,0.95,0.29,0.3182958248792866,0.1797932596698173,0.994,1.0,0.1272534908574333,0.035665775872197124,0.045162467154599054,0.319626676739507,500 -Linear,Logistic,0.9,0.86,0.25889374169956525,0.09086526017131878,1.0,1.0,0.06376487583520295,0.006934209791007705,0.05671789492555223,0.23636519842393028,500 -Linear,Logistic,0.95,0.96,0.30849092055346383,0.09086526017131878,1.0,1.0,0.06376487583520295,0.0017841395015015084,0.05671789492555223,0.23636519842393028,500 +LGBM Regr.,LGBM Clas.,0.9,0.104,0.26700744915395425,0.18155232199663573,0.962,1.0,0.12549287515490162,0.05598005111522917,0.044565302894415494,0.32482781026582425,500 +LGBM Regr.,LGBM Clas.,0.95,0.232,0.31815899929988095,0.18155232199663573,0.996,1.0,0.12549287515490162,0.03612029770121405,0.044565302894415494,0.32482781026582425,500 +LGBM Regr.,Logistic,0.9,0.23,0.257663233362731,0.15145245487884335,1.0,1.0,0.10207244929149722,0.03621321533456867,0.02593099116694401,0.3002768258881602,500 +LGBM Regr.,Logistic,0.95,0.522,0.30702467943428213,0.15145245487884335,1.0,1.0,0.10207244929149722,0.019182778604657814,0.02593099116694401,0.3002768258881602,500 +Linear,LGBM Clas.,0.9,0.108,0.26725519240961965,0.17907088100479915,0.974,1.0,0.12655801859027904,0.05541429018003078,0.04415911293427357,0.31913100847174025,500 +Linear,LGBM Clas.,0.95,0.27,0.318454203596823,0.17907088100479915,0.996,1.0,0.12655801859027904,0.03501281859485896,0.04415911293427357,0.31913100847174025,500 +Linear,Logistic,0.9,0.874,0.25906199626090154,0.09125618159082688,1.0,1.0,0.06408216867705586,0.006446037964926924,0.05593258931866834,0.23673871825981035,500 +Linear,Logistic,0.95,0.968,0.3086914082291149,0.09125618159082688,1.0,1.0,0.06408216867705586,0.0015805668774873335,0.05593258931866834,0.23673871825981035,500 diff --git a/results/irm/irm_ate_sensitivity_metadata.csv b/results/irm/irm_ate_sensitivity_metadata.csv index 6773dd4e..6e4c8479 100644 --- a/results/irm/irm_ate_sensitivity_metadata.csv +++ b/results/irm/irm_ate_sensitivity_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,IRMATESensitivityCoverageSimulation,2025-09-08 07:16,37.67253222068151,3.12.3,scripts/irm/irm_ate_sensitivity_config.yml +0.12.dev0,IRMATESensitivityCoverageSimulation,2025-12-04 17:47,37.59833161433538,3.12.3,scripts/irm/irm_ate_sensitivity_config.yml diff --git a/results/irm/irm_ate_tune_config.yml b/results/irm/irm_ate_tune_config.yml new file mode 100644 index 00000000..36a6fd18 --- /dev/null +++ b/results/irm/irm_ate_tune_config.yml @@ -0,0 +1,25 @@ +simulation_parameters: + repetitions: 200 + max_runtime: 19800 + random_seed: 42 + n_jobs: -2 +dgp_parameters: + theta: + - 0.5 + n_obs: + - 500 + dim_x: + - 5 +learner_definitions: + lgbmr: &id001 + name: LGBM Regr. + lgbmc: &id002 + name: LGBM Clas. +dml_parameters: + learners: + - ml_g: *id001 + ml_m: *id002 +confidence_parameters: + level: + - 0.95 + - 0.9 diff --git a/results/irm/irm_ate_tune_coverage.csv b/results/irm/irm_ate_tune_coverage.csv new file mode 100644 index 00000000..9f17e1f9 --- /dev/null +++ b/results/irm/irm_ate_tune_coverage.csv @@ -0,0 +1,5 @@ +Learner g,Learner m,level,Tuned,Coverage,CI Length,Bias,Loss g0,Loss g1,Loss m,repetition +LGBM Regr.,LGBM Clas.,0.9,False,0.92,2.643216056843617,0.6446011747627041,1.1132816524651437,1.1357364135690846,0.667476757878396,200 +LGBM Regr.,LGBM Clas.,0.9,True,0.89,0.5145312866755513,0.12860156717199023,0.9989179129452523,1.0613529528468826,0.5188432505665598,200 +LGBM Regr.,LGBM Clas.,0.95,False,0.985,3.1495861941059564,0.6446011747627041,1.1132816524651437,1.1357364135690846,0.667476757878396,200 +LGBM Regr.,LGBM Clas.,0.95,True,0.935,0.6131018433975747,0.12860156717199023,0.9989179129452523,1.0613529528468826,0.5188432505665598,200 diff --git a/results/irm/irm_ate_tune_metadata.csv b/results/irm/irm_ate_tune_metadata.csv new file mode 100644 index 00000000..70a58b5d --- /dev/null +++ b/results/irm/irm_ate_tune_metadata.csv @@ -0,0 +1,2 @@ +DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File +0.12.dev0,IRMATETuningCoverageSimulation,2025-12-01 12:02,27.278138709068298,3.12.9,scripts/irm/irm_ate_tune_config.yml diff --git a/results/irm/irm_atte_coverage.csv b/results/irm/irm_atte_coverage.csv index d5232ffa..bdb6bc26 100644 --- a/results/irm/irm_atte_coverage.csv +++ b/results/irm/irm_atte_coverage.csv @@ -1,15 +1,15 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,repetition -LGBM Regr.,LGBM Clas.,0.9,0.929,1.4473786736685832,0.3373613664530304,1000 -LGBM Regr.,LGBM Clas.,0.95,0.979,1.7246580643406204,0.3373613664530304,1000 -LGBM Regr.,Logistic,0.9,0.889,0.8389047954622636,0.21725546577056573,1000 -LGBM Regr.,Logistic,0.95,0.951,0.9996167188513524,0.21725546577056573,1000 -LassoCV,LGBM Clas.,0.9,0.915,1.3683067740446384,0.33736290758652415,1000 -LassoCV,LGBM Clas.,0.95,0.961,1.6304380845729798,0.33736290758652415,1000 -LassoCV,Logistic,0.9,0.889,0.7878378087583325,0.20635919443627296,1000 -LassoCV,Logistic,0.95,0.949,0.9387666510406417,0.20635919443627296,1000 -LassoCV,RF Clas.,0.9,0.898,0.577413813407202,0.14935353360568673,1000 -LassoCV,RF Clas.,0.95,0.946,0.6880309955309085,0.14935353360568673,1000 -RF Regr.,Logistic,0.9,0.886,0.8121231811390474,0.21168816957084619,1000 -RF Regr.,Logistic,0.95,0.951,0.9677044570784729,0.21168816957084619,1000 -RF Regr.,RF Clas.,0.9,0.882,0.5936731847885253,0.154203377470952,1000 -RF Regr.,RF Clas.,0.95,0.937,0.7074052315094118,0.154203377470952,1000 +LGBM Regr.,LGBM Clas.,0.9,0.929,1.5129808992585232,0.3494762511606464,1000 +LGBM Regr.,LGBM Clas.,0.95,0.975,1.802827937547063,0.3494762511606464,1000 +LGBM Regr.,Logistic,0.9,0.897,0.8665295499675973,0.21830700047216328,1000 +LGBM Regr.,Logistic,0.95,0.946,1.0325336441175617,0.21830700047216328,1000 +LassoCV,LGBM Clas.,0.9,0.916,1.3734552128644464,0.3386570485257962,1000 +LassoCV,LGBM Clas.,0.95,0.974,1.6365728278097587,0.3386570485257962,1000 +LassoCV,Logistic,0.9,0.903,0.8185274172270134,0.2143949995500193,1000 +LassoCV,Logistic,0.95,0.96,0.9753355750547081,0.2143949995500193,1000 +LassoCV,RF Clas.,0.9,0.884,0.5768241077018054,0.15075762219708613,1000 +LassoCV,RF Clas.,0.95,0.944,0.6873283178426831,0.15075762219708613,1000 +RF Regr.,Logistic,0.9,0.896,0.8425822825234105,0.2141783904054886,1000 +RF Regr.,Logistic,0.95,0.94,1.0039987149605252,0.2141783904054886,1000 +RF Regr.,RF Clas.,0.9,0.873,0.5972373860549938,0.1572551056347038,1000 +RF Regr.,RF Clas.,0.95,0.935,0.7116522392683193,0.1572551056347038,1000 diff --git a/results/irm/irm_atte_metadata.csv b/results/irm/irm_atte_metadata.csv index 6cb63ab1..97b86a9f 100644 --- a/results/irm/irm_atte_metadata.csv +++ b/results/irm/irm_atte_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,IRMATTECoverageSimulation,2025-09-08 08:43,124.6468609491984,3.12.3,scripts/irm/irm_atte_config.yml +0.12.dev0,IRMATTECoverageSimulation,2025-12-04 19:17,127.50641198952992,3.12.3,scripts/irm/irm_atte_config.yml diff --git a/results/irm/irm_atte_sensitivity_coverage.csv b/results/irm/irm_atte_sensitivity_coverage.csv index ccd7784f..9c9f60dc 100644 --- a/results/irm/irm_atte_sensitivity_coverage.csv +++ b/results/irm/irm_atte_sensitivity_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,Coverage (Lower),Coverage (Upper),RV,RVa,Bias (Lower),Bias (Upper),repetition -LGBM Regr.,LGBM Clas.,0.9,0.724,0.3486418874446855,0.133013559519858,0.956,1.0,0.10333425285677338,0.02230408488718529,0.061737229173530965,0.2573546286059918,500 -LGBM Regr.,LGBM Clas.,0.95,0.834,0.4154324322220136,0.133013559519858,0.984,1.0,0.10333425285677338,0.011131851516163303,0.061737229173530965,0.2573546286059918,500 -LGBM Regr.,Logistic,0.9,0.748,0.3463856879037955,0.12877617075802633,0.968,1.0,0.09674954143748549,0.019916333263196275,0.06074802565145977,0.25765051820022555,500 -LGBM Regr.,Logistic,0.95,0.852,0.41274400465033007,0.12877617075802633,0.988,1.0,0.09674954143748549,0.009890723264346906,0.06074802565145977,0.25765051820022555,500 -Linear,LGBM Clas.,0.9,0.784,0.3494413277277734,0.12187636804754974,0.966,1.0,0.09697064801116353,0.018075330967724065,0.06121749294728737,0.2428802817821339,500 -Linear,LGBM Clas.,0.95,0.878,0.4163850240739384,0.12187636804754974,0.988,1.0,0.09697064801116353,0.008509289290209597,0.06121749294728737,0.2428802817821339,500 -Linear,Logistic,0.9,0.94,0.35018867844196144,0.07142052633672426,0.998,1.0,0.055876995720152325,0.004611363724170049,0.09892318834816895,0.17357653591018374,500 -Linear,Logistic,0.95,0.97,0.4172755473762116,0.07142052633672426,1.0,1.0,0.055876995720152325,0.001736536891339805,0.09892318834816895,0.17357653591018374,500 +LGBM Regr.,LGBM Clas.,0.9,0.742,0.34905458483668395,0.13054186381999264,0.958,1.0,0.10160519674460072,0.02147924444029479,0.06225696870603676,0.2547167550221069,500 +LGBM Regr.,LGBM Clas.,0.95,0.848,0.4159241914956518,0.13054186381999264,0.988,1.0,0.10160519674460072,0.010345724353659373,0.06225696870603676,0.2547167550221069,500 +LGBM Regr.,Logistic,0.9,0.76,0.3468033024136178,0.1257451763861217,0.962,1.0,0.09464538506725147,0.019042064023498208,0.062099562490136685,0.2546157792911907,500 +LGBM Regr.,Logistic,0.95,0.87,0.4132416230312373,0.1257451763861217,0.99,1.0,0.09464538506725147,0.009057626091664835,0.062099562490136685,0.2546157792911907,500 +Linear,LGBM Clas.,0.9,0.8,0.3498779710118114,0.11925928428374606,0.962,1.0,0.09501448425797636,0.017305926960423847,0.06259908086771278,0.23917304693135916,500 +Linear,LGBM Clas.,0.95,0.888,0.4169053166378378,0.11925928428374606,0.99,1.0,0.09501448425797636,0.00818694195298031,0.06259908086771278,0.23917304693135916,500 +Linear,Logistic,0.9,0.954,0.35050172092922355,0.06846426368040737,1.0,1.0,0.05373903639592994,0.0038361798530380602,0.10030761571464483,0.17007849218927298,500 +Linear,Logistic,0.95,0.972,0.41764856050674876,0.06846426368040737,1.0,1.0,0.05373903639592994,0.0015020205315898524,0.10030761571464483,0.17007849218927298,500 diff --git a/results/irm/irm_atte_sensitivity_metadata.csv b/results/irm/irm_atte_sensitivity_metadata.csv index 10b3d82b..bb17a261 100644 --- a/results/irm/irm_atte_sensitivity_metadata.csv +++ b/results/irm/irm_atte_sensitivity_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,IRMATTESensitivityCoverageSimulation,2025-09-08 07:16,37.43084245125453,3.12.3,scripts/irm/irm_atte_sensitivity_config.yml +0.12.dev0,IRMATTESensitivityCoverageSimulation,2025-12-04 17:47,37.48425861199697,3.12.3,scripts/irm/irm_atte_sensitivity_config.yml diff --git a/results/irm/irm_cate_coverage.csv b/results/irm/irm_cate_coverage.csv index 707a3fc6..7dc3a803 100644 --- a/results/irm/irm_cate_coverage.csv +++ b/results/irm/irm_cate_coverage.csv @@ -1,15 +1,15 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,0.9,0.92618,1.0549550417797375,0.24677433876498978,1.0,2.655295049518824,1000 -LGBM Regr.,LGBM Clas.,0.95,0.96976,1.2570564658871226,0.24677433876498978,1.0,2.6579031332044774,1000 -LGBM Regr.,Logistic,0.9,0.89558,0.460768694911557,0.11272247714552291,0.996,1.15553358576414,1000 -LGBM Regr.,Logistic,0.95,0.94716,0.5490397640451075,0.11272247714552291,0.998,1.1555911642405947,1000 -Linear,LGBM Clas.,0.9,0.9045700000000001,1.049455728670136,0.2545832624791602,1.0,2.641712139711077,1000 -Linear,LGBM Clas.,0.95,0.9562999999999999,1.2505036301466534,0.2545832624791602,1.0,2.6340664078152676,1000 -Linear,Logistic,0.9,0.89837,0.47635891687924603,0.11622820700106382,0.999,1.1994653037592913,1000 -Linear,Logistic,0.95,0.94899,0.5676166593183287,0.11622820700106382,1.0,1.202613136922296,1000 -Linear,RF Clas.,0.9,0.90583,0.5108385409019408,0.12273855836370781,0.999,1.2859328834061883,1000 -Linear,RF Clas.,0.95,0.95561,0.608701665411067,0.12273855836370781,0.999,1.290594144217973,1000 -RF Regr.,Logistic,0.9,0.89388,0.46090264991879476,0.11328948669625669,1.0,1.1580571746486201,1000 -RF Regr.,Logistic,0.95,0.94721,0.5491993812812146,0.11328948669625669,0.999,1.1597345940806152,1000 -RF Regr.,RF Clas.,0.9,0.8976799999999999,0.4952927246994588,0.12057106303154265,1.0,1.2461592875136045,1000 -RF Regr.,RF Clas.,0.95,0.94829,0.5901776828706784,0.12057106303154265,0.999,1.245662595805751,1000 +LGBM Regr.,LGBM Clas.,0.9,0.92461,1.0665951249223096,0.24613991582170225,1.0,2.6653759321537116,1000 +LGBM Regr.,LGBM Clas.,0.95,0.97023,1.2709264804359406,0.24613991582170225,1.0,2.6812445695035247,1000 +LGBM Regr.,Logistic,0.9,0.89795,0.4614986062328707,0.11130386458867365,0.999,1.1580110182466605,1000 +LGBM Regr.,Logistic,0.95,0.94769,0.5499095070290679,0.11130386458867365,1.0,1.1604523683663983,1000 +Linear,LGBM Clas.,0.9,0.90908,1.0653909229898018,0.2559912909682445,1.0,2.6806660530315596,1000 +Linear,LGBM Clas.,0.95,0.9567,1.2694915853308952,0.2559912909682445,0.999,2.680517403176158,1000 +Linear,Logistic,0.9,0.90534,0.4776874641392367,0.11362720144689947,1.0,1.2021014808982184,1000 +Linear,Logistic,0.95,0.9505399999999999,0.5691997210197929,0.11362720144689947,0.996,1.2007226696609286,1000 +Linear,RF Clas.,0.9,0.91122,0.5134643281598085,0.11906161888403807,1.0,1.2933158587254148,1000 +Linear,RF Clas.,0.95,0.95521,0.6118304839102687,0.11906161888403807,1.0,1.2923682725270258,1000 +RF Regr.,Logistic,0.9,0.89883,0.4617571633800954,0.11143886684767142,0.997,1.165093904354102,1000 +RF Regr.,Logistic,0.95,0.94936,0.5502175968725668,0.11143886684767142,0.998,1.1641657405751544,1000 +RF Regr.,RF Clas.,0.9,0.9018999999999999,0.49638796465577406,0.11812020692019015,1.0,1.2489623144139728,1000 +RF Regr.,RF Clas.,0.95,0.94932,0.5914827417729625,0.11812020692019015,0.999,1.2486145265039033,1000 diff --git a/results/irm/irm_cate_metadata.csv b/results/irm/irm_cate_metadata.csv index abbba129..efbfdb58 100644 --- a/results/irm/irm_cate_metadata.csv +++ b/results/irm/irm_cate_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,IRMCATECoverageSimulation,2025-09-08 07:57,79.25359026590984,3.12.3,scripts/irm/irm_cate_config.yml +0.12.dev0,IRMCATECoverageSimulation,2025-12-04 18:31,81.88368842999141,3.12.3,scripts/irm/irm_cate_config.yml diff --git a/results/irm/irm_gate_coverage.csv b/results/irm/irm_gate_coverage.csv index 51ccc2c7..0c584acf 100644 --- a/results/irm/irm_gate_coverage.csv +++ b/results/irm/irm_gate_coverage.csv @@ -1,15 +1,15 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Clas.,0.9,0.9253333333333333,0.8534850261615968,0.19518739930256998,1.0,2.0057889835769687,1000 -LGBM Regr.,LGBM Clas.,0.95,0.9723333333333334,1.01699013529932,0.19518739930256998,1.0,2.008734669100397,1000 -LGBM Regr.,Logistic,0.9,0.907,0.40290561820602877,0.09637183426509835,0.997,0.9452563591757599,1000 -LGBM Regr.,Logistic,0.95,0.9516666666666667,0.4800916555208833,0.09637183426509835,0.997,0.9479550579138624,1000 -Linear,LGBM Clas.,0.9,0.925,0.8587043448718052,0.19393419957109048,1.0,2.0174488850580667,1000 -Linear,LGBM Clas.,0.95,0.968,1.0232093371348077,0.19393419957109048,1.0,2.0305155614489188,1000 -Linear,Logistic,0.9,0.9093333333333333,0.420378374218193,0.09849785707055471,1.0,0.9913489475406314,1000 -Linear,Logistic,0.95,0.957,0.5009117284643757,0.09849785707055471,1.0,0.9861142484974326,1000 -Linear,RF Clas.,0.9,0.9176666666666666,0.44418271473286164,0.10211946295839633,1.0,1.0448891408997685,1000 -Linear,RF Clas.,0.95,0.9566666666666667,0.5292763496805192,0.10211946295839633,0.999,1.0422977378868823,1000 -RF Regr.,Logistic,0.9,0.9036666666666666,0.40328321693084784,0.09651797231475077,0.999,0.9482063865240357,1000 -RF Regr.,Logistic,0.95,0.9463333333333334,0.4805415921530111,0.09651797231475077,0.998,0.9478627389064088,1000 -RF Regr.,RF Clas.,0.9,0.9126666666666666,0.4265183348447747,0.1006978867872414,0.999,1.0031066471442747,1000 -RF Regr.,RF Clas.,0.95,0.955,0.5082279428055252,0.1006978867872414,1.0,1.0042312153427795,1000 +LGBM Regr.,LGBM Clas.,0.9,0.9386666666666666,0.8559513177443687,0.1937643264532876,1.0,2.006280185703383,1000 +LGBM Regr.,LGBM Clas.,0.95,0.9703333333333334,1.0199289029795582,0.1937643264532876,0.999,2.0155442343424883,1000 +LGBM Regr.,Logistic,0.9,0.9066666666666666,0.40149436064143407,0.09408161185194555,0.999,0.9449920639738041,1000 +LGBM Regr.,Logistic,0.95,0.947,0.4784100384127144,0.09408161185194555,0.997,0.9432948190496762,1000 +Linear,LGBM Clas.,0.9,0.916,0.8565340550805809,0.19475726876642258,1.0,2.0099798454237723,1000 +Linear,LGBM Clas.,0.95,0.9683333333333334,1.0206232773437618,0.19475726876642258,1.0,2.012306077187581,1000 +Linear,Logistic,0.9,0.9096666666666666,0.4187055393390181,0.09576110520986783,0.998,0.9871284997732542,1000 +Linear,Logistic,0.95,0.9573333333333334,0.49891842276133763,0.09576110520986783,0.998,0.9832531417484586,1000 +Linear,RF Clas.,0.9,0.912,0.4432050057206287,0.10020711620099187,0.998,1.0443477449082788,1000 +Linear,RF Clas.,0.95,0.96,0.528111337536011,0.10020711620099187,0.998,1.043185424691669,1000 +RF Regr.,Logistic,0.9,0.909,0.40204415185082115,0.09401292200323333,0.997,0.9441304263307014,1000 +RF Regr.,Logistic,0.95,0.9513333333333334,0.4790651550454403,0.09401292200323333,0.998,0.9459424215336382,1000 +RF Regr.,RF Clas.,0.9,0.9106666666666666,0.4240128937078121,0.09786079181797877,0.999,0.999003996144668,1000 +RF Regr.,RF Clas.,0.95,0.9546666666666667,0.5052425255541841,0.09786079181797877,0.999,0.9978199943917729,1000 diff --git a/results/irm/irm_gate_metadata.csv b/results/irm/irm_gate_metadata.csv index d9aa4051..81261d42 100644 --- a/results/irm/irm_gate_metadata.csv +++ b/results/irm/irm_gate_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,IRMGATECoverageSimulation,2025-09-08 07:57,78.74852496782938,3.12.3,scripts/irm/irm_gate_config.yml +0.12.dev0,IRMGATECoverageSimulation,2025-12-04 18:30,81.06913734674454,3.12.3,scripts/irm/irm_gate_config.yml diff --git a/results/irm/lpq_Y0_coverage.csv b/results/irm/lpq_Y0_coverage.csv index eae541b7..b23433be 100644 --- a/results/irm/lpq_Y0_coverage.csv +++ b/results/irm/lpq_Y0_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,repetition -LGBM Clas.,LGBM Clas.,0.9,0.9329999999999999,1.1960147129034748,0.24094548048195796,200 -LGBM Clas.,LGBM Clas.,0.95,0.972,1.425139431169569,0.24094548048195796,200 -LGBM Clas.,Logistic,0.9,0.932,1.1491710932229942,0.2296474103759401,200 -LGBM Clas.,Logistic,0.95,0.97,1.3693218155624007,0.2296474103759401,200 -Logistic,LGBM Clas.,0.9,0.9359999999999999,1.1629913431768941,0.22567871572576473,200 -Logistic,LGBM Clas.,0.95,0.968,1.3857896590976262,0.22567871572576473,200 -Logistic,Logistic,0.9,0.934,1.1208189409885447,0.22329276488816077,200 -Logistic,Logistic,0.95,0.9690000000000001,1.3355381424420707,0.22329276488816077,200 +LGBM Clas.,LGBM Clas.,0.9,0.9329999999999999,1.1918146610913505,0.23713567415485812,200 +LGBM Clas.,LGBM Clas.,0.95,0.965,1.420134760753866,0.23713567415485812,200 +LGBM Clas.,Logistic,0.9,0.935,1.1482506900557687,0.22706213155177937,200 +LGBM Clas.,Logistic,0.95,0.9690000000000001,1.368225087543895,0.22706213155177937,200 +Logistic,LGBM Clas.,0.9,0.937,1.1636475947083718,0.222049794644765,200 +Logistic,LGBM Clas.,0.95,0.97,1.3865716310283926,0.222049794644765,200 +Logistic,Logistic,0.9,0.9390000000000001,1.1179439847426047,0.21856700650754168,200 +Logistic,Logistic,0.95,0.973,1.3321124207809802,0.21856700650754168,200 diff --git a/results/irm/lpq_Y1_coverage.csv b/results/irm/lpq_Y1_coverage.csv index 5524bf55..8fe08a13 100644 --- a/results/irm/lpq_Y1_coverage.csv +++ b/results/irm/lpq_Y1_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,repetition -LGBM Clas.,LGBM Clas.,0.9,0.935,1.678879388568732,0.31691835808807167,200 -LGBM Clas.,LGBM Clas.,0.95,0.965,2.0005081802202342,0.31691835808807167,200 -LGBM Clas.,Logistic,0.9,0.935,1.621053614944002,0.309555060210687,200 -LGBM Clas.,Logistic,0.95,0.966,1.93160452105836,0.309555060210687,200 -Logistic,LGBM Clas.,0.9,0.9279999999999999,1.6303000750790089,0.3127093206367988,200 -Logistic,LGBM Clas.,0.95,0.9590000000000001,1.9426223578750537,0.3127093206367988,200 -Logistic,Logistic,0.9,0.932,1.5733563331643035,0.2975937700943579,200 -Logistic,Logistic,0.95,0.965,1.874769704320332,0.2975937700943579,200 +LGBM Clas.,LGBM Clas.,0.9,0.938,1.6625528920375123,0.32490050446017593,200 +LGBM Clas.,LGBM Clas.,0.95,0.973,1.9810539596922865,0.32490050446017593,200 +LGBM Clas.,Logistic,0.9,0.9390000000000001,1.6016687007398658,0.29732874610502585,200 +LGBM Clas.,Logistic,0.95,0.973,1.9085059710956365,0.29732874610502585,200 +Logistic,LGBM Clas.,0.9,0.941,1.608047549586303,0.30902052918537687,200 +Logistic,LGBM Clas.,0.95,0.9690000000000001,1.9161068383077622,0.30902052918537687,200 +Logistic,Logistic,0.9,0.935,1.555801006941688,0.29641972770100156,200 +Logistic,Logistic,0.95,0.973,1.8538512429026142,0.29641972770100156,200 diff --git a/results/irm/lpq_effect_coverage.csv b/results/irm/lpq_effect_coverage.csv index c76f5320..ddc6e6f4 100644 --- a/results/irm/lpq_effect_coverage.csv +++ b/results/irm/lpq_effect_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Clas.,LGBM Clas.,0.9,0.907,1.6633268414956404,0.3832694765515751,0.885,2.195582944870515,200 -LGBM Clas.,LGBM Clas.,0.95,0.9470000000000001,1.981976177352831,0.3832694765515751,0.935,2.4824600181934997,200 -LGBM Clas.,Logistic,0.9,0.9009999999999999,1.6061436270948157,0.36919254431923265,0.9,2.1168287667046233,200 -LGBM Clas.,Logistic,0.95,0.9440000000000001,1.9138381747309388,0.36919254431923265,0.94,2.3959456398753134,200 -Logistic,LGBM Clas.,0.9,0.89,1.6221649413900492,0.384184011499731,0.875,2.130874728171255,200 -Logistic,LGBM Clas.,0.95,0.937,1.9329287481954314,0.384184011499731,0.93,2.41312138531884,200 -Logistic,Logistic,0.9,0.888,1.5652859556745662,0.3790378210858529,0.87,2.052704952998973,200 -Logistic,Logistic,0.95,0.93,1.8651532564113202,0.3790378210858529,0.945,2.3240450427903903,200 +LGBM Clas.,LGBM Clas.,0.9,0.905,1.646407440278241,0.385814947577832,0.905,2.1721384098939738,200 +LGBM Clas.,LGBM Clas.,0.95,0.95,1.9618154673159467,0.385814947577832,0.94,2.454333240166447,200 +LGBM Clas.,Logistic,0.9,0.889,1.5870851465992528,0.36383204534825536,0.905,2.091555216794098,200 +LGBM Clas.,Logistic,0.95,0.946,1.8911285945231282,0.36383204534825536,0.94,2.3668596812405753,200 +Logistic,LGBM Clas.,0.9,0.895,1.602525995092381,0.36399924087424396,0.905,2.1078231981172495,200 +Logistic,LGBM Clas.,0.95,0.951,1.909527500323251,0.36399924087424396,0.955,2.3859405915685907,200 +Logistic,Logistic,0.9,0.89,1.5476210853564174,0.3610200075249385,0.89,2.0288270162637994,200 +Logistic,Logistic,0.95,0.9420000000000001,1.8441042651528634,0.3610200075249385,0.95,2.300361347965683,200 diff --git a/results/irm/lpq_metadata.csv b/results/irm/lpq_metadata.csv index 05c3eb6a..e679db01 100644 --- a/results/irm/lpq_metadata.csv +++ b/results/irm/lpq_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,LPQCoverageSimulation,2025-09-08 08:32,114.00595455567041,3.12.3,scripts/irm/lpq_config.yml +0.12.dev0,LPQCoverageSimulation,2025-12-04 19:04,114.70904120604197,3.12.3,scripts/irm/lpq_config.yml diff --git a/results/irm/pq_Y0_coverage.csv b/results/irm/pq_Y0_coverage.csv index 35c0bf7c..0477339e 100644 --- a/results/irm/pq_Y0_coverage.csv +++ b/results/irm/pq_Y0_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,repetition -LGBM Clas.,LGBM Clas.,0.9,0.875,0.5729628686924746,0.14933104662607077,200 -LGBM Clas.,LGBM Clas.,0.95,0.9435714285714286,0.6827273677824547,0.14933104662607077,200 -LGBM Clas.,Logistic,0.9,0.8485714285714286,0.4108296025589305,0.11673180804759976,200 -LGBM Clas.,Logistic,0.95,0.9157142857142857,0.4895336652482356,0.11673180804759976,200 -Logistic,LGBM Clas.,0.9,0.9135714285714286,0.5672228429384693,0.13384657876544737,200 -Logistic,LGBM Clas.,0.95,0.9542857142857143,0.6758877052350742,0.13384657876544737,200 -Logistic,Logistic,0.9,0.8807142857142857,0.4077258841626537,0.10598223062286814,200 -Logistic,Logistic,0.95,0.937142857142857,0.4858353566722128,0.10598223062286814,200 +LGBM Clas.,LGBM Clas.,0.9,0.8835714285714286,0.577281292284823,0.14271934514647347,200 +LGBM Clas.,LGBM Clas.,0.95,0.9392857142857143,0.6878730868739935,0.14271934514647347,200 +LGBM Clas.,Logistic,0.9,0.8607142857142857,0.40881666521282084,0.11483649396585474,200 +LGBM Clas.,Logistic,0.95,0.9142857142857143,0.4871351024601153,0.11483649396585474,200 +Logistic,LGBM Clas.,0.9,0.9042857142857144,0.5673797076514296,0.13296062006394363,200 +Logistic,LGBM Clas.,0.95,0.952857142857143,0.676074621069292,0.13296062006394363,200 +Logistic,Logistic,0.9,0.8942857142857144,0.40507948963962115,0.10265133090656293,200 +Logistic,Logistic,0.95,0.945,0.4826819831020422,0.10265133090656293,200 diff --git a/results/irm/pq_Y1_coverage.csv b/results/irm/pq_Y1_coverage.csv index 8165f331..1525a432 100644 --- a/results/irm/pq_Y1_coverage.csv +++ b/results/irm/pq_Y1_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,repetition -LGBM Clas.,LGBM Clas.,0.9,0.9057142857142857,0.25162636495287866,0.058705977832479536,200 -LGBM Clas.,LGBM Clas.,0.95,0.9535714285714286,0.2998313070460974,0.058705977832479536,200 -LGBM Clas.,Logistic,0.9,0.8964285714285714,0.23573718513618783,0.05676150939840453,200 -LGBM Clas.,Logistic,0.95,0.9442857142857143,0.28089818152397245,0.05676150939840453,200 -Logistic,LGBM Clas.,0.9,0.8935714285714286,0.252774168924015,0.06085432107563776,200 -Logistic,LGBM Clas.,0.95,0.9585714285714286,0.3011989998352174,0.06085432107563776,200 -Logistic,Logistic,0.9,0.9035714285714286,0.23702882479533696,0.05586671900446994,200 -Logistic,Logistic,0.95,0.9542857142857143,0.2824372651065206,0.05586671900446994,200 +LGBM Clas.,LGBM Clas.,0.9,0.8992857142857144,0.25462792812846624,0.061574078936371575,200 +LGBM Clas.,LGBM Clas.,0.95,0.955,0.3034078901688016,0.061574078936371575,200 +LGBM Clas.,Logistic,0.9,0.9,0.23716922863199283,0.056662068851699325,200 +LGBM Clas.,Logistic,0.95,0.947857142857143,0.2826045665968343,0.056662068851699325,200 +Logistic,LGBM Clas.,0.9,0.91,0.25350757405611474,0.06057756591497565,200 +Logistic,LGBM Clas.,0.95,0.952857142857143,0.30207290595150593,0.06057756591497565,200 +Logistic,Logistic,0.9,0.9085714285714286,0.23739933997656035,0.05623615248006517,200 +Logistic,Logistic,0.95,0.9485714285714286,0.28287876117585126,0.05623615248006517,200 diff --git a/results/irm/pq_effect_coverage.csv b/results/irm/pq_effect_coverage.csv index 6e2eac79..4f445048 100644 --- a/results/irm/pq_effect_coverage.csv +++ b/results/irm/pq_effect_coverage.csv @@ -1,9 +1,9 @@ Learner g,Learner m,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Clas.,LGBM Clas.,0.9,0.8735714285714287,0.6116337215076973,0.1558680043819949,0.87,0.8751495566106742,200 -LGBM Clas.,LGBM Clas.,0.95,0.9364285714285714,0.7288065310146017,0.1558680043819949,0.935,0.9742335603492159,200 -LGBM Clas.,Logistic,0.9,0.8657142857142857,0.4526161311109992,0.12306500536219656,0.84,0.649451495457938,200 -LGBM Clas.,Logistic,0.95,0.9228571428571429,0.5393253851064949,0.12306500536219656,0.895,0.7232469343557514,200 -Logistic,LGBM Clas.,0.9,0.9128571428571429,0.6095967182261998,0.14021240836441295,0.91,0.8594719336371053,200 -Logistic,LGBM Clas.,0.95,0.9607142857142857,0.7263792918957479,0.14021240836441295,0.955,0.9608239489842615,200 -Logistic,Logistic,0.9,0.8914285714285713,0.45472908142368906,0.11565410839324233,0.85,0.6443440528558397,200 -Logistic,Logistic,0.95,0.9364285714285714,0.5418431206947187,0.11565410839324233,0.935,0.7181545386323929,200 +LGBM Clas.,LGBM Clas.,0.9,0.8821428571428571,0.617101804869696,0.1564169206328714,0.815,0.883883838205828,200 +LGBM Clas.,LGBM Clas.,0.95,0.9342857142857143,0.7353221542155811,0.1564169206328714,0.88,0.9823650789937496,200 +LGBM Clas.,Logistic,0.9,0.8478571428571428,0.4518034235096248,0.12829648750837963,0.8,0.6470666470391672,200 +LGBM Clas.,Logistic,0.95,0.9235714285714286,0.5383569842697542,0.12829648750837963,0.865,0.7203742550212913,200 +Logistic,LGBM Clas.,0.9,0.8992857142857144,0.6101152858243912,0.14615613151121945,0.865,0.8609298901368315,200 +Logistic,LGBM Clas.,0.95,0.95,0.7269972033009643,0.14615613151121945,0.935,0.9616862862711715,200 +Logistic,Logistic,0.9,0.8707142857142857,0.45253064924826814,0.11963858185845028,0.85,0.6410713247109417,200 +Logistic,Logistic,0.95,0.9364285714285714,0.5392235271845868,0.11963858185845028,0.915,0.7157783672533653,200 diff --git a/results/irm/pq_metadata.csv b/results/irm/pq_metadata.csv index 401f7932..d892f303 100644 --- a/results/irm/pq_metadata.csv +++ b/results/irm/pq_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,PQCoverageSimulation,2025-09-08 08:35,117.05562915007273,3.12.3,scripts/irm/pq_config.yml +0.12.dev0,PQCoverageSimulation,2025-12-04 19:07,117.31327378352483,3.12.3,scripts/irm/pq_config.yml diff --git a/results/plm/lplr_ate_config.yml b/results/plm/lplr_ate_config.yml index c7cf40d2..0113545b 100644 --- a/results/plm/lplr_ate_config.yml +++ b/results/plm/lplr_ate_config.yml @@ -4,7 +4,7 @@ simulation_parameters: random_seed: 42 n_jobs: -2 dgp_parameters: - theta: + alpha: - 0.5 n_obs: - 500 diff --git a/results/plm/lplr_ate_coverage.csv b/results/plm/lplr_ate_coverage.csv index 29c3a423..64da39ca 100644 --- a/results/plm/lplr_ate_coverage.csv +++ b/results/plm/lplr_ate_coverage.csv @@ -1,13 +1,13 @@ Learner m,Learner M,Learner t,Score,level,Coverage,CI Length,Bias,repetition -LGBM Regr.,LGBM Clas.,LGBM Regr.,instrument,0.9,0.872,0.6540916267945179,0.17501445022837125,500 -LGBM Regr.,LGBM Clas.,LGBM Regr.,instrument,0.95,0.928,0.7793982455949509,0.17501445022837125,500 -LGBM Regr.,LGBM Clas.,LGBM Regr.,nuisance_space,0.9,0.88,0.598241346108922,0.15586913796966942,500 -LGBM Regr.,LGBM Clas.,LGBM Regr.,nuisance_space,0.95,0.946,0.7128485314583201,0.15586913796966942,500 -LassoCV,Logistic,LassoCV,instrument,0.9,0.856,0.5890452894815547,0.16482024691605957,500 -LassoCV,Logistic,LassoCV,instrument,0.95,0.924,0.7018907541253692,0.16482024691605957,500 -LassoCV,Logistic,LassoCV,nuisance_space,0.9,0.868,0.5820699058557912,0.1507959338822808,500 -LassoCV,Logistic,LassoCV,nuisance_space,0.95,0.93,0.6935790718815301,0.1507959338822808,500 -RF Regr.,RF Clas.,RF Regr.,instrument,0.9,0.884,0.39484117997902796,0.09883032061915417,500 -RF Regr.,RF Clas.,RF Regr.,instrument,0.95,0.95,0.4704822846799266,0.09883032061915417,500 -RF Regr.,RF Clas.,RF Regr.,nuisance_space,0.9,0.886,0.38499391911236014,0.09772003875711463,500 -RF Regr.,RF Clas.,RF Regr.,nuisance_space,0.95,0.94,0.45874854963578754,0.09772003875711463,500 +LGBM Regr.,LGBM Clas.,LGBM Regr.,instrument,0.9,0.9,0.6534565055513932,0.16336115980855923,500 +LGBM Regr.,LGBM Clas.,LGBM Regr.,instrument,0.95,0.956,0.7786414519557212,0.16336115980855923,500 +LGBM Regr.,LGBM Clas.,LGBM Regr.,nuisance_space,0.9,0.9,0.587173331700569,0.14523265588039966,500 +LGBM Regr.,LGBM Clas.,LGBM Regr.,nuisance_space,0.95,0.948,0.6996601788503451,0.14523265588039966,500 +LassoCV,Logistic,LassoCV,instrument,0.9,0.85,0.5909860504305657,0.16604923608569636,500 +LassoCV,Logistic,LassoCV,instrument,0.95,0.92,0.7042033134317637,0.16604923608569636,500 +LassoCV,Logistic,LassoCV,nuisance_space,0.9,0.872,0.5743427245911767,0.1561191992391632,500 +LassoCV,Logistic,LassoCV,nuisance_space,0.95,0.934,0.6843715674978567,0.1561191992391632,500 +RF Regr.,RF Clas.,RF Regr.,instrument,0.9,0.896,0.3948609235155087,0.09705489730756603,500 +RF Regr.,RF Clas.,RF Regr.,instrument,0.95,0.95,0.4705058105546887,0.09705489730756603,500 +RF Regr.,RF Clas.,RF Regr.,nuisance_space,0.9,0.892,0.38159441513135645,0.09629310976419707,500 +RF Regr.,RF Clas.,RF Regr.,nuisance_space,0.95,0.936,0.4546977907968892,0.09629310976419707,500 diff --git a/results/plm/lplr_ate_metadata.csv b/results/plm/lplr_ate_metadata.csv index 52735907..5ceb9bd0 100644 --- a/results/plm/lplr_ate_metadata.csv +++ b/results/plm/lplr_ate_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,LPLRATECoverageSimulation,2025-11-18 03:13,39.79484195311864,3.12.9,scripts/plm/lplr_ate_config.yml +0.12.dev0,LPLRATECoverageSimulation,2025-12-04 19:28,138.79539552927017,3.12.3,scripts/plm/lplr_ate_config.yml diff --git a/results/plm/lplr_ate_tune_config.yml b/results/plm/lplr_ate_tune_config.yml new file mode 100644 index 00000000..30a6e5c3 --- /dev/null +++ b/results/plm/lplr_ate_tune_config.yml @@ -0,0 +1,29 @@ +simulation_parameters: + repetitions: 100 + max_runtime: 19800 + random_seed: 42 + n_jobs: -2 +dgp_parameters: + alpha: + - 0.5 + n_obs: + - 500 + dim_x: + - 20 +learner_definitions: + lgbm: &id001 + name: LGBM Regr. + lgbm-class: &id002 + name: LGBM Clas. +dml_parameters: + learners: + - ml_m: *id001 + ml_M: *id002 + ml_t: *id001 + score: + - nuisance_space + - instrument +confidence_parameters: + level: + - 0.95 + - 0.9 diff --git a/results/plm/lplr_ate_tune_coverage.csv b/results/plm/lplr_ate_tune_coverage.csv new file mode 100644 index 00000000..48db3e7c --- /dev/null +++ b/results/plm/lplr_ate_tune_coverage.csv @@ -0,0 +1,9 @@ +Learner m,Learner M,Learner t,Score,level,Tuned,Coverage,CI Length,Bias,Loss M,Loss a,Loss m,repetition +LGBM Regr.,LGBM Clas.,LGBM Regr.,instrument,0.9,False,0.89,0.9503738196199937,0.27958957834627335,0.7313248611019764,0.3524379916385648,0.3761979381237934,100 +LGBM Regr.,LGBM Clas.,LGBM Regr.,instrument,0.9,True,0.86,0.7888791069378829,0.2131544006122909,0.6305442473961151,0.33110728634697295,0.335336012157393,100 +LGBM Regr.,LGBM Clas.,LGBM Regr.,instrument,0.95,False,0.92,1.1324402535180162,0.27958957834627335,0.7313248611019764,0.3524379916385648,0.3761979381237934,100 +LGBM Regr.,LGBM Clas.,LGBM Regr.,instrument,0.95,True,0.92,0.9400074343514756,0.2131544006122909,0.6305442473961151,0.33110728634697295,0.335336012157393,100 +LGBM Regr.,LGBM Clas.,LGBM Regr.,nuisance_space,0.9,False,0.89,0.8105540967664803,0.19761923280521046,0.7266071266302078,0.35476756729034437,0.479148010505746,100 +LGBM Regr.,LGBM Clas.,LGBM Regr.,nuisance_space,0.9,True,0.87,0.6815753718036465,0.20220182977401963,0.6305431158253273,0.3305870433409719,0.46869360133810006,100 +LGBM Regr.,LGBM Clas.,LGBM Regr.,nuisance_space,0.95,False,0.94,0.9658347777291706,0.19761923280521046,0.7266071266302078,0.35476756729034437,0.479148010505746,100 +LGBM Regr.,LGBM Clas.,LGBM Regr.,nuisance_space,0.95,True,0.91,0.8121471476829805,0.20220182977401963,0.6305431158253273,0.3305870433409719,0.46869360133810006,100 diff --git a/results/plm/lplr_ate_tune_metadata.csv b/results/plm/lplr_ate_tune_metadata.csv new file mode 100644 index 00000000..17c16674 --- /dev/null +++ b/results/plm/lplr_ate_tune_metadata.csv @@ -0,0 +1,2 @@ +DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File +0.12.dev0,LPLRATETuningCoverageSimulation,2025-12-01 14:39,38.92375212907791,3.12.9,scripts/plm/lplr_ate_tune_config.yml diff --git a/results/plm/pliv_late_coverage.csv b/results/plm/pliv_late_coverage.csv index c606e9a8..826271f0 100644 --- a/results/plm/pliv_late_coverage.csv +++ b/results/plm/pliv_late_coverage.csv @@ -1,33 +1,33 @@ Learner g,Learner m,Learner r,Score,level,Coverage,CI Length,Bias,repetition -LassoCV,LassoCV,LassoCV,IV-type,0.9,0.8072916666666666,0.2335258547373156,0.07122761289040919,576 -LassoCV,LassoCV,LassoCV,IV-type,0.95,0.8802083333333334,0.27826321883264726,0.07122761289040919,576 -LassoCV,LassoCV,LassoCV,partialling out,0.9,0.9045138888888888,0.30164792633672877,0.07266947451992439,576 -LassoCV,LassoCV,LassoCV,partialling out,0.95,0.9548611111111112,0.35943567375470925,0.07266947451992439,576 -LassoCV,LassoCV,RF Regr.,IV-type,0.9,0.8072916666666666,0.23362412196650592,0.07124904693113882,576 -LassoCV,LassoCV,RF Regr.,IV-type,0.95,0.875,0.2783803114583482,0.07124904693113882,576 -LassoCV,LassoCV,RF Regr.,partialling out,0.9,0.8975694444444444,0.30831845244740885,0.07373365052643471,576 -LassoCV,LassoCV,RF Regr.,partialling out,0.95,0.9444444444444444,0.36738409586391424,0.07373365052643471,576 -LassoCV,RF Regr.,LassoCV,IV-type,0.9,0.8263888888888888,0.2654741023702334,0.07861091262617612,576 -LassoCV,RF Regr.,LassoCV,IV-type,0.95,0.8993055555555556,0.3163319039142124,0.07861091262617612,576 -LassoCV,RF Regr.,LassoCV,partialling out,0.9,0.8993055555555556,0.31853360477311976,0.07698559189146299,576 -LassoCV,RF Regr.,LassoCV,partialling out,0.95,0.9461805555555556,0.3795562006195763,0.07698559189146299,576 -LassoCV,RF Regr.,RF Regr.,IV-type,0.9,0.8506944444444444,0.2665056457368877,0.07719349974615461,576 -LassoCV,RF Regr.,RF Regr.,IV-type,0.95,0.9045138888888888,0.3175610636485534,0.07719349974615461,576 -LassoCV,RF Regr.,RF Regr.,partialling out,0.9,0.890625,0.30231461350927336,0.08130178656835439,576 -LassoCV,RF Regr.,RF Regr.,partialling out,0.95,0.9322916666666666,0.36023008051877126,0.08130178656835439,576 -RF Regr.,LassoCV,LassoCV,IV-type,0.9,0.7899305555555556,0.2434558143590868,0.07870677531590115,576 -RF Regr.,LassoCV,LassoCV,IV-type,0.95,0.8680555555555556,0.2900954955214122,0.07870677531590115,576 -RF Regr.,LassoCV,LassoCV,partialling out,0.9,0.9027777777777778,0.3318080349211177,0.082542046238441,576 -RF Regr.,LassoCV,LassoCV,partialling out,0.95,0.953125,0.3953736597412056,0.082542046238441,576 -RF Regr.,LassoCV,RF Regr.,IV-type,0.9,0.8003472222222222,0.24325915596216202,0.07763649262059309,576 -RF Regr.,LassoCV,RF Regr.,IV-type,0.95,0.8680555555555556,0.289861162588126,0.07763649262059309,576 -RF Regr.,LassoCV,RF Regr.,partialling out,0.9,0.9010416666666666,0.31902972778652483,0.07863966408526868,576 -RF Regr.,LassoCV,RF Regr.,partialling out,0.95,0.9461805555555556,0.3801473676524615,0.07863966408526868,576 -RF Regr.,RF Regr.,LassoCV,IV-type,0.9,0.8107638888888888,0.27896606828205744,0.08288613874349095,576 -RF Regr.,RF Regr.,LassoCV,IV-type,0.95,0.8819444444444444,0.3324085728861667,0.08288613874349095,576 -RF Regr.,RF Regr.,LassoCV,partialling out,0.9,0.7864583333333334,0.3502921602334726,0.11047731519905851,576 -RF Regr.,RF Regr.,LassoCV,partialling out,0.95,0.8559027777777778,0.4173988535361606,0.11047731519905851,576 -RF Regr.,RF Regr.,RF Regr.,IV-type,0.9,0.8159722222222222,0.2754570209528338,0.08112123087629206,576 -RF Regr.,RF Regr.,RF Regr.,IV-type,0.95,0.8802083333333334,0.3282272850970085,0.08112123087629206,576 -RF Regr.,RF Regr.,RF Regr.,partialling out,0.9,0.875,0.3055311295135867,0.07899151365334917,576 -RF Regr.,RF Regr.,RF Regr.,partialling out,0.95,0.9375,0.3640627957347963,0.07899151365334917,576 +LassoCV,LassoCV,LassoCV,IV-type,0.9,0.799645390070922,0.23096801755537075,0.0710595069103472,564 +LassoCV,LassoCV,LassoCV,IV-type,0.95,0.8670212765957447,0.2752153678428781,0.0710595069103472,564 +LassoCV,LassoCV,LassoCV,partialling out,0.9,0.8847517730496454,0.2964503765563312,0.07175326419411789,564 +LassoCV,LassoCV,LassoCV,partialling out,0.95,0.9343971631205674,0.35324241119899263,0.07175326419411789,564 +LassoCV,LassoCV,RF Regr.,IV-type,0.9,0.7890070921985816,0.23040580803970323,0.07135535142324642,564 +LassoCV,LassoCV,RF Regr.,IV-type,0.95,0.851063829787234,0.2745454538855394,0.07135535142324642,564 +LassoCV,LassoCV,RF Regr.,partialling out,0.9,0.8936170212765957,0.3033488014596474,0.07302286217128136,564 +LassoCV,LassoCV,RF Regr.,partialling out,0.95,0.9397163120567376,0.36146239146897735,0.07302286217128136,564 +LassoCV,RF Regr.,LassoCV,IV-type,0.9,0.8333333333333334,0.26155076891172546,0.0752852233222723,564 +LassoCV,RF Regr.,LassoCV,IV-type,0.95,0.8936170212765957,0.3116569637541763,0.0752852233222723,564 +LassoCV,RF Regr.,LassoCV,partialling out,0.9,0.8936170212765957,0.31230248780628067,0.07497759217449526,564 +LassoCV,RF Regr.,LassoCV,partialling out,0.95,0.9450354609929078,0.372131366799502,0.07497759217449526,564 +LassoCV,RF Regr.,RF Regr.,IV-type,0.9,0.8386524822695035,0.26318158633698757,0.07399186008935581,564 +LassoCV,RF Regr.,RF Regr.,IV-type,0.95,0.9095744680851063,0.31360020257281696,0.07399186008935581,564 +LassoCV,RF Regr.,RF Regr.,partialling out,0.9,0.9060283687943262,0.29754423798409685,0.07404175535449573,564 +LassoCV,RF Regr.,RF Regr.,partialling out,0.95,0.9556737588652482,0.3545458274831952,0.07404175535449573,564 +RF Regr.,LassoCV,LassoCV,IV-type,0.9,0.7872340425531915,0.240508484936347,0.0753368039493267,564 +RF Regr.,LassoCV,LassoCV,IV-type,0.95,0.8439716312056738,0.28658353590111973,0.0753368039493267,564 +RF Regr.,LassoCV,LassoCV,partialling out,0.9,0.8882978723404256,0.3258011964028535,0.079865405588078,564 +RF Regr.,LassoCV,LassoCV,partialling out,0.95,0.9521276595744681,0.38821607017588605,0.079865405588078,564 +RF Regr.,LassoCV,RF Regr.,IV-type,0.9,0.7730496453900709,0.24001785537981513,0.07594215537980009,564 +RF Regr.,LassoCV,RF Regr.,IV-type,0.95,0.8563829787234043,0.2859989147258389,0.07594215537980009,564 +RF Regr.,LassoCV,RF Regr.,partialling out,0.9,0.8953900709219859,0.31352804073539203,0.07746930095002114,564 +RF Regr.,LassoCV,RF Regr.,partialling out,0.95,0.9485815602836879,0.3735917031861857,0.07746930095002114,564 +RF Regr.,RF Regr.,LassoCV,IV-type,0.9,0.7907801418439716,0.2733184422817789,0.0800048117965925,564 +RF Regr.,RF Regr.,LassoCV,IV-type,0.95,0.8687943262411347,0.32567901143624406,0.0800048117965925,564 +RF Regr.,RF Regr.,LassoCV,partialling out,0.9,0.7730496453900709,0.34557153972341575,0.11063506893162668,564 +RF Regr.,RF Regr.,LassoCV,partialling out,0.95,0.8546099290780141,0.41177388725782954,0.11063506893162668,564 +RF Regr.,RF Regr.,RF Regr.,IV-type,0.9,0.8031914893617021,0.2710626064840188,0.07997476659822819,564 +RF Regr.,RF Regr.,RF Regr.,IV-type,0.95,0.8652482269503546,0.322991017291233,0.07997476659822819,564 +RF Regr.,RF Regr.,RF Regr.,partialling out,0.9,0.8475177304964538,0.2975468790251921,0.0783357095787531,564 +RF Regr.,RF Regr.,RF Regr.,partialling out,0.95,0.9148936170212766,0.35454897447776274,0.0783357095787531,564 diff --git a/results/plm/pliv_late_metadata.csv b/results/plm/pliv_late_metadata.csv index 9932a0ae..fc3b2481 100644 --- a/results/plm/pliv_late_metadata.csv +++ b/results/plm/pliv_late_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,PLIVLATECoverageSimulation,2025-09-08 12:11,332.7484830458959,3.12.3,scripts/plm/pliv_late_config.yml +0.12.dev0,PLIVLATECoverageSimulation,2025-12-04 22:43,334.08844143152237,3.12.3,scripts/plm/pliv_late_config.yml diff --git a/results/plm/plr_ate_coverage.csv b/results/plm/plr_ate_coverage.csv index 3472d852..305cb658 100644 --- a/results/plm/plr_ate_coverage.csv +++ b/results/plm/plr_ate_coverage.csv @@ -1,29 +1,29 @@ Learner g,Learner m,Score,level,Coverage,CI Length,Bias,repetition -LGBM Regr.,LGBM Regr.,IV-type,0.9,0.863,0.1596875004155196,0.04190692285022562,1000 -LGBM Regr.,LGBM Regr.,IV-type,0.95,0.927,0.19027939293036994,0.04190692285022562,1000 -LGBM Regr.,LGBM Regr.,partialling out,0.9,0.82,0.14673790477408832,0.04274003558423509,1000 -LGBM Regr.,LGBM Regr.,partialling out,0.95,0.882,0.1748489979969301,0.04274003558423509,1000 -LGBM Regr.,LassoCV,IV-type,0.9,0.864,0.14850767996959235,0.039302736245328145,1000 -LGBM Regr.,LassoCV,IV-type,0.95,0.927,0.176957815211474,0.039302736245328145,1000 -LGBM Regr.,LassoCV,partialling out,0.9,0.882,0.15900684464932308,0.04075159325722853,1000 -LGBM Regr.,LassoCV,partialling out,0.95,0.932,0.189468341560354,0.04075159325722853,1000 -LassoCV,LGBM Regr.,IV-type,0.9,0.868,0.15035462431781724,0.03885008673020529,1000 -LassoCV,LGBM Regr.,IV-type,0.95,0.937,0.17915858514300867,0.03885008673020529,1000 -LassoCV,LGBM Regr.,partialling out,0.9,0.492,0.13884592445719834,0.0709498471401035,1000 -LassoCV,LGBM Regr.,partialling out,0.95,0.612,0.16544512343061302,0.0709498471401035,1000 -LassoCV,LassoCV,IV-type,0.9,0.869,0.13981178087085014,0.03694061273543505,1000 -LassoCV,LassoCV,IV-type,0.95,0.93,0.16659601233280855,0.03694061273543505,1000 -LassoCV,LassoCV,partialling out,0.9,0.883,0.14670738716893747,0.03669884399866198,1000 -LassoCV,LassoCV,partialling out,0.95,0.944,0.17481263402751057,0.03669884399866198,1000 -LassoCV,RF Regr.,IV-type,0.9,0.835,0.1302896143924338,0.03725192920475538,1000 -LassoCV,RF Regr.,IV-type,0.95,0.904,0.15524965114498646,0.03725192920475538,1000 -LassoCV,RF Regr.,partialling out,0.9,0.777,0.14256373927301522,0.046784627261935774,1000 -LassoCV,RF Regr.,partialling out,0.95,0.862,0.1698751730233513,0.046784627261935774,1000 -RF Regr.,LassoCV,IV-type,0.9,0.871,0.14106017506402294,0.036864349901817875,1000 -RF Regr.,LassoCV,IV-type,0.95,0.938,0.1680835657643333,0.036864349901817875,1000 -RF Regr.,LassoCV,partialling out,0.9,0.884,0.15071292176789794,0.03856536256116802,1000 -RF Regr.,LassoCV,partialling out,0.95,0.934,0.1795855228877442,0.03856536256116802,1000 -RF Regr.,RF Regr.,IV-type,0.9,0.83,0.13156454943211618,0.037590451309181865,1000 -RF Regr.,RF Regr.,IV-type,0.95,0.902,0.15676882994573899,0.037590451309181865,1000 -RF Regr.,RF Regr.,partialling out,0.9,0.875,0.14232152273160326,0.037118739561801554,1000 -RF Regr.,RF Regr.,partialling out,0.95,0.934,0.1695865542126264,0.037118739561801554,1000 +LGBM Regr.,LGBM Regr.,IV-type,0.9,0.889,0.15978309138485988,0.040678761104429376,1000 +LGBM Regr.,LGBM Regr.,IV-type,0.95,0.939,0.1903932965957687,0.040678761104429376,1000 +LGBM Regr.,LGBM Regr.,partialling out,0.9,0.838,0.14681770731506133,0.041275148836012944,1000 +LGBM Regr.,LGBM Regr.,partialling out,0.95,0.897,0.17494408858956342,0.041275148836012944,1000 +LGBM Regr.,LassoCV,IV-type,0.9,0.876,0.14833747639697978,0.039489073815308307,1000 +LGBM Regr.,LassoCV,IV-type,0.95,0.931,0.17675500514564524,0.039489073815308307,1000 +LGBM Regr.,LassoCV,partialling out,0.9,0.893,0.15937942718304723,0.03925857893846666,1000 +LGBM Regr.,LassoCV,partialling out,0.95,0.94,0.18991230103212867,0.03925857893846666,1000 +LassoCV,LGBM Regr.,IV-type,0.9,0.878,0.15066272181786255,0.03855046266735263,1000 +LassoCV,LGBM Regr.,IV-type,0.95,0.929,0.17952570595784667,0.03855046266735263,1000 +LassoCV,LGBM Regr.,partialling out,0.9,0.526,0.13905172633298185,0.06966076055623882,1000 +LassoCV,LGBM Regr.,partialling out,0.95,0.642,0.1656903514909566,0.06966076055623882,1000 +LassoCV,LassoCV,IV-type,0.9,0.877,0.13992145634265207,0.0366445077678926,1000 +LassoCV,LassoCV,IV-type,0.95,0.928,0.16672669871802667,0.0366445077678926,1000 +LassoCV,LassoCV,partialling out,0.9,0.897,0.14673266782178596,0.03648225251216086,1000 +LassoCV,LassoCV,partialling out,0.95,0.945,0.17484275778337358,0.03648225251216086,1000 +LassoCV,RF Regr.,IV-type,0.9,0.855,0.13032149928473868,0.037166678834479695,1000 +LassoCV,RF Regr.,IV-type,0.95,0.907,0.15528764433753836,0.037166678834479695,1000 +LassoCV,RF Regr.,partialling out,0.9,0.775,0.14270313357843983,0.04570634853982781,1000 +LassoCV,RF Regr.,partialling out,0.95,0.862,0.1700412715830077,0.04570634853982781,1000 +RF Regr.,LassoCV,IV-type,0.9,0.873,0.14101035943967402,0.03685517557846389,1000 +RF Regr.,LassoCV,IV-type,0.95,0.937,0.16802420678673716,0.03685517557846389,1000 +RF Regr.,LassoCV,partialling out,0.9,0.895,0.15051386498604236,0.037526282976942105,1000 +RF Regr.,LassoCV,partialling out,0.95,0.938,0.1793483321025444,0.037526282976942105,1000 +RF Regr.,RF Regr.,IV-type,0.9,0.837,0.13142137550510022,0.037870665143070414,1000 +RF Regr.,RF Regr.,IV-type,0.95,0.924,0.15659822768917436,0.037870665143070414,1000 +RF Regr.,RF Regr.,partialling out,0.9,0.884,0.1422661253784088,0.03699055268836001,1000 +RF Regr.,RF Regr.,partialling out,0.95,0.936,0.16952054419488322,0.03699055268836001,1000 diff --git a/results/plm/plr_ate_metadata.csv b/results/plm/plr_ate_metadata.csv index 50efb048..7c4c7b6b 100644 --- a/results/plm/plr_ate_metadata.csv +++ b/results/plm/plr_ate_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,PLRATECoverageSimulation,2025-11-17 11:56,194.01051502227784,3.12.3,scripts/plm/plr_ate_config.yml +0.12.dev0,PLRATECoverageSimulation,2025-12-04 20:23,193.46772919098535,3.12.3,scripts/plm/plr_ate_config.yml diff --git a/results/plm/plr_ate_sensitivity_coverage.csv b/results/plm/plr_ate_sensitivity_coverage.csv index e37ff825..7eef0342 100644 --- a/results/plm/plr_ate_sensitivity_coverage.csv +++ b/results/plm/plr_ate_sensitivity_coverage.csv @@ -1,29 +1,29 @@ Learner g,Learner m,Score,level,Coverage,CI Length,Bias,Coverage (Lower),Coverage (Upper),RV,RVa,Bias (Lower),Bias (Upper),repetition -LGBM Regr.,LGBM Regr.,IV-type,0.9,0.359,1.3755861250755959,0.7533817675308617,1.0,0.983,0.10444003719792545,0.03319588065777179,1.4454211498085776,0.26049409728823314,1000 -LGBM Regr.,LGBM Regr.,IV-type,0.95,0.566,1.6391119663201015,0.7533817675308617,1.0,0.999,0.10444003719792545,0.018658743299259112,1.4454211498085776,0.26049409728823314,1000 -LGBM Regr.,LGBM Regr.,partialling out,0.9,0.197,1.0680881308927423,0.7347354428810158,1.0,0.964,0.10198131802798086,0.0443414010278968,1.4282242316249965,0.25229952777929987,1000 -LGBM Regr.,LGBM Regr.,partialling out,0.95,0.324,1.2727055067777409,0.7347354428810158,1.0,0.992,0.10198131802798086,0.030840462791778402,1.4282242316249965,0.25229952777929987,1000 -LGBM Regr.,LassoCV,IV-type,0.9,0.015,1.4891617522492961,1.4488819159319037,1.0,0.378,0.18561743623652635,0.11029731701869455,2.1807608786019643,0.7221920339148978,1000 -LGBM Regr.,LassoCV,IV-type,0.95,0.042,1.7744456733044545,1.4488819159319037,1.0,0.601,0.18561743623652635,0.090030878628444,2.1807608786019643,0.7221920339148978,1000 -LGBM Regr.,LassoCV,partialling out,0.9,0.024,1.4917502052656801,1.3221204315783734,1.0,0.541,0.17228087019571867,0.09619454723796686,2.049489609674191,0.5997556153052517,1000 -LGBM Regr.,LassoCV,partialling out,0.95,0.073,1.7775300053110592,1.3221204315783734,1.0,0.761,0.17228087019571867,0.07583850420764672,2.049489609674191,0.5997556153052517,1000 -LassoCV,LGBM Regr.,IV-type,0.9,0.73,2.479560595815695,1.0346426864763705,1.0,1.0,0.06920738865206702,0.011540810801436563,2.5443047864136346,0.5569471732424347,1000 -LassoCV,LGBM Regr.,IV-type,0.95,0.893,2.954578684481825,1.0346426864763705,1.0,1.0,0.06920738865206702,0.0038983537654415056,2.5443047864136346,0.5569471732424347,1000 -LassoCV,LGBM Regr.,partialling out,0.9,0.632,1.9605167535420611,0.8992111659887163,1.0,1.0,0.05998295861547946,0.012000973566668068,2.4210030177077586,0.6440835936658005,1000 -LassoCV,LGBM Regr.,partialling out,0.95,0.835,2.336099799440206,0.8992111659887163,1.0,1.0,0.05998295861547946,0.004434166638410146,2.4210030177077586,0.6440835936658005,1000 -LassoCV,LassoCV,IV-type,0.9,0.0,2.5703372661953776,4.865260754822335,1.0,0.0,0.2830286662624298,0.22439945551293977,6.395774925585079,3.334746584059591,1000 -LassoCV,LassoCV,IV-type,0.95,0.0,3.062745758843568,4.865260754822335,1.0,0.0,0.2830286662624298,0.2078827373214068,6.395774925585079,3.334746584059591,1000 -LassoCV,LassoCV,partialling out,0.9,0.0,2.58639958016462,4.867314618361354,1.0,0.0,0.28309171431147057,0.22417951908385741,6.398064076377938,3.336565160344769,1000 -LassoCV,LassoCV,partialling out,0.95,0.0,3.0818851864329013,4.867314618361354,1.0,0.0,0.28309171431147057,0.2075756117099462,6.398064076377938,3.336565160344769,1000 -LassoCV,RF Regr.,IV-type,0.9,0.03,2.201968880538331,1.7117879345092915,1.0,0.994,0.10304348206977468,0.05118734638448726,3.365492564732171,0.3138790534461325,1000 -LassoCV,RF Regr.,IV-type,0.95,0.099,2.623807754208416,1.7117879345092915,1.0,1.0,0.10304348206977468,0.0369081382284807,3.365492564732171,0.3138790534461325,1000 -LassoCV,RF Regr.,partialling out,0.9,0.033,2.2330906910397963,1.656734265754782,1.0,0.998,0.0982817284966058,0.04650603557240649,3.3380373315922904,0.30299233007013754,1000 -LassoCV,RF Regr.,partialling out,0.95,0.13,2.6608916787091044,1.656734265754782,1.0,0.999,0.0982817284966058,0.032237308880055986,3.3380373315922904,0.30299233007013754,1000 -RF Regr.,LassoCV,IV-type,0.9,0.001,1.951602488934002,2.496369543889771,1.0,0.149,0.1882495178000821,0.13226664609458022,3.749193574131233,1.2443559351590099,1000 -RF Regr.,LassoCV,IV-type,0.95,0.004,2.325477798008481,2.496369543889771,1.0,0.283,0.1882495178000821,0.11629352945863138,3.749193574131233,1.2443559351590099,1000 -RF Regr.,LassoCV,partialling out,0.9,0.002,1.9227923312991766,2.18289621236076,1.0,0.321,0.16667394665087393,0.11098639679899193,3.4384927296936114,0.928664433523872,1000 -RF Regr.,LassoCV,partialling out,0.95,0.01,2.291148377792633,2.18289621236076,1.0,0.566,0.16667394665087393,0.09505438614556037,3.4384927296936114,0.928664433523872,1000 -RF Regr.,RF Regr.,IV-type,0.9,0.015,1.7421619533890125,1.6093123421586957,1.0,0.903,0.1189984467466679,0.06912583869905706,2.9380563428464184,0.3931839897902748,1000 -RF Regr.,RF Regr.,IV-type,0.95,0.051,2.0759140071368507,1.6093123421586957,1.0,0.967,0.1189984467466679,0.05511967656630338,2.9380563428464184,0.3931839897902748,1000 -RF Regr.,RF Regr.,partialling out,0.9,0.013,1.7368870337302156,1.5939873207774409,1.0,0.931,0.1174689960814369,0.06795129356233286,2.9287971865967988,0.37330009521026997,1000 -RF Regr.,RF Regr.,partialling out,0.95,0.047,2.0696285526847444,1.5939873207774409,1.0,0.976,0.1174689960814369,0.05405509596164712,2.9287971865967988,0.37330009521026997,1000 +LGBM Regr.,LGBM Regr.,IV-type,0.9,0.421,1.3976511350473353,0.7467964250024092,1.0,0.987,0.10290839957959286,0.031490519586569884,1.4404253946326935,0.2795318845446421,1000 +LGBM Regr.,LGBM Regr.,IV-type,0.95,0.603,1.6654040473627647,0.7467964250024092,1.0,0.994,0.10290839957959286,0.017696866745516855,1.4404253946326935,0.2795318845446421,1000 +LGBM Regr.,LGBM Regr.,partialling out,0.9,0.192,1.102290427161417,0.7410606150892608,1.0,0.974,0.10272589638995315,0.04391069909187329,1.4345048247464856,0.251626505274024,1000 +LGBM Regr.,LGBM Regr.,partialling out,0.95,0.322,1.313460056469443,0.7410606150892608,1.0,0.995,0.10272589638995315,0.03006796975885084,1.4345048247464856,0.251626505274024,1000 +LGBM Regr.,LassoCV,IV-type,0.9,0.014,1.509085669359172,1.4539598882028426,1.0,0.366,0.18611240379020022,0.11033278480181255,2.1857839931874423,0.7279169255468876,1000 +LGBM Regr.,LassoCV,IV-type,0.95,0.046,1.7981864848432254,1.4539598882028426,1.0,0.594,0.18611240379020022,0.08990359936209669,2.1857839931874423,0.7279169255468876,1000 +LGBM Regr.,LassoCV,partialling out,0.9,0.035,1.507921245387843,1.3159744755105507,1.0,0.549,0.17172124099290512,0.0951449003773672,2.0419784435742567,0.5943030774757848,1000 +LGBM Regr.,LassoCV,partialling out,0.95,0.08,1.7967989881023936,1.3159744755105507,1.0,0.771,0.17172124099290512,0.0748164416512186,2.0419784435742567,0.5943030774757848,1000 +LassoCV,LGBM Regr.,IV-type,0.9,0.726,2.4983280456112573,1.026175519781805,1.0,1.0,0.0687018781764579,0.01120762678999437,2.535249747799531,0.567952628278145,1000 +LassoCV,LGBM Regr.,IV-type,0.95,0.903,2.976941480221371,1.026175519781805,1.0,1.0,0.0687018781764579,0.0036246937120926154,2.535249747799531,0.567952628278145,1000 +LassoCV,LGBM Regr.,partialling out,0.9,0.607,1.966778043542478,0.9043657907050859,1.0,1.0,0.06031903912908668,0.012377995755699906,2.426212574731265,0.6422721718417567,1000 +LassoCV,LGBM Regr.,partialling out,0.95,0.832,2.3435605866473455,0.9043657907050859,1.0,1.0,0.06031903912908668,0.004604329422567183,2.426212574731265,0.6422721718417567,1000 +LassoCV,LassoCV,IV-type,0.9,0.0,2.571731206770743,4.8737377482499245,1.0,0.0,0.28348151920253006,0.22518977741829715,6.4038522831761675,3.343623213323681,1000 +LassoCV,LassoCV,IV-type,0.95,0.0,3.0644067414863634,4.8737377482499245,1.0,0.001,0.28348151920253006,0.208728038503683,6.4038522831761675,3.343623213323681,1000 +LassoCV,LassoCV,partialling out,0.9,0.0,2.5851741127390566,4.874876663212447,1.0,0.0,0.28345112594648986,0.22493068632003588,6.405508112416897,3.344245214007996,1000 +LassoCV,LassoCV,partialling out,0.95,0.0,3.0804249519299787,4.874876663212447,1.0,0.001,0.28345112594648986,0.20839886362292398,6.405508112416897,3.344245214007996,1000 +LassoCV,RF Regr.,IV-type,0.9,0.037,2.2221799551660677,1.7160440423474188,1.0,0.996,0.10324506511335448,0.050995875886257494,3.369265659703337,0.3191854379820456,1000 +LassoCV,RF Regr.,IV-type,0.95,0.102,2.647890735034274,1.7160440423474188,1.0,1.0,0.10324506511335448,0.0366867084756369,3.369265659703337,0.3191854379820456,1000 +LassoCV,RF Regr.,partialling out,0.9,0.047,2.2521751990434016,1.6622447383497525,1.0,0.999,0.09850976200308284,0.04641917011881089,3.343887329180081,0.29505795733293616,1000 +LassoCV,RF Regr.,partialling out,0.95,0.128,2.6836322726056316,1.6622447383497525,1.0,1.0,0.09850976200308284,0.0322205738296689,3.343887329180081,0.29505795733293616,1000 +RF Regr.,LassoCV,IV-type,0.9,0.001,1.9711202298359545,2.4918741008270446,1.0,0.144,0.1879831825557554,0.1316596199671192,3.7439258798736605,1.2404389514158414,1000 +RF Regr.,LassoCV,IV-type,0.95,0.004,2.348734620743712,2.4918741008270446,1.0,0.291,0.1879831825557554,0.11556104506319523,3.7439258798736605,1.2404389514158414,1000 +RF Regr.,LassoCV,partialling out,0.9,0.005,1.9387654117166035,2.180283691840108,1.0,0.33,0.16645777455701985,0.11047766645086829,3.435461938620182,0.9269126964214449,1000 +RF Regr.,LassoCV,partialling out,0.95,0.009,2.3101814770467843,2.180283691840108,1.0,0.565,0.16645777455701985,0.09449083263428158,3.435461938620182,0.9269126964214449,1000 +RF Regr.,RF Regr.,IV-type,0.9,0.026,1.7732461193193343,1.6256342448094874,1.0,0.896,0.12001444083856587,0.0694389840407145,2.9550164404884054,0.4058056479339932,1000 +RF Regr.,RF Regr.,IV-type,0.95,0.061,2.1129530753643446,1.6256342448094874,1.0,0.966,0.12001444083856587,0.0553030741582177,2.9550164404884054,0.4058056479339932,1000 +RF Regr.,RF Regr.,partialling out,0.9,0.025,1.766885805915271,1.5903668070720287,1.0,0.918,0.11721222343827108,0.06696849029772275,2.923581829825191,0.38139692141605425,1000 +RF Regr.,RF Regr.,partialling out,0.95,0.072,2.1053742944940645,1.5903668070720287,1.0,0.976,0.11721222343827108,0.05288881709860531,2.923581829825191,0.38139692141605425,1000 diff --git a/results/plm/plr_ate_sensitivity_metadata.csv b/results/plm/plr_ate_sensitivity_metadata.csv index ba728b1b..f14be3df 100644 --- a/results/plm/plr_ate_sensitivity_metadata.csv +++ b/results/plm/plr_ate_sensitivity_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,PLRATESensitivityCoverageSimulation,2025-11-17 12:27,224.5860997915268,3.12.3,scripts/plm/plr_ate_sensitivity_config.yml +0.12.dev0,PLRATESensitivityCoverageSimulation,2025-12-04 20:58,228.5057456254959,3.12.3,scripts/plm/plr_ate_sensitivity_config.yml diff --git a/results/plm/plr_ate_tune_config.yml b/results/plm/plr_ate_tune_config.yml new file mode 100644 index 00000000..9893ef17 --- /dev/null +++ b/results/plm/plr_ate_tune_config.yml @@ -0,0 +1,25 @@ +simulation_parameters: + repetitions: 500 + max_runtime: 19800 + random_seed: 42 + n_jobs: -2 +dgp_parameters: + theta: + - 0.5 + n_obs: + - 500 + dim_x: + - 20 +learner_definitions: + lgbm: &id001 + name: LGBM Regr. +dml_parameters: + learners: + - ml_g: *id001 + ml_m: *id001 + score: + - partialling out +confidence_parameters: + level: + - 0.95 + - 0.9 diff --git a/results/plm/plr_ate_tune_coverage.csv b/results/plm/plr_ate_tune_coverage.csv new file mode 100644 index 00000000..cdc215b0 --- /dev/null +++ b/results/plm/plr_ate_tune_coverage.csv @@ -0,0 +1,5 @@ +Learner g,Learner m,Score,level,Tuned,Coverage,CI Length,Bias,Loss g,Loss m,repetition +LGBM Regr.,LGBM Regr.,partialling out,0.9,False,0.794,0.14650747694301955,0.046075949286901785,1.2358182797669859,1.1165089778919557,500 +LGBM Regr.,LGBM Regr.,partialling out,0.9,True,0.862,0.1445322681554492,0.03843397524825611,1.169465886670257,1.0648564261804372,500 +LGBM Regr.,LGBM Regr.,partialling out,0.95,False,0.868,0.17457442630098685,0.046075949286901785,1.2358182797669859,1.1165089778919557,500 +LGBM Regr.,LGBM Regr.,partialling out,0.95,True,0.916,0.17222081986321527,0.03843397524825611,1.169465886670257,1.0648564261804372,500 diff --git a/results/plm/plr_ate_tune_metadata.csv b/results/plm/plr_ate_tune_metadata.csv new file mode 100644 index 00000000..be9e2842 --- /dev/null +++ b/results/plm/plr_ate_tune_metadata.csv @@ -0,0 +1,2 @@ +DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File +0.12.dev0,PLRATETuningCoverageSimulation,2025-12-03 21:40,50.3229238708814,3.12.9,scripts/plm/plr_ate_tune_config.yml diff --git a/results/plm/plr_cate_coverage.csv b/results/plm/plr_cate_coverage.csv index c7c635f5..0e0f84a6 100644 --- a/results/plm/plr_cate_coverage.csv +++ b/results/plm/plr_cate_coverage.csv @@ -1,29 +1,29 @@ Learner g,Learner m,Score,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Regr.,IV-type,0.9,0.82905,0.34859934457061187,0.10269066968736434,0.986,0.8788694707117327,1000 -LGBM Regr.,LGBM Regr.,IV-type,0.95,0.89328,0.41538173926087907,0.10269066968736434,0.986,0.8765365613685849,1000 -LGBM Regr.,LGBM Regr.,partialling out,0.9,0.7487699999999999,0.4562033822396419,0.15530020302736622,0.973,1.1461116868127335,1000 -LGBM Regr.,LGBM Regr.,partialling out,0.95,0.8297899999999999,0.5435998584702256,0.15530020302736622,0.971,1.1476869846192674,1000 -LGBM Regr.,LassoCV,IV-type,0.9,0.88228,0.3665735738309043,0.09237124180359486,0.998,0.9203983723665325,1000 -LGBM Regr.,LassoCV,IV-type,0.95,0.93635,0.436799354435143,0.09237124180359486,0.997,0.9195555991848416,1000 -LGBM Regr.,LassoCV,partialling out,0.9,0.84415,0.6446703702300751,0.18063600645569744,0.993,1.6102346810221977,1000 -LGBM Regr.,LassoCV,partialling out,0.95,0.9068200000000001,0.7681721259859722,0.18063600645569744,0.991,1.6197708088395464,1000 -LassoCV,LGBM Regr.,IV-type,0.9,0.78462,0.35820003669569267,0.11367456664699994,0.977,0.9022806080230871,1000 -LassoCV,LGBM Regr.,IV-type,0.95,0.86042,0.42682166952792083,0.11367456664699994,0.983,0.9028292164077011,1000 -LassoCV,LGBM Regr.,partialling out,0.9,0.11332,0.5635001570275089,0.5253287834841598,0.257,1.4151506337590742,1000 -LassoCV,LGBM Regr.,partialling out,0.95,0.16911,0.6714518513744726,0.5253287834841598,0.246,1.4217510537602984,1000 -LassoCV,LassoCV,IV-type,0.9,0.89467,0.3638287468934425,0.088964144313276,0.999,0.9149966883358348,1000 -LassoCV,LassoCV,IV-type,0.95,0.9472999999999999,0.4335286914089192,0.088964144313276,0.998,0.9154935052029363,1000 -LassoCV,LassoCV,partialling out,0.9,0.88946,0.3783305434334964,0.0937660325206101,0.998,0.9527467197251451,1000 -LassoCV,LassoCV,partialling out,0.95,0.94586,0.4508086477916106,0.0937660325206101,0.999,0.9523664378421313,1000 -LassoCV,RF Regr.,IV-type,0.9,0.89402,0.36133940754837507,0.08742978566108492,0.998,0.9102557308429199,1000 -LassoCV,RF Regr.,IV-type,0.95,0.9471499999999999,0.4305624606260176,0.08742978566108492,0.997,0.9103412832643125,1000 -LassoCV,RF Regr.,partialling out,0.9,0.76742,0.4333802817413689,0.14145970305557048,0.989,1.0911406471440919,1000 -LassoCV,RF Regr.,partialling out,0.95,0.8513,0.5164044568495605,0.14145970305557048,0.984,1.090270069893263,1000 -RF Regr.,LassoCV,IV-type,0.9,0.8809199999999999,0.3488601215296179,0.08868809382454168,0.996,0.8712649919759498,1000 -RF Regr.,LassoCV,IV-type,0.95,0.9355399999999999,0.41569247417325955,0.08868809382454168,0.998,0.87648182402068,1000 -RF Regr.,LassoCV,partialling out,0.9,0.8620399999999999,0.4453600356514868,0.11971854257293388,0.993,1.1194369351513875,1000 -RF Regr.,LassoCV,partialling out,0.95,0.92079,0.5306792140819111,0.11971854257293388,0.994,1.1126580820916288,1000 -RF Regr.,RF Regr.,IV-type,0.9,0.8773500000000001,0.34471572299390735,0.08798679363788052,0.996,0.8651769659880062,1000 -RF Regr.,RF Regr.,IV-type,0.95,0.93284,0.41075411872662454,0.08798679363788052,0.996,0.8664637796214006,1000 -RF Regr.,RF Regr.,partialling out,0.9,0.8784500000000001,0.3846648443860267,0.09849944709058014,0.996,0.9691346097579039,1000 -RF Regr.,RF Regr.,partialling out,0.95,0.93471,0.45835643291411227,0.09849944709058014,0.999,0.9675297074982309,1000 +LGBM Regr.,LGBM Regr.,IV-type,0.9,0.81108,0.34753625073182437,0.10476467882955193,0.982,0.8753490918585222,1000 +LGBM Regr.,LGBM Regr.,IV-type,0.95,0.88301,0.4141149848201987,0.10476467882955193,0.979,0.8696275590057301,1000 +LGBM Regr.,LGBM Regr.,partialling out,0.9,0.7499,0.45436580938530496,0.15479317056430109,0.966,1.14045419057626,1000 +LGBM Regr.,LGBM Regr.,partialling out,0.95,0.8292,0.5414102553624136,0.15479317056430109,0.965,1.1428606023655155,1000 +LGBM Regr.,LassoCV,IV-type,0.9,0.88042,0.36547250073661136,0.09244066038082599,0.995,0.9201052947485936,1000 +LGBM Regr.,LassoCV,IV-type,0.95,0.9352,0.435487344920254,0.09244066038082599,0.997,0.919191600876896,1000 +LGBM Regr.,LassoCV,partialling out,0.9,0.8518,0.6456523117846842,0.1769434790790047,0.996,1.624300550180789,1000 +LGBM Regr.,LassoCV,partialling out,0.95,0.9141,0.769342181515791,0.1769434790790047,0.998,1.6222295727135105,1000 +LassoCV,LGBM Regr.,IV-type,0.9,0.77595,0.3560003472875054,0.11493249002243157,0.98,0.8936995010150599,1000 +LassoCV,LGBM Regr.,IV-type,0.95,0.85296,0.42420057793254784,0.11493249002243157,0.979,0.8971381008472117,1000 +LassoCV,LGBM Regr.,partialling out,0.9,0.11575,0.5627449979830486,0.5297395114934405,0.226,1.412353729446771,1000 +LassoCV,LGBM Regr.,partialling out,0.95,0.17424,0.6705520238728092,0.5297395114934405,0.251,1.4195918591195151,1000 +LassoCV,LassoCV,IV-type,0.9,0.89501,0.3616476276526723,0.0887937798304664,0.996,0.9109478256370118,1000 +LassoCV,LassoCV,IV-type,0.95,0.94635,0.4309297275328325,0.0887937798304664,0.997,0.9076084670232829,1000 +LassoCV,LassoCV,partialling out,0.9,0.8930800000000001,0.37580933136906214,0.0927480396215142,0.998,0.9419266033822707,1000 +LassoCV,LassoCV,partialling out,0.95,0.94477,0.4478044383211074,0.0927480396215142,0.996,0.9487078274811828,1000 +LassoCV,RF Regr.,IV-type,0.9,0.8928400000000001,0.3592189643382743,0.08858475373164268,0.997,0.906279246304125,1000 +LassoCV,RF Regr.,IV-type,0.95,0.94447,0.42803579669984043,0.08858475373164268,0.999,0.9046683354643144,1000 +LassoCV,RF Regr.,partialling out,0.9,0.7744500000000001,0.4325567867931696,0.1411787082704541,0.985,1.0882496699575799,1000 +LassoCV,RF Regr.,partialling out,0.95,0.85524,0.515423202096265,0.1411787082704541,0.986,1.0866817530916593,1000 +RF Regr.,LassoCV,IV-type,0.9,0.88628,0.34773790027537904,0.08739450648497399,0.995,0.8767583563969938,1000 +RF Regr.,LassoCV,IV-type,0.95,0.93931,0.41435526507151715,0.08739450648497399,0.993,0.8726685703740463,1000 +RF Regr.,LassoCV,partialling out,0.9,0.86485,0.44479221962726684,0.11779311137598938,0.995,1.120671371140575,1000 +RF Regr.,LassoCV,partialling out,0.95,0.92655,0.5300026195575835,0.11779311137598938,0.994,1.1221894886367008,1000 +RF Regr.,RF Regr.,IV-type,0.9,0.8826,0.34326383534625277,0.08700990140042893,0.998,0.8628894725119298,1000 +RF Regr.,RF Regr.,IV-type,0.95,0.93355,0.409024087888394,0.08700990140042893,0.995,0.8641224623570899,1000 +RF Regr.,RF Regr.,partialling out,0.9,0.87676,0.38372252559163483,0.09828756016001841,0.996,0.9676080596207122,1000 +RF Regr.,RF Regr.,partialling out,0.95,0.93264,0.45723359081515513,0.09828756016001841,0.998,0.9616692545502734,1000 diff --git a/results/plm/plr_cate_metadata.csv b/results/plm/plr_cate_metadata.csv index 3527c916..3fb945c9 100644 --- a/results/plm/plr_cate_metadata.csv +++ b/results/plm/plr_cate_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,PLRCATECoverageSimulation,2025-11-17 11:47,185.29402711788813,3.12.3,scripts/plm/plr_cate_config.yml +0.12.dev0,PLRCATECoverageSimulation,2025-12-04 20:18,189.09370460510254,3.12.3,scripts/plm/plr_cate_config.yml diff --git a/results/plm/plr_gate_coverage.csv b/results/plm/plr_gate_coverage.csv index a32ab6dd..3e2dc9d7 100644 --- a/results/plm/plr_gate_coverage.csv +++ b/results/plm/plr_gate_coverage.csv @@ -1,29 +1,29 @@ Learner g,Learner m,Score,level,Coverage,CI Length,Bias,Uniform Coverage,Uniform CI Length,repetition -LGBM Regr.,LGBM Regr.,IV-type,0.9,0.8053333333333333,0.3409114324357686,0.10830011848130718,0.991,0.8017592987199822,1000 -LGBM Regr.,LGBM Regr.,IV-type,0.95,0.875,0.4062210269314008,0.10830011848130718,0.988,0.799796307936306,1000 -LGBM Regr.,LGBM Regr.,partialling out,0.9,0.7383333333333334,0.4124415095407824,0.1366399549532388,0.984,0.9697388963048222,1000 -LGBM Regr.,LGBM Regr.,partialling out,0.95,0.8283333333333334,0.49145437088373556,0.1366399549532388,0.984,0.9665687910235732,1000 -LGBM Regr.,LassoCV,IV-type,0.9,0.8936666666666666,0.35821185324988614,0.08767343268627296,0.999,0.8442099807695619,1000 -LGBM Regr.,LassoCV,IV-type,0.95,0.9493333333333334,0.4268357498206965,0.08767343268627296,0.999,0.8418490502463957,1000 -LGBM Regr.,LassoCV,partialling out,0.9,0.8396666666666667,0.5553838841615836,0.15655208513456628,0.995,1.3020013862133748,1000 -LGBM Regr.,LassoCV,partialling out,0.95,0.9026666666666666,0.6617807157516657,0.15655208513456628,0.996,1.3068899330904447,1000 -LassoCV,LGBM Regr.,IV-type,0.9,0.7393333333333334,0.35377029877119814,0.1253820270670297,0.986,0.8278870895082657,1000 -LassoCV,LGBM Regr.,IV-type,0.95,0.8236666666666667,0.42154331122861627,0.1253820270670297,0.983,0.8318320743030287,1000 -LassoCV,LGBM Regr.,partialling out,0.9,0.144,0.48091195717862995,0.4806335238545862,0.154,1.1322758027985098,1000 -LassoCV,LGBM Regr.,partialling out,0.95,0.191,0.5730419414593854,0.4806335238545862,0.156,1.1291510461071579,1000 -LassoCV,LassoCV,IV-type,0.9,0.9043333333333333,0.3571755626965762,0.0846962632601286,1.0,0.8373681252041506,1000 -LassoCV,LassoCV,IV-type,0.95,0.951,0.4256009334645622,0.0846962632601286,0.999,0.842347593014819,1000 -LassoCV,LassoCV,partialling out,0.9,0.8886666666666666,0.36826827935260703,0.08969215106833642,0.997,0.8647058876249634,1000 -LassoCV,LassoCV,partialling out,0.95,0.944,0.43881872061612937,0.08969215106833642,0.997,0.8654820471522434,1000 -LassoCV,RF Regr.,IV-type,0.9,0.8986666666666666,0.35592501324799986,0.08510323311217904,0.999,0.8366218670463145,1000 -LassoCV,RF Regr.,IV-type,0.95,0.9483333333333334,0.42411081188782424,0.08510323311217904,0.999,0.8366949606336201,1000 -LassoCV,RF Regr.,partialling out,0.9,0.7383333333333334,0.4030595445326118,0.13187581900072584,0.99,0.9493412021611323,1000 -LassoCV,RF Regr.,partialling out,0.95,0.833,0.48027507005177655,0.13187581900072584,0.991,0.9490391291628868,1000 -RF Regr.,LassoCV,IV-type,0.9,0.8883333333333334,0.3469399138393356,0.08520954380177768,1.0,0.8161804056188466,1000 -RF Regr.,LassoCV,IV-type,0.95,0.9433333333333334,0.413404405585196,0.08520954380177768,0.998,0.8113422076955483,1000 -RF Regr.,LassoCV,partialling out,0.9,0.867,0.41304588013208265,0.10868702662568211,0.998,0.9703778734057933,1000 -RF Regr.,LassoCV,partialling out,0.95,0.926,0.4921745228613064,0.10868702662568211,0.998,0.9699783780272438,1000 -RF Regr.,RF Regr.,IV-type,0.9,0.8883333333333334,0.34434350122208923,0.08569474479321623,0.998,0.808725225751662,1000 -RF Regr.,RF Regr.,IV-type,0.95,0.9463333333333334,0.410310589129175,0.08569474479321623,0.997,0.8079739610497064,1000 -RF Regr.,RF Regr.,partialling out,0.9,0.8866666666666666,0.36881414918104743,0.09303338687448989,0.999,0.8697573903122439,1000 -RF Regr.,RF Regr.,partialling out,0.95,0.9396666666666667,0.4394691646352566,0.09303338687448989,0.998,0.8652094967951268,1000 +LGBM Regr.,LGBM Regr.,IV-type,0.9,0.806,0.340589476099536,0.10642719318016228,0.987,0.8004940282247246,1000 +LGBM Regr.,LGBM Regr.,IV-type,0.95,0.876,0.4058373922946947,0.10642719318016228,0.983,0.8008650552894343,1000 +LGBM Regr.,LGBM Regr.,partialling out,0.9,0.744,0.41216781442446043,0.13930890748776442,0.978,0.9711592306701852,1000 +LGBM Regr.,LGBM Regr.,partialling out,0.95,0.8313333333333334,0.49112824303749686,0.13930890748776442,0.978,0.9674597871517567,1000 +LGBM Regr.,LassoCV,IV-type,0.9,0.8916666666666666,0.3577177065925385,0.09023588445552218,1.0,0.8406624541397631,1000 +LGBM Regr.,LassoCV,IV-type,0.95,0.9376666666666666,0.4262469377613054,0.09023588445552218,0.998,0.8396811667915306,1000 +LGBM Regr.,LassoCV,partialling out,0.9,0.851,0.5544324938243242,0.15307433721758,0.998,1.3050834424316233,1000 +LGBM Regr.,LassoCV,partialling out,0.95,0.9143333333333333,0.660647064242672,0.15307433721758,0.996,1.3090104136830218,1000 +LassoCV,LGBM Regr.,IV-type,0.9,0.749,0.35340599486147595,0.12225964634750337,0.977,0.8310427452560518,1000 +LassoCV,LGBM Regr.,IV-type,0.95,0.8353333333333334,0.421109216345775,0.12225964634750337,0.981,0.8273196308576153,1000 +LassoCV,LGBM Regr.,partialling out,0.9,0.13166666666666665,0.4816129404694944,0.48357343001492625,0.178,1.134778768017635,1000 +LassoCV,LGBM Regr.,partialling out,0.95,0.17466666666666666,0.5738772145690085,0.48357343001492625,0.171,1.1277997900457917,1000 +LassoCV,LassoCV,IV-type,0.9,0.8946666666666666,0.35674724983816697,0.0860954784479901,0.997,0.8404382654949778,1000 +LassoCV,LassoCV,IV-type,0.95,0.949,0.4250905672150416,0.0860954784479901,0.998,0.8392315655701177,1000 +LassoCV,LassoCV,partialling out,0.9,0.8956666666666666,0.36721873313399944,0.08935733034120422,1.0,0.8631111662911434,1000 +LassoCV,LassoCV,partialling out,0.95,0.9426666666666667,0.43756810916057176,0.08935733034120422,0.999,0.8663882678503069,1000 +LassoCV,RF Regr.,IV-type,0.9,0.8886666666666666,0.35548185477146965,0.08641145515163902,0.998,0.8365905528843341,1000 +LassoCV,RF Regr.,IV-type,0.95,0.9456666666666667,0.42358275599323825,0.08641145515163902,0.996,0.8364714904166475,1000 +LassoCV,RF Regr.,partialling out,0.9,0.7493333333333334,0.4049270401478124,0.13355260607357494,0.986,0.9506532809092213,1000 +LassoCV,RF Regr.,partialling out,0.95,0.8326666666666667,0.48250032832832196,0.13355260607357494,0.986,0.953296010770798,1000 +RF Regr.,LassoCV,IV-type,0.9,0.8846666666666666,0.3463895774754974,0.08804499016875705,0.996,0.8129149828061188,1000 +RF Regr.,LassoCV,IV-type,0.95,0.937,0.4127486393608757,0.08804499016875705,0.994,0.8138385193812449,1000 +RF Regr.,LassoCV,partialling out,0.9,0.8646666666666666,0.4124715835614797,0.1086839758361102,0.996,0.9727843917949384,1000 +RF Regr.,LassoCV,partialling out,0.95,0.9253333333333333,0.49149020628967766,0.1086839758361102,0.999,0.9742832383410707,1000 +RF Regr.,RF Regr.,IV-type,0.9,0.8823333333333334,0.3442575451597504,0.08764869687656554,0.998,0.8096053046000788,1000 +RF Regr.,RF Regr.,IV-type,0.95,0.9413333333333334,0.4102081661635831,0.08764869687656554,0.997,0.8116011089606914,1000 +RF Regr.,RF Regr.,partialling out,0.9,0.8836666666666666,0.3684983412988984,0.09321084514903152,0.997,0.8668637316494815,1000 +RF Regr.,RF Regr.,partialling out,0.95,0.9376666666666666,0.4390928563334698,0.09321084514903152,0.996,0.8668288739442291,1000 diff --git a/results/plm/plr_gate_metadata.csv b/results/plm/plr_gate_metadata.csv index 44ab86c4..10ef829b 100644 --- a/results/plm/plr_gate_metadata.csv +++ b/results/plm/plr_gate_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,PLRGATECoverageSimulation,2025-11-17 11:46,184.07251759767533,3.12.3,scripts/plm/plr_gate_config.yml +0.12.dev0,PLRGATECoverageSimulation,2025-12-04 20:14,184.69524136781692,3.12.3,scripts/plm/plr_gate_config.yml diff --git a/results/ssm/ssm_mar_ate_coverage.csv b/results/ssm/ssm_mar_ate_coverage.csv index 0d322671..86a35c6b 100644 --- a/results/ssm/ssm_mar_ate_coverage.csv +++ b/results/ssm/ssm_mar_ate_coverage.csv @@ -1,19 +1,19 @@ Learner g,Learner m,Learner pi,level,Coverage,CI Length,Bias,repetition -LGBM Regr.,LGBM Clas.,LGBM Clas.,0.9,0.961,1.099744720107085,0.23879351817688696,1000 -LGBM Regr.,LGBM Clas.,LGBM Clas.,0.95,0.989,1.310426659418225,0.23879351817688696,1000 -LGBM Regr.,LGBM Clas.,Logistic,0.9,0.954,0.9376788712007889,0.2071243110281803,1000 -LGBM Regr.,LGBM Clas.,Logistic,0.95,0.985,1.1173132894650808,0.2071243110281803,1000 -LGBM Regr.,Logistic,LGBM Clas.,0.9,0.946,0.7825401174653722,0.1661015304067069,1000 -LGBM Regr.,Logistic,LGBM Clas.,0.95,0.985,0.9324540625128358,0.1661015304067069,1000 -LassoCV,LGBM Clas.,LGBM Clas.,0.9,0.952,1.0334523729357563,0.21861638917209628,1000 -LassoCV,LGBM Clas.,LGBM Clas.,0.95,0.984,1.2314344556272774,0.21861638917209628,1000 -LassoCV,Logistic,Logistic,0.9,0.934,0.5897223415076497,0.13227237497121175,1000 -LassoCV,Logistic,Logistic,0.95,0.974,0.7026975113741984,0.13227237497121175,1000 -LassoCV,RF Clas.,RF Clas.,0.9,0.938,0.5150861645399253,0.11241955689454874,1000 -LassoCV,RF Clas.,RF Clas.,0.95,0.976,0.6137630211535599,0.11241955689454874,1000 -RF Regr.,Logistic,RF Clas.,0.9,0.93,0.5750069155584657,0.13119995868541565,1000 -RF Regr.,Logistic,RF Clas.,0.95,0.97,0.6851629998498987,0.13119995868541565,1000 -RF Regr.,RF Clas.,Logistic,0.9,0.932,0.5561984627007869,0.12247623339858656,1000 -RF Regr.,RF Clas.,Logistic,0.95,0.963,0.6627513459483337,0.12247623339858656,1000 -RF Regr.,RF Clas.,RF Clas.,0.9,0.928,0.5232206377007457,0.11739694066484004,1000 -RF Regr.,RF Clas.,RF Clas.,0.95,0.967,0.6234558437653592,0.11739694066484004,1000 +LGBM Regr.,LGBM Clas.,LGBM Clas.,0.9,0.932,1.1096490607618295,0.2537753697730454,1000 +LGBM Regr.,LGBM Clas.,LGBM Clas.,0.95,0.973,1.3222284092249192,0.2537753697730454,1000 +LGBM Regr.,LGBM Clas.,Logistic,0.9,0.927,0.9202034782128122,0.21795635797590815,1000 +LGBM Regr.,LGBM Clas.,Logistic,0.95,0.98,1.0964900743711041,0.21795635797590815,1000 +LGBM Regr.,Logistic,LGBM Clas.,0.9,0.925,0.7859610293391193,0.17778968043589227,1000 +LGBM Regr.,Logistic,LGBM Clas.,0.95,0.97,0.9365303304293047,0.17778968043589227,1000 +LassoCV,LGBM Clas.,LGBM Clas.,0.9,0.937,1.06664811597998,0.24252593303321004,1000 +LassoCV,LGBM Clas.,LGBM Clas.,0.95,0.978,1.2709896231757172,0.24252593303321004,1000 +LassoCV,Logistic,Logistic,0.9,0.929,0.5870360234747519,0.1352163741591098,1000 +LassoCV,Logistic,Logistic,0.95,0.966,0.6994965660078569,0.1352163741591098,1000 +LassoCV,RF Clas.,RF Clas.,0.9,0.912,0.5180218173196215,0.12230587140635803,1000 +LassoCV,RF Clas.,RF Clas.,0.95,0.957,0.6172610671954945,0.12230587140635803,1000 +RF Regr.,Logistic,RF Clas.,0.9,0.907,0.5844857310821764,0.1396924993073941,1000 +RF Regr.,Logistic,RF Clas.,0.95,0.958,0.6964577051891234,0.1396924993073941,1000 +RF Regr.,RF Clas.,Logistic,0.9,0.917,0.5605579339809742,0.12931631817619357,1000 +RF Regr.,RF Clas.,Logistic,0.95,0.962,0.6679459763767203,0.12931631817619357,1000 +RF Regr.,RF Clas.,RF Clas.,0.9,0.91,0.5264596768137552,0.12286829856248617,1000 +RF Regr.,RF Clas.,RF Clas.,0.95,0.953,0.6273153969207249,0.12286829856248617,1000 diff --git a/results/ssm/ssm_mar_ate_metadata.csv b/results/ssm/ssm_mar_ate_metadata.csv index 7a2e3692..88c4652d 100644 --- a/results/ssm/ssm_mar_ate_metadata.csv +++ b/results/ssm/ssm_mar_ate_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,SSMMarATECoverageSimulation,2025-09-08 10:47,249.12814004421233,3.12.3,scripts/ssm/ssm_mar_ate_config.yml +0.12.dev0,SSMMarATECoverageSimulation,2025-12-04 21:25,255.4998017311096,3.12.3,scripts/ssm/ssm_mar_ate_config.yml diff --git a/results/ssm/ssm_nonig_ate_coverage.csv b/results/ssm/ssm_nonig_ate_coverage.csv index 17393dbd..c65e7897 100644 --- a/results/ssm/ssm_nonig_ate_coverage.csv +++ b/results/ssm/ssm_nonig_ate_coverage.csv @@ -1,19 +1,19 @@ Learner g,Learner m,Learner pi,level,Coverage,CI Length,Bias,repetition -LGBM Regr.,LGBM Clas.,LGBM Clas.,0.9,0.903,1.481059324827102,0.37602754989426823,1000 -LGBM Regr.,LGBM Clas.,LGBM Clas.,0.95,0.949,1.7647910355454204,0.37602754989426823,1000 -LGBM Regr.,LGBM Clas.,Logistic,0.9,0.921,2.3407463966423263,0.6320506843624508,1000 -LGBM Regr.,LGBM Clas.,Logistic,0.95,0.97,2.789171364058536,0.6320506843624508,1000 -LGBM Regr.,Logistic,LGBM Clas.,0.9,0.801,1.0973850715933846,0.30960808498975473,1000 -LGBM Regr.,Logistic,LGBM Clas.,0.95,0.888,1.307614964792486,0.30960808498975473,1000 -LassoCV,LGBM Clas.,LGBM Clas.,0.9,0.901,1.4523800778983884,0.3790291564092631,1000 -LassoCV,LGBM Clas.,LGBM Clas.,0.95,0.951,1.7306176050571476,0.3790291564092631,1000 -LassoCV,Logistic,Logistic,0.9,0.86,1.665667090195805,0.4740292503841448,1000 -LassoCV,Logistic,Logistic,0.95,0.919,1.9847647556749581,0.4740292503841448,1000 -LassoCV,RF Clas.,RF Clas.,0.9,0.767,0.6632288612919495,0.20996104153398967,1000 -LassoCV,RF Clas.,RF Clas.,0.95,0.846,0.7902859320369685,0.20996104153398967,1000 -RF Regr.,Logistic,RF Clas.,0.9,0.702,0.7343396895666414,0.2636200794468997,1000 -RF Regr.,Logistic,RF Clas.,0.95,0.805,0.8750197101954067,0.2636200794468997,1000 -RF Regr.,RF Clas.,Logistic,0.9,0.9,1.3848131749906887,0.3741841220064777,1000 -RF Regr.,RF Clas.,Logistic,0.95,0.964,1.6501066744332193,0.3741841220064777,1000 -RF Regr.,RF Clas.,RF Clas.,0.9,0.759,0.6767002671710868,0.21313672406339423,1000 -RF Regr.,RF Clas.,RF Clas.,0.95,0.838,0.8063381022189231,0.21313672406339423,1000 +LGBM Regr.,LGBM Clas.,LGBM Clas.,0.9,0.894,1.5178763749801094,0.38450773557760864,1000 +LGBM Regr.,LGBM Clas.,LGBM Clas.,0.95,0.953,1.8086612566608633,0.38450773557760864,1000 +LGBM Regr.,LGBM Clas.,Logistic,0.9,0.927,2.0272591738127477,0.5256961421194926,1000 +LGBM Regr.,LGBM Clas.,Logistic,0.95,0.967,2.4156282984070265,0.5256961421194926,1000 +LGBM Regr.,Logistic,LGBM Clas.,0.9,0.817,1.1198920754331765,0.3135532959105554,1000 +LGBM Regr.,Logistic,LGBM Clas.,0.95,0.897,1.3344337140131413,0.3135532959105554,1000 +LassoCV,LGBM Clas.,LGBM Clas.,0.9,0.875,1.4741185507565766,0.38203646823601195,1000 +LassoCV,LGBM Clas.,LGBM Clas.,0.95,0.947,1.7565205931302663,0.38203646823601195,1000 +LassoCV,Logistic,Logistic,0.9,0.867,1.7433117258806798,0.47873193386127033,1000 +LassoCV,Logistic,Logistic,0.95,0.92,2.077284045562859,0.47873193386127033,1000 +LassoCV,RF Clas.,RF Clas.,0.9,0.771,0.6586361648599308,0.20438857392516385,1000 +LassoCV,RF Clas.,RF Clas.,0.95,0.851,0.7848133966993618,0.20438857392516385,1000 +RF Regr.,Logistic,RF Clas.,0.9,0.727,0.7431109071370045,0.2591017476304121,1000 +RF Regr.,Logistic,RF Clas.,0.95,0.823,0.8854712605685171,0.2591017476304121,1000 +RF Regr.,RF Clas.,Logistic,0.9,0.905,1.4934904960565314,0.39775667461813907,1000 +RF Regr.,RF Clas.,Logistic,0.95,0.953,1.779603689690512,0.39775667461813907,1000 +RF Regr.,RF Clas.,RF Clas.,0.9,0.757,0.64946265840171,0.21125350705787166,1000 +RF Regr.,RF Clas.,RF Clas.,0.95,0.829,0.7738824895502671,0.21125350705787166,1000 diff --git a/results/ssm/ssm_nonig_ate_metadata.csv b/results/ssm/ssm_nonig_ate_metadata.csv index 2836c820..c7698960 100644 --- a/results/ssm/ssm_nonig_ate_metadata.csv +++ b/results/ssm/ssm_nonig_ate_metadata.csv @@ -1,2 +1,2 @@ DoubleML Version,Script,Date,Total Runtime (minutes),Python Version,Config File -0.11.dev0,SSMNonIgnorableATECoverageSimulation,2025-09-08 09:10,151.7042101462682,3.12.3,scripts/ssm/ssm_nonig_ate_config.yml +0.12.dev0,SSMNonIgnorableATECoverageSimulation,2025-12-04 19:46,156.4951787908872,3.12.3,scripts/ssm/ssm_nonig_ate_config.yml diff --git a/scripts/did/did_cs_multi_config.yml b/scripts/did/did_cs_multi_config.yml index f1cdc060..471ed7ee 100644 --- a/scripts/did/did_cs_multi_config.yml +++ b/scripts/did/did_cs_multi_config.yml @@ -8,7 +8,7 @@ simulation_parameters: dgp_parameters: DGP: [1, 4, 6] # Different DGP specifications - n_obs: [2000] # Sample size for each simulation (has to be a list) + n_obs: [1000] # Sample size for each simulation (has to be a list) lambda_t: [0.5] # Define reusable learner configurations @@ -21,31 +21,9 @@ learner_definitions: lgbmr: &lgbmr name: "LGBM Regr." - params: - n_estimators: 300 # More trees to learn slowly and steadily - learning_rate: 0.03 # Lower learning rate to improve generalization - num_leaves: 7 # Fewer leaves — simpler trees - max_depth: 3 # Shallow trees reduce overfitting - min_child_samples: 20 # Require more samples per leaf - subsample: 0.8 # More row sampling to add randomness - colsample_bytree: 0.8 # More feature sampling - reg_alpha: 0.1 # Add L1 regularization - reg_lambda: 1.0 # Increase L2 regularization - random_state: 42 # Reproducible lgbmc: &lgbmc name: "LGBM Clas." - params: - n_estimators: 300 # More trees to learn slowly and steadily - learning_rate: 0.03 # Lower learning rate to improve generalization - num_leaves: 7 # Fewer leaves — simpler trees - max_depth: 3 # Shallow trees reduce overfitting - min_child_samples: 20 # Require more samples per leaf - subsample: 0.8 # More row sampling to add randomness - colsample_bytree: 0.8 # More feature sampling - reg_alpha: 0.1 # Add L1 regularization - reg_lambda: 1.0 # Increase L2 regularization - random_state: 42 # Reproducible dml_parameters: # ML methods for ml_g and ml_m diff --git a/scripts/did/did_pa_multi_config.yml b/scripts/did/did_pa_multi_config.yml index 2031a60b..eb12a183 100644 --- a/scripts/did/did_pa_multi_config.yml +++ b/scripts/did/did_pa_multi_config.yml @@ -8,7 +8,7 @@ simulation_parameters: dgp_parameters: DGP: [1, 4, 6] # Different DGP specifications - n_obs: [2000] # Sample size for each simulation (has to be a list) + n_obs: [1000] # Sample size for each simulation (has to be a list) # Define reusable learner configurations learner_definitions: @@ -20,31 +20,9 @@ learner_definitions: lgbmr: &lgbmr name: "LGBM Regr." - params: - n_estimators: 300 # More trees to learn slowly and steadily - learning_rate: 0.03 # Lower learning rate to improve generalization - num_leaves: 7 # Fewer leaves — simpler trees - max_depth: 3 # Shallow trees reduce overfitting - min_child_samples: 20 # Require more samples per leaf - subsample: 0.8 # More row sampling to add randomness - colsample_bytree: 0.8 # More feature sampling - reg_alpha: 0.1 # Add L1 regularization - reg_lambda: 1.0 # Increase L2 regularization - random_state: 42 # Reproducible lgbmc: &lgbmc name: "LGBM Clas." - params: - n_estimators: 300 # More trees to learn slowly and steadily - learning_rate: 0.03 # Lower learning rate to improve generalization - num_leaves: 7 # Fewer leaves — simpler trees - max_depth: 3 # Shallow trees reduce overfitting - min_child_samples: 20 # Require more samples per leaf - subsample: 0.8 # More row sampling to add randomness - colsample_bytree: 0.8 # More feature sampling - reg_alpha: 0.1 # Add L1 regularization - reg_lambda: 1.0 # Increase L2 regularization - random_state: 42 # Reproducible dml_parameters: # ML methods for ml_g and ml_m diff --git a/scripts/did/did_pa_multi_tune.py b/scripts/did/did_pa_multi_tune.py new file mode 100644 index 00000000..609b40da --- /dev/null +++ b/scripts/did/did_pa_multi_tune.py @@ -0,0 +1,13 @@ +from montecover.did import DIDMultiTuningCoverageSimulation + +# Create and run simulation with config file +sim = DIDMultiTuningCoverageSimulation( + config_file="scripts/did/did_pa_multi_tune_config.yml", + log_level="DEBUG", + log_file="logs/did/did_pa_multi_tune_sim.log", +) +sim.run_simulation() +sim.save_results(output_path="results/did/", file_prefix="did_pa_multi_tune") + +# Save config file for reproducibility +sim.save_config("results/did/did_pa_multi_tune_config.yml") diff --git a/scripts/did/did_pa_multi_tune_config.yml b/scripts/did/did_pa_multi_tune_config.yml new file mode 100644 index 00000000..90f1c808 --- /dev/null +++ b/scripts/did/did_pa_multi_tune_config.yml @@ -0,0 +1,37 @@ +# Simulation parameters for DID Multi Coverage + +simulation_parameters: + repetitions: 100 + max_runtime: 19800 # 5.5 hours in seconds + random_seed: 42 + n_jobs: -2 + +dgp_parameters: + DGP: [1, 4] # Different DGP specifications + n_obs: [1000] # Sample size for each simulation (has to be a list) + +# Define reusable learner configurations +learner_definitions: + lgbmr: &lgbmr + name: "LGBM Regr." + + lgbmc: &lgbmc + name: "LGBM Clas." + + +dml_parameters: + # ML methods for ml_g and ml_m + learners: + - ml_g: *lgbmr + ml_m: *lgbmc + + control_group: + - "never_treated" # Control group specification + + score: + - observational # Standard DML score + + in_sample_normalization: [true] + +confidence_parameters: + level: [0.95, 0.90] # Confidence levels diff --git a/scripts/irm/apos_tune.py b/scripts/irm/apos_tune.py new file mode 100644 index 00000000..f7a2a8b0 --- /dev/null +++ b/scripts/irm/apos_tune.py @@ -0,0 +1,13 @@ +from montecover.irm import APOSTuningCoverageSimulation + +# Create and run simulation with config file +sim = APOSTuningCoverageSimulation( + config_file="scripts/irm/apos_tune_config.yml", + log_level="INFO", + log_file="logs/irm/apos_tune_sim.log", +) +sim.run_simulation() +sim.save_results(output_path="results/irm/", file_prefix="apos_tune") + +# Save config file for reproducibility +sim.save_config("results/irm/apos_tune_config.yml") diff --git a/scripts/irm/apos_tune_config.yml b/scripts/irm/apos_tune_config.yml new file mode 100644 index 00000000..1da3c6cd --- /dev/null +++ b/scripts/irm/apos_tune_config.yml @@ -0,0 +1,33 @@ +# Simulation parameters for APOS Coverage + +simulation_parameters: + repetitions: 200 + max_runtime: 19800 # 5.5 hours in seconds + random_seed: 42 + n_jobs: -2 + +dgp_parameters: + n_obs: [500] # Sample size + n_levels: [2] + linear: [True] + +# Define reusable learner configurations +learner_definitions: + lgbmr: &lgbmr + name: "LGBM Regr." + + + lgbmc: &lgbmc + name: "LGBM Clas." + +dml_parameters: + treatment_levels: [[0, 1, 2]] + trimming_threshold: [0.01] + learners: + - ml_g: *lgbmr + ml_m: *lgbmc + + + +confidence_parameters: + level: [0.95, 0.90] # Confidence levels diff --git a/scripts/irm/irm_ate_tune.py b/scripts/irm/irm_ate_tune.py new file mode 100644 index 00000000..675bcfa8 --- /dev/null +++ b/scripts/irm/irm_ate_tune.py @@ -0,0 +1,13 @@ +from montecover.irm import IRMATETuningCoverageSimulation + +# Create and run simulation with config file +sim = IRMATETuningCoverageSimulation( + config_file="scripts/irm/irm_ate_tune_config.yml", + log_level="INFO", + log_file="logs/irm/irm_ate_tune_sim.log", +) +sim.run_simulation() +sim.save_results(output_path="results/irm/", file_prefix="irm_ate_tune") + +# Save config file for reproducibility +sim.save_config("results/irm/irm_ate_tune_config.yml") diff --git a/scripts/irm/irm_ate_tune_config.yml b/scripts/irm/irm_ate_tune_config.yml new file mode 100644 index 00000000..b8dcca1a --- /dev/null +++ b/scripts/irm/irm_ate_tune_config.yml @@ -0,0 +1,29 @@ +# Simulation parameters for IRM ATE Coverage with Tuning + +simulation_parameters: + repetitions: 200 + max_runtime: 19800 # 5.5 hours in seconds + random_seed: 42 + n_jobs: -2 + +dgp_parameters: + theta: [0.5] # Treatment effect + n_obs: [500] # Sample size + dim_x: [5] # Number of covariates + +# Define reusable learner configurations +learner_definitions: + lgbmr: &lgbmr + name: "LGBM Regr." + + lgbmc: &lgbmc + name: "LGBM Clas." + +dml_parameters: + learners: + - ml_g: *lgbmr + ml_m: *lgbmc + + +confidence_parameters: + level: [0.95, 0.90] # Confidence levels diff --git a/scripts/plm/lplr_ate_config.yml b/scripts/plm/lplr_ate_config.yml index 78c930a8..b0a540a8 100644 --- a/scripts/plm/lplr_ate_config.yml +++ b/scripts/plm/lplr_ate_config.yml @@ -7,7 +7,7 @@ simulation_parameters: n_jobs: -2 dgp_parameters: - theta: [0.5] # Treatment effect + alpha: [0.5] # Treatment effect n_obs: [500] # Sample size dim_x: [20] # Number of covariates diff --git a/scripts/plm/lplr_ate_tune.py b/scripts/plm/lplr_ate_tune.py new file mode 100644 index 00000000..127c3de6 --- /dev/null +++ b/scripts/plm/lplr_ate_tune.py @@ -0,0 +1,14 @@ +from montecover.plm import LPLRATETuningCoverageSimulation + +# Create and run simulation with config file +sim = LPLRATETuningCoverageSimulation( + config_file="scripts/plm/lplr_ate_tune_config.yml", + log_level="INFO", + log_file="logs/plm/lplr_ate_tune_sim.log", +) +print("Calling file") +sim.run_simulation() +sim.save_results(output_path="results/plm/", file_prefix="lplr_ate_tune") + +# Save config file for reproducibility +sim.save_config("results/plm/lplr_ate_tune_config.yml") diff --git a/scripts/plm/lplr_ate_tune_config.yml b/scripts/plm/lplr_ate_tune_config.yml new file mode 100644 index 00000000..52cab900 --- /dev/null +++ b/scripts/plm/lplr_ate_tune_config.yml @@ -0,0 +1,31 @@ +# Simulation parameters for LPLR ATE Coverage + +simulation_parameters: + repetitions: 100 + max_runtime: 19800 # 5.5 hours in seconds + random_seed: 42 + n_jobs: -2 + +dgp_parameters: + alpha: [0.5] # Treatment effect + n_obs: [500] # Sample size + dim_x: [20] # Number of covariates + +# Define reusable learner configurations +learner_definitions: + lgbm: &lgbm + name: "LGBM Regr." + + lgbm-class: &lgbm-class + name: "LGBM Clas." + +dml_parameters: + learners: + - ml_m: *lgbm + ml_M: *lgbm-class + ml_t: *lgbm + + score: ["nuisance_space", "instrument"] + +confidence_parameters: + level: [0.95, 0.90] # Confidence levels diff --git a/scripts/plm/plr_ate_tune.py b/scripts/plm/plr_ate_tune.py new file mode 100644 index 00000000..7c057d3b --- /dev/null +++ b/scripts/plm/plr_ate_tune.py @@ -0,0 +1,13 @@ +from montecover.plm import PLRATETuningCoverageSimulation + +# Create and run simulation with config file +sim = PLRATETuningCoverageSimulation( + config_file="scripts/plm/plr_ate_tune_config.yml", + log_level="INFO", + log_file="logs/plm/plr_ate_tune_sim.log", +) +sim.run_simulation() +sim.save_results(output_path="results/plm/", file_prefix="plr_ate_tune") + +# Save config file for reproducibility +sim.save_config("results/plm/plr_ate_tune_config.yml") diff --git a/scripts/plm/plr_ate_tune_config.yml b/scripts/plm/plr_ate_tune_config.yml new file mode 100644 index 00000000..df0ecd25 --- /dev/null +++ b/scripts/plm/plr_ate_tune_config.yml @@ -0,0 +1,28 @@ +# Simulation parameters for PLR ATE Coverage + +simulation_parameters: + repetitions: 500 + max_runtime: 19800 # 5.5 hours in seconds + random_seed: 42 + n_jobs: -2 + +dgp_parameters: + theta: [0.5] # Treatment effect + n_obs: [500] # Sample size + dim_x: [20] # Number of covariates + +# Define reusable learner configurations +learner_definitions: + lgbm: &lgbm + name: "LGBM Regr." + +dml_parameters: + learners: + - ml_g: *lgbm + ml_m: *lgbm + + + score: ["partialling out"] + +confidence_parameters: + level: [0.95, 0.90] # Confidence levels