Skip to content

Commit 65b4094

Browse files
committed
functional covid_hosp_explore
1 parent b27d44f commit 65b4094

File tree

3 files changed

+69
-8
lines changed

3 files changed

+69
-8
lines changed

scripts/covid_hosp_explore.R

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ forecaster_parameter_combinations_ <- rlang::list2(
4141
pop_scaling = FALSE,
4242
n_training = Inf
4343
),
44-
tidyr::expand_grid(
44+
flatline_forecaster = tidyr::expand_grid(
4545
forecaster = "flatline_fc",
4646
),
4747
# using exogenous variables
@@ -160,6 +160,7 @@ forecaster_grid <- forecaster_parameter_combinations_ %>%
160160
map(make_forecaster_grid) %>%
161161
bind_rows()
162162
forecaster_families_ <- setdiff(forecaster_parameter_combinations_ %>% names(), c("flusion_grf"))
163+
reports_dir <- "reports"
163164

164165
scaled_pop_not_scaled <- list(
165166
forecaster = "scaled_pop",
@@ -575,8 +576,8 @@ rlang::list2(
575576
tar_target(
576577
external_forecasts,
577578
command = {
578-
s3load("flusight_forecasts_2023.rds", bucket = "forecasting-team-data")
579-
flusight_forecasts_2023
579+
s3load("covid19_forecast_hub_2023.rds", bucket = "forecasting-team-data", verbose = FALSE)
580+
full_results
580581
}
581582
),
582583
tar_target(
@@ -586,8 +587,11 @@ rlang::list2(
586587
mutate(target_end_date = target_end_date + 3)
587588
cmu_forecast_dates <- ref_time_values_ + 3
588589
filtered_forecasts <- external_forecasts %>%
590+
mutate(forecast_date = forecast_date + 5, target_end_date = target_end_date + 5) %>%
589591
filter(forecast_date %in% cmu_forecast_dates) %>%
590-
rename(model = forecaster)
592+
rename(model = forecaster) %>%
593+
rename(prediction = value) %>%
594+
filter(!is.na(geo_value))
591595
evaluate_predictions(predictions_cards = filtered_forecasts, truth_data = actual_eval_data) %>%
592596
rename(forecaster = model)
593597
}
@@ -610,7 +614,6 @@ rlang::list2(
610614
family_notebooks,
611615
command = {
612616
actual_eval_data <- hhs_evaluation_data %>%
613-
select(-population) %>%
614617
mutate(target_end_date = target_end_date + 3)
615618
delphi_forecaster_subset <- forecaster_parameter_combinations[[forecaster_families]]$id
616619
outside_forecaster_subset <- c("COVIDhub-baseline", "COVIDhub-ensemble")

scripts/flu_hosp_explore.R

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -535,8 +535,7 @@ rlang::list2(
535535
tar_target(
536536
family_notebooks,
537537
command = {
538-
actual_eval_data <- hhs_evaluation_data %>%
539-
select(-population) %>%
538+
actual_eval_data <- hhs_evaluation_data
540539
mutate(target_end_date = target_end_date + 3)
541540
delphi_forecaster_subset <- forecaster_parameter_combinations[[forecaster_families]]$id
542541
outside_forecaster_subset <- c("FluSight-baseline", "FluSight-ensemble", "UMass-flusion")
@@ -564,7 +563,6 @@ rlang::list2(
564563
overall_notebook,
565564
command = {
566565
actual_eval_data <- hhs_evaluation_data %>%
567-
select(-population) %>%
568566
mutate(target_end_date = target_end_date + 3)
569567
rmarkdown::render(
570568
"scripts/reports/flu-overall-comparison-notebook.Rmd",
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# this was run from within the https://github.com/reichlab/covid19-forecast-hub repo,
2+
# specifically in the data-processed folder
3+
# to get the rds, run
4+
#
5+
# full_results <- readr::read_csv("../covid19-forecast-hub/data-processed/covid19-2023season-results.csv")
6+
# aws.s3::s3save(full_results, object = "covid19_forecast_hub_2023.rds", bucket = "forecasting-team-data")
7+
#
8+
using CSV
9+
using DataFrames
10+
using DataFramesMeta
11+
using Dates
12+
using RData
13+
pwd()
14+
res = CSV.read("COVIDhub-ensemble/2023-10-02-COVIDhub-ensemble.csv", DataFrame)
15+
pathname = "COVIDhub-ensemble/"
16+
filename = "2023-10-02-COVIDhub-ensemble.csv"
17+
state_names = CSV.read("../data-locations/locations.csv", DataFrame)
18+
lowercase(m::Missing) = m
19+
@rtransform! state_names @passmissing :abbreviation = lowercase(:abbreviation)
20+
@select! state_names :abbreviation :location
21+
22+
function format_file(pathname, filename, state_names)
23+
if length(filename) < 10 ||
24+
match(r"[0-9]{4}-[0-9]{2}-[0-9]{2}", filename[1:10]) == nothing ||
25+
Date(filename[1:10]) < Date(2023, 1, 1)
26+
return DataFrame()
27+
end
28+
println(joinpath(pathname, filename))
29+
30+
res = CSV.read(joinpath(pathname, filename), DataFrame, missingstring="NA")
31+
32+
if !("forecast_date" in names(res)) ||
33+
res[!, :forecast_date] |> minimum < Date(2023, 1, 1)
34+
return DataFrame()
35+
end
36+
@transform(res, :target = (:target))
37+
res = @chain res begin
38+
@rtransform :target = parse(Int64, match(r"[0-9]*", :target).match)
39+
@transform :forecaster = pathname
40+
@rsubset :type == "quantile"
41+
end
42+
res = leftjoin(res, state_names, on=:location)
43+
@select! res :forecaster :geo_value = :abbreviation :forecast_date :target_end_date :ahead = :target :quantile :value
44+
res
45+
end
46+
results = DataFrame[]
47+
for (root, dirs, files) in walkdir(".")
48+
for file in files
49+
push!(results, format_file(root, file, state_names))
50+
end
51+
end
52+
full_results = vcat(results...)
53+
CSV.write("covid19-2023season-results.csv", full_results)
54+
full_results[!, :forecaster] |> unique
55+
@rsubset! full_results :ahead % 7 == 0
56+
@rtransform! full_results :forecaster = :forecaster[3:end]
57+
"./fqfae"[3:end]
58+
3 % 7
59+
@rsubset full_results !ismissing(:geo_value) :forecast_date == Date(2023,11,13)
60+
@rsubset res :forecast_date == Date(2023,11,0)

0 commit comments

Comments
 (0)