Skip to content

Commit fada02c

Browse files
authored
Merge pull request #54 from cmu-delphi/alicecima-no-geo-pooling
Predict without geo-pooling
2 parents b2a3b37 + 9afe855 commit fada02c

File tree

1 file changed

+32
-32
lines changed

1 file changed

+32
-32
lines changed

slides/day2-afternoon.qmd

+32-32
Original file line numberDiff line numberDiff line change
@@ -998,34 +998,6 @@ pred_arx_geo_pool <- usa_archive_dv |> epix_slide(
998998
```
999999
[Note]{.primary}: geo-pooling is the default in `epipredict`
10001000

1001-
```{r arx-no-geo-pooling}
1002-
ma_archive_dv <- usa_archive_dv$DT |> filter(geo_value == "ma") |> as_epi_archive()
1003-
ny_archive_dv <- usa_archive_dv$DT |> filter(geo_value == "ny") |> as_epi_archive()
1004-
tx_archive_dv <- usa_archive_dv$DT |> filter(geo_value == "tx") |> as_epi_archive()
1005-
1006-
pred_arx_no_geo_pool <- function(archive, ahead = 28, lags = 0){
1007-
archive |>
1008-
epix_slide(
1009-
~ arx_forecaster(epi_data = .x,
1010-
outcome = "deaths",
1011-
predictors = c("deaths", "doctor_visits"),
1012-
trainer = linear_reg() |> set_engine("lm"),
1013-
args_list = arx_args_list(
1014-
lags = lags,
1015-
ahead = ahead,
1016-
quantile_levels = c(0.1, 0.9))
1017-
)$predictions |>
1018-
pivot_quantiles_wider(.pred_distn),
1019-
.before = w,
1020-
.versions = fc_time_values
1021-
)}
1022-
1023-
pred_no_geo_pool_28 <- rbind(pred_arx_no_geo_pool(ca_archive_dv),
1024-
pred_arx_no_geo_pool(ma_archive_dv),
1025-
pred_arx_no_geo_pool(ny_archive_dv),
1026-
pred_arx_no_geo_pool(tx_archive_dv))
1027-
```
1028-
10291001

10301002
```{r arx-geo-pooling-plot-ca, eval=FALSE}
10311003
## Predictions (geo-pooling): California
@@ -1100,6 +1072,35 @@ rbind(getAccuracy(ca,
11001072
"TX"))
11011073
```
11021074

1075+
## Predict without geo-pooling
1076+
1077+
```{r arx-no-geo-pooling}
1078+
#| echo: true
1079+
pred_arx_no_geo_pool <- function(archive, ahead = 28, lags = 0){
1080+
archive |>
1081+
epix_slide(
1082+
~ group_by(.x, geo_value) |>
1083+
group_map(.keep = TRUE, function(group_data, group_key) {
1084+
arx_forecaster(epi_data = group_data,
1085+
outcome = "deaths",
1086+
predictors = c("deaths", "doctor_visits"),
1087+
trainer = linear_reg() |> set_engine("lm"),
1088+
args_list = arx_args_list(
1089+
lags = lags,
1090+
ahead = ahead,
1091+
quantile_levels = c(0.1, 0.9))
1092+
)$predictions |>
1093+
pivot_quantiles_wider(.pred_distn)
1094+
}) |>
1095+
list_rbind(),
1096+
.before = w,
1097+
.versions = fc_time_values
1098+
)}
1099+
1100+
pred_no_geo_pool_28 <- pred_arx_no_geo_pool(usa_archive_dv$DT |>
1101+
filter(geo_value %in% c("ca", "ma", "ny", "tx")) |>
1102+
as_epi_archive())
1103+
```
11031104

11041105
## Predictions (without geo-pooling, $h=28$)
11051106

@@ -1169,10 +1170,9 @@ pred_arx_geo_pool_7 <- usa_archive_dv |>
11691170
.versions = fc_time_values
11701171
)
11711172
1172-
pred_no_geo_pool_7 <- rbind(pred_arx_no_geo_pool(ca_archive_dv, ahead = 7),
1173-
pred_arx_no_geo_pool(ma_archive_dv, ahead = 7),
1174-
pred_arx_no_geo_pool(ny_archive_dv, ahead = 7),
1175-
pred_arx_no_geo_pool(tx_archive_dv, ahead = 7))
1173+
pred_no_geo_pool_7 <- pred_arx_no_geo_pool(usa_archive_dv$DT |>
1174+
filter(geo_value %in% c("ca", "ma", "ny", "tx")) |>
1175+
as_epi_archive(), ahead = 7)
11761176
```
11771177

11781178

0 commit comments

Comments
 (0)