diff --git a/R/aux_data_utils.R b/R/aux_data_utils.R index 7823c7c7..930ac30a 100644 --- a/R/aux_data_utils.R +++ b/R/aux_data_utils.R @@ -686,6 +686,7 @@ delete_files_from_s3 <- function(keys, bucket, batch_size = 500, .progress = TRU get_nhsn_data_archive <- function(disease_name) { aws.s3::s3read_using(nanoparquet::read_parquet, object = "nhsn_data_archive.parquet", bucket = "forecasting-team-data") %>% filter(disease == disease_name) %>% + filter(!grepl("region.*", geo_value)) %>% select(-version_timestamp, -disease) %>% as_epi_archive(compactify = TRUE) } diff --git a/R/targets/score_targets.R b/R/targets/score_targets.R index 3dcd385f..84a15cb7 100644 --- a/R/targets/score_targets.R +++ b/R/targets/score_targets.R @@ -22,11 +22,19 @@ score_forecasts <- function(nhsn_latest_data, joined_forecasts_and_ensembles) { drop_na() %>% rename(location = state_code) %>% select(-geo_value) + # limit the forecasts to the same set of forecasting times + max_forecast_date <- + joined_forecasts_and_ensembles %>% + group_by(forecaster) %>% + summarize(max_forecast = max(forecast_date)) %>% + pull(max_forecast) %>% + min() forecasts_formatted <- joined_forecasts_and_ensembles %>% + filter(forecast_date <= max_forecast_date) %>% format_scoring_utils(disease = "covid") scores <- forecasts_formatted %>% - filter(location != "US") %>% + filter(location %nin% c("US", "60", "66", "78")) %>% hubEvals::score_model_out( truth_data, metrics = c("wis", "ae_median", "interval_coverage_50", "interval_coverage_90"), diff --git a/R/utils.R b/R/utils.R index f63d2b5f..b7339f3f 100644 --- a/R/utils.R +++ b/R/utils.R @@ -163,13 +163,10 @@ data_substitutions <- function(dataset, substitutions_path, forecast_generation_ ) %>% filter(forecast_date == forecast_generation_date) %>% select(-forecast_date) %>% - rename(new_value = value) %>% - select(-time_value) + rename(new_value = value) # Replace the most recent values in the appropriate keys with the substitutions new_values <- dataset %>% - group_by(geo_value) %>% - slice_max(time_value) %>% - inner_join(substitutions, by = "geo_value") %>% + inner_join(substitutions, by = join_by(geo_value, time_value)) %>% mutate(value = ifelse(!is.na(new_value), new_value, value)) %>% select(-new_value) # Remove keys from dataset that have been substituted @@ -383,8 +380,14 @@ update_site <- function(sync_to_s3 = TRUE) { slice_max(generation_date) # iterating over the diseases for (row_num in seq_along(used_files$filename)) { + file_name <- path_file(used_files$filename[[row_num]]) scoring_index <- which(grepl("### Scoring this season", report_md_content)) + 1 - score_link <- sprintf("- [%s Scoring, Rendered %s](%s)", str_to_title(used_files$disease[[row_num]]), used_files$generation_date[[row_num]], used_files$filename[[row_num]]) + score_link <- sprintf( + "- [%s Scoring, Rendered %s](%s)", + str_to_title(used_files$disease[[row_num]]), + used_files$generation_date[[row_num]], + file_name + ) report_md_content <- append(report_md_content, score_link, after = scoring_index) } } diff --git a/covid_geo_exclusions.csv b/covid_geo_exclusions.csv index 04c5983e..db52eb0c 100644 --- a/covid_geo_exclusions.csv +++ b/covid_geo_exclusions.csv @@ -1,133 +1,250 @@ forecast_date,forecaster,geo_value,weight +################## # defaults -"2024-10-01", "all", "mp", 0 -"2024-10-01", "windowed_seasonal", "all", 3 -"2024-10-01", "windowed_seasonal_extra_sources", "all", 3 -"2024-10-01", "windowed_seasonal_extra_sources", "mo", 0 -"2024-10-01", "windowed_seasonal_extra_sources", "usa", 0 -"2024-10-01", "windowed_seasonal_extra_sources", "wy", 0 -"2024-10-01", "linear", "all", 3 -"2024-10-01", "linearlog", "all", 0 -"2024-10-01", "climate_base", "all", 2 -"2024-10-01", "climate_geo_agged", "all", 0.5 -"2024-10-01", "climate_quantile_extrapolated", "all", 0 +################## +2024-10-01, all, mp, 0 +2024-10-01, windowed_seasonal, all, 0 +2024-10-01, windowed_seasonal_extra_sources, all, 3 +2024-10-01, climate_linear, all, 3 +2024-10-01, linear, all, 3 +2024-10-01, linearlog, all, 0 +2024-10-01, climate_base, all, 2 +2024-10-01, climate_geo_agged, all, 0.5 +2024-10-01, climate_quantile_extrapolated, all, 0 +################## +# Feb 26 +################## +2025-02-26, all, mp, 0 +2025-02-26, windowed_seasonal, all, 0.0001 +2025-02-26, windowed_seasonal_extra_sources, all, 3 +2025-02-26, climate_linear, all, 0.0001 +2025-02-26, linear, all, 3 +2025-02-26, linearlog, all, 0 +2025-02-26, climate_base, all, 2 +2025-02-26, climate_geo_agged, all, 0.5 +2025-02-26, climate_quantile_extrapolated, all, 0 +################## # feb 19 -"2025-02-19", "all", "mp", 0 -"2025-02-19", "windowed_seasonal", "all", 0 -"2025-02-19", "windowed_seasonal_extra_sources", "all", 3 +################## +2025-02-19, all, mp, 0 +2025-02-19, windowed_seasonal, all, 0 +2025-02-19, windowed_seasonal_extra_sources, all, 3 # this is weighing the linear climate ensemble -"2025-02-19", "linear_climate", "all", 0.0001 -"2025-02-19", "linear_climate", "ma", 3 -"2025-02-19", "linear_climate", "nh", 3 -"2025-02-19", "linear_climate", "nm", 3 -"2025-02-19", "windowed_seasonal", "pr", 3 -"2025-02-19", "windowed_seasonal", "mo", 3 -"2025-02-19", "windowed_seasonal", "wy", 3 -"2025-02-19", "windowed_seasonal", "usa", 3 +2025-02-19, climate_linear, all, 0.0001 +2025-02-19, climate_linear, ma, 3 +2025-02-19, climate_linear, nh, 3 +2025-02-19, climate_linear, nm, 3 +2025-02-19, windowed_seasonal, pr, 3 +2025-02-19, windowed_seasonal, mo, 3 +2025-02-19, windowed_seasonal, wy, 3 +2025-02-19, windowed_seasonal, usa, 3 # creating linear climate -"2025-02-19", "linear", "all", 3 -"2025-02-19", "linearlog", "all", 0 -"2025-02-19", "climate_base", "all", 2 -"2025-02-19", "climate_geo_agged", "all", 0.5 -"2025-02-19", "climate_quantile_extrapolated", "all", 0 - +2025-02-19, linear, all, 3 +2025-02-19, linearlog, all, 0 +2025-02-19, climate_base, all, 2 +2025-02-19, climate_geo_agged, all, 0.5 +2025-02-19, climate_quantile_extrapolated, all, 0 +################## # feb 12 +################## 2025-02-05, all, mp, 0 2025-02-05, windowed_seasonal, all, 3 2025-02-05, windowed_seasonal_extra_sources, all, 0.0 +2025-02-05, climate_linear, all, 3 2025-02-05, linear, all, 0.5 2025-02-05, linearlog, all, 0 2025-02-05, climate_base, all, 0 2025-02-05, climate_geo_agged, all, 0.0 +################## # feb 5 +################## 2025-02-05, all, mp, 0 2025-02-05, windowed_seasonal, all, 3 2025-02-05, windowed_seasonal_extra_sources, all, 3 +2025-02-05, climate_linear, all, 3 2025-02-05, linear, all, 0.5 2025-02-05, linearlog, all, 0 2025-02-05, climate_base, all, 0 2025-02-05, climate_geo_agged, all, 0.0 +################## +# Jan 29 +################## +2025-01-29, all, mp, 0 +2025-01-29, windowed_seasonal, all, 0 +2025-01-29, windowed_seasonal_extra_sources, all, 3 +2025-01-29, climate_linear, all, 3 +2025-01-29, linear, all, 3 +2025-01-29, linearlog, all, 0 +2025-01-29, climate_base, all, 2 +2025-01-29, climate_geo_agged, all, 0.5 +2025-01-29, climate_quantile_extrapolated, all, 0 +################## +# Jan 22 +################## +2025-01-22, all, mp, 0 +2025-01-22, windowed_seasonal, all, 0 +2025-01-22, windowed_seasonal_extra_sources, all, 3 +2025-01-22, climate_linear, all, 3 +2025-01-22, linear, all, 3 +2025-01-22, linearlog, all, 0 +2025-01-22, climate_base, all, 2 +2025-01-22, climate_geo_agged, all, 0.5 +2025-01-22, climate_quantile_extrapolated, all, 0 +################## +# jan 15 +################## +2025-01-15, all, mp, 0 +2025-01-15, windowed_seasonal, all, 0 +2025-01-15, windowed_seasonal_extra_sources, all, 0 +2025-01-15, climate_linear, all, 3 +2025-01-15, linear, all, 3 +2025-01-15, linearlog, all, 0 +2025-01-15, climate_base, all, 2 +2025-01-15, climate_geo_agged, all, 0.5 +2025-01-15, climate_quantile_extrapolated, all, 0 +################## +# jan 8 +################## +2025-01-08, all, mp, 0 +2025-01-08, windowed_seasonal, all, 0 +2025-01-08, windowed_seasonal_extra_sources, all, 0 +2025-01-08, climate_linear, all, 3 +2025-01-08, linear, all, 3 +2025-01-08, linearlog, all, 0 +2025-01-08, climate_base, all, 2 +2025-01-08, climate_geo_agged, all, 0.5 +2025-01-08, climate_quantile_extrapolated, all, 0 +################## +# jan 1 +################## +2025-01-01, all, mp, 0 +2025-01-01, windowed_seasonal, all, 0 +2025-01-01, windowed_seasonal_extra_sources, all, 0 +2025-01-01, climate_linear, all, 3 +2025-01-01, linear, all, 3 +2025-01-01, linearlog, all, 0 +2025-01-01, climate_base, all, 2 +2025-01-01, climate_geo_agged, all, 0.5 +2025-01-01, climate_quantile_extrapolated, all, 0 +################## +# dec 25 +################## +2024-12-25, all, mp, 0 +2024-12-25, windowed_seasonal, all, 0 +2024-12-25, windowed_seasonal_extra_sources, all, 0 +2024-12-25, climate_linear, all, 3 +2024-12-25, linear, all, 3 +2024-12-25, linearlog, all, 0 +2024-12-25, climate_base, all, 2 +2024-12-25, climate_geo_agged, all, 0.5 +2024-12-25, climate_quantile_extrapolated, all, 0 +################## +# dec 11 +################## +2024-12-11, all, mp, 0 +2024-12-11, windowed_seasonal, all, 0 +2024-12-11, windowed_seasonal_extra_sources, all, 0 +2024-12-11, climate_linear, all, 3 +2024-12-11, linear, all, 3 +2024-12-11, linearlog, all, 0 +2024-12-11, climate_base, all, 2 +2024-12-11, climate_geo_agged, all, 0.5 +2024-12-11, climate_quantile_extrapolated, all, 0 +################## # dec 4th -"2024-12-04", "all", "mp", 0 -"2024-12-04", "linear", "all", 3 -"2024-12-04", "linearlog", "all", 0 -"2024-12-04", "climate_base", "all", 2 -"2024-12-04", "climate_geo_agged", "all", 0.5 -"2024-12-04", "climate_quantile_extrapolated", "all", 0 +################## +2024-12-04, all, mp, 0 +2024-12-04, windowed_seasonal, all, 0 +2024-12-04, windowed_seasonal_extra_sources, all, 0 +2024-12-04, climate_linear, all, 3 +2024-12-04, linear, all, 3 +2024-12-04, linearlog, all, 0 +2024-12-04, climate_base, all, 2 +2024-12-04, climate_geo_agged, all, 0.5 +2024-12-04, climate_quantile_extrapolated, all, 0 +################## # nov 27th -"2024-11-27", "all", "mp", 0 -"2024-11-27", "linear", "all", 3 -"2024-11-27", "linearlog", "all", 0 -"2024-11-27", "climate_base", "all", 2 -"2024-11-27", "climate_geo_agged", "all", 0.5 -"2024-11-27", "climate_quantile_extrapolated", "all", 0 -"2024-11-27", "climate_base", "fl", 1 -"2024-11-27", "climate_base", "de", 0.5 -"2024-11-27", "climate_base", "mi", 0.5 -"2024-11-27", "linear", "az", 0 -"2024-11-27", "linear", "ma", 0 +################## +2024-11-27, all, mp, 0 +2024-11-27, windowed_seasonal, all, 0 +2024-11-27, windowed_seasonal_extra_sources, all, 0 +2024-11-27, climate_linear, all, 3 +2024-11-27, linear, all, 3 +2024-11-27, linearlog, all, 0 +2024-11-27, climate_base, all, 2 +2024-11-27, climate_geo_agged, all, 0.5 +2024-11-27, climate_quantile_extrapolated, all, 0 +2024-11-27, climate_base, fl, 1 +2024-11-27, climate_base, de, 0.5 +2024-11-27, climate_base, mi, 0.5 +2024-11-27, linear, az, 0 +2024-11-27, linear, ma, 0 ################################################ # minor blip, the uploaded data was wildly wrong # this does mean the forecasts will probably be more accurate ################################################ -"2024-11-21", "linear", "all", 9 -"2024-11-21", "linearlog", "all", 0 -"2024-11-21", "climate_base", "all", 2 -"2024-11-21", "climate_geo_agged", "all", 1 -"2024-11-21", "climate_quantile_extrapolated", "all", 0 -# "2024-11-21", "climate_quantile_extrapolated", "ca", 0 -# "2024-11-21", "climate_geo_agged", "ca", 0 +2024-11-20, all, mp, 0 +2024-11-20, windowed_seasonal, all, 0 +2024-11-20, windowed_seasonal_extra_sources, all, 0 +2024-11-20, climate_linear, all, 3 +2024-11-20, linear, all, 9 +2024-11-20, linearlog, all, 0 +2024-11-20, climate_base, all, 2 +2024-11-20, climate_geo_agged, all, 1 +2024-11-20, climate_quantile_extrapolated, all, 0 +# 2024-11-21, climate_quantile_extrapolated, ca, 0 +# 2024-11-21, climate_geo_agged, ca, 0 # co needs a stronger linear part -"2024-11-21", "climate_base", "co", 0.5 -"2024-11-21", "climate_geo_agged", "co", 0.5 +2024-11-20, climate_base, co, 0.5 +2024-11-20, climate_geo_agged, co, 0.5 # de needs a stronger linear part -"2024-11-21", "climate_base", "de", 0.5 -"2024-11-21", "climate_geo_agged", "de", 0.5 +2024-11-20, climate_base, de, 0.5 +2024-11-20, climate_geo_agged, de, 0.5 # ga needs a stronger linear part -"2024-11-21", "climate_base", "ga", 0.5 -"2024-11-21", "climate_geo_agged", "ga", 0.5 +2024-11-20, climate_base, ga, 0.5 +2024-11-20, climate_geo_agged, ga, 0.5 # hi needs a stronger linear part -"2024-11-21", "climate_base", "hi", 0.5 -"2024-11-21", "climate_geo_agged", "hi", 0.5 +2024-11-20, climate_base, hi, 0.5 +2024-11-20, climate_geo_agged, hi, 0.5 # ia needs a stronger linear part -"2024-11-21", "climate_base", "ia", 0.5 -"2024-11-21", "climate_geo_agged", "ia", 0.5 +2024-11-20, climate_base, ia, 0.5 +2024-11-20, climate_geo_agged, ia, 0.5 # md needs a stronger linear part -"2024-11-21", "climate_base", "md", 0.5 -"2024-11-21", "climate_geo_agged", "md", 0.5 +2024-11-20, climate_base, md, 0.5 +2024-11-20, climate_geo_agged, md, 0.5 # mi needs a stronger climate part -"2024-11-21", "linear", "mi", 0.5 -"2024-11-21", "climate_base", "mi", 0.5 +2024-11-20, linear, mi, 0.5 +2024-11-20, climate_base, mi, 0.5 # nd needs a stronger linear part -"2024-11-21", "climate_base", "nd", 0.25 -"2024-11-21", "climate_geo_agged", "nd", 0.25 +2024-11-20, climate_base, nd, 0.25 +2024-11-20, climate_geo_agged, nd, 0.25 # ne needs a stronger linear part -"2024-11-21", "climate_base", "ne", 0.25 -"2024-11-21", "climate_geo_agged", "ne", 0.25 +2024-11-20, climate_base, ne, 0.25 +2024-11-20, climate_geo_agged, ne, 0.25 # nj needs a stronger linear part -"2024-11-21", "climate_base", "nj", 0.25 -"2024-11-21", "climate_geo_agged", "nj", 0.25 +2024-11-20, climate_base, nj, 0.25 +2024-11-20, climate_geo_agged, nj, 0.25 # or needs a stronger linear part -"2024-11-21", "climate_base", "or", 0.5 -"2024-11-21", "climate_geo_agged", "or", 0.5 +2024-11-20, climate_base, or, 0.5 +2024-11-20, climate_geo_agged, or, 0.5 # pa needs a weaker linear part (data is *very* steep) -"2024-11-21", "linear", "pa", 0.5 +2024-11-20, linear, pa, 0.5 ################################################ #first forecast ################################################ -"2024-11-20", "linear", "all", 2 -"2024-11-20", "linearlog", "all", 0 -"2024-11-20", "climate_base", "all", 2 -"2024-11-20", "climate_geo_agged", "all", 0.5 -"2024-11-20", "climate_quantile_extrapolated", "all", 0.5 -"2024-11-20", "linear", "az", 0 -"2024-11-20", "linear", "mi", 0 -"2024-11-20", "linear", "ma", 0 -"2024-11-20", "climate_geo_agged", "ma", 0 -"2024-11-20", "climate_quantile_extrapolated", "ma", 0 -"2024-11-20", "linear", "mn", 0 -"2024-11-20", "linear", "mt", 0 -"2024-11-20", "linear", "nm", 0 -"2024-11-20", "linear", "pa", 0 -"2024-11-20", "linear", "vt", 0 -"2024-11-20", "linear", "wy", 0 +# 2024-11-20, linear, all, 2 +# 2024-11-20, linearlog, all, 0 +# 2024-11-20, climate_base, all, 2 +# 2024-11-20, climate_geo_agged, all, 0.5 +# 2024-11-20, climate_quantile_extrapolated, all, 0.5 +# 2024-11-20, linear, az, 0 +# 2024-11-20, linear, mi, 0 +# 2024-11-20, linear, ma, 0 +# 2024-11-20, climate_geo_agged, ma, 0 +# 2024-11-20, climate_quantile_extrapolated, ma, 0 +# 2024-11-20, linear, mn, 0 +# 2024-11-20, linear, mt, 0 +# 2024-11-20, linear, nm, 0 +# 2024-11-20, linear, pa, 0 +# 2024-11-20, linear, vt, 0 +# 2024-11-20, linear, wy, 0 diff --git a/flu_data_substitutions.csv b/flu_data_substitutions.csv index f44143b9..b1e77f42 100644 --- a/flu_data_substitutions.csv +++ b/flu_data_substitutions.csv @@ -1,14 +1,16 @@ geo_value, forecast_date, time_value, value sd, 2025-01-08, 2025-01-01, 33 id, 2025-01-08, 2025-01-01, 323 -az, 2025-02-12, 2025-02-05, 850 -de, 2025-02-12, 2025-02-05, 130 -id, 2025-02-12, 2025-02-05, 150 -nm, 2025-02-12, 2025-02-05, 200 -ca, 2025-02-12, 2025-02-05, 3893 -ms, 2025-02-12, 2025-02-05, 420 -ok, 2025-02-12, 2025-02-05, 850 -dc, 2025-02-19, 2025-02-15, 130 -ga, 2025-02-19, 2025-02-15, 700 -nm, 2025-02-19, 2025-02-15, 170 -ok, 2025-02-19, 2025-02-15, 600 \ No newline at end of file +az, 2025-02-12, 2025-02-02, 850 +de, 2025-02-12, 2025-02-02, 130 +id, 2025-02-12, 2025-02-02, 150 +nm, 2025-02-12, 2025-02-02, 200 +ca, 2025-02-12, 2025-02-02, 3893 +ms, 2025-02-12, 2025-02-02, 420 +ok, 2025-02-12, 2025-02-02, 850 +dc, 2025-02-19, 2025-02-12, 130 +ga, 2025-02-19, 2025-02-12, 700 +nm, 2025-02-19, 2025-02-12, 170 +ok, 2025-02-19, 2025-02-12, 600 +dc, 2025-02-26, 2025-02-12, 160 +dc, 2025-02-26, 2025-02-19, 130 diff --git a/flu_geo_exclusions.csv b/flu_geo_exclusions.csv index aca672bb..9ce6f6b1 100644 --- a/flu_geo_exclusions.csv +++ b/flu_geo_exclusions.csv @@ -1,18 +1,35 @@ forecast_date,forecaster,geo_value,weight +################## # default values +################## 2024-10-01, all, mp, 0 2024-10-01, windowed_seasonal, all, 3 2024-10-01, windowed_seasonal_extra_sources, all, 3 +2024-10-01, climate_linear, all, 3 2024-10-01, linear, all, 0.5 2024-10-01, linearlog, all, 0 2024-10-01, climate_base, all, 0.5 2024-10-01, climate_geo_agged, all, 0.25 2024-10-01, climate_quantile_extrapolated, all, 0 +################## +# Feb 26 +################## +2025-02-26, all, mp, 0 +2025-02-26, windowed_seasonal, all, 3 +2025-02-26, windowed_seasonal_extra_sources, all, 3 +2025-02-26, climate_linear, all, 3 +2025-02-26, linear, all, 0.5 +2025-02-26, linearlog, all, 0 +2025-02-26, climate_base, all, 0.5 +2025-02-26, climate_geo_agged, all, 0.25 +2025-02-26, climate_quantile_extrapolated, all, 0 +################## # feb 19 +################## 2025-02-19, all, mp, 0 2025-02-19, windowed_seasonal, all, 3 2025-02-19, windowed_seasonal_extra_sources, all, 3 -2025-02-19, linear_climate, all, 3 +2025-02-19, climate_linear, all, 3 2025-02-19, linear, all, 0.5 2025-02-19, linearlog, all, 0 2025-02-19, climate_base, all, 0.5 @@ -27,24 +44,131 @@ forecast_date,forecaster,geo_value,weight 2025-02-19, windowed_seasonal_extra_sources, pr, 0 2025-02-19, windowed_seasonal_extra_sources, us, 0 2025-02-19, windowed_seasonal_extra_sources, wy, 0 +################## +# feb 12 (same as the 5th) +################## +2025-02-12, all, mp, 0 +2025-02-12, windowed_seasonal, all, 3 +2025-02-12, windowed_seasonal_extra_sources, all, 3 +2025-02-12, climate_linear, all, 3 +2025-02-12, linear, all, 0.5 +2025-02-12, linearlog, all, 0 +2025-02-12, climate_base, all, 0 +2025-02-12, climate_geo_agged, all, 0.0 +################## # feb 5 +################## 2025-02-05, all, mp, 0 2025-02-05, windowed_seasonal, all, 3 2025-02-05, windowed_seasonal_extra_sources, all, 3 +2025-02-05, climate_linear, all, 3 2025-02-05, linear, all, 0.5 2025-02-05, linearlog, all, 0 2025-02-05, climate_base, all, 0 2025-02-05, climate_geo_agged, all, 0.0 +################## +# Jan 29 (same as the 15th) +################## +2025-01-29, all, mp, 0 +2025-01-29, windowed_seasonal, all, 3 +2025-01-29, windowed_seasonal_extra_sources, all, 3 +2025-01-29, climate_linear, all, 3 +2025-01-29, linear, all, 0.5 +2025-01-29, linearlog, all, 0 +2025-01-29, climate_base, all, 0.5 +2025-01-29, climate_geo_agged, all, 0.25 +2025-01-29, climate_quantile_extrapolated, all, 0 +################## +# Jan 22 (same as the 15th) +################## +2025-01-22, all, mp, 0 +2025-01-22, windowed_seasonal, all, 3 +2025-01-22, windowed_seasonal_extra_sources, all, 3 +2025-01-22, climate_linear, all, 3 +2025-01-22, linear, all, 0.5 +2025-01-22, linearlog, all, 0 +2025-01-22, climate_base, all, 0.5 +2025-01-22, climate_geo_agged, all, 0.25 +2025-01-22, climate_quantile_extrapolated, all, 0 +################## +# jan 15, first use of windowed_seasonal_extra_sources +################## +2025-01-15, all, mp, 0 +2025-01-15, windowed_seasonal, all, 3 +2025-01-15, windowed_seasonal_extra_sources, all, 3 +2025-01-15, climate_linear, all, 3 +2025-01-15, linear, all, 0.5 +2025-01-15, linearlog, all, 0 +2025-01-15, climate_base, all, 0.5 +2025-01-15, climate_geo_agged, all, 0.25 +2025-01-15, climate_quantile_extrapolated, all, 0 +################## # jan 8 +################## 2025-01-08, all, mp, 0 2025-01-08, windowed_seasonal, all, 3 +2025-01-08, windowed_seasonal_extra_sources, all, 0 +2025-01-08, climate_linear, all, 3 2025-01-08, linear, all, 0.5 2025-01-08, linearlog, all, 0 2025-01-08, climate_base, all, 0.5 2025-01-08, climate_geo_agged, all, 0.25 2025-01-08, climate_quantile_extrapolated, all, 0 +################## +# jan 1 (same as dec 11th) +################## +2025-01-01, all, mp, 0 +2025-01-01, windowed_seasonal, all, 1 +2025-01-01, windowed_seasonal_extra_sources, all, 0 +2025-01-01, climate_linear, all, 1 +2025-01-01, linear, all, 0.5 +2025-01-01, linearlog, all, 0 +2025-01-01, climate_base, all, 0.5 +2025-01-01, climate_geo_agged, all, 0.25 +2025-01-01, climate_quantile_extrapolated, all, 0 +################## +# dec 25 (same as the 11th) +################## +2024-12-25, all, mp, 0 +2024-12-25, windowed_seasonal, all, 1 +2024-12-25, windowed_seasonal_extra_sources, all, 0 +2024-12-25, climate_linear, all, 1 +2024-12-25, linear, all, 0.5 +2024-12-25, linearlog, all, 0 +2024-12-25, climate_base, all, 0.5 +2024-12-25, climate_geo_agged, all, 0.25 +2024-12-25, climate_quantile_extrapolated, all, 0 +################## +# dec 11 +################## +2024-12-11, all, mp, 0 +2024-12-11, windowed_seasonal, all, 1 +2024-12-11, windowed_seasonal_extra_sources, all, 0 +2024-12-11, climate_linear, all, 1 +2024-12-11, linear, all, 0.5 +2024-12-11, linearlog, all, 0 +2024-12-11, climate_base, all, 0.5 +2024-12-11, climate_geo_agged, all, 0.25 +2024-12-11, climate_quantile_extrapolated, all, 0 +################## +# dec 4 +################## +2024-12-04, all, mp, 0 +2024-12-04, windowed_seasonal, all, 0 +2024-12-04, windowed_seasonal_extra_sources, all, 0 +2024-12-04, climate_linear, all, 3 +2024-12-04, linear, all, 3 +2024-12-04, linearlog, all, 0 +2024-12-04, climate_base, all, 2 +2024-12-04, climate_geo_agged, all, 0.5 +2024-12-04, climate_quantile_extrapolated, all, 0 +################## # nov 27 +################## 2024-11-27, all, mp, 0 +2024-11-27, windowed_seasonal, all, 0 +2024-11-27, windowed_seasonal_extra_sources, all, 0 +2024-11-27, climate_linear, all, 3 2024-11-27, linear, all, 3 2024-11-27, linearlog, all, 0 2024-11-27, climate_base, all, 2 @@ -53,48 +177,52 @@ forecast_date,forecaster,geo_value,weight ################################################ # minor blip, the uploaded data was wildly wrong # this does mean the forecasts will probably be more accurate +# These forecasts were made on the 22nd but are recorded as the 20th ################################################ -2024-11-21, all, mp, 0 -2024-11-21, linear, all, 3 -2024-11-21, linearlog, all, 0 -2024-11-21, climate_base, all, 2 -2024-11-21, climate_geo_agged, all, 0.5 +2024-11-20, all, mp, 0 +2024-11-20, windowed_seasonal, all, 0 +2024-11-20, windowed_seasonal_extra_sources, all, 0 +2024-11-20, climate_linear, all, 3 +2024-11-20, linear, all, 3 +2024-11-20, linearlog, all, 0 +2024-11-20, climate_base, all, 2 +2024-11-20, climate_geo_agged, all, 0.5 # ga needs more weight on the linear -2024-11-21, climate_base, ga, 0.5 -2024-11-21, climate_geo_agged, ga, 0.25 +2024-11-20, climate_base, ga, 0.5 +2024-11-20, climate_geo_agged, ga, 0.25 # sc needs more weight on the linear -2024-11-21, climate_base, sc, 0.5 -2024-11-21, climate_geo_agged, sc, 0.25 -2024-11-22, all, mp, 0 -2024-11-22, linear, all, 3 -2024-11-22, linearlog, all, 0 -2024-11-22, climate_base, all, 2 -# first day of forecasting +2024-11-20, climate_base, sc, 0.5 +2024-11-20, climate_geo_agged, sc, 0.25 2024-11-20, all, mp, 0 2024-11-20, linear, all, 3 2024-11-20, linearlog, all, 0 2024-11-20, climate_base, all, 2 -2024-11-20, climate_geo_agged, all, 0.5 -2024-11-20, climate_base, ct, 1 -2024-11-20, climate_base, ct, 1 -2024-11-20, climate_base, sd, 0.75 -2024-11-20, climate_base, wa, 0.5 -2024-11-20, climate_geo_agged, pr, 0 -2024-11-20, climate_geo_agged, wa, 0.25 -2024-11-20, climate_quantile_extrapolated, all, 0.5 -2024-11-20, climate_quantile_extrapolated, me, 0 -2024-11-20, climate_quantile_extrapolated, ok, 0 -2024-11-20, climate_quantile_extrapolated, or, 0 -2024-11-20, climate_quantile_extrapolated, pr, 0 -2024-11-20, climate_quantile_extrapolated, sc, 0 -2024-11-20, climate_quantile_extrapolated, sd, 0 -2024-11-20, climate_quantile_extrapolated, vt, 0 -2024-11-20, climate_quantile_extrapolated, wa, 0 -2024-11-20, linear, de, 3 -2024-11-20, linear, ga, 2 -2024-11-20, linear, ma, 2 -2024-11-20, linear, nc, 1 -2024-11-20, linear, mt, 1 -2024-11-20, linear, mi, 1 -2024-11-20, linear, mn, 0 -2024-11-20, linear, pa, 0 +# first day of forecasting +# 2024-11-20, all, mp, 0 +# 2024-11-20, linear, all, 3 +# 2024-11-20, linearlog, all, 0 +# 2024-11-20, climate_base, all, 2 +# 2024-11-20, climate_geo_agged, all, 0.5 +# 2024-11-20, climate_base, ct, 1 +# 2024-11-20, climate_base, ct, 1 +# 2024-11-20, climate_base, sd, 0.75 +# 2024-11-20, climate_base, wa, 0.5 +# 2024-11-20, climate_geo_agged, pr, 0 +# 2024-11-20, climate_geo_agged, wa, 0.25 +# 2024-11-20, climate_quantile_extrapolated, all, 0.5 +# 2024-11-20, climate_quantile_extrapolated, me, 0 +# 2024-11-20, climate_quantile_extrapolated, ok, 0 +# 2024-11-20, climate_quantile_extrapolated, or, 0 +# 2024-11-20, climate_quantile_extrapolated, pr, 0 +# 2024-11-20, climate_quantile_extrapolated, sc, 0 +# 2024-11-20, climate_quantile_extrapolated, sd, 0 +# 2024-11-20, climate_quantile_extrapolated, vt, 0 +# 2024-11-20, climate_quantile_extrapolated, wa, 0 +# 2024-11-20, linear, de, 3 +# 2024-11-20, linear, ga, 2 +# 2024-11-20, linear, ma, 2 +# 2024-11-20, linear, nc, 1 +# 2024-11-20, linear, mt, 1 +# 2024-11-20, linear, mi, 1 +# 2024-11-20, linear, mn, 0 +# 2024-11-20, linear, pa, 0 diff --git a/scripts/covid_hosp_prod.R b/scripts/covid_hosp_prod.R index 37436778..ab26da12 100644 --- a/scripts/covid_hosp_prod.R +++ b/scripts/covid_hosp_prod.R @@ -86,7 +86,7 @@ forecaster_fns <- list2( ) %>% mutate(target_end_date = target_end_date + 3) %>% # Wyoming has no data for NSSP since July 2024 - filter(geo_value != "wy") + filter(geo_value != c("mo", "usa", "wy")) fcst } ) @@ -253,7 +253,7 @@ ensemble_targets <- tar_map( command = { all_ensembled <- ensemble_lin_clim %>% - mutate(forecaster = "linear_climate") %>% + mutate(forecaster = "climate_linear") %>% bind_rows( forecast_full_filtered %>% filter(forecaster %in% c("windowed_seasonal", "windowed_seasonal_extra_sources")) %>% @@ -267,7 +267,7 @@ ensemble_targets <- tar_map( command = { bind_rows( forecast_full_filtered, - ensemble_lin_clim %>% mutate(forecaster = "linear_climate"), + ensemble_lin_clim %>% mutate(forecaster = "climate_linear"), ensemble_mixture_res %>% mutate(forecaster = "ensemble_mix"), ens_ar_only %>% mutate(forecaster = "ens_ar_only") ) @@ -342,14 +342,17 @@ ensemble_targets <- tar_map( tar_target( name = truth_data, command = { + # Plot both as_of and latest data to compare + nhsn_data <- nhsn_archive_data %>% + epix_as_of(min(as.Date(forecast_generation_date_int), nhsn_archive_data$versions_end)) %>% + mutate(source = "nhsn as_of forecast") %>% + bind_rows(nhsn_latest_data %>% mutate(source = "nhsn")) %>% + select(geo_value, target_end_date = time_value, value) %>% + filter(target_end_date > truth_data_date, geo_value %nin% insufficient_data_geos) nssp_data <- nssp_latest_data %>% select(geo_value, target_end_date = time_value, value = nssp) %>% filter(target_end_date > truth_data_date, geo_value %nin% insufficient_data_geos) %>% mutate(target_end_date = target_end_date + 3, source = "nssp") - nhsn_data <- nhsn_latest_data %>% - select(geo_value, target_end_date = time_value, value) %>% - filter(target_end_date > truth_data_date, geo_value %nin% insufficient_data_geos) %>% - mutate(source = "nhsn") nssp_renormalized <- nssp_data %>% left_join( diff --git a/scripts/flu_hosp_prod.R b/scripts/flu_hosp_prod.R index fc609cee..fa245024 100644 --- a/scripts/flu_hosp_prod.R +++ b/scripts/flu_hosp_prod.R @@ -97,7 +97,8 @@ forecaster_fns <- list2( keys_to_ignore = very_latent_locations ) %>% select(-source) %>% - mutate(target_end_date = target_end_date + 3) + mutate(target_end_date = target_end_date + 3) %>% + filter(geo_value != c("mo", "us", "wy")) fcst } )