From 3865001cd7a03e50451bdb129e95cf0509fedb4c Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 28 Oct 2024 10:19:32 -0400 Subject: [PATCH 01/76] initial commit for this PR; begin skeleton experimentation file --- notebooks/test_idata_to_tidy_draws.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 notebooks/test_idata_to_tidy_draws.py diff --git a/notebooks/test_idata_to_tidy_draws.py b/notebooks/test_idata_to_tidy_draws.py new file mode 100644 index 0000000..3a18c92 --- /dev/null +++ b/notebooks/test_idata_to_tidy_draws.py @@ -0,0 +1,5 @@ +""" +Experiment file for testing +group agnostic conversion of +idata to tidy_draws. +""" From 763355efa9e0e62dc446afb337f2eec4e450b3c7 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 28 Oct 2024 15:27:51 -0400 Subject: [PATCH 02/76] some unfinished experimentation code; priority status change high to medium --- notebooks/test_idata_to_tidy_draws.py | 114 ++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/notebooks/test_idata_to_tidy_draws.py b/notebooks/test_idata_to_tidy_draws.py index 3a18c92..2102a9d 100644 --- a/notebooks/test_idata_to_tidy_draws.py +++ b/notebooks/test_idata_to_tidy_draws.py @@ -3,3 +3,117 @@ group agnostic conversion of idata to tidy_draws. """ + +# %% LIBRARY IMPORTS + +import os +import subprocess +import tempfile + +import xarray as xr + +import forecasttools + +xr.set_options( + display_expand_data=False, + display_expand_attrs=False, +) + +# %% EXAMPLE IDATA W/ DATES + +idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates + +print(idata_w_dates) + +print(idata_w_dates.observed_data) + +# %% PLAYING AROUND WITH TIDY_DRAWS + + +def light_r_runner(r_code: str) -> None: + """ + Run R code from Python as a temp file. + """ + with tempfile.NamedTemporaryFile(suffix=".R", delete=False) as temp_r_file: + temp_r_file.write(r_code.encode("utf-8")) + temp_r_file_path = temp_r_file.name + try: + subprocess.run(["Rscript", temp_r_file_path], check=True) + except subprocess.CalledProcessError as e: + print(f"R script failed with error: {e}") + finally: + os.remove(temp_r_file_path) + + +r_code_load = """ +library(magrittr) + + +print("Create example tidy_draws dataframe.") +set.seed(213412312) +example_draws <- dplyr::tibble( + .chain = rep(1, 100), + .iteration = rep(1:100), + .draw = 1:100, + mu = stats::rnorm(100, 0, 1), + sigma = stats::rnorm(100, 1, 0.5) +) + +print("Check if the example_draws is data.frame.") +is(example_draws, "data.frame") + +print("Structure of example_draws.") +dplyr::glimpse(example_draws) + +print("Using spread_draws.") +after_spread_draws <- example_draws %>% + tidybayes::spread_draws(mu, sigma) + +print("Spread draws structure:") +dplyr::glimpse(after_spread_draws) +""" + +light_r_runner(r_code_load) + + +# %% INTERMEDIATE REPRESENTATIONS + + +print(idata_w_dates.groups) + +for group_name in idata_w_dates.groups(): + print(idata_w_dates[group_name]) + + +# %% FINAL REPRESENTATION + + +# %% FUNCTION TO BRING IT ALL TOGETHER + + +# COLLEAGUES R CODE FOR THIS DATA (FROM IDATA CSV) + +# arviz_split <- function(x) { +# x %>% +# select(-distribution) %>% +# split(f = as.factor(x$distribution)) +# } + +# pyrenew_samples <- +# read_csv(inference_data_path) %>% +# rename_with(\(varname) str_remove_all(varname, "\\(|\\)|\\'|(, \\d+)")) |> +# rename( +# .chain = chain, +# .iteration = draw +# ) |> +# mutate(across(c(.chain, .iteration), \(x) as.integer(x + 1))) |> +# mutate( +# .draw = tidybayes:::draw_from_chain_and_iteration_(.chain, .iteration), +# .after = .iteration +# ) |> +# pivot_longer(-starts_with("."), +# names_sep = ", ", +# names_to = c("distribution", "name") +# ) |> +# arviz_split() |> +# map(\(x) pivot_wider(x, names_from = name) |> tidy_draws()) From 44e7fe2ed6a094ff31e06bffa2d347a8aff5586c Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 30 Oct 2024 14:57:00 -0400 Subject: [PATCH 03/76] add first semi-failed attempt at converting entire idata object to tidy_draws --- notebooks/test_idata_to_tidy_draws.py | 64 ++++++++++++++++++--------- 1 file changed, 42 insertions(+), 22 deletions(-) diff --git a/notebooks/test_idata_to_tidy_draws.py b/notebooks/test_idata_to_tidy_draws.py index 2102a9d..4d2abb0 100644 --- a/notebooks/test_idata_to_tidy_draws.py +++ b/notebooks/test_idata_to_tidy_draws.py @@ -10,6 +10,8 @@ import subprocess import tempfile +import arviz as az +import polars as pl import xarray as xr import forecasttools @@ -64,34 +66,52 @@ def light_r_runner(r_code: str) -> None: print("Structure of example_draws.") dplyr::glimpse(example_draws) - -print("Using spread_draws.") -after_spread_draws <- example_draws %>% - tidybayes::spread_draws(mu, sigma) - -print("Spread draws structure:") -dplyr::glimpse(after_spread_draws) """ light_r_runner(r_code_load) - -# %% INTERMEDIATE REPRESENTATIONS - - -print(idata_w_dates.groups) - -for group_name in idata_w_dates.groups(): - print(idata_w_dates[group_name]) +# %% OPTION 1 FOR IDATA TO TIDY DRAWS -# %% FINAL REPRESENTATION - - -# %% FUNCTION TO BRING IT ALL TOGETHER - - -# COLLEAGUES R CODE FOR THIS DATA (FROM IDATA CSV) +def option_1_convert_idata_to_tidy_draws( + idata: az.InferenceData, +) -> pl.DataFrame: + """ + Converts ENTIRE ArviZ InferenceData object into + a tidy_draws-compatible Polars DataFrame, ready + for parquet export and use in R tidybayes. + """ + # iterate over idata groups, stacking & extracting + dfs = [] + for group_name in idata._groups_all: + print(group_name.upper()) # DISPLAY TO USER + group = getattr(idata, group_name, None) + if group is not None: + # stack non-chain, non-draw dims + stacked_group_df = ( + group.stack(sample=("chain", "draw"), create_index=False) + .to_dataframe() + .reset_index() + ) + print(stacked_group_df) # DISPLAY TO USER + # rename draw and chain if existing + stacked_group_df = stacked_group_df.rename( + columns={"draw": "draw_idx", "chain": "chain_idx"} + ) + # add identifier (e.g. posterior) as repeated col to group + stacked_group_df["group"] = group_name + print(stacked_group_df) # DISPLAY TO USER + # extract stacked group to list for future concatenation + dfs.append(pl.from_pandas(stacked_group_df)) + # vertically concatenate all groups + # NOTE: failure to do this given different group column sizes + # tidy_df = pl.concat(dfs, how="diagonal") + + +option_1_convert_idata_to_tidy_draws(idata_w_dates) + + +# DAMON'S R CODE FOR THIS DATA (FROM IDATA CSV) # arviz_split <- function(x) { # x %>% From 31c7b72cbb5fed84232fdfbe884c490f46912a30 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 30 Oct 2024 15:37:39 -0400 Subject: [PATCH 04/76] add attempt at option 2 --- notebooks/test_idata_to_tidy_draws.py | 74 ++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/notebooks/test_idata_to_tidy_draws.py b/notebooks/test_idata_to_tidy_draws.py index 4d2abb0..b446d24 100644 --- a/notebooks/test_idata_to_tidy_draws.py +++ b/notebooks/test_idata_to_tidy_draws.py @@ -70,7 +70,7 @@ def light_r_runner(r_code: str) -> None: light_r_runner(r_code_load) -# %% OPTION 1 FOR IDATA TO TIDY DRAWS +# %% OPTION 1 FOR IDATA TO TIDY_DRAWS def option_1_convert_idata_to_tidy_draws( @@ -110,6 +110,76 @@ def option_1_convert_idata_to_tidy_draws( option_1_convert_idata_to_tidy_draws(idata_w_dates) +# %% OPTION 2 FOR IDATA TO TIDY_DRAWS + + +def option_2_convert_idata_to_tidy_draws( + idata: az.InferenceData, idata_group_name: str +) -> pl.DataFrame: + """ + Converts a specified group within an ArviZ + InferenceData object into a tidy_draws-compatible + Polars DataFrame. Dimensions "chain" and "draw" + must be present. + """ + # retrieve specified idata group + group = getattr(idata, idata_group_name, None) + if group is None: + raise ValueError( + f"Group '{idata_group_name}' not found in idata object." + ) + # make sure required dims are present + try: + required_dims = {"chain", "draw"} + missing_dims = required_dims - set(group.dims) + assert not missing_dims, f"Missing required dimensions: {missing_dims}" + # stack sample dimensions (chain, draw) to get a long df + df = ( + group.stack(sample=("chain", "draw"), create_index=False) + .to_dataframe() + .reset_index() + ) + except AssertionError as e: + print(f"Assertion failed: {e}") + df = group.to_dataframe().reset_index() # correct procedure? + # convert back to Polars DataFrame, drop sample from stacking if present + df = pl.from_pandas(df) + if "sample" in df.columns: + df = df.drop("sample") + # create .chain, .iteration, and .draw columns + df = df.with_columns( + [ + (pl.col("chain") + 1).alias(".chain"), # add 1 for conversion to R + (pl.col("draw") + 1).alias( + ".iteration" + ), # add 1 for conversion to R + ( + (pl.col("chain") * df["draw"].n_unique()) + pl.col("draw") + 1 + ).alias( + ".draw" + ), # add 1 for conversion to R; shift draw range to unique + ] + ).drop( + ["chain", "draw"] + ) # drop original chain, draw + # NOTE: anything needed for cleaning for R col names? + # pivot to long format to have variables in a single column + + # need to correct this further... + tidy_df = df.unpivot( + index=[".chain", ".iteration", ".draw"], + value_name="value", # change? + variable_name="name", + ) + return tidy_df + + +print(idata_w_dates.posterior_predictive) +postp_tidy_df = option_2_convert_idata_to_tidy_draws( + idata=idata_w_dates, idata_group_name="posterior_predictive" +) +print(postp_tidy_df) + # DAMON'S R CODE FOR THIS DATA (FROM IDATA CSV) @@ -137,3 +207,5 @@ def option_1_convert_idata_to_tidy_draws( # ) |> # arviz_split() |> # map(\(x) pivot_wider(x, names_from = name) |> tidy_draws()) + +# %% From 9a87902db7c0c5dc1523bbcab1e45a76a873e16d Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 4 Nov 2024 16:32:01 -0500 Subject: [PATCH 05/76] slightly modify spread draws example --- notebooks/test_idata_to_tidy_draws.py | 39 ++++++++++++++++----------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/notebooks/test_idata_to_tidy_draws.py b/notebooks/test_idata_to_tidy_draws.py index b446d24..24b0e73 100644 --- a/notebooks/test_idata_to_tidy_draws.py +++ b/notebooks/test_idata_to_tidy_draws.py @@ -29,7 +29,7 @@ print(idata_w_dates.observed_data) -# %% PLAYING AROUND WITH TIDY_DRAWS +# %% FUNCTION FOR RUNNING R CODE VIA TEMPORARY FILES def light_r_runner(r_code: str) -> None: @@ -47,28 +47,37 @@ def light_r_runner(r_code: str) -> None: os.remove(temp_r_file_path) -r_code_load = """ +# %% PLAYING AROUND WITH TIDY_DRAWS + + +r_code_spread_draws = """ library(magrittr) -print("Create example tidy_draws dataframe.") -set.seed(213412312) -example_draws <- dplyr::tibble( - .chain = rep(1, 100), - .iteration = rep(1:100), - .draw = 1:100, - mu = stats::rnorm(100, 0, 1), - sigma = stats::rnorm(100, 1, 0.5) +# example posterior samples +posterior_samples <- dplyr::tibble( + .chain = c(1, 1, 1, 2, 2, 2), + .iteration = c(1, 2, 3, 1, 2, 3), + .draw = c(1, 2, 3, 4, 5, 6), + alpha = c(1.1, 1.3, 1.2, 1.4, 1.5, 1.6), + beta = c(2.2, 2.3, 2.1, 2.5, 2.6, 2.4) ) -print("Check if the example_draws is data.frame.") -is(example_draws, "data.frame") +# load into tidy data +tidy_data <- tidybayes::tidy_draws( + posterior_samples) + +# examine tidy data +dplyr::glimpse(tidy_data) -print("Structure of example_draws.") -dplyr::glimpse(example_draws) +# spread draws for all variables +spread_vars <- posterior_samples %>% + tidybayes::spread_draws(alpha, beta) +dplyr::glimpse(spread_vars) """ -light_r_runner(r_code_load) + +light_r_runner(r_code_spread_draws) # %% OPTION 1 FOR IDATA TO TIDY_DRAWS From c632ae8c9562214d732e497ebd6f2ddffdb47c23 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 4 Nov 2024 17:00:52 -0500 Subject: [PATCH 06/76] more minor changes to tidy draws notebook --- notebooks/test_idata_to_tidy_draws.py | 29 ++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/notebooks/test_idata_to_tidy_draws.py b/notebooks/test_idata_to_tidy_draws.py index 24b0e73..421335b 100644 --- a/notebooks/test_idata_to_tidy_draws.py +++ b/notebooks/test_idata_to_tidy_draws.py @@ -47,13 +47,34 @@ def light_r_runner(r_code: str) -> None: os.remove(temp_r_file_path) -# %% PLAYING AROUND WITH TIDY_DRAWS +# %% EXAMPLE TIDY_DRAWS (1) -r_code_spread_draws = """ +# see: https://www.rdocumentation.org/packages/tidybayes/versions/3.0.7/topics/tidy_draws +r_code_example_from_docs = """ library(magrittr) +# load example dataset called line +data(line, package = "coda") +print(line) + +# use tidy_draws() on line +tidy_data <- line %>% + tidybayes::tidy_draws() +print(tidy_data) +""" + +light_r_runner(r_code_example_from_docs) + +# %% EXAMPLE TIDY_DRAWS (2) + + +# +r_code_spread_draws = """ + + + # example posterior samples posterior_samples <- dplyr::tibble( .chain = c(1, 1, 1, 2, 2, 2), @@ -68,7 +89,7 @@ def light_r_runner(r_code: str) -> None: posterior_samples) # examine tidy data -dplyr::glimpse(tidy_data) +print(tidy_data) # spread draws for all variables spread_vars <- posterior_samples %>% @@ -77,8 +98,6 @@ def light_r_runner(r_code: str) -> None: """ -light_r_runner(r_code_spread_draws) - # %% OPTION 1 FOR IDATA TO TIDY_DRAWS From 123ad51173b7711b3ca67e8a13d7d772168048db Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:38:13 -0500 Subject: [PATCH 07/76] light edits during DHM convo --- notebooks/{test_idata_to_tidy_draws.py => idata_to_tidy_draws.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename notebooks/{test_idata_to_tidy_draws.py => idata_to_tidy_draws.py} (100%) diff --git a/notebooks/test_idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py similarity index 100% rename from notebooks/test_idata_to_tidy_draws.py rename to notebooks/idata_to_tidy_draws.py From 718ba85c2f5b1de14ed14c1d53f690d8ac7a4573 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 12 Dec 2024 14:01:03 -0500 Subject: [PATCH 08/76] a DB conversion attempt --- notebooks/idata_to_tidy_draws.py | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index 421335b..6eb34a6 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -7,6 +7,7 @@ # %% LIBRARY IMPORTS import os +import re import subprocess import tempfile @@ -208,6 +209,46 @@ def option_2_convert_idata_to_tidy_draws( ) print(postp_tidy_df) +# %% Another attempt + + +# load csv +inference_data_path = "idata.csv" +df = pl.read_csv(inference_data_path) + +# clean +df = df.rename({col: re.sub(r"[()'|, \d+]", "", col) for col in df.columns}) + +# rename and mutate cols +df = df.with_columns( + [ + pl.col("chain").alias(".chain").cast(pl.Int32), + pl.col("draw").alias(".iteration").cast(pl.Int32), + ] +) + +# create .draw column +df = df.with_columns((df[".chain"] * 1000 + df[".iteration"]).alias(".draw")) + +# pivot longer +df = df.melt( + id_vars=[".chain", ".iteration", ".draw"], + variable_name="name", + value_name="value", +) + +# extract cols +df = df.with_columns( + [ + pl.col("name") + .str.extract(r"([^,]+), ([^,]+)", 1) + .alias("distribution"), + pl.col("name").str.extract(r"([^,]+), ([^,]+)", 2).alias("name"), + ] +) + +df.write_csv("tidy_draws_ready.csv") + # DAMON'S R CODE FOR THIS DATA (FROM IDATA CSV) From 4a77d504a6e4c842bb336b19c7044d163340e4b7 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 16 Dec 2024 11:25:48 -0500 Subject: [PATCH 09/76] begin references file; create external program folder --- assets/external/idata_csv_to_tidy.R | 24 ++++++++++++++++++++++++ assets/misc/references.bib | 17 +++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 assets/external/idata_csv_to_tidy.R create mode 100644 assets/misc/references.bib diff --git a/assets/external/idata_csv_to_tidy.R b/assets/external/idata_csv_to_tidy.R new file mode 100644 index 0000000..5454a18 --- /dev/null +++ b/assets/external/idata_csv_to_tidy.R @@ -0,0 +1,24 @@ +arviz_split <- function(x) { +x %>% + select(-distribution) %>% + split(f = as.factor(x$distribution)) +} + +pyrenew_samples <- +read_csv(inference_data_path) %>% +rename_with(\(varname) str_remove_all(varname, "\\(|\\)|\\'|(, \\d+)")) |> +rename( + .chain = chain, + .iteration = draw +) |> +mutate(across(c(.chain, .iteration), \(x) as.integer(x + 1))) |> +mutate( + .draw = tidybayes:::draw_from_chain_and_iteration_(.chain, .iteration), + .after = .iteration +) |> +pivot_longer(-starts_with("."), + names_sep = ", ", + names_to = c("distribution", "name") +) |> +arviz_split() |> +map(\(x) pivot_wider(x, names_from = name) |> tidy_draws()) diff --git a/assets/misc/references.bib b/assets/misc/references.bib new file mode 100644 index 0000000..7757084 --- /dev/null +++ b/assets/misc/references.bib @@ -0,0 +1,17 @@ + +# jax +@software{jax2018github, + author = {James Bradbury and Roy Frostig and Peter Hawkins and Matthew James Johnson and Chris Leary and Dougal Maclaurin and George Necula and Adam Paszke and Jake Vander{P}las and Skye Wanderman-{M}ilne and Qiao Zhang}, + title = {{JAX}: composable transformations of {P}ython+{N}um{P}y programs}, + url = {http://github.com/jax-ml/jax}, + version = {0.3.13}, + year = {2018}, +} + +# numpyro +@article{phan2019composable, + title={Composable Effects for Flexible and Accelerated Probabilistic Programming in NumPyro}, + author={Phan, Du and Pradhan, Neeraj and Jankowiak, Martin}, + journal={arXiv preprint arXiv:1912.11554}, + year={2019} +} From 4c18634fb9223f49cd2f632c160a7135b5cf6250 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 16 Dec 2024 11:33:44 -0500 Subject: [PATCH 10/76] add csv ignoring when converting to csv --- .gitignore | 1 + notebooks/idata_to_tidy_draws.py | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 3ea5f21..be1eb42 100644 --- a/.gitignore +++ b/.gitignore @@ -181,3 +181,4 @@ DS_Store _book/ _book render_test_idata_general_time_representation_files +*.csv diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index 6eb34a6..2b89f8d 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -1,7 +1,7 @@ """ -Experiment file for testing -group agnostic conversion of -idata to tidy_draws. +Experiment file for testing group agnostic +conversion of Arviz InferenceData objects +(idata objects) to tidy_draws. """ # %% LIBRARY IMPORTS @@ -30,6 +30,9 @@ print(idata_w_dates.observed_data) + +# %% WHEN IDATA IS CONVERT TO A CSV + # %% FUNCTION FOR RUNNING R CODE VIA TEMPORARY FILES From 9be91b4cd68d80ebed9e3e667f6c7a98eaffd265 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 16 Dec 2024 12:22:25 -0500 Subject: [PATCH 11/76] further edits; problem with dates --- notebooks/idata_to_tidy_draws.py | 98 ++++++++++++++++++++------------ 1 file changed, 61 insertions(+), 37 deletions(-) diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index 2b89f8d..83d8037 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -4,8 +4,9 @@ (idata objects) to tidy_draws. """ -# %% LIBRARY IMPORTS +# %% LIBRARIES USED +import datetime as dt import os import re import subprocess @@ -22,16 +23,64 @@ display_expand_attrs=False, ) -# %% EXAMPLE IDATA W/ DATES -idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates +# %% EXAMPLE IDATA W/ AND WO/ DATES +idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates +idata_wo_dates = forecasttools.nhsn_flu_forecast_wo_dates print(idata_w_dates) print(idata_w_dates.observed_data) -# %% WHEN IDATA IS CONVERT TO A CSV +# %% WHEN IDATA IS CONVERTED TO DF THEN CSV + +idata_wod_pandas_df = idata_wo_dates.to_dataframe() +idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) +print(idata_wod_pols_df) + +example_output = """ +shape: (1_000, 1_515) +┌───────┬──────┬─────────────┬─────────────┬───┬────────────┬────────────┬────────────┬────────────┐ +│ chain ┆ draw ┆ ('posterior ┆ ('posterior ┆ … ┆ ('prior_pr ┆ ('prior_pr ┆ ('prior_pr ┆ ('prior_pr │ +│ --- ┆ --- ┆ ', 'alpha') ┆ ', 'beta_co ┆ ┆ edictive', ┆ edictive', ┆ edictive', ┆ edictive', │ +│ i64 ┆ i64 ┆ --- ┆ effs[0]'… ┆ ┆ 'obs[97]'… ┆ 'obs[98]'… ┆ 'obs[99]'… ┆ 'obs[9]',… │ +│ ┆ ┆ f32 ┆ --- ┆ ┆ --- ┆ --- ┆ --- ┆ --- │ +│ ┆ ┆ ┆ f32 ┆ ┆ i32 ┆ i32 ┆ i32 ┆ i32 │ +╞═══════╪══════╪═════════════╪═════════════╪═══╪════════════╪════════════╪════════════╪════════════╡ +│ 0 ┆ 0 ┆ 20.363588 ┆ 0.334427 ┆ … ┆ 0 ┆ 13 ┆ 0 ┆ 46 │ +│ 0 ┆ 1 ┆ 20.399645 ┆ 0.535402 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 21 │ +│ 0 ┆ 2 ┆ 22.719585 ┆ 0.777795 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 5 │ +│ 0 ┆ 3 ┆ 25.212839 ┆ 1.238166 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 203 │ +│ 0 ┆ 4 ┆ 24.964491 ┆ 0.912391 ┆ … ┆ 0 ┆ 1 ┆ 0 ┆ 33 │ +│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │ +│ 0 ┆ 995 ┆ 23.382603 ┆ 0.688199 ┆ … ┆ 2 ┆ 2 ┆ 0 ┆ 1 │ +│ 0 ┆ 996 ┆ 23.979273 ┆ 0.565145 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 0 │ +│ 0 ┆ 997 ┆ 23.99214 ┆ 0.743872 ┆ … ┆ 0 ┆ 109 ┆ 202 ┆ 1 │ +│ 0 ┆ 998 ┆ 23.530113 ┆ 0.954449 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 0 │ +│ 0 ┆ 999 ┆ 22.403072 ┆ 1.035949 ┆ … ┆ 14 ┆ 2 ┆ 18 ┆ 0 │ +└───────┴──────┴─────────────┴─────────────┴───┴────────────┴────────────┴────────────┴────────────┘ +""" + +# # doesn't immediately work with dates, +# # KeyError: Timestamp('2022-08-08 00:00:00') +# idata_pandas_df = idata_w_dates.to_dataframe() +# idata_pols_df = pl.from_pandas(idata_pandas_df) +# print(idata_pols_df) + + +# %% TRANSFORMATION PRIOR TO CSV CONVERSION + + +# %% CONVERSION OF DATAFRAME TO CSV + +current_date_as_str = dt.datetime.now().date().isoformat() +save_dir = os.getcwd() +save_name = f"test_csv_idata_{current_date_as_str}.csv" +out_file = os.path.join(save_dir, save_name) +if not os.file.exists(out_file): + idata_wod_pols_df.write_csv(out_file) + # %% FUNCTION FOR RUNNING R CODE VIA TEMPORARY FILES @@ -58,7 +107,6 @@ def light_r_runner(r_code: str) -> None: r_code_example_from_docs = """ library(magrittr) - # load example dataset called line data(line, package = "coda") print(line) @@ -74,11 +122,7 @@ def light_r_runner(r_code: str) -> None: # %% EXAMPLE TIDY_DRAWS (2) -# r_code_spread_draws = """ - - - # example posterior samples posterior_samples <- dplyr::tibble( .chain = c(1, 1, 1, 2, 2, 2), @@ -253,31 +297,11 @@ def option_2_convert_idata_to_tidy_draws( df.write_csv("tidy_draws_ready.csv") -# DAMON'S R CODE FOR THIS DATA (FROM IDATA CSV) - -# arviz_split <- function(x) { -# x %>% -# select(-distribution) %>% -# split(f = as.factor(x$distribution)) -# } - -# pyrenew_samples <- -# read_csv(inference_data_path) %>% -# rename_with(\(varname) str_remove_all(varname, "\\(|\\)|\\'|(, \\d+)")) |> -# rename( -# .chain = chain, -# .iteration = draw -# ) |> -# mutate(across(c(.chain, .iteration), \(x) as.integer(x + 1))) |> -# mutate( -# .draw = tidybayes:::draw_from_chain_and_iteration_(.chain, .iteration), -# .after = .iteration -# ) |> -# pivot_longer(-starts_with("."), -# names_sep = ", ", -# names_to = c("distribution", "name") -# ) |> -# arviz_split() |> -# map(\(x) pivot_wider(x, names_from = name) |> tidy_draws()) - -# %% +# %% NOTES + +# https://python.arviz.org/en/v0.11.4/api/generated/arviz.from_numpyro.html +# https://python.arviz.org/en/v0.11.4/api/generated/arviz.InferenceData.to_json.html +# https://python.arviz.org/en/v0.11.4/api/generated/arviz.InferenceData.to_dataframe.html +# https://python.arviz.org/en/v0.11.4/api/generated/arviz.InferenceData.from_netcdf.html +# https://docs.pola.rs/api/python/stable/reference/api/polars.from_pandas.html +# https://docs.pola.rs/api/python/stable/reference/dataframe/api/polars.DataFrame.unpivot.html#polars.DataFrame.unpivot From 0884c3dcadaa3c1b36f7fe713bb8e5f5293c619d Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 16 Dec 2024 14:23:07 -0500 Subject: [PATCH 12/76] partial attempt edits --- notebooks/idata_to_tidy_draws.py | 209 +++++++++++++++++++++++++------ 1 file changed, 169 insertions(+), 40 deletions(-) diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index 83d8037..c094695 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -23,13 +23,100 @@ display_expand_attrs=False, ) +# %% FUNCTION FOR RUNNING R CODE VIA TEMPORARY FILES + + +def light_r_runner(r_code: str) -> None: + """ + Run R code from Python as a temp file. + """ + with tempfile.NamedTemporaryFile(suffix=".R", delete=False) as temp_r_file: + temp_r_file.write(r_code.encode("utf-8")) + temp_r_file_path = temp_r_file.name + try: + subprocess.run(["Rscript", temp_r_file_path], check=True) + except subprocess.CalledProcessError as e: + print(f"R script failed with error: {e}") + finally: + os.remove(temp_r_file_path) + + +# %% EXAMPLE TIDY_DRAWS (1) + + +# see: https://www.rdocumentation.org/packages/tidybayes/versions/3.0.7/topics/tidy_draws +r_code_example_from_docs = """ +library(magrittr) + +# load example dataset called line +data(line, package = "coda") +print(line) + +# use tidy_draws() on line +tidy_data <- line %>% + tidybayes::tidy_draws() +# print(tidy_data) +""" + +light_r_runner(r_code_example_from_docs) + +example_output_line = """ +$line1 + alpha beta sigma +1 7.173130 -1.5662000 11.233100 +2 2.952530 1.5033700 4.886490 +3 3.669890 0.6281570 1.397340 +4 3.315220 1.1827200 0.662879 +5 3.705440 0.4904370 1.362130 +6 3.579100 0.2069700 1.043500 +7 2.702060 0.8825530 1.290430 +8 2.961360 1.0851500 0.459322 +9 3.534060 1.0692600 0.634257 +10 2.094710 1.4807700 0.912919 +11 3.065240 0.3783490 1.188500 +12 2.739010 0.4447120 0.576963 +13 3.089290 -0.0130600 2.400330 +14 2.704130 1.1558500 1.794230 +15 2.521740 0.8563680 0.943078 +16 3.732160 0.6574610 0.903465 +17 2.673390 0.5944110 0.731041 +18 3.017790 0.8877700 0.622143 +19 2.701230 0.7459180 0.790993 +20 2.978370 0.9936190 0.740969 +21 2.876460 1.0280600 0.582580 +22 3.191340 0.5536110 0.710707 +23 2.797080 1.0188600 0.870071 +... +[1] "mcmc" + +attr(,"class") +[1] "mcmc.list" +""" + +example_out_tidy_data = """ +# A tibble: 400 × 6 + .chain .iteration .draw alpha beta sigma + + 1 1 1 1 7.17 -1.57 11.2 + 2 1 2 2 2.95 1.50 4.89 + 3 1 3 3 3.67 0.628 1.40 + 4 1 4 4 3.32 1.18 0.663 + 5 1 5 5 3.71 0.490 1.36 + 6 1 6 6 3.58 0.207 1.04 + 7 1 7 7 2.70 0.883 1.29 + 8 1 8 8 2.96 1.09 0.459 + 9 1 9 9 3.53 1.07 0.634 +10 1 10 10 2.09 1.48 0.913 +# ℹ 390 more rows +""" + # %% EXAMPLE IDATA W/ AND WO/ DATES idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates idata_wo_dates = forecasttools.nhsn_flu_forecast_wo_dates -print(idata_w_dates) +print(idata_w_dates) print(idata_w_dates.observed_data) @@ -62,14 +149,87 @@ └───────┴──────┴─────────────┴─────────────┴───┴────────────┴────────────┴────────────┴────────────┘ """ +print( + sorted(idata_wod_pols_df.columns) +) # e.g. "('posterior_predictive', 'obs[138]', 138)" + # # doesn't immediately work with dates, # # KeyError: Timestamp('2022-08-08 00:00:00') # idata_pandas_df = idata_w_dates.to_dataframe() # idata_pols_df = pl.from_pandas(idata_pandas_df) # print(idata_pols_df) +# %% TRANSFORMATION TO + + +def convert_idata_forecast_to_tidy( + idata_wo_dates: az.InferenceData, +) -> pl.DataFrame: + """ + Takes an Arviz InferenceData object and + converts it to a polars dataframe that + resemble MCMC data once + `tidybayes::tidy_draws()` has been called + on it, i.e. contains the posterior + predictive columns along with columns + .chain .iteration .draw. + """ + # convert idata to pandas then polars df + idata_wod_pandas_df = idata_wo_dates.to_dataframe() + idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) + # extract and rename relevant columns ( + # i.e. those for chain, iteration, and + # posterior predictive without punctuation) + acceptable_cols = ["chain", "draw", "iteration", "posterior_predictive"] + relevant_cols = [ + col + for col in idata_wod_pols_df.columns + if any(accept in col for accept in acceptable_cols) + ] + idata_wod_pols_df = idata_wod_pols_df.select(sorted(relevant_cols)) + + def clean_column_names(cols): + cleaned_cols = {} + for col in cols: + if "posterior_predictive" in col: + # split by comma, take the + # second part and strip + # extra whitespace + new_col = re.sub(r"[()\[\]]", "", col.split(",")[1].strip()) + else: + # keep col (chain, iter) + new_col = col + cleaned_cols[col] = new_col + return cleaned_cols + + idata_wod_pols_df = idata_wod_pols_df.rename( + clean_column_names(relevant_cols) + ) + # create iteration column from draw and + # chain columns + num_iterations_per_chain = idata_wod_pols_df.shape[0] + idata_wod_pols_df = idata_wod_pols_df.with_columns( + ((pl.col("draw") - 1) % num_iterations_per_chain + 1).alias( + "iteration" + ) + ) + # unpivot along value col + idata_wod_pols_df = idata_wod_pols_df.unpivot( + index=idata_wod_pols_df.columns, # exclude non-posterior columns + variable_name="distribution_name", + value_name="value", + ) + + # df_out = idata_wod_pols_df.unpivot( + # on=pl.col("*").exclude(["chain", "iteration", "draw"]), # Unpivot all columns except chain, iteration, and draw + # variable_name="observation", # New column for observation names (e.g., obs1, obs2) + # value_name="value" # New column for observation values + # ) + + return idata_wod_pols_df + -# %% TRANSFORMATION PRIOR TO CSV CONVERSION +print(convert_idata_forecast_to_tidy(idata_wo_dates)) # %% CONVERSION OF DATAFRAME TO CSV @@ -82,43 +242,6 @@ idata_wod_pols_df.write_csv(out_file) -# %% FUNCTION FOR RUNNING R CODE VIA TEMPORARY FILES - - -def light_r_runner(r_code: str) -> None: - """ - Run R code from Python as a temp file. - """ - with tempfile.NamedTemporaryFile(suffix=".R", delete=False) as temp_r_file: - temp_r_file.write(r_code.encode("utf-8")) - temp_r_file_path = temp_r_file.name - try: - subprocess.run(["Rscript", temp_r_file_path], check=True) - except subprocess.CalledProcessError as e: - print(f"R script failed with error: {e}") - finally: - os.remove(temp_r_file_path) - - -# %% EXAMPLE TIDY_DRAWS (1) - - -# see: https://www.rdocumentation.org/packages/tidybayes/versions/3.0.7/topics/tidy_draws -r_code_example_from_docs = """ -library(magrittr) - -# load example dataset called line -data(line, package = "coda") -print(line) - -# use tidy_draws() on line -tidy_data <- line %>% - tidybayes::tidy_draws() -print(tidy_data) -""" - -light_r_runner(r_code_example_from_docs) - # %% EXAMPLE TIDY_DRAWS (2) @@ -277,7 +400,8 @@ def option_2_convert_idata_to_tidy_draws( # create .draw column df = df.with_columns((df[".chain"] * 1000 + df[".iteration"]).alias(".draw")) -# pivot longer +# pivot longer, TODO: use unpivot again, get +# out of melt mentality df = df.melt( id_vars=[".chain", ".iteration", ".draw"], variable_name="name", @@ -305,3 +429,8 @@ def option_2_convert_idata_to_tidy_draws( # https://python.arviz.org/en/v0.11.4/api/generated/arviz.InferenceData.from_netcdf.html # https://docs.pola.rs/api/python/stable/reference/api/polars.from_pandas.html # https://docs.pola.rs/api/python/stable/reference/dataframe/api/polars.DataFrame.unpivot.html#polars.DataFrame.unpivot + +# Reminders +# Chain: one MCMC run used to sample from posterior distribution. +# Draw: single parameter sample from posterior distribution at a specific iteration of the MCMC process. +# Iteration: single step in MCMC run; each iter corresponds to single draw from the chain at that step. From 0dd9616fb18a8a3718ff9789089a18e122bc0f07 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:01:15 -0500 Subject: [PATCH 13/76] minor reconsideration of unpivot pathways --- notebooks/idata_to_tidy_draws.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index c094695..ac30404 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -221,9 +221,21 @@ def clean_column_names(cols): ) # df_out = idata_wod_pols_df.unpivot( - # on=pl.col("*").exclude(["chain", "iteration", "draw"]), # Unpivot all columns except chain, iteration, and draw - # variable_name="observation", # New column for observation names (e.g., obs1, obs2) - # value_name="value" # New column for observation values + # on=pl.col("*").exclude(["chain", "draw"]), + # variable_name="iteration", + # value_name="obs" + # ) + # df_out = df_out.with_columns( + # pl.col("iteration") + # .str.extract(r"obs(\d+)", 1) + # .cast(pl.Int64) + # .alias("iteration") + # ) + + # df_out = idata_wod_pols_df.unpivot( + # on=pl.col("*").exclude(["chain", "iteration", "draw"]), + # variable_name="observation", + # value_name="value" # ) return idata_wod_pols_df From 2a0f2b98cb5e04c4365abe84501894e2bb23a627 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 18 Dec 2024 10:14:14 -0500 Subject: [PATCH 14/76] minor update, tidydraws replicator --- notebooks/idata_to_tidy_draws.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index ac30404..34a9d2d 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -55,7 +55,7 @@ def light_r_runner(r_code: str) -> None: # use tidy_draws() on line tidy_data <- line %>% tidybayes::tidy_draws() -# print(tidy_data) +print(tidy_data) """ light_r_runner(r_code_example_from_docs) @@ -178,8 +178,8 @@ def convert_idata_forecast_to_tidy( idata_wod_pandas_df = idata_wo_dates.to_dataframe() idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) # extract and rename relevant columns ( - # i.e. those for chain, iteration, and - # posterior predictive without punctuation) + # i.e. those for chain, draw, and + # posterior predictive, without punctuation) acceptable_cols = ["chain", "draw", "iteration", "posterior_predictive"] relevant_cols = [ col From c746e3b15c2d7e901b6129d6e353ea4aa08a04ec Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 18 Dec 2024 14:28:39 -0500 Subject: [PATCH 15/76] minor cleaning of existing notebook code --- notebooks/idata_to_tidy_draws.py | 114 +++++++++++++++++-------------- 1 file changed, 61 insertions(+), 53 deletions(-) diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index 34a9d2d..ebf9c01 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -1,7 +1,8 @@ """ -Experiment file for testing group agnostic -conversion of Arviz InferenceData objects -(idata objects) to tidy_draws. +The following is an experimental file for +testing that forecasttools-py can be used to +convert an Arviz InferenceData object to a +tibble that has had tidy_draws() called on it. """ # %% LIBRARIES USED @@ -43,8 +44,6 @@ def light_r_runner(r_code: str) -> None: # %% EXAMPLE TIDY_DRAWS (1) - -# see: https://www.rdocumentation.org/packages/tidybayes/versions/3.0.7/topics/tidy_draws r_code_example_from_docs = """ library(magrittr) @@ -57,9 +56,11 @@ def light_r_runner(r_code: str) -> None: tidybayes::tidy_draws() print(tidy_data) """ +# see: https://www.rdocumentation.org/packages/tidybayes/versions/3.0.7/topics/tidy_draws -light_r_runner(r_code_example_from_docs) +# output saved below as a docstring +light_r_runner(r_code_example_from_docs) example_output_line = """ $line1 alpha beta sigma @@ -92,7 +93,6 @@ def light_r_runner(r_code: str) -> None: attr(,"class") [1] "mcmc.list" """ - example_out_tidy_data = """ # A tibble: 400 × 6 .chain .iteration .draw alpha beta sigma @@ -125,7 +125,6 @@ def light_r_runner(r_code: str) -> None: idata_wod_pandas_df = idata_wo_dates.to_dataframe() idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) print(idata_wod_pols_df) - example_output = """ shape: (1_000, 1_515) ┌───────┬──────┬─────────────┬─────────────┬───┬────────────┬────────────┬────────────┬────────────┐ @@ -159,19 +158,28 @@ def light_r_runner(r_code: str) -> None: # idata_pols_df = pl.from_pandas(idata_pandas_df) # print(idata_pols_df) -# %% TRANSFORMATION TO +# %% TRANSFORMATION TO TIDY DATA + +def save_tidydraws_polars_forecast_df(tidydraws_like_df: pl.DataFrame): + # adds dots to the column name + # save the file as a csv in the specified + # location + pass -def convert_idata_forecast_to_tidy( + +def convert_idata_forecast_to_tidydraws( idata_wo_dates: az.InferenceData, ) -> pl.DataFrame: """ - Takes an Arviz InferenceData object and - converts it to a polars dataframe that - resemble MCMC data once + Takes an Arviz InferenceData object + containing a forecast (i.e. has posterior + predictive column) and converts it to a + polars dataframe that resembles an MCMC + data object in R once `tidybayes::tidy_draws()` has been called - on it, i.e. contains the posterior - predictive columns along with columns + on it, i.e. the object contains the posterior + predictive column along with the columns .chain .iteration .draw. """ # convert idata to pandas then polars df @@ -241,7 +249,7 @@ def clean_column_names(cols): return idata_wod_pols_df -print(convert_idata_forecast_to_tidy(idata_wo_dates)) +print(convert_idata_forecast_to_tidydraws(idata_wo_dates)) # %% CONVERSION OF DATAFRAME TO CSV @@ -394,43 +402,43 @@ def option_2_convert_idata_to_tidy_draws( # %% Another attempt -# load csv -inference_data_path = "idata.csv" -df = pl.read_csv(inference_data_path) - -# clean -df = df.rename({col: re.sub(r"[()'|, \d+]", "", col) for col in df.columns}) - -# rename and mutate cols -df = df.with_columns( - [ - pl.col("chain").alias(".chain").cast(pl.Int32), - pl.col("draw").alias(".iteration").cast(pl.Int32), - ] -) - -# create .draw column -df = df.with_columns((df[".chain"] * 1000 + df[".iteration"]).alias(".draw")) - -# pivot longer, TODO: use unpivot again, get -# out of melt mentality -df = df.melt( - id_vars=[".chain", ".iteration", ".draw"], - variable_name="name", - value_name="value", -) - -# extract cols -df = df.with_columns( - [ - pl.col("name") - .str.extract(r"([^,]+), ([^,]+)", 1) - .alias("distribution"), - pl.col("name").str.extract(r"([^,]+), ([^,]+)", 2).alias("name"), - ] -) - -df.write_csv("tidy_draws_ready.csv") +# # load csv +# inference_data_path = "idata.csv" +# df = pl.read_csv(inference_data_path) + +# # clean +# df = df.rename({col: re.sub(r"[()'|, \d+]", "", col) for col in df.columns}) + +# # rename and mutate cols +# df = df.with_columns( +# [ +# pl.col("chain").alias(".chain").cast(pl.Int32), +# pl.col("draw").alias(".iteration").cast(pl.Int32), +# ] +# ) + +# # create .draw column +# df = df.with_columns((df[".chain"] * 1000 + df[".iteration"]).alias(".draw")) + +# # pivot longer, TODO: use unpivot again, get +# # out of melt mentality +# df = df.melt( +# id_vars=[".chain", ".iteration", ".draw"], +# variable_name="name", +# value_name="value", +# ) + +# # extract cols +# df = df.with_columns( +# [ +# pl.col("name") +# .str.extract(r"([^,]+), ([^,]+)", 1) +# .alias("distribution"), +# pl.col("name").str.extract(r"([^,]+), ([^,]+)", 2).alias("name"), +# ] +# ) + +# df.write_csv("tidy_draws_ready.csv") # %% NOTES From e4e8e0fa8a0d03833745d1ccbb1fe1f732418b8c Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 16 Jan 2025 16:53:28 -0500 Subject: [PATCH 16/76] some of the reimplementation attempt --- notebooks/idata_to_tidy_draws.py | 68 +++++++++++ notebooks/idata_to_tidy_v2.py | 175 +++++++++++++++++++++++++++++ notebooks/mvp_remark_tidy_draws.md | 0 pyproject.toml | 1 + 4 files changed, 244 insertions(+) create mode 100644 notebooks/idata_to_tidy_v2.py create mode 100644 notebooks/mvp_remark_tidy_draws.md diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index ebf9c01..21d45c3 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -288,6 +288,74 @@ def clean_column_names(cols): dplyr::glimpse(spread_vars) """ +# %% OPTION # FOR IDATA TO TIDY DRAWS + + +def format_split_text(x, concat_char="|"): + group = x[0] + non_group = x[1:] + if "[" in non_group[0]: + pre_bracket = non_group[0].split("[")[0] + bracket_contents = [elem.replace(" ", "_") for elem in non_group[1:]] + formatted_text = ( + f"{group}{concat_char}{pre_bracket}[{','.join(bracket_contents)}]" + ) + else: + formatted_text = f"{group}{concat_char}{''.join(non_group)}" + return formatted_text + + +def idata_names_to_tidy_names(column_names): + tidy_names = [] + for col in column_names: + cleaned = col.strip("()").replace("'", "").replace('"', "") + parts = [part.strip() for part in cleaned.split(",")] + tidy_names.append(format_split_text(parts)) + return tidy_names + + +def inferencedata_to_tidy_draws(idata_df): + idata_df = idata_df.rename( + columns={"chain": ".chain", "draw": ".iteration"} + ) + idata_df[".chain"] = idata_df[".chain"].astype(int) + 1 + idata_df[".iteration"] = idata_df[".iteration"].astype(int) + 1 + + idata_df[".draw"] = (idata_df[".chain"] - 1) * idata_df[ + ".iteration" + ].max() + idata_df[".iteration"] + + tidy_column_names = idata_names_to_tidy_names(idata_df.columns) + idata_df.columns = tidy_column_names + + long_df = idata_df.melt( + id_vars=[".chain", ".iteration", ".draw"], + var_name="group|name", + value_name="value", + ) + long_df[["group", "name"]] = long_df["group|name"].str.split( + "|", expand=True + ) + long_df = long_df.drop(columns=["group|name"]) + + nested = ( + long_df.groupby("group") + .apply( + lambda g: g.pivot( + index=".draw", columns="name", values="value" + ).reset_index() + ) + .reset_index() + ) + return nested + + +print(idata_w_dates.posterior_predictive) +postp_tidy_df = inferencedata_to_tidy_draws( + idata_df=idata_wo_dates, idata_group_name="posterior_predictive" +) +print(postp_tidy_df) + # %% OPTION 1 FOR IDATA TO TIDY_DRAWS diff --git a/notebooks/idata_to_tidy_v2.py b/notebooks/idata_to_tidy_v2.py new file mode 100644 index 0000000..afcf3e4 --- /dev/null +++ b/notebooks/idata_to_tidy_v2.py @@ -0,0 +1,175 @@ +# %% LIBRARIES USED + + +import polars as pl +import xarray as xr + +import forecasttools + +xr.set_options( + display_expand_data=False, + display_expand_attrs=False, +) + + +# %% EXAMPLE IDATA W/ AND WO/ DATES + +idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates +idata_wo_dates = forecasttools.nhsn_flu_forecast_wo_dates +print(idata_wo_dates) + +# %% WHEN IDATA IS CONVERTED TO DF THEN CSV + +idata_wod_pandas_df = idata_wo_dates.to_dataframe() +idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) +print(idata_wod_pols_df) + + +# %% CONVERSION FUNCTIONS + + +def format_split_text(x, concat_char="|"): + group = x[0] + non_group = x[1:] + if "[" in non_group[0]: + pre_bracket = non_group[0].split("[")[0] + bracket_contents = [elem.replace(" ", "_") for elem in non_group[1:]] + formatted_text = ( + f"{group}{concat_char}{pre_bracket}[{','.join(bracket_contents)}]" + ) + else: + formatted_text = f"{group}{concat_char}{''.join(non_group)}" + return formatted_text + + +def idata_names_to_tidy_names(column_names): + tidy_names = [] + for col in column_names: + cleaned = col.strip("()").replace("'", "").replace('"', "") + parts = [part.strip() for part in cleaned.split(",")] + tidy_names.append(format_split_text(parts)) + return tidy_names + + +def inferencedata_to_tidy_draws(idata_df): + idata_df = idata_df.rename({"chain": ".chain", "draw": ".iteration"}) + idata_df = idata_df.with_columns( + [ + (pl.col(".chain") + 1).alias(".chain"), + (pl.col(".iteration") + 1).alias(".iteration"), + ] + ) + max_iteration = idata_df[".iteration"].max() + idata_df = idata_df.with_columns( + ((pl.col(".chain") - 1) * max_iteration + pl.col(".iteration")).alias( + ".draw" + ) + ) + tidy_column_names = idata_names_to_tidy_names(idata_df.columns) + idata_df.columns = tidy_column_names + long_df = idata_df.melt( + id_vars=[".chain", ".iteration", ".draw"], + variable_name="group|name", + value_name="value", + ) + long_df = long_df.with_columns( + long_df["group|name"].str.split_exact("|", 1).alias(["group", "name"]) + ).drop("group|name") + nested = long_df.groupby("group").agg( + pl.col([".draw", "name", "value"]).pivot( + index=".draw", columns="name", values="value" + ) + ) + return nested + + +postp_tidy_df = inferencedata_to_tidy_draws(idata_df=idata_wod_pols_df) +print(postp_tidy_df) +# %% + + +# format_split_text <- function(x, concat_char = "|") { +# group <- x[1] +# non_group <- x[-1] +# pre_bracket <- stringr::str_extract(non_group[1], "^.*(?=\\[)") +# if (is.na(pre_bracket)) { +# formatted_text <- glue::glue("{group}{concat_char}{non_group}") +# } else { +# bracket_contents <- non_group[-1] |> +# stringr::str_replace_all("\\s", "_") |> +# stringr::str_c(collapse = ",") +# formatted_text <- glue::glue( +# "{group}{concat_char}{pre_bracket}[{bracket_contents}]" +# ) +# } +# formatted_text +# } + +# #' Convert InferenceData column names to tidy column names +# #' +# #' InferenceData column names for scalar variables are of the form +# #' `"('group', 'var_name')"`, while column names for array variables are of the +# #' form `"('group', 'var_name[i,j]', 'i_name', 'j_name')"`. +# #' This function converts these column names to a format that is useful for +# #' creating tidy_draws data frames. +# #' `"('group', 'var_name')"` becomes `"group|var_name"` +# #' `"('group', 'var_name[i,j]', 'i_name', 'j_name')"` becomes +# #' `"group|var_name[i_name, j_name]"` +# #' +# #' @param column_names A character vector of InferenceData column names +# #' +# #' @return A character vector of tidy column names +# #' @examples +# #' forecasttools:::idata_names_to_tidy_names(c( +# #' "('group', 'var_name')", +# #' "group|var_name[i_name, j_name]" +# #' )) +# idata_names_to_tidy_names <- function(column_names) { +# column_names |> +# stringr::str_remove_all("^\\(|\\)$") |> +# # remove opening and closing parentheses +# stringr::str_split(", ") |> +# purrr::map(\(x) stringr::str_remove_all(x, "^\\'|\\'$")) |> +# # remove opening and closing quotes +# purrr::map(\(x) stringr::str_remove_all(x, '\\"')) |> # remove double quotes +# purrr::map_chr(format_split_text) # reformat groups and brackets +# } + +# #' Convert InferenceData DataFrame to nested tibble of tidy_draws +# #' +# #' @param idata InferenceData DataFrame (the result of calling +# #' arviz.InferenceData.to_dataframe in Python) +# #' +# #' @return A nested tibble, with columns group and data. Each element of data is +# #' a tidy_draws data frame +# #' @export + +# inferencedata_to_tidy_draws <- function(idata) { +# idata |> +# dplyr::rename( +# .chain = chain, +# .iteration = draw +# ) |> +# dplyr::rename_with(idata_names_to_tidy_names, +# .cols = -tidyselect::starts_with(".") +# ) |> +# dplyr::mutate(dplyr::across( +# c(.chain, .iteration), +# \(x) as.integer(x + 1) # convert to 1-indexed +# )) |> +# dplyr::mutate( +# .draw = tidybayes:::draw_from_chain_and_iteration_(.chain, .iteration), +# .after = .iteration +# ) |> +# tidyr::pivot_longer(-starts_with("."), +# names_sep = "\\|", +# names_to = c("group", "name") +# ) |> +# dplyr::group_by(group) |> +# tidyr::nest() |> +# dplyr::mutate(data = purrr::map(data, \(x) { +# tidyr::drop_na(x) |> +# tidyr::pivot_wider(names_from = name) |> +# tidybayes::tidy_draws() +# })) +# } diff --git a/notebooks/mvp_remark_tidy_draws.md b/notebooks/mvp_remark_tidy_draws.md new file mode 100644 index 0000000..e69de29 diff --git a/pyproject.toml b/pyproject.toml index 9fca911..7cbe94f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,6 +42,7 @@ patsy = "^0.5.6" nbformat = "^5.10.4" nbclient = "^0.10.0" jupyter = "^1.1.1" +pandas = "^2.2.3" [tool.poetry.group.test.dependencies] From c5ed8329a75ab60d57bf954f370012a23d58b33c Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Fri, 17 Jan 2025 10:53:13 -0500 Subject: [PATCH 17/76] testing of conversion between date intervals and dataframe --- notebooks/idata_to_tidy_draws.py | 2 +- notebooks/mvp_issue_tidy_draws.py | 121 ++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 notebooks/mvp_issue_tidy_draws.py diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index 21d45c3..4b6a80a 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -117,7 +117,7 @@ def light_r_runner(r_code: str) -> None: idata_wo_dates = forecasttools.nhsn_flu_forecast_wo_dates print(idata_w_dates) -print(idata_w_dates.observed_data) +print(idata_w_dates.observed_data.dims) # %% WHEN IDATA IS CONVERTED TO DF THEN CSV diff --git a/notebooks/mvp_issue_tidy_draws.py b/notebooks/mvp_issue_tidy_draws.py new file mode 100644 index 0000000..f391df3 --- /dev/null +++ b/notebooks/mvp_issue_tidy_draws.py @@ -0,0 +1,121 @@ +""" +Script demonstrating an issue with assigning +coordinates to an InferenceData object can +produce. +""" + +# %% LIBRARIES + +from datetime import date, datetime, timedelta + +import arviz as az +import numpy as np +import pandas as pd +import xarray as xr + +# %% DEMONSTRATION OF EXPECTED BEHAVIOR + +obs_data = np.random.normal(loc=0, scale=1, size=(1,)) +obs_dim_name = "obs_dim_0" +start_date = "2023-01-01" +interval_dates = pd.date_range(start=start_date, periods=1, freq="D") +obs_group = xr.Dataset( + {"obs": ([obs_dim_name], obs_data)}, coords={obs_dim_name: np.arange(1)} +) +idata = az.from_dict(observed_data={"obs": obs_group["obs"].values}) +idata.observed_data = idata.observed_data.assign_coords( + {obs_dim_name: interval_dates} +) +df = idata.observed_data.to_dataframe() +print(df) + +# %% FAILED EXAMPLE + + +def convert_date_or_datetime_to_np( + dt: datetime | date | np.datetime64, +) -> np.datetime64: + """Converts a Python date/datetime or numpy.datetime64 to numpy.datetime64.""" + if isinstance(dt, (datetime, date)): + return np.datetime64(dt) + elif isinstance(dt, np.datetime64): + return dt + else: + raise TypeError( + f"Input must be a date, datetime, or np.datetime64; got {type(dt)}" + ) + + +def is_timedelta_in_days_only(td: timedelta) -> bool: + """Checks if a timedelta is representable in days only.""" + return td.seconds == 0 and td.microseconds == 0 + + +def convert_timedelta_to_np(td: timedelta | np.timedelta64) -> np.timedelta64: + """ + Converts a Python timedelta to: + numpy.timedelta64[D] if it is + representable in days only. Otherwise, + convert to numpy.timedelta64[ns]. If + already np.timedelta64, return as is. + """ + if isinstance(td, np.timedelta64): + return td + elif isinstance(td, timedelta): + return ( + np.timedelta64(td.days, "D") + if is_timedelta_in_days_only(td) + else np.timedelta64(td).astype("timedelta64[ns]") + ) + else: + raise TypeError(f"Input must be a timedelta object; got {type(td)}") + + +def generate_time_range_for_dim( + start_time_as_dt: datetime | date | np.datetime64, + variable_data: xr.DataArray, + dimension: str, + time_step: timedelta | np.timedelta64, +) -> np.ndarray: + """ + Generates a range of times based on the + start date, time step, and variable's + dimension size. + """ + interval_size = variable_data.sizes[dimension] + start_time_as_np = convert_date_or_datetime_to_np(start_time_as_dt) + time_step_as_np = convert_timedelta_to_np(time_step) + end_step_as_np = start_time_as_np + interval_size * time_step_as_np + return np.arange( + start=start_time_as_np, + stop=end_step_as_np, + step=time_step_as_np, + ) + + +num_days = 11 +obs_data = np.random.normal(loc=0, scale=1, size=(num_days,)) +obs_dim_name = "obs_dim_0" + + +start_date = datetime(2023, 1, 1) +time_step = timedelta(days=2) +interval_dates = generate_time_range_for_dim( + start_time_as_dt=start_date, + variable_data=xr.DataArray(obs_data, dims=[obs_dim_name]), + dimension=obs_dim_name, + time_step=time_step, +) +obs_group = xr.Dataset( + {"obs": ([obs_dim_name], obs_data)}, + coords={obs_dim_name: np.arange(num_days)}, +) +idata = az.from_dict(observed_data={"obs": obs_group["obs"].values}) +print(idata["observed_data"]) +idata.observed_data = idata.observed_data.assign_coords( + {obs_dim_name: interval_dates} +) +df = idata.observed_data.to_dataframe() +print(df) + +# %% From e9e2aabc9c2450d54e102a218601d41954ef1c02 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Fri, 17 Jan 2025 11:00:52 -0500 Subject: [PATCH 18/76] small further edit --- notebooks/mvp_issue_tidy_draws.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/notebooks/mvp_issue_tidy_draws.py b/notebooks/mvp_issue_tidy_draws.py index f391df3..cd22406 100644 --- a/notebooks/mvp_issue_tidy_draws.py +++ b/notebooks/mvp_issue_tidy_draws.py @@ -13,23 +13,27 @@ import pandas as pd import xarray as xr +import forecasttools + # %% DEMONSTRATION OF EXPECTED BEHAVIOR -obs_data = np.random.normal(loc=0, scale=1, size=(1,)) +num_days = 1 +obs_data = np.random.normal(loc=0, scale=1, size=(num_days,)) obs_dim_name = "obs_dim_0" start_date = "2023-01-01" interval_dates = pd.date_range(start=start_date, periods=1, freq="D") obs_group = xr.Dataset( - {"obs": ([obs_dim_name], obs_data)}, coords={obs_dim_name: np.arange(1)} + {"obs": ([obs_dim_name], obs_data)}, + coords={obs_dim_name: np.arange(num_days)}, ) idata = az.from_dict(observed_data={"obs": obs_group["obs"].values}) idata.observed_data = idata.observed_data.assign_coords( {obs_dim_name: interval_dates} ) -df = idata.observed_data.to_dataframe() -print(df) +obs_df = idata.observed_data.to_dataframe() +print(obs_df) -# %% FAILED EXAMPLE +# %% FAILED? EXAMPLE def convert_date_or_datetime_to_np( @@ -115,7 +119,15 @@ def generate_time_range_for_dim( idata.observed_data = idata.observed_data.assign_coords( {obs_dim_name: interval_dates} ) -df = idata.observed_data.to_dataframe() -print(df) +obs_df = idata.observed_data.to_dataframe() +print(obs_df) + +# %% FINAL EXAMPLE + +idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates +obs_df = idata_w_dates.observed_data.to_dataframe() +print(obs_df) +idata_df = idata_w_dates.to_dataframe() +print(idata_df.columns) # %% From 9a27187d08ee7c567394857ecafb5581e9d1674c Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Fri, 17 Jan 2025 13:11:44 -0500 Subject: [PATCH 19/76] add pyrenew inference file; some code mods --- assets/external/inference_data 1.nc | Bin 0 -> 1179570 bytes assets/external/inference_data_tidy.R | 85 +++++++++++++++++++ notebooks/idata_to_tidy_v2.py | 112 ++++++-------------------- notebooks/mvp_issue_tidy_draws.py | 2 - 4 files changed, 110 insertions(+), 89 deletions(-) create mode 100644 assets/external/inference_data 1.nc create mode 100644 assets/external/inference_data_tidy.R diff --git a/assets/external/inference_data 1.nc b/assets/external/inference_data 1.nc new file mode 100644 index 0000000000000000000000000000000000000000..4ade4ca003a322d5e61ee5fa5df52231be6c8b0c GIT binary patch literal 1179570 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�r6m)j_)!2R}9kku%O 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ɡ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

i}OUr^p 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≈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

A_&4BNDuFM6hncsyji4Qb)$K$s}J3LQr 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%0DxKOx-78vF0N@0*!O-WNdB+U-ffT_ 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%0D@dPdge=cFF+m?35rij#}i!8du_icFD3UDcaq&| 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

}2Z_x6<7BJQebSXBOg9E;(Jhng=+xzV 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Ι~$L}$YxB!R@)NK&_L3XRX}*_d&F>| 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

q5FQ7yceZziK|$&D<;<0nI!g{ce z)XhMc_l>bE3qy;RV`R&(vi@BJ_;a*Z=aW^*?iwq# ze%~nitLGOh3U%1&?|`*QD`P)U4tUwSrc)2k_uonQrUl5;fx9hL$vtbv_JqRphYS@z zuWL@ znVF4PK6qq9$J*cP#Qom32G;BjXoh!UZxUT9a4~>O@osPf=xZ(L8V8ji#OeN0JRB>E z@_FB>TbtKOWp7?(OU^n=kWPtPJa6gQz53tF{-aE3sF1jQGLIX(rP$&A*k~P+Z9(3E z&$~!2B&!8Y%aJe@v3knc?#g*0{Ua46A+Fun4#9&yju-&yvfdGJe|GQRU2*1xa|NAr zkb`6bSs#y3AQW}8=>O8<43=GnbO)t~-@pY!mAWR@E)H)aem@$WY>1Zh|jc04!<*0W?3}t z_ba|~St{v8z-49nLE;VyAI>*jPTM71Mj+t|qOw1LMSFJY?|83EA{Z{e2myDjI+r>DQBlwBf9N3!11DF6+nesUj9Elv zBIOAEco|CJ=4jL6XL$H4g*~C3*Gx|O(=OkCp+ng{;S{|le*(i=Dtrnz^2+~Bi+t{mGpWy#WV?~3C$CEoG(*zoFki?Rz0bOCTh zAixC+OH%ejB_~|NTaR+B^XX5i`zyCEU8PU<{|eKDUhXajbep5%EhDgB&e`SI+;a?$ z4V}2jH+cf(&2`bQwtR&=4|k-q@*khSJUcmte3Qe2=7SH!G0x*r-6s zh8|!1NpbnJ_N3T&Ei5kl{$G32aeZBb6_@EyIigPuRS+T=S-@U+wSIv3AIC!zI(bD{ zX~4h)o#3Ul)y7tawmj{kOL<+%nCn6$w>SGdu9Ge{0#DhS^k1(LorV0YlioYrkg%h~ zR$OvW&ZEcBg_7p(&t?m;zP)dH8H@qf!~M?&A0*#eXv&c76nt-IQ#Z`7J61Flt%=`a zT$LwF*78pg`?eJ9jp6El&WabScL==TzmmzvaXksXi2UV^S7D~5)ANz42&v`x4M@N) zL3OwEEH(~zQsrj{b4YNxC7xe)*R%#i2zZ-4Z7XB{tKy@az~DGExHHi0qa=aX z9`V9Z>zIIjWVLlCh|zL_+$IwwkbF{|9N7${*|Ka#N8KG&`Nr2$9WI0ZyS_{Ib0};y z7w0WsC9F9ta4U<;WXW3NgCaM|91;YhC%y`dC|_*Xe`W>2BuP@|C6im}*L|S`e7FXd zy39L(DnI1FmFy0G+61WuGyq1FYcln^N!NU))Vfz3WDh?c&w1F4iyKyzf}hs z=a?@k4YwhPzqCYIMrK zg`|Wxgp*hu&cw{K4Qkt)HkW9`Ak@(cC(=&?vg893~(y0aP)SId>kIrk;=Dz-QycT>#I?cUhPXtSMAY;LfvBy3M8 zN9Kx{);Bz*#J4S~0!R|*Yn-f^mT1TuoZSoeBTyw4yxD$tuJPHSwSM}iv_0(2Wo>7& zJo-E*X$H`Sdtr2Yzgtl6ub|6Jh!&>#m+M%F`-3UozmUvS{+|wBbb~NRbnkkpC2=wM z+9CVydtBQX$p00vWI$hu3ktjj%xiTbW6~r-!D&#|Mrt%l*RBK4(>k!fzRo_rC803Kx6& z+p#Z;x@WKH0_849mC4Y0WOr{AKGV4_w&%6cSRePZkY^NGP7C#KrDh%5nk}bk886GB zj>6r?X;TWjQTC#=vI!u4W};P(ZTd$ydD?tNYX@erq0yFd*j#2eU;{ZJJ8hZ2kgw>_ zx3uX<6kUvxy*>>~e`Ej@25LKvorRX_h#RO98$6b;tt@8tUX8RN_8BRT-W%RKh?$F8 zjZ6v_zrJ=+TuBseX+&Nhu@Kp6@;%&tm^fweL5%1{*IF8PN?8v7)v-6z@WwJ)VEdhS zEvAWH8VCn!y7q2lX8qUK>G7&fw!yXu>!t{edxh~N@tvvkk<8|REh4XplH*vRyJ|X9 z4!O4Z8aEeZd|fdUw5kCw)*UdfK&H&F!L{`(7J&Up0Yv^js3(>}Oxvqg1YPF+mP><8 zAVTVKwz4g#)4QNA&sQQmZ>nHZT`GPj_8;NneR?9h;LQIvT-tDciVIUI+Jh@u4}h{x z{~2I}WQz13O#Y$=%xC?1M0 zb~&VFImE!t4=9yBduLBKkQwL+8o4{&>9H+cCbji^>Ec-hzHY`h$kcv#O7D|cZP5Be z@6i&mKP`GbCpW?^mg#2md;1d9B0M8od16n_Hyy`7dtVUA3xAqv`ZZ&>TCqkcdRTWf z!NPeOUPBh&07PJ;j73U3p0??=^R;;2Lw)F0u$hQsz$4>6HVDlnazqT^nj79#YM0-V z95g-Ql;H7oi17CpgZBn$yFfXZgrocXperS%jd<5`-T&TEoT4=%{yF>I%gE|%=-d|W_E zIZ@`eaz)MU58^u4HSpeCk;rWWRmjm5JT96IR9soqw7`fUZ2Bt%Nm<^n{sU~w#<}a< zgLwjq;yABgp$4+2QQEh$8u%r?T?_C~Q=nkIP7FC zK+w0-2H@N=OfxT(jr(BSg^iwg-K}M7mhdkw?lU2LeaJL%S7^kd!h1<*lnxvL60f0I zvWtAiNgvohcvG!!)*EO#WP-%Ro-S*s#tEyKzVF_-8ka5 z_I%yIVqvI5`G=+jcsImg*9Y?tPVO$E1Y@e+q|Wik?XovcT=x=0mwa3Mg%oWeX?O5|adR!0*G7Ar3Uf?JAKiOYRsxHSh<_n$f?KgHY4F#nahEVq<8;THX`5(ohOhj>}< zbDuuXiirOiE&e#mXL5IRw%FgRc)+#(7+_Y-sve%8Qi5A5H1MwYJrU;EeO;r}#M62SK~m%{({GS9r2xIPc+9}$;m+d*^289BwBJ%@qzz`>n|Sb=ix&3#C$5!E?7k3U4~J zDQI!G@Eu8Vzt+6{YE|}LEdRtI#B%7ingDSQ*Op6%4+YvE*94dww z2L@b5vKhM+>vF}>faz%jU0wQ%Z{nO}(y-hA#BS5OqW9gte&D*pwg}o~-4*QMnVeA? zN<490nK4Qzm06A$m7I$>1`y}t%?cOJW~KbBc(P&~D7>OgujwYa{4K6ft?7MdA1Sig z%6tLWLf@K1V9f@fikH@}`vdkzNg4xAAS7@6j z_B?oc*GKK`umJD{I$R zt-Kud!pT1WcDh)hU5H=#6&|X-npM5}Q`jl&7WE3`s(EkoXEoa#AD>%2zaa%zdy_xp zX~2#FR4}-IdSidL6yC(#uX*|3rz0ZO9fgaobuS5M=S0Ihg($`Eb_tq1CSI0V5JnIf>R2=F$lvRR>U0Hp@ zEPkr&)f9&M+|X7B-wb=QO1>wka`>gBML+Lz{B1&-k!e~G8PK?r&>#V?NIKTDHISmZ z?)0WXwI5rXeYeWY#(}aH#daxsa~08p-2v~1>iwYK{FFmqnCDYgoYbIp;PQ=7{}bmB zR?tf9){_bi@WS22^e$;vb(lt;!mM5=B2WYATnL}Zj%&Ex>;W!8TYU!Hh1OllrkG|H z4SsWE4;@BV%;u(qA0+K}oprb<(5?4cGLi^B)QB;&_F!35MqO~MvAGYvWS_M1N?-MB z;a2U|)#eHfldxaaPX1$s3gpy1w0F7&=%bHT-RI&zk!-{*$XIjkme)FH*tC}v;9s_( zZ)0YaP$Ey$lzq(>MkiIlZ48)kz6|$XCE+T17+QTOIHnF%{jFKar})KcrDOB)Y^XZM zY0sexchlVXmt2{RMV+8#>okg07`Z-Pl*bznwpRPp^`@mZ~!RA#H&LoFWHE7QhpGud{3^*y+Dw#^qN!nc(Tr0o7`=kuyl{{ zD$B;B(d+>a;Z^ac&WUSi3(KF@9c2lj++K&viWTAKb2Xr2ET4dqtg}pd?OmlkMG#~g zBfWU{&k?AXuw9`#!|c}Cppzj2DAx_9B8vFCJvl3${#MI1Wik2^WA~+$xyu*XO^?&& zGE^jV=6Xcm=aP#6Yl86`cL5*;Sq;Od(-Jp#X}r$1zetYtg_ULbWdYmc*4!0XH_fJ-3l zB8jc!#g}*Q{PE6c+D?l!RtrBZ!1Oc6`fK#>eL0plfB~npf>oz2Km)p~lLzTRVDau| zWYLr9k9h`rCTZqZ44#QBGqoI5WJ)Ik8>EoRg44}1?3At2l5NIf zttADQb{fGh^O5g8EY;_<>=%(M0ha|YC~GU^_iS8<&VIqJk2QyJ2tCON=rYb(Z-*S9 zyFk6_n-O;1Hkq$t;*Rb!173b!#%B&zhMH`2yb#fSu%+VKR}H_td7K<$z127w7S4#1N~Gbt zR@bA!3n|unrAdVG097xJ0Lj`7OM;k)BE86= z++nA^2ySWu?@)x;)*>^#irjQ?u_@$K*T3A4)(hgm<&d)M=f_DI8_9L<_bQ}#x#G27 z@=0B*;gWqmNa6@TU%$&K0qa)*YFEpvt10sWj=eZ3mqdSI6Wmx={mGYoiZJH!=T=X$ zU6HpzFy-5Vm``aqB?YAf0=R}{>ZR*b%DSGR*EEFQs>rw3GOL!#DPf ze5&H0?rsJp!5Y~H8u5BRas%Hp#-baJQon4;&DZ$blx3HgBgS5{S+xfF&7%o^U?iob zdj{Rk?;E!Jj>36iO0F%;G)?qt!!5EqN$1yE(!F3qb#{jK@3cM=b5Usxldy&&-|Nr{ zbk?=I3UO(%$4>Rg&7 z5Sd*WTxJY^Vfv7>CgvPn)v#s2W>}HV3NauFN@anY*~2pQi@WEgnBcv@a{`S{UByLf z3Q<~A8y-(N$I#DP(@DG~9p>F~&mBaW=xL%|;Tv|t93FZ*7p!)*Z=@j$c`M%R*)gT? zzuhXIJ!lio=(Sf*%E2*a1$lN);J@0M-Y8OWBBr3TB`0|SKjdibrYusjfd>ZAX;K=j zpKZ{l?<_}qiySyf%oZhIPO76FHhZNl29jj10yjlfb+>(+_UvSll2sLO)oB&bPoT|U zcZqb@tE?M7hQ5O_FIzsFPrYY5qUFZIj!$Z~azWdGzgHJ(YPFimF0X#rzOc4oP+Z?g z{{X-LrI%rL$vusq{9yf}^9^S2EG(djM?M9&$S_D)q~G(dvO%ZAl}_zxy1ovVAek8w z`s3LN-c|6Mx*P5>4JSuaes=Edm;Y>EL-u)65!G~Ztw7ftE;h-oy~%}eB_~52Q4)yq z%cCnUfygLcMDxQ*sXOKgrJ}igzBERkPc5dVp7TIwa*8BABzcmlFd=r5)WqX(6^ z)MiH&mc;gT28|ct(BRd6+ofX>^Qzw(Ut4d}4AEiett)%=(ZnAWIu^h3a%Z%8lS-dt% z^6G+!u6+_zG3Z*RnTopXyPUds>_GrEj%pL-O!zxspT59CNz`4Rn*C$bf-S)w2_L=;2ZKT`vVv`L%4A zC3w`ilCFuCNSeLkeSt@MyI4>?#@zB{dUJZeafjT-2e|A<6I4-T7{XWfBKDRcI^c7; zyGj4Cyi=%C@PEpjRn~Df=y$nc)#J)~PXN}7zVYFqh2~SYGAMoc7J1s)p7|=!Hwf=1 z^%{*K)kyNe0Up1r`OLrcB<~98f9OIE;9^i$Rs5^5V$_z`tV;EA?yAfAoImv@&yzQm zuEq1a4Ck?$DWT=LK&9sT0e)XrCtN2tE##Z;t6B7%x9mH%!Ou7B%V;C8$h*lL$+MysDtEMem<=rN{{mLyijNk{dz{<);2x`=ykc-w*cm2Wtccz9lif#aV!xBSlrXv5x)i9~l{fg-rBL_UCE+@U7gs zKN!xaVXdGY6>hUg)>ivIX3+lw^ihB|9 zk)zLjKWD%xnD*cNPfjoxD}MnL~G-k zoX`zP>4G9(PyrY?k2+)asZ)la;HXrLufkfHRBd~c5mbKT?HrrYC*pgaVF zknC=upWo3o0ENTsFqswf{5yFg$Z3S7b9kbyKUb>UJI*#nfRdn7>}tbJS%tB+C-FST zQHLbmExLMy4Iw^!r?*l+&Aj17S*OL6u50euVFw!*v8(b9=A-Xbs^A@xB2{bgnZ(L9 zi7tPqh*i;)t8fGhEtSBY7ypztiJJPAnps0AeslbZo7}fNrH+Q9mMTbzg=6e${Bg#e zmFWw6->ozPw~KeK9iWGCrAVL>U6L&ea+c%|PM~!$O=alE>sPJH2hp#+oFl{DQ_-vJ z)G;BqHxY&lC4I9pIc?^7RJjq(f8vxAdsjQmUTRK77*$cY@s~dUNeh z(U|J9-k(c;rPTC*=3w@xc#AFtz$Uu%em<81#0^AjvT5Cv&AbkXRF{Ggqs+fhy%Kwq z$yhH@TufayUGYSVL?jn^niaywsA4%lQM|Rs{%503PeOT(RW4rg$ZP%74n(255Ni^> z;im;3PC?51o|JouHSJ<*U^bpFD{F6i;no+P?N#N$ACmtE4}Ml`nDQd^?4k*1v4gj8 zw^?x?97tt^m7XTNvO?EXCAUueV?aVEdS*O9S5PrIIQSnkww&PitWxCdXUA|VO#&_)D7IkJ!9@Y;vw^hwBko|INWq<$lE(vew`( z&!DW1gZI5QO`?nn2kljkU5S6 zMGh|Qma&Puwpe4~kGAv%2ru5$Z?Q3~y?~X=`%P;m{nd(V11XuT!&SXEX?=8m(OM~(sWTUkrsTAWHSEa zFi4km#b2JcRWTO+Mc=)Pm#x29iB%UwrH=K|)sC9m@Upr#yP8K+6!)PsZ&h=*2dI9E z_tlfaKWTSrD-~gjm`F&Cr#0|ZpIXpfpg~`Eh&T|q{srZLZzZ%O*T1)E; zGOK=Vc1mDmj%~|XnP}lMJt)(gd20JCN{zKUG$Vx{3J}uqP`>53*gC{{oLOmeH_YF^ ze{>O_ND$+0eKo%Qxf{+m$a)K4&as}w#mFnY~Ka8OS?b=Tdz5Z`mo`8gtB@$%AhRyh3*$yTmPJ1dbT)p3G z!XuyLw>*8%WxA?}8O!hM6EobL%N_YMHT^Gkpy8AI75K>_tp98a!?t|3W%D_aUH6`e zG%xoD{DGJ(r6e=pu9;`|X;`qOH#r=|zXw1f=)M;n22sdAzEsAj&t$+t+_Y*3!~lj@ zq>TlbEWkMq^PS=SwTSrfr$J-V;o}qn{=IzrG)+09+zw>3lbt#CQQ8p8&%0GA%n#W&i3lo~)@NzGg*>c#den-#ySS^b z8l=ZaTP*&iSN|y+aB!v8x%w0|xx6O|>*oO=?6|y#z!Oxwd?J z2X>mK)(A@o4l2Z(*KUNigf5X3m>Qk)?gghY54$PDG|3u+O-e%q2(*57m`xAI6=qQ` zpoZ$ygpLoLl)$%ENQiUuArT--j5pg#yGX-IUk~@&J9WLAO zcMK)iNn-~rL1{M{ursua``>##Ns8*vk%DgYZG#cwt@!h+MXIz=&&lTzBc?f)_xT4F zvrY@K4N8mX(|Y1`*3(-pnD>*vca{Z~k^U8DZBA~)HH2p`Di>~JfPnVk;n&g3b=CU1uIu6XI5`Ml+{TQ79K*(_x2H59J=XC%$c-x=}_{ zwnHuo=-DzZLdrG)=A={37?gnTK=WLl&3q9bB!>NTI{3QPO){m@oBgZ_V|K0=xTFeJkkS@Fi;?$V7bhR1RHr_hsyh z8Tb=W6;--C>m|vuQC?%V;XYrx;anO-ZbfiTpy#HzX0Fv`Ax^s_4ACY6xm{{I)d@`~ z^T@4vC)Q{9;){!!)V7W@s?MjVsn5`@<%U9@W$oUstpOATQ6|JHqCSPYX75C5P$vGv zO+MFmZ3m}D1)mXpl{r-Uk6WqA2@(9vXQiJ|&_)5Z(#z#^PhLBlNV2=UL$td)@}@Se zHmIas`@Q>*6Na*eT05!N?iwEXJO18D8T66Ag*Kb2v9g;*Gtm$t@{fthC0u({a(_(F zxGweX=X|W}Mk46>m}k>^0xvjrLi2~8RGawD%KWR2%L&{B=lx9wUL3Pjf!fRt(U{Sj zgjQFv7xBlfe?&+vA?+XK5sl)0sU+OkPf5s$b(e+e)1x012dH=>m6seka)UUb?cR@4 zI(8Cf#dul`R+sekLY(G4b*Lw-?TDjq-F|7mPENRpYTz3TxEN|&PRS`M*acZ4Pw>`%*8sF6Z`oiBS?%@zp7c@vgH zvU(j+G!^>3xU73Glh;~$<6;fy-veaF5sS;<|ACe~Spi9HK?hozJRgZViaP#HVD5L@ z34zaS73V&d?vBBju$C1=165E9Uy3bM?XD#y+cJMe}VwbK(91?~~9gbkLlR zz1}K#7qv*CDLDv_$89L=^NMANvG!#mo-NGWw-tfDZ*P9@$SW|PqKys#f@p`CRVuY| zzi;rb3L-LIt+_vnoa^s!>7Baj7;jF0`$f*XXiC3k6~ZK0`Z* zCey3JuDU`J4vk(ugjHY(SPD3Lz3QM+3H=~+e+FYew^1$R(-kUCim$-AU%1rLRXUah zfo;OODvfp;A{tctl}pC+WncsH#rbDtHJKZf4vXHWW)1921o|VXfwtjG@QQ8OF|YRr zC_0am9`^2DMcwavac?&&*En;B8Mqx=9r)~60GG^7O~kmb)@Kj)|wdW zdFWigBKLUgxli%&a(N25&b%s6Ay8?pfm;^L(kr>@R?42AJ=ojMkhVqmJZoOY)&Rto zRth|W^jkgr`2QP>d_Rn?qF&@}owuqQTmF=$cYm#*fpuw}n;v}%MX~kikb%i*!LI7~ z1&AEFtj8vXR$pYsZ??Yr5|XTq|FFj(Y4N?=ViFL4)iVa;o#1A;%l+l6>K-<}nlYu< z{Kb)joI>W0>A7y2F!sj*oketT19B?1)1#m)x&c3UD%hLQe1Y@|k6*e7ezeON>IEUM zPimtGn0Yu_yS0QJ8}Q;dvwFt64_X@ZgG!3F>d2433oir5RS(@>qy-T`_oxzcb*EN! zEnzCRX8q$$?aT`84-oH(n00@`Uz9B_^WN7)|1_r!$_3A+iRA2-r@F26%U!O{a19NvCB$}j>J5?qJF znUpeXvmwiAsf|JWNi!)#Ov}P6o|Va6ZV!AQ!M_!%%L%1uskPg#f>B1a1Q039aW2%*!XGibi;!CraS$OL!lFG~P!x1hEw+v0A-~%C*QFIUqD#9#>R#A>Mf|w@e)yai zO>Ztu;{z;TopCwNOwSi+n8SRqU&V!ByuL5CY}}iwSTiy`NIoEZ7qt89~3S`^gv`mk>ruvNYR1m0B34S{@?G-h@>UEw* zKcFxzy&xZ#AN^j7nZZQK8MQ7CD{rhH3~NxG(P&PoY1tpXc=VW*526Ua2j|<{c|Ea6 zbGe7@QFWMp^92PfG0~M$9arJ_PbV{A)!5TdW8*V{fT^bc#SapIf7O$gwxo?8d@rGL+_ENL1V@PcRylI<*!s@B zGs_eg?dYP)X26d37R~qL%y6Ooua93*lgZUIwAq85B)oLFICjg>OY`&atJCtS*Wcbg zdH^%Wge>pTI}R{x{+y%I6m%g!T? z8I``l%fuJCzLE1+{}TmWd#rTR?%7}C5>Jm3F;K-v)zzd8y0BYLW<}Pc5&_gNP5gM( z>f0H|0EoX-pn)>YHQq;k!-EoSGWJi?Z4bBBY14|q1Ag>+s8n>_gs<=MJJUBP3#EG1 z_c+-KXBGu-noi>swvRSoVh)Z|pUD&5=q1+^>F=qew-~04u=-7e?vgD(Oam3M>*EG< zo8x;4+>T^*wTgi?8A(g)XYclGp{w7k^(_wkD@>?YA=|w+nJ;u~(02&;j)?GjOeCI< z6XPAy`4xKv$9$$FxR&qkcFzP^{Ns389COvIzm2=|gBN^(7;3nmb{2p#G{8-I&3~L2 z>EX#!g3=dlwf2ha^q`UTgy#flJL+)k6^m<=F54&J=^vkU9($I`_v~&uqWW@H59(<5 zmOW+LnhMVv2~@~nqn99lOkXXcrBE=!AHcRLQp*sIlu`>0_#kh8xo>=0)^Qs}djfMH zZPY79gDds3iRmu~=>PJ-pO_n801)0utHi`^Tg5yinFNBRmoV%5Vq|E5z$BLB_pG{C z5RLm$$f&tl9J&YUNG5&ZTgcJWB4%oEY4yO-3B-RRNusfo;q^jO#4qO@Z(EXYm0rAg zBlxxIU`34Yv79KEM^UggY4!t2f7v>T(Xmuv=j8p^reSLhch&#)SAj<)woedA^hj)5 z1{~O3aI3O^Rx|u)7^oSN5mwtO6&RErxmw5jTy7h?ADc9>YpZw;^p@uEa-h0Xro6oq zKG03-X8yDLqI@3)m9gtQF^s7z3juCKE>#pxJSg)2rWS1fc8wOIkj#c@bxys37cwF0 z1krLqc*Hh=z-=ZD5)-FDiM}W8^BVub2ez5qX83eEEcR_aw^(<6*PbC7Sy;4#-~rvj zrPhki;AP65^nKvt!Cu;lnos@T@@r88->cH=BnR%i#W(4ziVqqK+h4&=C<19V#a-`L z%weGAb79R=P3gDHR)wt%kDaGL+=WuS(GCWBPI)O@J$45uK6)g z{I7>uDm^NW_JD@MFD^`lw_XE+x*CVny(6-Qr2~oO4 zyuo=wcyRl7K?0|wVw&|)B6AbdqAHR)2{|u(&%w@voZ|Oz5qB*1+Oq-Ota7VZ6@N*> zXW~kz4xq{_7ABt-D@P1Z2Um2ne5F_z-brF6wBm8`E3P+^J-3m?z8h9~fYotD$xbK2 z8)pq(7R3uM+Bv`08+2_IbSQQL#Z~V&oMR@mn^Yaf#3Wu>w31YDMF0j6)D~=>--Pn` zy2eD5!ZUPj3+Q?E9rA9hY;I>uf_JF`f%Lpey0-CS*pEgdRiUA(&|0#eMC(+zubIi% zzh1~$@R&cZQQ|Fl4fbtw^m&1akU*{MHadVHNYS!efV;)Jd~D=M4LqqyiDL6~b(4FG zKaJuL`SiRYU9AKb?0bfZ9PL<~SC7}lg=r#mEf$27A6G<<4AczqJ#yO*jp*)p$ARbL zPcn~egb!xn4af#N$5z(LD;_;hiaMcOc90yli2t1yw!Jk6@Av!cPo7anIf2~fOX&f7 z;UO39I|R;@`p?Z?%ZCyuvv(t^!H~JVHn~&S$E23&lXm4rzX#KF#&5?)0ME_1TSSkZ z>B<=fJP4?VI?wlgy~nwIRLmDN$fRiwyFuSEjI6-F+$g`^sGs%BWT|yB6e5zBNmIQauVv+@ zYeYb=m1liU=&k-(%%8lo>$m=r1uB$g7lKo1nAl5i@#$y7i##4%rA$%0Q`okvDNQEC z4EJdUMABG{soVG@raqx85uj8iKD_Ia9v_^po#G7^z`S_w7W_oKi8rLr=q*vRX#)pP{tKSpI(FH^v8^xY!p50JJKme( zwbsb9#mc=7jezwh;8b|U<}Dj9c*=-ZU;-;l;Z2l2kp;DQ?EN_Sj6AV=24cq`Qlc46 zLQ-H=VyQ7Vlr&|qvpq6v$Sn6Zwu&*xKdbA1E){x3}d&hsYkwx z@%fCHGVM9@<)<|FS;T}GW#Cu-ExmizRcvQTq=|3wwcr6#)Kht)RDY6&7d*LDBMAJ? zjNTmS{4}xAAat}VvPe*hto%tP>U%c_Krzjm{u{)TC1z)C-v_oPt2VyNVuuA&n$xqA z>vVG0{8S?U0iLUJgjUWg-7#3v-{|ptaBfpmg1iy>az;d?ww^`>zh*xVe%~=vs!Dq) z<)&*$#8i5F3ydQx6iD%yI2G@w$N7W(GbiFlKZu5I#)kzhKa0EQHD}iL;~TZ`<#f5I zB8hs=qTdMX=_!%h<_X)23ghxLW)ql-tCW)0j=n@h({Y{A z4Xt@+XwgeoE7v)wd;75TB5Az%C7G@%we~BG+zI$_N*_Zdo8$$Ie_!%!Lx-X=Tb>pC zG;uql7x4~Ix~kCB$Y~v>H4_dljW*}SWya*D(n72?C23cX2Tj`;EAajvYi>hkOYJH4 zverwSw+F{)p|G7F+a<+#}Cuzi6k*d(%Xy!R!(fmhRnvwE)he zoKvi}in*ciaZPmu+Ipq#U2{p25mXfy8pk{7(oqnIYFZ?L_-zt?6neS?Dp% ztmqe~NSBA5$i%7(<0_+nab%b;0WY3ys(chZju&5J@lASR?DAbqW#vVKlB_tTrJxrx zlI;03aSSr=vJcMDE+g1A<7@v6M==^#H-ciyL<4 zx;i&JruDH&u|I2)qQ-3*AoqUMe?-DS)99R(N0&(t`QiF)l!6u#@Rr9asV~9Z$>5PP zp?aOXL&T$DAK_5cyw1xF%LtaM$T!&G)7yuPqmK{x%;YKKcNNZz)bbk%P@(ivBFBwP zO5#4Q%A&93#(^$DYLSxNwCpAf-@QPU-KD*d>%4P$KB-gkJC;>-0k`H%j)~M7m-}Wy zl!5lqH_#7WH60->kzw_ZEiG0{RS5OijIqk?GfM@ls0^nD?iF5IJ~+5>-Z>?YC8# zv^1!ramr>HpAL8ez%7v!>&O;h-7lFgMMr6}txCiHaa*2JUq?gP8VpO;<~u0JNqTK;w0A})$tVrg$vZlr zql*8lQ{_tT&oPtzBO6mIoxrjY%H$2V9m@^eFX6|RIt$>|nw>kmg7&({aqp?C>}SJM zwZ)TKAIy(59S&;bA6}0g79J0>iMRBr$u!7O0bW*Zz2}3ZGH7KVM*5RZ#H=)^1t+Sp%ykYs)T-QdImIIKugv zQ6I4F=HP|x$`3G2@$3d@i4^C#8sjM;HAyTJq$)610qt|Q>;bBM?lZ@G{*{rxEYYY$ z4#FJL+Ta&R<1K8P^)}^DC-INGAkjj{91t2*1SgSEF8K$C(Y1u#QrKkIPLRg5UeP6D z2TJGGBxTssqz?Np8?&N;`@CSE+w`ij=!4|Ovx~Vstx4}6!QQ~-7_@Szs0&-o;fNvq zv@u-63s#$oC08;@icP8^C0M@W|Mv`}u>XtQOWx3} zFft_!70ZYE2-S}LNhcY1n*2Sw4c)Q)pqtIMi$oI4UDDRBRm?QQ`@6?aQx!REa8F&j z0zwtvC=LH7CN1w!ga(6usp_OJJW_W2e7GiYAC!cNFL8NrG ze?pmzw%bjo8Bkist350$?ha(Ey@|6)8eSh+v(+JpF@k7@y|&?d*81N-OE~LJWkOm0=Ft=Xbg7aK6Nj(8hs=)(2GY)Mo zl|4)Z{Zcci`E+d1i#Xb$pgU1B8%#=6^*`)`f?`#)M3TYAHKVdDpuTu{5BM|&^0_Is zG+3zXKo(Y=x7rIT^9zhq0q5fg&)(J*5GE@hA36#lKY8PUnT zVJe15Za6xQ89hQ{xmWyn2KCI#AQ87X%^F11JolLjx=Pfhg=PQ!7~o!$knuR5pI``=Ix~6&*8B_jG&OZp+pJA# zMYkYE*Zx=G2T950%l%^XNGgf-!IJ@j#5q1?##RxA*NdRKpyzwGT!Ru`X+ZlP%bor0 z(;3o5nmIG{6`i?6ZtJang#Y~5pLQ?ueaJ~fOYbo^1ghSg%v_X z*KnRb6)O6Xy+fW|jb>Oa^;wc|ov{`~U#KHB(KfCwQMpK&fZM?^9$u2D&qoMEu36OM z_(0l~XD|nr*NIJfj@Ly5!EqQ_5zW^%8PwY)0#qdra#eS2g47vYU}<=)9D_**|| zc%067{5GPO6h1j&8 zm^P3yxzwqKEOnAEDz84K=bDOd4#BCG1dG`1cATr%W=vi~z+(+jq17DN%ch;Cr|gJD zTsGk9E+}5b-5|d5Vp_}Rc#t|R@)>NR#;fUSetQF@#lbYoJY~n3lWbWaTOc(+k56P> zTq>Lmih9jD%8U$~KMK&b&BCYBy)RZBT>F;5VM0Zt4pEl|8ZJ9FKiLaYoj%wFWxO4h z^Yy$i(-Olk?Us#x*1U5^Gz)7ig}1#0maEpSeBDLalbOvYGrkir`*)3FfdqBv{)}K?Od^b8IsJ758;A)@x*3-hnMpSPs~YhBLdNz(WDfmi zft$u=R#<=1-g~#9zqc(JJX3yZK8_CR0X%=;e;K!_8M<+dCOgjya95R`gGocqj^B3= z@`Y)BeTk%Y#`YS|-@*t!go-AMP;G&HlFf$^f=edvJ?{!-_o0E+Cc{J_MPl+HpM4{M zj~Tt9jdE^(v!~4oQ1H>&%;_@wCF{5I7FE+VeJaS=bkR<8&FSE2W^ zl-Zu%MR_h6q??^)L<@Pw-79g9Evb%@T>tAae1Pa~q$RwlGtu(pDz8kJ1XtR&Q7_FJMc3sL6I4Vs!oph$zuBmtG#vO zfw*55o;*2lwl9n6_*t+mU&;}xx|+^z$Yw;>rf%vez);ty#tP;14qXpLg^4fSVT z97fc9(7-T2zgJf&x=lmoRV zbGj8zLF|fhO)Wwr$eGhQ;AInujOr-v|iD?zX8&avDD4`WD3_}|4?)$El)1471197n@^QGLm}mxU;e!u(?mUV!+t)wWGkRwhV(ZTTci>F z_vN6C_P3JKKDK;Q27bcwONrl6QW<>A6>(Mc$taG|4I<~(t^Ii`r3NTzHVm~Rk5AZ# zSI-~#Vrl?(c(o?^7^FRztF3^(9BNDUdz*E0F(vj?R`=$o*x$AKKzG92UEwV^40J#0 z)$Z*~sN;k7R|aMqg>OqSn|=#bh)mW`GkciN$y_)?3}pHb)cKt%Ag}o>qXHUp-HJD% zUBpPlCuj`jYd7oB znMH}0`nw=immHDuv^89u%Ze`j$OIn+)+~TtY4o?#Z;_hRj;rIcwllp+jRo;nwx?CKYkVk9QYRvbJ7dkBVPt-|!uzC(a__~&G?zY~|u zBSCS(-{=}(bA&2oAE&IgU2KZ%y{r6E(QRC5H~u`M&V5$&Lb}+%jXPza55|i@!t`4b zRI+!I;VYB))bDalx5k?6d4Dtqu*J5uO^t;T?V@N<7;ydOe1 zvWVFG3Z=!(T7hsz-v??6gPC^=P8%he5h7Ti|LVB=P%xkrcuTA$j}_@a#&qM$Vs^Zf z6+HD8)?*SC{SYBzZ6QepX8Vih(^P+h^Q>25A>`@W==1`Im1;z1QQrr!KJdeN%ap60 zhF@^=5<6Jc^eHL9MJ?;9RACDYVGVE3YC~-qo4AwK;eXmUsq9;e;vBMsA)tt3*YCG* z_3psQVo$XB4$*x6L-blv97DV%L6{zqqURn~Wwgc62zXS(z4zb}dCV^^3u%s45j-57 zWCd(=NIp%2FWOa4sJdjWX#7FDsiBHEZdIxRrrgR(yIX_$=otSh{(o+!J3=|BF6sYh zJ#XU%rVQl?uUnu#^fjOqIzwjSToq^@z^=PE#K)OcLM>Ht`ZaI^T9&a_WDY31i~^f)@FX3lE$ zxo)C~AJ3p!CEX)xUGKN_sM+{5tX4qNc^NX}w-D4JZQt@qJN}3D4Nv}6hcZ$E^W#^8 zM_ckdd(Lib$Imm|?K5U(RGDQL!Me(uhGeT*eOpjnW>5!2T-n_}vv^*>HT(zF9cq^ACRT196{JnCo?i z8$Mg|LP7j<6tE;!vzlk{djvd!rQh`YpPS`%QOIAb?6X^9V5em}+SQu6OgQ0KbYF0w z%8Ni9M`mHH zy-2VaaQWr=FH7d&pq}QPL75+${ZgZ*dpuGs_2!}x-fm*Vv1gRsvRtz45k*r#A*8D0 zEG2>lcK4J>;x83cFw#Y(vnR?o;GZ5Z=o7OpqjXh2O0}x?|C;H_spUP6JG!mswKDSO z7u`x}Y|T=34f}g&d1}W@FvS$}TVe#`pY2#wnbr58s|?~HA0<$l-+^m9$~Ri5)`D@* zQ02@akvEmGzb0RCJ;6O_JG-h~aK9y;nJuM(Nc%1qg$YmhO1GyT=IrM(LCgbx(a63r zD$D~aUjjPvX6W3ntS_iO0N$Ny_1b)gW=AW~_6p<3A-ulHgfxJucT;2T!rIJNp9`dF z3(u6^LIfUKc>3ao+siXURBp@GRozAxkVTbJ%bAdGn7TYtmy+vVf_oE(+prF7j# zgRM@q9X6tQDX)2N4nR7DggWJMMHQl4&t%bUD->Y0sWXMVlCdd;fhK6jVL{n5uc8?H zS^Hs=ke89S_5RQb;aM8ka}Y!-&faQqoHlf(q=eTwCa{cS9H2^pZ!Q|FDuOMln!FcN zRJPvx_(UxS>5NN3n< zk?3NK4QH6=q-P3m)+_NySK1SawOb&}psh;>qK{?#k>TVuMEZ_$yMh@aLDwg`f!rSFuZC)VcPI@~mMks}F--bKUlM%Kpubg$%Px);)v@j@2?nMoDG+` zlI;2M>*s6oz3)zFJ-Fyye)zDw!o{xKaEk5Fql<5oNwI?Wz!HK28&t}wYS{U)1IkhR zllx8WPr1a(YQ5Uz&AbYYKf~v2wmgQ^T0XjGhwnw^tl3?#DZ66x^YioU^u9aUEoL?^ zJzcZk;T*ChU*;@Ok!tyWK~m_Owl-I;BXfTG4r}L9sTzM$hBe9|&N~Gm7O?X`Z_^(y zvz5LVsM#l#DVLrH)x>0b-8MLq^Lc-JR?~i5-*V_`vXSJPrnw?*9}+k(I7Dl7viT{! zR=0hCm^sC7xSnl@_@I^+!v8vu7Ggh?qWx~;G%g49{gUFy#;ODUZua>tmGXuyTG(CH z2=+JLH)fo!ASWaV8U3yt_aXv(kyIvCu3yp}_b(mzE;;H#Zij^uBo=8;m(`RP%=VLP z7PA-pgY!Z&Rf}uhFppuw;&au$InV~P4%#@`bDWNqyur_nL5AI24UTu31eqrrYkK}c zA4Y2bgK`z@tn%HURuSKG)v7tO*G;`=9e*@-MJrofudaQMnJV>|gB@HeMs9%4*$_Wf z(j6@9N|WrN$ReNFJ`J1Tb(1;N8;P{-#n^OW6Sm6xa8)X@cOK~j<&@JOrc2H~P;%($2OBCi8 ztCn7|BW^*HoU$1+a$seDeyPm7$>)Zpmo>t30q0P6CT!!;w{2c3;mcRw=Kvo zG_BbiP}}B~TJD|c+V{UE6E8U1R7DN?BK;XV7|-7%J^iRf+K1sG($1(k-AQh@_XBG# zSTC$Pw{`|sx4DJS24oS$UiV}`ZbU;gRWA|yE*oXwZ~H~4TKPK|MiDWV->f0|2JIQt zdmD(wF}*X5YK+|wm2v8dl*g+kMWP>+)HChbeweSk_Q6^ijcd^|WqSpCUtRk#V<*St z2FA0yU>!MDN~~M)*P-FOKGG+g3|V?{Pn54_=_YiddVWQ>^jZ{4Q*TJ7 z>)@fD$ATiN489&Bn!AsrVQbGk^FnmCC1SPd0rL3oqvIUVYu@eo6EM>gn_?UulfT#1 zDFSLn_vKc9!Y>pb!J2>hysb)Z%9j$WdTUIM=vEC8B09Zd@`2vvG*{Fy$XVRHVX^R& z#ATm7i2yMMN*M85>N0}1Sv2NyfBcR%HW#XF%w}%jZ5i>GZ7s8i3yk~3yN1at{Aj1> z*2_BQylvwljJ6C`bsS9_*0viK?cVQU@j!jaaV}I0pxH&w&D_73-d#He5bc!5yPEL ziRtx8ZgGaXo}hhp=nbu2MkAXEW{{VBZ0Av5kAUY?zbcoI#tNxr`dp+I>q)SfR+3S%Fr`Tg z!XEh_QgW{W6?>NG6Rls;w86c60-MLzOl_#UjJn>chzlm859PUJRpmxcij!0<*(>-1 zMblLu--EG6E~=z64AKgi`Cs|g^g{ar5@;%P#@6)geRym0yNSc+f|^T?bxoI|wHXeQ zOgTtw82iHNrg=0Z04eSRUjhIRGR0S3U|=QNkqq2cW-4Jx5a>s5ZN0U~a;AE6Q(p5z z`8WHv7f)dD%h!vPqdk$J^)3n--aDPtbP=~(|IT(!`F6vPfDvUdA0|QDc%T~OSta)Y zt5`WW;|V=dvjnvTn0NH?BmIl-s(m6(`r-X%{@dTbN0ptmLbh0h zzoCNf+BL=7T16UMVBWYoLpVNvl=ir)df7ne+Qn0XlQ7fbLDpfuN5)K4OEAdaabMGE zUR5;ahI$<24*JFVm2bekfClv??rum`AaV)cJ#>w0!jW94KFk(_5i5yjqQw^4$<5+h z_=-#%_kHNZ#hKS8Kp7fV^6Sa*kKrPDq6r<874_YS9s6g{jLoIT1qe5L(`m;a))QNf zG}J0PzTcVJ0*lNTC1d&4SxRPuQ`Vd|u6|8r7Cndq(O$FUcK6e)pxTdM$wxS`@0z3;#`rz+J~j17v$Q+QkEcwqhN^xEqZegRt!Fg!y)|K>#iqKHfwj~v zT~}8OH}c|iYD0t;q6NR~UFGBCh)kiEq#4~>qXXuJJ6C39i1Ym^$CpOcJ4t)PO~POO zH#+$}KI#_48+N}%+B0HReVbcH-l_hB(%BwjPN&&3B*X_N`Hd4rBIUh zzX()!VNNRk_&iK#SylH`gBT5^ZW;AiKK0)OT}``8%M<2AksiUj3$#1iYAsi?Do^@| zZv`5@Z|bx%nK5`xd-Tkn^+Q)W9-Ilt41N_O>bQSq_f_r9c8;ZqYjJ50&kS{j_#H}+ z!SF(xn<8v`s3~o=C|gm7g@#w+07*$m{6kXTR>0gP{2Yi=ex_vinA;YnvM};^Ue}LM z8l~RJa^mE+nEoB#(Qv*#rTl+=?VUTOJ85pG;y=HTiBNcJ;x_(o6SIh-%P`+g_nVfC zqUdDSY2^NzOx_vxgA&NzsZEi!P`wx3(_nguu^h$^^r}Usy@NvLSA!k;WdWb0RwhcR zEH+1aUSANMHeBCk0`09?ol<=rR?6AeI(vEXo#+d)`6op3aWP?0$~aQhjPOYf(GdTw znK)bvxGA|(V8Ap%j=;g7Dh%>}G+f7XfKnG%8zX*Zxh_7}&Qt z_WtjhL?_OvEV-{fsV}~&u-!`Lg1i};oyT`$oj}nm;px`6sutce>EMp(GeOZpgt4jz zMewhOCuHQC2HashtXB%62^bbU4=?%RLFrb$M8+zTy4Q^M#`+TOqr`0xnz1d=k4B+;Mr z0y^zGaOz8EtjRcmYjNrP=D>_RF^dzQ$2m<^$)X%)6io4Li>-QHzvpaB6h8arS6ZgT z%^PHXq}30Eo;RQnXHKo;tfH2cw0nS9&vP=R(Zuqf?iRiq);_~e`$cSYMK!Ue#raz!>Jsca?NILvzWc7%UBRW{*$YWoh(5s^SunO4wuf z;q^bQ7Y1C%y-f|?r4a^iANJQwx5h)2+${#}=67F36mj)sgPv984y5crE#|BO2db&l z*Fgd&z-ER$1xxCQO-1X%Qvm}~6fL;UZ1wZ@Z4VXu6FV;P9(<(;(rI03oNVM#>OEmQ z6cM&@p9W)?Pw`yhB*roB(}Sl2vl{F?kV4}gi;1`oDN%pPbXolJYGzb5R}jXy;>+x? z&bQGF@23ZVvMs`+A&!FKhOZjI-(+ZDLWwe4J)r3&EJCl6oatdx&1vm672Kquwha4oC(~iVvE6{a)pTs!$sJB%h%=+k6Tifr z>B|{ex}nE>40qQUA8BdMBh${u-zDzcyPbDNB#|q)>7M~p#@b(&0=YD0Y#$t+eh0f1 z_LCxXX=cZ%t=lFU8fpM)d`ePjkn=0k58_HJ?IY;#7ii+dk;R5l-O$YJcAY zpT$F*XeT3HW(;7-#p!=kkn(5r?0eX0!=^r;3;4x1N4RZoGxOdco%=9rd%$LfP;s-z zjzd@3bg-;0P$a3FEMnN@A;81zaWOY@4QKp?{B6 zCZwn)f$lnglq>eNk~@5p^RT&QaP9|UnV+8g_XRYBY zR|SGyZ?|CewrR~5;0nZ@^w|t5N{G4wX(KCVvL(LHH6O{WK?qu9C?#w|lnV8hDh2Sn zK=F|!cI+*CYzo8k+@0ZEz=RhWjZY{P4i56%$~bqUeMi*Ho@Z<{HX3`l0o}n6_Z;=t z7K_y`kq(kr(DGD%H@oRYefpK!_t=>8du90`@g%eqV_t%`VCb5Tu#Y46RINv=2nCfs zl2Z4)SJh!NUMLsU%`Z}{Z{zu)I+~(bzsv6JXSV{Dunp!K!1%IgUVj|vCe<~S=H#0- z2iX$cAvdfao^p^Y@1f}gKb0dktvDe))39r_`2K-TXp$LbdbsobRQp+tU4dpv4_U0s zt89J?Bn@(?9Gms?!bp+~C0?8oVUW#NMSX|zENF|J^TQFj_!Hy*Em`&&$jQD>#iQqW zp6(F4uNR3@d*#^khtSm!ASzKrfa_;!X%>)VCeh>Urd59@)NF}i=*4fVY9^^{9-LQz z1uaj@3+>8DV|(HphN7qE%1WnMr%x{YEc&bdc`vbOxUK2Um;Wy*udj3pLK?1TC2;Fc_sMwn`Z_h5bG}C3A^q2% zjQyJR@GYS|xWAjxaKVdHVAfrwP~7Pg1P?w4r}VJZ@$(!jEr9w6Au&?REw416eAI7X zY(h{_1)3-vR?JU@k|)Jb?x<`2#If%vU*z9EG>?7WOYs};R=!fCJZrMu+w_9eMIJ1U z48laaMsq;YyMPWx1Jy*;n6h1BUgq+iS*d9(gh^$Hp)w;~j8KyCI_>3twR%R;s`!gn zRbaOrW+c_~joh0Z~FAeFh;%_^i7{Ahi;v;eV+3Y%%zNL>1r&*atZBltDZ_B>lq zl(?30r}qHd`1^b&lwVIhLUi|(OuZ@Q0k5Xk_tC&f^7D16!%aP&j*Y-(oY)mjN1Co> zcYw2v{X#91-}!D^ph+2joIIjfVY#y>4oYdCF}Mg~mp<>|@`tCerKNRRzq8SHDxjiU zkd|(dA6hB{`=L!8de;|V*Nn*t++<@?vl;wT;x#)5pz@~Y!}kqNEJNPaqul%R?4Sre zQ06W*dDy!ug`9-i#+~qkaN!U;jgshYPAOgYv{6<2pWK z@;2R!1&4^dQ%NDjGpw?IIHqug0IA$?+?@QQYo^NhLIJVH@g87*AM92QAPP0pXZ<5@PD`)(XH>uD>%#FIa>i$ zv~pyquU4)-l<=q=)DbMlR-YYaYPBH&Lh3caUdmix6j$~<0iqBBuVC04*22|y3*bO!`tOS%K_hav>8 z;a(mJebWcYYAEi%h%nw4=9y9Zy&&vmV{`Nw-e57$>_V)))Kc5aNO<16-;;08(!KS9Ow2S5>fY(@*$c+|}`hMn2HQITozu+j`FpiP~sd(>LeVbziQXddV~ zDwqpEQU|u{P*L;XM@f{i*2RJ$lE&6Tiwl!?X7{VEomWNCaQ1d1gMG1Xj&k02<0@+J z)js-gaFE1Bko3@8x-Wt(TJB z@So9L;5|wxrNDbr{glR)LMIK7ltRcrM-&a-L`6yB<2%@Q3Tl}qzK8KLoPu`^7Xs3= zB?|6!*Ez^8-0%po>}Fm)&0Ao9QuyZ3M8mXF72q1_En8(3IuES@XpIy$!kw}fw|!`Q zK6FzwGTkwmL66JrBd`C3Z+(f~enL{slcZe3DAA%%pzENwcB-N?&+y0ZR-tXolY8J# zqvy!eCG(61dBNz-M2^9=BXoX8=nbQbku|p)%c3|5C`;CtH;w7|5@${r{6Um(q3o4z z7I3-Oq`qjUG@a~!ySMJWIea61VQ=W37j^d}wT!zhGcYXvW?U z4yu38x4(-_5np?MqA1qfy`Ycm?jF6;nK|)DhX{g2x^WV=X#Cil?pM2{?48YKAgZ57 zd&-?6CJy_i+#5NQmJ8sy^N-q9I!%FVbkX zT2Fr$G8ISsI>6L;CcN=&q&5w3`${j|y#oVrhjR^yWGLo?mlzY0jGAos-7{ap7TIQBbCf8fKYi<|aSEVIYzu7oiRA!00$bE!9dlqAWDz8h7{ zu_-av@AV)?t!CdM0>>=vd2kb39f8=aF4r;L_0I8l2?J7oYPHp%L9ErFg`(udGfk)0 zzyC@+x&P_#fg@F#{|U#%h$u$vKd%@Uar2zQp4M3DRIwTZpEEg|qqbVc#uw1?4H&N; zg{GI}^qL*oQK)u$@_|N9?Ioqm5R9wtJn3(9i18CL5(zuHE~~E__-wAWZ6}6(fO0T; zIH71b>_@#<}S5n(;Gd#+yfy(?1O3I`KKCHs1KgRXV9zMTZvEIQhy@3`{v%EQ<(b@ zEh?>=z^WU+8O%15nCdoGTcV6yYc2WRr5yQ-gqg{ajvc{ zJvTZVK3*+G|Czrbra$jq6*~e*snFrPt`9U(478rhXq$~89l-c7%Q)nfrk&?;sv)nQ z4H{0H{m@Xrn^a|8nwTDsnHF+9q#(-q+&)|aPW>4~7Kw$dY{+?0IwUFed+UvDCt_qj zLJ5aaXPNfJNzwQ+@<8OD!q-}_HF&dHfv@enP>`>7)BQreLPfrf-bFBZUw`V#PWR)G zv&|h@#?J>A6Z;QHU8bLHA_7u%oxx*ezC&$N6*u)iV5uTgzb3>VErX4rmUBv0gBV^) zGXip_Ke3F$sA0h99;xH5J$1g<_uK^yoS4o`=#PM8p>iRhPouYiqrh^s=F5>E8k;#g zECqa!zMs7Dq$E-5#Vx|4+*wUMy72BnR&)3{y*VMXt+TGg`^XTpCrQ5u`#b*`N0>s= zcjH5(4cc3UE(*fn?sFp0egBCCwq6MIm^%f0w0pie#;kdmM8_t#aMCZt2z33-hm_Z5VeuDbZ{L*!J(NW_c!~bM0 zhqg{iA_6Lvhq6r*QI>ASXFg!1kz&SW1DGNK&0_2Rc+-+I_n6~8N1T^2DltQk^$XJ` z!4UQr<9xvnn-bK;d}~e5RUp~dBXVRfP8l*B3es&6dfH~wO85Bavf(@BbvrvVWw|Y3 zb8f*xuI=tIszOpC>JOJiqKYUw(8sqs^4DOsO0KH=rnU^p>vA`(64+2r3FwPCPTS+T z$UiUP!>Uubaf)r{UVG$z#K3Q{z{1i2uQA;h!UobBDTjEY3Bx-ScE~hl+!srJ%ykWs z4uR}Pk7);M2rie2%{P9JwoVquEX5FX44gssNxLRHM!602{frrbEmC(Tb+e*eeKW7(&`O_eI->f}|?6#G$T;Sj1to7(s*Jlh9W9#t0@!riOvj8bdKXm|_ZPce99}+*-SCKT@t`ElB}>hv^o;3l zo#h&GDMyt^(bwL#klc`TlULes-#!86DfK<QoBm}WE$?tPAoXoAXXT;ySY`n)K~sgIdq-!u0k5un0>z1)PAz& z1Kd%VH%@gg4An-;>?joO+ddZ9Q{zn*OoU}~1e^xKoY6Q-w_s(2z;R0#AbLDVI>zmI zF}GC}8{1vu?X~cOcv0vN-mvMyZnNsoG?4GIOY1)K<-yZqN0A0wLIz@k`HX73KG3Cj z)x5u{H9-=3*o=J!v<@Gbbsf%PZ|iTPU+*Lcvdh`mOJODLdljltCL!s|F92hq!Y?*G zYX!M4-&Bx1j5r{;GLI2CP;?M9Joa_G3e4PV!0qmD`UF{C%O&#m!-z)aO_(RZE_5p0 zA~+DaGUEReRgQ?>t*dWRUl5A0*BX*WFr@;jCRS8z95)k(m})!ey2^D#3>)&;5(sI0 zsA0r0L5X}#-)A^tp=bHfzk z{5$-CY56d#*jK#aXOpeTOT++KL6S0mWSRc4>6iwUJtVroyjvr=?1MdkPHtTfH5dOL z@ETb6*C5sSrn*a6ML>Qg3Nbv<@Y5q}b9poL?O!;J02vs@;Y-5XFcms4uD2?3C*}KQ*mViX4wi`~uC43&%g!FDVC3 zh}f{euev4kx%eOJ$`G1PV%YlW-8ZBiNFX4sFi)!(BClUFF_+qtco_>|ipADsAYztNmFJQ~pu+pT zwoBlR%G8SMMU@ZuWkulP;2*d^O$~yF+9YzH+N_Yha^tSTS>S*@LXQ>t;`&ZR(})Cl zJa6>#3d7WQO%o33n3)y)awL(h$(TM+qTK!H2>ag*n3aZeT5Dr4W*iT%k*c^RN4y6L z^gn0wFIL^I(0cA*za0^{qMxYY5p(0OUQ!K8Hu1>YE3Xu`>hSR6J!e}d4sWazKLvw*FBpt zlK~xBu4c&29Dr|H;g&|Kx^qz!m}r2K{xgZc;X!(`T{pOGoOQV=BX(68a~2MFlidk% zfxX?;Nn@>>un4>PI%c0M83lOR1s4io2nYF7{*mW)mT7ID43cBVg9FrtMu~KXHxkll0tu@(N+9S$tKmyKZyBZ0nRUJS96ZSjyy zjK~AR8C9HIKJFk-L|?2K^Z#<2x7|DuDk7|HQXqrbBEd9UCl3)LPQdGH;`Aex~ z%<7{<$(>)dZkaO`U*ZB);%}*3$e8}_-Q@GWi~s?JfRF@05iY#mYgwykZ_t=NV4Rns zXrQcQ;U7~wrl@jA`HQV{2I?^2j8z7!J7baHrDXB@q{Y^QRYf0RlRhPjsHlurKmS#H zbUkBHIqXhYM#aFrjEVV@xbo+hey_|ZMoNSUz$D_4$a`3tR((k?bi}VlA zG>lrB>%aL)0j@@SJ~~*gXd$BSU}S+lS()YwZWJ5r3>ACXzEgMM-MotkVQk)F&2OSG%~S7WWq?cotHDR=qX* zUnMFuno2AM{fXCM>V76)^L|6tC<(lrrzkbL>jG8&B~`5^fC&T&`KkB94S2}2e0*cW zNP6M+Rn?8psLhv0cAa3p6~NYRoNSTUh`Md`k)p|~$U2twJ%D0ssqQ69aH^nw&*E@T z)b4jRNW!M)UG@`ty&*@?QdFW5^VU&VIdL+%XL^Ob57a-l7hgZs{-H{klBAF53cbWO zh1^>y=1))SRjg$H*AHp(8A?{`?$-#vG;Lgw@RJzHOP%onDL@qJv zc-kEMG8(YZEQQ_V)XR?bFszv36PY9p4)b^`Srlj;tGZ3JtQU6Um1vas1lLDcmK7`?J`AvzJdU!;oPAp$AGy!n(96aMO zUq-L^5t2srp|W$PPAnCl;*b3$UV^k77O!Rs#@`CvjlIe-69K$VCptEsCG=AZL^Kv$ z6>yoF|Dv&T9201ko{iSXfU^e`^bn6G`%^uykslhMsR?yI+hits8o?e`t@of3 z;IqOih107!>_43ki6)#iy^x@sKts;wq-A|x55iq!Gz@U6oniSnjnn{jKMKntwg7OU z5s1zZ9T-2ZvSVXK=P0f;Uh1yPEr!J87nYrQV@Q*}u4u{Z++K8t)nss$qrTv-h3IUk z{mkZtZ|$$pMX)0LZLJ6OQeo-mBM4Gy*WRuOx;W587T5kj;?tb*YYKifC*{{Lvaq|l z#!zG-LwZ!K2UUGd&WdC+_kt)Cr~uROAj`($GF3~#^x%08p-=D3QE&jNzpsC(RH`iG zmu{5zLMV(YPXg8jRc>o@w(RDi(@{i8ec@Ex6GoRUpMI)sc8sH z^C``w270t47j%E>s1|=1?@K&^%e|I8?Mnund)|=r+#C0Bq2>hrn)-V zNtMu5niU!PH{Zt-z3v{KXL&o`Cda5UZd%1&uEFr7Codxn;*j~b^yvuJk)X_)G65on z{Y2-DHqD{^^9H9r-7s;*S|s~+?Sq=nvsIxnAt5}?|02|`>5lp|2@`H^%f$siJSMMs zx0zZKWPLHu|S+6MeNfLKd#Yk+J5FPQV2Oe z4Zx~Yoiv-9K7)fi@f*qla71t)G!xJ|fzfZ!@+(Fsut0aoG$~((nB4WhtTk??f9Yyu zSP645?*h!oxP0KO9BYJslcv@;UNRlEq+a4~8@V)z{n)<+1$!25aU6EVR|DdIqk9#}-w=x|1!yeg)QbQk9Cv-@|6upqPd7 zD#Q@rdpqezkc8_y1i!OM4PoxX)_u4rX~JyRUU+3ijqTVYycK4z*4~N|{j0DH>1O&n zmlu`)86NK#-7dAHMsm4#c*nVzb~^B$>Q8{g@a|_;Z!+IAtxnYUTXQeDGgmR%W$d++ zJ|f|drUH&Z)JJ#(`S(hNRh0y}Sxg5JTZL=-x?z9i8t*q22E#t)#DG0u>+RwlAwRY$ zDWh&92t6;^cj3?bEiG|oLLQR`)ZYUiany+(Qv?yhg8e;I7Bvcr?5Goyi?<)T$2+o8 zGVpT8kH+a-LmtE2a)EvyS~7uAZWnjHnzPsZxT!H5b_8f~0)CKSrb2^VYZwa0BzWzVJQCcu zm#jAD0$!H(9*j!u4YzG#Zf>}oM~4HwaHB!*f;cV^w{NqG{DTlBc8)<*&bDtI!Db5E zXY~~5j)^NI8d-8KE}ii$zag9Go?9Q%RhrnUSBdY|lf+I03I=h)RF6v1DsK|p+)+{F6sNB6!DpxVD0}0Iz*DNbK=BztbCJZ$aE?j3h!|Y(3vv#|ypoJ)BH;2u-o` zzi1?aILtN;#a+kozFX#KntyI(j*q1Kz(odZ{T)v-#NClv645qEzFjAw*j_y;f<<5S z%3g3G#*Ry`8$Xd%9dW8VXqe*C(fN(|f2=3wyGsw9xGHf0*fs!dvJ% zz^3wsN!Xj~ncsl_DeH=Yhu$WPG;EbTg_cHdG}`daB@qHH&YfL}^|f}M0oL|3TttjN z`4GK3glXS)N)2iF6_lpe_m-p|J9oq*TGkI+CDIA?l9gqsIMLQi)31j<32-nbt4Ls0 zNQ$2Jb1yv+_4TeAoVVMB9l))PnV&%#zlv`f6I5coY$B?L;Cl1faT<9}OfzqzRURu!A^qUl)Ux z9w-aLJ$#$*|Hb?{5wdr6C!ot6x)kBCbwb_ICp;@qZS^9pDGSsRUy~XxW_s;gQ{?PG z^Voz@qK)=x3FSZE!w(yP2%3B8Z-Y}r|XOiaZEq(qv2xZ1kY+IKyVF zN%BlNeE-ZLzHXX{x3=;6biWz=aEMw(t2+`eh68^QMYqygW6_ng*7ArMN^LRCAN%R6 zZ$TAMdpE0EgVYm}6Wustf1II}*(E#o_xp3>aBtaN*+`mfbiP+1V?cGiG|<^3nb=4b zap#UCHq6;Yy~>)fn9PfZcj!rB@hY_GO6M1xGf^jxQr%ut{(-iPFy!>#kZrkgWfVVe zy9|P^Jwc6XzSGDMGj+C$kV{Kn(3PM-IW0r*!!Y2_Q@B;!oMBvbx8uYp4# zN)l;>8_Sc(@$jNxORCAg|L`mGWH9kzZ5Nq^DktmwET#p@&3jz|<+2@97KHFrx6piL zukL`?b{*;7UIom3e&Y$D`Fluhq4y zZpV8+W6%l$&HZg6?3%D{X;;nf{f*WMUu#>dyk}}C$H-1|0|0*kIE&akEm=6WOkM*z z9LK(QrjEm%H2}rG4~CGk%z|cHXPc*HjdoSZFAPk%IXgai;Ty_*54A}=cMx~6DRM&a z-Ln@c&(UKyVe}iJWvT?NmPew*rcL5Cl}qb&*G(+=o^GiChrhqq~V|m=ylLp z8f0ZZOZ`0>z%L#_e&ttGVKo(MRwJ*?T;wbHP}&x%Oqn0HJNxdxmS3J|TH}jN4SBl# z^>U(=cbxSB&qe7LmJqEPk74zQ&sh!lyG7Y>QXK%5^Y~aWs-b5a$u8?z(9BoHOF_BF7LGK4)|nAiK)Ys`XAH4^q)>tzvl> zOyizQbnbQRjeJ+dwcgs^upg<>nvYgrCw^~VO^Fb$c8vH*z1Z{JVlM(6{Luht~6|O+#x4YQ2 zd%A5A>dz$l%PXK7Fvzuvn5BiY%ihGSMK{;;g;J?{AnXY7Ep>WijheJIW%xVXS{myZ zCvl195+cnpQW~tIs)6I{cW7K;LI{T}{>g*X=A;vZo5Ma&S~0n5 z`L;@%iP*c4dyPiy*kBUb1{7^fMmno(W_I9%YqyIV2}+z}2(NYkEAv@b9W97fy5yJf z&}cyGuW-{38oKH_x{fOUSR0)#MPwfq>~n7Wl={2Fr}3I1wK~pju^mQ*8y7)_s1Kq9 zUt)pOrh|BuTF`7Jpttdp>8tUqO6ZqUMmMHZCy?gn)3NJMaMV46bzxd--B(~7y`YT& z6O`?FrUcsZT^GAymx<_M1n~Z)Cbp~^Wun=t|G*N7yXV!zJ0ghuIW{;y?Jz;)&dRI} z{tEGX2X-M-75?|b~m>>aPz<2gdI%>p!hF~$1Sn^c~srM0s65KqE}9_{2K#~ z5PA=F&(A(Lpl^gir-$odIT3^msfpVWli6+-{YdJ|cl_f%2CqPuTMMXxKAu{|fJCj1 zy^bSBTE?X_megl=V+mt5dRmCi-Z(-+a(r)FZbc(lBaKv|LNonr`vRq!FaBY!=4%k& zMI4u^Ily8|K>3N3J2}I>&Lb+f-6FMLN_ZWyDeb@F?637HamC@isiOrv*3E3R;hUQ6 zayZSji54A_yLFpB-%7HL?Co?eMvJUy9-y%43y}{S6Xo{>wEg`UfmRqClo??>8;*c; z+>;^{bc6&%fx>sBU>UXl-V(gZug|0U`;!@K+&Y3Kw}9H05$zR*N>s~`q=|Jocb-S*b-d=gdrOfR3@~T>QsIICEdm9Q!yLMy+%;#t%Ez=$`7VJA~jL zp}a|HBt@ryoYtnlp>^k#sRTv8AcyTF-=p){Sp&)Z=QDy%Yju$n^d?i9V-L-{p2Mno zoMT#O>A|29cpda@HUhrb-PjK1E>_d4Azf=l5YN9%R+Uf#ZkD#EDg;7_CT&JeoW6Gv$qo z#?1+20qfT}U}4iv5BK677ox#o>+gcU0U}i%At8mpVCeB8PtFtElE|GLck4-gO0qY@ zcw;tC9yi(`q({_S+IfQU%3AIQ~F-Rg|h(&KEADkuh5|3%CpTrP43T}i#U1*7dbD!?c=5SB2U;a;N?EM<81rv4y z^#?PAxjTygSrMU!0Z`^AX$5ub=;?_n|Q8n64X~rxH5b{EO`#9mbNy``rRv8iX zShO+-qexrVL*c~RZ|bMfS8F5q_0qWN+COi&@r2vy*&+NZ0KV2w>jmtb*~$k6iecVD z#6#3+E0(I>dk4}x@Hu2L%D+(cH&0akRP^ZMKToi4aRaG5=!vn@a3dhEbHW}xwMO@~ zKmm?YlJ6TEwM{=bMrdZD9kdIb^g2Qh8s8+G-fk^>Ib(Dmc^t;5Ti4g?n6-=mhW<&a zf4{p->fzr0JB>Kavt>TV8ryVUdNdF6Xx#pkxu8&k3{3wSLV7RWJg}Eb?3B_x zr-Sc|XMdr>$39l^&ZP4%BED0!d72W|(w)j<iu=M^C8FTi&Np%KNoRmkaotn;wh;d4eS+t`0O6R4+3fCochW4?4*oKkQ{kgylOn zn#RG05*7q6wjxiI(4=ytP=3ju)2lSz(?@gt;{8X2y7dAvwoIj5IhD7J>2A?^)96D* z>-n;n#17DPB_MuMZy2G_j@XpMq(|iC*M3?Mw#BalTUQkuPH}C$hrme}D zwGpM#yiD06F5XZX(p1Sj|E+t#8J_zUxATRxfnjR{VnAOn_rN zz+4z{)b)Q-n-2*g-o;zeXO{cC5ma5i)d5+RCjYa4@BEJBx1EjgIM9DUPXu%rT1G2Q z_LAcFo%T|I^IP7U^OSC$qS!;MzmX*Cz(2Ra<>w2Bxk*D3LKOLdb)liJ4+p z)=w>WJoB}OZwg{r%*!~YzC|U{=8&~`zCxqz?;MV%e=R2=KC~{eQpc5cNa3&Rk84da zP0O6XpBeP6Hp>{Kwo^*Sq@fn;uVJ2+q0qKc!-lbtakb48WZPsPhw3mVYo*|pUr>HH zeVGhN8T1gCM}lL?!ZMwiQ9-Zf`r7U&Yh)|6K;Q`tccHH2EyJ0TFfk0 z!L9dkef=uMz|muP2YBns$iVQ{+B#c1hk!|Tql+Nrd}#-KMlSwq9A6B9Oe#fU1&y(Lzn4Cp|8D&#~cxn2wTFO zg<68@9#P-Zv=hVlNs##P&v*+gYwZwQ%BB$>xao;*&&$1Ebej)p`sG-v2eB>Wdhh z{5c&RxYJY@`sXv83N5}=^m$!5OSteb3OPCaV)XRRS@Ih1GYAQ~RH1<*rs=J~iDXm3 zgKT|*mX~QXrT+U%fnPjaOmUIiXcde(^;biL>G7(RIoE{59509}x5_xME`vTQBey{a zNT1f!>zrc!%{L+a*SdHJ^%_CFgEJB8Rb_*tc8m@%yd!`HZ}W;NZUf`JI_8?rF2?u8 z7o>R+(rEAd6v&V3z&VkLfBs<;c31XBLjkZUh^g|=!QI$&U%-+7TDEP|8{Uu z0Es!m39QJV?DaJzBx1&%+3p3sR4_#{HeA3Vl)0H?5$PZOfu87Ly*7sSQuNqD3`x7O zNbU}KHzx{I$GB!}P_O6u;YY81pInMmSpZW2m60(oJSXuXRyj#sJuT{w49v#8+HR0%De?p`4EnwO+S>qF5t_tF*_-a1z?mq45>)HnxSCPgK!m5B zyw;mdpZK>H?f{VJDuf?GC_+lGWYKp>hx&LaAkt!6T_3dGZk7%6+YYK=)eo<|NY8Ge zOk*Nq_7dvH#3&`!s`S4)_iSEOri!`l@n)b!+QQ3h~2Ij98XGgolZqkY`pq8}BO84W<4$XZIQ ze;g*XTqkfgkm6ei3Sj9;1qk!4x-xR)yV8drn-1)e$FTW;B6TNwHfWXdp_b8Gyi@KkLvf0=8# zg=DZ1_7llAbuV6V|1`y6VtUs^Ujw9x{`f%Qh!}(3D7wlLuM?0fU%a-m_e^}lzx8`B_+aF0sHo{ zqPe#`VGvX5&z^MWaCtQ#&;t;-={q3}2oytai)|Y%UQhciv3Q-+k5|N;sC*dJIR2Bj zAp^t77h0O?Vp$5Wy@n=UW8fh-J(lHmvUiRfWba&pkR{46XseTz_}xVFh+GUgU+0qE zzf#8Y?yN+gCFeq3jNCPEuI}Y23K&UaREF&AZ-;4zBC679`wF{d7lqSSl_rIr^HZE- zdceM$wxN~ICnuUFlGeN$=MOE*Uo@swF|dyVK$Qa$-t5c?*D>gRn-KHcxMN$=2GW9U zYf|G2Qn85UvTu*L)wa=>%XxPxc|uei(t+d76215bkg2UW5%89f%&6tB=wiL%OB%Mj zMghJ|ic`oDvd^HYvNX}sD&b;oM^^O7RN6uA;Dx0q?|8dujE>Voman#wu zE^%uK`9yZiD#Q2hmBAlbd5R)qG$FPO`$v?+P!K6PFH2EykdJ9F8N_R6_PNWORnnFh zOn?_HepxF0{u6;Iaq|4|&AwalY+Q|O&*tOaa!k^;{B|~{WL<2^_k$#zG#Z)a;!Ah+ zWAuVR(`4UEzfbl`U2b_a3CPyF3ny`I_bIOtMn^E0TORQ4^m#2*rq+o3DLMH#@2ULV zrid20p9IQtPgjy0f0}ua!iJ(0RV~!9Nq$!LU@t#R99J*O-0088ji>Nn0q!y5SlLI# zJXd(mwdSgP-LXhu=(iJ7`l$({O`MS=SSoVu*KN&;t}U_ecOqnT-yWwL3F+CL;sKjr5I2|#9xB$H=_TgJX5dZ$< zn&G^K6L~aau?%HIR%kZ9yMm2ceFSSOf)dn-7i?VrA zki2sfW_0s5?URNiEaV72(G?iO|6b!UUbCN3(^GXmGt2)=>!%UPG9A7tVq?01fqo^# zZJ7y$tg`!t8Q}k1Hk&gC`BqV|=mE%GAgI^auqzX-)&+UH+0~Tr!lU4ySz3J?M0Von zV`Z7*>F&;p5d<9s_yy^0y~_`hy=l|ER>?ZOyVH#4&7ancG;oo8_wb}IPOPR3-9FWC z9)kuq+&)tNB{-*`zNgYSTUT~Uvr;y$%S~<@AWlCH33T`x`9t6QelP2!iA7F?RP(at za`H9o15)ppITt|17BCSb%XN?W^P@VPkZb~BB=P)~p&|a+y7@1L9pyL$5$P87>y-wL z_LeL-s6zI9$D9=1x+GvF4R_N6L7|L$lFn}$#Cu$PPU?&&619cMb*zW7WIydgzQ2E6 zQ?RC4X*GB4FnkwmT*+g=Qwy(}bA;U^nl z^9*)C>Jy-z>qiLwuE}zaAsi*PMkM5~9h4LI>LMqTx!sgIOe*^AVu$4p;8g;O=?KYE zJp-?g+d+)Qr=CV1VgLA^bLgFX5BjQFCI01igur_%OL;x#K^qdKC_N<_(ZWpe#waAM zS1X&8U;tth612hj-KO22`o;H?(8QLQmu@nbkzW4ml<&uF`udDa{{+E$OU7a4(w2)^ z9}z1Yi?n_fi2d$~=7Z!HFXHNeYHfM3bs7`0-r%=KP=AM?Y4(z-%N@W5Pb?mQN)HXUdH)QAOzebc55S#j`}qH#${8`+}FXaD0`)1D7Z z%QQ%&E~u?T)&Z;sPJjd-dXR_l-4?g1iSFGjR9d6Min)*+L03oP3b`C8B``I@J0pAZ z8c8d!4O$Q!zG4uU>U+{dUzC#SLvymrfvXOeMnL|@Ha9>?QcbZ)AE#?+rJm-S*R#Q& zqnm=%uGs($-;$zUwU~~D*?jsJTqIwy?vFDbv>rv;ZjF|Z?v_@=e?l^%yb`X%2)(=C zMx<4TE^eF5#_WVPiv|EqHDz*r=2oXHjc z37T*5L)Rkiho4W~Z0u>5BH&#{`WHHquPf?zsrfK-Za8tY|$K{;344vZHvnjbSD^H)&M6;;+kjm`qZ_QqmF{wqf=*U}YMUdS%dQtb*|1BC+TBedBK^`@EOuFc0>rVNU`h4Hc7 z&T%{EJm+St33SS#2-SJ6#nr1PJ3HN4Eb{_<*c$i4J-bO=-{(oedeN&r8q z;NZ`2+J?*65sF>z>m88+ibv}~dLoPa@G*VPBsL(#XWw9X*BzsJ33es>Y0b6#*D7Fq z@?)9AoxERf)`D6;mA;JUxV`*>`o%J8`#a-R0dn+`^mv%gJF!gGOn}m%AShb?b4ayy z>Cwjwd&;(csY$Gk+f~u=o!7*t#bQ#! zRNw_0W@?#Bza$G72O;7RQy}oNNoS;N2_Xx#z@mR^pa(cc7%wZbGLy)OX-_NOWM_Zn+symLhXae$ZTaO>&fQtXDJ1KS^frbHEQ~Muc9Aya5x#N=jTACoea(fGujlI0M>`f4eG=C;8zf%x`(x_PtK9Sk zb^PqM44(T+0Uy0BJ^@GtpAEZ&7h5a;T42BtG?m{3|1w=Qs8iGif_#Ky&%8H%Uzf2Mke%)1D-(pw055xS2A~fjKTe2>8E#`Bv{{{ zyV4guWaEL!Mg3#R*X%(&a+<_lQZ?{Yw^z4di2N_7RvMH3t($Zw0>F|c8_a)sIjPT2 zXi^%usZ1+q$0Yux>^;{3yp)vWcJ*Sn*glwVyJ6nN_8?aw_yDg0sIzDi8v;l$k;XOh zUWY(d887NLb%;9UT?3d9;uvdF4 z7i~VFKUY_OyI$E9v$t7B?wM2gwpqxkS4zUZ%kyyyx<8ZLU^4MBqEXsco+qDNC%T-* zF)Gx}#@?eZjY69e!I*!e&v$`sx4|NQ@VAt}SY`^>$`$(3N-NLo>0WUq%V_JS7Mt`ZSTcF+Zg@;7Q~@6$}`(jd7yDQ$Wl1h7ZSBOg7O6`6{UW1I`UdX`~%g}R~3>e1qe z^VCkY$d5r3CMMTlE=Jg-*yOIqlDl3z8eV{tr7m?J-gY;1t%yFQU%EDOt3unW_j0+S z$>bj4F6LGqRV|d0yluY5y$lwj067~6MV&sxG z*$MKaVtC%e=}w;9 z)ZW3W9&N9gr~cBOuDh49dW3I9tGSA3@R$Id@kOVn}(+`P$! zOa9}0uWEdbEF;6T9a65_U=h%<QJwVX2s)V7S$xP1y*MOGgOk~VsK zB#!{a0Fw#)^1rzwc|O$!OSgA7dxH4qCA`4R@3*R+yPLFcdfCjo#f4wSi_rW-ktRvu z#sKh>6ze&KcHHQ<^k27W;c6g9ozMG6?7KSukG=PRYWn&1MNtIwr+^J z5tXL&j(~tjiAV_$NK}+wRHR5%kRrX;kVs3EUZg`pj}Rb)7D7Vu;_vtO-h0kH=iU3( zU2mPY-g4F=^W8Ih+Gi$N!`}P5cPN#{1p_dC!%{-`NqW#=JD9yBYS7}zWoa#p*IbDT~X&vkU3U(BWQv4Nl+l>_g@|XsiZ$H>kuteDVQ6 z0`+l73|dzwgf25&CHzdOyt?{iEy=q_1I?UaJ_C0)ou^(iRX6-e5hDYa=Y34H;O8of ze(E@T+R~3%(WWhM-oT*piw>7b~OxLN3Ktof2A7grjT)L=D}mTA+~ zJBG{d6&dl%x`9of*`gEZVomoU`O*0NC+M1iYeZtxm?eHMYp&t__W24~V|$?S$g8Bt zGL}whUz+-=5nLo;&j1-(D(14*hMYZ+T-6T)$8b2#p0SE2X%aUgXo9V(M~6mvD6{0e zC-7v_K;kA&HD3fE`3U(m{XP)aJ>(CmJv`ZLH5Hms0Fb=;w%62Ly*po=e%mf-AIu2k z@^%A$l<+Ni2=}F)UjAHV&NdvZH1c3>mQzDeN)R;{@)njBJq(F@oIzcVLk5FozgdF+?RJoH35OtHWTlGB!2j4VkBW}UY0aWQvXykr34dby{1L=QlJe_Pc?4A zXGrALkQd4yOSVrFl?)pd1d6%W9`=1$TNQEihi}K1rY+XTxqg#h*)IstfL!B3a!yD3 zv3j;ZWHEB(cFCu_?roWTsD}{+m*{gLCqbDA@V8iv)Nb(n`MNiVb1-?Dbs9gZFcj1( zxO$zma%tsDCT1Ob@5kNdo@LJ`+K^aR@EX@$WY>C5=OByoJnd2R+#WlDTfHLl^D~E% z&_KnJEgRTdcUpE}=~Xnc>GTw4j0&08J5j;8R8KxF#P zaC%;I1SZI2Ie1D#n_N-N%Q_unNn%7*o4xgNzP>~r>msCF68b#-odEKff|1?5MrPVt zDJ4SRM@>e2-8^Gqi_iu+XP=oZUY*>AIE|`#L=Ah_I{N&ts{*($CR1hWFG#F#_VQ9G zUXoyDhgyO<`aCqU_WJz!%2LlF zSmI9Lt8JOW>{WH=c%Cv1(|JnYdZFx6E7j6OXnkvOE;x)ecTN>|2`;@!I0@&RS&Q*| zS5aUuyq>t)vH#XvHBo@{S=THUkIhKI-7V{k#Fm^ZfU!4=gY>M-G{*%8z9+g2k;)F8(;;&Q;u(hdw|U3(ec@q*cej zinc(P5$d`y{3cp31luD*`QfKG?fQK(13(&nveX`uNJs8I@VE8~1~i%nF_jo2QhL5c zVo%~tBC&^BoBBT&2M~tek;-d@t3WQO9fJguDZ+7VRV%HRV2i}yrVgl<0-fv`NUhYPBM~!a^Q44A)u>`39s;4!1fUtv4CE|U|-XE zkgzm>krEw%jqQ$;ZHU5JnMXsA`AuabJcKZYH?g@?Sph^ySo3nJWA@>Yb$HS8QYvwB z&SOzM1DpYm8ft zS;22H*kJtZbQuOvP=4q9V?x-;WJljmu3zOdb0}j=zTBSeyKgtSCIn~GX9ME6Q1V^@ zAetr2)tQ^{NeNoFB^HsiGH<`REL7dy!f-ll6$)dBO+wg3l3~7 zb#R%A=DR2i{n&%5x^s{)=IRz-$p}P8rSdl03qj9ty4N|G&fE1Fk;T(T6AN)DQp09_ z@?u9rbIo?!{m4kH`pCOs; z2e`o91+HTPVJZZ%zL{RvNc$ZHUz!A*ls8Ay3c$iy@JjoNm`S2kyH$G~b4P2}do*%> z4;&$D)e5wKgr;ABE+Tc@N~r=rv}kwzOQ8C_Q9d)yCI*-U(|I4YVEc(Ifzeur-lJH_ zR=Rd>A?hGK(}CkH)DCmex$6mbcYY1y4b$WG0md!pjI^#b60x{pp`z0{Kk2U*IQJQxl|zPNg(Ifb7d z{~?2)gwt&lS>Z2U=|L?$6+uJ2LU9qykatC*nHBJ!0-)Zxrf>G{a(*jkq$#|;Uz7O{|L!%M3~{s z{H8XL%-98pzvS{Ghh%r&Z*(}CM@bvH~0N_jz| zDW#5eu8=JVo4c;;r1iLeW0~m`mdw_x@MRAg9LO-QKfXn9Y&=33?IIh@#D?Sypf(G4t&!{pm1=JpO$CD+UBdys@V^#~GruIAAmY4z|9^d0Z0 zsdk`u@70#%(FSzZEOKY^2-`GmV|2Q=4F`o&%@AIVGj-3T_p*hkg7hdA@noy(hG>)(AUI6!;a zfSXILCx(;Knz~SQ@UE~oz4%Noy>gb0;8^ws*4(^JWmOy_3)zy27-}I`z9nVlw^xIa zNAV^1CJYqm!5*bNYZ{a>b-z5wS^;H)+nH0Tw;iJ$C^9-Fp{^(b?W2EwVv|+Mc_0R@ zt#Lw{_zN~!TGCtVkqNOCz-HTEWMYR(+>;r}Sb3xg75aeH-SvPGR&p_lNJpG(qYRJg zHY4wV-;hAiU};6#@l@$)t)QDJ3~M<5U_i-i+i6ShzTl%=N51&@o7n)v)Z^+36!lBb zzq~+mA|a9TD%t^dYpJ+sThp^0$;~8;tI=vRSU*Oxf)ti2D$7$Y?teKl3WecH{Fo9E zA^Nglh8wwW*Z^CVaOwNrEKTTvlb2q0G?1n~z~w2WRU{3ZHXmp0a=pv-I`;LGQ?m63 zOYTel9P4MNqyxUW2nxW}0-ijz+;}m=-vYX>VG_$_>Mk%4Yqrh{J|C9=gVzQ? zHI>uK!tAey*y}u${`i51aB51u9{kka*+V4Ml}(x*!vnusFT9tTcc1PF6P&@y@B1Eh zFBzq({`3jHNEeh1Q`3_67DD~hkO(l@sGd>2Cp{$?e047s6|a!@_*(t#GId7);f&ga zfc7Qgw;Ao0p-|Eha~A9|ufdTAPFC}nR-y;?5Gk%AD~FdbH#_}aL&;)!wk=V`5`<$d zGe+&co6_@sOZqkzZ5z z!{$%Cz^D3gDJKNWw%f>^JG&8KctE4?bB84X^!|GPN`RG!MmhNVDaMde4_2Dx0zexT zGij+ev%=1K#^8VA_b~#l?m8mG*CVStVRrCn?tX~=hK6%+3D_j#A)dcpERTfyU<(T2id?ndhxdK0=V3w@Gk2(6&N%^`R3fVGs9kwbX^HL7|I(!KbqO`0qVw)rSCByiEmnOv4#~RZ3qGp`U z4z%8rK4bx2ACHv9q}(5gmV4jKd(g|)!hUZ%#0wkDJ)x9+EH;e5+q~4ju5L3N4JhDh z|3EZb6kM0oN0;wUWZ@gj4i0;7W838W`d21q)kP2tzd6xc?OE_nqFin4 zmI9`HiS--eaPu}Y;N{pL^BMD?Yuh)UOj261s)hD70M&hkc`K&atr$|@w`O&R(}pzG z5djUCo|gIdH7`?NFajz9*b#-qY}A>Mnmki!8QfHu3**2JbkbsJFAiigFJw&vs8{yl zmssQE`3Axb`rd*DzMsEr6)8>Y05GN#7_3Rx?bC{dDDG9E!llZ1b|Vi$%}6It_Uw%w z2th9-d%HXftwg--Q+Og{#om^^#9CT1Bq$snD18gwa9g})?yNKRIk?PdCD*JxnXc95 z^u`}gl;5C$Ib1M)J*nSaAEP+ixj5(TpYf>+(QH4*5IFe|FrHWY;2-Y3R)8&r?FUz> z``)<{4a1E4BOH!;eOj3orE1apHgciZn%TXPvHgQd=D0E+UO^P|PnV1VeECQL*YWq> zi`@(7oXZT5T5&0oRFaYI0nw`*nG+(2s*S-is;u0HNxt3zI5G&WY^| z8dhSyo$?t6GEtZ;#ARJ>Nn4SvH%fh^iP{9`&Yj!ps54mieP{u}XOg^&DcBlu8<7vw zpwzF+Z5(lrwdxK$7We}0@3-NyX!%1rRduY*PaufHv$t(Q?mC6~V(Lcb$8*v~naTb5 zeu`0o_zDHDh4rC~I32GxHQb9~Gqfn8?A%=(UpUrDnoAd%{4Ac1S)!=-V{p#*37@7cuNhMs?953h|qqcM)Ji%~c zvwm+8@wj1AEo#f;S-alD*pZz3?EsxcbTt=tRpzS(K1F96>-S7kTa3Vsfn z69jb7qtF>lvoxtYhdVc-Nht8Om|$jp++n17%=x9bV3zI$^ON$ejYFZOW%k<7D>v zdVU3bI@3wxZVu*dGWwFNe&Er+Qk}O8+I-9@^RBIb9r0qUmE1Y?6&k@;XF|3;CoAX- zyneLA>tVAkbmOP`DSQuYQB{(9L+Y~5Q$&^6p3R1;{wKU#Q~y$Y;dhcBqM39)DALE) z{f(6-wvCsQqQ5EK5JPyQvj%IrkAXa}1v(d!xi$`+V?6d%98E4xY>NJmtRMVH^wY*w56Zo!cJM%=6aU zl}k!RcBRE!uqP^w7*D_oq}1o*ehY9Ys7;+WXrTAb`VKE&vkF9Mlezf{gba`em%HE< zEM4Ulf54v`z{<2~xu^l-L3}w-n9cmenaO=QTOeW2vMA)a0_AXX`&q;JLnK7ZPiL5( zlpIt4;w z4Zh()lp;HPde*nRgz2Q@7d%Dl)+}&8UTueBUhk>*XCOJlw!%+aY&y5ei^&y^ zcWU10Xc~4W1o_5oXfOjmet2sYgAwY4hNr?c>NV+3r9?pdY}GX5nlnLeGBl;5i6L=X zE@)-+hx5GGg!Q8a)$-qey2VFe&AoE{{ypEzuZ-Lfkzo|6FGsa=HBSpU-TJc5dS%$w zZDE8|QA%nkCD?BqtWg?DM|bSp*J?(CN=Z;c&8Qt^%QVTkX}LIEqUkkFciyLJ^@W(_ zuBw2YWLMBY`-lRGO{cQz%`MrFD%4$_JA@+)2b z{b_@NowpS`D;07rcUf%3UrDo%FJsIIU8gznUpDs>s;7;ckZ z`2*W`(l#HA`HLYngShk`Kw;WR89Lf=YqD|NGJUy`u~i<N9^k zV_e;vaH4%-m=A9aN+oN=co;6BdI)c!a*Uwkdx{=+ZM_0zA3gDq;l^e}X}vY@QkH-S zkXc93KNZUH25KIZSaJSUvp{XtFt(5pz3S;Fg?j@0D`Pf6(zdF#r7GwxwATLkwb-8r7Mltqozl3zHWEM79Xe;EeYkTan=-y_K$H|56RRmeFR-J&#kiAL-#03yzeG z_|n-n5mIku-Iz<~U&Fkw2^xNx$r=fghQt}T_a<`Ce8pZ0IIWDni|zG)piy);Nx*r^ zT`Ytm6QZAMv1K$h_$dI1nsk&Vz9w12u`?kL)NGu){q|=?& z9AAg-G>SEaHyhGj=YOv80cNZW+Xm2M6IaXbg%3z?s*c5bYp|51BaLPVK~-)0vW@wYU>`Nrm$1?i zf_WTg_EtvKabso3$s`h9XUcAA?4XnXj=3w=8RWluEkxbuEKOa4oT%|}y80x+J799A zByPvH8@KUy5Gjt?`L=YrXXEY!z47`|dF=$yjI#Eg^BwJ_RkC)F+*%2eyn5KVXE?Ao zFsrjqKCf;tJ-bINE<^f&Z_@U_aXGAX@k+P3Dop`n#-rMA{DTEAW))k)2&#=KKPb}^8>Rnv% z1AnJY<;hnWMZwP-*$PMPny^JfZ$s)FHfr_LxBp^CTQTElzHIuZo0ymRX&L%jM8PW> ziUT?mWnT`&wjpkNF@Q0aegbi_YD0p5S}cs zofGa66(e2~d*B>$@V(TSDsCI@C&^H^F|U0}qEh(jnGtmwBaXzUO|@+OdLi~X)6dpS zc}OA?z(l(rSX%W7+@sxZgDHxjWSYQ`LC{TX(b(HwdiZvX?{qBAdE(Qw_7B7TD}F9_ z>*Ns3vG{ujh$ugP_70UKXpVHbfu076B9!rx#7o>zSZa1}IM-`$3Jj)5)U=V4@HNB1 zKIILMPg3Mm->ARMcxbosnAZ3n88r=Y-XzG&imCBwoKyi>@%q(Ll*|r%Vhk zqbhholIgBX?Q%JaBWSmWxiAvSy0h^@(td*#S$r zJAGG{ovZa#`YNi%1y}6vQaTAZ3ut56XKc&KE=+m*1HAg#-8X zDga_y3WF_TEw@i#kjk(y1QIPPFr=B{pVZzgZ#;e@s7Pt#BwKl3KXWO5-mTYY4!0myz6BBi!nHg6N%0|%#9kO*LT%4fysE`n6D~cE;O{MBHc1(57KNK%p zt%gxt_qD^b5~l<^6>_c9fl(YSLFH7HouygNm?}R5H7xDpfQ4>(=`2>RLPJzAY<~KJ zzhcDe2`WVxurrA2o(tH8e#zqMAZlze0gK-u!kWJZD5zqr0~4;7_4D=~+~NmrO+HvT z;W#RqcC%yw2riDV1pU>TSsDyDu=_}5f$Pic=7I}cb76osiimnd-ARI1=lo>e+^6s@ zRqj{7k#k|deIm9hMf_>ffQ7Ss1+6_(&+onGJG$|KkOv4iYBrKlf)8M~Q5B%rPHN@q znD%-uA1n$iyMDsBo`YP6c3y;(kZT~(9l+#J(xZ)iy|v`OGifXr&}9ZJ5K=bXMxXkOi(z2 z;}hE^&9H1V?&+a3G00J+7itNbD^Sx=r|WaHR6h_u1F2bs!vroO7UrSjAMg_Ud_ zG!CD!2b;(*keAzs;pE5!!H-2gP6rzT7=CZ5l5_5vwHC<{*foo~eqFM+;lfqOH6UjB z*;v`$jIw_bo(kF#bb=_?*2rW^m++x>_9iSEoiZIIMBbzJMSWJU$7JOPMgtYNJ0R$- zPD4NVWl3{SnO?1*HdZ%Cvmr+aYAPxA^xJ@$_3#GiF#Jk8rGGk+w4E~neK~TTZL8(Gg*T%saO3`2)f8WmD3M8yY4)L~Ag-DpWT_N14KQ6o$T-tk`d^Z5t zVI8p*yr0R@9qURIF1*us9B%5yf$?6i|VJ1oMSDWrc}%&KCvln{c#n%T$z~Gy({O++qSdWw3yY_ zBou9Nhhz@{UR+fWpY(73$>G=_bb6o9M4;8u7D^4rBrZYa#E9w%N(` zuv4q7$3^Ew7xEiDY^i+}rVFa~(Zb%GnU~b#LWk+x>jH*s{vR&YO3#@z=qwk$@8F<9Ua7BMwz&h9Cqk=}8^<|L})#Z>Xb&QJX zTnJQyu26UmVssU%8Xev-H~R$Mwqa*_mT+C1ymwSW+N`~qUQs*xz)&La>e74eJEQ)q z?NI?b?%J@kXjRLgtW{K85jVi9 z2B?$FpbyG(CUDSfiL;l5g)}Cl=n3vxH``-~Oj7AGBDps~%8du2=XRiAX|LWjr|y*P zn?D#J5)x+Rq+&AeZ>6W(<%rz!!m*2S!h&PSjJH2q(-zxlZPV3>K@XeX!s0t1{=)&N zowj|2l9r}h)Y8v!EJO)aOI6izme&=8hUCqV&(f}GMgpm+fGtdx$3bfV*pQ-`HZs>QbSCDeH{6CS z<;V8D?_;=twW$52gLDPJ0K+edL_5UCnaYuK+X9vwPSl7b)f5todAjSQqh}drH1i4k z@mOREM-F)JV~}Guai6c%UzcQ;Dzc3g96i{_UJU`~j1>t!caoaMP3cBCNs>J8 zs^RF?JdkT{k~I&;OQTX?oE?GZ)iv3iLc%#(Ciw`#aKAl&s~|xqJ0lT{tnk_Pt!K|3 z6c5)u#s^E-Gu}$5mgSV!+d7*ee(-D&V(@l5ZRv+rPp-6BQ)jw$mzr7&HTW+|EgAfU zOdexi82+x@&KDD+O+M@lnk$L+d1SDfHJ!#!;5M8WctKK!=j<^&13#E^P#cjWli<`n z!KbHSdJ@rrpHwIgjfQ)Vp8LApg=0tGdYPQY$I8X{yxn5040Q9<F0X3+-See~ za{=WebJ%IBO*dE|*Z!T|C4YvC)U?(*FmcV2x^ohS>BJOL@6*&G^L($H`^y+^%=;ps z#2Y?6Ez~Oqa!mxyxx=8)^niST>GJ%k0Q_7@Yn`#1&|1qBGhumTm45OJZ`M>~9e{4r zj<^-SIiK`yjJx3kp38B+BCJATUHbO==_-*~$Pt`K0GpA%>>#`OYwzNxYsvGeugcid zW})WieLt&_qbJZbf*X(Yr@m)%kS<|HD9F;j=$-MB09^SNk!B({H>*Vpi83@FvSgow z7<#wuN%g;LerHeGa7Q7EJXBS$cd%1V0XdUs)e@P^A!(=y#Wk)znbNS8m^ZM-O+?9v zOeU9GMx8`7=~FdL9}?nrP@bXDs(O+TZ91PJ*9^*hUQ=qp69EQ54+=zg;l|y0>bbQO z;yEHaO>diRu(o8vvk=AXLz~go?TwHa>Z4t|)#&kX+2lK%vy`As5^n_+x+J>O zCRr=Jsq&hj%D}ClWG@tj53}~8=EH65?xwZv*0^IpC65=ZnruxzO16%x zgucOgN4ckW>|c~M%-y#Txvwz-d8~qQq^X}KTn*s0P~i&xLt{A&r(IcxmULaZ zt4{ncjQP-3;gu0T#;<0HXz9?!P4oVtIM`)++UDEsh)PeTN#o-|3}YzeircyrSHl_j zbI@o-@qLiO)lAk)w$y#P(sE4BNI-`%N0tU4wuMMvVJBUwx9j zr#Hh;xM-EfxvmMh6tTuzZ=XPD8A*W2^t_%!YDGc(2!4Id>(u4-7lf)52q(jI^wW08 z<5MHDrgN13I_l&xf;OZh6PvSa`2wtr(FjoFZch~}@hp3&dbY#L)69D{s!C3u^#Qo$)3kv4||A|j=4~?VI@Zxd4pI)-@`y$-AQzT)Se7&ydY+b>c3= zHA{5cP-9H$1|cv&XEgTUN7>#d*4iigmOTi4a2`(k?&{WOC8!D+aed@4&>>SV{2aRO zBP4@n`ySNRXs*iBb;)SU;=Vy@+7jkWd8QVu>@-C9fV`Xd zgxK5!pkrRu)j}lINK<2u?TdlAiUbB5OiJ1aXm&$lo__XCV?9-bBnq zA=&0Vzaz`G2)!y5^o&y1328!nnZOcyJhsCdu-iKQS#+tfI{Do$Ni1EiTgiRUeJS9>yc;DyS}3tpc@`?3D|SPkXYCVP?5VPEJkfEutTJ2NcaP{0$BgoV2aA-rdHc=DgWy^u zwJ6TeH#lrhX;@|LY2VKWbB`{wZ|Na!k4q1Ntjd~W>i$BxyWKUQ!d%_F;Gn#NAJ>7w zMh%#T(*#zH0e?z zi`I`WUo_D=km{r@HcGcD-q;shp71bCZ8q%YT!uL8Lo0+t*6S{p*Y-pcK*x>sW~Ob_ zY0PhF_Jc2AJ{>K5@cF#}MU1fxJ)~p7V#?gS9WnM?xI#LJ4T*`!&7*}agKdk(6xCl7 zP@B%49)X=rgYkoP7CE-X!42D>kvln$-%wxGwxlJWp&;Fm3ydMQBmy71%C%zwe7AstC-*bYJ1hweeMX!iG8H0}z-5VL&iWNlWdm&Yop0ZADp)b4C0 zoYn48Pn#5!$vFzpt;`R*$uP@kPNz?2sfj7l=ugkkp+-UoF#S206(j9dNGW*_1NO$# z?LX7SfB5&sc=t&AsrPxErhvOTT0CSo3Lv>*_{QkWQ%%5#P|z?Wt2t{V>aF#(Yw{OW z9gQ5}I1uQ}8oQU9(k@D(!Kp{rl5E0ryWH z20?}oaQHAHz2NmC5t&+Tp0ZR~CYzOVX3G+L_PFmUjMD}OS~UR%xAp4BAG2?Nk zG2D2^en_)fu|17Wf>9`d7xSF5CPv!YhnNmA(f?h#!t@`frl)NGrsBlEsH6X;^bhd| zfja`acpVdlescX<55FY3_W&y1YuSLGq5N6s!D4!+L+YQt!M@>k>L z!N30QqxtVo#s|yq2PUrbfAcak|4-MO-?yC;Pk%8VV&Y^v$;88S>#n}Gf$?2K1AD!@ z#wJWmyo|bEV{kM6eqC@5{cA?djOSnJcm8Xh#+U!O7zr?*|3_Nz-_ZaD{ZaW?lA+ce zUFNgDSWjI5{5Kf5k1}z?7#t_=|LWxs(^;kyjCt7`IQu$1a=ESr0zG@==EcCkhr#o2 z0sKY(p5JfSf9J;;b-%Xc#B~P5j9xhy)Y1Re>n%4=w?~ZH|8YAQe$d@c&fokNqR||F77lKV$wu;12?S5cq?@9|ZnO5%@>!Z~lKM_WwsP{wR}{o~E%e zqx6?R|CiYOw>bH~D`1SZH1)I@HB3ZldyilFzfb=Q{mFl!rsHP64DCOY&jTd>{W|_* zn(xX#hgkMs{J#PEkGYwcl<)t;|GWM-{~!7MZ$$p&e-QYCz#jzuAn*r)KM4Fm;12?S z5cvNt0s(gHqv60L5I@>mNIdQS?QDm{>rd@*-j^=jGP(Eqj`d$_S1(^QdLI*&ZF1VG zzHCb=F*_nVSG|Cm-JEFBw*@?p9VG^GrWi*aYKfw@5;^BuYmy$B*t2T{W}U9>+{;Ns z3Y%`ng*vB*t7Ywnou5tyf$>8|G^at9bE*XZPabovXD5<~E1=PhX+LK^|KfKee5-R` zV5Ls*Vc&hPTK3-QeL;F-Z_b%eoTHmFE4wcor6y2QK8Q&+-*hc+HHy|KYGUI8_Vrt{ z*Y(@_er}1%>z`hXUm{Id+8Ufwuf)Epz0&w%!r4%zDL;9yX_geI3{%6M@V&&lDZM7j{{jhiPvfF{ZUZ}!Wy*k+|M%*({F{5j@FdLQn_{3J_OWWgN zPwRA=%Cov;-Yjzbt@dOzpKhzG{J+(P?DHpf|eW_i+T(3R;G=Tnz=Yx}iy6l}p(jORatj;}L1>b+=lzAw)c3tpY z55rHwhRH5ypE=@Qnt=hdUv#y8G8F$eC=g?mO=!v`bcng=^0K3wsH6K zOsW7r+2{k^@9+YyrwcRZy9pi_C|+G{O-@qXsvbgewuzV0)h~pGD{{Qh(-s;#D}O}m zhej1h5O4uRX8p{k+fj5`)P#!b4Kfohk4(<{T6B-)r=FVLX}#VXZ@f!nbVko~E}V9t z)Mpf^qtd68azaIt)-+!?B-MY>KV~i16CQn!@9DFYJ1*A+&QOcO+hR+}Pf3r}#NZg| zh__l5#Zbx8W>BO!Ui#j(u=5v0qW^jwd%Nl4eEwxpA;e(L{EEZk)Y(RA00(Op`KT7| zTYr(jkr9(rVu|Wb$H=Gf2Ne`i1zwIB_e+x%Z6X|fwS4_O9Cnc5XagFJEi z`<5JO1>Xny90q^A<9@{s`ZjdH(M@=BUcFc?qJQGFMah-6Biw9y)4t5tCw;#{VkExE zC~?*Z%6-vqv8V{Z0Ny=*@H{aA^mb?@Xev)4;XUWcy=Ip)(3#w`IEwGbm*c04zr?kB z#zSVSY}KK**62&O(>~H)8NiXA95zk&VbHwRa!zbBEd=4T)yUe2P*U^}j|~Uz6EFvP!K1TDZVfOopT z09zX2QNSZTi3z;|}ewdM#S&W8Ja@0h zwe}iey5rkdseuLEOZbV)I&+P!mYv;YjzgWp9(7%81H-%8!x2SSPcOdfyHql8Qsef* z9mEt+v{3n6#PP!XDBDxfuaIZrqH+vT#{y9y^^2p|;278u$p(Pt4y#0N4{kqajoGy@ z&-S}8_5*XzH5;2|A6f7>^DqDwJLeT%!XsLAXUOB&THu@>cfHxQc}u?P?Aej_})!Q;a8b8N4A`=sVkYvA>p0sVFX z-kZwG!O+zD<(oj_`W4rvpS2mS5#JOCOKJYCByw%*`iO{8e5&)iv$o6*E4|BuY?nuL z=f&q=G4tMyaZ5T19KDwkhbS!{84n*$2|fv)D&Ri+tmc)H9L#}wL2J`Ghtu*YIA!Kt z;#CRas7tO8;8kKySOiL{r}e|53qVy5OWL0A3rPakIr;o!A7EL>hx*@8!83WjRdc6z z#dBU1Pv9;In-`uW1F?~)7~i{#2U|C@FLEt(t#x?Towa0@cXSzwX`c_d)uO3kF9EI7 zs^6Hex<&XB_PFVB!o#%8%N*>vH{AzR-Kq>3e#k+0heu)evWc?d-y6wILZgaHcc6=_ z??m-uzXX*$5c;w#QP4>9F1F3`ZLP` zCTExxU%0$8d1kpTaDFl+)F9g9TaNViRi`;y(Xt+=LpRk|$8C?hH;$ZKRQ>euGc=TH zs;?Ele#9vMOw_f56Cbut>8cHHzPET!eop98*_C*#v4AMKJj>S`;2ox_n_hBTqb~R% z--FjYezc>4>#3n}+J+BkBB9HRI~KQMmUVF^&v4Ff3N&moJLS&{^DD;W^F1&+@A8%C zVXWrwg3H!hIF(|wBfxd-$8sB0;ARld1|i5x<-D3uXFA2@5e0k$ES4;L^84` zg(sfP>&KSo&B~5(Twcwuyk>jdm$fHJS=3n^+!|wj?RwKwvFU3rM;M+yxLEg7wuo62 z;$A6-%f~mdWW0@AROBVBzuR9yHj`TR0u4Q}@l%U+pc7v+o*YI#&AA_QH-6z<6z7HJ zK0$=R>gRhwem~@(hcg^5cliOwl|Iw_{Jv31bk9Aup{l%*;lExmTpZnwY@^!N{;*nP zF-=`%4+oeouq4uCtEmGd!C=xyx;n`bI8YuI%Ehb?R(O#l?P^+{o)m zx&wV5Gdx!BUpdqJ*F(Md(9yKng}JY^$0JW)`Ccje`g(mcIMd;nf%^6_5rZj1NzCgF ztngi)v?8{&gn6EZbAumHP%P3ADnCyAo-4egu9K9_|g__mt|-_X8rZe#chL&N>wpO0_@Hexv>4y!V|8DE{#mHrW6{n{;7Y zQGvfIc6PpU;1ilahV!|u(Ql-ow^z4%XZzlq)1+u~Nt9#I4n=ef^phz<50%`@q7Hdx?Uw*m|E6gToEIOzcmHJ52B6^|^x# zAK%Xs)zWa?=h{=N21quQ9g)-TD);v&>My4V1}8mVmVCTSg=7gY)%3YS}vh`e_ zT4!R2e3nJ)WyQw*&Je`ll@xbXb}fcSAlAD+GCeYfwCrLWbpDFEVPMZ|eWGT37q3V} zOgz|My{WKLxV{7^Tp))(`}#eU^i?xZTxBIg@ErT}OH;gOd8=fKHhkl&htg4dYj?|{ z7VzNGCV%V8AsOU_)Yr*{tvBnMAKB=LHo;rpM)sLi8Dc{20&x}rN{Z?F>O=M?G%QkMgeH=?Ds$6vdkkzb>mWlyR&vX)>7ue*$+MX>_9MX$`?DEG!H_6M}g zx}FY>$M+#2bYWZTzNocj=+8?-&&A3}FKd*Jh;>T0?3EA9s3Lj#fYYzZo+EG%iV3YQ z>lDCM;3c!yiPx-EV)r2xF;?GV*dkw^rt;LBqEC^vXw4&+Ep_RpP>TN>`+%my)k|N9 z^7v;K!99okQLXR7j(o40Sb^P4Uk;dM#Hx~9PSGjCw~^%>y!?KC^7GyEs0o=Bd{`NWy8wRktKLop^62 z7(UpmbUk+RFpyLr=h7U11Ukk9(F2(Y^7Eajy$pe97eT$Z;~J>Xt9*3WtW!I_s~EYac8D%zxEStfU&&0)7&DdQq?*Nj<$uekhP)6f9J#Lau!l{-;i0Jd#84Jz z+c>qR*59wjiM`4$gt;<%@~b#e+76a>rBZpg+T-;(Nx_w_d0i`+XDep?wO2o%nV#Bf zv&RWJc855;7*(m?@&0suLo9;uL`;*AE|nr#iVgz<#!KEH%S!?-bl>qQ+~t+P%g_ui zupeF5GK}B;^g;m=Fxd7<$*oFdI>h@}Sq!2@7rk&}=nIYG#Xz3#(pbw=$VSK>E!yen z>h;2F@~1SA`fYFeubBzHXaBzdFF?@0EC2q5N`+i*=ADMA>*~3)@_oK>L_deP;hVwk za~W$pWtSd1PEQ80>4KYbDy_9eC@oqXg|7``Bzfv?NUIN&FsggJba1I zR0~o6y$$-#4CFiRAAvG0S)PA24&<7jvXc`dsJyQquio$-H=kUAPN##otJ4;q))YW1 zzn1c56LZ+qHijR%q=Ks}T(P&R3OxBVuAb6?na@Mf{L?=SemH~Ir`yw2D{bhtQdxTK zZ!MOE^@5jgIX82h$;&rYa7UBb$_&Y^oI&kkr2!3zGd!Kf&^BW(L*F$Pyp4l7tdnyGD=QmzF4g?H&@%BQR4;>QfHJF5!dD5k`UXVuBcvh|1g1P=naHUI= zn3O*m>Rf>6o!if<=WWB0Gmqf7ys`97SuMQ3+J{^W{Ua?h(!+6&#)971kUzHYyZ;4Hf3X&s&MVB;4@bMOMuK7W%zc6kUOpU*No$@$S(h>?Z5W5W z>8G)5M_(!#WzBcGbdXn?t!$Nf1&eof#0ZN(tod&n+0wp%K0O_a>LW*pwiO;w+5H3y zL)_rch|P4|m50LZ)la3rxaw zaR=~Qdjwv*H<`stqgd>1bv`D%Q}Egq46}+9ar=op6f09%K(H#&D*^r>+Kf)s8coZK zEx5aX3MNDw!JtB4o?_RRE_kSk1(qwQ&78-mwtYXHxyXjs?y#fX`EOA3i9WYJ|B_8B zdm;+6C3vE67Od53#kkkzWY&bsc-+~zx;d|o#u|U*3#*K1#+cW1`l`9`BJvE)FIXy= zhD7l1FGOmU^9J|tJ;XJ0?xA*pJ(sTQOP!BSr#~7*KBZA!Trhq+oqk*!KPd&#Z+oty ziLD7Aq&|}7Tt1E?{_e$7esiJV(j2O?`Z^|=u7}13Lg_bCY#vvM!tfY6%jhi>>_T|3 zx|EOM8o1Ub3i-=bT;<0+h*qpeI(04%bWEl*dQG{#cPP)kvl?CZxHC(`avp(F9G9ri zW1L6wKDuXde!^>%OG(8qzx&d;9{p*(piR>owb3%LgFW2aB8^2~akodM7v=U!;#9Us^luLmP|_q>ZvRK};Fpv5vDrp) zW`KgkLG!BgvbwG0V{b)OqRLd^=By@Z_1JBa1%Zl!)x0dpI>Ta#$Jo(gQR)dv>xLBj zz|=QV?Z5SsE5px8xk0xyoh3`OKPm}DbCZP?8_b0Y&=FoH>=GY_D+#AQBuLKbn~SI3 zj*`?Zep>aZ??T~|N4H(sVnqRegbLz3S(e~5S^P2nyZF{~Z6bx~W@ihgRM#Y!z9FUCN! z>Vdt`9Xy6?Oumi98a-?yEF?O8@|a9cKal%p5C00Rz}@p0(N~OP4n4Ja(xIJYEJm``G-#K&+QD{AT$ zPoKU>G+MQxWV#ngduc&jUsYE1`gM@`?ft>5=LB2cewG}yO9YLgGJ0{kDP3{S7n{A! z;Z5ILBy#>m{PUp*j5jE9LH{3f{+LgVFBh}QuQeDo*PZLDt>KyXv%y<78LKp=vi{4} zd3;?QtrAPP?L%99yXY&DC1LcPcNXs$H-WwnosIhzD}l3u0zI}>AI$qjvo{*4v@~iI zJlL>}&&~OW8E*$+WVZoK)>Y?q%9hkUK*Y|T#~4_fDvZM&Y@|gM40Oy#+c6vY2kk<3 zc2_k-o)THS)dkp?G664a*bliax0VriALD&~g{FCLuV{$Y;PcCFDP7efUqX_WR zGUDCIHl*NDE*eaiBaVkuQ9V|NSGeE8%%goU#$Y*|li0v>wV$m2rT+Bjvs-M`mHBXE zr?XV4$q>|&T<~7rGI-ZCn-Az3L>I=Z@>$t$P^G?%uXwtE_W9F++4f_(snHP{;_VDQ zXU0~0x0UeY%S`xO?<*L*X|BUCp^TgFc}!Qu1aRwzhMY@BJ z?g1;>UX}&(a@w$Yu@gPAT7^q5H=t3pHcyPSqh6W0kW!>i+oK;N*E6QUmtMjaCxl_2 z+-Sd)>!9gBiY>o1gHBG7rzP!yg4*#^?CV{_POa}@HVHO(q;fY7d(uP(F1Sg|t|Y#8vwbUnmi|O0!+(l#v$qV(O$D0yREOF{t8*_T&KlLHk$Eo(?aOTgbVcfrgQjM zI1b;_x8u$}-y!7wBzXOFAPlTG=V_7Z)S;VzyNn^_c~-yiB5`|e2yf+v3vs8Pvu)#+lCrQ)v3SB}@^G9X?hmOXL#~xq z{qZ%0gQFBNH$)9$pA`{Oe?PBz(5B;TeVcEG&2d<6qa~ z>fWc!V$J|Q-kZT8$H}yLyCEH0+lM~4&BDI#3C3Gzz@U|{&{6#oCfuFKLf*W`7}fP) z85D!EYcf$i_$J=D5`@JCHBk6?GqbxB3;Mc+0T2POmC9S zwyyBIZBNCdQ;E{+a@WWLYag<`Dp=H$`iYA-=L@*u|9!qni|EC!7ZT6=iP^8Kg_hCN zgv#T+($aH!tVMQ)v~i#=NqMzhxR+d0wW_a*sA{4_9^4|L<*0wsg6r4q4*n-AI3=`6 zo!TFY`q!t4KKtUu!?Cx;2IT^AyIHUFk^3GY_+*7}E_5+DYG%reT%7R3gK}u!J03?T z9EI?RSg4WNfX{!PhL!D^qTq z@Sa-s9mcPu*z#P>t89XcKbSo`j(@G=F|Ot@4EvseM+7tfIri!>9O&Lp~(L%O-x9ptz;=Tnvf1L+l%OZ**jd*{Q%U@ zk>hUrKMLPQzsDgh%G9!JGxa>!fs<{ys3T?)b2i{^4KeU)bYmf%hlBH zs}hZPC-89l%S6un6AttrN`p?t!mb$3i!&eM!?&Zc7$)Hl$wiVFIvOv8&c(es^PuZeyF$NJ=1(WiJ;{Fzuw{wnii&1*4uq$7gh6#U)N9E86JukTep(uigK`G<8wAQ z?LCfsdK8`?zAXH=T9)5PokVH_`=W<)JsHuU#XYy3#Mwm}5VdC>NZ|nKe0-J6&sxg# z5?_LfTD8z~aXqJT8Z;yzktuFfq#?S4>6PidSY=uY-yQ?J^2}h>iotxlqXvII%d1K@ z=Mt=4$Z_@~KNg(1nTQd&NEU2|fosc|~O%`%?lh=*EUNGEC!VLM7ciie87h-OWCtaafnA>_vn5*Dl?4!aS} zRzJvMJ~v!gWV#yLrn60WzUsC(eb5=CZ;(p7DuHm!nK*PL>L!=?#7PfLZS)8?6ZYib-!57 ztAj9Od=ds7eS@8;Q7q`oDpoLNFOD3RNG^;vL$j0fp}fx(b}nij+~{m03!R6NGtyNg z>~{tR?YzRejFL#7`p?YYQyFco9y8}}0yfwVN29WXq;94hJzAMS|0NzmXTt^DtY`uC z&IqSLyWe9fn~rK7XW;1FzSPs<6`TpPrI|Cfa^vE2^ogKK9s9cS#&RP%ep>((J@10B z8(w^dyeG)-6R2X_UuYYhKz|zCq)jqq)TGi2?P8@o%Si_sM-|x1FL#ETJSQ%@?gGs4 ziNTv5gP_&97kx7J@%G6m6Xt8X++J z>^fo3$zgQ8M;O)EKZs{O(&t^fDoATa8TBr!6|@&zg;k5nz`(r=bvq8zDhCa8oLI_k zFLtLo5#fBkWDnQg6O0MrCVZm2E&Aldf$ajqkM=mhyMlgHK|27y{k;Tx;+GJ)tGSTu zxkVGWRplLg7ZBtB_pm$F#eZ*l(Hj(o5}$;?bDl zEKJ7<=h<)!OZ`N4cK0J`RU!Ce_zkv8JDyyO^TFnRAIO~n+9+FcPCS-*pX}OM4C-~e zU{Yrys7G3meF}`c^;3ssuX5p_XC?Sq#NY>&09ZWphxqQr4JhgCfxb6qp@vd6Y-uro zF;(XUsj>qYeCi_@CsJ7b-z^v)u^jp*?I4QkBk0A0v*@x(w)k}JXlmL&i{=0Rf;B%s z!Up^0q&=35>S9qVh9J*ShkvQnO!dxqwDCLv2CX7n zw6}=Jf0@PCLJ{a48%f7Mm<|ILlwg8~8ZA%X1dl%5XZaJN@S=SL$s$i6X=4I!TwF-| z?9k!exqJ90wO^QC?Lr-wOoUV!BW%ApfwsNXbFkOxUkzLBxYnJ4sJizu_(%7nQD6RH z=qJbg`p& z1YI0DhCY*PBkRsAVS6a$)vcW+h3*hu=ox?8iZ*JLnR*?qw)^SsyB?&z=h{ zZuRW)(Bt4gnLtGIC$d%NKQdv)Co*v5MLg0Y%m2;XO`JFXB|Yb7;o9F??2^9#WkXz< zR_Qrh>i-;EuWHfnb@i~{dIb&(Zj)-C{Xa6^7vS%Ks^C{X721MKA#vnbm^U;BbbDpk zz3jtcf2VTV(t^a}Bhu*j^*r0Rg8w(TnQm_QN>|?BjCR3Y@N8TU9WWBv=88>{uC!h3 zbz(X>G2;L$icw+hXBA;uMj(E0Xcw1!{3Ill+me4)L9Ev233<6?B{`-4fz3U6h5Xp7 zCM?Mw$09nNVU|rD{u;KKx&My96?8f=E45<(WmyqnKk`c(=RtTQLTRKF4>zpkC2krd zvnUHMdws;7LyvLkddi#Jy}|N!AKtiJj{hDfz^|k?fAK#?v)YFeeRIq%{uSf+0C{=n>YvmZf*^De!gk zKET)~IaoU}1D^~MtJwLGcynb3x|zLzuY)fzy|)h#4#;tt4?z&#b{BVZfBHSNopt<~ z2!o!duoD+Ean9UtWZm#?OrE0)=O$H%*ZgL(1E+_8fvh(6EWgUmRjd^M4R&I7_($kI z@t*v&J<1+53E*)$iDhX177LTd;L~? ztdFw3Nuz{;uTBw{9BB*`YGdD&v-8;h1JCBVaQ&u90+g3Z$??@m=#btC`K#HnCq; zJ5ewj$J_?Tv*B|RS(=g+D{VW;8q;iry#8k;7w!>uJMO#~_@<6cvow{CKR%FjP46$g z8nKzh?!GC6=)AWVwzdg=8d=hVO6!EOkXyoY^)vRv^GR0Tc5<5fjNZVCr14hhj8y-42tzJ$hkaEvF8tmi+^sL>kZ#oYW@HPz15;nBX6=#|z?+S)siV$^5x#Gr3* zXJ{DZwf*R;pDxfBEpfw^Z7?HV0&AT$p|^#aPM%uddw7FoKs=*G<|rC zR$qEK#|Ms$FylP)8;?S-E}utFZF+|zGo46c z`AA%*mP>8ER^gOW)-*g{i9W<$T9DsM^P(#0_zacmu^9qp1jLhPk#WL7^)phdiJw`= zY(p~M@;Ad4Uwmo2fQ$+q!dx~wvp=bv?0mKzEPEYr%Nk|4w(UP$5tm2x6Q^JrI||R9 zFXd|uOz2hJxzuca37tg`v9Uin8S3fEZpQUxvp(zKmQ?vpx}c2FdCHD*|L zUIFU5)5wjOeAcC5CivaoO_VSHV%e@yB-rc@vE9%Y&DQlLx~Hy?>D8Si@_-ziU*SUJ z+C9EaaLePIes2b{4J0;(^7G88dD!Ht5EC2jRpH6K#4Jp5DNJM5YJQPmB-T@kX*Q5v{ zD=egY%@y$Yy9OdN!5wy-h$j=bwGuEiqGg-kk=FM*Jl3d&ycP_2kB%)XKb}SP&tJvH zfb+1+W+M4CO$Rsg5~lT9o9flxV~2>2 z{|4BltB8rGzp4ocp<5l-?2VV6UGeY%3tr{!&gRB|M_GgCNz`| zcTR?{Dvq>0?joEo^u;kBO7V5FHFXG9<}%$X{P(Cy==DyZP1~NJ_o`aaMOKOau^$b- zOD(ETj0vF=b}4bAsgL=`>?px|_H!C`IiB9HzDtvwbR7CBU*qX>ck#lyi&Vu9`IpsA z(3$Q;jgr=4oxdecwLM8cHv%;+Z=r>A1~`n_G>%sGmO|)!eSSRZlF082_U zt6ds9ajnoqJwRuk9eK+ZqW^1(>Klz<;Ta1eyKozkuW!WPKVE>PXA3N|?F*$}Owjb` zIGXA*R&;ik;wtBQynQB=Z(U@>%{vG2orBcr&6}RQ=wtxDU;B)u7pqAYExSoFMikQe zxc|#O#ts}~M)OmiyD>O(H;a4w7^Cv_Y4_))bW@-A_)lI5KSy1K2YEZ$-gonO&gA9P zbk2U5{V9l^T4+`M_Cp>&u;vIqKFSTOgYM9M%K~`7KW&Hd;1Sigo+|USfK@zV)FrQp)d*r_vb?T&8mx{kypUUwL(+`l$>)B;qtNA3lpeyR-&|CbxoTNfCZ`?15g5 z{bcFBF?g~(8fJ>`hsCme%T2TyP)7ul}wX1rm;XKYv-!1qoaM9sHcgY|!tu_eb0 z#OpihYb<1HV{)aC)m>)jp8lkZ<6UX!EB_=T>G<5(X8e_N_LOa zBb#_k%v^x?q4W|c5>OBSq+mFG8xK8G-myEx)gJnopkn!5RKqwD&A z#}@zB@ISA3pEr134VMQ)j$IhXE2T)ZhjwUCNU7&O*NLP=!z@%}ma-*MNNG>)D3mmW zB&nYJoRd+cp@B4vknEIMWWDcKxUT>D1I>>(vSK+nQcJL0{;)rDSdQzyC!a4U!;VY^0*gw7f zROy5xof&Ukt@z^zRl4m-Ure876?EbP-n9NQc2~W{`i2);m9O$7&R+3MZ(9*G>2CwC zv&F1KH5NJ^wGu;z9;~Tf!TQp?nc0c$I5#c`KinWeWlG)X+u5zic7Y$P%}An)%AODd z^&i6D+4mrP;!GMD&QrxVdi0n1DH3P%mD^!01v@t6lkY0Iv{5SzVy0`O#(Hz~yS<-0 zUpIiNz#;*=~J^g^r!m}l4$8d zg~KD{!c`$%_dN@DR@UQ$#>*@u*VamV#&6c{kciiKs#*0Nm`D{3OTgFW1$G`&%X(ky zT0L9Zj)fT}_>O-s8|$ggX2~{Ctx_kemHnQ?Pu8_ML66|tNLj1vPrOmp!Z12dRE@pZ zHHq8yXbjdm;zdbt=(v~@uwMmZv8+~leepKt zHnxs_+>{D9<2;*i&z$YAUXE2iydc-&D&R$T1>G|)jvCCUqRX^B`2*)I+0|q#*erD) zDc?wC_RiAy!Isgud8CF`{#byp(`|NoR2{yY-$AF=m(vgO6?n(S*vd~~SLj&h@2vfM z9vJE_qSx0?q!|-1d+xNJPA+lBDEb1Zff~!WKNi>6#WLq5{!lR{oc$|nhu2rsnb+l? z^zn+tVDUwbZJu=iON~;Zx{GXC&!j21u}=s6&iqYR-CWO>fGoz(qxfV$PxGp1%&ZzP?zjpfnLKki z*~gO7=hKbdGVJHdn>2EoxmCotTWl~lfmy76M|W>I%MF^UVg=c5DzWMkI~A|U{LgBz z$2oWKS$hLEqbP`0C?BJ(4mxaJcrj{P)XU}!*x?)ht~2AD&3IXU8vCNtO-}^dR4=`A zu)2QBef;~zWbC75jH?aYt!$UgM8xh44LXcY*Dlf+W1MuYQ`N+JUDxhC=@7I75JO5>2}e0aJzK1 zbL1*qvNM_7%N$R>D(*ndE|Z1U{Tj5wp^1OsR4Y(wYatdUJ}7LYk^5}c#}9aIrNCr_Y_nd-FMZzDXwFQ`UnJy~!hoL;aCCvUA1 zNmS)rNL6(JksIYGr}PhB_@j$9=Sk9>#!#B1o{mCYM)=6jsdQ47B{}tbGM#g813cHy zg<0kcK}jo&A83QfAV%lFz7t*=5qdxsTYsw}pca_h|Ec4Lto- z9NjA2K;>?w!kWezoYU`quGnuX8HoCYR_Un|i;B5y%%C4cyWT_T*Zi>bw3Q6qkY`bE z8n8m*5nStCjz661K>gpsh)m-~(h;Ny0Sfc~zpEn*jBJFB0cud5I8KnmA4i{$|0Nd& z8pxIK%k;$2tk!;;PWy5OlkM?XS}X%aN>sB+ zrr9Xz%njl-dKIT-qDIq-A0r(VM|k!8H%ec-5v_e%%dKB01u<-Vyz1@U`+os{eZc?l|`#rlAHjg#R3^2jOB&uJpPcMjSgQnwg(A@1n zv?8X{Z*G?GZI&(20Y4gi?L7ID)rbmTDPqf|+0bm4k47&1;QH$>BRdi)OouA&d*?~+ zao#F8VEl%d&wh@avyCBa?QS&jhZ(QeH-~NsHfQ>6E12`@snjDWmwp*MLzYQLQTKpY zDEeK%I%MpLW0*AiT{<2oS8B4wua)t~!pZox&UIwH-5=WG&mz|mXZWaP%8vh$V@W?B zkk!ejs6o{eDwI9OPZe24&-qMYo=cAN9#_NYHI?6l4o;v^{_Eg}f-IDN%7VL>@1uch zsnq${Zglt4adKxUoa`~q;N|E5I?$uTPa65exu6=HPj1mUPWIQ(7=@3Yn&>Lq081rLAU2pyaYq5uxOXL399m`Bm?IiA`}1_v+wnvV3M1FS#iIoii*Xqs%6e zbNUQbpAO{g>PoqNKKnVX(l|k^QasOJ+RnMYHRrd@+s@}LJ;%|;%iNsq9^tL7C%j9z z4XC#?5%i#qkLrnsGWWYg>e6GOOtBOSoTx^Fd?$02qurp>LWz{B&7u#2x8si1{jBp* z3Y(x9fme%&RyT&WL(jW#y!*Zb8z>pTt>biA_Xauq{+%%eUvaAazlJ~RnbG>cqA=$1 zN#Z#a2QK^={*&Eg*hq?C(Z+@Jm!~b%9!cV_FY4k>~TRM$m;E2W-6`h$I*IX*wjX1&5p7+ z+CB92E`nOKuOqj6qD(zyHT%=;!mOMMA+*h%6{xkbISKbG5^ibWkPma%N>L-+=%3FX zZ?>gM$*ojnY!do2b}lO#G-Oe?7P3!jE7-L^QJ@~ui?&}>CzFq-lb_<=5ZCGoV@p26 z{w_s`Z0Hj_o^*|BO^~G(@#C@c!|$|oxdrl{RtvhOXYeW^BH~W z>|oOh+<)>utW{XZrkTl*mK7M@`Z%&)&(&nk{S|D^MQb?IM_`vzG1aQBhw}{rCVKWJ zk@#!{FO^q;f>|Jq{`3}wKb+6RGMhkeViZ}vp^%8>9|GCu0&4Rq6E1(!guDn@lJ-wP zs^u3_`G@A5zJ(I4oY{%A1XbWOeH|U3C*T+P$IE=Z2+1i*xKeg1Q`6oc^oWee5ZC`+uCOwu!Tpi~y>m5{>_T%%R?^eW8Z? zM|)Pu;hJaG^wFF!w&6!SF=^Y08r9#D`?et<-oR*$jW6V_l>pU2Q7k%829;Gj#P3#N zBX%!Q&EPQ6s?x)LtKUOpK^d`(E}&k)r{J&24+w7DPPgQSz?ZYn;F;Vq{M^a4dSZ)W zwXaPx`}kogOZ&YX?=;n9GmNw_XJTnJTt2{L6zU-DSOq?KPzheBOJI?ZYM8A(jjXy_ z#(5hzvvomnRDDGa4j3B8j&h!$^3;Isbg#rsr_a;q#y(=OMo6IQD%|w1Ag13Iu^HwV zn_akt>Mm*H*w>;N}iOtkVo|#rJMN4;_VL48B46TtB9N@DSGas)G;v8*u*WbU18#jlDHD zradAzd7s*OG_2g2*4&tcueBP%_J68a&=LSb5f^+nOosi~IGcw0#zJv=G|Aquo?I*l zAtU)W!Q#LEu6o1U9gT#-LRv(1w&{dWK2Ogae%2~^T^gCP7-t&P(W$J?Y zs~FmJM3i3W3a5VqdFVYG4G%4)U_6RM8BDK%hn z@(8zI`!6^w)?o1>+N^Yx3clq!MCT`*Vr3;>G*DF)nz%{u?Mn;zcTA!*Ne@cjZeunJ z#3(H7rE{B3Q=331wnHwC1teOr*3WzJ+mlKx@7Gnz_jZzeKSy*wvyh&Z-3RL=c-S;| zB3-#i42~pjX2avV(S9u_dbQ&Qeo4A@g*ksSfm^l=|4zCfNZDT8n6zlI{iWE$rjNpJqF1M45&IHKDQ2Q1%3 zZfQ@z`$E0Yxcs~5cD*qila@w1PF^9UdFo&jzLs0k)=^oq?kF8v#G$3db3rS84mm!v z336K&Q@Ph>c+RME&^6!<4(g@&!vb4uEO-WQYFk!bT4&akepZy-SJ1eL3) z1?_7q=sg`#E5o%Z^svb|Y|87Qw9iG%MB@ttZXKZ!=RMekp7q%MCBhAHb~NnHe5?^o z*xMzu*pTCUDhRHJ;4*cbcyj?gEoDVjWDYTvV+uHMyFIwhdPW30@50@b-*k;@0UdT( z$QG?Lf}izT%q;&R4O{sfbcQFfv3)!#bk#MSGj2N4du?l~m(+2Op%3}8k)$Ciq6*gZ@k>$kgWeb{{;f>cHcrw8epX@nGJZ@RT zgl`Xci}yF^`!nZQK-Lh;pRZ4!xZ1(Rrc;P7R%Us@ia7JhJ|;J<1TMdlhnu~t;j8{B zNWZU$FK^}W=Tpki^Xdpl#@vCuQ@6r~-j^UBHJyGP(bG*=CS-JO^O7!cw`YZwdp6qwmCHU|4f`( zca6FYe<3H*thj%nW2r{cdAM0wL?e#GB7-CGpe!AUL*1>|P`NHUmS0T8a#ms)?gY%o zTbZqFFg|}G5Hx&Jsb&5i;*vCs?4ksMEsHi$<*y}Vt%4#+&yt6S^9qs5m6OPKr4v2c za}s%d?BqAUMNG-5fM&{Fv+k4txoBo+8je`4Ia<16^#-39#ZFNgT(13KJ~;b4K5a=D;uz5!o&@LJWe-Ll;5*e_A#YOx&=}`jJE)StZ=~bcVPyzSTD@U;X`#7PF%XIW?g&6dHxI(@SP8AkD zn8Pg*Z{Rjq??iu9CZa8mrjwn04rrfT9OoOAg9MIlIQMuK&T8OM{u^=juD+b!^z&oO z*7<;|QzgwV4aIk4hpD4S1==NUM;*Eyadz80c)R!kO^NnlZP`-nm!mQ}a!QUl9ooUp z);QzG^3>Fu!_7g6wrUG zM#J^R+04NAFXcbhauVg!h)PXAJ>y(J2M2xeN8R6`|3Vy$8unuMTxER!;UNgnh(vp) zO5y~ABsTxy3BGJ-AztDck0Z~Dv7*Onc-qz}Y*D5vzN0G5oPIN!vN{-@2(_l2aT96U z_&G4LIR;e@ZlT{j!%3XfNmL;lif+p)6Om#OP|rBTzrAot;8!Y79!~tpkBwAD_b++z zB5R!q`y0Rqc4l%XhDAu4TeGm_V;5I(U4lRP_&k4CQJPqGO{S(9)m-`3T4FUjS{RmI zil#34(=1ID0fyseOG1TuQ8Ws=Y?lfrgjBZs!qc*?qfVqtc@>E3dei+ zN*b{XjK#e1+Z;d`*UQaV(a4#Ghj zSB`G35roE_=4V}P5uBc-!#%Q%;IFEt@$G+2xX0LnQ?2=HDVZ+8(`9D`Kh8<>_DS}9 zpj;m(ITT~jqLjt&bTa2&BvY<^UaVkS%5-8`m&65a@Z{I0KM>mG%po>!@`PR;GBlmn zL77c^(fyVZuA=NU-)7{;X->7E!UGD#*l!p`tmr0PG3t1kt^s>oQ3yZs{lP!t1wA@Z zl;*BG4|U#Qq@v&nRAn~MhsSr|886n53AZJwqhT1a?&(1%`8*Qrw;mFnE~WONJ9vjB z@ZX1G=*(x5Y{9-Cf}vU~vU0i;Zh9k)%|kpO z=)^?qezci*JlansPyV92Tixl;ze+&9dGPmUCPPY05{-84Lt7hv^AnL3xG!2pOAZAh z*N?+!mZt`6J2{28X@rC5m!s&)rC6e;l!ELUERfz_U=JNES;fa4?5+I`7~4|_0+)Gs zlKMq>6g(XlR1HGwBPDEYn+Q);8{l}dH2*t(0<@f#B;$&V;fnbyE@kaFNb6KXF;9_XW!w{Mhqd>Jv9+B~~)hOO09nCGt=Rf+);V;HiB8wJ!ffE?u>N96N8$`Qi+^Ye_L0UJ^wA%%4Df<5R$XU^z_Rh}e$hk#JHf z3zXYpp;CK0#Z6mj!q6I!|9lK8%gP@S&Q+NgHx&t!@9Uv-&Y~Kz#yU-B!NWbb&*F)0qS3( zN;+ot@pb=Rl3BzVz4qwgtRB7LM&Dp~je&vH0+nvIAo~`x8Q4pI{Yu7p&yGVvEn;7# z>afn?%kGz*6F&@e2TOko{5tb8ewU{OS}x0QXRji2ZNEYNwq@a! zenGH2A`*Ytb(M;L*g=-42eS`#@i0TDm(Exy&gNME0nbfgG{-N8DJuXI*K=l(_4Z84 zOB}4bkJILRBKXC~1>SVYTs&T78vE%h&m8w^vJ3NdX`*c{{`9}r2b3qWs?v5eJd{Oi zCr!h(fnD@N!ajVxm1o7-LMrNYlPNC~!y*f`t^A~P{_iL;QZ>&6Ntcd69b0_J-lAV5X-53*UI{OH9kCcAT`f#Js)eS$ zOd=x*B48A3$ajptfYCA@2T3dja;L2){!)c;v1y6{4TtcsMQy3(^Czrcky zZT3U9D&eF!y9dqlE5NaKFL7gvfcbMBc+{b*Si&ZjN$ePf^S;~S1LC*Ye%a~F>!eY2 zis%~Q&AmZ*^H~a@~GLDmEjDWD0i=w2~+D=|z-&b*w=>eFvcC zPbkzs%7c$D_oHJMyJ*`K8HyFpV+)b7sQ6F#S3Z03HT*|pc` z6opTM=l>L#*_t|jYPdP{7~J4nVpPaFHC?o9%P@T_wuKCIBD%?FA+q0$ z(iK(9xP2LKNFRzJ%DKs;Wc51q-9!WJ%giNnb)$&i#uKD$&1jHHJdX70MTzEf5ev^L zJNT}GLc#Q&S$ym2G=7ZNBJSc6eg24B4rdd8oD(&Y;+@Z`2*;OvqyFzFv0L3ufH%J+ zyEfFpg~dx@wEbAN(YAt)#5^P-u5ADZ-%_R0M2PB-p*=>@tW;+s$hBPI)?{SBYmrFm zIWmgbT&X3yqi@6YCj<;P28z+FT<$4(dhsSbU;hAG zKQ1BimAi3*k{@%E48p$`2jjD1@l-N4haOOkz|lpO_?P=~dMV;DiuR=VUfo9)^s5GI zNLpL%79q?i_cp7VrG~Ewx^SjMB(zFPvK-$ZOfEs9I>2-adskgWlf#p^f9a>$m-Q9c zbE}<|e!4CGxaKlbJ3kDf*S_NHuxlh{hdSN*QVTDfpGY%?8rjK)Q^?|iIEt{&Wap+w zp*WWpkXO5ap7Q~=U8u}He9tE1nyhh6KpG5PkYkGtM)4-=gxstX$*67Hr7E@BPQEm8 z4gao84zci3-t==H-+VO{siWD*Deybb9j5q&{!y&rIj>sWI}YE?-HkhUjK?b{-C*{2 zdf~^U1iV7EXbAAyd)=U|S93c9rJ8H+yMMPq_~Qq9_#Oyr(B*{Ph!#EvWB?$S_Z>R7-E?!D(f zexJd5P0au&=rNmwKA2`OmSqaFP(pSqTG3<(A?xK~*4#hTF`^Y}<>%8IN4C*b1KYuP zuz}3jtHG2KBWTEYF{l=6r)9i}tR+r)Wp^@r+j%Ch ze1k7lxCY)c>d}g}=V(gCRJM6;2lr~6GVY&}O<~JS+IqPYBxiS#-F+2ok--GKxi=i& z+kS=0$pj*!cf~Z~)l3qXe*_Od-hjRByWz867%s0@r1wUo*&448g6if}Xh^5@^3BO~ zyO$;@)ICFtP2YoGLxOO`S`N0g^n% zbE$B9&s7p2e}beoro!x!4l*Jm&Fa1e)1;hrU?UO=B9mK){cU;bDiKb5Of$$EjX&^y zzbPE56p|CU4Z_~!U3A??4?1epIn=o<6K%J9MxwvClTr0gh^%QVF&Hc(-$yB-sa>O~ z@lz)paqS{fu~5SAlXbZgNC$VXdo;Ev6BX!5uu~dM=+lD`tm>nPD{^O`@`-wQ=WQ3f z@j)JbesDI9y&Zz4x@^VkgA(~;BRMQ9+8X4~ZDj`1lbJUc&9?5}j;a^CLi|hy5ha}wb;8WZp zQP!e3I9XDQ1|BQG0d;ooy=;J>(D+%VOi$SsdItU=U;d|2nHzikucB|^s z=x?`B=U!D-(qu|EINqhhX7gFTbSK@tLmBRr93qE$imAuZso3OJ6g{wK7ghYE$cSkD<)8cI&R=(`=C7$cbF;gucR%N>v(DbDIbDbSbU$m0OlCzI zwm`8A`ev}RC*H=xCK6E5gF?Kg`PKH$j=dyGVnJGwWKRho*d3EkU=VNVIsXo#jTJ|6 zA|=a5m<+aJ+Kf~Xut7!d7S&Fxaxy^bU|9WBAR5QL45Q7my6Z-6ILIfj(!Y@?#Lb-i zBiHeBhYv(~jhOdTPg&mad`$&spv%GGSHhC#+Ap&FN;3p`K+Z50U6ZI*(S=%r;#@pm z)%7>F5*yqN37$chokK=4j3AZ#8<_@Y5v0mUrGOQ3x2O@`V3Cq(Qp&yXUcBQDz|g8R zqqPZh{nZT6vjQEigH=GTl_f%?0V9K?IPws)!3XGYJjOk#8-P2|gM`Dins82afRQ!e zdhMiALXzm`s{8fk zUR2SUgR@(wPH0cp`qo&NroF%$m^P0;Tt!Q|vUUt@em-9`Fn&m0%Iw-F!1gJ+3PP~y zjvOz>$%Z%I(710HSp5-07}K~u4$d`%yN!Jeo^UBXV$6q7;bIVrxiv@bevi9ejWX~q z*Ruoq0pnzZ9>J9JI0FTIbDzM%WjtZd71u+DAK-CryJ<9-aEqPN__w=?<&*vz4HfU>O`@2R%X(F znj%4zkT(-5j96d_b0k&L E8_-84~No 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 z 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%0ADB?Bd0cJ$DVf za@qsG!V*Cws1RJPmBFSuF)TYTg}dLWqjB#{JfgfCLvID4uXqLh4z5Qp{dahDP@Hy| zM9}i>z9crmpH5!zC8-tH>FeuHv~e(xtTU@Yg zvK}k)T*6MNIWn1P0_NeL!3rf9OE!}SSJH--r}H7p&K?5xoB;dyYcQ}^gO|2w7)0-m4AIUdx%AC&4Bx$5jmu}%v-Rt` z*nL@b*yn5jAARS+;;^-F)@~O}`}ZvL%3Xyowe4`}`d?5UA&)j)lh9?K8J2k;!O&s8 zsB1K0`oIXL0*x zk1CdK@28WukE5Al3R)VJVealEN(~Mpt@Ufj+Fd~DmykA?it>MSE|P8jQxfejBGtWv z6tr(HH@M#{OkDXxcv58&b6>WZ^+|iNH^;-6j>9e1x&IaO?2&|qZga5cihx65SD+#C zKGgS�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 Cg`ZFW literal 0 HcmV?d00001 diff --git a/assets/external/inference_data_tidy.R b/assets/external/inference_data_tidy.R new file mode 100644 index 0000000..0c1d436 --- /dev/null +++ b/assets/external/inference_data_tidy.R @@ -0,0 +1,85 @@ +format_split_text <- function(x, concat_char = "|") { + group <- x[1] + non_group <- x[-1] + pre_bracket <- stringr::str_extract(non_group[1], "^.*(?=\\[)") + if (is.na(pre_bracket)) { + formatted_text <- glue::glue("{group}{concat_char}{non_group}") + } else { + bracket_contents <- non_group[-1] |> + stringr::str_replace_all("\\s", "_") |> + stringr::str_c(collapse = ",") + formatted_text <- glue::glue( + "{group}{concat_char}{pre_bracket}[{bracket_contents}]" + ) + } + formatted_text +} + +#' Convert InferenceData column names to tidy column names +#' +#' InferenceData column names for scalar variables are of the form +#' `"('group', 'var_name')"`, while column names for array variables are of the +#' form `"('group', 'var_name[i,j]', 'i_name', 'j_name')"`. +#' This function converts these column names to a format that is useful for +#' creating tidy_draws data frames. +#' `"('group', 'var_name')"` becomes `"group|var_name"` +#' `"('group', 'var_name[i,j]', 'i_name', 'j_name')"` becomes +#' `"group|var_name[i_name, j_name]"` +#' +#' @param column_names A character vector of InferenceData column names +#' +#' @return A character vector of tidy column names +#' @examples +#' forecasttools:::idata_names_to_tidy_names(c( +#' "('group', 'var_name')", +#' "group|var_name[i_name, j_name]" +#' )) +idata_names_to_tidy_names <- function(column_names) { + column_names |> + stringr::str_remove_all("^\\(|\\)$") |> + # remove opening and closing parentheses + stringr::str_split(", ") |> + purrr::map(\(x) stringr::str_remove_all(x, "^\\'|\\'$")) |> + # remove opening and closing quotes + purrr::map(\(x) stringr::str_remove_all(x, '\\"')) |> # remove double quotes + purrr::map_chr(format_split_text) # reformat groups and brackets +} + +#' Convert InferenceData DataFrame to nested tibble of tidy_draws +#' +#' @param idata InferenceData DataFrame (the result of calling +#' arviz.InferenceData.to_dataframe in Python) +#' +#' @return A nested tibble, with columns group and data. Each element of data is +#' a tidy_draws data frame +#' @export + +inferencedata_to_tidy_draws <- function(idata) { + idata |> + dplyr::rename( + .chain = chain, + .iteration = draw + ) |> + dplyr::rename_with(idata_names_to_tidy_names, + .cols = -tidyselect::starts_with(".") + ) |> + dplyr::mutate(dplyr::across( + c(.chain, .iteration), + \(x) as.integer(x + 1) # convert to 1-indexed + )) |> + dplyr::mutate( + .draw = tidybayes:::draw_from_chain_and_iteration_(.chain, .iteration), + .after = .iteration + ) |> + tidyr::pivot_longer(-starts_with("."), + names_sep = "\\|", + names_to = c("group", "name") + ) |> + dplyr::group_by(group) |> + tidyr::nest() |> + dplyr::mutate(data = purrr::map(data, \(x) { + tidyr::drop_na(x) |> + tidyr::pivot_wider(names_from = name) |> + tidybayes::tidy_draws() + })) +} diff --git a/notebooks/idata_to_tidy_v2.py b/notebooks/idata_to_tidy_v2.py index afcf3e4..aa3784a 100644 --- a/notebooks/idata_to_tidy_v2.py +++ b/notebooks/idata_to_tidy_v2.py @@ -24,6 +24,31 @@ idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) print(idata_wod_pols_df) +# %% UPDATED ATTEMPT + + +def format_to_tidy_draws(df): + df.columns = [ + "_".join(map(str, col)).strip() if isinstance(col, tuple) else col + for col in df.columns + ] + tidy_df = df.reset_index().melt( + id_vars=["chain", "draw"], var_name="variable", value_name="value" + ) + tidy_df["variable"] = tidy_df["variable"].apply( + lambda x: x.split("_")[-1] if "posterior_predictive" in x else x + ) + tidy_df[".iteration"] = tidy_df["draw"] + 1 + tidy_df = tidy_df.rename(columns={"chain": ".chain", "draw": ".draw"}) + tidy_df = tidy_df[[".chain", ".draw", ".iteration", "variable", "value"]] + return tidy_df + + +idata_wd_df = idata_w_dates.to_dataframe() +# print(idata_wd_df) +out = format_to_tidy_draws(idata_wd_df) +print(out) + # %% CONVERSION FUNCTIONS @@ -86,90 +111,3 @@ def inferencedata_to_tidy_draws(idata_df): postp_tidy_df = inferencedata_to_tidy_draws(idata_df=idata_wod_pols_df) print(postp_tidy_df) # %% - - -# format_split_text <- function(x, concat_char = "|") { -# group <- x[1] -# non_group <- x[-1] -# pre_bracket <- stringr::str_extract(non_group[1], "^.*(?=\\[)") -# if (is.na(pre_bracket)) { -# formatted_text <- glue::glue("{group}{concat_char}{non_group}") -# } else { -# bracket_contents <- non_group[-1] |> -# stringr::str_replace_all("\\s", "_") |> -# stringr::str_c(collapse = ",") -# formatted_text <- glue::glue( -# "{group}{concat_char}{pre_bracket}[{bracket_contents}]" -# ) -# } -# formatted_text -# } - -# #' Convert InferenceData column names to tidy column names -# #' -# #' InferenceData column names for scalar variables are of the form -# #' `"('group', 'var_name')"`, while column names for array variables are of the -# #' form `"('group', 'var_name[i,j]', 'i_name', 'j_name')"`. -# #' This function converts these column names to a format that is useful for -# #' creating tidy_draws data frames. -# #' `"('group', 'var_name')"` becomes `"group|var_name"` -# #' `"('group', 'var_name[i,j]', 'i_name', 'j_name')"` becomes -# #' `"group|var_name[i_name, j_name]"` -# #' -# #' @param column_names A character vector of InferenceData column names -# #' -# #' @return A character vector of tidy column names -# #' @examples -# #' forecasttools:::idata_names_to_tidy_names(c( -# #' "('group', 'var_name')", -# #' "group|var_name[i_name, j_name]" -# #' )) -# idata_names_to_tidy_names <- function(column_names) { -# column_names |> -# stringr::str_remove_all("^\\(|\\)$") |> -# # remove opening and closing parentheses -# stringr::str_split(", ") |> -# purrr::map(\(x) stringr::str_remove_all(x, "^\\'|\\'$")) |> -# # remove opening and closing quotes -# purrr::map(\(x) stringr::str_remove_all(x, '\\"')) |> # remove double quotes -# purrr::map_chr(format_split_text) # reformat groups and brackets -# } - -# #' Convert InferenceData DataFrame to nested tibble of tidy_draws -# #' -# #' @param idata InferenceData DataFrame (the result of calling -# #' arviz.InferenceData.to_dataframe in Python) -# #' -# #' @return A nested tibble, with columns group and data. Each element of data is -# #' a tidy_draws data frame -# #' @export - -# inferencedata_to_tidy_draws <- function(idata) { -# idata |> -# dplyr::rename( -# .chain = chain, -# .iteration = draw -# ) |> -# dplyr::rename_with(idata_names_to_tidy_names, -# .cols = -tidyselect::starts_with(".") -# ) |> -# dplyr::mutate(dplyr::across( -# c(.chain, .iteration), -# \(x) as.integer(x + 1) # convert to 1-indexed -# )) |> -# dplyr::mutate( -# .draw = tidybayes:::draw_from_chain_and_iteration_(.chain, .iteration), -# .after = .iteration -# ) |> -# tidyr::pivot_longer(-starts_with("."), -# names_sep = "\\|", -# names_to = c("group", "name") -# ) |> -# dplyr::group_by(group) |> -# tidyr::nest() |> -# dplyr::mutate(data = purrr::map(data, \(x) { -# tidyr::drop_na(x) |> -# tidyr::pivot_wider(names_from = name) |> -# tidybayes::tidy_draws() -# })) -# } diff --git a/notebooks/mvp_issue_tidy_draws.py b/notebooks/mvp_issue_tidy_draws.py index cd22406..313e563 100644 --- a/notebooks/mvp_issue_tidy_draws.py +++ b/notebooks/mvp_issue_tidy_draws.py @@ -100,8 +100,6 @@ def generate_time_range_for_dim( num_days = 11 obs_data = np.random.normal(loc=0, scale=1, size=(num_days,)) obs_dim_name = "obs_dim_0" - - start_date = datetime(2023, 1, 1) time_step = timedelta(days=2) interval_dates = generate_time_range_for_dim( From cc209758877947880f167f497b0008800c7de88c Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 21 Jan 2025 13:57:32 -0500 Subject: [PATCH 20/76] remove extraneous notebooks --- notebooks/idata_to_tidy_v2.py | 113 ------------------------- notebooks/mvp_issue_tidy_draws.py | 131 ----------------------------- notebooks/mvp_remark_tidy_draws.md | 0 3 files changed, 244 deletions(-) delete mode 100644 notebooks/idata_to_tidy_v2.py delete mode 100644 notebooks/mvp_issue_tidy_draws.py delete mode 100644 notebooks/mvp_remark_tidy_draws.md diff --git a/notebooks/idata_to_tidy_v2.py b/notebooks/idata_to_tidy_v2.py deleted file mode 100644 index aa3784a..0000000 --- a/notebooks/idata_to_tidy_v2.py +++ /dev/null @@ -1,113 +0,0 @@ -# %% LIBRARIES USED - - -import polars as pl -import xarray as xr - -import forecasttools - -xr.set_options( - display_expand_data=False, - display_expand_attrs=False, -) - - -# %% EXAMPLE IDATA W/ AND WO/ DATES - -idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates -idata_wo_dates = forecasttools.nhsn_flu_forecast_wo_dates -print(idata_wo_dates) - -# %% WHEN IDATA IS CONVERTED TO DF THEN CSV - -idata_wod_pandas_df = idata_wo_dates.to_dataframe() -idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) -print(idata_wod_pols_df) - -# %% UPDATED ATTEMPT - - -def format_to_tidy_draws(df): - df.columns = [ - "_".join(map(str, col)).strip() if isinstance(col, tuple) else col - for col in df.columns - ] - tidy_df = df.reset_index().melt( - id_vars=["chain", "draw"], var_name="variable", value_name="value" - ) - tidy_df["variable"] = tidy_df["variable"].apply( - lambda x: x.split("_")[-1] if "posterior_predictive" in x else x - ) - tidy_df[".iteration"] = tidy_df["draw"] + 1 - tidy_df = tidy_df.rename(columns={"chain": ".chain", "draw": ".draw"}) - tidy_df = tidy_df[[".chain", ".draw", ".iteration", "variable", "value"]] - return tidy_df - - -idata_wd_df = idata_w_dates.to_dataframe() -# print(idata_wd_df) -out = format_to_tidy_draws(idata_wd_df) -print(out) - - -# %% CONVERSION FUNCTIONS - - -def format_split_text(x, concat_char="|"): - group = x[0] - non_group = x[1:] - if "[" in non_group[0]: - pre_bracket = non_group[0].split("[")[0] - bracket_contents = [elem.replace(" ", "_") for elem in non_group[1:]] - formatted_text = ( - f"{group}{concat_char}{pre_bracket}[{','.join(bracket_contents)}]" - ) - else: - formatted_text = f"{group}{concat_char}{''.join(non_group)}" - return formatted_text - - -def idata_names_to_tidy_names(column_names): - tidy_names = [] - for col in column_names: - cleaned = col.strip("()").replace("'", "").replace('"', "") - parts = [part.strip() for part in cleaned.split(",")] - tidy_names.append(format_split_text(parts)) - return tidy_names - - -def inferencedata_to_tidy_draws(idata_df): - idata_df = idata_df.rename({"chain": ".chain", "draw": ".iteration"}) - idata_df = idata_df.with_columns( - [ - (pl.col(".chain") + 1).alias(".chain"), - (pl.col(".iteration") + 1).alias(".iteration"), - ] - ) - max_iteration = idata_df[".iteration"].max() - idata_df = idata_df.with_columns( - ((pl.col(".chain") - 1) * max_iteration + pl.col(".iteration")).alias( - ".draw" - ) - ) - tidy_column_names = idata_names_to_tidy_names(idata_df.columns) - idata_df.columns = tidy_column_names - long_df = idata_df.melt( - id_vars=[".chain", ".iteration", ".draw"], - variable_name="group|name", - value_name="value", - ) - long_df = long_df.with_columns( - long_df["group|name"].str.split_exact("|", 1).alias(["group", "name"]) - ).drop("group|name") - nested = long_df.groupby("group").agg( - pl.col([".draw", "name", "value"]).pivot( - index=".draw", columns="name", values="value" - ) - ) - return nested - - -postp_tidy_df = inferencedata_to_tidy_draws(idata_df=idata_wod_pols_df) -print(postp_tidy_df) -# %% diff --git a/notebooks/mvp_issue_tidy_draws.py b/notebooks/mvp_issue_tidy_draws.py deleted file mode 100644 index 313e563..0000000 --- a/notebooks/mvp_issue_tidy_draws.py +++ /dev/null @@ -1,131 +0,0 @@ -""" -Script demonstrating an issue with assigning -coordinates to an InferenceData object can -produce. -""" - -# %% LIBRARIES - -from datetime import date, datetime, timedelta - -import arviz as az -import numpy as np -import pandas as pd -import xarray as xr - -import forecasttools - -# %% DEMONSTRATION OF EXPECTED BEHAVIOR - -num_days = 1 -obs_data = np.random.normal(loc=0, scale=1, size=(num_days,)) -obs_dim_name = "obs_dim_0" -start_date = "2023-01-01" -interval_dates = pd.date_range(start=start_date, periods=1, freq="D") -obs_group = xr.Dataset( - {"obs": ([obs_dim_name], obs_data)}, - coords={obs_dim_name: np.arange(num_days)}, -) -idata = az.from_dict(observed_data={"obs": obs_group["obs"].values}) -idata.observed_data = idata.observed_data.assign_coords( - {obs_dim_name: interval_dates} -) -obs_df = idata.observed_data.to_dataframe() -print(obs_df) - -# %% FAILED? EXAMPLE - - -def convert_date_or_datetime_to_np( - dt: datetime | date | np.datetime64, -) -> np.datetime64: - """Converts a Python date/datetime or numpy.datetime64 to numpy.datetime64.""" - if isinstance(dt, (datetime, date)): - return np.datetime64(dt) - elif isinstance(dt, np.datetime64): - return dt - else: - raise TypeError( - f"Input must be a date, datetime, or np.datetime64; got {type(dt)}" - ) - - -def is_timedelta_in_days_only(td: timedelta) -> bool: - """Checks if a timedelta is representable in days only.""" - return td.seconds == 0 and td.microseconds == 0 - - -def convert_timedelta_to_np(td: timedelta | np.timedelta64) -> np.timedelta64: - """ - Converts a Python timedelta to: - numpy.timedelta64[D] if it is - representable in days only. Otherwise, - convert to numpy.timedelta64[ns]. If - already np.timedelta64, return as is. - """ - if isinstance(td, np.timedelta64): - return td - elif isinstance(td, timedelta): - return ( - np.timedelta64(td.days, "D") - if is_timedelta_in_days_only(td) - else np.timedelta64(td).astype("timedelta64[ns]") - ) - else: - raise TypeError(f"Input must be a timedelta object; got {type(td)}") - - -def generate_time_range_for_dim( - start_time_as_dt: datetime | date | np.datetime64, - variable_data: xr.DataArray, - dimension: str, - time_step: timedelta | np.timedelta64, -) -> np.ndarray: - """ - Generates a range of times based on the - start date, time step, and variable's - dimension size. - """ - interval_size = variable_data.sizes[dimension] - start_time_as_np = convert_date_or_datetime_to_np(start_time_as_dt) - time_step_as_np = convert_timedelta_to_np(time_step) - end_step_as_np = start_time_as_np + interval_size * time_step_as_np - return np.arange( - start=start_time_as_np, - stop=end_step_as_np, - step=time_step_as_np, - ) - - -num_days = 11 -obs_data = np.random.normal(loc=0, scale=1, size=(num_days,)) -obs_dim_name = "obs_dim_0" -start_date = datetime(2023, 1, 1) -time_step = timedelta(days=2) -interval_dates = generate_time_range_for_dim( - start_time_as_dt=start_date, - variable_data=xr.DataArray(obs_data, dims=[obs_dim_name]), - dimension=obs_dim_name, - time_step=time_step, -) -obs_group = xr.Dataset( - {"obs": ([obs_dim_name], obs_data)}, - coords={obs_dim_name: np.arange(num_days)}, -) -idata = az.from_dict(observed_data={"obs": obs_group["obs"].values}) -print(idata["observed_data"]) -idata.observed_data = idata.observed_data.assign_coords( - {obs_dim_name: interval_dates} -) -obs_df = idata.observed_data.to_dataframe() -print(obs_df) - -# %% FINAL EXAMPLE - -idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates -obs_df = idata_w_dates.observed_data.to_dataframe() -print(obs_df) -idata_df = idata_w_dates.to_dataframe() -print(idata_df.columns) - -# %% diff --git a/notebooks/mvp_remark_tidy_draws.md b/notebooks/mvp_remark_tidy_draws.md deleted file mode 100644 index e69de29..0000000 From 4a8a0ae9b71235c1313be4199e53a74d28bc37cc Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 21 Jan 2025 14:32:29 -0500 Subject: [PATCH 21/76] remove more idata to tidy code --- .pre-commit-config.yaml | 12 +- notebooks/idata_to_tidy_draws.py | 341 ------------------------------- 2 files changed, 6 insertions(+), 347 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9c75e09..fbee562 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -69,12 +69,12 @@ repos: ################################################################################ # PYTHON ################################################################################ -- repo: https://github.com/psf/black-pre-commit-mirror - rev: 24.10.0 - hooks: - - id: black - args: ["--line-length", "79"] - language_version: python3 +# - repo: https://github.com/psf/black-pre-commit-mirror +# rev: 24.10.0 +# hooks: +# - id: black +# args: ["--line-length", "79"] +# language_version: python3 - repo: https://github.com/PyCQA/isort rev: 5.13.2 hooks: diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index 4b6a80a..075af9e 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -7,13 +7,10 @@ # %% LIBRARIES USED -import datetime as dt import os -import re import subprocess import tempfile -import arviz as az import polars as pl import xarray as xr @@ -158,109 +155,6 @@ def light_r_runner(r_code: str) -> None: # idata_pols_df = pl.from_pandas(idata_pandas_df) # print(idata_pols_df) -# %% TRANSFORMATION TO TIDY DATA - - -def save_tidydraws_polars_forecast_df(tidydraws_like_df: pl.DataFrame): - # adds dots to the column name - # save the file as a csv in the specified - # location - pass - - -def convert_idata_forecast_to_tidydraws( - idata_wo_dates: az.InferenceData, -) -> pl.DataFrame: - """ - Takes an Arviz InferenceData object - containing a forecast (i.e. has posterior - predictive column) and converts it to a - polars dataframe that resembles an MCMC - data object in R once - `tidybayes::tidy_draws()` has been called - on it, i.e. the object contains the posterior - predictive column along with the columns - .chain .iteration .draw. - """ - # convert idata to pandas then polars df - idata_wod_pandas_df = idata_wo_dates.to_dataframe() - idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) - # extract and rename relevant columns ( - # i.e. those for chain, draw, and - # posterior predictive, without punctuation) - acceptable_cols = ["chain", "draw", "iteration", "posterior_predictive"] - relevant_cols = [ - col - for col in idata_wod_pols_df.columns - if any(accept in col for accept in acceptable_cols) - ] - idata_wod_pols_df = idata_wod_pols_df.select(sorted(relevant_cols)) - - def clean_column_names(cols): - cleaned_cols = {} - for col in cols: - if "posterior_predictive" in col: - # split by comma, take the - # second part and strip - # extra whitespace - new_col = re.sub(r"[()\[\]]", "", col.split(",")[1].strip()) - else: - # keep col (chain, iter) - new_col = col - cleaned_cols[col] = new_col - return cleaned_cols - - idata_wod_pols_df = idata_wod_pols_df.rename( - clean_column_names(relevant_cols) - ) - # create iteration column from draw and - # chain columns - num_iterations_per_chain = idata_wod_pols_df.shape[0] - idata_wod_pols_df = idata_wod_pols_df.with_columns( - ((pl.col("draw") - 1) % num_iterations_per_chain + 1).alias( - "iteration" - ) - ) - # unpivot along value col - idata_wod_pols_df = idata_wod_pols_df.unpivot( - index=idata_wod_pols_df.columns, # exclude non-posterior columns - variable_name="distribution_name", - value_name="value", - ) - - # df_out = idata_wod_pols_df.unpivot( - # on=pl.col("*").exclude(["chain", "draw"]), - # variable_name="iteration", - # value_name="obs" - # ) - # df_out = df_out.with_columns( - # pl.col("iteration") - # .str.extract(r"obs(\d+)", 1) - # .cast(pl.Int64) - # .alias("iteration") - # ) - - # df_out = idata_wod_pols_df.unpivot( - # on=pl.col("*").exclude(["chain", "iteration", "draw"]), - # variable_name="observation", - # value_name="value" - # ) - - return idata_wod_pols_df - - -print(convert_idata_forecast_to_tidydraws(idata_wo_dates)) - - -# %% CONVERSION OF DATAFRAME TO CSV - -current_date_as_str = dt.datetime.now().date().isoformat() -save_dir = os.getcwd() -save_name = f"test_csv_idata_{current_date_as_str}.csv" -out_file = os.path.join(save_dir, save_name) -if not os.file.exists(out_file): - idata_wod_pols_df.write_csv(out_file) - # %% EXAMPLE TIDY_DRAWS (2) @@ -287,238 +181,3 @@ def clean_column_names(cols): tidybayes::spread_draws(alpha, beta) dplyr::glimpse(spread_vars) """ - -# %% OPTION # FOR IDATA TO TIDY DRAWS - - -def format_split_text(x, concat_char="|"): - group = x[0] - non_group = x[1:] - if "[" in non_group[0]: - pre_bracket = non_group[0].split("[")[0] - bracket_contents = [elem.replace(" ", "_") for elem in non_group[1:]] - formatted_text = ( - f"{group}{concat_char}{pre_bracket}[{','.join(bracket_contents)}]" - ) - else: - formatted_text = f"{group}{concat_char}{''.join(non_group)}" - return formatted_text - - -def idata_names_to_tidy_names(column_names): - tidy_names = [] - for col in column_names: - cleaned = col.strip("()").replace("'", "").replace('"', "") - parts = [part.strip() for part in cleaned.split(",")] - tidy_names.append(format_split_text(parts)) - return tidy_names - - -def inferencedata_to_tidy_draws(idata_df): - idata_df = idata_df.rename( - columns={"chain": ".chain", "draw": ".iteration"} - ) - idata_df[".chain"] = idata_df[".chain"].astype(int) + 1 - idata_df[".iteration"] = idata_df[".iteration"].astype(int) + 1 - - idata_df[".draw"] = (idata_df[".chain"] - 1) * idata_df[ - ".iteration" - ].max() + idata_df[".iteration"] - - tidy_column_names = idata_names_to_tidy_names(idata_df.columns) - idata_df.columns = tidy_column_names - - long_df = idata_df.melt( - id_vars=[".chain", ".iteration", ".draw"], - var_name="group|name", - value_name="value", - ) - long_df[["group", "name"]] = long_df["group|name"].str.split( - "|", expand=True - ) - long_df = long_df.drop(columns=["group|name"]) - - nested = ( - long_df.groupby("group") - .apply( - lambda g: g.pivot( - index=".draw", columns="name", values="value" - ).reset_index() - ) - .reset_index() - ) - return nested - - -print(idata_w_dates.posterior_predictive) -postp_tidy_df = inferencedata_to_tidy_draws( - idata_df=idata_wo_dates, idata_group_name="posterior_predictive" -) -print(postp_tidy_df) - - -# %% OPTION 1 FOR IDATA TO TIDY_DRAWS - - -def option_1_convert_idata_to_tidy_draws( - idata: az.InferenceData, -) -> pl.DataFrame: - """ - Converts ENTIRE ArviZ InferenceData object into - a tidy_draws-compatible Polars DataFrame, ready - for parquet export and use in R tidybayes. - """ - # iterate over idata groups, stacking & extracting - dfs = [] - for group_name in idata._groups_all: - print(group_name.upper()) # DISPLAY TO USER - group = getattr(idata, group_name, None) - if group is not None: - # stack non-chain, non-draw dims - stacked_group_df = ( - group.stack(sample=("chain", "draw"), create_index=False) - .to_dataframe() - .reset_index() - ) - print(stacked_group_df) # DISPLAY TO USER - # rename draw and chain if existing - stacked_group_df = stacked_group_df.rename( - columns={"draw": "draw_idx", "chain": "chain_idx"} - ) - # add identifier (e.g. posterior) as repeated col to group - stacked_group_df["group"] = group_name - print(stacked_group_df) # DISPLAY TO USER - # extract stacked group to list for future concatenation - dfs.append(pl.from_pandas(stacked_group_df)) - # vertically concatenate all groups - # NOTE: failure to do this given different group column sizes - # tidy_df = pl.concat(dfs, how="diagonal") - - -option_1_convert_idata_to_tidy_draws(idata_w_dates) - -# %% OPTION 2 FOR IDATA TO TIDY_DRAWS - - -def option_2_convert_idata_to_tidy_draws( - idata: az.InferenceData, idata_group_name: str -) -> pl.DataFrame: - """ - Converts a specified group within an ArviZ - InferenceData object into a tidy_draws-compatible - Polars DataFrame. Dimensions "chain" and "draw" - must be present. - """ - # retrieve specified idata group - group = getattr(idata, idata_group_name, None) - if group is None: - raise ValueError( - f"Group '{idata_group_name}' not found in idata object." - ) - # make sure required dims are present - try: - required_dims = {"chain", "draw"} - missing_dims = required_dims - set(group.dims) - assert not missing_dims, f"Missing required dimensions: {missing_dims}" - # stack sample dimensions (chain, draw) to get a long df - df = ( - group.stack(sample=("chain", "draw"), create_index=False) - .to_dataframe() - .reset_index() - ) - except AssertionError as e: - print(f"Assertion failed: {e}") - df = group.to_dataframe().reset_index() # correct procedure? - # convert back to Polars DataFrame, drop sample from stacking if present - df = pl.from_pandas(df) - if "sample" in df.columns: - df = df.drop("sample") - # create .chain, .iteration, and .draw columns - df = df.with_columns( - [ - (pl.col("chain") + 1).alias(".chain"), # add 1 for conversion to R - (pl.col("draw") + 1).alias( - ".iteration" - ), # add 1 for conversion to R - ( - (pl.col("chain") * df["draw"].n_unique()) + pl.col("draw") + 1 - ).alias( - ".draw" - ), # add 1 for conversion to R; shift draw range to unique - ] - ).drop( - ["chain", "draw"] - ) # drop original chain, draw - # NOTE: anything needed for cleaning for R col names? - # pivot to long format to have variables in a single column - - # need to correct this further... - tidy_df = df.unpivot( - index=[".chain", ".iteration", ".draw"], - value_name="value", # change? - variable_name="name", - ) - return tidy_df - - -print(idata_w_dates.posterior_predictive) -postp_tidy_df = option_2_convert_idata_to_tidy_draws( - idata=idata_w_dates, idata_group_name="posterior_predictive" -) -print(postp_tidy_df) - -# %% Another attempt - - -# # load csv -# inference_data_path = "idata.csv" -# df = pl.read_csv(inference_data_path) - -# # clean -# df = df.rename({col: re.sub(r"[()'|, \d+]", "", col) for col in df.columns}) - -# # rename and mutate cols -# df = df.with_columns( -# [ -# pl.col("chain").alias(".chain").cast(pl.Int32), -# pl.col("draw").alias(".iteration").cast(pl.Int32), -# ] -# ) - -# # create .draw column -# df = df.with_columns((df[".chain"] * 1000 + df[".iteration"]).alias(".draw")) - -# # pivot longer, TODO: use unpivot again, get -# # out of melt mentality -# df = df.melt( -# id_vars=[".chain", ".iteration", ".draw"], -# variable_name="name", -# value_name="value", -# ) - -# # extract cols -# df = df.with_columns( -# [ -# pl.col("name") -# .str.extract(r"([^,]+), ([^,]+)", 1) -# .alias("distribution"), -# pl.col("name").str.extract(r"([^,]+), ([^,]+)", 2).alias("name"), -# ] -# ) - -# df.write_csv("tidy_draws_ready.csv") - - -# %% NOTES - -# https://python.arviz.org/en/v0.11.4/api/generated/arviz.from_numpyro.html -# https://python.arviz.org/en/v0.11.4/api/generated/arviz.InferenceData.to_json.html -# https://python.arviz.org/en/v0.11.4/api/generated/arviz.InferenceData.to_dataframe.html -# https://python.arviz.org/en/v0.11.4/api/generated/arviz.InferenceData.from_netcdf.html -# https://docs.pola.rs/api/python/stable/reference/api/polars.from_pandas.html -# https://docs.pola.rs/api/python/stable/reference/dataframe/api/polars.DataFrame.unpivot.html#polars.DataFrame.unpivot - -# Reminders -# Chain: one MCMC run used to sample from posterior distribution. -# Draw: single parameter sample from posterior distribution at a specific iteration of the MCMC process. -# Iteration: single step in MCMC run; each iter corresponds to single draw from the chain at that step. From 0c4301a8224038e52c0df66afe6821782edf7392 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 21 Jan 2025 16:25:50 -0500 Subject: [PATCH 22/76] create tidy draws dataframe dict --- notebooks/idata_to_tidy_draws.py | 196 +++++++++++++++++++++++-------- 1 file changed, 149 insertions(+), 47 deletions(-) diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index 075af9e..85969b3 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -8,9 +8,11 @@ # %% LIBRARIES USED import os +import re import subprocess import tempfile +import arviz as az import polars as pl import xarray as xr @@ -21,6 +23,106 @@ display_expand_attrs=False, ) +# %% EXAMPLE IDATA W/ AND WO/ DATES + +idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates +idata_wo_dates = forecasttools.nhsn_flu_forecast_wo_dates + +print(idata_w_dates) +print(idata_w_dates.observed_data.dims) + + +# %% WHEN IDATA IS CONVERTED TO DF THEN CSV + +idata_wod_pandas_df = idata_wo_dates.to_dataframe() +idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) +print(idata_wod_pols_df) +example_output = """ +shape: (1_000, 1_515) +┌───────┬──────┬─────────────┬─────────────┬───┬────────────┬────────────┬────────────┬────────────┐ +│ chain ┆ draw ┆ ('posterior ┆ ('posterior ┆ … ┆ ('prior_pr ┆ ('prior_pr ┆ ('prior_pr ┆ ('prior_pr │ +│ --- ┆ --- ┆ ', 'alpha') ┆ ', 'beta_co ┆ ┆ edictive', ┆ edictive', ┆ edictive', ┆ edictive', │ +│ i64 ┆ i64 ┆ --- ┆ effs[0]'… ┆ ┆ 'obs[97]'… ┆ 'obs[98]'… ┆ 'obs[99]'… ┆ 'obs[9]',… │ +│ ┆ ┆ f32 ┆ --- ┆ ┆ --- ┆ --- ┆ --- ┆ --- │ +│ ┆ ┆ ┆ f32 ┆ ┆ i32 ┆ i32 ┆ i32 ┆ i32 │ +╞═══════╪══════╪═════════════╪═════════════╪═══╪════════════╪════════════╪════════════╪════════════╡ +│ 0 ┆ 0 ┆ 20.363588 ┆ 0.334427 ┆ … ┆ 0 ┆ 13 ┆ 0 ┆ 46 │ +│ 0 ┆ 1 ┆ 20.399645 ┆ 0.535402 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 21 │ +│ 0 ┆ 2 ┆ 22.719585 ┆ 0.777795 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 5 │ +│ 0 ┆ 3 ┆ 25.212839 ┆ 1.238166 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 203 │ +│ 0 ┆ 4 ┆ 24.964491 ┆ 0.912391 ┆ … ┆ 0 ┆ 1 ┆ 0 ┆ 33 │ +│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │ +│ 0 ┆ 995 ┆ 23.382603 ┆ 0.688199 ┆ … ┆ 2 ┆ 2 ┆ 0 ┆ 1 │ +│ 0 ┆ 996 ┆ 23.979273 ┆ 0.565145 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 0 │ +│ 0 ┆ 997 ┆ 23.99214 ┆ 0.743872 ┆ … ┆ 0 ┆ 109 ┆ 202 ┆ 1 │ +│ 0 ┆ 998 ┆ 23.530113 ┆ 0.954449 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 0 │ +│ 0 ┆ 999 ┆ 22.403072 ┆ 1.035949 ┆ … ┆ 14 ┆ 2 ┆ 18 ┆ 0 │ +└───────┴──────┴─────────────┴─────────────┴───┴────────────┴────────────┴────────────┴────────────┘ +""" + +print( + sorted(idata_wod_pols_df.columns) +) # e.g. "('posterior_predictive', 'obs[138]', 138)" + +# # doesn't immediately work with dates, +# # KeyError: Timestamp('2022-08-08 00:00:00') +# idata_pandas_df = idata_w_dates.to_dataframe() +# idata_pols_df = pl.from_pandas(idata_pandas_df) +# print(idata_pols_df) + +# %% FUNCTION FOR CONVERSION + +def convert_idata_forecast_to_tidydraws( + idata: az.InferenceData, + groups: list[str] +) -> dict[str, pl.DataFrame]: + tidy_dfs = {} + idata_df = idata.to_dataframe() + for group in groups: + group_columns = [ + col for col in idata_df.columns + if isinstance(col, tuple) and col[0] == group + ] + meta_columns = ["chain", "draw"] + group_df = idata_df[meta_columns + group_columns] + group_df.columns = [ + col[1] if isinstance(col, tuple) else col + for col in group_df.columns + ] + group_pols_df = pl.from_pandas(group_df) + value_columns = [col for col in group_pols_df.columns if col not in meta_columns] + group_pols_df = group_pols_df.melt( + id_vars=meta_columns, + value_vars=value_columns, + variable_name="variable", + value_name="value" + ) + group_pols_df = group_pols_df.with_columns( + pl.col("variable").map_elements(lambda x: re.sub(r"\[.*\]", "", x)).alias("variable") + ) + group_pols_df = group_pols_df.with_columns( + ((pl.col("draw") - 1) % group_pols_df["draw"].n_unique() + 1).alias(".iteration") + ) + group_pols_df = group_pols_df.rename({"chain": ".chain", "draw": ".draw"}) + tidy_dfs[group] = group_pols_df.select([".chain", ".draw", ".iteration", "variable", "value"]) + + return tidy_dfs + + + + +# %% RUN CONVERSION OF TIDY COLS + +groups = ["posterior", "posterior_predictive"] +tidy_draws_dict = convert_idata_forecast_to_tidydraws( + idata_wo_dates, + groups) + +print(tidy_draws_dict) + + + + # %% FUNCTION FOR RUNNING R CODE VIA TEMPORARY FILES @@ -108,53 +210,6 @@ def light_r_runner(r_code: str) -> None: """ -# %% EXAMPLE IDATA W/ AND WO/ DATES - -idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates -idata_wo_dates = forecasttools.nhsn_flu_forecast_wo_dates - -print(idata_w_dates) -print(idata_w_dates.observed_data.dims) - - -# %% WHEN IDATA IS CONVERTED TO DF THEN CSV - -idata_wod_pandas_df = idata_wo_dates.to_dataframe() -idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) -print(idata_wod_pols_df) -example_output = """ -shape: (1_000, 1_515) -┌───────┬──────┬─────────────┬─────────────┬───┬────────────┬────────────┬────────────┬────────────┐ -│ chain ┆ draw ┆ ('posterior ┆ ('posterior ┆ … ┆ ('prior_pr ┆ ('prior_pr ┆ ('prior_pr ┆ ('prior_pr │ -│ --- ┆ --- ┆ ', 'alpha') ┆ ', 'beta_co ┆ ┆ edictive', ┆ edictive', ┆ edictive', ┆ edictive', │ -│ i64 ┆ i64 ┆ --- ┆ effs[0]'… ┆ ┆ 'obs[97]'… ┆ 'obs[98]'… ┆ 'obs[99]'… ┆ 'obs[9]',… │ -│ ┆ ┆ f32 ┆ --- ┆ ┆ --- ┆ --- ┆ --- ┆ --- │ -│ ┆ ┆ ┆ f32 ┆ ┆ i32 ┆ i32 ┆ i32 ┆ i32 │ -╞═══════╪══════╪═════════════╪═════════════╪═══╪════════════╪════════════╪════════════╪════════════╡ -│ 0 ┆ 0 ┆ 20.363588 ┆ 0.334427 ┆ … ┆ 0 ┆ 13 ┆ 0 ┆ 46 │ -│ 0 ┆ 1 ┆ 20.399645 ┆ 0.535402 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 21 │ -│ 0 ┆ 2 ┆ 22.719585 ┆ 0.777795 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 5 │ -│ 0 ┆ 3 ┆ 25.212839 ┆ 1.238166 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 203 │ -│ 0 ┆ 4 ┆ 24.964491 ┆ 0.912391 ┆ … ┆ 0 ┆ 1 ┆ 0 ┆ 33 │ -│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │ -│ 0 ┆ 995 ┆ 23.382603 ┆ 0.688199 ┆ … ┆ 2 ┆ 2 ┆ 0 ┆ 1 │ -│ 0 ┆ 996 ┆ 23.979273 ┆ 0.565145 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 0 │ -│ 0 ┆ 997 ┆ 23.99214 ┆ 0.743872 ┆ … ┆ 0 ┆ 109 ┆ 202 ┆ 1 │ -│ 0 ┆ 998 ┆ 23.530113 ┆ 0.954449 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 0 │ -│ 0 ┆ 999 ┆ 22.403072 ┆ 1.035949 ┆ … ┆ 14 ┆ 2 ┆ 18 ┆ 0 │ -└───────┴──────┴─────────────┴─────────────┴───┴────────────┴────────────┴────────────┴────────────┘ -""" - -print( - sorted(idata_wod_pols_df.columns) -) # e.g. "('posterior_predictive', 'obs[138]', 138)" - -# # doesn't immediately work with dates, -# # KeyError: Timestamp('2022-08-08 00:00:00') -# idata_pandas_df = idata_w_dates.to_dataframe() -# idata_pols_df = pl.from_pandas(idata_pandas_df) -# print(idata_pols_df) - # %% EXAMPLE TIDY_DRAWS (2) @@ -181,3 +236,50 @@ def light_r_runner(r_code: str) -> None: tidybayes::spread_draws(alpha, beta) dplyr::glimpse(spread_vars) """ +# %% FUNCTION TO CONVERT IDATA GROUPS TO TIDY + + +def convert_idata_forecast_to_tidydraws( + idata: az.InferenceData, groups: list[str] +) -> dict[str, pl.DataFrame]: + tidy_dfs = {} + + for group in groups: + # Convert the specified group to a Pandas DataFrame + group_df = idata[group].to_dataframe() + group_pols_df = pl.from_pandas(group_df) + + # Extract chain, draw, and group-specific variable columns + group_columns = [col for col in group_pols_df.columns if group in col] + meta_columns = ["chain", "draw"] + relevant_cols = meta_columns + group_columns + + group_pols_df = group_pols_df.select(relevant_cols) + + # Clean variable column names + def clean_column_names(cols): + cleaned_cols = {} + for col in cols: + if group in col: + new_col = re.sub(r"[()\[\]]", "", col.split(",")[1].strip()) if "," in col else col + else: + new_col = col + cleaned_cols[col] = new_col + return cleaned_cols + + group_pols_df = group_pols_df.rename(clean_column_names(group_pols_df.columns)) + + # Create .iteration column + group_pols_df = group_pols_df.with_columns( + ((pl.col("draw") - 1) % group_pols_df["draw"].n_unique() + 1).alias(".iteration") + ) + + # Reorder columns: .chain, .draw, .iteration, followed by variables + variable_columns = [col for col in group_pols_df.columns if col not in meta_columns + [".iteration"]] + tidy_cols = [".chain", ".draw", ".iteration"] + variable_columns + group_pols_df = group_pols_df.select(tidy_cols) + + # Store in the dictionary + tidy_dfs[group] = group_pols_df + + return tidy_dfs From 814f68c19573071e93a78bdad03dc9703090d1ff Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 21 Jan 2025 16:35:38 -0500 Subject: [PATCH 23/76] error comment --- notebooks/idata_to_tidy_draws.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index 85969b3..cb74725 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -109,6 +109,16 @@ def convert_idata_forecast_to_tidydraws( return tidy_dfs +# These are some errors received: + +# :27: DeprecationWarning: `DataFrame.melt` is deprecated. Use `unpivot` instead, with `index` instead of `id_vars` and `on` instead of `value_vars` +# group_pols_df = group_pols_df.melt( +# :34: MapWithoutReturnDtypeWarning: Calling `map_elements` without specifying `return_dtype` can lead to unpredictable results. Specify `return_dtype` to silence this warning. +# group_pols_df = group_pols_df.with_columns( +# :27: DeprecationWarning: `DataFrame.melt` is deprecated. Use `unpivot` instead, with `index` instead of `id_vars` and `on` instead of `value_vars` +# group_pols_df = group_pols_df.melt( +# :34: MapWithoutReturnDtypeWarning: Calling `map_elements` without specifying `return_dtype` can lead to unpredictable results. Specify `return_dtype` to silence this warning. +# group_pols_df = group_pols_df.with_columns( # %% RUN CONVERSION OF TIDY COLS From beba8f305197e16e3c9c91c83d6f10e0292b5b18 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 22 Jan 2025 11:35:09 -0500 Subject: [PATCH 24/76] remove earlier code version --- notebooks/idata_to_tidy_draws.py | 47 -------------------------------- 1 file changed, 47 deletions(-) diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py index cb74725..891fa8b 100644 --- a/notebooks/idata_to_tidy_draws.py +++ b/notebooks/idata_to_tidy_draws.py @@ -246,50 +246,3 @@ def light_r_runner(r_code: str) -> None: tidybayes::spread_draws(alpha, beta) dplyr::glimpse(spread_vars) """ -# %% FUNCTION TO CONVERT IDATA GROUPS TO TIDY - - -def convert_idata_forecast_to_tidydraws( - idata: az.InferenceData, groups: list[str] -) -> dict[str, pl.DataFrame]: - tidy_dfs = {} - - for group in groups: - # Convert the specified group to a Pandas DataFrame - group_df = idata[group].to_dataframe() - group_pols_df = pl.from_pandas(group_df) - - # Extract chain, draw, and group-specific variable columns - group_columns = [col for col in group_pols_df.columns if group in col] - meta_columns = ["chain", "draw"] - relevant_cols = meta_columns + group_columns - - group_pols_df = group_pols_df.select(relevant_cols) - - # Clean variable column names - def clean_column_names(cols): - cleaned_cols = {} - for col in cols: - if group in col: - new_col = re.sub(r"[()\[\]]", "", col.split(",")[1].strip()) if "," in col else col - else: - new_col = col - cleaned_cols[col] = new_col - return cleaned_cols - - group_pols_df = group_pols_df.rename(clean_column_names(group_pols_df.columns)) - - # Create .iteration column - group_pols_df = group_pols_df.with_columns( - ((pl.col("draw") - 1) % group_pols_df["draw"].n_unique() + 1).alias(".iteration") - ) - - # Reorder columns: .chain, .draw, .iteration, followed by variables - variable_columns = [col for col in group_pols_df.columns if col not in meta_columns + [".iteration"]] - tidy_cols = [".chain", ".draw", ".iteration"] + variable_columns - group_pols_df = group_pols_df.select(tidy_cols) - - # Store in the dictionary - tidy_dfs[group] = group_pols_df - - return tidy_dfs From b12ffc24bbb091e9c94ce05b3bd1a36e07eecb15 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 22 Jan 2025 11:36:55 -0500 Subject: [PATCH 25/76] begin port of notebook into codebase --- forecasttools/idata_to_tidy.py | 41 +++++ notebooks/idata_to_tidy_draws.py | 248 ------------------------------- 2 files changed, 41 insertions(+), 248 deletions(-) create mode 100644 forecasttools/idata_to_tidy.py delete mode 100644 notebooks/idata_to_tidy_draws.py diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py new file mode 100644 index 0000000..7b35e0e --- /dev/null +++ b/forecasttools/idata_to_tidy.py @@ -0,0 +1,41 @@ +import re + +import arviz as az +import polars as pl + + +def convert_idata_forecast_to_tidydraws( + idata: az.InferenceData, + groups: list[str] +) -> dict[str, pl.DataFrame]: + tidy_dfs = {} + idata_df = idata.to_dataframe() + for group in groups: + group_columns = [ + col for col in idata_df.columns + if isinstance(col, tuple) and col[0] == group + ] + meta_columns = ["chain", "draw"] + group_df = idata_df[meta_columns + group_columns] + group_df.columns = [ + col[1] if isinstance(col, tuple) else col + for col in group_df.columns + ] + group_pols_df = pl.from_pandas(group_df) + value_columns = [col for col in group_pols_df.columns if col not in meta_columns] + group_pols_df = group_pols_df.melt( + id_vars=meta_columns, + value_vars=value_columns, + variable_name="variable", + value_name="value" + ) + group_pols_df = group_pols_df.with_columns( + pl.col("variable").map_elements(lambda x: re.sub(r"\[.*\]", "", x)).alias("variable") + ) + group_pols_df = group_pols_df.with_columns( + ((pl.col("draw") - 1) % group_pols_df["draw"].n_unique() + 1).alias(".iteration") + ) + group_pols_df = group_pols_df.rename({"chain": ".chain", "draw": ".draw"}) + tidy_dfs[group] = group_pols_df.select([".chain", ".draw", ".iteration", "variable", "value"]) + + return tidy_dfs diff --git a/notebooks/idata_to_tidy_draws.py b/notebooks/idata_to_tidy_draws.py deleted file mode 100644 index 891fa8b..0000000 --- a/notebooks/idata_to_tidy_draws.py +++ /dev/null @@ -1,248 +0,0 @@ -""" -The following is an experimental file for -testing that forecasttools-py can be used to -convert an Arviz InferenceData object to a -tibble that has had tidy_draws() called on it. -""" - -# %% LIBRARIES USED - -import os -import re -import subprocess -import tempfile - -import arviz as az -import polars as pl -import xarray as xr - -import forecasttools - -xr.set_options( - display_expand_data=False, - display_expand_attrs=False, -) - -# %% EXAMPLE IDATA W/ AND WO/ DATES - -idata_w_dates = forecasttools.nhsn_flu_forecast_w_dates -idata_wo_dates = forecasttools.nhsn_flu_forecast_wo_dates - -print(idata_w_dates) -print(idata_w_dates.observed_data.dims) - - -# %% WHEN IDATA IS CONVERTED TO DF THEN CSV - -idata_wod_pandas_df = idata_wo_dates.to_dataframe() -idata_wod_pols_df = pl.from_pandas(idata_wod_pandas_df) -print(idata_wod_pols_df) -example_output = """ -shape: (1_000, 1_515) -┌───────┬──────┬─────────────┬─────────────┬───┬────────────┬────────────┬────────────┬────────────┐ -│ chain ┆ draw ┆ ('posterior ┆ ('posterior ┆ … ┆ ('prior_pr ┆ ('prior_pr ┆ ('prior_pr ┆ ('prior_pr │ -│ --- ┆ --- ┆ ', 'alpha') ┆ ', 'beta_co ┆ ┆ edictive', ┆ edictive', ┆ edictive', ┆ edictive', │ -│ i64 ┆ i64 ┆ --- ┆ effs[0]'… ┆ ┆ 'obs[97]'… ┆ 'obs[98]'… ┆ 'obs[99]'… ┆ 'obs[9]',… │ -│ ┆ ┆ f32 ┆ --- ┆ ┆ --- ┆ --- ┆ --- ┆ --- │ -│ ┆ ┆ ┆ f32 ┆ ┆ i32 ┆ i32 ┆ i32 ┆ i32 │ -╞═══════╪══════╪═════════════╪═════════════╪═══╪════════════╪════════════╪════════════╪════════════╡ -│ 0 ┆ 0 ┆ 20.363588 ┆ 0.334427 ┆ … ┆ 0 ┆ 13 ┆ 0 ┆ 46 │ -│ 0 ┆ 1 ┆ 20.399645 ┆ 0.535402 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 21 │ -│ 0 ┆ 2 ┆ 22.719585 ┆ 0.777795 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 5 │ -│ 0 ┆ 3 ┆ 25.212839 ┆ 1.238166 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 203 │ -│ 0 ┆ 4 ┆ 24.964491 ┆ 0.912391 ┆ … ┆ 0 ┆ 1 ┆ 0 ┆ 33 │ -│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │ -│ 0 ┆ 995 ┆ 23.382603 ┆ 0.688199 ┆ … ┆ 2 ┆ 2 ┆ 0 ┆ 1 │ -│ 0 ┆ 996 ┆ 23.979273 ┆ 0.565145 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 0 │ -│ 0 ┆ 997 ┆ 23.99214 ┆ 0.743872 ┆ … ┆ 0 ┆ 109 ┆ 202 ┆ 1 │ -│ 0 ┆ 998 ┆ 23.530113 ┆ 0.954449 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 0 │ -│ 0 ┆ 999 ┆ 22.403072 ┆ 1.035949 ┆ … ┆ 14 ┆ 2 ┆ 18 ┆ 0 │ -└───────┴──────┴─────────────┴─────────────┴───┴────────────┴────────────┴────────────┴────────────┘ -""" - -print( - sorted(idata_wod_pols_df.columns) -) # e.g. "('posterior_predictive', 'obs[138]', 138)" - -# # doesn't immediately work with dates, -# # KeyError: Timestamp('2022-08-08 00:00:00') -# idata_pandas_df = idata_w_dates.to_dataframe() -# idata_pols_df = pl.from_pandas(idata_pandas_df) -# print(idata_pols_df) - -# %% FUNCTION FOR CONVERSION - -def convert_idata_forecast_to_tidydraws( - idata: az.InferenceData, - groups: list[str] -) -> dict[str, pl.DataFrame]: - tidy_dfs = {} - idata_df = idata.to_dataframe() - for group in groups: - group_columns = [ - col for col in idata_df.columns - if isinstance(col, tuple) and col[0] == group - ] - meta_columns = ["chain", "draw"] - group_df = idata_df[meta_columns + group_columns] - group_df.columns = [ - col[1] if isinstance(col, tuple) else col - for col in group_df.columns - ] - group_pols_df = pl.from_pandas(group_df) - value_columns = [col for col in group_pols_df.columns if col not in meta_columns] - group_pols_df = group_pols_df.melt( - id_vars=meta_columns, - value_vars=value_columns, - variable_name="variable", - value_name="value" - ) - group_pols_df = group_pols_df.with_columns( - pl.col("variable").map_elements(lambda x: re.sub(r"\[.*\]", "", x)).alias("variable") - ) - group_pols_df = group_pols_df.with_columns( - ((pl.col("draw") - 1) % group_pols_df["draw"].n_unique() + 1).alias(".iteration") - ) - group_pols_df = group_pols_df.rename({"chain": ".chain", "draw": ".draw"}) - tidy_dfs[group] = group_pols_df.select([".chain", ".draw", ".iteration", "variable", "value"]) - - return tidy_dfs - - -# These are some errors received: - -# :27: DeprecationWarning: `DataFrame.melt` is deprecated. Use `unpivot` instead, with `index` instead of `id_vars` and `on` instead of `value_vars` -# group_pols_df = group_pols_df.melt( -# :34: MapWithoutReturnDtypeWarning: Calling `map_elements` without specifying `return_dtype` can lead to unpredictable results. Specify `return_dtype` to silence this warning. -# group_pols_df = group_pols_df.with_columns( -# :27: DeprecationWarning: `DataFrame.melt` is deprecated. Use `unpivot` instead, with `index` instead of `id_vars` and `on` instead of `value_vars` -# group_pols_df = group_pols_df.melt( -# :34: MapWithoutReturnDtypeWarning: Calling `map_elements` without specifying `return_dtype` can lead to unpredictable results. Specify `return_dtype` to silence this warning. -# group_pols_df = group_pols_df.with_columns( - - -# %% RUN CONVERSION OF TIDY COLS - -groups = ["posterior", "posterior_predictive"] -tidy_draws_dict = convert_idata_forecast_to_tidydraws( - idata_wo_dates, - groups) - -print(tidy_draws_dict) - - - - -# %% FUNCTION FOR RUNNING R CODE VIA TEMPORARY FILES - - -def light_r_runner(r_code: str) -> None: - """ - Run R code from Python as a temp file. - """ - with tempfile.NamedTemporaryFile(suffix=".R", delete=False) as temp_r_file: - temp_r_file.write(r_code.encode("utf-8")) - temp_r_file_path = temp_r_file.name - try: - subprocess.run(["Rscript", temp_r_file_path], check=True) - except subprocess.CalledProcessError as e: - print(f"R script failed with error: {e}") - finally: - os.remove(temp_r_file_path) - - -# %% EXAMPLE TIDY_DRAWS (1) - -r_code_example_from_docs = """ -library(magrittr) - -# load example dataset called line -data(line, package = "coda") -print(line) - -# use tidy_draws() on line -tidy_data <- line %>% - tidybayes::tidy_draws() -print(tidy_data) -""" -# see: https://www.rdocumentation.org/packages/tidybayes/versions/3.0.7/topics/tidy_draws - - -# output saved below as a docstring -light_r_runner(r_code_example_from_docs) -example_output_line = """ -$line1 - alpha beta sigma -1 7.173130 -1.5662000 11.233100 -2 2.952530 1.5033700 4.886490 -3 3.669890 0.6281570 1.397340 -4 3.315220 1.1827200 0.662879 -5 3.705440 0.4904370 1.362130 -6 3.579100 0.2069700 1.043500 -7 2.702060 0.8825530 1.290430 -8 2.961360 1.0851500 0.459322 -9 3.534060 1.0692600 0.634257 -10 2.094710 1.4807700 0.912919 -11 3.065240 0.3783490 1.188500 -12 2.739010 0.4447120 0.576963 -13 3.089290 -0.0130600 2.400330 -14 2.704130 1.1558500 1.794230 -15 2.521740 0.8563680 0.943078 -16 3.732160 0.6574610 0.903465 -17 2.673390 0.5944110 0.731041 -18 3.017790 0.8877700 0.622143 -19 2.701230 0.7459180 0.790993 -20 2.978370 0.9936190 0.740969 -21 2.876460 1.0280600 0.582580 -22 3.191340 0.5536110 0.710707 -23 2.797080 1.0188600 0.870071 -... -[1] "mcmc" - -attr(,"class") -[1] "mcmc.list" -""" -example_out_tidy_data = """ -# A tibble: 400 × 6 - .chain .iteration .draw alpha beta sigma - - 1 1 1 1 7.17 -1.57 11.2 - 2 1 2 2 2.95 1.50 4.89 - 3 1 3 3 3.67 0.628 1.40 - 4 1 4 4 3.32 1.18 0.663 - 5 1 5 5 3.71 0.490 1.36 - 6 1 6 6 3.58 0.207 1.04 - 7 1 7 7 2.70 0.883 1.29 - 8 1 8 8 2.96 1.09 0.459 - 9 1 9 9 3.53 1.07 0.634 -10 1 10 10 2.09 1.48 0.913 -# ℹ 390 more rows -""" - - - -# %% EXAMPLE TIDY_DRAWS (2) - - -r_code_spread_draws = """ -# example posterior samples -posterior_samples <- dplyr::tibble( - .chain = c(1, 1, 1, 2, 2, 2), - .iteration = c(1, 2, 3, 1, 2, 3), - .draw = c(1, 2, 3, 4, 5, 6), - alpha = c(1.1, 1.3, 1.2, 1.4, 1.5, 1.6), - beta = c(2.2, 2.3, 2.1, 2.5, 2.6, 2.4) -) - -# load into tidy data -tidy_data <- tidybayes::tidy_draws( - posterior_samples) - -# examine tidy data -print(tidy_data) - -# spread draws for all variables -spread_vars <- posterior_samples %>% - tidybayes::spread_draws(alpha, beta) -dplyr::glimpse(spread_vars) -""" From d85f49c25eeefc072ea359674ce68701afd897ec Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 22 Jan 2025 13:05:15 -0500 Subject: [PATCH 26/76] update docstring --- forecasttools/idata_to_tidy.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 7b35e0e..49ef40b 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -1,3 +1,10 @@ +""" +Contains functions for interfacing between +the tidy-verse and arviz, which includes +the conversion of idata objects (and hence +their groups) in tidy-usable objects. +""" + import re import arviz as az @@ -8,6 +15,29 @@ def convert_idata_forecast_to_tidydraws( idata: az.InferenceData, groups: list[str] ) -> dict[str, pl.DataFrame]: + """ + Creates a dictionary of polars dataframes + from the groups of an arviz InferenceData + object that when converted to a csv(s) + and read in R is tidy-usable. + + Parameters + ---------- + idata : az.InferenceData + An InferenceData object generated + from a numpyro forecast. Typically + has the groups observed_data and + posterior_predictive. + groups : list[str] + A list of groups belonging to the + idata object. + + Returns + ------- + dict[str, pl.DataFrame] + A dictionary of groups from the idata + convert to tidy-usable polars dataframe. + """ tidy_dfs = {} idata_df = idata.to_dataframe() for group in groups: From 85c0dbf9369498e409a95712d22451f37e022f2e Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 22 Jan 2025 13:23:29 -0500 Subject: [PATCH 27/76] add some of the notebook --- ...nference_data 1.nc => inference_data_1.nc} | Bin forecasttools/__init__.py | 2 + forecasttools/idata_to_tidy.py | 4 +- notebooks/pyrenew_dates_to_tidy.qmd | 41 ++++++++++++++++++ 4 files changed, 45 insertions(+), 2 deletions(-) rename assets/external/{inference_data 1.nc => inference_data_1.nc} (100%) create mode 100644 notebooks/pyrenew_dates_to_tidy.qmd diff --git a/assets/external/inference_data 1.nc b/assets/external/inference_data_1.nc similarity index 100% rename from assets/external/inference_data 1.nc rename to assets/external/inference_data_1.nc diff --git a/forecasttools/__init__.py b/forecasttools/__init__.py index 3593075..57231ad 100644 --- a/forecasttools/__init__.py +++ b/forecasttools/__init__.py @@ -4,6 +4,7 @@ import polars as pl from forecasttools.daily_to_epiweekly import df_aggregate_to_epiweekly +from forecasttools.idata_to_tidy import convert_idata_forecast_to_tidydraws from forecasttools.idata_w_dates_to_df import ( add_time_coords_to_idata_dimension, add_time_coords_to_idata_dimensions, @@ -95,4 +96,5 @@ "generate_time_range_for_dim", "validate_iter_has_expected_types", "ensure_listlike", + "convert_idata_forecast_to_tidydraws" ] diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 49ef40b..c303eda 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -60,12 +60,12 @@ def convert_idata_forecast_to_tidydraws( value_name="value" ) group_pols_df = group_pols_df.with_columns( - pl.col("variable").map_elements(lambda x: re.sub(r"\[.*\]", "", x)).alias("variable") + pl.col("variable").map_elements( + lambda x: re.sub(r"\[.*\]", "", x)).alias("variable") ) group_pols_df = group_pols_df.with_columns( ((pl.col("draw") - 1) % group_pols_df["draw"].n_unique() + 1).alias(".iteration") ) group_pols_df = group_pols_df.rename({"chain": ".chain", "draw": ".draw"}) tidy_dfs[group] = group_pols_df.select([".chain", ".draw", ".iteration", "variable", "value"]) - return tidy_dfs diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd new file mode 100644 index 0000000..0af09c1 --- /dev/null +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -0,0 +1,41 @@ +--- +title: Add Dates To Pyrenew Idata And Use In Tidy-Verse +format: gfm +engine: jupyter +--- + +_The following notebook illustrates the addition of dates to an external `idata` object before demonstrating the tidy-usable capabilities in R._ + +__Load In Packages And External Pyrenew InferenceData Object__ + +```{python} +#| echo: true +import forecasttools +import arviz as az +import xarray as xr + +xr.set_options(display_expand_data=False, display_expand_attrs=False) + + +pyrenew_idata_path = "../assets/external/inference_data_1.nc" +pyrenew_idata = az.from_netcdf(pyrenew_idata_path) +pyrenew_idata +``` + +__Define Groups To Save And Convert__ + +```{python} +#| echo: true + +pyrenew_groups = ["posterior_predictive"] +tidy_usable_groups = forecasttools.convert_idata_forecast_to_tidydraws( + idata=pyrenew_idata, + groups=pyrenew_groups +) + +# show variables +print(tidy_usable_groups["posterior_predictive"]["variable"].unique()) + +# show output +tidy_usable_groups +``` From 786d2e46698d8c35b5560c5b08a9d8a28e3e993a Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 22 Jan 2025 15:03:16 -0500 Subject: [PATCH 28/76] some minor notebook edits --- notebooks/pyrenew_dates_to_tidy.qmd | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index 0af09c1..f87f11c 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -39,3 +39,31 @@ print(tidy_usable_groups["posterior_predictive"]["variable"].unique()) # show output tidy_usable_groups ``` + +__Add Dates To Pyrenew InferenceData__ + +```{python} +start_time_as_dt = date(2022, 8, 1) + +variable_data = idata_wo_dates["posterior_predictive"]["obs"] + +as_dates_idata = forecasttools.generate_time_range_for_dim( + start_time_as_dt=start_time_as_dt, + variable_data=variable_data, + dimension="obs_dim_0", + time_step=timedelta(days=1), +) +print(as_dates_idata[:5], type(as_dates_idata[0])) + +as_time_idata = forecasttools.generate_time_range_for_dim( + start_time_as_dt=start_time_as_dt, + variable_data=variable_data, + dimension="obs_dim_0", + time_step=timedelta(days=1.5), +) +print(as_time_idata[:5], type(as_time_idata[0])) +``` + +__Again Convert The Dated Pyrenew InferenceData To Tidy-Usable__ + +__Examine The Dataframe In The Tidyverse__ From 4c4e6dd807a466432557c3d39b112aa2c1609d9b Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 22 Jan 2025 16:30:32 -0500 Subject: [PATCH 29/76] further refine notebook --- notebooks/pyrenew_dates_to_tidy.qmd | 113 ++++++++++++++++++++++++---- 1 file changed, 100 insertions(+), 13 deletions(-) diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index f87f11c..85e5f02 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -10,9 +10,14 @@ __Load In Packages And External Pyrenew InferenceData Object__ ```{python} #| echo: true + import forecasttools import arviz as az import xarray as xr +import os +import subprocess +import tempfile +from datetime import date, timedelta xr.set_options(display_expand_data=False, display_expand_attrs=False) @@ -40,30 +45,112 @@ print(tidy_usable_groups["posterior_predictive"]["variable"].unique()) tidy_usable_groups ``` -__Add Dates To Pyrenew InferenceData__ +__Demonstrate Adding Time To Pyrenew InferenceData__ ```{python} -start_time_as_dt = date(2022, 8, 1) +#| echo: true + +start_time_as_dt = date(2022, 8, 1) # arbitrary -variable_data = idata_wo_dates["posterior_predictive"]["obs"] +pyrenew_target_var = pyrenew_idata["posterior_predictive"]["observed_hospital_admissions"] +print(pyrenew_target_var) -as_dates_idata = forecasttools.generate_time_range_for_dim( +pyrenew_var_w_dates = forecasttools.generate_time_range_for_dim( start_time_as_dt=start_time_as_dt, - variable_data=variable_data, - dimension="obs_dim_0", + variable_data=pyrenew_target_var, + dimension="observed_hospital_admissions_dim_0", time_step=timedelta(days=1), ) -print(as_dates_idata[:5], type(as_dates_idata[0])) +print(pyrenew_var_w_dates[:5], type(pyrenew_var_w_dates[0])) +``` -as_time_idata = forecasttools.generate_time_range_for_dim( - start_time_as_dt=start_time_as_dt, - variable_data=variable_data, - dimension="obs_dim_0", - time_step=timedelta(days=1.5), +__Add Dates To Pyrenew InferenceData__ + +```{python} +#| echo: true + +pyrenew_idata_w_dates = forecasttools.add_time_coords_to_idata_dimension( + idata=pyrenew_idata, + group="posterior_predictive", + variable="observed_hospital_admissions", + dimension="observed_hospital_admissions_dim_0", + start_date_iso=start_time_as_dt, + time_step=timedelta(days=1), ) -print(as_time_idata[:5], type(as_time_idata[0])) + +print(pyrenew_idata_w_dates["posterior_predictive"]["observed_hospital_admissions"]["observed_hospital_admissions_dim_0"]) +pyrenew_idata_w_dates ``` __Again Convert The Dated Pyrenew InferenceData To Tidy-Usable__ + +```{python} + +pyrenew_groups = ["posterior_predictive"] +tidy_usable_groups_w_dates = forecasttools.convert_idata_forecast_to_tidydraws( + idata=pyrenew_idata_w_dates, + groups=pyrenew_groups +) +tidy_usable_groups_w_dates +``` + __Examine The Dataframe In The Tidyverse__ + +```{python} +def light_r_runner(r_code: str) -> None: + """ + Run R code from Python as a temp file. + """ + with tempfile.NamedTemporaryFile(suffix=".R", delete=False) as temp_r_file: + temp_r_file.write(r_code.encode("utf-8")) + temp_r_file_path = temp_r_file.name + try: + subprocess.run(["Rscript", temp_r_file_path], check=True) + except subprocess.CalledProcessError as e: + print(f"R script failed with error: {e}") + finally: + os.remove(temp_r_file_path) + + +for key, tidy_df in tidy_usable_groups_w_dates.items(): + file_name = f"{key}.csv" + if not os.path.exists(file_name): + tidy_df.write_csv(file_name) + print(f"Saved {file_name}") + + +r_code_to_verify_tibble = """ +library(magrittr) +library(tidyverse) +library(tidybayes) + +csv_files <- c("posterior_predictive.csv") + +for (csv_file in csv_files) { + tibble_data <- read_csv(csv_file) + + print(paste("Tibble from", csv_file)) + print(tibble_data) + + tidy_data <- tibble_data %>% + tidybayes::tidy_draws() + print(tidy_data) +} +""" +light_r_runner(r_code_to_verify_tibble) +``` + +The output of the last cell is: + +``` +ℹ Use `spec()` to retrieve the full column specification for this data. +ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message. +Error: To use a data frame directly with `tidy_draws()`, it must already be a + tidy-format data frame of draws: it must have integer-like `.chain` + `.iteration`, and `.draw` columns with one row per draw. + + The `.draw` column in the input data frame has more than one row per draw + (its values are not unique). +Execution halted +``` From e94979649cf8a902e91a8244a4d89efa43ed7e53 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 28 Jan 2025 10:18:51 -0500 Subject: [PATCH 30/76] update func name for clarity --- forecasttools/__init__.py | 4 ++-- forecasttools/idata_to_tidy.py | 2 +- notebooks/pyrenew_dates_to_tidy.qmd | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/forecasttools/__init__.py b/forecasttools/__init__.py index 57231ad..1499c2b 100644 --- a/forecasttools/__init__.py +++ b/forecasttools/__init__.py @@ -4,7 +4,7 @@ import polars as pl from forecasttools.daily_to_epiweekly import df_aggregate_to_epiweekly -from forecasttools.idata_to_tidy import convert_idata_forecast_to_tidydraws +from forecasttools.idata_to_tidy import convert_inference_data_to_tidydraws from forecasttools.idata_w_dates_to_df import ( add_time_coords_to_idata_dimension, add_time_coords_to_idata_dimensions, @@ -96,5 +96,5 @@ "generate_time_range_for_dim", "validate_iter_has_expected_types", "ensure_listlike", - "convert_idata_forecast_to_tidydraws" + "convert_inference_data_to_tidydraws" ] diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index c303eda..ff3a548 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -11,7 +11,7 @@ import polars as pl -def convert_idata_forecast_to_tidydraws( +def convert_inference_data_to_tidydraws( idata: az.InferenceData, groups: list[str] ) -> dict[str, pl.DataFrame]: diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index 85e5f02..d827437 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -33,7 +33,7 @@ __Define Groups To Save And Convert__ #| echo: true pyrenew_groups = ["posterior_predictive"] -tidy_usable_groups = forecasttools.convert_idata_forecast_to_tidydraws( +tidy_usable_groups = forecasttools.convert_inference_data_to_tidydraws( idata=pyrenew_idata, groups=pyrenew_groups ) @@ -88,7 +88,7 @@ __Again Convert The Dated Pyrenew InferenceData To Tidy-Usable__ ```{python} pyrenew_groups = ["posterior_predictive"] -tidy_usable_groups_w_dates = forecasttools.convert_idata_forecast_to_tidydraws( +tidy_usable_groups_w_dates = forecasttools.convert_inference_data_to_tidydraws( idata=pyrenew_idata_w_dates, groups=pyrenew_groups ) From ab0beb68011766a93fce5ff5177c8d8ab90e8caf Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 28 Jan 2025 12:08:26 -0500 Subject: [PATCH 31/76] remove historical scripts --- assets/external/idata_csv_to_tidy.R | 24 -------- assets/external/inference_data_tidy.R | 85 --------------------------- 2 files changed, 109 deletions(-) delete mode 100644 assets/external/idata_csv_to_tidy.R delete mode 100644 assets/external/inference_data_tidy.R diff --git a/assets/external/idata_csv_to_tidy.R b/assets/external/idata_csv_to_tidy.R deleted file mode 100644 index 5454a18..0000000 --- a/assets/external/idata_csv_to_tidy.R +++ /dev/null @@ -1,24 +0,0 @@ -arviz_split <- function(x) { -x %>% - select(-distribution) %>% - split(f = as.factor(x$distribution)) -} - -pyrenew_samples <- -read_csv(inference_data_path) %>% -rename_with(\(varname) str_remove_all(varname, "\\(|\\)|\\'|(, \\d+)")) |> -rename( - .chain = chain, - .iteration = draw -) |> -mutate(across(c(.chain, .iteration), \(x) as.integer(x + 1))) |> -mutate( - .draw = tidybayes:::draw_from_chain_and_iteration_(.chain, .iteration), - .after = .iteration -) |> -pivot_longer(-starts_with("."), - names_sep = ", ", - names_to = c("distribution", "name") -) |> -arviz_split() |> -map(\(x) pivot_wider(x, names_from = name) |> tidy_draws()) diff --git a/assets/external/inference_data_tidy.R b/assets/external/inference_data_tidy.R deleted file mode 100644 index 0c1d436..0000000 --- a/assets/external/inference_data_tidy.R +++ /dev/null @@ -1,85 +0,0 @@ -format_split_text <- function(x, concat_char = "|") { - group <- x[1] - non_group <- x[-1] - pre_bracket <- stringr::str_extract(non_group[1], "^.*(?=\\[)") - if (is.na(pre_bracket)) { - formatted_text <- glue::glue("{group}{concat_char}{non_group}") - } else { - bracket_contents <- non_group[-1] |> - stringr::str_replace_all("\\s", "_") |> - stringr::str_c(collapse = ",") - formatted_text <- glue::glue( - "{group}{concat_char}{pre_bracket}[{bracket_contents}]" - ) - } - formatted_text -} - -#' Convert InferenceData column names to tidy column names -#' -#' InferenceData column names for scalar variables are of the form -#' `"('group', 'var_name')"`, while column names for array variables are of the -#' form `"('group', 'var_name[i,j]', 'i_name', 'j_name')"`. -#' This function converts these column names to a format that is useful for -#' creating tidy_draws data frames. -#' `"('group', 'var_name')"` becomes `"group|var_name"` -#' `"('group', 'var_name[i,j]', 'i_name', 'j_name')"` becomes -#' `"group|var_name[i_name, j_name]"` -#' -#' @param column_names A character vector of InferenceData column names -#' -#' @return A character vector of tidy column names -#' @examples -#' forecasttools:::idata_names_to_tidy_names(c( -#' "('group', 'var_name')", -#' "group|var_name[i_name, j_name]" -#' )) -idata_names_to_tidy_names <- function(column_names) { - column_names |> - stringr::str_remove_all("^\\(|\\)$") |> - # remove opening and closing parentheses - stringr::str_split(", ") |> - purrr::map(\(x) stringr::str_remove_all(x, "^\\'|\\'$")) |> - # remove opening and closing quotes - purrr::map(\(x) stringr::str_remove_all(x, '\\"')) |> # remove double quotes - purrr::map_chr(format_split_text) # reformat groups and brackets -} - -#' Convert InferenceData DataFrame to nested tibble of tidy_draws -#' -#' @param idata InferenceData DataFrame (the result of calling -#' arviz.InferenceData.to_dataframe in Python) -#' -#' @return A nested tibble, with columns group and data. Each element of data is -#' a tidy_draws data frame -#' @export - -inferencedata_to_tidy_draws <- function(idata) { - idata |> - dplyr::rename( - .chain = chain, - .iteration = draw - ) |> - dplyr::rename_with(idata_names_to_tidy_names, - .cols = -tidyselect::starts_with(".") - ) |> - dplyr::mutate(dplyr::across( - c(.chain, .iteration), - \(x) as.integer(x + 1) # convert to 1-indexed - )) |> - dplyr::mutate( - .draw = tidybayes:::draw_from_chain_and_iteration_(.chain, .iteration), - .after = .iteration - ) |> - tidyr::pivot_longer(-starts_with("."), - names_sep = "\\|", - names_to = c("group", "name") - ) |> - dplyr::group_by(group) |> - tidyr::nest() |> - dplyr::mutate(data = purrr::map(data, \(x) { - tidyr::drop_na(x) |> - tidyr::pivot_wider(names_from = name) |> - tidybayes::tidy_draws() - })) -} From 27e7ada936fc8245466e53a3204076f27ff55e70 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 28 Jan 2025 12:10:07 -0500 Subject: [PATCH 32/76] tidybayes API --- forecasttools/idata_to_tidy.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index ff3a548..bff7c5d 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -18,8 +18,7 @@ def convert_inference_data_to_tidydraws( """ Creates a dictionary of polars dataframes from the groups of an arviz InferenceData - object that when converted to a csv(s) - and read in R is tidy-usable. + object for use with the tidybayes API. Parameters ---------- From b06f6e61bb5ac2138a9f18131a72e4c007865c19 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 28 Jan 2025 12:38:04 -0500 Subject: [PATCH 33/76] unfinished edits addressing several comments --- forecasttools/idata_to_tidy.py | 57 +++++++++----------- notebooks/pyrenew_dates_to_tidy.qmd | 81 +++++++++++++++++++++++++++-- 2 files changed, 104 insertions(+), 34 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index bff7c5d..be54c85 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -5,7 +5,6 @@ their groups) in tidy-usable objects. """ -import re import arviz as az import polars as pl @@ -29,7 +28,8 @@ def convert_inference_data_to_tidydraws( posterior_predictive. groups : list[str] A list of groups belonging to the - idata object. + idata object. Defaults to all groups + in the InferenceData. Returns ------- @@ -37,34 +37,29 @@ def convert_inference_data_to_tidydraws( A dictionary of groups from the idata convert to tidy-usable polars dataframe. """ - tidy_dfs = {} - idata_df = idata.to_dataframe() - for group in groups: - group_columns = [ - col for col in idata_df.columns - if isinstance(col, tuple) and col[0] == group - ] - meta_columns = ["chain", "draw"] - group_df = idata_df[meta_columns + group_columns] - group_df.columns = [ - col[1] if isinstance(col, tuple) else col - for col in group_df.columns - ] - group_pols_df = pl.from_pandas(group_df) - value_columns = [col for col in group_pols_df.columns if col not in meta_columns] - group_pols_df = group_pols_df.melt( - id_vars=meta_columns, - value_vars=value_columns, - variable_name="variable", - value_name="value" - ) - group_pols_df = group_pols_df.with_columns( - pl.col("variable").map_elements( - lambda x: re.sub(r"\[.*\]", "", x)).alias("variable") - ) - group_pols_df = group_pols_df.with_columns( - ((pl.col("draw") - 1) % group_pols_df["draw"].n_unique() + 1).alias(".iteration") + if groups is None: + groups = list(idata.groups()) + idata_df = pl.DataFrame(idata.to_dataframe()) + + tidy_dfs = { + group: ( + idata_df + .select(["chain", "draw"] + [col for col in idata_df.columns if isinstance(col, tuple) and col[0] == group]) + .rename({col: col[1] for col in idata_df.columns if isinstance(col, tuple) and col[0] == group}) + .melt( + id_vars=["chain", "draw"], + variable_name="variable", + value_name="value" + ) + .with_columns( + pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") + ) + .with_columns( + ((pl.col("draw") - 1) % idata_df.select(pl.col("draw").n_unique()).item(0) + 1).alias(".iteration") + ) + .rename({"chain": ".chain", "draw": ".draw"}) + .select([".chain", ".draw", ".iteration", "variable", "value"]) ) - group_pols_df = group_pols_df.rename({"chain": ".chain", "draw": ".draw"}) - tidy_dfs[group] = group_pols_df.select([".chain", ".draw", ".iteration", "variable", "value"]) + for group in groups if any(isinstance(col, tuple) and col[0] == group for col in idata_df.columns) + } return tidy_dfs diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index d827437..2d57dca 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -29,17 +29,92 @@ pyrenew_idata __Define Groups To Save And Convert__ +```{python} +import re + +import arviz as az +import polars as pl +from pprint import pprint + +def convert_inference_data_to_tidydraws( + idata: az.InferenceData, + groups: list[str] +) -> dict[str, pl.DataFrame]: + """ + Creates a dictionary of polars dataframes + from the groups of an arviz InferenceData + object for use with the tidybayes API. + + Parameters + ---------- + idata : az.InferenceData + An InferenceData object generated + from a numpyro forecast. Typically + has the groups observed_data and + posterior_predictive. + groups : list[str] + A list of groups belonging to the + idata object. Defaults to all groups + in the InferenceData. + + Returns + ------- + dict[str, pl.DataFrame] + A dictionary of groups from the idata + for use with the tidybayes API. + """ + if groups is None: + groups = list(idata.groups()) + idata_df = pl.DataFrame(idata.to_dataframe()) + # idata_df = idata_df.rename({ + # col: eval(col) if col.startswith("(") and col.endswith(")") else col + # for col in idata_df.columns + # if col not in ["chain", "draw"] + # }) + # column_mapping = {} + # for col in idata_df.columns: + # if col.startswith("(") and col.endswith(")") and col not in ["chain", "draw"]: + # try: + # column_mapping[col] = eval(col) + # except Exception: + # pass + # idata_df = idata_df.rename( + # {old: str(new) for old, new in column_mapping.items()}) + tidy_dfs = { + group: ( + idata_df + .select(["chain", "draw"] + [col for col in idata_df.columns if col.startswith(f"('{group}',")]) + .rename({col: col.split(", ")[1].strip("')") for col in idata_df.columns if col.startswith(f"('{group}',")}) + .melt( + id_vars=["chain", "draw"], + variable_name="variable", + value_name="value" + ) + .with_columns( + pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") + ) + .with_columns( + ((pl.col("draw") - 1) % idata_df.select(pl.col("draw").n_unique()).item(0) + 1).alias(".iteration") + ) + .rename({"chain": ".chain", "draw": ".draw"}) + .select([".chain", ".draw", ".iteration", "variable", "value"]) + ) + for group in groups if any(isinstance(col, tuple) and col[0] == group for col in idata_df.columns) + } + return tidy_dfs +``` + ```{python} #| echo: true pyrenew_groups = ["posterior_predictive"] -tidy_usable_groups = forecasttools.convert_inference_data_to_tidydraws( +tidy_usable_groups = convert_inference_data_to_tidydraws( idata=pyrenew_idata, groups=pyrenew_groups ) -# show variables -print(tidy_usable_groups["posterior_predictive"]["variable"].unique()) +# # show variables +# print(tidy_usable_groups["posterior_predictive"]["variable"].unique()) # show output tidy_usable_groups From 42acd0556679a74cc5dfeef9f29f960e8a707df4 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 28 Jan 2025 14:03:38 -0500 Subject: [PATCH 34/76] docstring change --- forecasttools/idata_to_tidy.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index be54c85..77e2b38 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -27,9 +27,9 @@ def convert_inference_data_to_tidydraws( has the groups observed_data and posterior_predictive. groups : list[str] - A list of groups belonging to the - idata object. Defaults to all groups - in the InferenceData. + A list of groups to transform to + tidy draws format. Defaults to all + groups in the InferenceData. Returns ------- From 2ed4c2969c4895b31608320f59b60e8cfde74cbb Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 28 Jan 2025 14:47:16 -0500 Subject: [PATCH 35/76] more corrective edits --- notebooks/pyrenew_dates_to_tidy.qmd | 40 +++++++++-------------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index 2d57dca..9b153e0 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -53,9 +53,9 @@ def convert_inference_data_to_tidydraws( has the groups observed_data and posterior_predictive. groups : list[str] - A list of groups belonging to the - idata object. Defaults to all groups - in the InferenceData. + A list of groups to transform to + tidy draws format. Defaults to all + groups in the InferenceData. Returns ------- @@ -66,38 +66,22 @@ def convert_inference_data_to_tidydraws( if groups is None: groups = list(idata.groups()) idata_df = pl.DataFrame(idata.to_dataframe()) - # idata_df = idata_df.rename({ - # col: eval(col) if col.startswith("(") and col.endswith(")") else col - # for col in idata_df.columns - # if col not in ["chain", "draw"] - # }) - # column_mapping = {} - # for col in idata_df.columns: - # if col.startswith("(") and col.endswith(")") and col not in ["chain", "draw"]: - # try: - # column_mapping[col] = eval(col) - # except Exception: - # pass - # idata_df = idata_df.rename( - # {old: str(new) for old, new in column_mapping.items()}) + + tidy_dfs = { group: ( idata_df - .select(["chain", "draw"] + [col for col in idata_df.columns if col.startswith(f"('{group}',")]) - .rename({col: col.split(", ")[1].strip("')") for col in idata_df.columns if col.startswith(f"('{group}',")}) - .melt( + .select( + ["chain", "draw"] + [col for col in idata_df.columns if col.startswith(f"('{group}',")]).rename( + {col: col.split(", ")[1].strip("')") for col in idata_df.columns if col.startswith(f"('{group}',")}).melt( id_vars=["chain", "draw"], variable_name="variable", value_name="value" - ) - .with_columns( + ).with_columns( pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") - ) - .with_columns( - ((pl.col("draw") - 1) % idata_df.select(pl.col("draw").n_unique()).item(0) + 1).alias(".iteration") - ) - .rename({"chain": ".chain", "draw": ".draw"}) - .select([".chain", ".draw", ".iteration", "variable", "value"]) + ).with_columns( + ((pl.col("draw") - 1) % pl.col("draw").n_unique() + 1).alias(".iteration") + ).rename({"chain": ".chain", "draw": ".draw"}).select([".chain", ".draw", ".iteration", "variable", "value"]) ) for group in groups if any(isinstance(col, tuple) and col[0] == group for col in idata_df.columns) } From 0ad7c243cb82fbff1845190736b5eedcb9ac4c50 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 28 Jan 2025 14:57:49 -0500 Subject: [PATCH 36/76] another corrective edit --- forecasttools/idata_to_tidy.py | 22 +++++++++------------- notebooks/pyrenew_dates_to_tidy.qmd | 3 +-- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 77e2b38..f9e8745 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -35,7 +35,7 @@ def convert_inference_data_to_tidydraws( ------- dict[str, pl.DataFrame] A dictionary of groups from the idata - convert to tidy-usable polars dataframe. + for use with the tidybayes API. """ if groups is None: groups = list(idata.groups()) @@ -44,22 +44,18 @@ def convert_inference_data_to_tidydraws( tidy_dfs = { group: ( idata_df - .select(["chain", "draw"] + [col for col in idata_df.columns if isinstance(col, tuple) and col[0] == group]) - .rename({col: col[1] for col in idata_df.columns if isinstance(col, tuple) and col[0] == group}) - .melt( + .select( + ["chain", "draw"] + [col for col in idata_df.columns if col.startswith(f"('{group}',")]).rename( + {col: col.split(", ")[1].strip("')") for col in idata_df.columns if col.startswith(f"('{group}',")}).melt( id_vars=["chain", "draw"], variable_name="variable", value_name="value" - ) - .with_columns( + ).with_columns( pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") - ) - .with_columns( - ((pl.col("draw") - 1) % idata_df.select(pl.col("draw").n_unique()).item(0) + 1).alias(".iteration") - ) - .rename({"chain": ".chain", "draw": ".draw"}) - .select([".chain", ".draw", ".iteration", "variable", "value"]) + ).with_columns( + ((pl.col("draw") - 1) % pl.col("draw").n_unique() + 1).alias(".iteration") + ).rename({"chain": ".chain", "draw": ".draw"}).select([".chain", ".draw", ".iteration", "variable", "value"]) ) - for group in groups if any(isinstance(col, tuple) and col[0] == group for col in idata_df.columns) + for group in groups } return tidy_dfs diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index 9b153e0..3dcdb49 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -67,7 +67,6 @@ def convert_inference_data_to_tidydraws( groups = list(idata.groups()) idata_df = pl.DataFrame(idata.to_dataframe()) - tidy_dfs = { group: ( idata_df @@ -83,7 +82,7 @@ def convert_inference_data_to_tidydraws( ((pl.col("draw") - 1) % pl.col("draw").n_unique() + 1).alias(".iteration") ).rename({"chain": ".chain", "draw": ".draw"}).select([".chain", ".draw", ".iteration", "variable", "value"]) ) - for group in groups if any(isinstance(col, tuple) and col[0] == group for col in idata_df.columns) + for group in groups } return tidy_dfs ``` From 9452acd7321786f903be0541be7c7866dd081358 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 29 Jan 2025 09:57:02 -0500 Subject: [PATCH 37/76] check for invalid groups --- forecasttools/idata_to_tidy.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index f9e8745..19f9529 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -37,8 +37,14 @@ def convert_inference_data_to_tidydraws( A dictionary of groups from the idata for use with the tidybayes API. """ + available_groups = list(idata.groups()) if groups is None: - groups = list(idata.groups()) + groups = available_groups + else: + invalid_groups = [group for group in groups if group not in available_groups] + if invalid_groups: + raise ValueError(f"Invalid groups provided: {invalid_groups}. Available groups: {available_groups}") + idata_df = pl.DataFrame(idata.to_dataframe()) tidy_dfs = { From 325aac4463fb5411bbb820335c4f064106f9dfea Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 30 Jan 2025 09:38:59 -0500 Subject: [PATCH 38/76] some extranous code removal --- notebooks/pyrenew_dates_to_tidy.qmd | 59 +---------------------------- 1 file changed, 1 insertion(+), 58 deletions(-) diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index 3dcdb49..ef07696 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -29,69 +29,12 @@ pyrenew_idata __Define Groups To Save And Convert__ -```{python} -import re - -import arviz as az -import polars as pl -from pprint import pprint - -def convert_inference_data_to_tidydraws( - idata: az.InferenceData, - groups: list[str] -) -> dict[str, pl.DataFrame]: - """ - Creates a dictionary of polars dataframes - from the groups of an arviz InferenceData - object for use with the tidybayes API. - - Parameters - ---------- - idata : az.InferenceData - An InferenceData object generated - from a numpyro forecast. Typically - has the groups observed_data and - posterior_predictive. - groups : list[str] - A list of groups to transform to - tidy draws format. Defaults to all - groups in the InferenceData. - - Returns - ------- - dict[str, pl.DataFrame] - A dictionary of groups from the idata - for use with the tidybayes API. - """ - if groups is None: - groups = list(idata.groups()) - idata_df = pl.DataFrame(idata.to_dataframe()) - - tidy_dfs = { - group: ( - idata_df - .select( - ["chain", "draw"] + [col for col in idata_df.columns if col.startswith(f"('{group}',")]).rename( - {col: col.split(", ")[1].strip("')") for col in idata_df.columns if col.startswith(f"('{group}',")}).melt( - id_vars=["chain", "draw"], - variable_name="variable", - value_name="value" - ).with_columns( - pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") - ).with_columns( - ((pl.col("draw") - 1) % pl.col("draw").n_unique() + 1).alias(".iteration") - ).rename({"chain": ".chain", "draw": ".draw"}).select([".chain", ".draw", ".iteration", "variable", "value"]) - ) - for group in groups - } - return tidy_dfs -``` ```{python} #| echo: true pyrenew_groups = ["posterior_predictive"] -tidy_usable_groups = convert_inference_data_to_tidydraws( +tidy_usable_groups = forecasttools.convert_inference_data_to_tidydraws( idata=pyrenew_idata, groups=pyrenew_groups ) From 462d57ba96c6953fe51dd64c2d7525d4a98beda2 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 30 Jan 2025 10:03:18 -0500 Subject: [PATCH 39/76] add partial, in-need-of-edits tests --- tests/test_idata_to_tidy.py | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 tests/test_idata_to_tidy.py diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py new file mode 100644 index 0000000..e84bec1 --- /dev/null +++ b/tests/test_idata_to_tidy.py @@ -0,0 +1,44 @@ +import arviz as az +import numpy as np +import polars as pl +import pytest +import xarray as xr + +import forecasttools + + +@pytest.fixture +def mock_inference_data(): + np.random.seed(42) + posterior_predictive = xr.Dataset( + { + "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), + }, + coords={"chain": [0, 1]} + ) + + idata = az.from_dict(posterior_predictive=posterior_predictive) + + return idata + + + +def test_valid_conversion(mock_inference_data): + result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["posterior_predictive"]) + assert isinstance(result, dict) + assert "posterior_predictive" in result + assert isinstance(result["posterior_predictive"], pl.DataFrame) + + df = result["posterior_predictive"] + assert all(col in df.columns for col in [".chain", ".draw", ".iteration", "variable", "value"]) + + assert df[".draw"].n_unique() == df[".draw"].shape[0] + + +def test_invalid_group(mock_inference_data): + with pytest.raises(ValueError, match="Invalid groups provided"): + forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["invalid_group"]) + +def test_empty_group_list(mock_inference_data): + result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, []) + assert result == {} From dae049fb795b9b322cdd90f305920834b6b09658 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 30 Jan 2025 10:29:26 -0500 Subject: [PATCH 40/76] comment test to prevent fail; add nesting of groups --- forecasttools/idata_to_tidy.py | 2 +- notebooks/pyrenew_dates_to_tidy.qmd | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 19f9529..e71d8d7 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -60,7 +60,7 @@ def convert_inference_data_to_tidydraws( pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") ).with_columns( ((pl.col("draw") - 1) % pl.col("draw").n_unique() + 1).alias(".iteration") - ).rename({"chain": ".chain", "draw": ".draw"}).select([".chain", ".draw", ".iteration", "variable", "value"]) + ).rename({"chain": ".chain", "draw": ".draw"}).select([".chain", ".iteration", ".draw", "variable", "value"]) ) for group in groups } diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index ef07696..68055b6 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -15,6 +15,7 @@ import forecasttools import arviz as az import xarray as xr import os +import polars as pl import subprocess import tempfile from datetime import date, timedelta @@ -39,13 +40,19 @@ tidy_usable_groups = forecasttools.convert_inference_data_to_tidydraws( groups=pyrenew_groups ) -# # show variables -# print(tidy_usable_groups["posterior_predictive"]["variable"].unique()) - # show output tidy_usable_groups ``` +```{python} +# TO DELETE +nested_tidy_dfs = { + group: {var: df.filter(pl.col("variable") == var) for var in df["variable"].unique().to_list()} + for group, df in tidy_usable_groups.items() + } +print(nested_tidy_dfs) +``` + __Demonstrate Adding Time To Pyrenew InferenceData__ ```{python} From 5e4cd633fa53901d92d0f032b3fe10a9b24867cb Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 30 Jan 2025 10:29:35 -0500 Subject: [PATCH 41/76] comment test to prevent fail; add nesting of groups --- tests/test_idata_to_tidy.py | 62 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index e84bec1..b85e4b8 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -1,44 +1,44 @@ -import arviz as az -import numpy as np -import polars as pl -import pytest -import xarray as xr +# import arviz as az +# import numpy as np +# import polars as pl +# import pytest +# import xarray as xr -import forecasttools +# import forecasttools -@pytest.fixture -def mock_inference_data(): - np.random.seed(42) - posterior_predictive = xr.Dataset( - { - "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), - }, - coords={"chain": [0, 1]} - ) +# @pytest.fixture +# def mock_inference_data(): +# np.random.seed(42) +# posterior_predictive = xr.Dataset( +# { +# "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), +# }, +# coords={"chain": [0, 1]} +# ) - idata = az.from_dict(posterior_predictive=posterior_predictive) +# idata = az.from_dict(posterior_predictive=posterior_predictive) - return idata +# return idata -def test_valid_conversion(mock_inference_data): - result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["posterior_predictive"]) - assert isinstance(result, dict) - assert "posterior_predictive" in result - assert isinstance(result["posterior_predictive"], pl.DataFrame) +# def test_valid_conversion(mock_inference_data): +# result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["posterior_predictive"]) +# assert isinstance(result, dict) +# assert "posterior_predictive" in result +# assert isinstance(result["posterior_predictive"], pl.DataFrame) - df = result["posterior_predictive"] - assert all(col in df.columns for col in [".chain", ".draw", ".iteration", "variable", "value"]) +# df = result["posterior_predictive"] +# assert all(col in df.columns for col in [".chain", ".draw", ".iteration", "variable", "value"]) - assert df[".draw"].n_unique() == df[".draw"].shape[0] +# assert df[".draw"].n_unique() == df[".draw"].shape[0] -def test_invalid_group(mock_inference_data): - with pytest.raises(ValueError, match="Invalid groups provided"): - forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["invalid_group"]) +# def test_invalid_group(mock_inference_data): +# with pytest.raises(ValueError, match="Invalid groups provided"): +# forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["invalid_group"]) -def test_empty_group_list(mock_inference_data): - result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, []) - assert result == {} +# def test_empty_group_list(mock_inference_data): +# result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, []) +# assert result == {} From 5c288311a78487ea2e1649377fb2fd94e680a0a9 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 30 Jan 2025 12:27:12 -0500 Subject: [PATCH 42/76] small update to showcase script --- notebooks/pyrenew_dates_to_tidy.qmd | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index 68055b6..98b24b4 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -50,7 +50,7 @@ nested_tidy_dfs = { group: {var: df.filter(pl.col("variable") == var) for var in df["variable"].unique().to_list()} for group, df in tidy_usable_groups.items() } -print(nested_tidy_dfs) +nested_tidy_dfs ``` __Demonstrate Adding Time To Pyrenew InferenceData__ @@ -120,12 +120,18 @@ def light_r_runner(r_code: str) -> None: finally: os.remove(temp_r_file_path) +#for key, tidy_df in tidy_usable_groups_w_dates.items(): +# file_name = f"{key}.csv" +# if not os.path.exists(file_name): +# tidy_df.write_csv(file_name) +# print(f"Saved {file_name}") -for key, tidy_df in tidy_usable_groups_w_dates.items(): - file_name = f"{key}.csv" - if not os.path.exists(file_name): - tidy_df.write_csv(file_name) - print(f"Saved {file_name}") +for group, var in nested_tidy_dfs.items(): + for var_name, tidy_data in var.items(): + file_name = f"{var_name}.csv" + if not os.path.exists(file_name): + tidy_data.write_csv(file_name) + print(f"Saved {file_name}") r_code_to_verify_tibble = """ @@ -133,7 +139,7 @@ library(magrittr) library(tidyverse) library(tidybayes) -csv_files <- c("posterior_predictive.csv") +csv_files <- c("observed_hospital_admissions.csv") for (csv_file in csv_files) { tibble_data <- read_csv(csv_file) From d246a44dec98d1f08e3c9ba70ea00dd22e84dc33 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 3 Feb 2025 10:37:39 -0500 Subject: [PATCH 43/76] uncomment failing tests; run pre-commit --- tests/test_idata_to_tidy.py | 62 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index b85e4b8..e84bec1 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -1,44 +1,44 @@ -# import arviz as az -# import numpy as np -# import polars as pl -# import pytest -# import xarray as xr +import arviz as az +import numpy as np +import polars as pl +import pytest +import xarray as xr -# import forecasttools +import forecasttools -# @pytest.fixture -# def mock_inference_data(): -# np.random.seed(42) -# posterior_predictive = xr.Dataset( -# { -# "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), -# }, -# coords={"chain": [0, 1]} -# ) +@pytest.fixture +def mock_inference_data(): + np.random.seed(42) + posterior_predictive = xr.Dataset( + { + "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), + }, + coords={"chain": [0, 1]} + ) -# idata = az.from_dict(posterior_predictive=posterior_predictive) + idata = az.from_dict(posterior_predictive=posterior_predictive) -# return idata + return idata -# def test_valid_conversion(mock_inference_data): -# result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["posterior_predictive"]) -# assert isinstance(result, dict) -# assert "posterior_predictive" in result -# assert isinstance(result["posterior_predictive"], pl.DataFrame) +def test_valid_conversion(mock_inference_data): + result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["posterior_predictive"]) + assert isinstance(result, dict) + assert "posterior_predictive" in result + assert isinstance(result["posterior_predictive"], pl.DataFrame) -# df = result["posterior_predictive"] -# assert all(col in df.columns for col in [".chain", ".draw", ".iteration", "variable", "value"]) + df = result["posterior_predictive"] + assert all(col in df.columns for col in [".chain", ".draw", ".iteration", "variable", "value"]) -# assert df[".draw"].n_unique() == df[".draw"].shape[0] + assert df[".draw"].n_unique() == df[".draw"].shape[0] -# def test_invalid_group(mock_inference_data): -# with pytest.raises(ValueError, match="Invalid groups provided"): -# forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["invalid_group"]) +def test_invalid_group(mock_inference_data): + with pytest.raises(ValueError, match="Invalid groups provided"): + forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["invalid_group"]) -# def test_empty_group_list(mock_inference_data): -# result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, []) -# assert result == {} +def test_empty_group_list(mock_inference_data): + result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, []) + assert result == {} From 496c65cee8384893f59f2c94f84c1535e1da4a21 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 3 Feb 2025 14:20:52 -0500 Subject: [PATCH 44/76] attempt fix pre-commit issues --- .github/workflows/pre-commit.yaml | 2 +- .github/workflows/test.yaml | 2 +- .pre-commit-config.yaml | 31 ++++++---------- forecasttools/__init__.py | 20 +++++------ forecasttools/data.py | 8 ++--- forecasttools/idata_to_tidy.py | 42 ++++++++++++++-------- forecasttools/idata_w_dates_to_df.py | 16 +++------ forecasttools/recode_locations.py | 18 ++++------ forecasttools/to_hubverse.py | 4 +-- forecasttools/trajectories_to_quantiles.py | 10 ++---- forecasttools/utils.py | 8 ++--- pyproject.toml | 2 +- tests/test_add_time_coords_to_idata.py | 20 +++-------- tests/test_idata_to_tidy.py | 17 ++++++--- tests/test_recoding_locations.py | 24 ++++++------- 15 files changed, 95 insertions(+), 129 deletions(-) diff --git a/.github/workflows/pre-commit.yaml b/.github/workflows/pre-commit.yaml index 800e852..a112dc7 100644 --- a/.github/workflows/pre-commit.yaml +++ b/.github/workflows/pre-commit.yaml @@ -12,7 +12,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.12.6" - name: Set up Quarto uses: quarto-dev/quarto-actions/setup@v2 - name: Install Poetry diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 5efc8e1..be7603f 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.12.6" - name: cache poetry uses: actions/cache@v4 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index fbee562..a66e822 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,7 +13,6 @@ repos: - id: end-of-file-fixer - id: mixed-line-ending - id: trailing-whitespace - - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: @@ -69,34 +68,26 @@ repos: ################################################################################ # PYTHON ################################################################################ -# - repo: https://github.com/psf/black-pre-commit-mirror -# rev: 24.10.0 -# hooks: -# - id: black -# args: ["--line-length", "79"] -# language_version: python3 -- repo: https://github.com/PyCQA/isort - rev: 5.13.2 - hooks: - - id: isort - args: ["--profile", "black", "--line-length", "79"] -- repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.3 - hooks: - - id: ruff - args: ["--ignore=E741", "--ignore=E731", "--fix"] +- repo: https://github.com/astral-sh/ruff-pre-commit + # Ruff version. + rev: v0.9.4 + hooks: + # Run the linter. + - id: ruff + # Run the formatter. + - id: ruff-format ################################################################################ # GITHUB ACTIONS ################################################################################ - repo: https://github.com/rhysd/actionlint - rev: v1.7.4 + rev: v1.7.7 hooks: - id: actionlint ################################################################################ # SPELLING ################################################################################ - repo: https://github.com/crate-ci/typos - rev: typos-dict-v0.11.37 + rev: typos-dict-v0.12.4 hooks: - id: typos args: ["--force-exclude"] @@ -104,7 +95,7 @@ repos: # COMMIT MESSAGES ################################################################################ - repo: https://github.com/commitizen-tools/commitizen - rev: v4.1.0 + rev: v4.1.1 hooks: - id: commitizen - repo: https://github.com/jorisroovers/gitlint diff --git a/forecasttools/__init__.py b/forecasttools/__init__.py index 1499c2b..d90d2ce 100644 --- a/forecasttools/__init__.py +++ b/forecasttools/__init__.py @@ -35,9 +35,9 @@ location_table = pl.read_parquet(location_table_path) # load example flusight submission -example_flusight_submission_path = importlib.resources.files( - __package__ -).joinpath("example_flusight_submission.parquet") +example_flusight_submission_path = importlib.resources.files(__package__).joinpath( + "example_flusight_submission.parquet" +) dtypes_d = {"location": pl.Utf8} example_flusight_submission = pl.read_parquet(example_flusight_submission_path) @@ -57,16 +57,16 @@ # load idata NHSN influenza forecast # (NHSN, as of 2024-09-26) without dates -example_flu_forecast_wo_dates_path = importlib.resources.files( - __package__ -).joinpath("example_flu_forecast_wo_dates.nc") +example_flu_forecast_wo_dates_path = importlib.resources.files(__package__).joinpath( + "example_flu_forecast_wo_dates.nc" +) nhsn_flu_forecast_wo_dates = az.from_netcdf(example_flu_forecast_wo_dates_path) # load idata NHSN influenza forecast # (NHSN, as of 2024-09-26) with dates -example_flu_forecast_w_dates_path = importlib.resources.files( - __package__ -).joinpath("example_flu_forecast_w_dates.nc") +example_flu_forecast_w_dates_path = importlib.resources.files(__package__).joinpath( + "example_flu_forecast_w_dates.nc" +) nhsn_flu_forecast_w_dates = az.from_netcdf(example_flu_forecast_w_dates_path) @@ -96,5 +96,5 @@ "generate_time_range_for_dim", "validate_iter_has_expected_types", "ensure_listlike", - "convert_inference_data_to_tidydraws" + "convert_inference_data_to_tidydraws", ] diff --git a/forecasttools/data.py b/forecasttools/data.py index 008d24c..1abb1a0 100644 --- a/forecasttools/data.py +++ b/forecasttools/data.py @@ -133,9 +133,7 @@ def make_nshn_fitting_dataset( check_file_save_path(file_save_path) # check that a data file exists if not os.path.exists(nhsn_dataset_path): - raise FileNotFoundError( - f"The file {nhsn_dataset_path} does not exist." - ) + raise FileNotFoundError(f"The file {nhsn_dataset_path} does not exist.") else: # check that the loaded CSV has the needed columns df_cols = pl.scan_csv(nhsn_dataset_path).columns @@ -163,9 +161,7 @@ def make_nshn_fitting_dataset( "previous_day_admission_adult_covid_confirmed", ] ) - .rename( - {"previous_day_admission_adult_covid_confirmed": "hosp"} - ) + .rename({"previous_day_admission_adult_covid_confirmed": "hosp"}) .sort(["state", "date"]) ) df_covid.write_csv(file_save_path) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index e71d8d7..e1c4dda 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -5,14 +5,12 @@ their groups) in tidy-usable objects. """ - import arviz as az import polars as pl def convert_inference_data_to_tidydraws( - idata: az.InferenceData, - groups: list[str] + idata: az.InferenceData, groups: list[str] ) -> dict[str, pl.DataFrame]: """ Creates a dictionary of polars dataframes @@ -43,24 +41,38 @@ def convert_inference_data_to_tidydraws( else: invalid_groups = [group for group in groups if group not in available_groups] if invalid_groups: - raise ValueError(f"Invalid groups provided: {invalid_groups}. Available groups: {available_groups}") + raise ValueError( + f"Invalid groups provided: {invalid_groups}. Available groups: {available_groups}" + ) idata_df = pl.DataFrame(idata.to_dataframe()) tidy_dfs = { group: ( - idata_df - .select( - ["chain", "draw"] + [col for col in idata_df.columns if col.startswith(f"('{group}',")]).rename( - {col: col.split(", ")[1].strip("')") for col in idata_df.columns if col.startswith(f"('{group}',")}).melt( - id_vars=["chain", "draw"], - variable_name="variable", - value_name="value" - ).with_columns( + idata_df.select( + ["chain", "draw"] + + [col for col in idata_df.columns if col.startswith(f"('{group}',")] + ) + .rename( + { + col: col.split(", ")[1].strip("')") + for col in idata_df.columns + if col.startswith(f"('{group}',") + } + ) + .melt( + id_vars=["chain", "draw"], variable_name="variable", value_name="value" + ) + .with_columns( pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") - ).with_columns( - ((pl.col("draw") - 1) % pl.col("draw").n_unique() + 1).alias(".iteration") - ).rename({"chain": ".chain", "draw": ".draw"}).select([".chain", ".iteration", ".draw", "variable", "value"]) + ) + .with_columns( + ((pl.col("draw") - 1) % pl.col("draw").n_unique() + 1).alias( + ".iteration" + ) + ) + .rename({"chain": ".chain", "draw": ".draw"}) + .select([".chain", ".iteration", ".draw", "variable", "value"]) ) for group in groups } diff --git a/forecasttools/idata_w_dates_to_df.py b/forecasttools/idata_w_dates_to_df.py index 661b657..5788aad 100644 --- a/forecasttools/idata_w_dates_to_df.py +++ b/forecasttools/idata_w_dates_to_df.py @@ -38,9 +38,7 @@ def convert_date_or_datetime_to_np(time_object: any) -> np.datetime64: """ if isinstance(time_object, np.datetime64): return time_object - elif isinstance(time_object, date) and not isinstance( - time_object, datetime - ): + elif isinstance(time_object, date) and not isinstance(time_object, datetime): return np.datetime64(time_object, "D") elif isinstance(time_object, datetime): return np.datetime64(time_object, "ns") @@ -158,9 +156,7 @@ def add_time_coords_to_idata_dimension( forecasttools.validate_input_type( value=value, expected_type=expected_type, param_name=param_name ) - idata_group = forecasttools.validate_and_get_idata_group( - idata=idata, group=group - ) + idata_group = forecasttools.validate_and_get_idata_group(idata=idata, group=group) variable_data = forecasttools.validate_and_get_idata_group_var( idata_group=idata_group, group=group, variable=variable ) @@ -244,17 +240,13 @@ def add_time_coords_to_idata_dimensions( # all contain str vars forecasttools.validate_iter_has_expected_types(groups, str, "groups") forecasttools.validate_iter_has_expected_types(variables, str, "variables") - forecasttools.validate_iter_has_expected_types( - dimensions, str, "dimensions" - ) + forecasttools.validate_iter_has_expected_types(dimensions, str, "dimensions") # create tuples, the groups should have # every combination of variables and # dimensions var_dim_combinations = list(itertools.product(variables, dimensions)) gvd_tuples = [ - (group, var, dim) - for group in groups - for var, dim in var_dim_combinations + (group, var, dim) for group in groups for var, dim in var_dim_combinations ] # iterate over (group, variable, dimension) triples for group, variable, dimension in gvd_tuples: diff --git a/forecasttools/recode_locations.py b/forecasttools/recode_locations.py index 7db5268..e44e2c1 100644 --- a/forecasttools/recode_locations.py +++ b/forecasttools/recode_locations.py @@ -9,9 +9,7 @@ import forecasttools -def loc_abbr_to_hubverse_code( - df: pl.DataFrame, location_col: str -) -> pl.DataFrame: +def loc_abbr_to_hubverse_code(df: pl.DataFrame, location_col: str) -> pl.DataFrame: """ Takes the location column of a Polars dataframe (formatted as US two-letter @@ -75,9 +73,7 @@ def loc_abbr_to_hubverse_code( return loc_recoded_df -def loc_hubverse_code_to_abbr( - df: pl.DataFrame, location_col: str -) -> pl.DataFrame: +def loc_hubverse_code_to_abbr(df: pl.DataFrame, location_col: str) -> pl.DataFrame: """ Takes the location columns of a Polars dataframe (formatted as hubverse codes for @@ -161,9 +157,9 @@ def to_location_table_column(location_format: str) -> str: from the location table. """ # check inputted variable type - assert isinstance( - location_format, str - ), f"Expected a string; got {type(location_format)}." + assert isinstance(location_format, str), ( + f"Expected a string; got {type(location_format)}." + ) # return proper column name from input format col_dict = { "abbr": "short_name", @@ -178,9 +174,7 @@ def to_location_table_column(location_format: str) -> str: return col -def location_lookup( - location_vector: list[str], location_format: str -) -> pl.DataFrame: +def location_lookup(location_vector: list[str], location_format: str) -> pl.DataFrame: """ Look up rows of the hubverse location table corresponding to the entries diff --git a/forecasttools/to_hubverse.py b/forecasttools/to_hubverse.py index ab623c0..21c88c8 100644 --- a/forecasttools/to_hubverse.py +++ b/forecasttools/to_hubverse.py @@ -48,9 +48,7 @@ def get_hubverse_target_end_dates( "reference_date": reference_date, "target": "wk inc flu hosp", "horizon": h, - "target_end_date": ( - reference_date_dt + timedelta(weeks=h) - ).date(), + "target_end_date": (reference_date_dt + timedelta(weeks=h)).date(), "epidate": epiweeks.Week.fromdate( reference_date_dt + timedelta(weeks=h) ), diff --git a/forecasttools/trajectories_to_quantiles.py b/forecasttools/trajectories_to_quantiles.py index 4812a1f..c6be455 100644 --- a/forecasttools/trajectories_to_quantiles.py +++ b/forecasttools/trajectories_to_quantiles.py @@ -62,16 +62,10 @@ def trajectories_to_quantiles( """ # set default quantiles if quantiles is None: - quantiles = ( - [0.01, 0.025] - + [0.05 * elt for elt in range(1, 20)] - + [0.975, 0.99] - ) + quantiles = [0.01, 0.025] + [0.05 * elt for elt in range(1, 20)] + [0.975, 0.99] # group trajectories based on timepoint_cols and id_cols - group_cols = ( - timepoint_cols if id_cols is None else timepoint_cols + id_cols - ) + group_cols = timepoint_cols if id_cols is None else timepoint_cols + id_cols # get quantiles across epiweek for forecast quant_df = ( trajectories.group_by(group_cols) diff --git a/forecasttools/utils.py b/forecasttools/utils.py index 312e9b7..cea9224 100644 --- a/forecasttools/utils.py +++ b/forecasttools/utils.py @@ -9,9 +9,7 @@ import xarray as xr -def validate_input_type( - value: any, expected_type: type | tuple[type], param_name: str -): +def validate_input_type(value: any, expected_type: type | tuple[type], param_name: str): """Checks the type of a variable and raises a TypeError if it does not match the expected type.""" @@ -44,9 +42,7 @@ def validate_and_get_idata_group_var( """Retrieves the variable from the group and validates its existence.""" if variable not in idata_group.data_vars: - raise ValueError( - f"Variable '{variable}' not found in group '{group}'." - ) + raise ValueError(f"Variable '{variable}' not found in group '{group}'.") return idata_group[variable] diff --git a/pyproject.toml b/pyproject.toml index 7cbe94f..4129823 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ include = [ [tool.poetry.dependencies] -python = "^3.12" +python = "^3.12.6" arviz = "^0.20.0" polars = "^1.8.2" xarray = "^2024.9.0" diff --git a/tests/test_add_time_coords_to_idata.py b/tests/test_add_time_coords_to_idata.py index 512d56a..5fc2a19 100644 --- a/tests/test_add_time_coords_to_idata.py +++ b/tests/test_add_time_coords_to_idata.py @@ -42,9 +42,7 @@ ), # time_step can't be 0 ], ) -def test_add_time_coords_to_idata_dimension( - start_date_iso, time_step, expected_error -): +def test_add_time_coords_to_idata_dimension(start_date_iso, time_step, expected_error): """ Tests instances where invalid start_iso_date (as str and datetime dates) @@ -373,9 +371,7 @@ def test_ensure_listlike(input_value, expected_output): unchanged. """ out = forecasttools.ensure_listlike(input_value) - assert ( - out == expected_output - ), f"Expected {expected_output}, but got {out}." + assert out == expected_output, f"Expected {expected_output}, but got {out}." @pytest.mark.parametrize( @@ -397,9 +393,7 @@ def test_ensure_listlike(input_value, expected_output): ), # invalid, non-string in list ], ) -def test_validate_iter_has_expected_types( - input_value, expected_error, param_name -): +def test_validate_iter_has_expected_types(input_value, expected_error, param_name): """ Test that validate_iter_has_expected_types properly validates that all entries in @@ -408,13 +402,9 @@ def test_validate_iter_has_expected_types( """ if expected_error: with pytest.raises(expected_error): - forecasttools.validate_iter_has_expected_types( - input_value, str, param_name - ) + forecasttools.validate_iter_has_expected_types(input_value, str, param_name) else: - forecasttools.validate_iter_has_expected_types( - input_value, str, param_name - ) + forecasttools.validate_iter_has_expected_types(input_value, str, param_name) @pytest.mark.parametrize( diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index e84bec1..397938f 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -14,7 +14,7 @@ def mock_inference_data(): { "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), }, - coords={"chain": [0, 1]} + coords={"chain": [0, 1]}, ) idata = az.from_dict(posterior_predictive=posterior_predictive) @@ -22,22 +22,29 @@ def mock_inference_data(): return idata - def test_valid_conversion(mock_inference_data): - result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["posterior_predictive"]) + result = forecasttools.convert_inference_data_to_tidydraws( + mock_inference_data, ["posterior_predictive"] + ) assert isinstance(result, dict) assert "posterior_predictive" in result assert isinstance(result["posterior_predictive"], pl.DataFrame) df = result["posterior_predictive"] - assert all(col in df.columns for col in [".chain", ".draw", ".iteration", "variable", "value"]) + assert all( + col in df.columns + for col in [".chain", ".draw", ".iteration", "variable", "value"] + ) assert df[".draw"].n_unique() == df[".draw"].shape[0] def test_invalid_group(mock_inference_data): with pytest.raises(ValueError, match="Invalid groups provided"): - forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, ["invalid_group"]) + forecasttools.convert_inference_data_to_tidydraws( + mock_inference_data, ["invalid_group"] + ) + def test_empty_group_list(mock_inference_data): result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, []) diff --git a/tests/test_recoding_locations.py b/tests/test_recoding_locations.py index 37ffe7f..42ac797 100644 --- a/tests/test_recoding_locations.py +++ b/tests/test_recoding_locations.py @@ -36,9 +36,9 @@ def test_recode_valid_location_correct_input( """ df_w_loc_recoded = function(df=df, location_col=location_col) loc_output = df_w_loc_recoded["location"].to_list() - assert ( - loc_output == expected_output - ), f"Expected {expected_output}, Got: {loc_output}" + assert loc_output == expected_output, ( + f"Expected {expected_output}, Got: {loc_output}" + ) @pytest.mark.parametrize( @@ -129,18 +129,16 @@ def test_loc_conversation_funcs_invalid_input( ("long_name", "long_name"), ], ) -def test_to_location_table_column_correct_input( - location_format, expected_column -): +def test_to_location_table_column_correct_input(location_format, expected_column): """ Test to_location_table_column for expected column names when given different location formats. """ result_column = forecasttools.to_location_table_column(location_format) - assert ( - result_column == expected_column - ), f"Expected column '{expected_column}' for format '{location_format}', but got '{result_column}'" + assert result_column == expected_column, ( + f"Expected column '{expected_column}' for format '{location_format}', but got '{result_column}'" + ) @pytest.mark.parametrize( @@ -191,9 +189,7 @@ def test_location_lookup_exceptions( with pytest.raises(expected_exception): forecasttools.location_lookup(location_vector, location_format) else: - result = forecasttools.location_lookup( - location_vector, location_format + result = forecasttools.location_lookup(location_vector, location_format) + assert isinstance(result, pl.DataFrame), ( + "Expected a Polars DataFrame as output." ) - assert isinstance( - result, pl.DataFrame - ), "Expected a Polars DataFrame as output." From 2c34af74b7566d6213d251873ec9f1375f3d9e2c Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 3 Feb 2025 14:45:17 -0500 Subject: [PATCH 45/76] pre-commit edits --- .pre-commit-config.yaml | 6 +- forecasttools/__init__.py | 18 ++--- forecasttools/data.py | 8 ++- forecasttools/idata_to_tidy.py | 14 +++- forecasttools/idata_w_dates_to_df.py | 16 +++-- forecasttools/recode_locations.py | 12 +++- forecasttools/to_hubverse.py | 4 +- forecasttools/trajectories_to_quantiles.py | 10 ++- forecasttools/utils.py | 8 ++- tests/test_add_time_coords_to_idata.py | 20 ++++-- tests/test_idata_to_tidy.py | 78 +++++++++++----------- tests/test_recoding_locations.py | 8 ++- 12 files changed, 128 insertions(+), 74 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a66e822..e02ad1b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -69,13 +69,13 @@ repos: # PYTHON ################################################################################ - repo: https://github.com/astral-sh/ruff-pre-commit - # Ruff version. rev: v0.9.4 hooks: - # Run the linter. + # run the linter. - id: ruff - # Run the formatter. + # run the formatter. - id: ruff-format + args: ["--line-length", "79"] ################################################################################ # GITHUB ACTIONS ################################################################################ diff --git a/forecasttools/__init__.py b/forecasttools/__init__.py index d90d2ce..1589e67 100644 --- a/forecasttools/__init__.py +++ b/forecasttools/__init__.py @@ -35,9 +35,9 @@ location_table = pl.read_parquet(location_table_path) # load example flusight submission -example_flusight_submission_path = importlib.resources.files(__package__).joinpath( - "example_flusight_submission.parquet" -) +example_flusight_submission_path = importlib.resources.files( + __package__ +).joinpath("example_flusight_submission.parquet") dtypes_d = {"location": pl.Utf8} example_flusight_submission = pl.read_parquet(example_flusight_submission_path) @@ -57,16 +57,16 @@ # load idata NHSN influenza forecast # (NHSN, as of 2024-09-26) without dates -example_flu_forecast_wo_dates_path = importlib.resources.files(__package__).joinpath( - "example_flu_forecast_wo_dates.nc" -) +example_flu_forecast_wo_dates_path = importlib.resources.files( + __package__ +).joinpath("example_flu_forecast_wo_dates.nc") nhsn_flu_forecast_wo_dates = az.from_netcdf(example_flu_forecast_wo_dates_path) # load idata NHSN influenza forecast # (NHSN, as of 2024-09-26) with dates -example_flu_forecast_w_dates_path = importlib.resources.files(__package__).joinpath( - "example_flu_forecast_w_dates.nc" -) +example_flu_forecast_w_dates_path = importlib.resources.files( + __package__ +).joinpath("example_flu_forecast_w_dates.nc") nhsn_flu_forecast_w_dates = az.from_netcdf(example_flu_forecast_w_dates_path) diff --git a/forecasttools/data.py b/forecasttools/data.py index 1abb1a0..008d24c 100644 --- a/forecasttools/data.py +++ b/forecasttools/data.py @@ -133,7 +133,9 @@ def make_nshn_fitting_dataset( check_file_save_path(file_save_path) # check that a data file exists if not os.path.exists(nhsn_dataset_path): - raise FileNotFoundError(f"The file {nhsn_dataset_path} does not exist.") + raise FileNotFoundError( + f"The file {nhsn_dataset_path} does not exist." + ) else: # check that the loaded CSV has the needed columns df_cols = pl.scan_csv(nhsn_dataset_path).columns @@ -161,7 +163,9 @@ def make_nshn_fitting_dataset( "previous_day_admission_adult_covid_confirmed", ] ) - .rename({"previous_day_admission_adult_covid_confirmed": "hosp"}) + .rename( + {"previous_day_admission_adult_covid_confirmed": "hosp"} + ) .sort(["state", "date"]) ) df_covid.write_csv(file_save_path) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index e1c4dda..1c0e0f4 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -39,7 +39,9 @@ def convert_inference_data_to_tidydraws( if groups is None: groups = available_groups else: - invalid_groups = [group for group in groups if group not in available_groups] + invalid_groups = [ + group for group in groups if group not in available_groups + ] if invalid_groups: raise ValueError( f"Invalid groups provided: {invalid_groups}. Available groups: {available_groups}" @@ -51,7 +53,11 @@ def convert_inference_data_to_tidydraws( group: ( idata_df.select( ["chain", "draw"] - + [col for col in idata_df.columns if col.startswith(f"('{group}',")] + + [ + col + for col in idata_df.columns + if col.startswith(f"('{group}',") + ] ) .rename( { @@ -61,7 +67,9 @@ def convert_inference_data_to_tidydraws( } ) .melt( - id_vars=["chain", "draw"], variable_name="variable", value_name="value" + id_vars=["chain", "draw"], + variable_name="variable", + value_name="value", ) .with_columns( pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") diff --git a/forecasttools/idata_w_dates_to_df.py b/forecasttools/idata_w_dates_to_df.py index 5788aad..661b657 100644 --- a/forecasttools/idata_w_dates_to_df.py +++ b/forecasttools/idata_w_dates_to_df.py @@ -38,7 +38,9 @@ def convert_date_or_datetime_to_np(time_object: any) -> np.datetime64: """ if isinstance(time_object, np.datetime64): return time_object - elif isinstance(time_object, date) and not isinstance(time_object, datetime): + elif isinstance(time_object, date) and not isinstance( + time_object, datetime + ): return np.datetime64(time_object, "D") elif isinstance(time_object, datetime): return np.datetime64(time_object, "ns") @@ -156,7 +158,9 @@ def add_time_coords_to_idata_dimension( forecasttools.validate_input_type( value=value, expected_type=expected_type, param_name=param_name ) - idata_group = forecasttools.validate_and_get_idata_group(idata=idata, group=group) + idata_group = forecasttools.validate_and_get_idata_group( + idata=idata, group=group + ) variable_data = forecasttools.validate_and_get_idata_group_var( idata_group=idata_group, group=group, variable=variable ) @@ -240,13 +244,17 @@ def add_time_coords_to_idata_dimensions( # all contain str vars forecasttools.validate_iter_has_expected_types(groups, str, "groups") forecasttools.validate_iter_has_expected_types(variables, str, "variables") - forecasttools.validate_iter_has_expected_types(dimensions, str, "dimensions") + forecasttools.validate_iter_has_expected_types( + dimensions, str, "dimensions" + ) # create tuples, the groups should have # every combination of variables and # dimensions var_dim_combinations = list(itertools.product(variables, dimensions)) gvd_tuples = [ - (group, var, dim) for group in groups for var, dim in var_dim_combinations + (group, var, dim) + for group in groups + for var, dim in var_dim_combinations ] # iterate over (group, variable, dimension) triples for group, variable, dimension in gvd_tuples: diff --git a/forecasttools/recode_locations.py b/forecasttools/recode_locations.py index e44e2c1..628fa1d 100644 --- a/forecasttools/recode_locations.py +++ b/forecasttools/recode_locations.py @@ -9,7 +9,9 @@ import forecasttools -def loc_abbr_to_hubverse_code(df: pl.DataFrame, location_col: str) -> pl.DataFrame: +def loc_abbr_to_hubverse_code( + df: pl.DataFrame, location_col: str +) -> pl.DataFrame: """ Takes the location column of a Polars dataframe (formatted as US two-letter @@ -73,7 +75,9 @@ def loc_abbr_to_hubverse_code(df: pl.DataFrame, location_col: str) -> pl.DataFra return loc_recoded_df -def loc_hubverse_code_to_abbr(df: pl.DataFrame, location_col: str) -> pl.DataFrame: +def loc_hubverse_code_to_abbr( + df: pl.DataFrame, location_col: str +) -> pl.DataFrame: """ Takes the location columns of a Polars dataframe (formatted as hubverse codes for @@ -174,7 +178,9 @@ def to_location_table_column(location_format: str) -> str: return col -def location_lookup(location_vector: list[str], location_format: str) -> pl.DataFrame: +def location_lookup( + location_vector: list[str], location_format: str +) -> pl.DataFrame: """ Look up rows of the hubverse location table corresponding to the entries diff --git a/forecasttools/to_hubverse.py b/forecasttools/to_hubverse.py index 21c88c8..ab623c0 100644 --- a/forecasttools/to_hubverse.py +++ b/forecasttools/to_hubverse.py @@ -48,7 +48,9 @@ def get_hubverse_target_end_dates( "reference_date": reference_date, "target": "wk inc flu hosp", "horizon": h, - "target_end_date": (reference_date_dt + timedelta(weeks=h)).date(), + "target_end_date": ( + reference_date_dt + timedelta(weeks=h) + ).date(), "epidate": epiweeks.Week.fromdate( reference_date_dt + timedelta(weeks=h) ), diff --git a/forecasttools/trajectories_to_quantiles.py b/forecasttools/trajectories_to_quantiles.py index c6be455..4812a1f 100644 --- a/forecasttools/trajectories_to_quantiles.py +++ b/forecasttools/trajectories_to_quantiles.py @@ -62,10 +62,16 @@ def trajectories_to_quantiles( """ # set default quantiles if quantiles is None: - quantiles = [0.01, 0.025] + [0.05 * elt for elt in range(1, 20)] + [0.975, 0.99] + quantiles = ( + [0.01, 0.025] + + [0.05 * elt for elt in range(1, 20)] + + [0.975, 0.99] + ) # group trajectories based on timepoint_cols and id_cols - group_cols = timepoint_cols if id_cols is None else timepoint_cols + id_cols + group_cols = ( + timepoint_cols if id_cols is None else timepoint_cols + id_cols + ) # get quantiles across epiweek for forecast quant_df = ( trajectories.group_by(group_cols) diff --git a/forecasttools/utils.py b/forecasttools/utils.py index cea9224..312e9b7 100644 --- a/forecasttools/utils.py +++ b/forecasttools/utils.py @@ -9,7 +9,9 @@ import xarray as xr -def validate_input_type(value: any, expected_type: type | tuple[type], param_name: str): +def validate_input_type( + value: any, expected_type: type | tuple[type], param_name: str +): """Checks the type of a variable and raises a TypeError if it does not match the expected type.""" @@ -42,7 +44,9 @@ def validate_and_get_idata_group_var( """Retrieves the variable from the group and validates its existence.""" if variable not in idata_group.data_vars: - raise ValueError(f"Variable '{variable}' not found in group '{group}'.") + raise ValueError( + f"Variable '{variable}' not found in group '{group}'." + ) return idata_group[variable] diff --git a/tests/test_add_time_coords_to_idata.py b/tests/test_add_time_coords_to_idata.py index 5fc2a19..4006eda 100644 --- a/tests/test_add_time_coords_to_idata.py +++ b/tests/test_add_time_coords_to_idata.py @@ -42,7 +42,9 @@ ), # time_step can't be 0 ], ) -def test_add_time_coords_to_idata_dimension(start_date_iso, time_step, expected_error): +def test_add_time_coords_to_idata_dimension( + start_date_iso, time_step, expected_error +): """ Tests instances where invalid start_iso_date (as str and datetime dates) @@ -371,7 +373,9 @@ def test_ensure_listlike(input_value, expected_output): unchanged. """ out = forecasttools.ensure_listlike(input_value) - assert out == expected_output, f"Expected {expected_output}, but got {out}." + assert out == expected_output, ( + f"Expected {expected_output}, but got {out}." + ) @pytest.mark.parametrize( @@ -393,7 +397,9 @@ def test_ensure_listlike(input_value, expected_output): ), # invalid, non-string in list ], ) -def test_validate_iter_has_expected_types(input_value, expected_error, param_name): +def test_validate_iter_has_expected_types( + input_value, expected_error, param_name +): """ Test that validate_iter_has_expected_types properly validates that all entries in @@ -402,9 +408,13 @@ def test_validate_iter_has_expected_types(input_value, expected_error, param_nam """ if expected_error: with pytest.raises(expected_error): - forecasttools.validate_iter_has_expected_types(input_value, str, param_name) + forecasttools.validate_iter_has_expected_types( + input_value, str, param_name + ) else: - forecasttools.validate_iter_has_expected_types(input_value, str, param_name) + forecasttools.validate_iter_has_expected_types( + input_value, str, param_name + ) @pytest.mark.parametrize( diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index 397938f..0b51397 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -1,51 +1,53 @@ -import arviz as az -import numpy as np -import polars as pl -import pytest -import xarray as xr +# import arviz as az +# import numpy as np +# import polars as pl +# import pytest +# import xarray as xr -import forecasttools +# import forecasttools -@pytest.fixture -def mock_inference_data(): - np.random.seed(42) - posterior_predictive = xr.Dataset( - { - "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), - }, - coords={"chain": [0, 1]}, - ) +# @pytest.fixture +# def mock_inference_data(): +# np.random.seed(42) +# posterior_predictive = xr.Dataset( +# { +# "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), +# }, +# coords={"chain": [0, 1]}, +# ) - idata = az.from_dict(posterior_predictive=posterior_predictive) +# idata = az.from_dict(posterior_predictive=posterior_predictive) - return idata +# return idata -def test_valid_conversion(mock_inference_data): - result = forecasttools.convert_inference_data_to_tidydraws( - mock_inference_data, ["posterior_predictive"] - ) - assert isinstance(result, dict) - assert "posterior_predictive" in result - assert isinstance(result["posterior_predictive"], pl.DataFrame) +# def test_valid_conversion(mock_inference_data): +# result = forecasttools.convert_inference_data_to_tidydraws( +# mock_inference_data, ["posterior_predictive"] +# ) +# assert isinstance(result, dict) +# assert "posterior_predictive" in result +# assert isinstance(result["posterior_predictive"], pl.DataFrame) - df = result["posterior_predictive"] - assert all( - col in df.columns - for col in [".chain", ".draw", ".iteration", "variable", "value"] - ) +# df = result["posterior_predictive"] +# assert all( +# col in df.columns +# for col in [".chain", ".draw", ".iteration", "variable", "value"] +# ) - assert df[".draw"].n_unique() == df[".draw"].shape[0] +# assert df[".draw"].n_unique() == df[".draw"].shape[0] -def test_invalid_group(mock_inference_data): - with pytest.raises(ValueError, match="Invalid groups provided"): - forecasttools.convert_inference_data_to_tidydraws( - mock_inference_data, ["invalid_group"] - ) +# def test_invalid_group(mock_inference_data): +# with pytest.raises(ValueError, match="Invalid groups provided"): +# forecasttools.convert_inference_data_to_tidydraws( +# mock_inference_data, ["invalid_group"] +# ) -def test_empty_group_list(mock_inference_data): - result = forecasttools.convert_inference_data_to_tidydraws(mock_inference_data, []) - assert result == {} +# def test_empty_group_list(mock_inference_data): +# result = forecasttools.convert_inference_data_to_tidydraws( +# mock_inference_data, [] +# ) +# assert result == {} diff --git a/tests/test_recoding_locations.py b/tests/test_recoding_locations.py index 42ac797..3a68aa1 100644 --- a/tests/test_recoding_locations.py +++ b/tests/test_recoding_locations.py @@ -129,7 +129,9 @@ def test_loc_conversation_funcs_invalid_input( ("long_name", "long_name"), ], ) -def test_to_location_table_column_correct_input(location_format, expected_column): +def test_to_location_table_column_correct_input( + location_format, expected_column +): """ Test to_location_table_column for expected column names @@ -189,7 +191,9 @@ def test_location_lookup_exceptions( with pytest.raises(expected_exception): forecasttools.location_lookup(location_vector, location_format) else: - result = forecasttools.location_lookup(location_vector, location_format) + result = forecasttools.location_lookup( + location_vector, location_format + ) assert isinstance(result, pl.DataFrame), ( "Expected a Polars DataFrame as output." ) From dba6e7a874a051788a58fc00704255989cbb2592 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 4 Feb 2025 09:13:41 -0500 Subject: [PATCH 46/76] more prudent usage of ruff; pre-commit fixes --- .pre-commit-config.yaml | 53 +++++++++++--- forecasttools/daily_to_epiweekly.py | 19 +++-- forecasttools/data.py | 9 ++- forecasttools/idata_to_tidy.py | 4 +- forecasttools/idata_w_dates_to_df.py | 5 +- forecasttools/recode_locations.py | 18 +++-- forecasttools/trajectories_to_quantiles.py | 4 +- forecasttools/utils.py | 12 ++-- tests/test_idata_to_tidy.py | 80 +++++++++++----------- tests/test_recoding_locations.py | 3 +- 10 files changed, 136 insertions(+), 71 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e02ad1b..8b7cbef 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -68,14 +68,51 @@ repos: ################################################################################ # PYTHON ################################################################################ -- repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.4 - hooks: - # run the linter. - - id: ruff - # run the formatter. - - id: ruff-format - args: ["--line-length", "79"] +- repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.9.4 + hooks: + # "currently, the Ruff formatter does not sort imports. + # In order to both sort imports and format, call + # the Ruff linter and then the formatter:" + - id: ruff + args: [ + "check", + "--select", + # isort + "I", + "--fix"] + # run ruff linter; the Ruff Linter is an extremely fast Python linter + # designed as a drop-in replacement for Flake8 (plus dozens of plugins), + # isort, pydocstyle, pyupgrade, autoflake, and more + - id: ruff + args: [ + # ambiguous variable name: {name} + "--ignore=E741", + # do not assign a lambda expression, use a def + "--ignore=E731", + # indentation contains tabs (sorry, I like tabs) + "--ignore=W191", + # found useless expression. ignore since .qmd displays + "--ignore=B018", + # {name} is too complex ({complexity} > {max_complexity}) + # note: ignored on select repositories + "--ignore=C901", + # E and W: pycodestyle, standard PEP8 errors and pycodestyle warnings. + # F: pyflakes warnings (e.g., unused variables, undefined names)., + # B: flake8-bugbear (useful best practices). + # SIM: flake8-simplify + # C90: McCabe complexity (cyclomatic complexity). + # UP: pyupgrade, Python version compatibility + "--select=E,W,F,B,C90,UP,SIM", + "--line-length=79", + # lint all files in the current directory, and fix any fixable errors. + "--fix"] + # run the ruff-formatter; the Ruff formatter is an extremely fast + # Python code formatter designed as a drop-in replacement for Black + - id: ruff-format + args: [ + "--line-length=79", + ] ################################################################################ # GITHUB ACTIONS ################################################################################ diff --git a/forecasttools/daily_to_epiweekly.py b/forecasttools/daily_to_epiweekly.py index 2d76530..01926b3 100644 --- a/forecasttools/daily_to_epiweekly.py +++ b/forecasttools/daily_to_epiweekly.py @@ -29,7 +29,7 @@ def df_aggregate_to_epiweekly( forecast_df: pl.DataFrame, value_col: str = "value", date_col: str = "date", - id_cols: list[str] = ["draw"], + id_cols: list[str] = None, weekly_value_name: str = "weekly_value", strict: bool = False, ) -> pl.DataFrame: @@ -73,6 +73,9 @@ def df_aggregate_to_epiweekly( A dataframe with value_col aggregated across epiweek and epiyear. """ + # set default id_cols + if id_cols is None: + id_cols = ["draw"] # add epiweek and epiyear columns forecast_df = forecast_df.with_columns( pl.col(["date"]) @@ -89,16 +92,22 @@ def df_aggregate_to_epiweekly( n_elements = grouped_df.agg(pl.count().alias("n_elements")) problematic_trajectories = n_elements.filter(pl.col("n_elements") > 7) if not problematic_trajectories.is_empty(): - message = f"Problematic trajectories with more than 7 values per epiweek per year: {problematic_trajectories}" + message = ( + f"Problematic trajectories with more than" + f" 7 values per epiweek per year: {problematic_trajectories}" + ) raise ValueError( - f"At least one trajectory has more than 7 values for a given epiweek of a given year.\n{message}" + f"At least one trajectory has more than 7 values for a given" + f" epiweek of a given year.\n{message}" ) # check if any week has more than 7 dates if not n_elements["n_elements"].to_numpy().max() <= 7: raise ValueError( - "At least one trajectory has more than 7 values for a given epiweek of a given year." + "At least one trajectory has more than 7 values" + " for a given epiweek of a given year." ) - # if strict, filter out groups that do not have exactly 7 contributing dates + # if strict, filter out groups that do not have exactly 7 + # contributing dates if strict: valid_groups = n_elements.filter(pl.col("n_elements") == 7) forecast_df = forecast_df.join( diff --git a/forecasttools/data.py b/forecasttools/data.py index 008d24c..0f4b179 100644 --- a/forecasttools/data.py +++ b/forecasttools/data.py @@ -147,7 +147,8 @@ def make_nshn_fitting_dataset( ] if not set(required_cols).issubset(set(df_cols)): raise ValueError( - f"NHSN dataset missing required columns: {set(required_cols) - set(df_cols)}" + f"NHSN dataset missing required columns:" + f" {set(required_cols) - set(df_cols)}" ) # fully load and save NHSN dataframe df = pl.read_csv(nhsn_dataset_path) @@ -199,7 +200,11 @@ def get_and_save_flusight_submission( # check if the save file exists check_file_save_path(file_save_path) # check if the FluSight example url is still valid - url = "https://raw.githubusercontent.com/cdcepi/FluSight-forecast-hub/main/model-output/cfa-flumech/2023-10-14-cfa-flumech.csv" + url = ( + "https://raw.githubusercontent.com/cdcepi/" + "FluSight-forecast-hub/main/model-output/" + "cfa-flumech/2023-10-14-cfa-flumech.csv" + ) check_url(url) # read csv from URL, convert to polars submission_df = pl.read_csv(url, infer_schema_length=7500) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 1c0e0f4..df4c200 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -44,11 +44,11 @@ def convert_inference_data_to_tidydraws( ] if invalid_groups: raise ValueError( - f"Invalid groups provided: {invalid_groups}. Available groups: {available_groups}" + f"Invalid groups provided: {invalid_groups}." + f" Available groups: {available_groups}" ) idata_df = pl.DataFrame(idata.to_dataframe()) - tidy_dfs = { group: ( idata_df.select( diff --git a/forecasttools/idata_w_dates_to_df.py b/forecasttools/idata_w_dates_to_df.py index 661b657..6e14dcb 100644 --- a/forecasttools/idata_w_dates_to_df.py +++ b/forecasttools/idata_w_dates_to_df.py @@ -175,7 +175,7 @@ def add_time_coords_to_idata_dimension( ) # will change when xarray supports # numpy.dtype("datetime64[D]") - if not interval_dates.dtype == np.dtype("datetime64[ns]"): + if interval_dates.dtype != np.dtype("datetime64[ns]"): interval_dates = interval_dates.astype("datetime64[ns]") idata_group = idata_group.assign_coords({dimension: interval_dates}) setattr(idata, group, idata_group) @@ -269,7 +269,8 @@ def add_time_coords_to_idata_dimensions( ) except ValueError as e: raise ValueError( - f"Error for (group={group}, variable={variable}, dimension={dimension})." + f"Error for (group={group}, variable={variable}," + f" dimension={dimension})." ) from e return idata diff --git a/forecasttools/recode_locations.py b/forecasttools/recode_locations.py index 628fa1d..44f5d08 100644 --- a/forecasttools/recode_locations.py +++ b/forecasttools/recode_locations.py @@ -51,7 +51,8 @@ def loc_abbr_to_hubverse_code( # in the inputted dataframe if location_col not in df.columns: raise ValueError( - f"Column '{location_col}' not found in the dataframe; got {df.columns}." + f"Column '{location_col}' not found in the dataframe;" + f" got {df.columns}." ) # get location table from forecasttools loc_table = forecasttools.location_table @@ -62,7 +63,8 @@ def loc_abbr_to_hubverse_code( difference = location_values.difference(valid_values) if difference: raise ValueError( - f"The following values in '{location_col}') are not valid jurisdictional codes: {difference}." + f"The following values in '{location_col}') are not valid" + f" jurisdictional codes: {difference}." ) # recode existing location abbreviations # with location codes @@ -117,7 +119,8 @@ def loc_hubverse_code_to_abbr( # in the inputted dataframe if location_col not in df.columns: raise ValueError( - f"Column '{location_col}' not found in the dataframe; got {df.columns}." + f"Column '{location_col}' not found in the dataframe;" + f" got {df.columns}." ) # get location table from forecasttools loc_table = forecasttools.location_table @@ -128,7 +131,8 @@ def loc_hubverse_code_to_abbr( difference = location_values.difference(valid_values) if difference: raise ValueError( - f"Some values in {difference} (in col '{location_col}') are not valid jurisdictional codes." + f"Some values in {difference} (in col '{location_col}')" + f" are not valid jurisdictional codes." ) # recode existing location codes with # with location abbreviations @@ -173,7 +177,8 @@ def to_location_table_column(location_format: str) -> str: col = col_dict.get(location_format) if col is None: raise KeyError( - f"Unknown location format {location_format}. Expected one of:\n{col_dict.keys()}." + f"Unknown location format {location_format}." + f" Expected one of:\n{col_dict.keys()}." ) return col @@ -224,7 +229,8 @@ def location_lookup( valid_formats = ["abbr", "hubverse", "long_name"] if location_format not in valid_formats: raise ValueError( - f"Invalid location format '{location_format}'. Expected one of: {valid_formats}." + f"Invalid location format '{location_format}'." + f" Expected one of: {valid_formats}." ) # check that location vector not empty if not location_vector: diff --git a/forecasttools/trajectories_to_quantiles.py b/forecasttools/trajectories_to_quantiles.py index 4812a1f..301413d 100644 --- a/forecasttools/trajectories_to_quantiles.py +++ b/forecasttools/trajectories_to_quantiles.py @@ -10,7 +10,7 @@ def trajectories_to_quantiles( trajectories: pl.DataFrame, quantiles: list[float] = None, - timepoint_cols: list[str] = ["timepoint"], + timepoint_cols: list[str] = None, value_col_name: str = "value", quantile_value_name: str = "quantile_value", quantile_level_name: str = "quantile_level", @@ -67,6 +67,8 @@ def trajectories_to_quantiles( + [0.05 * elt for elt in range(1, 20)] + [0.975, 0.99] ) + if timepoint_cols is None: + timepoint_cols = ["timepoint"] # group trajectories based on timepoint_cols and id_cols group_cols = ( diff --git a/forecasttools/utils.py b/forecasttools/utils.py index 312e9b7..c64fe05 100644 --- a/forecasttools/utils.py +++ b/forecasttools/utils.py @@ -18,12 +18,14 @@ def validate_input_type( if isinstance(expected_type, tuple): if not any(isinstance(value, t) for t in expected_type): raise TypeError( - f"Parameter '{param_name}' must be one of the types {expected_type}; got {type(value)}" + f"Parameter '{param_name}' must be one of the types" + f" {expected_type}; got {type(value)}." ) else: if not isinstance(value, expected_type): raise TypeError( - f"Parameter '{param_name}' must be of type '{expected_type.__name__}'; got {type(value)}" + f"Parameter '{param_name}' must be of type" + f" '{expected_type.__name__}'; got {type(value)}." ) @@ -55,7 +57,8 @@ def validate_idata_group_var_dim(variable_data: xr.DataArray, dimension: str): exists in the variable.""" if dimension not in variable_data.dims: raise ValueError( - f"Dimension '{dimension}' not found in variable dimensions: '{variable_data.dims}'." + f"Dimension '{dimension}' not found in variable dimensions:" + f" '{variable_data.dims}'." ) @@ -69,7 +72,8 @@ def validate_iter_has_expected_types( """ if not all(isinstance(item, expected_type) for item in iterable): raise TypeError( - f"All items in '{param_name}' must be of type '{expected_type.__name__}'." + f"All items in '{param_name}' must be of type" + f" '{expected_type.__name__}'." ) diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index 0b51397..ed307d8 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -1,53 +1,53 @@ -# import arviz as az -# import numpy as np -# import polars as pl -# import pytest -# import xarray as xr +import arviz as az +import numpy as np +import polars as pl +import pytest +import xarray as xr -# import forecasttools +import forecasttools -# @pytest.fixture -# def mock_inference_data(): -# np.random.seed(42) -# posterior_predictive = xr.Dataset( -# { -# "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), -# }, -# coords={"chain": [0, 1]}, -# ) +@pytest.fixture +def mock_inference_data(): + np.random.seed(42) + posterior_predictive = xr.Dataset( + { + "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), + }, + coords={"chain": [0, 1]}, + ) -# idata = az.from_dict(posterior_predictive=posterior_predictive) + idata = az.from_dict(posterior_predictive=posterior_predictive) -# return idata + return idata -# def test_valid_conversion(mock_inference_data): -# result = forecasttools.convert_inference_data_to_tidydraws( -# mock_inference_data, ["posterior_predictive"] -# ) -# assert isinstance(result, dict) -# assert "posterior_predictive" in result -# assert isinstance(result["posterior_predictive"], pl.DataFrame) +def test_valid_conversion(mock_inference_data): + result = forecasttools.convert_inference_data_to_tidydraws( + mock_inference_data, ["posterior_predictive"] + ) + assert isinstance(result, dict) + assert "posterior_predictive" in result + assert isinstance(result["posterior_predictive"], pl.DataFrame) -# df = result["posterior_predictive"] -# assert all( -# col in df.columns -# for col in [".chain", ".draw", ".iteration", "variable", "value"] -# ) + df = result["posterior_predictive"] + assert all( + col in df.columns + for col in [".chain", ".draw", ".iteration", "variable", "value"] + ) -# assert df[".draw"].n_unique() == df[".draw"].shape[0] + assert df[".draw"].n_unique() == df[".draw"].shape[0] -# def test_invalid_group(mock_inference_data): -# with pytest.raises(ValueError, match="Invalid groups provided"): -# forecasttools.convert_inference_data_to_tidydraws( -# mock_inference_data, ["invalid_group"] -# ) +def test_invalid_group(mock_inference_data): + with pytest.raises(ValueError, match="Invalid groups provided"): + forecasttools.convert_inference_data_to_tidydraws( + mock_inference_data, ["invalid_group"] + ) -# def test_empty_group_list(mock_inference_data): -# result = forecasttools.convert_inference_data_to_tidydraws( -# mock_inference_data, [] -# ) -# assert result == {} +def test_empty_group_list(mock_inference_data): + result = forecasttools.convert_inference_data_to_tidydraws( + mock_inference_data, [] + ) + assert result == {} diff --git a/tests/test_recoding_locations.py b/tests/test_recoding_locations.py index 3a68aa1..d8107bd 100644 --- a/tests/test_recoding_locations.py +++ b/tests/test_recoding_locations.py @@ -139,7 +139,8 @@ def test_to_location_table_column_correct_input( """ result_column = forecasttools.to_location_table_column(location_format) assert result_column == expected_column, ( - f"Expected column '{expected_column}' for format '{location_format}', but got '{result_column}'" + f"Expected column '{expected_column}'" + f" for format '{location_format}', but got '{result_column}'." ) From e1cdbb9160986feb0e7f6e26ead8bf3c7c195b79 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 4 Feb 2025 09:15:42 -0500 Subject: [PATCH 47/76] revert version edits from black error --- .github/workflows/pre-commit.yaml | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pre-commit.yaml b/.github/workflows/pre-commit.yaml index a112dc7..800e852 100644 --- a/.github/workflows/pre-commit.yaml +++ b/.github/workflows/pre-commit.yaml @@ -12,7 +12,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: "3.12.6" + python-version: "3.12" - name: Set up Quarto uses: quarto-dev/quarto-actions/setup@v2 - name: Install Poetry diff --git a/pyproject.toml b/pyproject.toml index 4129823..7cbe94f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ include = [ [tool.poetry.dependencies] -python = "^3.12.6" +python = "^3.12" arviz = "^0.20.0" polars = "^1.8.2" xarray = "^2024.9.0" From 9884aa9af35d58ffda3fd38f0fc4537bac4c1ba1 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 4 Feb 2025 10:31:21 -0500 Subject: [PATCH 48/76] use selectors; finally, nice to figure that out --- .pre-commit-config.yaml | 1 + forecasttools/idata_to_tidy.py | 10 ++-------- notebooks/pyrenew_dates_to_tidy.qmd | 4 ++++ 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8b7cbef..0aa6818 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -104,6 +104,7 @@ repos: # C90: McCabe complexity (cyclomatic complexity). # UP: pyupgrade, Python version compatibility "--select=E,W,F,B,C90,UP,SIM", + # linter checks for lines, but doesn't fix, default is 88 "--line-length=79", # lint all files in the current directory, and fix any fixable errors. "--fix"] diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index df4c200..cbfbfd7 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -7,6 +7,7 @@ import arviz as az import polars as pl +import polars.selectors as cs def convert_inference_data_to_tidydraws( @@ -51,14 +52,7 @@ def convert_inference_data_to_tidydraws( idata_df = pl.DataFrame(idata.to_dataframe()) tidy_dfs = { group: ( - idata_df.select( - ["chain", "draw"] - + [ - col - for col in idata_df.columns - if col.startswith(f"('{group}',") - ] - ) + idata_df.select("chain", "draw", cs.starts_with(f"('{group}',")) .rename( { col: col.split(", ")[1].strip("')") diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index 98b24b4..3676d20 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -28,6 +28,10 @@ pyrenew_idata = az.from_netcdf(pyrenew_idata_path) pyrenew_idata ``` + + + + __Define Groups To Save And Convert__ From 90f5484bb808e31085caab60b0fd5a29a523c5fe Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 4 Feb 2025 10:37:49 -0500 Subject: [PATCH 49/76] fix some conflicts with daily to epiweekly --- forecasttools/daily_to_epiweekly.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/forecasttools/daily_to_epiweekly.py b/forecasttools/daily_to_epiweekly.py index 01926b3..15b3beb 100644 --- a/forecasttools/daily_to_epiweekly.py +++ b/forecasttools/daily_to_epiweekly.py @@ -8,6 +8,8 @@ import epiweeks import polars as pl +import forecasttools + def calculate_epi_week_and_year(date: str): """ @@ -76,6 +78,7 @@ def df_aggregate_to_epiweekly( # set default id_cols if id_cols is None: id_cols = ["draw"] + id_cols = forecasttools.ensure_listlike(id_cols) # add epiweek and epiyear columns forecast_df = forecast_df.with_columns( pl.col(["date"]) From 3547ab6df8f5cdb39f4ad367f1209f2cb2299288 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 4 Feb 2025 10:44:08 -0500 Subject: [PATCH 50/76] fix pre-commit errors --- forecasttools/daily_to_epiweekly.py | 1 - 1 file changed, 1 deletion(-) diff --git a/forecasttools/daily_to_epiweekly.py b/forecasttools/daily_to_epiweekly.py index 9822201..75167e0 100644 --- a/forecasttools/daily_to_epiweekly.py +++ b/forecasttools/daily_to_epiweekly.py @@ -11,7 +11,6 @@ import forecasttools - def calculate_epi_week_and_year(date: str): """ Converts an ISO8601 formatted From 2999ec30eff5ab37805bf541b63b3431cf5df496 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 4 Feb 2025 11:26:34 -0500 Subject: [PATCH 51/76] add pivot to make life easier; not sure if to aggregate by first --- forecasttools/idata_to_tidy.py | 9 ++++++++- notebooks/pyrenew_dates_to_tidy.qmd | 8 ++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index cbfbfd7..625ed9f 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -74,7 +74,14 @@ def convert_inference_data_to_tidydraws( ) ) .rename({"chain": ".chain", "draw": ".draw"}) - .select([".chain", ".iteration", ".draw", "variable", "value"]) + .pivot( + values="value", + index=[".chain", ".iteration", ".draw"], + columns="variable", + aggregate_function="first", + ) + .sort([".chain", ".iteration", ".draw"]) + # .select([".chain", ".iteration", ".draw", "variable", "value"]) ) for group in groups } diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index 3676d20..ce53eb0 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -51,9 +51,13 @@ tidy_usable_groups ```{python} # TO DELETE nested_tidy_dfs = { - group: {var: df.filter(pl.col("variable") == var) for var in df["variable"].unique().to_list()} - for group, df in tidy_usable_groups.items() + group: { + var: df.select([".chain", ".iteration", ".draw", var]) + for var in [col for col in df.columns if col not in [".chain", ".iteration", ".draw"]] } + for group, df in tidy_usable_groups.items() +} + nested_tidy_dfs ``` From 04d6a50e903ec9bd61f7c87da4d64ea943483bb9 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 4 Feb 2025 11:38:27 -0500 Subject: [PATCH 52/76] further debugging edits --- forecasttools/idata_to_tidy.py | 1 + notebooks/pyrenew_dates_to_tidy.qmd | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 625ed9f..3a9532a 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -50,6 +50,7 @@ def convert_inference_data_to_tidydraws( ) idata_df = pl.DataFrame(idata.to_dataframe()) + tidy_dfs = { group: ( idata_df.select("chain", "draw", cs.starts_with(f"('{group}',")) diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index ce53eb0..cd219ae 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -147,7 +147,7 @@ library(magrittr) library(tidyverse) library(tidybayes) -csv_files <- c("observed_hospital_admissions.csv") +csv_files <- c("rt.csv") for (csv_file in csv_files) { tibble_data <- read_csv(csv_file) From cdbe464d14b6b95df3554ae599963aafbaf144c7 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 4 Feb 2025 15:42:54 -0500 Subject: [PATCH 53/76] draws and iterations debugged --- forecasttools/idata_to_tidy.py | 20 +++++++++++++++----- notebooks/pyrenew_dates_to_tidy.qmd | 18 ------------------ 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 3a9532a..ea0e3a9 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -61,8 +61,10 @@ def convert_inference_data_to_tidydraws( if col.startswith(f"('{group}',") } ) + # draw in arviz is iteration in tidybayes + .rename({"draw": ".iteration", "chain": ".chain"}) .melt( - id_vars=["chain", "draw"], + id_vars=[".chain", ".iteration"], variable_name="variable", value_name="value", ) @@ -70,11 +72,18 @@ def convert_inference_data_to_tidydraws( pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") ) .with_columns( - ((pl.col("draw") - 1) % pl.col("draw").n_unique() + 1).alias( - ".iteration" - ) + (pl.col(".iteration") + 1).alias(".iteration"), + (pl.col(".chain") + 1).alias(".chain"), + ) + .with_columns( + (pl.col(".iteration").n_unique()).alias("draws_per_chain"), + ) + .with_columns( + ( + ((pl.col(".chain") - 1) * pl.col("draws_per_chain")) + + pl.col(".iteration") + ).alias(".draw") ) - .rename({"chain": ".chain", "draw": ".draw"}) .pivot( values="value", index=[".chain", ".iteration", ".draw"], @@ -82,6 +91,7 @@ def convert_inference_data_to_tidydraws( aggregate_function="first", ) .sort([".chain", ".iteration", ".draw"]) + # .drop(["n_chains", "draws_per_chain"]) # .select([".chain", ".iteration", ".draw", "variable", "value"]) ) for group in groups diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index cd219ae..f01b4a6 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -28,10 +28,6 @@ pyrenew_idata = az.from_netcdf(pyrenew_idata_path) pyrenew_idata ``` - - - - __Define Groups To Save And Convert__ @@ -162,17 +158,3 @@ for (csv_file in csv_files) { """ light_r_runner(r_code_to_verify_tibble) ``` - -The output of the last cell is: - -``` -ℹ Use `spec()` to retrieve the full column specification for this data. -ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message. -Error: To use a data frame directly with `tidy_draws()`, it must already be a - tidy-format data frame of draws: it must have integer-like `.chain` - `.iteration`, and `.draw` columns with one row per draw. - - The `.draw` column in the input data frame has more than one row per draw - (its values are not unique). -Execution halted -``` From 987c27330fabb955e2f7e508e9c5ef26de989ecd Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 4 Feb 2025 15:45:58 -0500 Subject: [PATCH 54/76] revert versioning in test yaml --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index be7603f..5efc8e1 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: "3.12.6" + python-version: "3.12" - name: cache poetry uses: actions/cache@v4 From 8361c361e4668af705ad1bb89d16dfed87309b33 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 5 Feb 2025 11:13:52 -0500 Subject: [PATCH 55/76] update location table; add united states data; update descriptions in readme --- README.md | 56 ++++++---- README.qmd | 13 ++- forecasttools/__init__.py | 8 ++ forecasttools/data.py | 161 ++++++++++++++++++++++++++- forecasttools/location_table.parquet | Bin 2073 -> 2751 bytes forecasttools/united_states.parquet | Bin 0 -> 930 bytes 6 files changed, 214 insertions(+), 24 deletions(-) create mode 100644 forecasttools/united_states.parquet diff --git a/README.md b/README.md index 455ac42..bc633c1 100644 --- a/README.md +++ b/README.md @@ -117,9 +117,9 @@ See below for more information on the datasets. ## Location Table -The location table contains abbreviations, codes, and extended names for -the US jurisdictions for which the FluSight and COVID forecasting hubs -require users to generate forecasts. +The location table contains abbreviations, codes, extended names, and +populations for the jurisdictions of the United States that the FluSight +and COVID forecasting hubs require users to generate forecasts. The location table is stored in `forecasttools-py` as a `polars` dataframe and is accessed via: @@ -129,24 +129,24 @@ loc_table = forecasttools.location_table print(loc_table) ``` - shape: (58, 3) - ┌───────────────┬────────────┬─────────────────────────────┐ - │ location_code ┆ short_name ┆ long_name │ - │ --- ┆ --- ┆ --- │ - │ str ┆ str ┆ str │ - ╞═══════════════╪════════════╪═════════════════════════════╡ - │ US ┆ US ┆ United States │ - │ 01 ┆ AL ┆ Alabama │ - │ 02 ┆ AK ┆ Alaska │ - │ 04 ┆ AZ ┆ Arizona │ - │ 05 ┆ AR ┆ Arkansas │ - │ … ┆ … ┆ … │ - │ 66 ┆ GU ┆ Guam │ - │ 69 ┆ MP ┆ Northern Mariana Islands │ - │ 72 ┆ PR ┆ Puerto Rico │ - │ 74 ┆ UM ┆ U.S. Minor Outlying Islands │ - │ 78 ┆ VI ┆ U.S. Virgin Islands │ - └───────────────┴────────────┴─────────────────────────────┘ + shape: (58, 4) + ┌───────────────┬────────────┬─────────────────────────────┬────────────┐ + │ location_code ┆ short_name ┆ long_name ┆ population │ + │ --- ┆ --- ┆ --- ┆ --- │ + │ str ┆ str ┆ str ┆ i64 │ + ╞═══════════════╪════════════╪═════════════════════════════╪════════════╡ + │ US ┆ US ┆ United States ┆ 330759736 │ + │ 01 ┆ AL ┆ Alabama ┆ 5024279 │ + │ 02 ┆ AK ┆ Alaska ┆ 733391 │ + │ 04 ┆ AZ ┆ Arizona ┆ 7151502 │ + │ 05 ┆ AR ┆ Arkansas ┆ 3011524 │ + │ … ┆ … ┆ … ┆ … │ + │ 66 ┆ GU ┆ Guam ┆ null │ + │ 69 ┆ MP ┆ Northern Mariana Islands ┆ null │ + │ 72 ┆ PR ┆ Puerto Rico ┆ 3285874 │ + │ 74 ┆ UM ┆ U.S. Minor Outlying Islands ┆ null │ + │ 78 ┆ VI ┆ U.S. Virgin Islands ┆ null │ + └───────────────┴────────────┴─────────────────────────────┴────────────┘ Using `./forecasttools/data.py`, the location table was created by running the following: @@ -160,6 +160,20 @@ make_census_dataset( ) ``` +## United States + +Calling `forecasttools.united_states` simply returns a Python list that +contains the 50 United States (`United States` itself is not included). +While quite simple, it’s to have this capability available in fewer +steps than through calling and selecting values from `location_table`. + +``` python +united_states = forecasttools.united_states +print(united_states) +``` + + ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'] + ## Example FluSight Hub Submission The example FluSight submission comes from the [following 2023-24 diff --git a/README.qmd b/README.qmd index 62971a5..976dc32 100644 --- a/README.qmd +++ b/README.qmd @@ -109,8 +109,7 @@ See below for more information on the datasets. ## Location Table -The location table contains abbreviations, codes, and extended names for the US jurisdictions for which the FluSight and COVID forecasting hubs require users to generate forecasts. - +The location table contains abbreviations, codes, extended names, and populations for the jurisdictions of the United States that the FluSight and COVID forecasting hubs require users to generate forecasts. The location table is stored in `forecasttools-py` as a `polars` dataframe and is accessed via: @@ -130,6 +129,16 @@ make_census_dataset( ) ``` +## United States + +Calling `forecasttools.united_states` simply returns a Python list that contains the 50 United States (`United States` itself is not included). While quite simple, it's to have this capability available in fewer steps than through calling and selecting values from `location_table`. + +```{python} +united_states = forecasttools.united_states +print(united_states) +``` + + ## Example FluSight Hub Submission The example FluSight submission comes from the [following 2023-24 submission](https://raw.githubusercontent.com/cdcepi/FluSight-forecast-hub/main/model-output/cfa-flumech/2023-10-14-cfa-flumech.csv). diff --git a/forecasttools/__init__.py b/forecasttools/__init__.py index 1589e67..1540359 100644 --- a/forecasttools/__init__.py +++ b/forecasttools/__init__.py @@ -34,6 +34,13 @@ ) location_table = pl.read_parquet(location_table_path) +# united states (also from Census data) +united_states_path = importlib.resources.files(__package__).joinpath( + "united_states.parquet" +) +united_states = pl.read_parquet(united_states_path)["STATES"].to_list() + + # load example flusight submission example_flusight_submission_path = importlib.resources.files( __package__ @@ -72,6 +79,7 @@ __all__ = [ "location_table", + "united_states", "example_flusight_submission", "nhsn_hosp_COVID", "nhsn_hosp_flu", diff --git a/forecasttools/data.py b/forecasttools/data.py index 0f4b179..6947634 100644 --- a/forecasttools/data.py +++ b/forecasttools/data.py @@ -8,6 +8,7 @@ """ import os +import pathlib from urllib import error, request import polars as pl @@ -61,14 +62,172 @@ def check_file_save_path( raise FileExistsError(f"File already exists at: {file_save_path}") +def make_united_states_dataset( + file_save_path: str, overwrite: bool = False +) -> list[str]: + """ + Write the 50 United States to a polars + dataframe. This is useful for filtering + out territories. + + Parameters + ---------- + file_save_path : str + Where to save the outputted parquet file. + overwrite : bool + Whether or not to overwrite the location + table, should one already exist. Defaults + to False. + + Returns + ------- + list[str] + A list of the fifty United States. + """ + us_states = [ + "Alabama", + "Alaska", + "Arizona", + "Arkansas", + "California", + "Colorado", + "Connecticut", + "Delaware", + "Florida", + "Georgia", + "Hawaii", + "Idaho", + "Illinois", + "Indiana", + "Iowa", + "Kansas", + "Kentucky", + "Louisiana", + "Maine", + "Maryland", + "Massachusetts", + "Michigan", + "Minnesota", + "Mississippi", + "Missouri", + "Montana", + "Nebraska", + "Nevada", + "New Hampshire", + "New Jersey", + "New Mexico", + "New York", + "North Carolina", + "North Dakota", + "Ohio", + "Oklahoma", + "Oregon", + "Pennsylvania", + "Rhode Island", + "South Carolina", + "South Dakota", + "Tennessee", + "Texas", + "Utah", + "Vermont", + "Virginia", + "Washington", + "West Virginia", + "Wisconsin", + "Wyoming", + ] + save_path = pathlib.Path(file_save_path) + if save_path.exists() and not overwrite: + print( + f"File already exists at {save_path}.\n" + "Skipping writing, just returning." + ) + return us_states + df = pl.DataFrame({"STATES": us_states}) + df.write_parquet(save_path) + return us_states + + +def merge_pop_data_and_loc_data( + file_save_path: str, + population_file_path: str, + locations_file_path: str, + overwrite: bool = False, +) -> None: + """ + Takes a location table parquet and a census + populations parquet and adds the population + values from the populations data to the + location table. + + Parameters + ---------- + file_save_path : str + Where to save the outputted parquet file. + population_file_path : str + From where to load the populations table. + locations_file_path : str + From where to load the locations table. + overwrite : bool + Whether or not to overwrite the location + table, should one already exist. Defaults + to False. + + Returns + ------- + None + Saves the outputted parquet file at the + given file save path. + """ + population_path = pathlib.Path(population_file_path) + locations_path = pathlib.Path(locations_file_path) + save_path = pathlib.Path(file_save_path) + if not population_path.exists(): + raise FileNotFoundError( + f"Population file not found: {population_path}" + ) + if not locations_path.exists(): + raise FileNotFoundError(f"Locations file not found: {locations_path}") + if save_path.exists() and not overwrite: + print(f"File already exists at {save_path}. Skipping writing.") + return + pop_df = pl.read_parquet(population_path).select( + [ + pl.col("STNAME").alias("long_name"), + pl.col("POPULATION").alias("population"), + ] + ) + loc_df = pl.read_parquet(locations_path) # should have "long_name" + merged_df = loc_df.join(pop_df, on="long_name", how="left") + # US total is not included by default; get US total + us_states = make_united_states_dataset( + file_save_path="united_states.parquet" + ) + us_population = merged_df.filter(pl.col("long_name").is_in(us_states))[ + "population" + ].sum() + merged_df = merged_df.with_columns( + pl.when(pl.col("long_name") == "United States") + .then(us_population) + .otherwise(pl.col("population")) + .alias("population") + ) + merged_df.write_parquet(save_path) + print(f"File successfully written to {save_path}") + + def make_census_dataset( file_save_path: str, ) -> None: """ Retrieves US 2020 Census data in a three column Polars dataframe, then - saves the dataset as a csv in a given + saves the dataset as a parquet in a given directory, if it does not already exist. + Note: As of 2025-01-05, the Census link + below is not available, so the existing + parquet file in forecasttools must instead + be relied upon. Parameters ---------- diff --git a/forecasttools/location_table.parquet b/forecasttools/location_table.parquet index b9526748daae25074b1bdf610f29197de69a473b..b0b2364c8e9fa9495480bdb10ba22071bb3ff6f3 100644 GIT binary patch delta 905 zcmbO!uwQh;PnLR77SRiAqJ1nrqFJI03=A4u_5UWUV0g>U(86u;Z<{bsh(Uan55su_ zZiYVjT!tf`bs6;iqM0U1MlkGPHD~xE#m~^$%Ei#V)Ppglcrn9r6EP+MnL7=Ke{`lN zt}~FhqVwi}ORSLl_LCwf9OLG?WKTXa^Pf<7y}s_kSFw)W0`&^-WYgmHf3k=w?d_f9 zub^me!g$APK10}J?it)$EVFD*EO$7Qer)kRft!+k-R-;;#hD9t?qNLe+K_?u0%ziu z=7W<;x5P<@y^9P!%Tc6k1adEfvBHO|MtNHlAG`IdcAwa>kyq0E)`Y^v$0xa_+_}-# zBb|F<$3-wzu{Z=O=dN?}m8y45XA1jtoyeq$wEd379b~sk(q;yfAW7u4Xe~xQ5H#41~vgn39f?tg3_GClFa-( zQ68}pu@xL*KUmd13EN;dbnn4H7vAuh_I%7kn$gII~AjHJ)xU96^ji)2J4#O_InsxheDfV8V4NWjst985X}ga9>JLfBxV(jA=xLFNHz zkSQKcWyv04#gP#~1xZFGj*gQTvO5Z910|e_lZ;IBB8*HklEOnLe`a$L_6C`fY?M)! zoEMaqleQQL&_t3K3gk#|3cbqQ5ULaGwpty%$ev+}5 zL4=WMMpAg_Nx8u>wqI+Pi(K#Z@SBs>7{33Gq`@&E#u@KY{^Tysa{8qiJ>^36jj--} zz6vkz9&Hc!9I$*VSI@?yuCCXDdt6Mo3u?W7m8@GzEyB*++#oLw$t&&p)?NN_&E2kzm;TB8l3t=vwpc4@P40{1j+xSjgXb59uYSao z%xJDqz_d_nHS@89d_F$<2^UxL-!rIXxv2c*Q4iM##-ofEj88Q<^v=Hd?3CtBX_l<0 zz^N@)&!~C1@;+Gl@v>{IKtikImmN(#6E8HJ%30AXeQ3u5URz7PQn7`>I>8N0<<1vx z=zcHy5gN~ZrRu{%*F9fv-n`PJyqo_BvmcWv12AUFbby3_D4Qsoj2VLldw6AjZf0J( z1iNESVp3vmA~fO@j3zQNFabF!jBNZ43Op`}G9HU`d>-2bsQ8AY#zrj5jd@<1pwX9- zIWJ??x}4Yh3Uol?qCAqO3~U0D5^TXCjv=nWqC8?LVr#g?+BnoWY_MA=Daa%Vw;jlW zI!Kg3QjCE?Qbz0)o9GcnAd^9qNm9pyr6@nYM3jj^lt+~bW{E0;j|@;=EJadAQbw(h zLxv1jh^^xkl@R;FA!@|{a&L+n2hhzTAO}eBI0gmzhg%gVXQbvPN-SX12LU4sM<8$o z5f)`YenlXZ4;J!vbS!psc60>NfsWb%K>6}=ki4g(V>+@ruwrwNd?i>OEa?tX;piF) zBmy0sJRP0Dv@6IwAONd#bPT8hYO(<82Py&Sa`Ouf3=47#EqAnKkYEeQ&q*vQmXrYn Ni#a0$LjW*$0sy3eJa7O2 literal 0 HcmV?d00001 From bb55bf4845db38e9df8c05aef352724690433f9f Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 5 Feb 2025 14:43:23 -0500 Subject: [PATCH 56/76] remove extraneous united states parquet call --- forecasttools/__init__.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/forecasttools/__init__.py b/forecasttools/__init__.py index cfcbd46..2dc3f04 100644 --- a/forecasttools/__init__.py +++ b/forecasttools/__init__.py @@ -37,13 +37,6 @@ location_table.filter(pl.col("is_state")).get_column("long_name").to_list() ) -# united states (also from Census data) -united_states_path = importlib.resources.files(__package__).joinpath( - "united_states.parquet" -) -united_states = pl.read_parquet(united_states_path)["STATES"].to_list() - - # load example flusight submission example_flusight_submission_path = importlib.resources.files( __package__ From 1cdef9d7d79527ca99b3835ebe30ca4c807e4c7f Mon Sep 17 00:00:00 2001 From: "upx3 (CFA)" <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 6 Feb 2025 09:19:02 -0500 Subject: [PATCH 57/76] Update forecasttools/idata_to_tidy.py Co-authored-by: Dylan H. Morris --- forecasttools/idata_to_tidy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index ea0e3a9..e69ba7f 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -45,7 +45,7 @@ def convert_inference_data_to_tidydraws( ] if invalid_groups: raise ValueError( - f"Invalid groups provided: {invalid_groups}." + f"Requested groups {invalid_groups} not found in this InferenceData object." f" Available groups: {available_groups}" ) From 519c0488853841d2764c7ee996d10af0f703937f Mon Sep 17 00:00:00 2001 From: "upx3 (CFA)" <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 6 Feb 2025 09:19:29 -0500 Subject: [PATCH 58/76] Update forecasttools/idata_to_tidy.py Co-authored-by: Dylan H. Morris --- forecasttools/idata_to_tidy.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index e69ba7f..81a44a8 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -72,8 +72,8 @@ def convert_inference_data_to_tidydraws( pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") ) .with_columns( - (pl.col(".iteration") + 1).alias(".iteration"), - (pl.col(".chain") + 1).alias(".chain"), + pl.col(".iteration") + 1, + pl.col(".chain") + 1 ) .with_columns( (pl.col(".iteration").n_unique()).alias("draws_per_chain"), From 1019ac0fcea89c4949fd7182d7c4c1fb750b7f1f Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 6 Feb 2025 09:22:51 -0500 Subject: [PATCH 59/76] fix docstring; fix chain equation --- forecasttools/idata_to_tidy.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 81a44a8..62dacf8 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -21,10 +21,7 @@ def convert_inference_data_to_tidydraws( Parameters ---------- idata : az.InferenceData - An InferenceData object generated - from a numpyro forecast. Typically - has the groups observed_data and - posterior_predictive. + An InferenceData object. groups : list[str] A list of groups to transform to tidy draws format. Defaults to all @@ -45,7 +42,8 @@ def convert_inference_data_to_tidydraws( ] if invalid_groups: raise ValueError( - f"Requested groups {invalid_groups} not found in this InferenceData object." + f"Requested groups {invalid_groups} not found" + " in this InferenceData object." f" Available groups: {available_groups}" ) @@ -71,16 +69,13 @@ def convert_inference_data_to_tidydraws( .with_columns( pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") ) - .with_columns( - pl.col(".iteration") + 1, - pl.col(".chain") + 1 - ) + .with_columns(pl.col(".iteration") + 1, pl.col(".chain") + 1) .with_columns( (pl.col(".iteration").n_unique()).alias("draws_per_chain"), ) .with_columns( ( - ((pl.col(".chain") - 1) * pl.col("draws_per_chain")) + (pl.col(".chain") * pl.col("draws_per_chain")) + pl.col(".iteration") ).alias(".draw") ) From 92c34bdde315cc9d4927b93f9f25c11f500affb3 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 6 Feb 2025 09:25:13 -0500 Subject: [PATCH 60/76] revert ensure listlike import --- forecasttools/daily_to_epiweekly.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forecasttools/daily_to_epiweekly.py b/forecasttools/daily_to_epiweekly.py index 75167e0..7cd628e 100644 --- a/forecasttools/daily_to_epiweekly.py +++ b/forecasttools/daily_to_epiweekly.py @@ -8,7 +8,7 @@ import epiweeks import polars as pl -import forecasttools +from forecasttools.utils import ensure_listlike def calculate_epi_week_and_year(date: str): @@ -75,7 +75,7 @@ def df_aggregate_to_epiweekly( # set default id_cols if id_cols is None: id_cols = ["draw"] - id_cols = forecasttools.ensure_listlike(id_cols) + id_cols = ensure_listlike(id_cols) # add epiweek and epiyear columns df = df.with_columns( pl.col(date_col) From b3f6367a43e15982fce64246e0ac3ad6a70802a8 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 6 Feb 2025 09:37:30 -0500 Subject: [PATCH 61/76] remove tab ignoral --- .pre-commit-config.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0aa6818..94122c9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -90,8 +90,6 @@ repos: "--ignore=E741", # do not assign a lambda expression, use a def "--ignore=E731", - # indentation contains tabs (sorry, I like tabs) - "--ignore=W191", # found useless expression. ignore since .qmd displays "--ignore=B018", # {name} is too complex ({complexity} > {max_complexity}) From 84bb99e090f568f4ab30dba1660601d80dbb65fd Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 6 Feb 2025 11:27:27 -0500 Subject: [PATCH 62/76] switch from melt to pivot --- forecasttools/idata_to_tidy.py | 6 +++--- notebooks/pyrenew_dates_to_tidy.qmd | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 62dacf8..8861d50 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -61,8 +61,8 @@ def convert_inference_data_to_tidydraws( ) # draw in arviz is iteration in tidybayes .rename({"draw": ".iteration", "chain": ".chain"}) - .melt( - id_vars=[".chain", ".iteration"], + .unpivot( + index=[".chain", ".iteration"], variable_name="variable", value_name="value", ) @@ -75,7 +75,7 @@ def convert_inference_data_to_tidydraws( ) .with_columns( ( - (pl.col(".chain") * pl.col("draws_per_chain")) + ((pl.col(".chain") - 1) * pl.col("draws_per_chain")) + pl.col(".iteration") ).alias(".draw") ) diff --git a/notebooks/pyrenew_dates_to_tidy.qmd b/notebooks/pyrenew_dates_to_tidy.qmd index f01b4a6..d3ddd61 100644 --- a/notebooks/pyrenew_dates_to_tidy.qmd +++ b/notebooks/pyrenew_dates_to_tidy.qmd @@ -133,9 +133,9 @@ def light_r_runner(r_code: str) -> None: for group, var in nested_tidy_dfs.items(): for var_name, tidy_data in var.items(): file_name = f"{var_name}.csv" - if not os.path.exists(file_name): - tidy_data.write_csv(file_name) - print(f"Saved {file_name}") + #if not os.path.exists(file_name): + tidy_data.write_csv(file_name) + print(f"Saved {file_name}") r_code_to_verify_tibble = """ From 1a94da464e0260dbc13f31b20e2451b55a9cbeea Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 10 Feb 2025 11:18:42 -0500 Subject: [PATCH 63/76] lightweight change to dev deps --- forecasttools/data.py | 4 ++-- pyproject.toml | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/forecasttools/data.py b/forecasttools/data.py index 8746f89..30c914b 100644 --- a/forecasttools/data.py +++ b/forecasttools/data.py @@ -293,7 +293,7 @@ def make_nshn_fitting_dataset( ) .sort(["state", "date"]) ) - df_covid.write_csv(file_save_path) + df_covid.write_parquet(file_save_path) if dataset == "flu": df_flu = ( df.select( @@ -306,7 +306,7 @@ def make_nshn_fitting_dataset( .rename({"previous_day_admission_influenza_confirmed": "hosp"}) .sort(["state", "date"]) ) - df_flu.write_csv(file_save_path) + df_flu.write_parquet(file_save_path) print(f"The file {file_save_path} has been created.") diff --git a/pyproject.toml b/pyproject.toml index 7cbe94f..3cf98b3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,6 +31,7 @@ polars = "^1.8.2" xarray = "^2024.9.0" matplotlib = "^3.9.2" epiweeks = "^2.3.0" +metaflow = "^2.13.9" [tool.poetry.group.dev.dependencies] @@ -43,6 +44,7 @@ nbformat = "^5.10.4" nbclient = "^0.10.0" jupyter = "^1.1.1" pandas = "^2.2.3" +metaflow = "^2.13.9" [tool.poetry.group.test.dependencies] From b3544e55b4c60674776c174c3da72386c905083f Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Fri, 14 Feb 2025 14:39:00 -0500 Subject: [PATCH 64/76] commented change; was examining results --- forecasttools/idata_to_tidy.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 8861d50..6bf4567 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -79,6 +79,9 @@ def convert_inference_data_to_tidydraws( + pl.col(".iteration") ).alias(".draw") ) + # .with_columns( + # pl.arange(1, pl.count() + 1).alias(".draw") + # ) .pivot( values="value", index=[".chain", ".iteration", ".draw"], @@ -86,8 +89,6 @@ def convert_inference_data_to_tidydraws( aggregate_function="first", ) .sort([".chain", ".iteration", ".draw"]) - # .drop(["n_chains", "draws_per_chain"]) - # .select([".chain", ".iteration", ".draw", "variable", "value"]) ) for group in groups } From ca7c340799744dd2275dcd71eed0fed02a5c6db2 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 12 Mar 2025 11:04:52 -0400 Subject: [PATCH 65/76] have draw calculation take into account row count --- forecasttools/idata_to_tidy.py | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 6bf4567..60fbae5 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -70,25 +70,14 @@ def convert_inference_data_to_tidydraws( pl.col("variable").str.replace(r"\[.*\]", "").alias("variable") ) .with_columns(pl.col(".iteration") + 1, pl.col(".chain") + 1) - .with_columns( - (pl.col(".iteration").n_unique()).alias("draws_per_chain"), - ) - .with_columns( - ( - ((pl.col(".chain") - 1) * pl.col("draws_per_chain")) - + pl.col(".iteration") - ).alias(".draw") - ) - # .with_columns( - # pl.arange(1, pl.count() + 1).alias(".draw") - # ) .pivot( values="value", - index=[".chain", ".iteration", ".draw"], + index=[".chain", ".iteration"], columns="variable", aggregate_function="first", ) - .sort([".chain", ".iteration", ".draw"]) + .sort([".chain", ".iteration"]) + .with_row_count(name=".draw", offset=1) ) for group in groups } From 9b2cdc957483c1afc0b93658327bf453ba54418b Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Wed, 12 Mar 2025 11:50:50 -0400 Subject: [PATCH 66/76] remove extraneous metaflow --- pyproject.toml | 2 -- tests/test_idata_to_tidy.py | 58 +++++-------------------------------- 2 files changed, 8 insertions(+), 52 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index dfcab5d..a2ae907 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,6 @@ polars = "^1.8.2" xarray = "^2024.9.0" matplotlib = "^3.9.2" epiweeks = "^2.3.0" -metaflow = "^2.13.9" numpyro = "^0.17.0" numpy = "^2.2.2" tqdm = "^4.67.1" @@ -46,7 +45,6 @@ nbformat = "^5.10.4" nbclient = "^0.10.0" jupyter = "^1.1.1" pandas = "^2.2.3" -metaflow = "^2.13.9" jupyter-cache = "^1.0.1" diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index ed307d8..b07fd04 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -1,53 +1,11 @@ -import arviz as az -import numpy as np -import polars as pl -import pytest -import xarray as xr +# import arviz as az +# import numpy as np +# import polars as pl +# import pytest +# import xarray as xr -import forecasttools +# import forecasttools -@pytest.fixture -def mock_inference_data(): - np.random.seed(42) - posterior_predictive = xr.Dataset( - { - "observed_hospital_admissions": ("chain", np.random.randn(2, 100)), - }, - coords={"chain": [0, 1]}, - ) - - idata = az.from_dict(posterior_predictive=posterior_predictive) - - return idata - - -def test_valid_conversion(mock_inference_data): - result = forecasttools.convert_inference_data_to_tidydraws( - mock_inference_data, ["posterior_predictive"] - ) - assert isinstance(result, dict) - assert "posterior_predictive" in result - assert isinstance(result["posterior_predictive"], pl.DataFrame) - - df = result["posterior_predictive"] - assert all( - col in df.columns - for col in [".chain", ".draw", ".iteration", "variable", "value"] - ) - - assert df[".draw"].n_unique() == df[".draw"].shape[0] - - -def test_invalid_group(mock_inference_data): - with pytest.raises(ValueError, match="Invalid groups provided"): - forecasttools.convert_inference_data_to_tidydraws( - mock_inference_data, ["invalid_group"] - ) - - -def test_empty_group_list(mock_inference_data): - result = forecasttools.convert_inference_data_to_tidydraws( - mock_inference_data, [] - ) - assert result == {} +# import pytest +# import polars as pl From 84ec6e1c414bb06a7b810e7c90d8359c1f75d639 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 13 Mar 2025 10:02:53 -0400 Subject: [PATCH 67/76] some of the tests using simple idata class --- tests/test_idata_to_tidy.py | 129 +++++++++++++++++++++++++++++++++--- 1 file changed, 121 insertions(+), 8 deletions(-) diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index b07fd04..b8442b0 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -1,11 +1,124 @@ -# import arviz as az -# import numpy as np -# import polars as pl -# import pytest -# import xarray as xr +import polars as pl +import pytest -# import forecasttools +import forecasttools -# import pytest -# import polars as pl +class SimpleInferenceData: + """ + Test class for a simple arviz-like + InferenceData object. Such a class + needs only have groups and a + representation as a polars dataframe. + """ + + def __init__(self, groups: list[str], df: pl.DataFrame) -> None: + self._groups = groups + self._df = df + + def groups(self) -> list[str]: + """ + Retrieves member group names from + SimpleInferenceData. + """ + return self._groups + + def to_dataframe(self) -> pl.DataFrame: + """ + Provides representation of + SimpleInferenceData as a polars + dataframe. + """ + return self._df + + +@pytest.fixture +def simple_inference_data(): + """ + Provides a SimpleInferenceData object for + testing with a small Polars DataFrame. This + fixture returns a SimpleInferenceData object + that simulates an arviz-like InferenceData with + two chains, each having a different number of + draws (chain 0 has 2 draws, chain 1 has 3 draws). + It also includes two groups: "posterior" and + "sample", each with one or more parameters. + + Returns + ------- + SimpleInferenceData + An object containing the specified groups and + a Polars DataFrame that mimics the structure of + an arviZ InferenceData when converted to a + DataFrame. + """ + data = { + # notice the different number of draws per chain. + "chain": [0, 0, 1, 1, 1], + "draw": [0, 1, 0, 1, 2], + # this is what the columns might look like when converting an + # inferenceData object to a Polars DataFrame. + "('posterior', alpha)": [1, 2, 3, 4, 5], + "('posterior', beta)": [10, 20, 30, 40, 50], + # arbitrary integer values for the "sample" group. + "('sample', gamma)": [100, 200, 300, 400, 500], + } + df = pl.DataFrame(data) + groups = ["posterior", "sample"] + return SimpleInferenceData(groups=groups, df=df) + + +def test_invalid_group(simple_inference_data): + """ + Tests that passing an invalid group name + to the conversion function raises a ValueError. + + Parameters + ---------- + simple_inference_data : SimpleInferenceData + A fixture providing a test + InferenceData-like object with two groups. + """ + with pytest.raises(ValueError) as out_error: + _ = forecasttools.convert_inference_data_to_tidydraws( + simple_inference_data, groups=["nonexistent_group"] + ) + assert "not found" in str(out_error.value) + + +def test_valid_groups(simple_inference_data): + """ + Tests that requesting a valid group + ('posterior') returns a dictionary containing + a Polars DataFrame for that group. + + Parameters + ---------- + simple_inference_data : SimpleInferenceData + A fixture providing a test + InferenceData-like object with two groups. + """ + result = forecasttools.convert_inference_data_to_tidydraws( + simple_inference_data, groups=["posterior"] + ) + assert isinstance(result, dict) + assert "posterior" in result + assert isinstance(result["posterior"], pl.DataFrame) + + +def test_default_groups(simple_inference_data): + """ + Tests that when no specific groups are passed + (i.e., groups=None), all groups from the + InferenceData-like object are processed. + + Parameters + ---------- + simple_inference_data : SimpleInferenceData + A fixture providing a test InferenceData-like + object with two groups. + """ + result = forecasttools.convert_inference_data_to_tidydraws( + simple_inference_data, groups=None + ) + assert set(result.keys()) == set(simple_inference_data.groups()) From 07e83a938c8dd5c28ee5ca3c35a1cc1a9e47b9fa Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 13 Mar 2025 15:18:55 -0400 Subject: [PATCH 68/76] additional test --- tests/test_idata_to_tidy.py | 49 +++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index b8442b0..30430ea 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -122,3 +122,52 @@ def test_default_groups(simple_inference_data): simple_inference_data, groups=None ) assert set(result.keys()) == set(simple_inference_data.groups()) + + +def test_tidydraws_format(simple_inference_data): + """ + Tests that the output for the 'posterior' group + is in the correct tidy draws format expected by + tidybayes. Specifically, check: required columns + (.chain, .iteration, .draw) are present, + parameter names (alpha, beta) are cleaned up, + the number of rows matches the total draws across + chains, the .chain, .iteration, and .draw columns + are incremented and sorted as expected. + + Parameters + ---------- + simple_inference_data : SimpleInferenceData + A fixture providing a test InferenceData-like + object with two groups. + """ + result = forecasttools.convert_inference_data_to_tidydraws( + simple_inference_data, groups=["posterior"] + ) + df = result["posterior"] + + # check that the tidybayes required columns are present. + for col in [".chain", ".iteration", ".draw"]: + assert col in df.columns + + # expected sorted order after successful processing + expected = [ + {".chain": 1, ".iteration": 1, ".draw": 1, "alpha": 1, "beta": 10}, + {".chain": 1, ".iteration": 2, ".draw": 2, "alpha": 2, "beta": 20}, + {".chain": 2, ".iteration": 1, ".draw": 3, "alpha": 3, "beta": 30}, + {".chain": 2, ".iteration": 2, ".draw": 4, "alpha": 4, "beta": 40}, + {".chain": 2, ".iteration": 3, ".draw": 5, "alpha": 5, "beta": 50}, + ] + df_sorted = df.sort([".chain", ".iteration"]) + rows = df_sorted.select( + [".chain", ".iteration", ".draw", "alpha", "beta"] + ).to_dicts() + + for row, exp in zip(rows, expected): + assert row[".chain"] == exp[".chain"] + assert row[".iteration"] == exp[".iteration"] + assert row[".draw"] == exp[".draw"] + assert row["alpha"] == exp["alpha"] + assert row["beta"] == exp["beta"] + # total rows equal sum of draws across chains + assert df.height == 5 From 238c80c5a7a8c343c090e1c498c4455c4e00c2fa Mon Sep 17 00:00:00 2001 From: "upx3 (CFA)" <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 13 Mar 2025 19:52:55 -0400 Subject: [PATCH 69/76] Update forecasttools/idata_to_tidy.py Co-authored-by: Dylan H. Morris --- forecasttools/idata_to_tidy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 60fbae5..f969362 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -11,7 +11,7 @@ def convert_inference_data_to_tidydraws( - idata: az.InferenceData, groups: list[str] + idata: az.InferenceData, groups: list[str] = None ) -> dict[str, pl.DataFrame]: """ Creates a dictionary of polars dataframes From 27436cd84c944d51a6cdf771da4c0a49fa31fcbb Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 13 Mar 2025 19:57:41 -0400 Subject: [PATCH 70/76] revert to original aggregate function argument value --- forecasttools/idata_to_tidy.py | 2 +- tests/test_idata_to_tidy.py | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index f969362..b6611bd 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -74,7 +74,7 @@ def convert_inference_data_to_tidydraws( values="value", index=[".chain", ".iteration"], columns="variable", - aggregate_function="first", + aggregate_function=None, ) .sort([".chain", ".iteration"]) .with_row_count(name=".draw", offset=1) diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index 30430ea..ed7bbc9 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -1,3 +1,6 @@ +import os + +import arviz as az import polars as pl import pytest @@ -171,3 +174,21 @@ def test_tidydraws_format(simple_inference_data): assert row["beta"] == exp["beta"] # total rows equal sum of draws across chains assert df.height == 5 + + +@pytest.fixture(scope="session") +def pyrenew_idata(): + """ + Loads pyrenew InferenceData from the netCDF file. + If the file is not found, the test is skipped. + + Returns + ------- + az.InferenceData + The InferenceData object loaded from the specified + NetCDF file. + """ + pyrenew_idata_path = "../assets/external/inference_data_1.nc" + if not os.path.exists(pyrenew_idata_path): + pytest.skip(f"File not found: {pyrenew_idata_path}") + return az.from_netcdf(pyrenew_idata_path) From 70219add7e8bc8b71d6d7780e67ae4a488aa3ccb Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 13 Mar 2025 20:08:58 -0400 Subject: [PATCH 71/76] add base posterior predictive test for pyrenew idata --- tests/test_idata_to_tidy.py | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index ed7bbc9..a88ce03 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -192,3 +192,45 @@ def pyrenew_idata(): if not os.path.exists(pyrenew_idata_path): pytest.skip(f"File not found: {pyrenew_idata_path}") return az.from_netcdf(pyrenew_idata_path) + + +def test_posterior_predictive_group(pyrenew_idata: az.InferenceData) -> None: + """ + Tests that the 'posterior_predictive' group in the + real pyrenew InferenceData is converted correctly to + tidy draws format. Specifically, checks: a dictionary + is returned with the 'posterior_predictive' key, + the Polars DataFrame has required tidybayes columns, + correct posterior predictive variables exist, and + sorting by .chain, .iteration yields correct index. + + Parameters + ---------- + pyrenew_idata : az.InferenceData + A fixture that provides the real pyrenew + InferenceData object loaded from a NetCDF file. + """ + # target the posterior predictive group of the pyrenew idata + result = forecasttools.convert_inference_data_to_tidydraws( + pyrenew_idata, groups=["posterior_predictive"] + ) + + # check result is dictionary with expected key + assert isinstance(result, dict) + assert "posterior_predictive" in result + + # check that posterior predictive result is Polars DataFrame + df = result["posterior_predictive"] + assert isinstance(df, pl.DataFrame) + + # check for tidybayes columns + for col in [".chain", ".iteration", ".draw"]: + assert col in df.columns, f"Missing required column: {col}." + + df_sorted = df.sort([".chain", ".iteration"]) + + # ensure first row is chain=1, iteration=1, .draw=1 + first_row = df_sorted.head(1).to_dicts()[0] + assert first_row[".chain"] == 1 + assert first_row[".iteration"] == 1 + assert first_row[".draw"] == 1 From 60e0b5a4c23fd4e616153a3fb1ba123cc86c4857 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Thu, 13 Mar 2025 20:16:05 -0400 Subject: [PATCH 72/76] change test path; capture aggregate function error --- forecasttools/idata_to_tidy.py | 2 +- tests/test_idata_to_tidy.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index b6611bd..f969362 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -74,7 +74,7 @@ def convert_inference_data_to_tidydraws( values="value", index=[".chain", ".iteration"], columns="variable", - aggregate_function=None, + aggregate_function="first", ) .sort([".chain", ".iteration"]) .with_row_count(name=".draw", offset=1) diff --git a/tests/test_idata_to_tidy.py b/tests/test_idata_to_tidy.py index a88ce03..9656909 100644 --- a/tests/test_idata_to_tidy.py +++ b/tests/test_idata_to_tidy.py @@ -188,13 +188,13 @@ def pyrenew_idata(): The InferenceData object loaded from the specified NetCDF file. """ - pyrenew_idata_path = "../assets/external/inference_data_1.nc" + pyrenew_idata_path = "assets/external/inference_data_1.nc" if not os.path.exists(pyrenew_idata_path): pytest.skip(f"File not found: {pyrenew_idata_path}") return az.from_netcdf(pyrenew_idata_path) -def test_posterior_predictive_group(pyrenew_idata: az.InferenceData) -> None: +def test_posterior_predictive_group(pyrenew_idata): """ Tests that the 'posterior_predictive' group in the real pyrenew InferenceData is converted correctly to From 61849e09e433ed115449adbcd6def008a41d3ea2 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 18 Mar 2025 12:06:58 -0400 Subject: [PATCH 73/76] change col search method from strip to re --- forecasttools/idata_to_tidy.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index f969362..95ab139 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -5,6 +5,8 @@ their groups) in tidy-usable objects. """ +import re + import arviz as az import polars as pl import polars.selectors as cs @@ -54,7 +56,7 @@ def convert_inference_data_to_tidydraws( idata_df.select("chain", "draw", cs.starts_with(f"('{group}',")) .rename( { - col: col.split(", ")[1].strip("')") + col: re.search(r",\s*'?(.+?)'?\)", col).group(1) for col in idata_df.columns if col.startswith(f"('{group}',") } @@ -74,10 +76,10 @@ def convert_inference_data_to_tidydraws( values="value", index=[".chain", ".iteration"], columns="variable", - aggregate_function="first", + aggregate_function=None, ) .sort([".chain", ".iteration"]) - .with_row_count(name=".draw", offset=1) + .with_row_index(name=".draw", offset=1) ) for group in groups } From ba2847e797db38d2ba0b3d3bacb27f8bc2459f17 Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 18 Mar 2025 13:02:23 -0400 Subject: [PATCH 74/76] add lambda rename rather than dictionary comprehension --- forecasttools/idata_to_tidy.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index 95ab139..a1cf17b 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -54,12 +54,19 @@ def convert_inference_data_to_tidydraws( tidy_dfs = { group: ( idata_df.select("chain", "draw", cs.starts_with(f"('{group}',")) + # .rename( + # { + # col: re.search(r",\s*'?(.+?)'?\)", col).group(1) + # for col in idata_df.columns + # if col.startswith(f"('{group}',") + # } + # ) .rename( - { - col: re.search(r",\s*'?(.+?)'?\)", col).group(1) - for col in idata_df.columns - if col.startswith(f"('{group}',") - } + lambda col, group=group: re.search( + r",\s*'?(.+?)'?\)", col + ).group(1) + if col.startswith(f"('{group}',") + else col ) # draw in arviz is iteration in tidybayes .rename({"draw": ".iteration", "chain": ".chain"}) From 15d920b79e113d91c8ec07959d16caf0cc5f1a9e Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Tue, 18 Mar 2025 13:02:53 -0400 Subject: [PATCH 75/76] remove comment --- forecasttools/idata_to_tidy.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/forecasttools/idata_to_tidy.py b/forecasttools/idata_to_tidy.py index a1cf17b..96ef08b 100644 --- a/forecasttools/idata_to_tidy.py +++ b/forecasttools/idata_to_tidy.py @@ -54,13 +54,6 @@ def convert_inference_data_to_tidydraws( tidy_dfs = { group: ( idata_df.select("chain", "draw", cs.starts_with(f"('{group}',")) - # .rename( - # { - # col: re.search(r",\s*'?(.+?)'?\)", col).group(1) - # for col in idata_df.columns - # if col.startswith(f"('{group}',") - # } - # ) .rename( lambda col, group=group: re.search( r",\s*'?(.+?)'?\)", col From 0604de14bda512d905e722faf5fe37da61cbdc5f Mon Sep 17 00:00:00 2001 From: AFg6K7h4fhy2 <127630341+AFg6K7h4fhy2@users.noreply.github.com> Date: Mon, 24 Mar 2025 12:52:50 -0400 Subject: [PATCH 76/76] update pre-commit config file to remove loop binding linting at request of dhm --- .pre-commit-config.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 240ade7..78106e1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -84,6 +84,8 @@ repos: # {name} is too complex ({complexity} > {max_complexity}) # note: ignored on select repositories "--ignore=C901", + # function definition does not bind loop variable + "--ignore=B023", # E and W: pycodestyle, standard PEP8 errors and pycodestyle warnings. # F: pyflakes warnings (e.g., unused variables, undefined names)., # B: flake8-bugbear (useful best practices).