From 027296ed15e02b273d03a5d6aeb18f11b49ac0e7 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 2 Aug 2022 00:18:12 -0700 Subject: [PATCH 01/49] wip panel data --- R/data.R | 24 ++++ data-raw/statcan_employ_subset.R | 192 +++++++++++++++++++++++++++++++ data/statcan_employ_subset.rda | Bin 0 -> 254398 bytes man/create_layer.Rd | 4 +- man/statcan_employ_subset.Rd | 39 +++++++ vignettes/panel-data.Rmd | 143 +++++++++++++++++++++++ 6 files changed, 400 insertions(+), 2 deletions(-) create mode 100644 data-raw/statcan_employ_subset.R create mode 100644 data/statcan_employ_subset.rda create mode 100644 man/statcan_employ_subset.Rd create mode 100644 vignettes/panel-data.Rmd diff --git a/R/data.R b/R/data.R index 9c93506a3..8092faad2 100644 --- a/R/data.R +++ b/R/data.R @@ -33,3 +33,27 @@ #' June 7 is the average of the underlying data for June 1 through 7, #' inclusive. "case_death_rate_subset" + +#' Subset of Statistics Canada employment numbers by industry and province +#' +#' @format A tibble with 109,388 rows and 6 variables: +#' \describe{ +#' \item{geo_value}{The province in Canada associated with each +#' row of measurements.} +#' \item{time_value}{The time value, in YYYY-MM-01 format, +#' associated with each row of measurements.} +#' \item{ppl_count}{The number of people employed, seasonally +#' adjusted.} +#' \item{employee_type}{The type of employee} +#' \item{naics_industry}{The industry name and associated code +#' according to \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS}} +#' } +#' @source This object contains modified data from the following Statistics Canada +#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data}{Table 14-10-0220-01 Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada} +#' +#' Modifications: +#' * From the given Statistics Canada table, the employee counts +#' are taken as-is. Only \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS} codes at hierarchy level 2 are +#' filtered in. Only data rows that are \href{https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol}{good quality or higher and not missing} +#' according to Statistics Canada are removed. +"statcan_employ_subset" \ No newline at end of file diff --git a/data-raw/statcan_employ_subset.R b/data-raw/statcan_employ_subset.R new file mode 100644 index 000000000..f61120065 --- /dev/null +++ b/data-raw/statcan_employ_subset.R @@ -0,0 +1,192 @@ +library(epipredict) +library(epiprocess) +library(cansim) +library(dplyr) +library(stringr) + +# Run this once +# https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data +statcan_employ <- get_cansim("14-10-0201-01") + +# ================== Subset & Filtering ================== +employ <- statcan_employ %>% + select(c( + "REF_DATE", + "GEO", + # "DGUID", + # "UOM", + # "UOM_ID", + # "SCALAR_FACTOR", + # "SCALAR_ID", + # "VECTOR", + # "COORDINATE", + "VALUE", + "STATUS", + # "SYMBOL", + # "TERMINATED", + # "DECIMALS", + # "GeoUID", + # "Hierarchy for GEO", + # "Classification Code for Type of employee", + # "Hierarchy for Type of employee", + "Classification Code for North American Industry Classification System (NAICS)", + # "Hierarchy for North American Industry Classification System (NAICS)", + # "val_norm", + # "Date", + "Type of employee", + "North American Industry Classification System (NAICS)")) %>% + rename( + "geo_value" = "GEO", + "time_value" = "REF_DATE", + "ppl_count" = "VALUE", + "status" = "STATUS", + "employee_type" = "Type of employee", + "naics_industry" = "North American Industry Classification System (NAICS)", + "naics_code" = "Classification Code for North American Industry Classification System (NAICS)" + ) %>% + mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% + # https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol + # .. not available for a specific reference period + # x: suppressed to meet the confidentiality requirements of the Statistics Act + # A data quality: excellent + # B data quality: very good + # C data quality: good + # [blank] or A-D: acceptable or better <- only keep these ones + # E use with caution + # F too unreliable to be published + filter( + status %in% c("A", "B", "C", "D", NA) & # only keep "good" data + !is.na(ppl_count) & + geo_value != "Canada" & # only keep provinces + # N corresponds to aggregates + !str_detect(naics_code, "N") & + # only keep top-level sectors + # https://www.census.gov/programs-surveys/economic-census/guidance/understanding-naics.html + # corresponds to either [##] or [##-##] + str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & + # [00] corresponds to unclassified + naics_code != "[00]") %>% + select(-c(status, naics_code)) %>% + # re-level the industry column because we dropped factors + mutate(naics_industry = factor(naics_industry)) + +# head(employ) +# statcan_employ_subset <- employ %>% +# tsibble::as_tsibble( +# index=time_value, +# key=c(geo_value, employee_type, naics_industry)) %>% +# as_epi_df(time_type = "yearmonth", as_of="2022-07-28") + +statcan_employ_subset <- employ %>% + tsibble::as_tsibble(index=time_value, key=c(geo_value, employee_type, naics_industry)) %>% + as_epi_df( + additional_metadata=c(other_keys=c("employee_type", "naics_industry"))) + +usethis::use_data(statcan_employ_subset, overwrite = TRUE) + +# ================== EDA ================== +length(statcan_employ$REF_DATE) +names(statcan_employ) + +uniq_ref_date <- unique(select(statcan_employ, "REF_DATE")) +uniq_ref_date +min(statcan_employ$REF_DATE) # 2001-01 +max(statcan_employ$REF_DATE) # 2022-05 +# There should be (22-1)*12 + 5 +exp_total_dates <- (22-1)*12+5 +length(uniq_ref_date %>% unlist()) == exp_total_dates # TRUE +# There is a ref date for each month in the date range + +unique(select(statcan_employ, "GEO")) # List of length 14, names of provinces & territories + Canada +statcan_employ %>% group_by(GEO) %>% top_n(n=-1) +# Dissemination Geography Unique Identifier - DGUID. +# https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo055 +# 2016 (year) +# A (administrative) +unique(select(statcan_employ, "DGUID")) +unique(select(statcan_employ, "UOM")) # Persons +unique(select(statcan_employ, "UOM_ID")) # 249 + +# These scalar columns tell us by what factor of 10 to multiply the values +# We get "units" and 0 so we can ignore these columns and +# take the values in VALUE as-is +unique(select(statcan_employ, "SCALAR_FACTOR")) # All "units" +unique(select(statcan_employ, "SCALAR_ID")) # All 0 + +# Time series identifier - ignore +unique(select(statcan_employ, "VECTOR")) + +# Related to dimension, which is not present in this table - ignore +unique(select(statcan_employ, "COORDINATE")) + +# Data value column. Values in units +unique(select(statcan_employ, "VALUE")) +# How many rows have empty values? +# Approx 3/4 of the rows have NA values +statcan_employ %>% + summarise( + VALUE_NA = sum(is.na(VALUE)) / length(VALUE), + VALUE_NOT_NA = sum(!is.na(VALUE)) / length(VALUE), + TOTAL = length(VALUE) + ) + +unique(select(statcan_employ, "STATUS")) +statcan_employ %>% + select(STATUS, VALUE) %>% + group_by(STATUS) %>% + count() + +unique(select(statcan_employ, "SYMBOL")) # All NA +unique(select(statcan_employ, "TERMINATED")) # All NA +unique(select(statcan_employ, "DECIMALS")) # All 0 + +unique(select(statcan_employ, "GeoUID")) +unique(select(statcan_employ, "Hierarchy for GEO")) +statcan_employ %>% + group_by_at(c("GEO", "DGUID", "GeoUID", "Hierarchy for GEO")) %>% + count() +# These 4 columns are redundant. Just keep GEO. + +# The next 4 columns are metadata about the last 2 columns +# ignore these in favour of the descriptive ones +unique(select(statcan_employ, "Classification Code for Type of employee")) # All NA +unique(select(statcan_employ, "Hierarchy for Type of employee")) +unique(select(statcan_employ, "Classification Code for North American Industry Classification System (NAICS)")) +unique(select(statcan_employ, "Hierarchy for North American Industry Classification System (NAICS)")) + +# val_norm and VALUE are the same +unique(select(statcan_employ, "val_norm")) +statcan_employ %>% filter(VALUE != val_norm) %>% count() + +unique(select(statcan_employ, "Date")) +# Each date has a minimum of 7522 data points +statcan_employ %>% group_by(Date) %>% count() %>% ungroup() %>% select(n) %>% min() +# Are there any dates that aren't on the 1st of the month? +statcan_employ %>% filter(format(as.Date(Date), "%d") != "01") %>% nrow() # 0 + +unique(select(statcan_employ, "Type of employee")) # 3 types +unique(select(statcan_employ, "North American Industry Classification System (NAICS)")) # lots + +# REF_DATE looks like YYYY-mm +# Date looks like YYYY-mm-dd +# Check that the truncated Date to REF_DATE format always matches the REF_DATE +statcan_employ %>% + select(REF_DATE, Date) %>% + mutate(Date_trunc = format(as.Date(Date), "%Y-%m")) %>% + filter(REF_DATE != Date_trunc) # all empty! good + +# This is an example plot +# library(ggplot2) +# theme_set(theme_bw()) +# +# employ <- statcan_employ_subset %>% +# dplyr::filter( +# geo_value %in% c("British Columbia", "Ontario") & +# naics_industry == "Real estate and rental and leasing [53]") %>% +# dplyr::arrange(geo_value, time_value) +# +# employ %>% ggplot(aes(x = time_value, y = ppl_count, color=employee_type)) + +# geom_line() + +# facet_wrap(vars(geo_value), scales = "free_y", ncol = 1) + +# scale_x_date(minor_breaks = "month", date_labels = "%b %y") + +# labs(x = "Date", y = "Number employed") diff --git a/data/statcan_employ_subset.rda b/data/statcan_employ_subset.rda new file mode 100644 index 0000000000000000000000000000000000000000..46c0ea6c97bcab8855bc3a0b622c361c002e4eea GIT binary patch literal 254398 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

PpWp4;ndq@yrC0n-A2k&b|WNai^ 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

  • q#!|5lLmT( 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 + %\VignetteIndexEntry{Using epipredict on panel data from other contexts} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r setup, include = F} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + warning = FALSE, + message = FALSE +) +``` + +```{r load-data, include = F} +# TODO: temp - remove me when I figure out how to run this rmd without loading +# perhaps need to commit statcan_employ_subset.rda first? +devtools::load_all() +``` + +```{r libraries} +library(epiprocess) +library(epipredict) +library(dplyr) +library(stringr) +library(parsnip) +``` + +[Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, contains cross-sectional measurements of subjects over time. The `epipredict` package is most suitable for running forecasters on epidemiological data. However, other datasets with similar structures are also valid candidates for `epipredict` functionality. + +```{r employ-stats, include = F} +date_format <- "%B %Y" +date_start <- format(as.Date(min(statcan_employ_subset$time_value)), date_format) +date_end <- format(as.Date(max(statcan_employ_subset$time_value)), date_format) +uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collapse=", ") +``` + +## Example panel data overview + +In this vignette, we will demonstrate using `epipredict` with employment data from Statistics Canada. We will be using [Table 14-10-0220-01: Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). The full dataset contains monthly employment counts from `r date_start` to `r date_end`, and presents employment data stratified by geographic region, [NAICS industries](https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), and employee type. The full dataset also contains metadata that describes the quality of data collected. For demonstration purposes, we make the following modifications to get a subset of the full dataset: + +* Only keep level 1 industries (2-digit codes) in the [NAICS hierarchy](https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) and remove aggregated industry codes. +* Only keep province-level geographic region (the full data also has "Canada" as a region) +* Only keep "good" or better quality data rows, as indicated by the [`STATUS`](https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column + +Below is the query for obtaining the full data and code for subsetting it as we just described: +```{r employ-query, eval=F} +library(cansim) + +statcan_employ <- get_cansim("14-10-0201-01") + +statcan_employ_subset_input <- statcan_employ %>% + select(c( + "REF_DATE", "GEO", "VALUE", "STATUS", "Type of employee", + "Classification Code for North American Industry Classification System (NAICS)", + "North American Industry Classification System (NAICS)")) %>% + rename( + "geo_value" = "GEO", + "time_value" = "REF_DATE", + "ppl_count" = "VALUE", + "status" = "STATUS", + "employee_type" = "Type of employee", + "naics_industry" = "North American Industry Classification System (NAICS)", + "naics_code" = "Classification Code for North American Industry Classification System (NAICS)") %>% + mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% + filter( + # Reference: https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol + # A, B, C, D, NA indicate "good" or better data quality + status %in% c("A", "B", "C", "D", NA) & + # Drop aggregated rows; only keep provinces + geo_value != "Canada" & + # Drop aggregated industry rows + !str_detect(naics_code, "N") & + # Only keep level 1 NAICS codes; corresponds to either [##] or [##-##] + str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & + # [00] corresponds to unclassified; drop these rows + naics_code != "[00]") %>% + select(-c(status, naics_code)) %>% + # re-level the industry column because we dropped factors + mutate(naics_industry = factor(naics_industry)) +``` + +To use this data with `epipredict`, we need to convert it into `epi_df` format using `as_epi_df` with additional keys. In our case, the additional keys are `employee_type` and `naics_industry`. Note that in the above modifications, we encoded `time_value` as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` below, and to ensure lag and ahead modifications later on are using the correct time units. + +```{r convert-to-epidf, eval=F} +statcan_employ_subset <- statcan_employ_subset_input %>% + tsibble::as_tsibble( + index=time_value, + key=c(geo_value, employee_type, naics_industry)) %>% + as_epi_df(time_type = "yearmonth", as_of="2022-07-22") +``` + +```{r data-dim, include=F} +employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") +employ_colcount <- length(names(statcan_employ_subset)) +``` + +The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, we are ready to use `statcan_employ_subset` with `epipredict`. + +```{r preview-data, include=T} +head(statcan_employ_subset) +``` + +In the following sections, we will go over preprocessing the data in the `epi_recipe` framework, fitting 3 types of models from the `parsnip` package, and making future predictions. + +## Preprocessing + +We will create a recipe that adds one `ahead` column and 3 `lag` columns. + +```{r make-recipe, include = T} +r <- epi_recipe(statcan_employ_subset) %>% + step_epi_ahead(ppl_count, ahead = 6) %>% # lag & ahead units in months + step_epi_lag(ppl_count, lag = c(0, 6, 12)) %>% + step_epi_naomit() +r +``` + +There is one `raw` role which includes our value column `ppl_count`, and two `key` roles which include our additional keys `employee_type` and `naics_industry`. Let's take a look at what these additional columns look like. + +```{r view-preprocessed, include = T} +latest <- statcan_employ_subset %>% filter(time_value >= max(time_value) - 12) +# Display a sample of the preprocessed data +r %>% prep() %>% bake(new_data = latest) %>% sample_n(5) +``` + +## Model fitting and prediction + +First we will look at a simple model: `parsnip::linear_reg()` with default engine `lm`. We can use `epi_workflow` with the above `epi_recipe` to fit a linear model using lags at time $t$ (current), $t-6$ months, and $t-12$ months. +```{r linearreg-wf, include = T} +wf_linreg <- epi_workflow(r, linear_reg()) %>% fit(statcan_employ_subset) +wf_linreg + +preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) +# Display a sample of the prediction values +preds %>% sample_n(5) +``` + + + \ No newline at end of file From 6673d6ce6b2f246742ca4fc51e5f3a1ec1bafd9a Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Wed, 3 Aug 2022 11:46:16 -0700 Subject: [PATCH 02/49] update epi_keys_mold and tests to handle additional keys --- R/epi_keys.R | 3 ++- tests/testthat/test-epi_keys.R | 22 +++++++++------------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/R/epi_keys.R b/R/epi_keys.R index b82f625dd..8dc1311d8 100644 --- a/R/epi_keys.R +++ b/R/epi_keys.R @@ -29,7 +29,8 @@ epi_keys.recipe <- function(x) { epi_keys_mold <- function(mold) { keys <- c("time_value", "geo_value", "key") molded_names <- names(mold$extras$roles) + mold_keys <- map(mold$extras$roles[molded_names %in% keys], names) - unname(unlist(mold_keys)) + unlist(unname(mold_keys)) } diff --git a/tests/testthat/test-epi_keys.R b/tests/testthat/test-epi_keys.R index f15ee197f..74351ff3c 100644 --- a/tests/testthat/test-epi_keys.R +++ b/tests/testthat/test-epi_keys.R @@ -32,23 +32,19 @@ test_that("epi_keys_mold extracts time_value and geo_value, but not raw",{ }) test_that("epi_keys_mold extracts additional keys when they are present", { - my_data <- tibble::tibble( - geo_value = rep(c("ca", "fl", "pa"), each = 3), - time_value = rep(seq(as.Date("2020-06-01"), as.Date("2020-06-03"), - by = "day"), length.out = length(geo_value)), - pol = rep(c("blue", "swing", "swing"), each = 3), # extra key - state = rep(c("ca", "fl", "pa"), each = 3), # extra key - value = 1:length(geo_value) + 0.01 * rnorm(length(geo_value)) - ) %>% - epiprocess::as_epi_df(additional_metadata = list(other_keys = c("state", "pol"))) - + my_data <- case_death_rate_subset %>% + sample_n(6) %>% + tsibble::as_tsibble() %>% # add 2 extra keys + mutate(state = rep("MA", 6), pol = rep("blue", 6)) %>% + as_epi_df(additional_metadata = list(other_keys=c("state", "pol"))) + my_recipe <- epi_recipe(my_data) %>% - step_epi_ahead(value , ahead = 7) %>% + step_epi_ahead(death_rate , ahead = 7) %>% step_epi_naomit() my_workflow <- epi_workflow(my_recipe, linear_reg()) %>% fit(my_data) - expect_setequal( - epi_keys_mold(my_workflow$pre$mold), + expect_equal( + epi_keys_mold(my_workflow$pre$mold), c("time_value", "geo_value", "state", "pol")) }) From a4b0dd75ed6d12c33b0ec4b92527a6af85f3713a Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 11 Aug 2022 17:13:23 -0700 Subject: [PATCH 03/49] put back files from rebase --- R/epi_keys.R | 3 +-- tests/testthat/test-epi_keys.R | 22 +++++++++++++--------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/R/epi_keys.R b/R/epi_keys.R index 8dc1311d8..b82f625dd 100644 --- a/R/epi_keys.R +++ b/R/epi_keys.R @@ -29,8 +29,7 @@ epi_keys.recipe <- function(x) { epi_keys_mold <- function(mold) { keys <- c("time_value", "geo_value", "key") molded_names <- names(mold$extras$roles) - mold_keys <- map(mold$extras$roles[molded_names %in% keys], names) - unlist(unname(mold_keys)) + unname(unlist(mold_keys)) } diff --git a/tests/testthat/test-epi_keys.R b/tests/testthat/test-epi_keys.R index 74351ff3c..f15ee197f 100644 --- a/tests/testthat/test-epi_keys.R +++ b/tests/testthat/test-epi_keys.R @@ -32,19 +32,23 @@ test_that("epi_keys_mold extracts time_value and geo_value, but not raw",{ }) test_that("epi_keys_mold extracts additional keys when they are present", { - my_data <- case_death_rate_subset %>% - sample_n(6) %>% - tsibble::as_tsibble() %>% # add 2 extra keys - mutate(state = rep("MA", 6), pol = rep("blue", 6)) %>% - as_epi_df(additional_metadata = list(other_keys=c("state", "pol"))) - + my_data <- tibble::tibble( + geo_value = rep(c("ca", "fl", "pa"), each = 3), + time_value = rep(seq(as.Date("2020-06-01"), as.Date("2020-06-03"), + by = "day"), length.out = length(geo_value)), + pol = rep(c("blue", "swing", "swing"), each = 3), # extra key + state = rep(c("ca", "fl", "pa"), each = 3), # extra key + value = 1:length(geo_value) + 0.01 * rnorm(length(geo_value)) + ) %>% + epiprocess::as_epi_df(additional_metadata = list(other_keys = c("state", "pol"))) + my_recipe <- epi_recipe(my_data) %>% - step_epi_ahead(death_rate , ahead = 7) %>% + step_epi_ahead(value , ahead = 7) %>% step_epi_naomit() my_workflow <- epi_workflow(my_recipe, linear_reg()) %>% fit(my_data) - expect_equal( - epi_keys_mold(my_workflow$pre$mold), + expect_setequal( + epi_keys_mold(my_workflow$pre$mold), c("time_value", "geo_value", "state", "pol")) }) From bd47fa8bb149421aa8f6716a5e325e99ca0e6943 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 11 Aug 2022 17:14:38 -0700 Subject: [PATCH 04/49] fix data format --- R/data.R | 24 ------------------------ data-raw/statcan_employ_subset.R | 2 +- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/R/data.R b/R/data.R index 8092faad2..9c93506a3 100644 --- a/R/data.R +++ b/R/data.R @@ -33,27 +33,3 @@ #' June 7 is the average of the underlying data for June 1 through 7, #' inclusive. "case_death_rate_subset" - -#' Subset of Statistics Canada employment numbers by industry and province -#' -#' @format A tibble with 109,388 rows and 6 variables: -#' \describe{ -#' \item{geo_value}{The province in Canada associated with each -#' row of measurements.} -#' \item{time_value}{The time value, in YYYY-MM-01 format, -#' associated with each row of measurements.} -#' \item{ppl_count}{The number of people employed, seasonally -#' adjusted.} -#' \item{employee_type}{The type of employee} -#' \item{naics_industry}{The industry name and associated code -#' according to \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS}} -#' } -#' @source This object contains modified data from the following Statistics Canada -#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data}{Table 14-10-0220-01 Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada} -#' -#' Modifications: -#' * From the given Statistics Canada table, the employee counts -#' are taken as-is. Only \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS} codes at hierarchy level 2 are -#' filtered in. Only data rows that are \href{https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol}{good quality or higher and not missing} -#' according to Statistics Canada are removed. -"statcan_employ_subset" \ No newline at end of file diff --git a/data-raw/statcan_employ_subset.R b/data-raw/statcan_employ_subset.R index f61120065..055d2fe36 100644 --- a/data-raw/statcan_employ_subset.R +++ b/data-raw/statcan_employ_subset.R @@ -80,7 +80,7 @@ employ <- statcan_employ %>% statcan_employ_subset <- employ %>% tsibble::as_tsibble(index=time_value, key=c(geo_value, employee_type, naics_industry)) %>% as_epi_df( - additional_metadata=c(other_keys=c("employee_type", "naics_industry"))) + additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) usethis::use_data(statcan_employ_subset, overwrite = TRUE) From 0b797b0a5787a84916b996bc6dc294c532972c54 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 11 Aug 2022 20:02:41 -0700 Subject: [PATCH 05/49] wip vignette --- vignettes/panel-data.Rmd | 138 ++++++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 30 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index d6a9c255a..ca836de16 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -1,13 +1,13 @@ --- -title: "Using epipredict on panel data from other contexts" +title: "Using epipredict on non-epidemic panel data" output: rmarkdown::html_vignette vignette: > - %\VignetteIndexEntry{Using epipredict on panel data from other contexts} + %\VignetteIndexEntry{Using epipredict on non-epidemic panel data} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- -```{r setup, include = F} +```{r setup, include=F} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", @@ -16,23 +16,22 @@ knitr::opts_chunk$set( ) ``` -```{r load-data, include = F} -# TODO: temp - remove me when I figure out how to run this rmd without loading -# perhaps need to commit statcan_employ_subset.rda first? -devtools::load_all() -``` - ```{r libraries} library(epiprocess) library(epipredict) library(dplyr) library(stringr) library(parsnip) +library(recipes) ``` -[Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, contains cross-sectional measurements of subjects over time. The `epipredict` package is most suitable for running forecasters on epidemiological data. However, other datasets with similar structures are also valid candidates for `epipredict` functionality. +[Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, +contains cross-sectional measurements of subjects over time. The `epipredict` +package is most suitable for running forecasters on epidemiological data. +However, other datasets with similar structures are also valid candidates for +`epipredict` functionality. -```{r employ-stats, include = F} +```{r employ-stats, include=F} date_format <- "%B %Y" date_start <- format(as.Date(min(statcan_employ_subset$time_value)), date_format) date_end <- format(as.Date(max(statcan_employ_subset$time_value)), date_format) @@ -41,9 +40,19 @@ uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collaps ## Example panel data overview -In this vignette, we will demonstrate using `epipredict` with employment data from Statistics Canada. We will be using [Table 14-10-0220-01: Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). The full dataset contains monthly employment counts from `r date_start` to `r date_end`, and presents employment data stratified by geographic region, [NAICS industries](https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), and employee type. The full dataset also contains metadata that describes the quality of data collected. For demonstration purposes, we make the following modifications to get a subset of the full dataset: - -* Only keep level 1 industries (2-digit codes) in the [NAICS hierarchy](https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) and remove aggregated industry codes. +In this vignette, we will demonstrate using `epipredict` with employment data from +Statistics Canada. We will be using +[Table 14-10-0220-01: Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). +The full dataset contains monthly employment counts from `r date_start` to `r date_end`, +and presents employment data stratified by geographic region, +[NAICS industries](https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), +and employee type. The full dataset also contains metadata that describes the quality +of data collected. For demonstration purposes, we make the following modifications to +get a subset of the full dataset: + +* Only keep level 1 industries (2-digit codes) in the +[NAICS hierarchy](https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) +and remove aggregated industry codes. * Only keep province-level geographic region (the full data also has "Canada" as a region) * Only keep "good" or better quality data rows, as indicated by the [`STATUS`](https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column @@ -84,14 +93,19 @@ statcan_employ_subset_input <- statcan_employ %>% mutate(naics_industry = factor(naics_industry)) ``` -To use this data with `epipredict`, we need to convert it into `epi_df` format using `as_epi_df` with additional keys. In our case, the additional keys are `employee_type` and `naics_industry`. Note that in the above modifications, we encoded `time_value` as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` below, and to ensure lag and ahead modifications later on are using the correct time units. +To use this data with `epipredict`, we need to convert it into `epi_df` format using +`as_epi_df` with additional keys. In our case, the additional keys are `employee_type` +and `naics_industry`. Note that in the above modifications, we encoded `time_value` +as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` below, +and to ensure lag and ahead modifications later on are using the correct time units. ```{r convert-to-epidf, eval=F} statcan_employ_subset <- statcan_employ_subset_input %>% tsibble::as_tsibble( index=time_value, key=c(geo_value, employee_type, naics_industry)) %>% - as_epi_df(time_type = "yearmonth", as_of="2022-07-22") + as_epi_df( + additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) ``` ```{r data-dim, include=F} @@ -99,45 +113,109 @@ employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") employ_colcount <- length(names(statcan_employ_subset)) ``` -The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, we are ready to use `statcan_employ_subset` with `epipredict`. +The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, we are +ready to use `statcan_employ_subset` with `epipredict`. ```{r preview-data, include=T} -head(statcan_employ_subset) +# Rename for simplicity +employ <- statcan_employ_subset +head(employ) ``` -In the following sections, we will go over preprocessing the data in the `epi_recipe` framework, fitting 3 types of models from the `parsnip` package, and making future predictions. +In the following sections, we will go over preprocessing the data in the `epi_recipe` +framework, fitting 3 types of models from the `parsnip` package, and making future +predictions. ## Preprocessing We will create a recipe that adds one `ahead` column and 3 `lag` columns. -```{r make-recipe, include = T} -r <- epi_recipe(statcan_employ_subset) %>% +```{r make-recipe, include=T} +r <- epi_recipe(employ) %>% step_epi_ahead(ppl_count, ahead = 6) %>% # lag & ahead units in months step_epi_lag(ppl_count, lag = c(0, 6, 12)) %>% step_epi_naomit() r ``` -There is one `raw` role which includes our value column `ppl_count`, and two `key` roles which include our additional keys `employee_type` and `naics_industry`. Let's take a look at what these additional columns look like. +There is one `raw` role which includes our value column `ppl_count`, and two `key` +roles which include our additional keys `employee_type` and `naics_industry`. Let's +take a look at what these additional columns look like. -```{r view-preprocessed, include = T} -latest <- statcan_employ_subset %>% filter(time_value >= max(time_value) - 12) +```{r view-preprocessed, include=T} # Display a sample of the preprocessed data -r %>% prep() %>% bake(new_data = latest) %>% sample_n(5) +baked_sample <- r %>% prep() %>% bake(new_data = employ) %>% sample_n(5) +baked_sample ``` ## Model fitting and prediction -First we will look at a simple model: `parsnip::linear_reg()` with default engine `lm`. We can use `epi_workflow` with the above `epi_recipe` to fit a linear model using lags at time $t$ (current), $t-6$ months, and $t-12$ months. -```{r linearreg-wf, include = T} -wf_linreg <- epi_workflow(r, linear_reg()) %>% fit(statcan_employ_subset) +### With direct forecasters + +Even though we aren't working with epidemiological data, the `arx_epi_forecaster` +still works out of the box. And specifying `args_list` still works in the same way. + +```{r arx-epi, include=T, warning=F} +demo_args_list = arx_args_list(lags = c(0L, 6L, 12L), ahead = 6L) + +out_lr <- arx_epi_forecaster( + employ, + outcome = "ppl_count", + predictors = c("ppl_count"), + args_list = demo_args_list) + +out_lr$predictions +``` + +Other changes to the forecaster, like changing the engine, also work as expected. + +```{r arx-epi-rf, include=T, warning=F} +out_rf <- arx_epi_forecaster( + employ, + outcome = "ppl_count", + predictors = c("ppl_count"), + trainer = parsnip::rand_forest(mode="regression", trees=100), + args_list = demo_args_list) + +out_rf$predictions +``` + +### Within recipes framework + +First we will look at a simple model: `parsnip::linear_reg()` with default engine +`lm`. We can use `epi_workflow` with the above `epi_recipe` to fit an autoregressive +linear model using lags at time $t$ (current), $t-6$ months, and $t-12$ months. + +```{r linearreg-wf, include=T} +wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) wf_linreg +``` +Now that we have our workflow, we can generate predictions from a subset of our data. +For this demo, we will predict the employment counts from the last 12 months of our dataset. + +```{r linearreg-predict, include=T} +latest <- employ %>% filter(time_value >= max(time_value) - 15) preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) # Display a sample of the prediction values preds %>% sample_n(5) ``` - - \ No newline at end of file +Notice that `predict` returns an `epi_df` with all of the keys that were present in the original dataset. + +```{r plot-pred, include=F} +# library(ggplot2) +# joined <- full_join(statcan_employ_subset, preds, by=c("geo_value", "time_value", "employee_type", "naics_industry")) + +# joined %>% filter(!is.na(.pred)) %>% select(time_value) %>% unique() +# joined %>% dplyr::filter( +# geo_value %in% c("British Columbia", "Ontario") & +# naics_industry == "Real estate and rental and leasing [53]" & +# employee_type == "All employees") %>% +# ggplot() + +# geom_line(aes(x = time_value, y = ppl_count)) + +# geom_line(aes(x = time_value, y = preds)) + +# facet_wrap(vars(geo_value), scales = "free_y", ncol = 1) + +# scale_x_date(minor_breaks = "month", date_labels = "%b %y") + +# labs(x = "Date", y = "Number employed") +``` From 1683240eb23382f83cf1a30e182ce8ec3b6558e9 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Mon, 15 Aug 2022 21:12:12 -0700 Subject: [PATCH 06/49] updates to vignette --- vignettes/panel-data.Rmd | 178 ++++++++++++++++++++++++--------------- 1 file changed, 109 insertions(+), 69 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index ca836de16..104f0dcce 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -27,9 +27,22 @@ library(recipes) [Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, contains cross-sectional measurements of subjects over time. The `epipredict` -package is most suitable for running forecasters on epidemiological data. -However, other datasets with similar structures are also valid candidates for -`epipredict` functionality. +package is most suitable for running forecasters on epidemiological panel data. +A built-in example of this is the [`case_death_rate_subset`]( + https://cmu-delphi.github.io/epipredict/reference/case_death_rate_subset.html) +dataset, which contains daily state-wise measures of `case_rate` and +`death_rate` for COVID-19 in 2021: + +```{r epi-panel-ex, include=T} +head(case_death_rate_subset) +``` + +`epipredict` functions work with data in [`epi_df`]( + https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) +format. Despite the stated goal and name of the package, other panel datasets +are also valid candidates for `epipredict` functionality. Specifically, the +`epipredict` framework and direct forecasters are able to work with any panel +data, as long as it's in `epi_df` format, ```{r employ-stats, include=F} date_format <- "%B %Y" @@ -40,33 +53,47 @@ uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collaps ## Example panel data overview -In this vignette, we will demonstrate using `epipredict` with employment data from -Statistics Canada. We will be using -[Table 14-10-0220-01: Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). -The full dataset contains monthly employment counts from `r date_start` to `r date_end`, -and presents employment data stratified by geographic region, -[NAICS industries](https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), -and employee type. The full dataset also contains metadata that describes the quality -of data collected. For demonstration purposes, we make the following modifications to -get a subset of the full dataset: +In this vignette, we will demonstrate using `epipredict` with employment data +from Statistics Canada. We will be using +[ + Table 14-10-0220-01: Employment and average weekly earnings + (including \overtime) for all employees by industry, monthly, + seasonally adjusted, Canada +](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). +The full dataset contains monthly employment counts from `r date_start` to +`r date_end`, and presents employment data stratified by geographic region +on the Canadian province level, +[NAICS industries]( + https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), +and employee type. The full dataset also contains metadata that describes the +quality of data collected. For demonstration purposes, we make the following +modifications to get a subset of the full dataset: * Only keep level 1 industries (2-digit codes) in the -[NAICS hierarchy](https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) +[NAICS hierarchy]( + https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) and remove aggregated industry codes. -* Only keep province-level geographic region (the full data also has "Canada" as a region) -* Only keep "good" or better quality data rows, as indicated by the [`STATUS`](https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column +* Only keep provincial-level geographic region (the full data also has +"Canada" as a region) +* Only keep "good" or better quality data rows, as indicated by the [`STATUS`] +(https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column + +Below is the query for obtaining the full data and code for subsetting it as we +just described: -Below is the query for obtaining the full data and code for subsetting it as we just described: ```{r employ-query, eval=F} library(cansim) statcan_employ <- get_cansim("14-10-0201-01") +# for readability; this string is very long +naics_code <- + "Classification Code for North American Industry Classification System (NAICS)" + statcan_employ_subset_input <- statcan_employ %>% select(c( "REF_DATE", "GEO", "VALUE", "STATUS", "Type of employee", - "Classification Code for North American Industry Classification System (NAICS)", - "North American Industry Classification System (NAICS)")) %>% + naics_code, "North American Industry Classification System (NAICS)")) %>% rename( "geo_value" = "GEO", "time_value" = "REF_DATE", @@ -74,7 +101,7 @@ statcan_employ_subset_input <- statcan_employ %>% "status" = "STATUS", "employee_type" = "Type of employee", "naics_industry" = "North American Industry Classification System (NAICS)", - "naics_code" = "Classification Code for North American Industry Classification System (NAICS)") %>% + "naics_code" = naics_code) %>% mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% filter( # Reference: https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol @@ -93,11 +120,14 @@ statcan_employ_subset_input <- statcan_employ %>% mutate(naics_industry = factor(naics_industry)) ``` -To use this data with `epipredict`, we need to convert it into `epi_df` format using -`as_epi_df` with additional keys. In our case, the additional keys are `employee_type` -and `naics_industry`. Note that in the above modifications, we encoded `time_value` -as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` below, -and to ensure lag and ahead modifications later on are using the correct time units. +To use this data with `epipredict`, we need to convert it into `epi_df` format +using [`as_epi_df`]( + https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) +with additional keys. In our case, the additional keys are `employee_type` and +`naics_industry`. Note that in the above modifications, we encoded `time_value` +as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` +below, and to ensure lag and ahead modifications later on are using the correct +time units. ```{r convert-to-epidf, eval=F} statcan_employ_subset <- statcan_employ_subset_input %>% @@ -113,8 +143,8 @@ employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") employ_colcount <- length(names(statcan_employ_subset)) ``` -The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, we are -ready to use `statcan_employ_subset` with `epipredict`. +The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, +we are ready to use `statcan_employ_subset` with `epipredict`. ```{r preview-data, include=T} # Rename for simplicity @@ -122,9 +152,9 @@ employ <- statcan_employ_subset head(employ) ``` -In the following sections, we will go over preprocessing the data in the `epi_recipe` -framework, fitting 3 types of models from the `parsnip` package, and making future -predictions. +In the following sections, we will go over preprocessing the data in the +`epi_recipe` framework, fitting 3 types of models from the `parsnip` package, +and making future predictions. ## Preprocessing @@ -138,9 +168,9 @@ r <- epi_recipe(employ) %>% r ``` -There is one `raw` role which includes our value column `ppl_count`, and two `key` -roles which include our additional keys `employee_type` and `naics_industry`. Let's -take a look at what these additional columns look like. +There is one `raw` role which includes our value column `ppl_count`, and two +`key` roles which include our additional keys `employee_type` and +`naics_industry`. Let's take a look at what these additional columns look like. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data @@ -150,60 +180,34 @@ baked_sample ## Model fitting and prediction -### With direct forecasters - -Even though we aren't working with epidemiological data, the `arx_epi_forecaster` -still works out of the box. And specifying `args_list` still works in the same way. - -```{r arx-epi, include=T, warning=F} -demo_args_list = arx_args_list(lags = c(0L, 6L, 12L), ahead = 6L) - -out_lr <- arx_epi_forecaster( - employ, - outcome = "ppl_count", - predictors = c("ppl_count"), - args_list = demo_args_list) - -out_lr$predictions -``` - -Other changes to the forecaster, like changing the engine, also work as expected. - -```{r arx-epi-rf, include=T, warning=F} -out_rf <- arx_epi_forecaster( - employ, - outcome = "ppl_count", - predictors = c("ppl_count"), - trainer = parsnip::rand_forest(mode="regression", trees=100), - args_list = demo_args_list) - -out_rf$predictions -``` - ### Within recipes framework -First we will look at a simple model: `parsnip::linear_reg()` with default engine -`lm`. We can use `epi_workflow` with the above `epi_recipe` to fit an autoregressive -linear model using lags at time $t$ (current), $t-6$ months, and $t-12$ months. +We will look at a simple model: `parsnip::linear_reg()` with default engine +`lm`. We can use `epi_workflow` with the `epi_recipe` we defined in the +preprocessing section to fit an autoregressive linear model using lags at +time $t$ (current), $t-6$ months, and $t-12$ months. ```{r linearreg-wf, include=T} wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) wf_linreg ``` -Now that we have our workflow, we can generate predictions from a subset of our data. -For this demo, we will predict the employment counts from the last 12 months of our dataset. +Now that we have our workflow, we can generate predictions from a subset of our +data. For this demo, we will predict the employment counts from the last 12 +months of our dataset. ```{r linearreg-predict, include=T} -latest <- employ %>% filter(time_value >= max(time_value) - 15) +latest <- employ %>% filter(time_value >= max(time_value) - 12) preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) # Display a sample of the prediction values preds %>% sample_n(5) ``` -Notice that `predict` returns an `epi_df` with all of the keys that were present in the original dataset. +Notice that `predict` still returns an `epi_df` with all of the keys that were +present in the original dataset. ```{r plot-pred, include=F} +# this doesn't work. don't include # library(ggplot2) # joined <- full_join(statcan_employ_subset, preds, by=c("geo_value", "time_value", "employee_type", "naics_industry")) @@ -219,3 +223,39 @@ Notice that `predict` returns an `epi_df` with all of the keys that were present # scale_x_date(minor_breaks = "month", date_labels = "%b %y") + # labs(x = "Date", y = "Number employed") ``` + +### With canned forecasters + +Even though we aren't working with epidemiological data, canned forecasters +still work as expected, out of the box. We will demonstrate this with the simple +[`flatline_forecaster`]( + https://cmu-delphi.github.io/epipredict/reference/flatline_forecaster.html) +and the direct autoregressive (AR) forecaster +[`arx_forecaster`]( + https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). + +```{r flatline, include=T} +out_fl <- flatline_forecaster( + employ, "ppl_count", args_list = flatline_args_list(ahead=6L)) + +augment(out_fl$epi_workflow, employ) +``` + +```{r arx, include=T} +args = arx_args_list( + lags = c(0L, 6L, 12L), ahead = 6L, forecast_date = as.Date("2022-08-01")) + +out_arx <- arx_forecaster(employ, "ppl_count", c("ppl_count"), args_list = args) +out_arx$predictions +``` + +Other changes to the direct AR forecaster, like changing the engine, also work +as expected. + +```{r arx-epi-rf, include=F, warning=F} +out_rf <- arx_forecaster(employ, "ppl_count", c("ppl_count"), + trainer = parsnip::rand_forest(mode="regression", trees=100), + args_list = args) + +out_rf$predictions +``` From 3864d7df106409f9154d1ea6b8f0d6baaaff63b4 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 16 Aug 2022 22:17:42 -0700 Subject: [PATCH 07/49] use a better dataset --- R/data.R | 49 ++++++ data-raw/statcan_grademploy_subset.R | 203 ++++++++++++++++++++++ data/grad_employ_subset.rda | Bin 0 -> 39430 bytes man/epi_workflow.Rd | 2 +- man/flatline.Rd | 4 +- man/grad_employ_subset.Rd | 40 +++++ vignettes/panel-data-old.Rmd | 243 +++++++++++++++++++++++++++ vignettes/panel-data.Rmd | 181 ++++++++++---------- 8 files changed, 626 insertions(+), 96 deletions(-) create mode 100644 data-raw/statcan_grademploy_subset.R create mode 100644 data/grad_employ_subset.rda create mode 100644 man/grad_employ_subset.Rd create mode 100644 vignettes/panel-data-old.Rmd diff --git a/R/data.R b/R/data.R index 9c93506a3..805d2ddf5 100644 --- a/R/data.R +++ b/R/data.R @@ -33,3 +33,52 @@ #' June 7 is the average of the underlying data for June 1 through 7, #' inclusive. "case_death_rate_subset" + +#' Subset of Statistics Canada employment numbers by industry and province +#' +#' @format A tibble with 109,388 rows and 6 variables: +#' \describe{ +#' \item{geo_value}{The province in Canada associated with each +#' row of measurements.} +#' \item{time_value}{The time value, in YYYY-MM-01 format, +#' associated with each row of measurements.} +#' \item{ppl_count}{The number of people employed, seasonally +#' adjusted.} +#' \item{employee_type}{The type of employee} +#' \item{naics_industry}{The industry name and associated code +#' according to \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS}} +#' } +#' @source This object contains modified data from the following Statistics Canada +#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data}{Table 14-10-0220-01 Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada} +#' +#' Modifications: +#' * From the given Statistics Canada table, the employee counts +#' are taken as-is. Only \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS} codes at hierarchy level 2 are +#' filtered in. Only data rows that are \href{https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol}{good quality or higher and not missing} +#' according to Statistics Canada are removed. +"statcan_employ_subset" + +#' Subset of Statistics Canada median employment income for postsecondary graduates +#' +#' @format A tibble with 10193 rows and 8 variables: +#' \describe{ +#' \item{geo_value}{The province in Canada associated with each +#' row of measurements.} +#' \item{time_value}{The time value, a year integer in YYYY format} +#' \item{edu_qual}{The education qualification} +#' \item{fos}{The field of study} +#' \item{age_group}{The age group; either 15 to 34 or 35 to 64} +#' \item{num_graduates}{The number of graduates for the given row of characteristics} +#' \item{med_income_2y}{The median employment income two years after graduation} +#' \item{med_income_5y}{The median employment income five years after graduation} +#' } +#' @source This object contains modified data from the following Statistics Canada +#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501} +#' +#' Modifications: +#' * Only provincial-level geo_values are kept +#' * Only age group, field of study, and educational qualification are kept as +#' covariates. For the remaining covariates, we keep aggregated values and +#' drop the level-specific rows. +#' * No modifications were made to the time range of the data +"grad_employ_subset" \ No newline at end of file diff --git a/data-raw/statcan_grademploy_subset.R b/data-raw/statcan_grademploy_subset.R new file mode 100644 index 000000000..70cb6d678 --- /dev/null +++ b/data-raw/statcan_grademploy_subset.R @@ -0,0 +1,203 @@ +library(epipredict) +library(epiprocess) +library(cansim) +library(dplyr) +library(stringr) +library(tidyr) + +# https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501 +statcan_grad_employ <- get_cansim("37-10-0115-01") + +gemploy <- statcan_grad_employ %>% + select(c( + "REF_DATE", + "GEO", + # "DGUID", + # "UOM", + # "UOM_ID", + # "SCALAR_FACTOR", + # "SCALAR_ID", + # "VECTOR", + # "COORDINATE", + "VALUE", + "STATUS", + # "SYMBOL", + # "TERMINATED", + # "DECIMALS", + # "GeoUID", + # "Hierarchy for GEO", + # "Classification Code for Educational qualification", + # "Hierarchy for Educational qualification", + # "Classification Code for Field of study", + # "Hierarchy for Field of study", + # "Classification Code for Gender", + # "Hierarchy for Gender", + # "Classification Code for Age group", + # "Hierarchy for Age group", + # "Classification Code for Status of student in Canada", + # "Hierarchy for Status of student in Canada", + # "Classification Code for Characteristics after graduation", + # "Hierarchy for Characteristics after graduation", + # "Classification Code for Graduate statistics", + # "Hierarchy for Graduate statistics", + # "val_norm", + # "Date", + "Educational qualification", + "Field of study", + "Gender", + "Age group", + "Status of student in Canada", + "Characteristics after graduation", + "Graduate statistics")) %>% + rename( + "geo_value" = "GEO", + "time_value" = "REF_DATE", + "value" = "VALUE", + "status" = "STATUS", + "edu_qual" = "Educational qualification", + "fos" = "Field of study", + "gender" = "Gender", + "age_group" = "Age group", + "student_status" = "Status of student in Canada", + "grad_charac" = "Characteristics after graduation", + "grad_stat" = "Graduate statistics") %>% + mutate( + grad_stat = recode_factor( + grad_stat, + `Number of graduates` = "num_graduates", + `Median employment income two years after graduation` = "med_income_2y", + `Median employment income five years after graduation` = "med_income_5y"), + time_value = as.integer(time_value) + ) %>% + pivot_wider(names_from = grad_stat, values_from = value) %>% + filter( + # Drop aggregates for some columns + geo_value != "Canada" & + age_group != "15 to 64 years" & + fos != "Total, field of study" & + edu_qual != "Total, educational qualification" & + # Keep aggregates for keys we don't want to keep + gender == "Total, gender" & + student_status == "Canadian and international students" & + # Since we're looking at 2y and 5y employment income, the only + # characteristics remaining are: + # - Graduates reporting employment income + # - Graduates reporting wages, salaries, and commissions only + # For simplicity, keep the first one only + grad_charac == "Graduates reporting employment income" & + # Only keep "good" data + is.na(status) & + # Drop NA value rows + !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% + select(-c(status, gender, student_status, grad_charac)) + +# gemploy$time_value %>% unique() +# class(gemploy$fos) +# class(gemploy$edu_qual) +# class(gemploy$age_group) +# head(gemploy) +nrow(gemploy) +ncol(gemploy) + +gemploy$grad_charac %>% unique() +gemploy %>% group_by(grad_charac) %>% slice(1) + +grad_employ_subset <- gemploy %>% + tsibble::as_tsibble( + index=time_value, + key=c(geo_value, age_group, fos, edu_qual)) %>% + as_epi_df( + geo_type = "custom", time_type = "year", as_of = "2022-07-19", + additional_metadata=c(other_keys=list("age_group", "fos", "edu_qual"))) +usethis::use_data(grad_employ_subset, overwrite = TRUE) + +# ================== EDA ================== + +statcan_grad_employ %>% + group_by(`Characteristics after graduation`) %>% + # filter(`Graduate statistics` == "Median employment income two years after graduation") %>% + filter(`Graduate statistics` == "Number of graduates") %>% + slice(1) %>% + select(`Characteristics after graduation`) + +names(statcan_grad_employ) +unique(statcan_grad_employ$REF_DATE) +# [1] "2010" "2011" "2012" "2013" "2014" "2015" + +unique(statcan_grad_employ$GEO) +# [1] "Canada" "Newfoundland and Labrador" +# [3] "Prince Edward Island" "Nova Scotia" +# [5] "New Brunswick" "Quebec" +# [7] "Ontario" "Manitoba" +# [9] "Saskatchewan" "Alberta" +# [11] "British Columbia" "Territories" +unique(statcan_grad_employ$DGUID) + +unique(statcan_grad_employ$UOM) +# [1] "Number" "2020 constant dollars" +statcan_grad_employ %>% + group_by(UOM, `Graduate statistics`) %>% + select(UOM, `Graduate statistics`, VALUE) %>% + slice(1) +unique(statcan_grad_employ$UOM_ID) + +unique(statcan_grad_employ$SCALAR_FACTOR) # "units" +unique(statcan_grad_employ$SCALAR_ID) # "0" + +length(unique(statcan_grad_employ$VECTOR)) +length(unique(statcan_grad_employ$COORDINATE)) + +length(unique(statcan_grad_employ$VALUE)) +unique(statcan_grad_employ$STATUS) +# [1] NA ".." "x" + +unique(statcan_grad_employ$SYMBOL) +# [1] NA + +unique(statcan_grad_employ$TERMINATED) +# [1] NA + +unique(statcan_grad_employ$DECIMALS) +# [1] "0" + +unique(statcan_grad_employ$GeoUID) +# redundant with geo + +unique(statcan_grad_employ$`Hierarchy for GEO`) +# redundant with geo + +unique(statcan_grad_employ$`Classification Code for Educational qualification`) # NA +unique(statcan_grad_employ$`Hierarchy for Educational qualification`) + +unique(statcan_grad_employ$`Classification Code for Field of study`) +unique(statcan_grad_employ$`Hierarchy for Field of study`) + +unique(statcan_grad_employ$`Classification Code for Gender`) # NA +unique(statcan_grad_employ$`Hierarchy for Gender`) + +unique(statcan_grad_employ$`Classification Code for Age group`) # NA +unique(statcan_grad_employ$`Hierarchy for Age group`) + +unique(statcan_grad_employ$`Classification Code for Status of student in Canada`) # NA +unique(statcan_grad_employ$`Hierarchy for Status of student in Canada`) + +unique(statcan_grad_employ$`Classification Code for Characteristics after graduation`) # NA +unique(statcan_grad_employ$`Hierarchy for Characteristics after graduation`) + +unique(statcan_grad_employ$`Classification Code for Graduate statistics`) # NA +unique(statcan_grad_employ$`Hierarchy for Graduate statistics`) + +length(unique(statcan_grad_employ$`val_norm`)) +statcan_grad_employ %>% filter(val_norm != VALUE) %>% nrow() #0 + +unique(statcan_grad_employ$`Date`) +# [1] "2010-07-01" "2011-07-01" "2012-07-01" "2013-07-01" "2014-07-01" +# [6] "2015-07-01" + +unique(statcan_grad_employ$`Educational qualification`) # 32 levels +unique(statcan_grad_employ$`Field of study`) # 60 levels +unique(statcan_grad_employ$`Gender`) +unique(statcan_grad_employ$`Age group`) +unique(statcan_grad_employ$`Status of student in Canada`) +unique(statcan_grad_employ$`Characteristics after graduation`) +unique(statcan_grad_employ$`Graduate statistics`) diff --git a/data/grad_employ_subset.rda b/data/grad_employ_subset.rda new file mode 100644 index 0000000000000000000000000000000000000000..f2e52ce21eab825b6c2e379a5ed15f84b52d45ef GIT binary patch literal 39430 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 literal 0 HcmV?d00001 diff --git a/man/epi_workflow.Rd b/man/epi_workflow.Rd index f9d753d84..bcf0e78aa 100644 --- a/man/epi_workflow.Rd +++ b/man/epi_workflow.Rd @@ -11,7 +11,7 @@ epi_workflow(preprocessor = NULL, spec = NULL, postprocessor = NULL) \itemize{ \item A formula, passed on to \code{\link[workflows:add_formula]{add_formula()}}. \item A recipe, passed on to \code{\link[workflows:add_recipe]{add_recipe()}}. -\item A \code{\link[workflows:workflow_variables]{workflow_variables()}} object, passed on to \code{\link[workflows:add_variables]{add_variables()}}. +\item A \code{\link[workflows:add_variables]{workflow_variables()}} object, passed on to \code{\link[workflows:add_variables]{add_variables()}}. }} \item{spec}{An optional parsnip model specification to add to the workflow. diff --git a/man/flatline.Rd b/man/flatline.Rd index a396cfeb9..a30272456 100644 --- a/man/flatline.Rd +++ b/man/flatline.Rd @@ -11,9 +11,7 @@ flatline(formula, data) would actually be the observed time series shifted forward by the forecast horizon. The right hand side must contain any keys (locations) for the panel data separated by plus. The observed time series must come last. -For example - -\if{html}{\out{

    }}\preformatted{form <- as.formula(lead7_y ~ state + age + y) +For example\if{html}{\out{
    }}\preformatted{form <- as.formula(lead7_y ~ state + age + y) }\if{html}{\out{
    }} Note that this function doesn't DO the shifting, that has to be done diff --git a/man/grad_employ_subset.Rd b/man/grad_employ_subset.Rd new file mode 100644 index 000000000..abac4dae9 --- /dev/null +++ b/man/grad_employ_subset.Rd @@ -0,0 +1,40 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{grad_employ_subset} +\alias{grad_employ_subset} +\title{Subset of Statistics Canada median employment income for postsecondary graduates} +\format{ +A tibble with 10193 rows and 8 variables: +\describe{ +\item{geo_value}{The province in Canada associated with each +row of measurements.} +\item{time_value}{The time value, a year integer in YYYY format} +\item{edu_qual}{The education qualification} +\item{fos}{The field of study} +\item{age_group}{The age group; either 15 to 34 or 35 to 64} +\item{num_graduates}{The number of graduates for the given row of characteristics} +\item{med_income_2y}{The median employment income two years after graduation} +\item{med_income_5y}{The median employment income five years after graduation} +} +} +\source{ +This object contains modified data from the following Statistics Canada +data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501} + +Modifications: +\itemize{ +\item Only provincial-level geo_values are kept +\item Only age group, field of study, and educational qualification are kept as +covariates. For the remaining covariates, we keep aggregated values and +drop the level-specific rows. +\item No modifications were made to the time range of the data +} +} +\usage{ +grad_employ_subset +} +\description{ +Subset of Statistics Canada median employment income for postsecondary graduates +} +\keyword{datasets} diff --git a/vignettes/panel-data-old.Rmd b/vignettes/panel-data-old.Rmd new file mode 100644 index 000000000..24c48ed6a --- /dev/null +++ b/vignettes/panel-data-old.Rmd @@ -0,0 +1,243 @@ +--- +title: "Using epipredict on non-epidemic panel data (old)" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Using epipredict on non-epidemic panel data (old)} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r setup, include=F} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + warning = FALSE, + message = FALSE +) +``` + +```{r libraries} +library(epiprocess) +library(epipredict) +library(dplyr) +library(stringr) +library(parsnip) +library(recipes) +``` + +[Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, +contains cross-sectional measurements of subjects over time. The `epipredict` +package is most suitable for running forecasters on epidemiological panel data. +A built-in example of this is the [`case_death_rate_subset`]( + https://cmu-delphi.github.io/epipredict/reference/case_death_rate_subset.html) +dataset, which contains daily state-wise measures of `case_rate` and +`death_rate` for COVID-19 in 2021: + +```{r epi-panel-ex, include=T} +head(case_death_rate_subset) +``` + +`epipredict` functions work with data in [`epi_df`]( + https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) +format. Despite the stated goal and name of the package, other panel datasets +are also valid candidates for `epipredict` functionality. Specifically, the +`epipredict` framework and direct forecasters are able to work with any panel +data, as long as it's in `epi_df` format, + +```{r employ-stats, include=F} +date_format <- "%B %Y" +date_start <- format(as.Date(min(statcan_employ_subset$time_value)), date_format) +date_end <- format(as.Date(max(statcan_employ_subset$time_value)), date_format) +uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collapse=", ") +``` + +## Example panel data overview + +In this vignette, we will demonstrate using `epipredict` with employment data +from Statistics Canada. We will be using +[ + Table 14-10-0220-01: Employment and average weekly earnings + (including \overtime) for all employees by industry, monthly, + seasonally adjusted, Canada +](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). +The full dataset contains monthly employment counts from `r date_start` to +`r date_end`, and presents employment data stratified by geographic region +on the Canadian province level, +[NAICS industries]( + https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), +and employee type. The full dataset also contains metadata that describes the +quality of data collected. For demonstration purposes, we make the following +modifications to get a subset of the full dataset: + +* Only keep level 1 industries (2-digit codes) in the +[NAICS hierarchy]( + https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) +and remove aggregated industry codes. +* Only keep provincial-level geographic region (the full data also has +"Canada" as a region) +* Only keep "good" or better quality data rows, as indicated by the [`STATUS`] +(https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column + +Below is the query for obtaining the full data and code for subsetting it as we +just described: + +```{r employ-query, eval=F} +library(cansim) + +statcan_employ <- get_cansim("14-10-0201-01") + +# for readability; this string is very long +naics_code <- + "Classification Code for North American Industry Classification System (NAICS)" + +statcan_employ_subset_input <- statcan_employ %>% + select(c( + "REF_DATE", "GEO", "VALUE", "STATUS", "Type of employee", + naics_code, "North American Industry Classification System (NAICS)")) %>% + rename( + "geo_value" = "GEO", + "time_value" = "REF_DATE", + "ppl_count" = "VALUE", + "status" = "STATUS", + "employee_type" = "Type of employee", + "naics_industry" = "North American Industry Classification System (NAICS)", + "naics_code" = naics_code) %>% + mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% + filter( + # Reference: https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol + # A, B, C, D, NA indicate "good" or better data quality + status %in% c("A", "B", "C", "D", NA) & + # Drop aggregated rows; only keep provinces + geo_value != "Canada" & + # Drop aggregated industry rows + !str_detect(naics_code, "N") & + # Only keep level 1 NAICS codes; corresponds to either [##] or [##-##] + str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & + # [00] corresponds to unclassified; drop these rows + naics_code != "[00]") %>% + select(-c(status, naics_code)) %>% + # re-level the industry column because we dropped factors + mutate(naics_industry = factor(naics_industry)) +``` + +To use this data with `epipredict`, we need to convert it into `epi_df` format +using [`as_epi_df`]( + https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) +with additional keys. In our case, the additional keys are `employee_type` and +`naics_industry`. Note that in the above modifications, we encoded `time_value` +as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` +below, and to ensure lag and ahead modifications later on are using the correct +time units. + +```{r convert-to-epidf, eval=F} +statcan_employ_subset <- statcan_employ_subset_input %>% + tsibble::as_tsibble( + index=time_value, + key=c(geo_value, employee_type, naics_industry)) %>% + as_epi_df( + additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) +``` + +```{r data-dim, include=F} +employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") +employ_colcount <- length(names(statcan_employ_subset)) +``` + +The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, +we are ready to use `statcan_employ_subset` with `epipredict`. + +```{r preview-data, include=T} +# Rename for simplicity +employ <- statcan_employ_subset +head(employ) +``` + +In the following sections, we will go over preprocessing the data in the +`epi_recipe` framework, fitting 3 types of models from the `parsnip` package, +and making future predictions. + +## Preprocessing + +We will create a recipe that adds one `ahead` column and 3 `lag` columns. + +```{r make-recipe, include=T} +r <- epi_recipe(employ) %>% + step_epi_ahead(ppl_count, ahead = 6) %>% # lag & ahead units in months + step_epi_lag(ppl_count, lag = c(0, 6, 12)) %>% + step_epi_naomit() +r +``` + +There is one `raw` role which includes our value column `ppl_count`, and two +`key` roles which include our additional keys `employee_type` and +`naics_industry`. Let's take a look at what these additional columns look like. + +```{r view-preprocessed, include=T} +# Display a sample of the preprocessed data +baked_sample <- r %>% prep() %>% bake(new_data = employ) %>% sample_n(5) +baked_sample +``` + +## Model fitting and prediction + +### Within recipes framework + +We will look at a simple model: `parsnip::linear_reg()` with default engine +`lm`. We can use `epi_workflow` with the `epi_recipe` we defined in the +preprocessing section to fit an autoregressive linear model using lags at +time $t$ (current), $t-6$ months, and $t-12$ months. + +```{r linearreg-wf, include=T} +wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) +wf_linreg +``` + +Now that we have our workflow, we can generate predictions from a subset of our +data. For this demo, we will predict the employment counts from the last 12 +months of our dataset. + +```{r linearreg-predict, include=T} +latest <- employ %>% filter(time_value >= max(time_value) - 12) +preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) +# Display a sample of the prediction values +preds %>% sample_n(5) +``` + +Notice that `predict` still returns an `epi_df` with all of the keys that were +present in the original dataset. + +### With canned forecasters + +Even though we aren't working with epidemiological data, canned forecasters +still work as expected, out of the box. We will demonstrate this with the simple +[`flatline_forecaster`]( + https://cmu-delphi.github.io/epipredict/reference/flatline_forecaster.html) +and the direct autoregressive (AR) forecaster +[`arx_forecaster`]( + https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). + +```{r flatline, include=T} +out_fl <- flatline_forecaster( + employ, "ppl_count", args_list = flatline_args_list(ahead=6L)) + +augment(out_fl$epi_workflow, employ) +``` + +```{r arx, include=T} +args = arx_args_list( + lags = c(0L, 6L, 12L), ahead = 6L, forecast_date = as.Date("2022-08-01")) + +out_arx <- arx_forecaster(employ, "ppl_count", c("ppl_count"), args_list = args) +out_arx$predictions +``` + +Other changes to the direct AR forecaster, like changing the engine, also work +as expected. + +```{r arx-epi-rf, include=F, warning=F} +out_rf <- arx_forecaster(employ, "ppl_count", c("ppl_count"), + trainer = parsnip::rand_forest(mode="regression", trees=100), + args_list = args) + +out_rf$predictions +``` diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 104f0dcce..71a9c1327 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -45,10 +45,8 @@ are also valid candidates for `epipredict` functionality. Specifically, the data, as long as it's in `epi_df` format, ```{r employ-stats, include=F} -date_format <- "%B %Y" -date_start <- format(as.Date(min(statcan_employ_subset$time_value)), date_format) -date_end <- format(as.Date(max(statcan_employ_subset$time_value)), date_format) -uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collapse=", ") +year_start <- min(grad_employ_subset$time_value) +year_end <- max(grad_employ_subset$time_value) ``` ## Example panel data overview @@ -56,27 +54,25 @@ uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collaps In this vignette, we will demonstrate using `epipredict` with employment data from Statistics Canada. We will be using [ - Table 14-10-0220-01: Employment and average weekly earnings - (including \overtime) for all employees by industry, monthly, - seasonally adjusted, Canada -](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). -The full dataset contains monthly employment counts from `r date_start` to -`r date_end`, and presents employment data stratified by geographic region -on the Canadian province level, -[NAICS industries]( - https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), -and employee type. The full dataset also contains metadata that describes the + Table 37-10-0115-01: Characteristics and median employment income of + longitudinal cohorts of postsecondary graduates two and five years after + graduation, by educational qualification and field of study (primary + groupings) +](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501). +The full dataset contains yearly median employment income two and five years +after graduation, and number of graduates. The data is further stratified by +variables such as geographic region (Canadian province), field of study, and +age group. The year range of the dataset is `r year_start` to `r year_end`, +inclusive. The full dataset also contains metadata that describes the quality of data collected. For demonstration purposes, we make the following modifications to get a subset of the full dataset: -* Only keep level 1 industries (2-digit codes) in the -[NAICS hierarchy]( - https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) -and remove aggregated industry codes. * Only keep provincial-level geographic region (the full data also has "Canada" as a region) * Only keep "good" or better quality data rows, as indicated by the [`STATUS`] (https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column +* Choose a subset of covariates and aggregate across the remaining ones. The +chosen covariates are age group, field of study, and educational qualification. Below is the query for obtaining the full data and code for subsetting it as we just described: @@ -84,77 +80,92 @@ just described: ```{r employ-query, eval=F} library(cansim) -statcan_employ <- get_cansim("14-10-0201-01") - -# for readability; this string is very long -naics_code <- - "Classification Code for North American Industry Classification System (NAICS)" - -statcan_employ_subset_input <- statcan_employ %>% - select(c( - "REF_DATE", "GEO", "VALUE", "STATUS", "Type of employee", - naics_code, "North American Industry Classification System (NAICS)")) %>% +statcan_grad_employ <- get_cansim("37-10-0115-01") +gemploy <- statcan_grad_employ %>% + select(c("REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", + "Field of study", "Gender", "Age group", "Status of student in Canada", + "Characteristics after graduation", "Graduate statistics")) %>% rename( "geo_value" = "GEO", "time_value" = "REF_DATE", - "ppl_count" = "VALUE", + "value" = "VALUE", "status" = "STATUS", - "employee_type" = "Type of employee", - "naics_industry" = "North American Industry Classification System (NAICS)", - "naics_code" = naics_code) %>% - mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% + "edu_qual" = "Educational qualification", + "fos" = "Field of study", + "gender" = "Gender", + "age_group" = "Age group", + "student_status" = "Status of student in Canada", + "grad_charac" = "Characteristics after graduation", + "grad_stat" = "Graduate statistics") %>% + # The original `VALUE` column contain the statistic indicated by + # `Graduate statistics` in the original data. Below we pivot the data + # wider so that each unique statistic can have its own column. + mutate( + grad_stat = recode_factor( + grad_stat, + `Number of graduates` = "num_graduates", + `Median employment income two years after graduation` = "med_income_2y", + `Median employment income five years after graduation` = "med_income_5y"), + time_value = as.integer(time_value) + ) %>% + pivot_wider(names_from = grad_stat, values_from = value) %>% filter( - # Reference: https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol - # A, B, C, D, NA indicate "good" or better data quality - status %in% c("A", "B", "C", "D", NA) & - # Drop aggregated rows; only keep provinces + # Drop aggregates for some columns geo_value != "Canada" & - # Drop aggregated industry rows - !str_detect(naics_code, "N") & - # Only keep level 1 NAICS codes; corresponds to either [##] or [##-##] - str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & - # [00] corresponds to unclassified; drop these rows - naics_code != "[00]") %>% - select(-c(status, naics_code)) %>% - # re-level the industry column because we dropped factors - mutate(naics_industry = factor(naics_industry)) + age_group != "15 to 64 years" & + fos != "Total, field of study" & + edu_qual != "Total, educational qualification" & + # Keep aggregates for keys we don't want to keep + gender == "Total, gender" & + student_status == "Canadian and international students" & + # Since we're looking at 2y and 5y employment income, the only + # characteristics remaining are: + # - Graduates reporting employment income + # - Graduates reporting wages, salaries, and commissions only + # For simplicity, keep the first one only + grad_charac == "Graduates reporting employment income" & + # Only keep "good" data + is.na(status) & + # Drop NA value rows + !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% + select(-c(status, gender, student_status, grad_charac)) ``` To use this data with `epipredict`, we need to convert it into `epi_df` format using [`as_epi_df`]( https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) -with additional keys. In our case, the additional keys are `employee_type` and -`naics_industry`. Note that in the above modifications, we encoded `time_value` -as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` -below, and to ensure lag and ahead modifications later on are using the correct -time units. +with additional keys. In our case, the additional keys are `age_group`, `fos` +and `edu_qual`. Note that in the above modifications, we encoded `time_value` +as type `integer`. This allows us to set `time_type` to `"year"`, and to ensure +lag and ahead modifications later on are using the correct time units. ```{r convert-to-epidf, eval=F} -statcan_employ_subset <- statcan_employ_subset_input %>% +grad_employ_subset <- gemploy %>% tsibble::as_tsibble( index=time_value, - key=c(geo_value, employee_type, naics_industry)) %>% + key=c(geo_value, age_group, fos, edu_qual)) %>% as_epi_df( - additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) + geo_type = "custom", time_type = "year", + additional_metadata=c(other_keys=list("age_group", "fos", "edu_qual"))) ``` ```{r data-dim, include=F} -employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") -employ_colcount <- length(names(statcan_employ_subset)) +employ_rowcount <- format(nrow(grad_employ_subset), big.mark=",") +employ_colcount <- length(names(grad_employ_subset)) ``` The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, -we are ready to use `statcan_employ_subset` with `epipredict`. +we are ready to use `grad_employ_subset` with `epipredict`. ```{r preview-data, include=T} # Rename for simplicity -employ <- statcan_employ_subset -head(employ) +employ <- grad_employ_subset +sample_n(employ, 6) ``` In the following sections, we will go over preprocessing the data in the -`epi_recipe` framework, fitting 3 types of models from the `parsnip` package, -and making future predictions. +`epi_recipe` framework, and fitting a model and making predictions within the +`epipredict` framework and using the package's canned forecasters. ## Preprocessing @@ -162,15 +173,15 @@ We will create a recipe that adds one `ahead` column and 3 `lag` columns. ```{r make-recipe, include=T} r <- epi_recipe(employ) %>% - step_epi_ahead(ppl_count, ahead = 6) %>% # lag & ahead units in months - step_epi_lag(ppl_count, lag = c(0, 6, 12)) %>% + step_epi_ahead(num_graduates, ahead = 1) %>% # lag & ahead units in years + step_epi_lag(num_graduates, lag = c(0, 1, 1)) %>% step_epi_naomit() r ``` -There is one `raw` role which includes our value column `ppl_count`, and two -`key` roles which include our additional keys `employee_type` and -`naics_industry`. Let's take a look at what these additional columns look like. +There is one `raw` role which includes our value column `num_graduates`, and two +`key` roles which include our additional keys `age_group`, `fos` and +`edu_qual`. Let's take a look at what these additional columns look like. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data @@ -185,7 +196,7 @@ baked_sample We will look at a simple model: `parsnip::linear_reg()` with default engine `lm`. We can use `epi_workflow` with the `epi_recipe` we defined in the preprocessing section to fit an autoregressive linear model using lags at -time $t$ (current), $t-6$ months, and $t-12$ months. +time $t$ (current), $t-1$ (last year), and $t-2$ (2 years ago). ```{r linearreg-wf, include=T} wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) @@ -200,30 +211,12 @@ months of our dataset. latest <- employ %>% filter(time_value >= max(time_value) - 12) preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) # Display a sample of the prediction values -preds %>% sample_n(5) +head(preds) ``` Notice that `predict` still returns an `epi_df` with all of the keys that were present in the original dataset. -```{r plot-pred, include=F} -# this doesn't work. don't include -# library(ggplot2) -# joined <- full_join(statcan_employ_subset, preds, by=c("geo_value", "time_value", "employee_type", "naics_industry")) - -# joined %>% filter(!is.na(.pred)) %>% select(time_value) %>% unique() -# joined %>% dplyr::filter( -# geo_value %in% c("British Columbia", "Ontario") & -# naics_industry == "Real estate and rental and leasing [53]" & -# employee_type == "All employees") %>% -# ggplot() + -# geom_line(aes(x = time_value, y = ppl_count)) + -# geom_line(aes(x = time_value, y = preds)) + -# facet_wrap(vars(geo_value), scales = "free_y", ncol = 1) + -# scale_x_date(minor_breaks = "month", date_labels = "%b %y") + -# labs(x = "Date", y = "Number employed") -``` - ### With canned forecasters Even though we aren't working with epidemiological data, canned forecasters @@ -235,17 +228,20 @@ and the direct autoregressive (AR) forecaster https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). ```{r flatline, include=T} -out_fl <- flatline_forecaster( - employ, "ppl_count", args_list = flatline_args_list(ahead=6L)) +out_fl <- flatline_forecaster(employ, "med_income_2y", + args_list = flatline_args_list( + ahead=1L, forecast_date = as.Date("2022-08-16"))) augment(out_fl$epi_workflow, employ) ``` ```{r arx, include=T} -args = arx_args_list( - lags = c(0L, 6L, 12L), ahead = 6L, forecast_date = as.Date("2022-08-01")) +arx_args <- arx_args_list( + lags = c(0L, 1L, 2L), ahead = 1L, forecast_date = as.Date("2022-08-01")) +out_arx <- arx_forecaster(employ, "med_income_2y", + c("med_income_2y", "med_income_5y", "num_graduates"), + args_list = arx_args) -out_arx <- arx_forecaster(employ, "ppl_count", c("ppl_count"), args_list = args) out_arx$predictions ``` @@ -253,7 +249,8 @@ Other changes to the direct AR forecaster, like changing the engine, also work as expected. ```{r arx-epi-rf, include=F, warning=F} -out_rf <- arx_forecaster(employ, "ppl_count", c("ppl_count"), +out_rf <- arx_forecaster( + employ, "med_income_2y", c("med_income_2y", "med_income_5y"), trainer = parsnip::rand_forest(mode="regression", trees=100), args_list = args) From c781d3396067beba0eede5ac995bd2a6cb12d577 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 16 Aug 2022 22:18:52 -0700 Subject: [PATCH 08/49] use better data pt 2 --- R/data.R | 24 -- ...ademploy_subset.R => grad_employ_subset.R} | 0 data-raw/statcan_employ_subset.R | 192 -------------- data/statcan_employ_subset.rda | Bin 254398 -> 0 bytes man/statcan_employ_subset.Rd | 39 --- vignettes/panel-data-old.Rmd | 243 ------------------ 6 files changed, 498 deletions(-) rename data-raw/{statcan_grademploy_subset.R => grad_employ_subset.R} (100%) delete mode 100644 data-raw/statcan_employ_subset.R delete mode 100644 data/statcan_employ_subset.rda delete mode 100644 man/statcan_employ_subset.Rd delete mode 100644 vignettes/panel-data-old.Rmd diff --git a/R/data.R b/R/data.R index 805d2ddf5..3702afc11 100644 --- a/R/data.R +++ b/R/data.R @@ -34,30 +34,6 @@ #' inclusive. "case_death_rate_subset" -#' Subset of Statistics Canada employment numbers by industry and province -#' -#' @format A tibble with 109,388 rows and 6 variables: -#' \describe{ -#' \item{geo_value}{The province in Canada associated with each -#' row of measurements.} -#' \item{time_value}{The time value, in YYYY-MM-01 format, -#' associated with each row of measurements.} -#' \item{ppl_count}{The number of people employed, seasonally -#' adjusted.} -#' \item{employee_type}{The type of employee} -#' \item{naics_industry}{The industry name and associated code -#' according to \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS}} -#' } -#' @source This object contains modified data from the following Statistics Canada -#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data}{Table 14-10-0220-01 Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada} -#' -#' Modifications: -#' * From the given Statistics Canada table, the employee counts -#' are taken as-is. Only \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS} codes at hierarchy level 2 are -#' filtered in. Only data rows that are \href{https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol}{good quality or higher and not missing} -#' according to Statistics Canada are removed. -"statcan_employ_subset" - #' Subset of Statistics Canada median employment income for postsecondary graduates #' #' @format A tibble with 10193 rows and 8 variables: diff --git a/data-raw/statcan_grademploy_subset.R b/data-raw/grad_employ_subset.R similarity index 100% rename from data-raw/statcan_grademploy_subset.R rename to data-raw/grad_employ_subset.R diff --git a/data-raw/statcan_employ_subset.R b/data-raw/statcan_employ_subset.R deleted file mode 100644 index 055d2fe36..000000000 --- a/data-raw/statcan_employ_subset.R +++ /dev/null @@ -1,192 +0,0 @@ -library(epipredict) -library(epiprocess) -library(cansim) -library(dplyr) -library(stringr) - -# Run this once -# https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data -statcan_employ <- get_cansim("14-10-0201-01") - -# ================== Subset & Filtering ================== -employ <- statcan_employ %>% - select(c( - "REF_DATE", - "GEO", - # "DGUID", - # "UOM", - # "UOM_ID", - # "SCALAR_FACTOR", - # "SCALAR_ID", - # "VECTOR", - # "COORDINATE", - "VALUE", - "STATUS", - # "SYMBOL", - # "TERMINATED", - # "DECIMALS", - # "GeoUID", - # "Hierarchy for GEO", - # "Classification Code for Type of employee", - # "Hierarchy for Type of employee", - "Classification Code for North American Industry Classification System (NAICS)", - # "Hierarchy for North American Industry Classification System (NAICS)", - # "val_norm", - # "Date", - "Type of employee", - "North American Industry Classification System (NAICS)")) %>% - rename( - "geo_value" = "GEO", - "time_value" = "REF_DATE", - "ppl_count" = "VALUE", - "status" = "STATUS", - "employee_type" = "Type of employee", - "naics_industry" = "North American Industry Classification System (NAICS)", - "naics_code" = "Classification Code for North American Industry Classification System (NAICS)" - ) %>% - mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% - # https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol - # .. not available for a specific reference period - # x: suppressed to meet the confidentiality requirements of the Statistics Act - # A data quality: excellent - # B data quality: very good - # C data quality: good - # [blank] or A-D: acceptable or better <- only keep these ones - # E use with caution - # F too unreliable to be published - filter( - status %in% c("A", "B", "C", "D", NA) & # only keep "good" data - !is.na(ppl_count) & - geo_value != "Canada" & # only keep provinces - # N corresponds to aggregates - !str_detect(naics_code, "N") & - # only keep top-level sectors - # https://www.census.gov/programs-surveys/economic-census/guidance/understanding-naics.html - # corresponds to either [##] or [##-##] - str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & - # [00] corresponds to unclassified - naics_code != "[00]") %>% - select(-c(status, naics_code)) %>% - # re-level the industry column because we dropped factors - mutate(naics_industry = factor(naics_industry)) - -# head(employ) -# statcan_employ_subset <- employ %>% -# tsibble::as_tsibble( -# index=time_value, -# key=c(geo_value, employee_type, naics_industry)) %>% -# as_epi_df(time_type = "yearmonth", as_of="2022-07-28") - -statcan_employ_subset <- employ %>% - tsibble::as_tsibble(index=time_value, key=c(geo_value, employee_type, naics_industry)) %>% - as_epi_df( - additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) - -usethis::use_data(statcan_employ_subset, overwrite = TRUE) - -# ================== EDA ================== -length(statcan_employ$REF_DATE) -names(statcan_employ) - -uniq_ref_date <- unique(select(statcan_employ, "REF_DATE")) -uniq_ref_date -min(statcan_employ$REF_DATE) # 2001-01 -max(statcan_employ$REF_DATE) # 2022-05 -# There should be (22-1)*12 + 5 -exp_total_dates <- (22-1)*12+5 -length(uniq_ref_date %>% unlist()) == exp_total_dates # TRUE -# There is a ref date for each month in the date range - -unique(select(statcan_employ, "GEO")) # List of length 14, names of provinces & territories + Canada -statcan_employ %>% group_by(GEO) %>% top_n(n=-1) -# Dissemination Geography Unique Identifier - DGUID. -# https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo055 -# 2016 (year) -# A (administrative) -unique(select(statcan_employ, "DGUID")) -unique(select(statcan_employ, "UOM")) # Persons -unique(select(statcan_employ, "UOM_ID")) # 249 - -# These scalar columns tell us by what factor of 10 to multiply the values -# We get "units" and 0 so we can ignore these columns and -# take the values in VALUE as-is -unique(select(statcan_employ, "SCALAR_FACTOR")) # All "units" -unique(select(statcan_employ, "SCALAR_ID")) # All 0 - -# Time series identifier - ignore -unique(select(statcan_employ, "VECTOR")) - -# Related to dimension, which is not present in this table - ignore -unique(select(statcan_employ, "COORDINATE")) - -# Data value column. Values in units -unique(select(statcan_employ, "VALUE")) -# How many rows have empty values? -# Approx 3/4 of the rows have NA values -statcan_employ %>% - summarise( - VALUE_NA = sum(is.na(VALUE)) / length(VALUE), - VALUE_NOT_NA = sum(!is.na(VALUE)) / length(VALUE), - TOTAL = length(VALUE) - ) - -unique(select(statcan_employ, "STATUS")) -statcan_employ %>% - select(STATUS, VALUE) %>% - group_by(STATUS) %>% - count() - -unique(select(statcan_employ, "SYMBOL")) # All NA -unique(select(statcan_employ, "TERMINATED")) # All NA -unique(select(statcan_employ, "DECIMALS")) # All 0 - -unique(select(statcan_employ, "GeoUID")) -unique(select(statcan_employ, "Hierarchy for GEO")) -statcan_employ %>% - group_by_at(c("GEO", "DGUID", "GeoUID", "Hierarchy for GEO")) %>% - count() -# These 4 columns are redundant. Just keep GEO. - -# The next 4 columns are metadata about the last 2 columns -# ignore these in favour of the descriptive ones -unique(select(statcan_employ, "Classification Code for Type of employee")) # All NA -unique(select(statcan_employ, "Hierarchy for Type of employee")) -unique(select(statcan_employ, "Classification Code for North American Industry Classification System (NAICS)")) -unique(select(statcan_employ, "Hierarchy for North American Industry Classification System (NAICS)")) - -# val_norm and VALUE are the same -unique(select(statcan_employ, "val_norm")) -statcan_employ %>% filter(VALUE != val_norm) %>% count() - -unique(select(statcan_employ, "Date")) -# Each date has a minimum of 7522 data points -statcan_employ %>% group_by(Date) %>% count() %>% ungroup() %>% select(n) %>% min() -# Are there any dates that aren't on the 1st of the month? -statcan_employ %>% filter(format(as.Date(Date), "%d") != "01") %>% nrow() # 0 - -unique(select(statcan_employ, "Type of employee")) # 3 types -unique(select(statcan_employ, "North American Industry Classification System (NAICS)")) # lots - -# REF_DATE looks like YYYY-mm -# Date looks like YYYY-mm-dd -# Check that the truncated Date to REF_DATE format always matches the REF_DATE -statcan_employ %>% - select(REF_DATE, Date) %>% - mutate(Date_trunc = format(as.Date(Date), "%Y-%m")) %>% - filter(REF_DATE != Date_trunc) # all empty! good - -# This is an example plot -# library(ggplot2) -# theme_set(theme_bw()) -# -# employ <- statcan_employ_subset %>% -# dplyr::filter( -# geo_value %in% c("British Columbia", "Ontario") & -# naics_industry == "Real estate and rental and leasing [53]") %>% -# dplyr::arrange(geo_value, time_value) -# -# employ %>% ggplot(aes(x = time_value, y = ppl_count, color=employee_type)) + -# geom_line() + -# facet_wrap(vars(geo_value), scales = "free_y", ncol = 1) + -# scale_x_date(minor_breaks = "month", date_labels = "%b %y") + -# labs(x = "Date", y = "Number employed") diff --git a/data/statcan_employ_subset.rda b/data/statcan_employ_subset.rda deleted file mode 100644 index 46c0ea6c97bcab8855bc3a0b622c361c002e4eea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254398 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

    PpWp4;ndq@yrC0n-A2k&b|WNai^ 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

  • q#!|5lLmT( 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 - %\VignetteIndexEntry{Using epipredict on non-epidemic panel data (old)} - %\VignetteEngine{knitr::rmarkdown} - %\VignetteEncoding{UTF-8} ---- - -```{r setup, include=F} -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - warning = FALSE, - message = FALSE -) -``` - -```{r libraries} -library(epiprocess) -library(epipredict) -library(dplyr) -library(stringr) -library(parsnip) -library(recipes) -``` - -[Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, -contains cross-sectional measurements of subjects over time. The `epipredict` -package is most suitable for running forecasters on epidemiological panel data. -A built-in example of this is the [`case_death_rate_subset`]( - https://cmu-delphi.github.io/epipredict/reference/case_death_rate_subset.html) -dataset, which contains daily state-wise measures of `case_rate` and -`death_rate` for COVID-19 in 2021: - -```{r epi-panel-ex, include=T} -head(case_death_rate_subset) -``` - -`epipredict` functions work with data in [`epi_df`]( - https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) -format. Despite the stated goal and name of the package, other panel datasets -are also valid candidates for `epipredict` functionality. Specifically, the -`epipredict` framework and direct forecasters are able to work with any panel -data, as long as it's in `epi_df` format, - -```{r employ-stats, include=F} -date_format <- "%B %Y" -date_start <- format(as.Date(min(statcan_employ_subset$time_value)), date_format) -date_end <- format(as.Date(max(statcan_employ_subset$time_value)), date_format) -uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collapse=", ") -``` - -## Example panel data overview - -In this vignette, we will demonstrate using `epipredict` with employment data -from Statistics Canada. We will be using -[ - Table 14-10-0220-01: Employment and average weekly earnings - (including \overtime) for all employees by industry, monthly, - seasonally adjusted, Canada -](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). -The full dataset contains monthly employment counts from `r date_start` to -`r date_end`, and presents employment data stratified by geographic region -on the Canadian province level, -[NAICS industries]( - https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), -and employee type. The full dataset also contains metadata that describes the -quality of data collected. For demonstration purposes, we make the following -modifications to get a subset of the full dataset: - -* Only keep level 1 industries (2-digit codes) in the -[NAICS hierarchy]( - https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) -and remove aggregated industry codes. -* Only keep provincial-level geographic region (the full data also has -"Canada" as a region) -* Only keep "good" or better quality data rows, as indicated by the [`STATUS`] -(https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column - -Below is the query for obtaining the full data and code for subsetting it as we -just described: - -```{r employ-query, eval=F} -library(cansim) - -statcan_employ <- get_cansim("14-10-0201-01") - -# for readability; this string is very long -naics_code <- - "Classification Code for North American Industry Classification System (NAICS)" - -statcan_employ_subset_input <- statcan_employ %>% - select(c( - "REF_DATE", "GEO", "VALUE", "STATUS", "Type of employee", - naics_code, "North American Industry Classification System (NAICS)")) %>% - rename( - "geo_value" = "GEO", - "time_value" = "REF_DATE", - "ppl_count" = "VALUE", - "status" = "STATUS", - "employee_type" = "Type of employee", - "naics_industry" = "North American Industry Classification System (NAICS)", - "naics_code" = naics_code) %>% - mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% - filter( - # Reference: https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol - # A, B, C, D, NA indicate "good" or better data quality - status %in% c("A", "B", "C", "D", NA) & - # Drop aggregated rows; only keep provinces - geo_value != "Canada" & - # Drop aggregated industry rows - !str_detect(naics_code, "N") & - # Only keep level 1 NAICS codes; corresponds to either [##] or [##-##] - str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & - # [00] corresponds to unclassified; drop these rows - naics_code != "[00]") %>% - select(-c(status, naics_code)) %>% - # re-level the industry column because we dropped factors - mutate(naics_industry = factor(naics_industry)) -``` - -To use this data with `epipredict`, we need to convert it into `epi_df` format -using [`as_epi_df`]( - https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) -with additional keys. In our case, the additional keys are `employee_type` and -`naics_industry`. Note that in the above modifications, we encoded `time_value` -as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` -below, and to ensure lag and ahead modifications later on are using the correct -time units. - -```{r convert-to-epidf, eval=F} -statcan_employ_subset <- statcan_employ_subset_input %>% - tsibble::as_tsibble( - index=time_value, - key=c(geo_value, employee_type, naics_industry)) %>% - as_epi_df( - additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) -``` - -```{r data-dim, include=F} -employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") -employ_colcount <- length(names(statcan_employ_subset)) -``` - -The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, -we are ready to use `statcan_employ_subset` with `epipredict`. - -```{r preview-data, include=T} -# Rename for simplicity -employ <- statcan_employ_subset -head(employ) -``` - -In the following sections, we will go over preprocessing the data in the -`epi_recipe` framework, fitting 3 types of models from the `parsnip` package, -and making future predictions. - -## Preprocessing - -We will create a recipe that adds one `ahead` column and 3 `lag` columns. - -```{r make-recipe, include=T} -r <- epi_recipe(employ) %>% - step_epi_ahead(ppl_count, ahead = 6) %>% # lag & ahead units in months - step_epi_lag(ppl_count, lag = c(0, 6, 12)) %>% - step_epi_naomit() -r -``` - -There is one `raw` role which includes our value column `ppl_count`, and two -`key` roles which include our additional keys `employee_type` and -`naics_industry`. Let's take a look at what these additional columns look like. - -```{r view-preprocessed, include=T} -# Display a sample of the preprocessed data -baked_sample <- r %>% prep() %>% bake(new_data = employ) %>% sample_n(5) -baked_sample -``` - -## Model fitting and prediction - -### Within recipes framework - -We will look at a simple model: `parsnip::linear_reg()` with default engine -`lm`. We can use `epi_workflow` with the `epi_recipe` we defined in the -preprocessing section to fit an autoregressive linear model using lags at -time $t$ (current), $t-6$ months, and $t-12$ months. - -```{r linearreg-wf, include=T} -wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) -wf_linreg -``` - -Now that we have our workflow, we can generate predictions from a subset of our -data. For this demo, we will predict the employment counts from the last 12 -months of our dataset. - -```{r linearreg-predict, include=T} -latest <- employ %>% filter(time_value >= max(time_value) - 12) -preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) -# Display a sample of the prediction values -preds %>% sample_n(5) -``` - -Notice that `predict` still returns an `epi_df` with all of the keys that were -present in the original dataset. - -### With canned forecasters - -Even though we aren't working with epidemiological data, canned forecasters -still work as expected, out of the box. We will demonstrate this with the simple -[`flatline_forecaster`]( - https://cmu-delphi.github.io/epipredict/reference/flatline_forecaster.html) -and the direct autoregressive (AR) forecaster -[`arx_forecaster`]( - https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). - -```{r flatline, include=T} -out_fl <- flatline_forecaster( - employ, "ppl_count", args_list = flatline_args_list(ahead=6L)) - -augment(out_fl$epi_workflow, employ) -``` - -```{r arx, include=T} -args = arx_args_list( - lags = c(0L, 6L, 12L), ahead = 6L, forecast_date = as.Date("2022-08-01")) - -out_arx <- arx_forecaster(employ, "ppl_count", c("ppl_count"), args_list = args) -out_arx$predictions -``` - -Other changes to the direct AR forecaster, like changing the engine, also work -as expected. - -```{r arx-epi-rf, include=F, warning=F} -out_rf <- arx_forecaster(employ, "ppl_count", c("ppl_count"), - trainer = parsnip::rand_forest(mode="regression", trees=100), - args_list = args) - -out_rf$predictions -``` From 34ecc9635512d8e954dab2a9ffe762b25990fc39 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 16 Aug 2022 22:30:37 -0700 Subject: [PATCH 09/49] fix doc formatting --- R/data.R | 6 +++++- man/grad_employ_subset.Rd | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/R/data.R b/R/data.R index 3702afc11..c6c0177fb 100644 --- a/R/data.R +++ b/R/data.R @@ -49,7 +49,11 @@ #' \item{med_income_5y}{The median employment income five years after graduation} #' } #' @source This object contains modified data from the following Statistics Canada -#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501} +#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501}{ +#' Characteristics and median employment income of longitudinal cohorts of postsecondary +#' graduates two and five years after graduation, by educational qualification and +#' field of study (primary groupings) +#' } #' #' Modifications: #' * Only provincial-level geo_values are kept diff --git a/man/grad_employ_subset.Rd b/man/grad_employ_subset.Rd index abac4dae9..463ab178c 100644 --- a/man/grad_employ_subset.Rd +++ b/man/grad_employ_subset.Rd @@ -20,7 +20,11 @@ row of measurements.} } \source{ This object contains modified data from the following Statistics Canada -data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501} +data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501}{ +Characteristics and median employment income of longitudinal cohorts of postsecondary +graduates two and five years after graduation, by educational qualification and +field of study (primary groupings) +} Modifications: \itemize{ From 2f1631d70f6c21d2845f1c33e9fe6823a0f1a8ac Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 16 Aug 2022 22:52:30 -0700 Subject: [PATCH 10/49] wording changes --- vignettes/panel-data.Rmd | 42 +++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 71a9c1327..2eed15761 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -20,13 +20,12 @@ knitr::opts_chunk$set( library(epiprocess) library(epipredict) library(dplyr) -library(stringr) library(parsnip) library(recipes) ``` [Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, -contains cross-sectional measurements of subjects over time. The `epipredict` +contain cross-sectional measurements of subjects over time. The `epipredict` package is most suitable for running forecasters on epidemiological panel data. A built-in example of this is the [`case_death_rate_subset`]( https://cmu-delphi.github.io/epipredict/reference/case_death_rate_subset.html) @@ -41,8 +40,8 @@ head(case_death_rate_subset) https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) format. Despite the stated goal and name of the package, other panel datasets are also valid candidates for `epipredict` functionality. Specifically, the -`epipredict` framework and direct forecasters are able to work with any panel -data, as long as it's in `epi_df` format, +`epipredict` framework and direct forecasters can work with any panel data, as +long as it's in `epi_df` format. ```{r employ-stats, include=F} year_start <- min(grad_employ_subset$time_value) @@ -59,8 +58,9 @@ from Statistics Canada. We will be using graduation, by educational qualification and field of study (primary groupings) ](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501). + The full dataset contains yearly median employment income two and five years -after graduation, and number of graduates. The data is further stratified by +after graduation, and number of graduates. The data is stratified by variables such as geographic region (Canadian province), field of study, and age group. The year range of the dataset is `r year_start` to `r year_end`, inclusive. The full dataset also contains metadata that describes the @@ -80,8 +80,11 @@ just described: ```{r employ-query, eval=F} library(cansim) +# Get original dataset statcan_grad_employ <- get_cansim("37-10-0115-01") + gemploy <- statcan_grad_employ %>% + # Drop some columns and rename the ones we keep select(c("REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", "Field of study", "Gender", "Age group", "Status of student in Canada", "Characteristics after graduation", "Graduate statistics")) %>% @@ -101,11 +104,13 @@ gemploy <- statcan_grad_employ %>% # `Graduate statistics` in the original data. Below we pivot the data # wider so that each unique statistic can have its own column. mutate( + # Recode for easier pivoting grad_stat = recode_factor( grad_stat, `Number of graduates` = "num_graduates", `Median employment income two years after graduation` = "med_income_2y", `Median employment income five years after graduation` = "med_income_5y"), + # They are originally strings but want ints for conversion to epi_df later time_value = as.integer(time_value) ) %>% pivot_wider(names_from = grad_stat, values_from = value) %>% @@ -137,7 +142,11 @@ using [`as_epi_df`]( with additional keys. In our case, the additional keys are `age_group`, `fos` and `edu_qual`. Note that in the above modifications, we encoded `time_value` as type `integer`. This allows us to set `time_type` to `"year"`, and to ensure -lag and ahead modifications later on are using the correct time units. +lag and ahead modifications later on are using the correct time units. See the +[`epi_df` documentation]( + https://cmu-delphi.github.io/epiprocess/reference/epi_df.html#time-types) for +a list of all the `type_type`s available. + ```{r convert-to-epidf, eval=F} grad_employ_subset <- gemploy %>% @@ -235,24 +244,25 @@ out_fl <- flatline_forecaster(employ, "med_income_2y", augment(out_fl$epi_workflow, employ) ``` -```{r arx, include=T} +```{r arx-lr, include=T} arx_args <- arx_args_list( - lags = c(0L, 1L, 2L), ahead = 1L, forecast_date = as.Date("2022-08-01")) -out_arx <- arx_forecaster(employ, "med_income_2y", + lags = c(0L, 1L), ahead = 1L, forecast_date = as.Date("2022-08-01")) + +out_arx_lr <- arx_forecaster(employ, "med_income_2y", c("med_income_2y", "med_income_5y", "num_graduates"), args_list = arx_args) -out_arx$predictions +out_arx_lr$predictions ``` Other changes to the direct AR forecaster, like changing the engine, also work as expected. -```{r arx-epi-rf, include=F, warning=F} -out_rf <- arx_forecaster( - employ, "med_income_2y", c("med_income_2y", "med_income_5y"), - trainer = parsnip::rand_forest(mode="regression", trees=100), - args_list = args) +```{r arx-rf, include=F, warning=F} +out_arx_rf <- arx_forecaster( + employ, "med_income_2y", c("med_income_2y", "med_income_5y", "num_graduates"), + trainer = parsnip::boost_tree(mode = "regression", trees = 20), + args_list = arx_args) -out_rf$predictions +out_arx_rf$predictions ``` From 325f8a2e347bda255d4ebc758498afa61901d2f8 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 2 Aug 2022 00:18:12 -0700 Subject: [PATCH 11/49] wip panel data --- R/data.R | 24 ++++ data-raw/statcan_employ_subset.R | 192 +++++++++++++++++++++++++++++++ data/statcan_employ_subset.rda | Bin 0 -> 254398 bytes man/statcan_employ_subset.Rd | 39 +++++++ vignettes/panel-data.Rmd | 143 +++++++++++++++++++++++ 5 files changed, 398 insertions(+) create mode 100644 data-raw/statcan_employ_subset.R create mode 100644 data/statcan_employ_subset.rda create mode 100644 man/statcan_employ_subset.Rd create mode 100644 vignettes/panel-data.Rmd diff --git a/R/data.R b/R/data.R index 622d1c7d7..5f4bc7528 100644 --- a/R/data.R +++ b/R/data.R @@ -56,3 +56,27 @@ #' \url{https://www.census.gov/data/tables/time-series/demo/popest/2010s-total-puerto-rico-municipios.html}, #' and \url{https://www.census.gov/data/tables/2010/dec/2010-island-areas.html} "state_census" + +#' Subset of Statistics Canada employment numbers by industry and province +#' +#' @format A tibble with 109,388 rows and 6 variables: +#' \describe{ +#' \item{geo_value}{The province in Canada associated with each +#' row of measurements.} +#' \item{time_value}{The time value, in YYYY-MM-01 format, +#' associated with each row of measurements.} +#' \item{ppl_count}{The number of people employed, seasonally +#' adjusted.} +#' \item{employee_type}{The type of employee} +#' \item{naics_industry}{The industry name and associated code +#' according to \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS}} +#' } +#' @source This object contains modified data from the following Statistics Canada +#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data}{Table 14-10-0220-01 Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada} +#' +#' Modifications: +#' * From the given Statistics Canada table, the employee counts +#' are taken as-is. Only \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS} codes at hierarchy level 2 are +#' filtered in. Only data rows that are \href{https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol}{good quality or higher and not missing} +#' according to Statistics Canada are removed. +"statcan_employ_subset" diff --git a/data-raw/statcan_employ_subset.R b/data-raw/statcan_employ_subset.R new file mode 100644 index 000000000..f61120065 --- /dev/null +++ b/data-raw/statcan_employ_subset.R @@ -0,0 +1,192 @@ +library(epipredict) +library(epiprocess) +library(cansim) +library(dplyr) +library(stringr) + +# Run this once +# https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data +statcan_employ <- get_cansim("14-10-0201-01") + +# ================== Subset & Filtering ================== +employ <- statcan_employ %>% + select(c( + "REF_DATE", + "GEO", + # "DGUID", + # "UOM", + # "UOM_ID", + # "SCALAR_FACTOR", + # "SCALAR_ID", + # "VECTOR", + # "COORDINATE", + "VALUE", + "STATUS", + # "SYMBOL", + # "TERMINATED", + # "DECIMALS", + # "GeoUID", + # "Hierarchy for GEO", + # "Classification Code for Type of employee", + # "Hierarchy for Type of employee", + "Classification Code for North American Industry Classification System (NAICS)", + # "Hierarchy for North American Industry Classification System (NAICS)", + # "val_norm", + # "Date", + "Type of employee", + "North American Industry Classification System (NAICS)")) %>% + rename( + "geo_value" = "GEO", + "time_value" = "REF_DATE", + "ppl_count" = "VALUE", + "status" = "STATUS", + "employee_type" = "Type of employee", + "naics_industry" = "North American Industry Classification System (NAICS)", + "naics_code" = "Classification Code for North American Industry Classification System (NAICS)" + ) %>% + mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% + # https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol + # .. not available for a specific reference period + # x: suppressed to meet the confidentiality requirements of the Statistics Act + # A data quality: excellent + # B data quality: very good + # C data quality: good + # [blank] or A-D: acceptable or better <- only keep these ones + # E use with caution + # F too unreliable to be published + filter( + status %in% c("A", "B", "C", "D", NA) & # only keep "good" data + !is.na(ppl_count) & + geo_value != "Canada" & # only keep provinces + # N corresponds to aggregates + !str_detect(naics_code, "N") & + # only keep top-level sectors + # https://www.census.gov/programs-surveys/economic-census/guidance/understanding-naics.html + # corresponds to either [##] or [##-##] + str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & + # [00] corresponds to unclassified + naics_code != "[00]") %>% + select(-c(status, naics_code)) %>% + # re-level the industry column because we dropped factors + mutate(naics_industry = factor(naics_industry)) + +# head(employ) +# statcan_employ_subset <- employ %>% +# tsibble::as_tsibble( +# index=time_value, +# key=c(geo_value, employee_type, naics_industry)) %>% +# as_epi_df(time_type = "yearmonth", as_of="2022-07-28") + +statcan_employ_subset <- employ %>% + tsibble::as_tsibble(index=time_value, key=c(geo_value, employee_type, naics_industry)) %>% + as_epi_df( + additional_metadata=c(other_keys=c("employee_type", "naics_industry"))) + +usethis::use_data(statcan_employ_subset, overwrite = TRUE) + +# ================== EDA ================== +length(statcan_employ$REF_DATE) +names(statcan_employ) + +uniq_ref_date <- unique(select(statcan_employ, "REF_DATE")) +uniq_ref_date +min(statcan_employ$REF_DATE) # 2001-01 +max(statcan_employ$REF_DATE) # 2022-05 +# There should be (22-1)*12 + 5 +exp_total_dates <- (22-1)*12+5 +length(uniq_ref_date %>% unlist()) == exp_total_dates # TRUE +# There is a ref date for each month in the date range + +unique(select(statcan_employ, "GEO")) # List of length 14, names of provinces & territories + Canada +statcan_employ %>% group_by(GEO) %>% top_n(n=-1) +# Dissemination Geography Unique Identifier - DGUID. +# https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo055 +# 2016 (year) +# A (administrative) +unique(select(statcan_employ, "DGUID")) +unique(select(statcan_employ, "UOM")) # Persons +unique(select(statcan_employ, "UOM_ID")) # 249 + +# These scalar columns tell us by what factor of 10 to multiply the values +# We get "units" and 0 so we can ignore these columns and +# take the values in VALUE as-is +unique(select(statcan_employ, "SCALAR_FACTOR")) # All "units" +unique(select(statcan_employ, "SCALAR_ID")) # All 0 + +# Time series identifier - ignore +unique(select(statcan_employ, "VECTOR")) + +# Related to dimension, which is not present in this table - ignore +unique(select(statcan_employ, "COORDINATE")) + +# Data value column. Values in units +unique(select(statcan_employ, "VALUE")) +# How many rows have empty values? +# Approx 3/4 of the rows have NA values +statcan_employ %>% + summarise( + VALUE_NA = sum(is.na(VALUE)) / length(VALUE), + VALUE_NOT_NA = sum(!is.na(VALUE)) / length(VALUE), + TOTAL = length(VALUE) + ) + +unique(select(statcan_employ, "STATUS")) +statcan_employ %>% + select(STATUS, VALUE) %>% + group_by(STATUS) %>% + count() + +unique(select(statcan_employ, "SYMBOL")) # All NA +unique(select(statcan_employ, "TERMINATED")) # All NA +unique(select(statcan_employ, "DECIMALS")) # All 0 + +unique(select(statcan_employ, "GeoUID")) +unique(select(statcan_employ, "Hierarchy for GEO")) +statcan_employ %>% + group_by_at(c("GEO", "DGUID", "GeoUID", "Hierarchy for GEO")) %>% + count() +# These 4 columns are redundant. Just keep GEO. + +# The next 4 columns are metadata about the last 2 columns +# ignore these in favour of the descriptive ones +unique(select(statcan_employ, "Classification Code for Type of employee")) # All NA +unique(select(statcan_employ, "Hierarchy for Type of employee")) +unique(select(statcan_employ, "Classification Code for North American Industry Classification System (NAICS)")) +unique(select(statcan_employ, "Hierarchy for North American Industry Classification System (NAICS)")) + +# val_norm and VALUE are the same +unique(select(statcan_employ, "val_norm")) +statcan_employ %>% filter(VALUE != val_norm) %>% count() + +unique(select(statcan_employ, "Date")) +# Each date has a minimum of 7522 data points +statcan_employ %>% group_by(Date) %>% count() %>% ungroup() %>% select(n) %>% min() +# Are there any dates that aren't on the 1st of the month? +statcan_employ %>% filter(format(as.Date(Date), "%d") != "01") %>% nrow() # 0 + +unique(select(statcan_employ, "Type of employee")) # 3 types +unique(select(statcan_employ, "North American Industry Classification System (NAICS)")) # lots + +# REF_DATE looks like YYYY-mm +# Date looks like YYYY-mm-dd +# Check that the truncated Date to REF_DATE format always matches the REF_DATE +statcan_employ %>% + select(REF_DATE, Date) %>% + mutate(Date_trunc = format(as.Date(Date), "%Y-%m")) %>% + filter(REF_DATE != Date_trunc) # all empty! good + +# This is an example plot +# library(ggplot2) +# theme_set(theme_bw()) +# +# employ <- statcan_employ_subset %>% +# dplyr::filter( +# geo_value %in% c("British Columbia", "Ontario") & +# naics_industry == "Real estate and rental and leasing [53]") %>% +# dplyr::arrange(geo_value, time_value) +# +# employ %>% ggplot(aes(x = time_value, y = ppl_count, color=employee_type)) + +# geom_line() + +# facet_wrap(vars(geo_value), scales = "free_y", ncol = 1) + +# scale_x_date(minor_breaks = "month", date_labels = "%b %y") + +# labs(x = "Date", y = "Number employed") diff --git a/data/statcan_employ_subset.rda b/data/statcan_employ_subset.rda new file mode 100644 index 0000000000000000000000000000000000000000..46c0ea6c97bcab8855bc3a0b622c361c002e4eea GIT binary patch literal 254398 zcmbTdcT}3m{xGgaT{Y?|Vq(oIB0(%`0b)sVEm%Ns0m0Zv>>Xo6Qg-*+0~R7Gc5@XJ z5tYP7q9j>0_7;0V%_dP}OW56Hlikg|d++PM=lgws=X}raynnoN&NDO5%;z(onfbJt zd7g0(j&rhe3xfCuC3i~vPsKU^z4ZI{7!y}HExC(dXu1Ay{Y9gkimSqAg+dnZl*xpg zoq>9RYj}2Pl$>6PvWJN+jzo&nkozkTTL9m;9ogStAJkmZZiL^uSN!TN(NKgRa?Gxh!6Jv)_e_N%#O3WD-0 zg`Q?ZAof3{Y@c1W&j%nXeukjkX{tI0V_u#F7JnXyCMmBF)ed}`)1{?(&l?&3k18-z zIc3XuVi2Yg=}Cb6E(EVb89%}rFUJG#9=YpWN+qEOU`&SrpXLOg<}iXblPv!Zh>C$R zkznFwG>~OQhbJw-e+QeoIDcG$sm*be%paNqdQGzC zQQQL#-r$eF&)@^l6|3G3pauDuy(cfV6XY3Ma&pYua$j!5z68pxowM*UC+LM$>&R>9 z!v~)!4pytgP4boXAc}(?UN~DFGRj*3UpUgR|I&X-9>YD~#xskSTj1YmenB$#RcL~R z_G_ILcat@=EUZvM@_ho@EYsYlvJdS=5}xW6xY=p}y%)e7HlX<(P-_d-JOU2L5o)&( zbejO>c5dn;p8AVu{rS_P9Mu*dQ$gdM2R$zv`;O&Z?A zpno)%Ig`ze%gE|&U=}dj3xW3DRWct?DEpCA5sk5MVN}#BDI$cR-gT(yJot(hJ7f~v z;Ry;MqV)!eq47SIC=9L{gH@^c$4HqTk!@p7{?dSGekf0jLN!m|J(z%UqOeslr!yPW z57rHXnm#dUcSl>c0m}37ynl@a|hx5gKxFavB=) zr6cfpxu}sPR|7a)ZayNusqrrbl+TINFfh=!SI~tuo}k9THj9Lo+T$&%OU!&mw#%3d$qEam;Z)QuD#^pY9PL+v-3P;3JbwS=xEF)mq^i2Jk5Pa-8z{Mmagi zlBuoMSdJa?Ufasr4?|b$G~?FmG^0c6ZOG6VrP>g(c&INarlk+26Jae3v96p-SGAbQ zvFK*-YB8Qu%~C^Bs%KJDx@lP_$55kk$*y|RH*QaP5+@8^h->LkM{NWz1<1=c29YrG zpt!~sTpQIhM32D66^z?6`>X{UHKFc3P9P~KwG-n26B}}LBKq69k|K4`P@YN~+7*Zz z2~LzxGPKU+oK6s7Y@%mEXGtL;4)sQ(j80;mZ+r|-HKee-mcRTa;8}_=-K~4QB^4H< zK1mHEZiJNGK`x6=hf^7K)U*h zOWc!?mGi6VM(G$)R1%WV=NPcqS;#FgZ?OtjvpYpNO(I(Z^~k}xsn!uA5nfh-j4|6X zDxtgo5iE(nQP>j#~Q^Y zMQB5E-6SIRE)iW9uK|uH-h}BJx&r zzv7a9F1wt^eg(J`LHNuu`wiy(sLgnQ{qu_1&XIQm_`80y)v`;eW}j8h z>6_hQX}=l1Ty3_jcu+C}7E8Fpxp$#pP`1>~Lj_>2DysEMVolmqhgi_y@rrB?H-D1QY z({_$8=D1H$y6=Vl2=&#O&8wH7zhZdzKMDQoG%ClQ5Ye-oqcW?B%~(5`O2>00Qz|(< za-_xZ2A98ZHT-7V7Q5wK&~1fzDFh z9(r7Sr?xS0$<^}nZixVi6VG*2pN0vzRjuco4g- zpli`SAG^FmYz_pn#k*%n*FlV5550c;K2LhB47w>KQhk4OuS35j-nAtrCatz2@6G!B zT5)Em?>GDN?W#$2%N6xgl()oVVAX{|; z&jH7n>`~9&ggFXXx7b5w3?5hL*kC2tj0hPNUM#403= z`n<*;VjNXo5|&UYJ_mqQlG83rjiqFCbOHcoWqtE2={_~*2ZQGChdDRmETeyxzh-h~ z#W!l>a;R?iXRUy7uN&c(BdGf;=xe3Tw*y;x&spfieaL7NPxeuU(dpiInvvY~@AJ&! zds)#={Mornd2N}0&sTU`8*t3FiKZ)Bwyd0QTdth!79$NI;)zXap#cm|iW7`_6_%*k znW0JmaG#M90D@>|rq}^^fEf-@4Q51mfg`+_27g6*>{`Z2a{rEv#u4 zLsqOd9U=k92LTfyNf05wd(|YtEUcz1Kq^SGT0s)Tjp9ZmPKoN4r0%{h4jx;fikErv zNtM((eM}OL+3g{pB%Be7F=9i@cy&w?&pzVJpp;1UfIH}!KUhy{3ncU*;ypYKfKo(s z2Yy+{4o;Fu1~uVKKbC7{kDAxUZgkR}!m0y zX{qikm0_rem zVZj2@YH?jU+r6TbNEHLAWHa{=^C-(WPNAWDQZKsKnwJ>I$r2;^&tiHugyD)1$Pipj zT~MAigV|S#% z{;|o0>~W9rKH58uFz@r*WqGqfV8*f^*PFy%2Y%1iB5&p0ic_=f0j2>n(Z)=|hR_&% zw;08haCrl5#;V>??2STaHy1E#7XKD)EKsxj90t8#o5htpV0{?YRtmK^x2jP1o?|uz zxC~^#KEh4fcN(Fh1N4g(%~|NrCQ#9@f}i48;Jbg5_oS;-T=~}Lr)JhG(v7%^D?M4< z$6aPmP~684ywgbZAtNH|XZC_Cf%3}ik?^iPO84e6#`3YyxR9_H1{M7*_(|2M>@LLT zeS&u?!KK?f1NzqUtJfd*yg%w1pSZ56yP2fSp-aD*Jukc5%>GyNT^aaB9*bT=y!g@Q zC!zOX+gHztmm8ozPo7I*?=#QEv429Jb29rw;S$5USLM^tIa}`sD!=93{nqEb>Q_>q zPrG+heExXt-3-3H=>2Ee-+tv}!a2V`@uI!DGN<;#0qpb8l{K}e^W+tQsJ`u%Vv$`; zjG^^^>@8!%%)hI!jES68y=v^U`7Gb5`(|^%G7{086ax7rtbSvMh-~Vv3b_(u)06&C zf39F(vyc)_d`qy& znDUDZ@2aheMjgwpe}}p7gZnL?^EDsk&o#1tBYIbX=`h|D`O9y>w?MpMV0zm*U7z1? zvFAxQP^?1sD|bhgS3ZYaM{ov=1-s);7$U5pQo*T2M^uJFiqDCcz&K=`_=O>}9B-6P zVbeVHrQns%zK{j;)?yV3J~p6O)jZ)}4hrC+#uKntNKT6^F0ak!IEO}J33zO?d!#gA z8aNG@fv;y8pZnY3)nT8{XwL^VKZc3y)++AnxIg_|c$_E77(J)qBYkfYqS1VO13`H0 ziQ`3!H(|fqdwpVhPc0ZHzq9zZqA2MtUNk`J`H7LPI`bvKEP_8J?ySS{w+(&(kox-@ zYy-ArcD`*SQ6uIk?g}wK<28EOG_Z++=M;h|Q)WJ;nM?!jiE1^vEvn{YLy5i>j7)`u)nd*Z-uYN-#EcKHF(!$&|zZ|R5W)9#n+nfWa&-UCz`m5fo~0zGkoDhm|DV#vQ_pk0oduJA-~D5)DE`U# zl}PlhUrzX;tp?|6g%BDKAG>H0aFjE4Qp<+rk= znfQzHuU`EWb4FUfL3$fvIDRMVMr%*~c3lMX<$rZ5jo<@d1M^);*(U#0A}9B=)h*N8 z$Y17&fV++ljF@kKL!beEKYx+)>VWA{!vsK`W;F8(`7s}xv^@q-kZ$P7kNCty z5$LR{#_Lhj20HG@g^n89xdZNuod|}!E#xm!e?>ZSa@fD}a;jN>#oAeNHTGdDLwah; zd5j!`Fh#||LAgQKuqD@GIWMfd!YMB;e~WK?=9hm}<==ypfBa^}Veyi`6j_7thkr!a z34TqmzZL&C(#KQr75e3_#q(O)*pqe@L?ZUV<;)i-1!VhjMZH`dTIS@jSPRF`mLX z9(?kU-^#Hq2CH5oaKcA(M#T-$N4+%~ zyjqlaUH2gPF}d$?K;Nx^&8vvceJ-7r02>o*5(0Y@qSG__GQ}%`_QkDLK`*B$qTSb$ z{IG!CvmJlO)B0y^Re^3!RlC_P;KaJ3AuB|QzYw4)J@px4A|;RJhR7b5A5sf7m=sl z?1eV0u3SG0?Yfe)-d?#9Ne%+F*#x)iGPha5DTQ+3(MvGw)-&`xoGd%dtjwl{lb+?pzi6H%$nWBpqL{jKQ|&qp#) z5ji=*9miPNc1icP(UH`jz>6->sJ)bJUi}+H#x99Yqiu)2Iw2Fql?+T*Q7U8uvNfc5 zp{U-sDowVRp1@sikAMdwkuV2Z#tw^e$61!Sw^3x>#|sf1QmSkyTe4$eyR+rU~ zLIFtz94TALc-g{|@hDl8fa`ul&upMAkoy)FV-q=3$2p&d%3e)%iW2%o`>wJ98(DHguwZ?)1Rrmfysxq7CyIsd+YDH2 zOIMO%U6tM*Toimr z8K-B`Mr1x|o$Z_wLGb`IV>@9vQ8)bx9o@AsZfvs?&>Olb5xl0X8J~}(F47^d8XQ?N zNrE(k?zFYH#m?-EjN3E}?9Pv(d+kY_f~9XBM%QP`Bm+AQ3DTGgbdAmaf#U}Im4^tg zQ68ZybRl&)T~aDL9yq3Uk&-y(Jd`&jgSOe4;hDB44W)aCWZPTEt%ku%l7u%hknBwe zHFVRnW%~|oErOmb%ikWikPMV%N_#{6WNDPe%vFJKPn2j_mqt0Co*{de+OWO7^=|G8 zJ$Uns*m^)B$#4;|4*LR<>yNu*`r=fEL+W8_`|%dr6IbXL(p)&(D*;7U=m|z|S(=WS zo$ZxKQ6x~(Wg}@=knrnTA;+S#p?=bpbgFK0>YPY+ERl$g6BFyqRnua_7Sfw8(9uI{ zlz;_lNEv89vrn*M7_|mHpl)xEwQRlHifm0@UF{d!%lv4x&WF}sf?n#GceC3N+FByZ z@oj>%B(S}IT2dkFUrr>SStxOv7CozpdXzlf1TL{yw>f@~KzP?#;kr$(Z?vm*uUS&)MgE#fK8%QUo&4(Fc>6^YYmWD=~HEH|l z4Rj;VHJ3*cNxfgg_8Ou+6fsNL3LV%F%@ntD+G}0%Qt7^rX15L}BxS3;K^G|7DGkq_ z{PcJ;7%4@rclpj8OS%F3luglqjFKj!hNP{&+2qU)BuQ+h2R1`EaeblNbI$vCX$N^~ zWmc%^(&cg|Q+o|Jzqhq2mPi`rlKcBSh1@aRS^5>1hqUp;fif8)pd@}V!=+!^Stx~R z0Qs$sTA{R~~iu z`!D%zpRd0_cj#Z-x7nvis_3-sEg5BQ!q`eC+kRG-p5CyQO!v!3U87{|WNcB^-#Trc z2p2tbw^2s-rBfPgWRx|hIocL&Eraq5MA_c<(|o&cL-!HM#$*l6GMOxSOJi=QcHd4^ z6(2%`_x?le`-FU&pvVP!j zJB>28OB;9FlD(pBXU0PIX=~6B$`%>M2@^bLyR z+}stt{%7e`8E@Az4%g_>3k!?;87DeXUQ)6pkzDAYH*oi_Buhl^wzrL^-k$Vw2PAvF zN2k!w(=`vB50_Z4=6riN>uPkDhV896n|-H#C(DN}PD=v=bCm6jeW$q-yC5svPnQgU z=!Wf&c3;gk@K{0Hbov*kMf>!#nzDug*{dzTq5-GzP|d1zI&HIxHr<*Wdx4%QqtpG- z<3tzB{w==)7R%`n&jl_c$O z>bQlT{xE#vaJfvD%G%nK?g;i4Dch|Sb{?x{puu=M^l+P=Nf$i6Im4345=AFGW69o@ z$|5sQW|Q?=a?-k_f9pWBpDbzEymOvTx7m_7N*-pkVx4H4-L$z!=PBDuC(SHLXlXLV z0cVeXmq**%t0&W{wr^vUvNun^U{l^Xx@J5}+g_BN2quLdb>dKtA9{m#KR$VLbKEaY zcJyk?DZMILmhAh`w|;LtJ!PNnB1t#wUxdV(+@WmNGnn=}4URUutm8*An@GAJSeDU1 z4^7N*VacqwWGB-qYdGmGWy?4-`EX+`Im1Xszd{)}e$=q-(n{NQ>Yq5Sm!U%Y)47?H zM}(nq=ht+)S-NQV?TIci_}(u4Y1!K@p>&GqxWB$(jnc2N)v_gXmYs+sg^r%z z+S_)Py`$S?{=2p6uKApdw&r)ihO)BeNO36_f!+?BPaRL^r@HiCZGUca{J?yxpMD}y zel8M;J>6S-XnXBS>clQ(hGN;j_{s*CnY=r?MyFfWZ?E~u=teYWr^64!=j(TTc^$I; zrT!G718146incyIu%CI{|26CVhg6!QLd6qta zf<&7ZUm{43 zE*ZNo>-s677I5bS50)%{>#+av`{St(bMKEOk65y5*7=xyr^BDlWqkbhMQrQBi_GNX zDu9rW#-{q z4JR&Wn>M;V`RsA}+!9OXw7%ae`sN$ncmwU|X699=m6?pA{%wh9TGIZ+_yzsK$qHl1 zdsilA)!+0tMq|z;dmKp-Tr-WP3I)ySR zv_-qYmw_HokbBqI-b5YE%xUCT9U!u*3&)^n447 z^7v+I;OU%E57U;s978}#l~$!z)U1z?SfbTjuIXc6p2FY&v=BC!ELX7a5I`l2mm^nT zI;K?`!!6Sx`@{HrZAiYJdm|g9Z3i!9T0!lDnHB<+pE8jT#n=W4n40-+86~de%3uTR zLMt3i1iEG;Y{L}_g`SLX1qRqu-V+o()6r7rs%oQ$fv-VEYHg)2 z?QrGjBZ_-r z3YFaACBZP;T8Mi#99M=KEQ}%J+;lwqs}!Iddm#~@%jYBYY8`+`{!n)ZD6%kDs~A($BEM7% zF`rYNIWyw{W!Oh8<`@~BW&$umBA1LB4SSu?`UNQlW`G+?E?2^itT_3bnAt`>vtY}s z(EPQ5NAki5V}+x_+75Hn83>aPU8Gh+4Jt^>*#4|0Uv;8luC^mWD~e=lm)q*2FRZ>p zd?PrkqlGpv#5ZH-nQ6hfU{e)y^8i)Fhz8eM3q1#Qx13Y85nO%fL#=i0hSe+h%gWHj zbPJMiP9Pda#Fs`GO$e(su{fN=%V52xL=bRFi^+CS)u#?+n-+PxyXy$h_7jkLVZLVZ zpn64kZ?P&ttuQ7J1+$5NAceHeG`GxRv_j3WGxkE^X;4dnsVz4j>!^++-O(_?I`J$< zoTC;P@pk|a`4$A=C6g57mh108P#T$4RqBuNCx&{k@mj>dm=XX7EG;$#3+si$7Q{yP z+R_{#LTpuiFGo zel?X%{sIDc*~3pq7v)r@M$jgBjv`d5T!*!7Uzaj-6%0J{0ZlJS3;)AwvCA~sTPpxrz(7e&D`Soa?(pa4rr+a3mYi_nR_6VVNuJ2=6AfXIyzdOBxh#E zEQzci!7awL!Az&{LiOsJ8b(xGi+xCyR~U}068|V)Zop1MP+L1>z(CldW*o4~YHEBE zwy=yjTvo%#0~6F>B;a(qpSh=!{ibP+E_lhO3Iqeyq~ercDKxq>EDG8@RPj|{Vm%Dl zBsalx@QZq7g=Ru>IK-mnNr5th_%ja}5!Qm9{X$XPq}q~?EYp}lrvOn4q}PgH;D84( zpwVz!vwlH|zebPgqJUsq9aq-;fUl_w<3lH#m$>mz9*}~qX~hUhwYduFs;%l!ICR*W zQKPb4+QJ_>qm|56vyJy?vo&WlkzRA5Ac)bJx>y~X?~iluFvbqipl*3THy-LYP6{|S zDU7z^MqjVc!fHm%9j}B2#iMvL5I-n|NU&DPMdSf$>_}>AK#pSbu3pZv{oV+|2U;;z zEmQ%&sn6RT!00(B#PN+_Y=4vL^n7y=6eUQRPFEmS9$b*?Jv@8zv1cLQFX}81uL(JY z9gbhDFzI?vi zHP8-TzP6^=vw0-8QX6<6 z2n=rnvD9bIBt+|)FB_=4#@h2oj zkx7%6cC|fm*rJNyk8tpZsrf-mxfVEVzmKOytNUq2V;lfj@H$*A!mzE(#4RDa@{OE7 zOs7zjn}-S~Lr5dw*e{4pVfEEjDl^)u6)HIFE7wA=1|lyzAAjJK6Ank)b9`w^+VXD6 zLZN!^t6@i7pb9LEtiq^egilwuXo44#4IK1wthn4kYlcLu zDYO{TR|k{_S`-^i<(val-vL0KlO}RzaZcIty1;z}eW)IA-E{?LZvp3`x!NbD={$bh znGZ8moyzf7%Xh1+=a%J@)JnPf6|YH?00;yYRLjBn24X!u9aFHXcq0WhX3A?Afzbpn zYTkCNc2L$mrO7Y11Cx5gxrfVo%BY#j8Vi%!j6#IH00-cLXYvucWIWN-Rxs(QXT4a6 zb!-zTYq)bGgb5UEZ%oW-g1MW0+pxcTAt)->&thglkPL_c`XH7^AtxxmM8RTB}1QhD}x359e#NK~SR#VBZ?+#?WQ%Ytune z8UB!@LUcD@hJYHM>Dp;)m|6Q|m{tScocs<})?&V7?UAM0Y*=mE@*sXik7H^Z<{H*k znX3u|4@8}*(L~vvoXcIhr*HZ5@+Q)#xcEaROhYYk|*tgCv4Wm zzjPPEqupA(nx6qqXSMVf1e1xO`Zy$kr%uuZz8qQ6YBazya^>|g=q3Vif*3m4MC7AD zuqHf&pO+6rgWBBUgbbzwf~?{UX{nq@0105>+>I&>q#o96BrM$%hUKKdBSI?=_0^hu zbqHjC2V%26qs1C^B3TNhC~z|v-=R{Pl2BdPyhnr^c{){T9iSc+>iAK}ZmMLgq8cfX z0E$$@VZk7Q6JO)JdtqZaArESoH*8aHW|L#1U6x%YXtLl=c&l>3KDjpaGyEl+B8HBa znibcevdy=O3~-Am1h#c^LE(eRY}+H1LSox;mA^J5G#~GCvKmsUJc2>{3#q-#nxTPK zH;kH(Et7=RYxU{!ivc%o)MO9`mkLW!j>5dqUcgXUQDLk0LU4(Hd7_=$S%ia{$+JRk zBm6bP4Lg+!T~J(cEC)k8u~(stB0}8-dK|Ya@CP)RwuS}}}rwZ30YsR}3 zrn=kWn-|bCLp3&PG{8(B6!1b9o;O{a3W=y|F~>UEsji?%VPS$srm`Wwy0nByLx;m7 z(RIGj(gmbl{wa;~_~8Ol)Du;v183fO>d1cy= z2qR)d@r@|cd0wKHzdhHm8biW9Qd}mIVKucW(~T{jP+)w&W@tH)>l+O|0wc6_G<9Ppv51kL?(S9@5ToZtP8M9 z#Auj+i9nkyx^wiIc&N6;P)#KmlBg|qsQbzV&^6=T&80I>;PC_(`M;}#JUH~NJFMKuQNG03qn!kvXHZ0nAc+JO=Hnh}d6=rIaXl5FvjMs`sD(WB zN|;WJt}c$G>hEVUkxwjAC7%Z#`tw5x%4H0AkvbXxC_7o;q(c{4ts&tf%V%M2Jy$PV z>xQi~wv`xizfSO5Igzmkc|h9LjIH1@TcIn!2QK6*X zksd#H)bixXQlt%FiqC2xDk%!_WKxA;ZB}P^OgjF$LiV$`J8Gz4h>7Pb=9xm1fo{ja z;=ljh^rqM&@ItPN7PkaF6&n~qg^!JnTJD8+brm5=Q;ey%p(8Io#+816UUS(8q!sN% zWwxJ5mHwnUzx!$Y67AN>v5@qQeXqc_tF!Syb9mhFoxf9T%P*aReMWueN@$4T7X`P1 zUw<(03!W=a8_Nv#tzR9U^DEaCmuaT6*2h{sI)Y*yO1uIONwl`9H0#I!UH;mcnX%}{ zt=I>f7rX2F>+gS?8Wa%h@~-caA@jMNZgC zrk}kPaAjqsbOEMQG>dDvUmxQD)%`BbotycbqR|ti-q-g_3h46=>q`GPMclp7mYd%B z;il1t$H)9ziQjgpd&Y8NGj|dr9rWKy1L_8(Ofq}UV$^aec<$!DL*CGawbpFFG}`&} z%6l=H7B;u3Zx|`M?G?Ow`z%LX>^1NvukDeqU3GDnG;Pfqb1Nhq|1q`LDs|HEwH;)t ztA6r%=%)tpl=y3{p@QBGV~44X1;1Mp)nlnk*4+gCcQnjDBgIimo7lJ#+LNC|cjKJ= z2I70BvF|gV8(+=r;NdKtZ$|4@Ug>+_bP2ojz{@x`GHxo;<(e@<+Pf5p6dT5O#8yZ@ zruL-viFNqv#Xq&R)l=HmheNK8D>-iJXS+~KZ^!+*=)UH=I!}2oO|Neao~C#~R*E)Z zqji2(F4HQ0F2Hk=OX=hG4tM&x`V7^yoiO#?Pb(isC;d84-p(HTK;`dQt0BZL_$SfM z*Q`RX;c&R#&Dcsr>UWjS(fX01n=3CWdgxE5&5*^thVIYtZ@(^@Y;9^^4Oqg#)vc)^ z(Nu@$wp2U#@g=NU$aSGuI1 z-$DLxn_9T(++iVY3}_AR_%v?09M!;w>qoj!_8JiSiQj&xmZq+u1J*Fw%+Ys!NB18r zOA&$dxEEGkYoWg`S$$gUE(t&E-OK+_(mlEvzl60p$~SKJKQs9w5V00nv43UmW6PG~ z*|Ch^fQM6G*H7yguY%IY6E`(zeUSp^3ngP*_@>Lo>ZI#p8}$a~Y~kbGPmq6l5nKXF zduCQ08pXHNU*v3t1U|)kk+mC(KdxEc(XCyrc^ZrDO2nOU>0H5SES|PXU)}8Zcv?M? zR+jZC$nR)HT>f=@ar5l8gubrq+qt}AL`a0x5TBb#T&*7XEyaZ%ccXz zq+Y^|C5qkRc_Y76WM8lJTyR{*lXz~bXo=cx7?GZISkC@;z;oKYqcc*!^R#b2t!f^h z;rAf>LR}mBkN%v_i<(_eC+VjwiHLLg1XZla8_v)!Fp12s~+|`25qwWoS#Ntme88b)Xu?opz z5&q_;o;Y3k>!en!7rD43qr6)Bv2-+WwdM`=4 zxz5aV2hki;Ba-Zec>48)%CXW-T;6`P+8eK>J|z}?Mw$~SZ4a-coI40H`sHz?;5ju3 zQM;j@I$JV7u$|yg{JQHIj>?|4MsDnPyoKlbSvR~`GmE_Ub<&u~j3A;hmmF8GYX{Zm z?_Wwx3R*eJoVHqe9$xAAuEFpH`K{nxlZ(1|VBr$*ZCt(k)carb4_T#eQXh{5Osek~ z-EYbn+bBQ;$7Ij(Ok3g;qpO2a%^{nX(iQfUG$eTO_1s2uaPYm>q<6&;X}x|PMqBZ$ z8~gf2R%t5Gu|E>hrr^QrKWfP;YdY`UjxG55;?gEnDN!M2YC0&0Y3Iaq5Yxn!>%N<~ zjMXj!qqm@6YMv&Ctv))ukenYKd_HmGnrBk@J8|E4-DB4GZn7UNS=UD=QK$jpl@3?w z#w_OpJGi4jTr&j^XmF@my40QavAE~f9GOsZ&A8(_%t3!XLo7tBf^1*1*M#mEwESXpz%k$A_^^uR1@;)qh6Tc6{m#=n)aVbQ(`;@pA5< zjeFSyOzGE>5=!+D+8vMPFr_%CZ~fv6K%|J zJ>7MuulYuP8=KJ7u_F>yI!pJB?Vnp6qteE40`k7wnRNfe-A>NjM*aKS5q8h9#vV?tuWi{)QI5ZT)LRbXM^%;W19Aen;UzD3K69@2~;FNC1MLFWQ< zYCl{zw&9l+R#0rOAF}s?zWMFg+ZXS7IEWs-*5rJr=`^w#n))w&SjRp6o#Mn`zra=YcXmrI^{Lh4 zE@S5t-PbG@B5Ti3)dRefGM+<6j+xWvOM7>b^BeK{hsv;xXi+);u66#soQ%cKUK=k~ zi{E^bzDtak{t+uizzgi(HH1)mrYQMX<=*Fd&O3tV&TH5ms(5aR-~X=CqUdz3(>oSw z-RCKNE@|1)<7v&0p&uiJyX&LkRYdiLOh#>LyZ-1HeZh!xRiwPvD4L8~HOQm3xDmR>ALVd_3RrgJMBTW>!(}vX^l8n-EvTAzrJUh_h3lZU_H<*sy%M z>fQkE(|Az#&CU#E>)Vn1D<#S`^}W)sMQr|~cLWw@GqPj9GlBETdF;{HQgL)G4Z#XL zZgY-L_{M6w_HnCdI;k;IG#%9AxWX51Vmdzb7kfQg8h36apLKft>v-5Nv?I=z- zce5jUG}`9*C2r>Qmgzm`o%+Oq)uVmuMICL?(N(j=-gDg5D^vgMc>UXR{{~h~JL+B2 zR6^p#iKm-(l@81?*g|FC-n~bgZsLK&h>tgM?-zB(iJfN%O&y<{Ui3*TeLcm`eHN!9 zsh&|iy&9RxJgV`*CH`+yT`HzmqJkdxI_--qy6Y0}F)ty;FCHP_>5rDM`@tJ*aX<@8 zV$=|vu@-!5ZlSEF%Q@1CIJP#m8FAkECbc?MU$uzvVDWQOFZi0(8$0cu(RZDANXwXW z0~Xi)bM1W5i_L4$o5ri{)+;saZ{L1$j(7IFe{Wz$dLi)GpBKCl-Eo!JQL~w_W*iY3 zFi_+lOf8PRk%+Sq=uN@rHsV7(kBV+bQsKpYVo}c~E`C2&)bAvF zl6X;dN&d-Av+s-}Z%q_#BAeWve5ikSv!Uxx&wIB!d!9Ph_D>sg?i&gw-wjM>jK0@5 zBa|doUN`QD)z-gu@hA)`zwcofVl;>N27etyQ)=x|?nUnh?%y80`kDF#ptoadjAt>n zz=tE}WM(dJGfLd5ug6xbbe8nZ?ZDGaS3}~)g8jZ}=J0D{n+u;5NMoqCJ6CU0*?*tT z$m|$9zO>MApMB8lB7913uzK#vJm~%)4QYOe4mmj(59#2J^TbEzX^Dr$d*2p(2fSDI z=R0fUX7lrrcg=?XMh3qA?MhZR`*z0PabI~O&+6H*XKFEbRDm^N9`YCQ=a^_Hyf&*v zo!WQTO=%I-YTua>RG*jA%=sj-UdKhhw1 z**4av4nWx~%rVML#RQ3h?TPs{$QsyfMpA zo>71Fvsb${@bz^hbeY-{j7@27yx4}h4~CST=aFy<0@Vn=U?elyoRq=&s?ec1t~&tX z6Ue5&irc9w0RueGH!()kZmeK@Mn?#dm*iXpra{f18)Nmh+$eqb8`rx|zszO~DwME6 zhqmY7L`L(=)I2ktud5gC=PdNTEOT<$Aw)L1{-IiS1^@vU*{(z=<*{Y;NCuE0KQRd| z8L;Qk%E%dSUM5w{Lq8P;ocZQd*u^en;i3KQ*>k%mYn!`p&H6O+iD7kq`xhK}_C!L{ z={){$%<#@L{l#-ZrG?7REpqFr&8nI59a-nN9VIHe?A|D=1LJHUfL)%&sm0_Gu!U4vymO(a=1 z0F{wF@p^>LF`+FSjhSHL8rveR%?;26TbIEN?3VhAt?Gd*Un0HBu#Hq*4L~8({-r^- zx({S>3L5hKV&N|>>K@oHz+XPDu^0%G29}k7r_Jc9-m(N}qmooA(A36WS7;FHLIh6N z74?Iug-se>_^YoXzB%fyx7M0P*V7Mp;l>0ASs0aw>Yn3=7U`LrqOeYMuQT^Rh3@A@so^%leZUzq0Z zA}%3z;GbVWCoUJV9we34e^9B2FE;8ZMD?45vyHl~pXvR>&&^ED(&RC^13K~<(xYmJ z%58HGIk>!DcT;Z&6_roChRChbG6t5pm&JmM;x7^=Z81ufZ@&f-j%+ftT^)!@{`mbX z@h#fem0El5? zj{VEjAT?J#bB7x2@0tjba`wttjCP95labXQ*4KqH>1sxD!#Fx1(8>D z3};;w@yLI&A)5l*{5swodQNU!vosOS3M!G#vC{$8$3P-&`F&U4s@Ijg1?T`gzk%)OmNI5uy1 zIZa26@s+;q;JRZyQ=DtE4$Ar2>R{ww@@Cf^ljLU1^`P6~aWgl~eUr6oJL34qUymUh zupa`To`Vka-;Nmv0IR<9@w-uaaTJr(+H^6oBb@!TLc2QRCyD7>=sa?B59NQKiHu^? zLFPTEDfdjU9>lwnF=B>BPNss^JpTYA%~fX6!`&Uio7b~* z^BI$kcuk`qXP?goh9~l z1|_{);2tocHc5?lx&_t2KrJajK0shhi$}vpdfCtIpM3-7?I>&6TWAM4{Ns{Ra01{t zd%-a$^%S3D$}(Vsd$WoVYl^+-+L=?@E%krIfL@^*cVG{`)N`!DDel@k=o1uG*wyRB zzC48qaY6?&;(q}zK+wO>8yo986Gc9ZEuh=LQsWd+$Z(F07m#J+UIUClcuNz?6se~a z*eXfLNaN2eYruhHF~`$Agvo&gq&_hTvjNgsg&2m+ajzk+jdEBLiHvM5BrK@%XsB?J zUDuZp$)@|IH3KdnTrNVQ;Jd}FW5zh!Fqo@tLfO!aZHZCD@=r9fP8>`iBp{0j)u6-C zh)uARYET(}m{V!E#TE`$KyUX~{AwdY6ypYr{}neYDIeMX6usXO(IlcRGfsdxzf1Pr zVv#?ExnTcuakPc_-{1Y3*CCJjG7Id({dw=%*Ls#O-k!9M+9_13hM0eI^K)0C*_FBe zD44ZsIycL9-CLS?iph9ZbFeIh#I|b+SjRc%z-Dskp@?V;0p-UPa|+Fa7md3UPBGIM z#z@&DlJOK-0yNB1nV@P(`jdjGWdkAsK*d^|CMg^fEf~S6DwIlL3Yb#~QB-3AN@ijL zVTNL)no{Z@R6`YTn;}ZVqe;7_DYD`PrdVD!WYtvyChblNqMaFP zDZ!B*F~O9o(5ft^ifi`xs;rZB5e z&ex=|`cD;*kvcj!+J)^CWTqvwvcnpfwl>CejSaE6fV0-v#<vejc-=Y zEHSgErL}rI_SaaWmU$g6EsmLuRh*+2i_W&bGi9^2Kei ztm|DiQ06f@ZEaRMWpq{5EaD=J-)%3cmyHc6<)O8vl?aFB;EXEV9matTLTO zr%UIw-uazzSsk*<_tR6H?R{;G>uhH$Uo9<0thLh|^O`y08rMgi)w0?&)-w@{vC>=E z=5@zyGpux*RijO1X(DK77FpUeS>>iW<&L`?^2sG!OUl_J8GVGykoXn z&T7tcac6O~%w)6{&n;FXBW<;TeQ$kSM2X8hMYdI#+Z{~jHq#NdqWI`>rmdzrV|YUN z-zAyP8^$cf#ng(OKFCdg+L@?uv!6&pk$QsE~H6-lk2q%CgB$ zcVx~{TN9P)cG}gY>@|UnwYFMXvev>h(`>D%jcpWM>pAPN$y!b~*=MesQO^4PnWLHA zZnIqM=DH!e(=LmmUqrK+@p|66H0CquIziFvi>%>aCKBCaXZH1BmUqJ;oz_`q9p0T4 zv&T$w=+>8$tj?7gS{1GujAJa8YO~84)xvF1O1dwjws`4$XHJPK*FCm3%C)=3@j7Kb zIOmZWTXoT@%XCLajw4HGP8&a?yk3aMEOD_2(0wkq(=9qJ7e|)rZAWg4ZJ*e9*yzmA z`reCD);cp0Tdi%bN+G=ZGgVpcvBj*T8HX9#w9I`rT5CD#&GDzwWj!V5U1B9?eva8! zMYcN=S6W?beGFT|UpsVrtaZ}2OX)G_?o#Kjkz|-?gmTCMix@K&)K!GR^@u@5Od2pS zQ*;FpxW&p`y$8&9mtryj|x7D??EpYShL!<#T?x|*b>;%7ACZMN7M z3C5!n=|Cq?WqAhM@WO#jFiT=#hp)ah6*dPWi+@-DKJ6Kum- zNN2i{rV`0W6oQM$$_2J!?34`_`V7W;kU)4y%5I`-Ypi3@gC#PvNhUI*5)UmB2r(Iq zjP*=h9$h&M5=<&IVr1uJfmdB&IS*Ar+HN@#StCT+0*NPq*UoU`zZ3tXh17eW`8(a&dFkyt%dF3G+<|wp8w3;m%fvkxYB4`m@)zYH^ z38g}UOr|rLg)k^l!po|Oa#DnsXgtHrpg4?h)f{~KC#0#V!dQW~#|sQFNo}h|AbNx) zuG+C6f~_cG1dXRlk=Nr+HQ;2xFtr+yMwd9K4q_%zjoA`H6x5KIi;_2n2LaJSs_nQY zhOsL;sU)ZcHmgMva<3|3Mxxs0ts3gH8qGlT45plj9IDBg0VNk1#zgB;jqrXmV39$_ zcs7dY76mH%sx$|{Y;dT|3Zesi!%_lcRHqG271xm$qhS)>G~%Hwl+lqVPkm(x5lj*w zko8z$2G^0}l2Nq~akEQVwj?>R#>t5~DC1nVOEqYTU`4Wxngq!~KtD)BJknZF*k5tP zo00Pzqecoc7zG&$>lC^MB^uEZj*17GnW!S_vI0r70u-NBNZ?+D7t%g6l8ClgXpE68)r zI`GLQ5OBF3Fwr0;k)U&`0g&mod(8sL#)J^C;w^$25^1x{L4`|oHRC9y)>y<0Jod!G zPOlkHXiT%qbrzImC6W`p_iIo&%r28er<!nt%%UKf{n^wW-<5Gt)B9X+B& zfTX^;$Z4sb zCL1+HkX4sbaH9%32jg(&&j+7Twv8Ka=+rRc(mlsnO}AO4hdTqM zvuiBMhMc2yO?m>%S_Yyzo@Os!kq8FOid9m1%IK=ia?Gj^8hdK#6GWjSB?H+hmZ7k+ zEF}54<^$`%;6qWYu9H;Dr8(@|Wk;8;jDxiSr^yXV!*rcoI=GQ(dq_+M@9#AH$H3*>SW3ob6=yUk@YSpxsG3!HyjymM${`BaoV%8WUIXDtX~z`=~dGl4=)p< z%a!^rnq}9r#TDr$r-o=`ekiKvrAnh_)WEiabuAZjA|=$#T&r$9b`@|Q!#2deJ77H& z(YH$NP?pA1QXS&ouX2^xhJA;EjWoUsp4e=;c)skThD&Q$sWF->)b%P))~?{ zGzNB>7Y)N=YS^x0(nj6aA=9fZ>QxVxeARFlIfbtT3Ta1-Gb}UqPZq!e&OP&S5ppHr)NxdrOlf3 z_gl#E_0^QwF$~(1p*y)t6lbRl*XU-(#QD)pJi3NvXD%%&H}y3F{8}ZgS%x$;7xTQ9 ztT0ZcxUs11a-M?(mWCylyPEKrEv}&GVGFxm(;&e zSgq>jKz5?7sa6Y0+NNnbRFQr29>GOZ5UqPL)LU9wGG|FU8Iwr7xF$y3R0mR(WFLCO z$=f|_xa$bK>Ed>sOE>V$7LAWO(5o`m?Z;aZFwkYCG25zI_EXAM2e6=0-+fF`=Dc;{ zv$s;K)@wsZZKt6o(-xG)KSd9I?Kz94xk;B*dv`5Ki$=a8vczlpClT1g1`QcfaO;M$ zeN-|vtv;jINq+kXRjE?h%w`lS*3#9gVUbEynB+}p^i!dl7c=7-?ni*?0&2_G*r%O} z6|`E`c{dH#&x(6e*L8IZVkB+r*e2kLyMnQcYpbsbh2+mXs$`_f>giLS?3x#!2AT?D zr5caLef(5$)*d`I>D`xBu}WD<{TIi6i`1Vv(L`g;Rl4BOs{Q$qXp~Y-7B66D4HF@F zM`y7axaGBIb=+!(ZF(4N&H|&Bn2FS-X!+|MO7)A@6)N+SB*IU>fZ|(zoRXxRN#wZ2 zoRw3fNu#vjkW#gh(i+v1rzQIujx7P_Q=xRpv?j_Ll19x;^jR)Dj3)`IH>zpuy;yfm zvP~H>;i{h+!bthj*CS)*wTuH)7)LmwXq5rGuT5<1_2@rf^kTBZ|>>-jmvm!YGD|v~Lv> zC~2_)hM0?&|MFO1e;&0!~p_qovijQj*?9{S%r?nwKVYdQ#X=N@y>WHkkD3 zs|8~jE~SlE^kO!~rP@@f*%c?~)W2vK$UJ7!vu2UBZzEGzC4EYj-mgak_9wM5i>5*WfnYY<6FshMKdZK6_N*rDsjMhuwB`k*1x88j@$`Lrv@U z+kZsYPsn~sGA*o5fh0{F+7P9Y8Q^my=E5iuu(-4gPGFA4o|Wus+LhbX|8{rOt#RX@ zv}x1=AI>{8iMOGQ;%ahh(Y*@sY5qp7bFnJnY}EeVF}YMG&VHr#DPpw9?(DOa>vrxT zB_dlBc`s|L3`|z&XK97lOKKvtn+nX-md+7aJfg4ZVWnQ$ElpZ#y#w!Fa=>hghCO|J zT7@Wvj90Jc#GY+9$)!8D(lxP_{Q_r}v^cQav!td=$6dWD3>jXLILn;|ugal#S1ywbYP(Y}DLTYFOuC1~tazOHQ(?dnA&G~b74PUrO0izu+5 zw%rX%&hcuUYx0)CZ(5#ns~dwn-3ByhSf}ghM_U9=J-V7#kONCkl#C7S6}-gnuQSk>!WjKj(ty!c2Un__8XORsY7L1 zv*^2OZI+F52<}=7vOoFhe+Ttzu|C$8&FQE@Yj#{ZPKE6&x^@k_hXneYT{{~QbS1nk zor47RRGP2WB%KG~y|k6_q6=? z{~s(AwGz_gi|g^zg)(z$W7>j+E4H?qH;+jP$tv|N!}dwVhUU6a7hR303DaiQt;X`+ z$zy`GnjCM~mlhx8?Qx`I%G=m_&aBSuu$w)W7bkkrThID9ibDKpxc~IH_q2z>OKd3#-_v6u$}DeFH97vBr{f9`u3c$Iq3s*qL=wEVuxEkd-pGGT!l+EX8mj1+NDOP^g7D?NYkZsG0j>)E?U0Ym-B$>9Dx`yKM&?Q0|MZT2dI zr|%DH2W$BIeI&MXqgUOoew?GJQ-c?0kGo5W;_4ZX$^W66-Ou8=)W8(C4SOK3;;Q2Z z!;9wK$(pyfM+%LuX5G&{&WSXAK8$9$`fK=eXLD2jxw*fW2mQ>A&hsDK(XYMa_Bh(5 zXMfKP|HjU%IT1hb>+(sZjQ@@HH=F;aehfSx8mB?G@|lh5$ntr)zjm!&@0pysdb4at zfehhO%X1!u7lVt8ziTX7yjt84(&ycSU;jR~$7i#1y2G4<=kmAavG#GnTa(wWzoXst z>ouz_~|9%(FdPTQ@xVC zzK@sS?C0$EcKw=MTF@>%IP@gT==J!jMrodhcp&(_-i_=&x!uon%=r5Fnqu6J8Qyvc z-B+h7jpoE?7b#%X{4zSc88Rnm`55zISm*G58b2P?_2Q|-{hg~eF`4j2ml%31X>0p3 zUrv9GpYrf+d!EN{+wAYLvymD7s0HAgq@`7prOZfBLs0_>n*)t|`mgspj`I7aR%F_1 z{Yi)D_qv{jMd|n}Zny6Gw{cSTPPwPVX1yP^7b>|tKE%~hN2Sv-HtzeLu`$KXyy_km zOX;o8%7#vM?({fIw-T>&3OijzL)C)PeP1n^R-@-?D>gm3u3f=TEUvr<{PX+Kndf_r zGiP(<>hPo4ccJ9p+176#x`$`tVu}bbY zn@;tgdm5Cz8xkdw&lPFOiwOl`Ff^!O#EG zyJfG&o_}19`%KP0-CB2VeX}sWa4O;W{|4B&)bM>>6??lJcyOS1pZL6cUCy^2>&QCY z+z&E9iHS0wnuAHytYE~=ljMCpza{MW7rDLey$V*ozb`&t65H68b9?#vKQEWBqcMEf zeTkjquM?jqL%rd;^RGi@%o{k;?>-T`{Z_f$x5Ayu#;+g0(;8o^gAdu{_3B?_UiUU) zqTc(RUt1g#{;cHT{B8F2WqUBazfW9F&xJX=dwy>L?)Kt9-{`{n$zEisjup!jDg`Va zF8{m6x0`;o-51#2jrW}S-yFLwS%YFfmx@mxiocu3KeL0i&q&(9-&Us$-i!YKQ0Mnc zzQUE=^5XlWda0#Mj~#DrW&QsbLTJ)!N%Bj2vwV)Wn%w!@^>?-WeX_iMOs(G=cm5UC z&2IYEO^wV(_HVuPJl1)pGuh4P)=Zw4eA2$R+a2c=xVpP2UwY*9=w@R%kz{&(_1DX* zyH|?uZA-cR-Hx5FhKH5S@@&7y&G`7;+=0yUW=7w)(XAa_cb)8;Uau>R%(ky(eExa= z8~)yho(I+sn5{&)iQZRv)?7gO|sBa}SHWbU1nW8#?kEkB}Xa{_Ef`_C;_?lifG)#NKqIGEhk9&Rp8xgOZv>R#Fn)Yrv-+rP86 z+fTDw)$GRe>}Be$hW&2?-r0>bGVEBzZP&!8JHH%_Nv-H)ZOP=k;pF-I=>1y!NA@Z4 zW$ElU+M3s}EL?u9PwZl=(L=kw@4SSMb#!$ut)rpwQPJ?fN2SQ-yk2LzJ)cXDC~ZuE z%_d`SRDT@5<#=fQx4C=RzF&v49k!2?KK9ETJE zxSd<@(Zjj(c@Oj0_l+t2zaT-s)Ah)FW<|^8((TOrBdy(~yHcX}Fq*?WKUI)tZf-j zruce1tutO{b$55~^L_Jjdt}Mnbk>h0KMS|)2){xN*y!Tpq3gw4d)%y@qWy|@X>T>n zzm4CDZf@7DT;Da1T0b$LM{1F{#oaS!3SE}`UpHVS+wS~d1l_(qud%spZ*%3t9fMGb zI)036pYmMsuUa29?ljLH_u;wT^ue|1>8IQ8eZLBGEd3Vs^NE^y9vF?C)7$H~e7--FraZ1>Zl+7$EU%gMRuna%L{_@H^=U{jd);kV-5PfMn4 ztlQq-iD@@6^ZiOB@)TV`E3Z*Sl?L6vscmPe+$Z=WcbrjdlL4 zdOg@UeD)&yIsOs*-i|&`tq)$$42{mNik9(K!WFpk;MT)^QZJX6H`NkVPj5$qqA#v) z-t|gVzqRR;m3x-uY@frIvyShoUcYtOLByuJ;8pPR1vy*hk4 zJr(ym8hP2&y0rO{n*IE(bY|<|dFAI~)x_1*nWgAIvDE8Ya>Smm1m6Cc$oBpBdX*Ws zx!LUTIZi~cIp??H;oRo>o?N(?l-cDMzw6k|4iD<^ZCj_uGcI?sudl}H&7FTkT$@!e zJ{XzJ>F4Q-nD~1OMSoA}(~GC{!kN^&-t3I4)z|rL$M8GP$b00MpPJf<*7tg4rq0EU zZ=aSA-_x$|(>;A$y;rK2xvA^T#`6697zG%)tSX>X>EJ_J_i1-A5{DOpLehD;-?w*?yfJF-S{@Z&f40s9*fRjzs`*M zS-84x+j!h}pYCo*y=LL@;r%E`)bq8E%Za0*?ekQ_V@kh+O7p8?WS4(^>9DSKIN*Po z4|W5{Z}PWrG_Fh7lkfWDWBk4sE@SoFah1oHa`BBu8&{RBjhTUjv~Jcc(|^J5=dHix z*6aQwIC<-dzgK^Q>geuEQ*K$X;Wh4Vmq{LOef}?`+58jR#nywn_C5A(ePurim(cKe z{@s4f9X`&NK2A3IS$8ILejT~rE#4;o4&MLW?mb8TYki&Em;WD?FIR>)ea{*tJJs0w zm^#{7%;{+7@w`fuy{}zo;72A;cV3iRlWFQt;`kY?Q4th!TdRM z?PfsJl+CQoPH%gS&$o-BP1v|qb@5Zw)&{5Hm*bt!zT?^Wvb4`_&n#`VYou8FUALZF z%BsPsgY=x!+v0WK(DHCm-}`1f$@#(7(xKqSqp6nni+9ZZpEPc~uRcYV+V|dyo=o1) zm0reuYS`gzONKuGik}A09i6`m>rg0fHhbyucqL@#C7;8us{hsa>2KuuGO@l}HSpkE z@?&RxyxP$z^Eax!m^gR6PVw+qlGz}_hYjC#9Wi!u)y7YYjfDCBeD1sBv-DQSir0I` ztUR8-1KIHQ{11L#%(e-io^9`4yS$!Pwl^sF`S>`XR(;O3-*>-jz*jR`xIPN~E8jP} zN3&xbk?*)#m&KD?MkIb1u)ce~&qp?%y!(35sB<^j$@6Y6e8OF=L`gV3X`Pkps9?aC>S2Q^AUUPi@92vfkPtU)|$B*IVV)3gT z%r1@V>`V(&{=aG!c7GfwnqK?;-lX(rZfRm?b3CSd*P)=MT24%Rfv9m{x~J-%CSA-mlExe_NZ|f?skE zf97RfFQ}*4_3o{8Nj?b?z#(F%wA6J*@`2J3Mz58vN>G}Q! z{wk-=$<*h_d){vUzgzIdz2n*0i_PlQ;(q40+YjX}UvK}m{(OEO9d4HSf9CC6_TEdw z40^-oJ;h4ozwp6vFY8py-g~Amf#jV__3|oi({JCD z(dp;q{>SUP@%|3_c{{FHj<1w_U)P0VC%>LW4L{e)oB4B5`FwUbtI}pK2b;a&llbCz z{dax3o(fN`O{0~G4=*9_nJsjGiRibzeGf9zGoNdD_MUu)tzA~?RPOq^?<{>J`SkL% z^ysz6y!Ee#nL}-Co^K4>-%-qnccvWe@E~sZ9IYD`!nvNNL7I>vho>}qtdFO(MG^=o z!$k|286Cc`6~Zx-3p`UHFt4O1c>jsyYp<92u|2f(@#t?)j{i5|^4>MVV{-WYnfrCW zl_}#6{WZOOFMA$vY~N*L>9Gc-v<#3Xk3ljkKNCb7E)Ix%;LHAFsA%qw3ZfAN%?r>C zLE&I5)QmkvogBTNzYn-7 zt&0J0u&VFrA28>#)L1uu^fTghx#6?n$LYcNM}_Cv5q5r;xLY3&@FP~M+yC3mGbaJx zpCQk8ZS{{dn=Pi>REM<1ap z^wau7?(JsnY?QGi$Im^S6`7BlMuZi2w>SA~9=|L!ppK9`HZ+Na{TiVZNfT>^8iM)} zqgG&^K8Z?8NF}5v7qgX-V52R!}8qTYWtH8&>!Zge*yresCk$?*8k zCNKz!Fs?pI!HhPBsjaNHhPe-qudX_aNFbTA-zX8PyA0T;FwC+ig|~cFUf&9{eg;mG z3MvG|@PkCF>^iL4V`y)p0rxFNhNn@9O2@CBEz3o#W2K5&Z>8tx>rH{|EdD(K^ES-S zDhYzk67f#ZLXJ=^y3j8M29D3D!f2!uU#7A5)iwafh=IZ7iSkM@wo+};F$DvJ!1pP3 z=t%ewxH5N!wH7#HAdKous&rvtRLX|0>Sm%wa0=-GkQB(`>OdjthN@VuEh(2|AM;3^ zm<}hI2>`Zco~|tlRv{FV^iOZ5iEdp+ctFt|`VcgxCp&!NUPA*C$j{P-S(1o?9!-TT zuG5o@mk8x07^u>sizcO~93zpcPY?#Uml;lqIz(;5P6r#ZAbbSbP&0|eoitxcS;=G* zR}Vza#lqeaeuEKdvB=+IuairWF#|x&C~AC4WU=`D2x2{;sROg0#x-5puj4apn9h(q zdme?jz{T=#l4&9s0y(Kr^ze}ManwpqmN7)H;=pYjZ9ecgv-L6yyIfl`RMPoquS|YY zlM}vea0iN~ib};nvB<&#rU9d7WN1X_?}BP?HN*nnNm<%hw9LX9qG^L?GSv@p)WXsR zBnhkKl-1-h=&|UOskpTm=y$~?!n!QE#D)QS*f+src4<{91h5rVM~Be#g%KQ=;h0kH zleBRLokN(n#Cj*Dju~lANsy2tWsg}1To29NRuSEGi`z$}Va*ch7KNeb)W^gTjfjO^ z1iPlbPcuWQgL6?yA!~+TVTH#huS6uLFNt+b?VQ6Ww5S!WTZnSJOIx(J!Oiv#9#BF`E!|BqWuBbQIi1*5 zbV6f%Y7DG9_WnL?mT1tkBo)mgDI09ot{o;PST>lAS~!^a9$y}EeD$~;@JfpV`&0ll~VvFB+iUwgD?79(RQoiM)_*2%2r{el74nIUY0hh&- z;|vRx^6?gF6$E#4{e!1c;i!5FbuxY%rI{4A;wb>hRCx{*G7q-t+YMXc^sZmRNys&h zyZW6$F(^pk`!|0sjJiAR{5Uy9pWd~fiarJW)X5MT^2zck;0QLa1FU1h?A9!0!()uv zqPCZ!N8cJnS>X_#7C9u&lyPvDTeBLaiJH|6KkHf~tGm+U#=}*h$hD)1?%YR;3Bcxp zz#9VWpX^o7)$^$~#7Np<$}}lXPBxw}U+d{XEws4wUhNG>uZs zl1m9R#nzkY%UwLi8F4RgRjy0n$z?{3DnzMjsNGW^taM593L}jwXrdcRjwI^qZOrRO zdWxl1KS;)=n-MY_PFWG1MDjB-3UKZ^YTwdE`mxA?{s4 z(#3x7ci2h;9;W|s>_pU8Gqu2y7JFD$AcT}h;K~x#GsEn z@E>vtqP0pPM!c}0pnLGiPRYD(he)4W`I|Ck;~A!*CRoq;Me8bOSi<50YdKM{uZE>I z+j@w+P?nCZ31_ppk9jr$PAL%I*uxV6c>mXD{VhCpLY6PVAs4pcmPhN9vE+->CZ0|E zGtyh+alE^EU&7pYH1SYvUq~zZxx!TIm&oRt=DgfoWE{^?akaL=tm~Uv{&eaja&974 zjn}ty2RLSNu}ri&)1-|6Qd;! z)b@#;YDPWQB6a={es^XzGL@tZ80-llmyx36Vv~dCFpvWR#3c1>O*ejR;|Svfc2OGx zl0TLB|1v^tciA(6C#kTD&;r}iSQqy8L6VC$dU187mMM(ySMcgERuzsFdpgg^?veas zUSWs{zvnZSON-X#Cx-`J1FGRs>}=ps)y z=RVz+pMQyVnReUw{VVRrTdolQL~jr%7XOmyj%Q>zPRyZgEf@_phQx8p*{VGTd!%hd zs^{5?NuROCEd~p-skDj|&SD?9ZZXX%iMOA&(UhA=>t+KK-c_w}Vr3GK0y)|z6IN!f zl@EbJ3tvht%CFKSzTZ;SOOdBhxiN31@?OdL-tGCDteQP)`#hrHHTeK%S|`>7r@>q5 zbmMh1%wvEW+1@51wT$;8TI<&}0=lt&Egyf*S#s+Xfk7Puw5GPrNetPLPDIsYKHc-r z#COwNd&k&#rF{><*EV{R*CDHo*(se7(4=@AzE&a{=cco0nT0GJ9trQWh(imO@x{UF zKGqfkop$V26b2#_%V<* zZX!?=^+P~ihn&zkqm)A*Vwc2+2YRYo@s?Di2R-Umn_SL5>Qr~?CVu3r1>?Jf-%@PT z#^liy?R!2kBd?H$8*;E0djHBMO5en_zrtc`g$rn1OL5rE^~cBZ=~lzN7x7rjp6m%M ze_x4>O>DfO()icQ*pEzi=f*O3@#KXS^VmZw96m+U@g6JSa;m)i)Z*ShvZQbEm#?rs zVR1FS(|s2X6kG@{gSEtW>wiVxKC%j-zv*PEp?op7#zwSPX^+l(>Y6(HG^nf_q4_uq zw=<0rJ=^Q4+3s3tW-&02Ly9>%^g!n{85bNJM;K^YL6uwJc)DQJU9)!W^kLF#nJt?> zz!&7EgGQ0F|cV-k3Z-)z@dtVJ~j@TYN_g{-2T^F{+fhLf~6&4L2x`%@*^8E?zR zH6N99sTmo>GFnr;oz?r^1-S1b3*nu#1PQOLM#b_$%|rk3w)-QO)6kSk|Ln>&>z6~r z5U}iIa>bCI^ZrFP`CZ7rYg|kreh5>)%~lbLY`Maig(RQvT^xqw+OuSx)x{V66tpMe zU)>{O9>M-!vGRc0AlJ+5;R)bU7-jWpC<-zwOh)#W!7a5-cv zG!cCkt#ikU04K)J@szZTZ)%qVgE}Ef_rQ{(84rFXmHhGAp)o9`8|@K;`8R4D{D0kj zv|J==Xc)GSY@<6Rr3iIuNwAY=B6zZ6PUrpR6Cag5Y?KBfSJ4XY!64Zqq9SAKA!|)~ zkqG?;8rS`gw*Ezq##jqo`|^yjEHpkv{GYZ}6ZQ$wcxIhkgkXMconff8NN z+vR}z`;lYDh_|Z`>fM)&It}82lXaYWpXRazZ${+eza6$P^!oAn(rZq{6tZPHcgJF4}dn zL|6LNuq3jo#M)aZ%CS4P;mFgUK2?S4=b23@TO*QF$uiSD|}k!lK^>)#3Uq@)huqpSnJl3~YtbZ@f?B`Bo`R)5NE50G7N zhILQ5r99svOrVmxZyHk2t3kxXVIuW4?I~Sz2b; zn8XSTMk=o`-w_;WFuG}^=~~Jw0g{vqsN-U@|1t@DkDd#DsTA|z{O=9S=cW3AFcF?6 zX%sOOWaP;+mkBhHl;c%tcFfNj$zloCL`CyHobKYOdF&PHEPFlbDV*N!Dp%$BYH$XX zoe|AQj!p}EIcip^R?N}rp8c+#B{h*O1q&UVY0)0v1L%woC-om+PP+CRIt9qhN!g{Ubl!G|I*TDyw{ zj0};xf`QCTJ>~8rC;PP#$e3#k`&8IKiEUNgAgJl z621%xY^Z)8G@-_y|nZwE2f|SW62<`V2Gdlk@^e`rWGxg zMB8eTG1#OG>Qjv*wNh)p|>>O^^PmFCuH%xB1mHr!bTz)=b&Xk``4KPv(mvD*xIX;#y_>HImXY-53RKKONIq}Xq zZIgn$qijC9_Qva*X@m5bu*AmW%p41ug7>Hkrp?#inHU_4OMlmlcCGX|@TGxRTh7QF zUEu20L1_55=FWyUN>z2&E7P@T_6Ph*D(b$wc6P3RdCnWL9|C1>$NITeP)5h=RIj_B zFgQg~fsvP@&ak$Dg{B!wM={RwUEoFpNojg8p){+NW2-3%0~s611jXI~`%gfxuFO)j z4#$My$A5mB7p^IWOx}O5 zKy*=N>x=}Csr|XbD5hhzAvR9VcfKx$?o9d{7>}57TzxA)Qu{kBp6SNDqc#e#6^aGfE0U|8XPQ;N3v02U8-EGm9#G_+L6H8p$g zghqVdd#PHk@FTNzX$^cq8cU&!U&4x9ED4K0*T}aajjfNfD=sc$#%(n=y$dF#CVW`+ z^jyulb$fAR&SRN;r(KTvwKfc9> zp!n^S@y-YKvm+&K-EBo4^i!N+Whd5JiWf&UkA$MNH@zkb+qynvmJAYym ztU7YrRkip80KlYpJDc^&3V3Gqxs|m9ip8u|wf@5e8O2_XFm9G39G5Tk$&D}AOnRbjIa{U%D)5v3%#v@1Usdh4I=&zLXv5idUSgu^Y=xjK# zE5g`x8rG+%_g5H>XFu7yx`LZ$tJ?lSxybuE%<2nZ275`QFM^()3-y_M|35ZSc)p~$ zy=@arh-(}V_Q~dTRr3uq0fE&S{#&ko_xrnZ;S}y^0`^k-<)O@z{&|j>%&tCcMH|Gq zqn^!R@zs7NtQ%45KYU!AP#jddzwB_sCr@mzy+~U75>0B1N`Cxw>0PSUdeEsU#N*+Z*c`oU4N^#U-j;mBlN4It-AE-lErZgjkl={Ky|ed&L4O)(dh>jgo|+HC zO~!^C{t`gAj^p-*o4M)FLyKL0p^3(~%o4C@l#Yt5CBlXF6$ist-g!~5Fc_UW_bLFz}IX1YhAAC&aPYqQ`wDCN-kL%>8TSM!-MEM%A zw~tVJy@BZ@G?c>-c8(i;jib+FD0Q`Q&PG_T#~UxaRxza>qdVh)D|J-{EwMP2_#KEk;F2z3Pj#Q5s4;nSC_N?BG2)#>|CyLugu^t(}hKe2@nQ;MxAk6I`2 z?ALfM0vXJ@TKp=E=ds=-*DP^c*7XtVF!Mv`skHyj1c;#fS_?ipGpFn3d1$4$Wy( zWrT~nj@}nb_W2+!2~guP!$F|C+LLJ!2@TKOqiIUUtGKW!`Nr*Yv>y{3btimPpi?`e z>34W+{3U6gxt@av>>OHw&A~Kn^k21<6B_+H=5V`>**K)yV#M876}F|F^6KtF0DnmY>q% zMAt7`Ne-2Aqm%E%3Cb8o0m!+Ra^ZVjcx}{2Svh5@-yZc(K4TegRYyC`il`I~tUBLC za|sy~dT;Ret7_NJu;R@=-c2LQhAssf?uRKOTjjg+qc2{$e0o!=CRfeAw_{BF#jD;k z^Xlj_`lFhun|v~M9N7EuoHHX4ft@1?pzn}*C$=us0D4&}8W4_n{i{vo9)1o)`k zgCUDMZbvtJ6TXul50v6B=Gz+Qh=PRE@)CI#!U`f9X^wm^_t?sB`irwvatQ=K-o7ygqxz!Oq=FGhgSwFm7@4VW3TmO4NRz7fFOpr;d@#s(w z)N*R2zJWxYPt`UWVs~sz7Bb`b4skE@Lu*H)ML(`@qKEeFO${EgSdpy#`0ZSySuw~_ z#OfP|;zLN7^cBuWFzZ>gE1x2Jy^Cs1-dR*2*OZ>~=(T<|PmJ)@>?rp5G__dO%f#kh zM)Y7=yvnCz0yCS{a4s@pl^bmCg{IML^GAR2Rk_14aKuXxiA;%j~xtO3{tb(l5>^PH2;R&pDGo|b&m2x4y(ku z)>L@+=vX;%+xz$JC%cc!9VVd+F&&VMs`-~DE3)W{2ljpGAT2ea2b0)iN`HsaHbWae z-Ni}e*zjP4Hm&-2T*kf5%W=``Q;(qUcJ?4r%eNbPy9$Dt+J|Ep|9;8# z#6pfw;@rK3)4!7!E;*}L1qm{5S)fSN0fR&rhddy0JY$cKU}TZJjOq4T!C1@hZot2) zC78U@ODvCi#&pu2U>*u3z24z8^SDjjo4T2*I!}*ZpOM-(isPpy*-$46on9wSC9mLA zJ5+OKvqDRawU1`jGh`5?D^-Y;{#~AOt+*|6#73UMpe9y%^ z7{SFuEZqxZA=>Rb5)e3?r1q0j;u4}m6WtV1JzTsud2_;rV^v1*HJgOeD)6;gzN<2Y zEK2|-DiJXWdE(+bR4Y`w={=?ZuW&mvZMrwV5^k#=;mo)Ej+ul_TJ2fuyP~Q;c-!dv z%D-r0HfI=+;2*KuNm-MRZA51X*1&rdcGr5h|3v9OEoBy`^;>ap#9s+%k1PaselNJ- z%IT|A2rCDFC1$@fFoQbUK?1lGKkMZPf+@m8;-{s|k&Rqx9f$?syyS#cKxi21Q+Q*H)9+ zxHu=9Qq;R6oBh#9csHGY7m_5$H*vUx%wze&gz@@5ZP2h5cHHB+Ez;$S;3sOCi1EHO z>8JOFa-vp<+WHRj@<`-LAipu+K3$J+?DJc(r0vsLz5Kpad$;LN&)(?ZwQB#np73?`=_lB(=+0s_DOOx|N*31#ULp?sc zg~w3`&;HMj!DRewxR@IeJemSj-|Ujgoo>R_d^rtCuZZC2VEl_fWE2?2woB!H4TKB! z$jH#{1$ZUFY3vnRro2hlDKu7$ z&hppUg%s_D4}Igdw&80A)JLe4;OZW?_bBhBu*Ijy_wU0p@mvnf(NAiI+$Y|b$FNM{ zmY3c%#co?vb7<%dSc$RJKs-O_od9h}u)WFs`ELu=ih+Fz|6udfaQL;j^L-3+a+pig zE5bnp?*K33wl4Lq_5^fL&?NnxXN-h*{jY#(b5h?GbO~%Eg>l?<3lxuFsYg>I$xGD9 z@UB^<)&WL+vq(phKhs+M@Gmuv{zO#)Qhej}?Y=_9ztrBwY+Ij>R>Vj~T;y$hY#45e zY>Wz6WwzRZ)Z_$R3W>H@XTSc{eUsWjo&wUWJAN~(()fdQq$dR z6{sS$c>ua!5EQARv>#)Aw)EU`dB5Hna36t}$c4$=txXOiBgbah$^9jq+v4JlJ1>1D zyc%=EQK~0W=MI;;oy3c|uUhwOZI@ML>-_33b&4CWynba z{*fy7`m%hw=bTydx^^N6Szf+8?yGr?z&AHHvi%u-{T4~oV-*${{G_K)>8bIPJVX(} zwx^@b^8YB4j_Bu+n4RiOTi+=Rd%Rm4+}sx;LWLP%N|m$tZIyZM`08uf?mToE70eX;oBXQS zUI=5pVUEng)jTiQjY`1oMSBDIXF zF$RcC7yV`?c-HhMN-)uk)lQCpvtu9^y8E10!0gbN9&X%2fbK$5TeF3ry2NrZtX+NsdUS@V77LJTX4Ok$}kc&LxBKxsTV)rf|4Ke4MqT27URgjo!Pk!Z?aZNiM6};ZihXMCx zcPtFZ#*heQJ>f9KMrA|1xNSb2h1|=y0vl^FlLL?VQ{W%hdYo4DM9S}qRhY00-jy@d zyPM>alD$cnw75ZqVtfD0kt}U{7X!Ylk;u{Vc3C;}wLOw$2~I@8wb=Q}!ZpQ_=U0&6 zV1OUjPy0Y=m^<0`*G!?=Z>yP>oBFc)O2hIgH$R-(afg)%rsRWm+2)^TZwM$Y>x{2@ zyS&UX3iL9Rs1^21Qo0URMtooRA!v8jOTK?vq}8#vlwL%-eRR>EVnSg_HTUY4X3cbD z<}x)fe%I;H!8Pmuz_(EfxCO6o)w)d4n*s5=Y8!)TKvkC5>bI9RDk()T%pfes;gz<_ z@H|b8TxHjc-CAPhHx*Rc*$*FCxeW$r^QFRw`ng*@ZP8%8SJWcqA0u9@5zvhjK`}p9 ztMAAlPY-6OJor-UIa^jk^lF;_9*XUl*S%luCBg9?x}%ho5v)$`#AY2h%n1rh;t+2; z>Nw@J5InKe)e88AtDrl_Ua^Z7{$Nn15RZFOz8&Jxvt*5NnRNQw=G34KD0RndT*%#z z=q3?!GGqLzTUe{^yWS)8&=L*y5B+amuAiHASp2CI%vCG_M9hM%CT47+>CjH*#1~F9X1nFNj|LD z+nxnity2KX@Rs}!NciZ*C4Yuk*SyacSn9))rh#wR=m!;GLzGFIM|p>7@>#BoBhRT3 zBMfgcrINg|A#(1x*>ls}ieQic0E|odD!r71wyK^h{%BByB|!L#e7Vp_R8ltxCq=|_yZ?26N-W*#<3nSIO22KB8jYeEPT6#)3gc)yGgGejK;@eLey zF(>~2Bmc-OHqijijSR@*J+)%3OMBa7h{_uGp3L8p>4~2?TsZ?!g#ZA5-^i@e3>%Xz zgEd))wF*znU-dixe?9(j-*0Vz&%gNgyC7PHNn7A9E(VcqHICGaiyYNQF~ zC>;M2H00d>s7GwGvir zJGCC%A#ss=h51IA|NHR?+J$hp-O4;}w*pvtn&s7Il>J2`9RQ#%U~-!jw-AvdpirW7 zI1$)Zazoo~P9scH=D(`p64n1w7AgRW%M0WhCPGaP0EYzt5KcC2P5m~Q2HVY-w3y*<7fFcm+pHvaDq@2lZaNoIAPmb-%3gpzc0 zh_CnouuWN%BL_%0fUn^o22bSiaRMwM5QzTBwLThrPq(t3+^NE*GY0%8>s{2K=#9nm zv&)0NI@aLCe81=1Pu&xGjxn_*(Q081Cmtr2d+Th)FZODZ006T>p7&0RCAaV$)#sP4 zgaEiLLiPc|KunQH(zqHqB41x8l@IDu)gJ>9Eno^a>o*FBb*t z{j<)ZBW9~0eN>q>DcPy|s^}i`o0Giy+^4!P)mB>7IP}$By`mSlDw>#Lj#?7@%R>Q7 z35_6Is~YP2DhiT-{~Usy@(ORzNMWdUZ{B=v zz8nB?yefe-LzWs0y^FqxSG)k{^y9*NqZAt{*I7VX8tune=UgU&lELuE)$>>y%a33G z*WgMiN@ngj`7e^>kIZ2h`wn8dLe74urbjDOSaI(G;*me|R^G>3za7IJVb;7dvX z>`Kjfk4g81+bZ4~Xfqt}5LEFSP3XK*F#R8GI!UNs1OolTDyzbpm|c(e0hG2lsz60`U+6BqzZ4o?dkhE({vtZ%x;@~gkHz_tL5 zH=}ooucetPyS$W+&NcC26Y%A8LQr<7u99OR@hTd`?Y{7Oz#BfpA<8`b1p z+VdH}L@iItds6qRy03yN}8kC_0ohaI$@2@8RJpyv#Al zX$BK`c13>CD{Hs?E(T7IBbx#Dbv*Tkso-6q6cmyO9|owvg;GHSRpH_}n~jgT&{6SD zG$B&#lZzTcLg8wj=KruP^0btdL2S6WS?|5od}sZg*9H5fDiZbIp&*A3l>3VZE*9Tu z)7Yz+J`q4bU;Gr(9&d~H<3ATNzpKi%B`>|W3@!Dsg28m7MMuG){m$1r!L&AD6}d+c zxt^dN+TU$y)Rb$%+9%@iMB4CPTJPghMuIW=_=H*=h``Sr>P??i>(hSsHiZNhy zV=BxYdH&L`I}!tsA$PgfpURS?CQ@cHTevW0{)xBkH9Q#~4-5DTiYOtFVk8iYoDiR) zo_7(8Se47eIiwDlRdo*cP7vGVGx01x;QvYK-py-y%C5HfF z@ATxrq=+=p?CdMwl)cR1r{K=}GoSzK)B6YW{u?YR76V*5>J&*rU%1&x07&;dDaI2fG&CS z30m_t=z3*-e)nrVR2~k$s1)&-oUH({a}fBImX*3E9QR8>s?`O+@CB@EGL0wA8r*Av z?bit~!15INm&`-m!*?|eEF~!H(?tcfa}w{HlX_djzt?hK-5o}t3;fH^rtW{!@5})C z`d>eEp`e}hxHCYKb!Q}+OJ@){hZ0F>bkUVu01G`ca%vwIIo14M z^CJirTOC}7A&vNW-R3@84&iE!BnUtfxW)1fl?3wCUwb0sW4UU*8smfWC+AIo;OM?0U-Rr4ZM^c8$9@Dyr)7OsYQN!y%hU^xJSThmm7DNxjILG{YTox1 z=3=4tDm7DFopr<*msGKoQ;-mY<1BizE)Ur%E&SS*htQ;k^c77EJdrgjmi1=&7*zrP z<>_y*umaEY$;D5a6sPA;h*scvrDmcv)(B&hVMvd@uvTTJ*V!=ZKC__@d^MlXe6<*4 z@32xce_#3SEG+JL?Wl-AWmk%Dn7`BaUUUs0KJ-5$1UH{=SPYc&&+9op(tZLvu6v8Y z(NqVNGMqi$Vz$q(_|tTda%JDVU`5nyV9llAM?}v3)w7-VAUy3FZ~5bvp6y==ydt*! zVJdgsR=4=4Q1UlG{L@ca^-`#!hTsYY_r30=@5DM=rklXItD!{r{tz};b8GcAZ)S-8 z%bxDE$mhnhi4qP?ePH0;-Usreq;+9xq6j@+oe>+ceLrZ42;_d#%O1A%IrG~42OUj& zoQ;jePr<4$n|$-4J++y#6DDDMblZi+r#uzmr;g>RjIVFo@m`|Fp%+6MsBzHs%{k`MvlU~<5a z4-7&7H!`TH!>xOKR-LPHXXgs*>gUnxzw2Zqb0Lzd<=(LzK4v)hz7R0CWA~7#Uq2lT zWDJWzW+NLF)0~J#p~*XSgvZCujx)!TrWd7&Rk!O;4*Yn2QPq6E$B8s@1~5>a@?4_J zi1%+czv|T>SadCzvhMuS8gl}$YN|rU66ld zSS>|*6n@s*G7J4@XuxCLSpw~Hzx$#XszG)B^0|k3F_YrjA!t}?)=?8APQO!!kc!{; zRTMx%?R=Ffl0zX#igRF5qcU~O60s-{_D_?nU%CW`C4mlsghLTSnX=4YGHF~i8rMi11GUPLTNAS0ulrxTGfd- zObBj+y#4z>Pyt`Re7I!r095TJ-xGuE#02g}Yfu-IuvBNnqyQ4Q37#e6hiV{6nGP_5 z%TAX<63xQuZN6rcYnU62K|fk^g=ad4gW?pV-=mhc_rtHWp?uG8w%H#Ac=rg78Xt9&OmCZgteYeZwB9_Vatp)UOYHc zW*3pMceK}#;8ev|vU^`-Xwk}}Wzqp(%LD!aKF+Cr4nrt=w96iklMKJ&7=;0FNcMN zpg}7 zi3JZZK;ma3yc`PaW!cltl)JHnf5<*X0!L6rd00~Jc)4jVZ;=gZ#x0Z}dhKs}S8J-h z#rW$ugOr9c{u~5X$ediZvb|uPQ;#&eX-cv0q2H7;jp{#ArpsC%9B_7g`eN1iiG)Gx z-M9>G#FzM#@{>K88yMS`syd1G54=x^(@H)Q4~`P@O?+Ff81FtZ5%Ajw{&JN4(rvSD z5>+__v4aTA$X6PB>Fr6P*+hk&LMiMk?9RQ0BcN| z>h(Jb(6$9hQP7NOUO$QG(^v+r5d6>|d5y%p4>~&);$`)ty=w-Cnm5N@E8{@Fb~&nE z2|%~?D3E*<-edjlWP#@veex{h3ny)+TB*T}9Hh|P`zrk;k0g1aTBo}GAaX2S8j1$$ z7#TV$7q48ldOg&jf5jBm70$w1A2j@{%V1P|ip%ajILIfLYz%{S_E+JOBI*N$b)s6@ zA4$7Euqx*FUw@}_PL?8iuUez%Hwvdzp2WUFo3v@G*G7&|_}EN?!$EhMYQ_i!2+IXM zzk0g7v7(xGjlGSq*}+mTQG?1KXF|r7e^NKQ;Z{77_p#`ptZ;f$P-=I3IX=$xc9~2t zI}=N7TBN*Ykcq^`VMN4T`V&KmnKic0iyzIrpKJ=!5b{>YO#VCs-Yd9-+3{|S!WV`q zzy~hawrqcxllZU}O-}x+*WKsS`fiLNYjL@l+^Se~NAO}o0vQKHz^qaDSTqPVCM%*k zcAf4}diPxo*F0cGCa#3YcE~0AId$dTtnBGBFAL%k?796%M0TDu{{n>m$r9SDY<`Po zVpXlzqbAY<8{VZ__|q6N9i&Yz2@IqHEkbf8gvWXM`kty3op*N!n(gnO@~y}&Fm0Ob zX$j?r0gB{i$@yi&7v0q4uFus0*?}iZf%1eJb0%Z?|ki!axiX+xuBm>n5Xru!qxh*?l2}@ zifRLEU(>^aXFfW+Eh=F82%S^0S~<@u2GKN2;o4p`K5RLkAL;E;FNjPp+5lerHz|F> z98SvgbIxQYuM4ejZJn!($3_RI4ozJW|2ZMG(=GB2M*)sh{ zNbUs3Sh?HB)7cqWxtMMd^%6O`2j%<=#-OEr1Yy-cS^dCbqL9PLtD|P$$^{EO0Y4)% z_Du30CIm;3oBcexx!pTy!sa)}AL2wW5TdT1MyDZ}#cbNa?zonLH{VW}`}tEhk${Zf zj-*#*B^bzl&Jmkrgb(!c#S^F-pn#JwdQFPHcz9N=eCiadT7=oLW2ZIH(iBv9DS36b zPi(WpLWmP^+ykk_<`PBxwzZQJ5H~ry(2FklKqBFG(ef%jm>7Qagz+2ApOKmwaOOC( zZ08aMQ&;z#B6Ml8PrIWt>DG!$ZnzJUW_|{qfml~jm#k3sn{y= z;G_;GW7>_?RYZ>PI(DX0*B}_p5ziaMeK8Hto{bu=ee%pbDv6+#{uY~B0IdS2xD^?2AGKc+dDsl&I#^%?In9my7mP`@M|2fe=1ZU zo)Y$<0V+wJdPypp;3!TDhrTrc{*80BUyo6A0&{K=F9z{c%eR|26VDJlziTLlx7)Dz z9Zje#pjbYDB-K7!+?UpW(QdFwr?wmEbf4zdSYr~2$BNR;?abK`SUlJr(0n4m)OMTY z20yAs_szrB)M80@|DF_cX4I){54o}zhkD+Le9r%dB37`Qb4R@p8J7nzuu@v*w_CyzLTzrke~V^(+T-^-fs*m;e<-|3l^{U=^eV*!H|S#yO$ReoHiih!#vR*UEM zUprzxZeGHe$&8;8!N#iO4uxJYXK9w+yV(Xy5y!1bhfn^|;d*z5f}rNh>>rEz4rV{3 zR^@dpROW6GUT$c~)gRSGkfGmpMYZvsZCuN%&_QWippH4orgoi@{O{yYw+Y$s(>WV{ z{<>V9ZY6o|)Srvr1%q>YwG}2M#Xp_g#KCcwzhg%4K2B&@DVI@Ef7@s3Sy|*bWI~S; zKOoa)F)Q_ok+Z~qR>^v!AE?M(NxBKTj6qbhNy%BIpBT2*3hMFXl2AK!iNxW4C)dB5 zi?aTNcDO9hgi#k${S)zm=4qgx8Xm^&@nju4A?p*F%{Uv#bnarJ?>;V(n~(zVxNJ=G zL~l>5nazU7!V8V~6N7aANJ2kvSH2B!^43&1DJI#!3^04)L>lS-D0X}H%vqAZp3yV~ z9`4~g6%Mp(W8|qsJNe6OO%LYYiRn{(9I0l4Yu=S80@DQS#q0^4{R4@i29Eq<$YKZQ z+Je|o#xZI$v_)oV@0YQ#V3e+`uEJm8wEyPBkZ767D_uQT3%w%?H(onR+5HMD6e`+( z>q1sd=$G>z8sB!{F)DogwK)7t+}v0i#ap>gSX1D~pSb?F2z&ZXXJ<)IY$+I6w~L%R zoyDr$CXjT89OyuqVgXswNluidjYFSwqH4~1Z>19Q2<#j>)U;ChoZr6X9CJD18K$BQ zUl8+yXc>D75WG?Ui{Q+?A*@;QvTt;U?Yi{syf2))CHFk)%=3swqn@7K!|%spkOOVh zGvbXsybr&=RorH-G(+7i)W8 z=XA#O5mfXvj-4=}h?8z8qII6inB+x*YoKGwYb|E1E4um2^%6ahgTiJi7~hc|nX*vN zmg(|l#tB2qbGIXMmk{&b7YO(U=xR|8$nV`!z5NupF`H1vUSf;gOzSX{km291QJ3CS zx@$+4ds9^tU#}AF%N8hLci_kU$`T9{;uH6*c(=~dhIwdYl!?}RDS-x>KhwM@J(Q74te9ydB-eK9j z-As!Reg30eT_NB~F&QCU)1AXoB35u5sM;H8CE5D;IyJN)?pjOQl28`;*}3Uyk0M-F zEnC8Fyn%$kFn7i8Xd^0V&S|k@(^Y2`PwU}i`iOy6f7n9&`wXwJe|ziGi6qVY?^lfWya3 zMWcS!7iLJHlY^(WpafvuX{-!+a{x%bljzXLNNRNN0UxpezuUpQU^b8-*R$5JggM-<0ZRNLM zi;f}^O1^K?lfdt<(h8@-r@rzpjxDt85Y~LNV-sRjzFueXUv}K&lSir#`5Qjt<(!J>O|5aGz&|hv`EV3b)|O z+kYPVz>)nBU93p*sB-Z_MqumbJ4N0{$GLg^HpzpyFkC~`IJ)06(>qTZ#u+YYhh>MZ z>5-PvsKi9yZOmDj}-&4{^AI9R$@{_%c`1uc3(Y!my z#M99%9yY}@ywhd1B!;GcPi9I8+-twjpUt*<`W}8UVq;sTy52)HwQW1Xw86K+0+YvQ zgE3g2tXYcXTa%U4&M=YT)0o#tafpHk+N^Mc%##S;BeIRW1EX~B!LC0lEPA01gC*ZO zgX7I+U98$;nrVI+Q(=4Wr!?gCw6P4k^rlF*nG#e<`YpB`+MS38^%iMX_|I#Be=ak- z^&~(zYc&l{CSG}$nfTwc2h$P~(sG9;*0zn+9jQ<`$^e(LPW+?$Q^@e61ZD7jaaS&1 zuS&ldF8f_6N!WB%LR%b|YmW*Tb#>XpM2ArgmCFGFrk0P_Unlv@l4xp9)oX=z6hs4A zJgyX7Cl$A=>!@u!m1=&I5*NMPaV;+MpKH9H=PSfgywBD_-ZQMKLl&ckip25>(XI-> zCZpevarOcF+CCx-mJWR!Ki8Ss?eARwh%u!Yni-s~5fLMNRx$ThMi>6sYRUXluXZWW zx1X$~^EUUFK!=C){j0k5?I)(M2Xcyxr`L(@724~p(0K9+wP$6LVDysdX9PiTysT05kKG@u78^H zT%Cm3d3(K_c+=6U5M1&5DfhXX_`VSvFPV2STLe4!`+BFOA!J`!6d5P+_JpXd%L`D+uV}7r-xVFgz{Vl zBvQyAZmH(p4VfZRn0rykB|-81=zYG0)Ye`_rS!?r`@HeD&&8@~lQIVbhfKr(_$o{s zz*p>54wlDkznw_6nZk75+iZyloCXJ9WkJ>T>~AlX#cMWzW2Xex`@k9OaEWH%zVcWr z$mQ}E9p0wDN2|zr5`|SZ+dnw^Ju(eqfjk8y*>n(WCsoVhq_d#o|6~a?sV-DdkFUdeM{z zzCR(0Xf^$08^1di%#qJcz0=*O%yK1i@%Y51q5~I@!w%4VpkysMUkV@x33>-@Celej z%q%)YIYzt+?o+=rmk++M3uz#dB_C~0gy(|6_BSvIh#sV}ks8)9g1}~h!R7dGM0Rz= zuCdz%2stsc<#n!$d2z<51WHb~TdbR4W&z==hV6sO0FJ?wr1g_FWN*PAaA{AF+L z(utT5Mbr?aU%)O3s~TF>d9!BaVZTU17jO$AeH}6!Ab5(Y36&EBT;sZgv zU|?%f>-xn#DL5VXC5KI7MrXTEeXo@%4!bVqNmhd0N^?VVB<_&U|{8VEwcJ)^T3 zu|A-Es%v($7eXz>Koip;Urk7)Fyg>h9jcjwGQ-w7+R7k2V!7@@Myf;YL?&;HR5iYO zBHFn!8V(aNE#|gIYc~v{|5IVZYg^ls-@oSJFG6B?4T+PleNFJViC=gP=blmNMKrnMQ3N6pQAVU;gyB9EW1rPN^8Mpvar z{w6Q{e8GkO;q|fIG+!sO_W1og7t$QOk#_t@DvSg5f5l~Pk=5k}{D;(U<1dNeE@Rp4Y`9JXF zzI=L~h&f~Xyr`+ZYsULO^{AZ=I&cotKNa_7D#Qo+t=%ylWj1*m?3n5`0?{JMFbNqq)h3E00HKN zTb42_zQHLI0`NjyR{}6(zz*tX8I0~k7R_pnhT@WuhxomGG2(nYcenBT{I_)OIG?8w$?2+@RA59Eg+OzAk4B|&H-f^y`a81TvM zRTguzMjfd}B$#-Ji-bAgQsz924!VkkP7n1W+vHg(KYzy`e}{ykb9ozA6o z_A!NM%W?Umu!$nRo zDV{tbaP6IwJlf@V0q#2+cOwkyb$@xd1gcLTeJ!h8+z?H!fn)RF{#bf z|5Efogr}r+L*LGq&AF!@ix{^&!nI}|vw6Jb^SQa6-73wJg!umc05Vhw0x_UN?F)2k zGUre>8p`#h8XO*AgRF9>X00#yY;wIyD9k&}uN6&kpfT?TIJr2l$gpdj7%yzrW=&d} zCz~2)wAL_#)RhRJI*+&5c5oADQ{Jx^Y0Q+2e_RYj+)~(4V6$>!9Pb~E@ZT}G$^M-L?w%t1mXh*iZri5s%n%gN?xR<>!&p1o8;`JbRZ4%)?^WHKd34)Zf` z1h+ObydM*W6k)Lv9o3ONTgyv9cQ_j7DMxY#8?sr|Qr23yxIlnnUOK8~z#zO9n#7At zh~YME0kB_}0G4kIpCw{2*a62-7nz>Nv$V9d

    PpWp4;ndq@yrC0n-A2k&b|WNai^ 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

  • q#!|5lLmT( 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 + %\VignetteIndexEntry{Using epipredict on panel data from other contexts} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r setup, include = F} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + warning = FALSE, + message = FALSE +) +``` + +```{r load-data, include = F} +# TODO: temp - remove me when I figure out how to run this rmd without loading +# perhaps need to commit statcan_employ_subset.rda first? +devtools::load_all() +``` + +```{r libraries} +library(epiprocess) +library(epipredict) +library(dplyr) +library(stringr) +library(parsnip) +``` + +[Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, contains cross-sectional measurements of subjects over time. The `epipredict` package is most suitable for running forecasters on epidemiological data. However, other datasets with similar structures are also valid candidates for `epipredict` functionality. + +```{r employ-stats, include = F} +date_format <- "%B %Y" +date_start <- format(as.Date(min(statcan_employ_subset$time_value)), date_format) +date_end <- format(as.Date(max(statcan_employ_subset$time_value)), date_format) +uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collapse=", ") +``` + +## Example panel data overview + +In this vignette, we will demonstrate using `epipredict` with employment data from Statistics Canada. We will be using [Table 14-10-0220-01: Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). The full dataset contains monthly employment counts from `r date_start` to `r date_end`, and presents employment data stratified by geographic region, [NAICS industries](https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), and employee type. The full dataset also contains metadata that describes the quality of data collected. For demonstration purposes, we make the following modifications to get a subset of the full dataset: + +* Only keep level 1 industries (2-digit codes) in the [NAICS hierarchy](https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) and remove aggregated industry codes. +* Only keep province-level geographic region (the full data also has "Canada" as a region) +* Only keep "good" or better quality data rows, as indicated by the [`STATUS`](https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column + +Below is the query for obtaining the full data and code for subsetting it as we just described: +```{r employ-query, eval=F} +library(cansim) + +statcan_employ <- get_cansim("14-10-0201-01") + +statcan_employ_subset_input <- statcan_employ %>% + select(c( + "REF_DATE", "GEO", "VALUE", "STATUS", "Type of employee", + "Classification Code for North American Industry Classification System (NAICS)", + "North American Industry Classification System (NAICS)")) %>% + rename( + "geo_value" = "GEO", + "time_value" = "REF_DATE", + "ppl_count" = "VALUE", + "status" = "STATUS", + "employee_type" = "Type of employee", + "naics_industry" = "North American Industry Classification System (NAICS)", + "naics_code" = "Classification Code for North American Industry Classification System (NAICS)") %>% + mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% + filter( + # Reference: https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol + # A, B, C, D, NA indicate "good" or better data quality + status %in% c("A", "B", "C", "D", NA) & + # Drop aggregated rows; only keep provinces + geo_value != "Canada" & + # Drop aggregated industry rows + !str_detect(naics_code, "N") & + # Only keep level 1 NAICS codes; corresponds to either [##] or [##-##] + str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & + # [00] corresponds to unclassified; drop these rows + naics_code != "[00]") %>% + select(-c(status, naics_code)) %>% + # re-level the industry column because we dropped factors + mutate(naics_industry = factor(naics_industry)) +``` + +To use this data with `epipredict`, we need to convert it into `epi_df` format using `as_epi_df` with additional keys. In our case, the additional keys are `employee_type` and `naics_industry`. Note that in the above modifications, we encoded `time_value` as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` below, and to ensure lag and ahead modifications later on are using the correct time units. + +```{r convert-to-epidf, eval=F} +statcan_employ_subset <- statcan_employ_subset_input %>% + tsibble::as_tsibble( + index=time_value, + key=c(geo_value, employee_type, naics_industry)) %>% + as_epi_df(time_type = "yearmonth", as_of="2022-07-22") +``` + +```{r data-dim, include=F} +employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") +employ_colcount <- length(names(statcan_employ_subset)) +``` + +The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, we are ready to use `statcan_employ_subset` with `epipredict`. + +```{r preview-data, include=T} +head(statcan_employ_subset) +``` + +In the following sections, we will go over preprocessing the data in the `epi_recipe` framework, fitting 3 types of models from the `parsnip` package, and making future predictions. + +## Preprocessing + +We will create a recipe that adds one `ahead` column and 3 `lag` columns. + +```{r make-recipe, include = T} +r <- epi_recipe(statcan_employ_subset) %>% + step_epi_ahead(ppl_count, ahead = 6) %>% # lag & ahead units in months + step_epi_lag(ppl_count, lag = c(0, 6, 12)) %>% + step_epi_naomit() +r +``` + +There is one `raw` role which includes our value column `ppl_count`, and two `key` roles which include our additional keys `employee_type` and `naics_industry`. Let's take a look at what these additional columns look like. + +```{r view-preprocessed, include = T} +latest <- statcan_employ_subset %>% filter(time_value >= max(time_value) - 12) +# Display a sample of the preprocessed data +r %>% prep() %>% bake(new_data = latest) %>% sample_n(5) +``` + +## Model fitting and prediction + +First we will look at a simple model: `parsnip::linear_reg()` with default engine `lm`. We can use `epi_workflow` with the above `epi_recipe` to fit a linear model using lags at time $t$ (current), $t-6$ months, and $t-12$ months. +```{r linearreg-wf, include = T} +wf_linreg <- epi_workflow(r, linear_reg()) %>% fit(statcan_employ_subset) +wf_linreg + +preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) +# Display a sample of the prediction values +preds %>% sample_n(5) +``` + + + \ No newline at end of file From 29d567c5ead18c5c50397b6067afe42e71c87fc1 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Wed, 3 Aug 2022 11:46:16 -0700 Subject: [PATCH 12/49] update epi_keys_mold and tests to handle additional keys --- R/epi_keys.R | 3 ++- tests/testthat/test-epi_keys.R | 22 +++++++++------------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/R/epi_keys.R b/R/epi_keys.R index b82f625dd..8dc1311d8 100644 --- a/R/epi_keys.R +++ b/R/epi_keys.R @@ -29,7 +29,8 @@ epi_keys.recipe <- function(x) { epi_keys_mold <- function(mold) { keys <- c("time_value", "geo_value", "key") molded_names <- names(mold$extras$roles) + mold_keys <- map(mold$extras$roles[molded_names %in% keys], names) - unname(unlist(mold_keys)) + unlist(unname(mold_keys)) } diff --git a/tests/testthat/test-epi_keys.R b/tests/testthat/test-epi_keys.R index f15ee197f..74351ff3c 100644 --- a/tests/testthat/test-epi_keys.R +++ b/tests/testthat/test-epi_keys.R @@ -32,23 +32,19 @@ test_that("epi_keys_mold extracts time_value and geo_value, but not raw",{ }) test_that("epi_keys_mold extracts additional keys when they are present", { - my_data <- tibble::tibble( - geo_value = rep(c("ca", "fl", "pa"), each = 3), - time_value = rep(seq(as.Date("2020-06-01"), as.Date("2020-06-03"), - by = "day"), length.out = length(geo_value)), - pol = rep(c("blue", "swing", "swing"), each = 3), # extra key - state = rep(c("ca", "fl", "pa"), each = 3), # extra key - value = 1:length(geo_value) + 0.01 * rnorm(length(geo_value)) - ) %>% - epiprocess::as_epi_df(additional_metadata = list(other_keys = c("state", "pol"))) - + my_data <- case_death_rate_subset %>% + sample_n(6) %>% + tsibble::as_tsibble() %>% # add 2 extra keys + mutate(state = rep("MA", 6), pol = rep("blue", 6)) %>% + as_epi_df(additional_metadata = list(other_keys=c("state", "pol"))) + my_recipe <- epi_recipe(my_data) %>% - step_epi_ahead(value , ahead = 7) %>% + step_epi_ahead(death_rate , ahead = 7) %>% step_epi_naomit() my_workflow <- epi_workflow(my_recipe, linear_reg()) %>% fit(my_data) - expect_setequal( - epi_keys_mold(my_workflow$pre$mold), + expect_equal( + epi_keys_mold(my_workflow$pre$mold), c("time_value", "geo_value", "state", "pol")) }) From b30b8387def35aec6fab5db2c34055b098b74a22 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 11 Aug 2022 17:13:23 -0700 Subject: [PATCH 13/49] put back files from rebase --- R/epi_keys.R | 3 +-- tests/testthat/test-epi_keys.R | 22 +++++++++++++--------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/R/epi_keys.R b/R/epi_keys.R index 8dc1311d8..b82f625dd 100644 --- a/R/epi_keys.R +++ b/R/epi_keys.R @@ -29,8 +29,7 @@ epi_keys.recipe <- function(x) { epi_keys_mold <- function(mold) { keys <- c("time_value", "geo_value", "key") molded_names <- names(mold$extras$roles) - mold_keys <- map(mold$extras$roles[molded_names %in% keys], names) - unlist(unname(mold_keys)) + unname(unlist(mold_keys)) } diff --git a/tests/testthat/test-epi_keys.R b/tests/testthat/test-epi_keys.R index 74351ff3c..f15ee197f 100644 --- a/tests/testthat/test-epi_keys.R +++ b/tests/testthat/test-epi_keys.R @@ -32,19 +32,23 @@ test_that("epi_keys_mold extracts time_value and geo_value, but not raw",{ }) test_that("epi_keys_mold extracts additional keys when they are present", { - my_data <- case_death_rate_subset %>% - sample_n(6) %>% - tsibble::as_tsibble() %>% # add 2 extra keys - mutate(state = rep("MA", 6), pol = rep("blue", 6)) %>% - as_epi_df(additional_metadata = list(other_keys=c("state", "pol"))) - + my_data <- tibble::tibble( + geo_value = rep(c("ca", "fl", "pa"), each = 3), + time_value = rep(seq(as.Date("2020-06-01"), as.Date("2020-06-03"), + by = "day"), length.out = length(geo_value)), + pol = rep(c("blue", "swing", "swing"), each = 3), # extra key + state = rep(c("ca", "fl", "pa"), each = 3), # extra key + value = 1:length(geo_value) + 0.01 * rnorm(length(geo_value)) + ) %>% + epiprocess::as_epi_df(additional_metadata = list(other_keys = c("state", "pol"))) + my_recipe <- epi_recipe(my_data) %>% - step_epi_ahead(death_rate , ahead = 7) %>% + step_epi_ahead(value , ahead = 7) %>% step_epi_naomit() my_workflow <- epi_workflow(my_recipe, linear_reg()) %>% fit(my_data) - expect_equal( - epi_keys_mold(my_workflow$pre$mold), + expect_setequal( + epi_keys_mold(my_workflow$pre$mold), c("time_value", "geo_value", "state", "pol")) }) From 340fe124441b82bdcf7cbdb5c0ae86d399c56f0d Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 11 Aug 2022 17:14:38 -0700 Subject: [PATCH 14/49] fix data format --- data-raw/statcan_employ_subset.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-raw/statcan_employ_subset.R b/data-raw/statcan_employ_subset.R index f61120065..055d2fe36 100644 --- a/data-raw/statcan_employ_subset.R +++ b/data-raw/statcan_employ_subset.R @@ -80,7 +80,7 @@ employ <- statcan_employ %>% statcan_employ_subset <- employ %>% tsibble::as_tsibble(index=time_value, key=c(geo_value, employee_type, naics_industry)) %>% as_epi_df( - additional_metadata=c(other_keys=c("employee_type", "naics_industry"))) + additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) usethis::use_data(statcan_employ_subset, overwrite = TRUE) From 25674a58ecc10eed89cb8addda4935a672443ab3 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 11 Aug 2022 20:02:41 -0700 Subject: [PATCH 15/49] wip vignette --- vignettes/panel-data.Rmd | 138 ++++++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 30 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index d6a9c255a..ca836de16 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -1,13 +1,13 @@ --- -title: "Using epipredict on panel data from other contexts" +title: "Using epipredict on non-epidemic panel data" output: rmarkdown::html_vignette vignette: > - %\VignetteIndexEntry{Using epipredict on panel data from other contexts} + %\VignetteIndexEntry{Using epipredict on non-epidemic panel data} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- -```{r setup, include = F} +```{r setup, include=F} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", @@ -16,23 +16,22 @@ knitr::opts_chunk$set( ) ``` -```{r load-data, include = F} -# TODO: temp - remove me when I figure out how to run this rmd without loading -# perhaps need to commit statcan_employ_subset.rda first? -devtools::load_all() -``` - ```{r libraries} library(epiprocess) library(epipredict) library(dplyr) library(stringr) library(parsnip) +library(recipes) ``` -[Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, contains cross-sectional measurements of subjects over time. The `epipredict` package is most suitable for running forecasters on epidemiological data. However, other datasets with similar structures are also valid candidates for `epipredict` functionality. +[Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, +contains cross-sectional measurements of subjects over time. The `epipredict` +package is most suitable for running forecasters on epidemiological data. +However, other datasets with similar structures are also valid candidates for +`epipredict` functionality. -```{r employ-stats, include = F} +```{r employ-stats, include=F} date_format <- "%B %Y" date_start <- format(as.Date(min(statcan_employ_subset$time_value)), date_format) date_end <- format(as.Date(max(statcan_employ_subset$time_value)), date_format) @@ -41,9 +40,19 @@ uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collaps ## Example panel data overview -In this vignette, we will demonstrate using `epipredict` with employment data from Statistics Canada. We will be using [Table 14-10-0220-01: Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). The full dataset contains monthly employment counts from `r date_start` to `r date_end`, and presents employment data stratified by geographic region, [NAICS industries](https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), and employee type. The full dataset also contains metadata that describes the quality of data collected. For demonstration purposes, we make the following modifications to get a subset of the full dataset: - -* Only keep level 1 industries (2-digit codes) in the [NAICS hierarchy](https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) and remove aggregated industry codes. +In this vignette, we will demonstrate using `epipredict` with employment data from +Statistics Canada. We will be using +[Table 14-10-0220-01: Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). +The full dataset contains monthly employment counts from `r date_start` to `r date_end`, +and presents employment data stratified by geographic region, +[NAICS industries](https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), +and employee type. The full dataset also contains metadata that describes the quality +of data collected. For demonstration purposes, we make the following modifications to +get a subset of the full dataset: + +* Only keep level 1 industries (2-digit codes) in the +[NAICS hierarchy](https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) +and remove aggregated industry codes. * Only keep province-level geographic region (the full data also has "Canada" as a region) * Only keep "good" or better quality data rows, as indicated by the [`STATUS`](https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column @@ -84,14 +93,19 @@ statcan_employ_subset_input <- statcan_employ %>% mutate(naics_industry = factor(naics_industry)) ``` -To use this data with `epipredict`, we need to convert it into `epi_df` format using `as_epi_df` with additional keys. In our case, the additional keys are `employee_type` and `naics_industry`. Note that in the above modifications, we encoded `time_value` as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` below, and to ensure lag and ahead modifications later on are using the correct time units. +To use this data with `epipredict`, we need to convert it into `epi_df` format using +`as_epi_df` with additional keys. In our case, the additional keys are `employee_type` +and `naics_industry`. Note that in the above modifications, we encoded `time_value` +as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` below, +and to ensure lag and ahead modifications later on are using the correct time units. ```{r convert-to-epidf, eval=F} statcan_employ_subset <- statcan_employ_subset_input %>% tsibble::as_tsibble( index=time_value, key=c(geo_value, employee_type, naics_industry)) %>% - as_epi_df(time_type = "yearmonth", as_of="2022-07-22") + as_epi_df( + additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) ``` ```{r data-dim, include=F} @@ -99,45 +113,109 @@ employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") employ_colcount <- length(names(statcan_employ_subset)) ``` -The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, we are ready to use `statcan_employ_subset` with `epipredict`. +The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, we are +ready to use `statcan_employ_subset` with `epipredict`. ```{r preview-data, include=T} -head(statcan_employ_subset) +# Rename for simplicity +employ <- statcan_employ_subset +head(employ) ``` -In the following sections, we will go over preprocessing the data in the `epi_recipe` framework, fitting 3 types of models from the `parsnip` package, and making future predictions. +In the following sections, we will go over preprocessing the data in the `epi_recipe` +framework, fitting 3 types of models from the `parsnip` package, and making future +predictions. ## Preprocessing We will create a recipe that adds one `ahead` column and 3 `lag` columns. -```{r make-recipe, include = T} -r <- epi_recipe(statcan_employ_subset) %>% +```{r make-recipe, include=T} +r <- epi_recipe(employ) %>% step_epi_ahead(ppl_count, ahead = 6) %>% # lag & ahead units in months step_epi_lag(ppl_count, lag = c(0, 6, 12)) %>% step_epi_naomit() r ``` -There is one `raw` role which includes our value column `ppl_count`, and two `key` roles which include our additional keys `employee_type` and `naics_industry`. Let's take a look at what these additional columns look like. +There is one `raw` role which includes our value column `ppl_count`, and two `key` +roles which include our additional keys `employee_type` and `naics_industry`. Let's +take a look at what these additional columns look like. -```{r view-preprocessed, include = T} -latest <- statcan_employ_subset %>% filter(time_value >= max(time_value) - 12) +```{r view-preprocessed, include=T} # Display a sample of the preprocessed data -r %>% prep() %>% bake(new_data = latest) %>% sample_n(5) +baked_sample <- r %>% prep() %>% bake(new_data = employ) %>% sample_n(5) +baked_sample ``` ## Model fitting and prediction -First we will look at a simple model: `parsnip::linear_reg()` with default engine `lm`. We can use `epi_workflow` with the above `epi_recipe` to fit a linear model using lags at time $t$ (current), $t-6$ months, and $t-12$ months. -```{r linearreg-wf, include = T} -wf_linreg <- epi_workflow(r, linear_reg()) %>% fit(statcan_employ_subset) +### With direct forecasters + +Even though we aren't working with epidemiological data, the `arx_epi_forecaster` +still works out of the box. And specifying `args_list` still works in the same way. + +```{r arx-epi, include=T, warning=F} +demo_args_list = arx_args_list(lags = c(0L, 6L, 12L), ahead = 6L) + +out_lr <- arx_epi_forecaster( + employ, + outcome = "ppl_count", + predictors = c("ppl_count"), + args_list = demo_args_list) + +out_lr$predictions +``` + +Other changes to the forecaster, like changing the engine, also work as expected. + +```{r arx-epi-rf, include=T, warning=F} +out_rf <- arx_epi_forecaster( + employ, + outcome = "ppl_count", + predictors = c("ppl_count"), + trainer = parsnip::rand_forest(mode="regression", trees=100), + args_list = demo_args_list) + +out_rf$predictions +``` + +### Within recipes framework + +First we will look at a simple model: `parsnip::linear_reg()` with default engine +`lm`. We can use `epi_workflow` with the above `epi_recipe` to fit an autoregressive +linear model using lags at time $t$ (current), $t-6$ months, and $t-12$ months. + +```{r linearreg-wf, include=T} +wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) wf_linreg +``` +Now that we have our workflow, we can generate predictions from a subset of our data. +For this demo, we will predict the employment counts from the last 12 months of our dataset. + +```{r linearreg-predict, include=T} +latest <- employ %>% filter(time_value >= max(time_value) - 15) preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) # Display a sample of the prediction values preds %>% sample_n(5) ``` - - \ No newline at end of file +Notice that `predict` returns an `epi_df` with all of the keys that were present in the original dataset. + +```{r plot-pred, include=F} +# library(ggplot2) +# joined <- full_join(statcan_employ_subset, preds, by=c("geo_value", "time_value", "employee_type", "naics_industry")) + +# joined %>% filter(!is.na(.pred)) %>% select(time_value) %>% unique() +# joined %>% dplyr::filter( +# geo_value %in% c("British Columbia", "Ontario") & +# naics_industry == "Real estate and rental and leasing [53]" & +# employee_type == "All employees") %>% +# ggplot() + +# geom_line(aes(x = time_value, y = ppl_count)) + +# geom_line(aes(x = time_value, y = preds)) + +# facet_wrap(vars(geo_value), scales = "free_y", ncol = 1) + +# scale_x_date(minor_breaks = "month", date_labels = "%b %y") + +# labs(x = "Date", y = "Number employed") +``` From 27f13875a3dff1e466c467154c9a167b68bcb252 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Mon, 15 Aug 2022 21:12:12 -0700 Subject: [PATCH 16/49] updates to vignette --- vignettes/panel-data.Rmd | 178 ++++++++++++++++++++++++--------------- 1 file changed, 109 insertions(+), 69 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index ca836de16..104f0dcce 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -27,9 +27,22 @@ library(recipes) [Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, contains cross-sectional measurements of subjects over time. The `epipredict` -package is most suitable for running forecasters on epidemiological data. -However, other datasets with similar structures are also valid candidates for -`epipredict` functionality. +package is most suitable for running forecasters on epidemiological panel data. +A built-in example of this is the [`case_death_rate_subset`]( + https://cmu-delphi.github.io/epipredict/reference/case_death_rate_subset.html) +dataset, which contains daily state-wise measures of `case_rate` and +`death_rate` for COVID-19 in 2021: + +```{r epi-panel-ex, include=T} +head(case_death_rate_subset) +``` + +`epipredict` functions work with data in [`epi_df`]( + https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) +format. Despite the stated goal and name of the package, other panel datasets +are also valid candidates for `epipredict` functionality. Specifically, the +`epipredict` framework and direct forecasters are able to work with any panel +data, as long as it's in `epi_df` format, ```{r employ-stats, include=F} date_format <- "%B %Y" @@ -40,33 +53,47 @@ uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collaps ## Example panel data overview -In this vignette, we will demonstrate using `epipredict` with employment data from -Statistics Canada. We will be using -[Table 14-10-0220-01: Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). -The full dataset contains monthly employment counts from `r date_start` to `r date_end`, -and presents employment data stratified by geographic region, -[NAICS industries](https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), -and employee type. The full dataset also contains metadata that describes the quality -of data collected. For demonstration purposes, we make the following modifications to -get a subset of the full dataset: +In this vignette, we will demonstrate using `epipredict` with employment data +from Statistics Canada. We will be using +[ + Table 14-10-0220-01: Employment and average weekly earnings + (including \overtime) for all employees by industry, monthly, + seasonally adjusted, Canada +](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). +The full dataset contains monthly employment counts from `r date_start` to +`r date_end`, and presents employment data stratified by geographic region +on the Canadian province level, +[NAICS industries]( + https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), +and employee type. The full dataset also contains metadata that describes the +quality of data collected. For demonstration purposes, we make the following +modifications to get a subset of the full dataset: * Only keep level 1 industries (2-digit codes) in the -[NAICS hierarchy](https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) +[NAICS hierarchy]( + https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) and remove aggregated industry codes. -* Only keep province-level geographic region (the full data also has "Canada" as a region) -* Only keep "good" or better quality data rows, as indicated by the [`STATUS`](https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column +* Only keep provincial-level geographic region (the full data also has +"Canada" as a region) +* Only keep "good" or better quality data rows, as indicated by the [`STATUS`] +(https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column + +Below is the query for obtaining the full data and code for subsetting it as we +just described: -Below is the query for obtaining the full data and code for subsetting it as we just described: ```{r employ-query, eval=F} library(cansim) statcan_employ <- get_cansim("14-10-0201-01") +# for readability; this string is very long +naics_code <- + "Classification Code for North American Industry Classification System (NAICS)" + statcan_employ_subset_input <- statcan_employ %>% select(c( "REF_DATE", "GEO", "VALUE", "STATUS", "Type of employee", - "Classification Code for North American Industry Classification System (NAICS)", - "North American Industry Classification System (NAICS)")) %>% + naics_code, "North American Industry Classification System (NAICS)")) %>% rename( "geo_value" = "GEO", "time_value" = "REF_DATE", @@ -74,7 +101,7 @@ statcan_employ_subset_input <- statcan_employ %>% "status" = "STATUS", "employee_type" = "Type of employee", "naics_industry" = "North American Industry Classification System (NAICS)", - "naics_code" = "Classification Code for North American Industry Classification System (NAICS)") %>% + "naics_code" = naics_code) %>% mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% filter( # Reference: https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol @@ -93,11 +120,14 @@ statcan_employ_subset_input <- statcan_employ %>% mutate(naics_industry = factor(naics_industry)) ``` -To use this data with `epipredict`, we need to convert it into `epi_df` format using -`as_epi_df` with additional keys. In our case, the additional keys are `employee_type` -and `naics_industry`. Note that in the above modifications, we encoded `time_value` -as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` below, -and to ensure lag and ahead modifications later on are using the correct time units. +To use this data with `epipredict`, we need to convert it into `epi_df` format +using [`as_epi_df`]( + https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) +with additional keys. In our case, the additional keys are `employee_type` and +`naics_industry`. Note that in the above modifications, we encoded `time_value` +as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` +below, and to ensure lag and ahead modifications later on are using the correct +time units. ```{r convert-to-epidf, eval=F} statcan_employ_subset <- statcan_employ_subset_input %>% @@ -113,8 +143,8 @@ employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") employ_colcount <- length(names(statcan_employ_subset)) ``` -The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, we are -ready to use `statcan_employ_subset` with `epipredict`. +The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, +we are ready to use `statcan_employ_subset` with `epipredict`. ```{r preview-data, include=T} # Rename for simplicity @@ -122,9 +152,9 @@ employ <- statcan_employ_subset head(employ) ``` -In the following sections, we will go over preprocessing the data in the `epi_recipe` -framework, fitting 3 types of models from the `parsnip` package, and making future -predictions. +In the following sections, we will go over preprocessing the data in the +`epi_recipe` framework, fitting 3 types of models from the `parsnip` package, +and making future predictions. ## Preprocessing @@ -138,9 +168,9 @@ r <- epi_recipe(employ) %>% r ``` -There is one `raw` role which includes our value column `ppl_count`, and two `key` -roles which include our additional keys `employee_type` and `naics_industry`. Let's -take a look at what these additional columns look like. +There is one `raw` role which includes our value column `ppl_count`, and two +`key` roles which include our additional keys `employee_type` and +`naics_industry`. Let's take a look at what these additional columns look like. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data @@ -150,60 +180,34 @@ baked_sample ## Model fitting and prediction -### With direct forecasters - -Even though we aren't working with epidemiological data, the `arx_epi_forecaster` -still works out of the box. And specifying `args_list` still works in the same way. - -```{r arx-epi, include=T, warning=F} -demo_args_list = arx_args_list(lags = c(0L, 6L, 12L), ahead = 6L) - -out_lr <- arx_epi_forecaster( - employ, - outcome = "ppl_count", - predictors = c("ppl_count"), - args_list = demo_args_list) - -out_lr$predictions -``` - -Other changes to the forecaster, like changing the engine, also work as expected. - -```{r arx-epi-rf, include=T, warning=F} -out_rf <- arx_epi_forecaster( - employ, - outcome = "ppl_count", - predictors = c("ppl_count"), - trainer = parsnip::rand_forest(mode="regression", trees=100), - args_list = demo_args_list) - -out_rf$predictions -``` - ### Within recipes framework -First we will look at a simple model: `parsnip::linear_reg()` with default engine -`lm`. We can use `epi_workflow` with the above `epi_recipe` to fit an autoregressive -linear model using lags at time $t$ (current), $t-6$ months, and $t-12$ months. +We will look at a simple model: `parsnip::linear_reg()` with default engine +`lm`. We can use `epi_workflow` with the `epi_recipe` we defined in the +preprocessing section to fit an autoregressive linear model using lags at +time $t$ (current), $t-6$ months, and $t-12$ months. ```{r linearreg-wf, include=T} wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) wf_linreg ``` -Now that we have our workflow, we can generate predictions from a subset of our data. -For this demo, we will predict the employment counts from the last 12 months of our dataset. +Now that we have our workflow, we can generate predictions from a subset of our +data. For this demo, we will predict the employment counts from the last 12 +months of our dataset. ```{r linearreg-predict, include=T} -latest <- employ %>% filter(time_value >= max(time_value) - 15) +latest <- employ %>% filter(time_value >= max(time_value) - 12) preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) # Display a sample of the prediction values preds %>% sample_n(5) ``` -Notice that `predict` returns an `epi_df` with all of the keys that were present in the original dataset. +Notice that `predict` still returns an `epi_df` with all of the keys that were +present in the original dataset. ```{r plot-pred, include=F} +# this doesn't work. don't include # library(ggplot2) # joined <- full_join(statcan_employ_subset, preds, by=c("geo_value", "time_value", "employee_type", "naics_industry")) @@ -219,3 +223,39 @@ Notice that `predict` returns an `epi_df` with all of the keys that were present # scale_x_date(minor_breaks = "month", date_labels = "%b %y") + # labs(x = "Date", y = "Number employed") ``` + +### With canned forecasters + +Even though we aren't working with epidemiological data, canned forecasters +still work as expected, out of the box. We will demonstrate this with the simple +[`flatline_forecaster`]( + https://cmu-delphi.github.io/epipredict/reference/flatline_forecaster.html) +and the direct autoregressive (AR) forecaster +[`arx_forecaster`]( + https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). + +```{r flatline, include=T} +out_fl <- flatline_forecaster( + employ, "ppl_count", args_list = flatline_args_list(ahead=6L)) + +augment(out_fl$epi_workflow, employ) +``` + +```{r arx, include=T} +args = arx_args_list( + lags = c(0L, 6L, 12L), ahead = 6L, forecast_date = as.Date("2022-08-01")) + +out_arx <- arx_forecaster(employ, "ppl_count", c("ppl_count"), args_list = args) +out_arx$predictions +``` + +Other changes to the direct AR forecaster, like changing the engine, also work +as expected. + +```{r arx-epi-rf, include=F, warning=F} +out_rf <- arx_forecaster(employ, "ppl_count", c("ppl_count"), + trainer = parsnip::rand_forest(mode="regression", trees=100), + args_list = args) + +out_rf$predictions +``` From 2a2c90302906743e20a4d757ede676ff1f463196 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 16 Aug 2022 22:17:42 -0700 Subject: [PATCH 17/49] use a better dataset --- R/data.R | 25 +++ data-raw/statcan_grademploy_subset.R | 203 ++++++++++++++++++++++ data/grad_employ_subset.rda | Bin 0 -> 39430 bytes man/flatline.Rd | 4 +- man/grad_employ_subset.Rd | 40 +++++ vignettes/panel-data-old.Rmd | 243 +++++++++++++++++++++++++++ vignettes/panel-data.Rmd | 181 ++++++++++---------- 7 files changed, 601 insertions(+), 95 deletions(-) create mode 100644 data-raw/statcan_grademploy_subset.R create mode 100644 data/grad_employ_subset.rda create mode 100644 man/grad_employ_subset.Rd create mode 100644 vignettes/panel-data-old.Rmd diff --git a/R/data.R b/R/data.R index 5f4bc7528..aac4e378a 100644 --- a/R/data.R +++ b/R/data.R @@ -80,3 +80,28 @@ #' filtered in. Only data rows that are \href{https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol}{good quality or higher and not missing} #' according to Statistics Canada are removed. "statcan_employ_subset" + +#' Subset of Statistics Canada median employment income for postsecondary graduates +#' +#' @format A tibble with 10193 rows and 8 variables: +#' \describe{ +#' \item{geo_value}{The province in Canada associated with each +#' row of measurements.} +#' \item{time_value}{The time value, a year integer in YYYY format} +#' \item{edu_qual}{The education qualification} +#' \item{fos}{The field of study} +#' \item{age_group}{The age group; either 15 to 34 or 35 to 64} +#' \item{num_graduates}{The number of graduates for the given row of characteristics} +#' \item{med_income_2y}{The median employment income two years after graduation} +#' \item{med_income_5y}{The median employment income five years after graduation} +#' } +#' @source This object contains modified data from the following Statistics Canada +#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501} +#' +#' Modifications: +#' * Only provincial-level geo_values are kept +#' * Only age group, field of study, and educational qualification are kept as +#' covariates. For the remaining covariates, we keep aggregated values and +#' drop the level-specific rows. +#' * No modifications were made to the time range of the data +"grad_employ_subset" diff --git a/data-raw/statcan_grademploy_subset.R b/data-raw/statcan_grademploy_subset.R new file mode 100644 index 000000000..70cb6d678 --- /dev/null +++ b/data-raw/statcan_grademploy_subset.R @@ -0,0 +1,203 @@ +library(epipredict) +library(epiprocess) +library(cansim) +library(dplyr) +library(stringr) +library(tidyr) + +# https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501 +statcan_grad_employ <- get_cansim("37-10-0115-01") + +gemploy <- statcan_grad_employ %>% + select(c( + "REF_DATE", + "GEO", + # "DGUID", + # "UOM", + # "UOM_ID", + # "SCALAR_FACTOR", + # "SCALAR_ID", + # "VECTOR", + # "COORDINATE", + "VALUE", + "STATUS", + # "SYMBOL", + # "TERMINATED", + # "DECIMALS", + # "GeoUID", + # "Hierarchy for GEO", + # "Classification Code for Educational qualification", + # "Hierarchy for Educational qualification", + # "Classification Code for Field of study", + # "Hierarchy for Field of study", + # "Classification Code for Gender", + # "Hierarchy for Gender", + # "Classification Code for Age group", + # "Hierarchy for Age group", + # "Classification Code for Status of student in Canada", + # "Hierarchy for Status of student in Canada", + # "Classification Code for Characteristics after graduation", + # "Hierarchy for Characteristics after graduation", + # "Classification Code for Graduate statistics", + # "Hierarchy for Graduate statistics", + # "val_norm", + # "Date", + "Educational qualification", + "Field of study", + "Gender", + "Age group", + "Status of student in Canada", + "Characteristics after graduation", + "Graduate statistics")) %>% + rename( + "geo_value" = "GEO", + "time_value" = "REF_DATE", + "value" = "VALUE", + "status" = "STATUS", + "edu_qual" = "Educational qualification", + "fos" = "Field of study", + "gender" = "Gender", + "age_group" = "Age group", + "student_status" = "Status of student in Canada", + "grad_charac" = "Characteristics after graduation", + "grad_stat" = "Graduate statistics") %>% + mutate( + grad_stat = recode_factor( + grad_stat, + `Number of graduates` = "num_graduates", + `Median employment income two years after graduation` = "med_income_2y", + `Median employment income five years after graduation` = "med_income_5y"), + time_value = as.integer(time_value) + ) %>% + pivot_wider(names_from = grad_stat, values_from = value) %>% + filter( + # Drop aggregates for some columns + geo_value != "Canada" & + age_group != "15 to 64 years" & + fos != "Total, field of study" & + edu_qual != "Total, educational qualification" & + # Keep aggregates for keys we don't want to keep + gender == "Total, gender" & + student_status == "Canadian and international students" & + # Since we're looking at 2y and 5y employment income, the only + # characteristics remaining are: + # - Graduates reporting employment income + # - Graduates reporting wages, salaries, and commissions only + # For simplicity, keep the first one only + grad_charac == "Graduates reporting employment income" & + # Only keep "good" data + is.na(status) & + # Drop NA value rows + !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% + select(-c(status, gender, student_status, grad_charac)) + +# gemploy$time_value %>% unique() +# class(gemploy$fos) +# class(gemploy$edu_qual) +# class(gemploy$age_group) +# head(gemploy) +nrow(gemploy) +ncol(gemploy) + +gemploy$grad_charac %>% unique() +gemploy %>% group_by(grad_charac) %>% slice(1) + +grad_employ_subset <- gemploy %>% + tsibble::as_tsibble( + index=time_value, + key=c(geo_value, age_group, fos, edu_qual)) %>% + as_epi_df( + geo_type = "custom", time_type = "year", as_of = "2022-07-19", + additional_metadata=c(other_keys=list("age_group", "fos", "edu_qual"))) +usethis::use_data(grad_employ_subset, overwrite = TRUE) + +# ================== EDA ================== + +statcan_grad_employ %>% + group_by(`Characteristics after graduation`) %>% + # filter(`Graduate statistics` == "Median employment income two years after graduation") %>% + filter(`Graduate statistics` == "Number of graduates") %>% + slice(1) %>% + select(`Characteristics after graduation`) + +names(statcan_grad_employ) +unique(statcan_grad_employ$REF_DATE) +# [1] "2010" "2011" "2012" "2013" "2014" "2015" + +unique(statcan_grad_employ$GEO) +# [1] "Canada" "Newfoundland and Labrador" +# [3] "Prince Edward Island" "Nova Scotia" +# [5] "New Brunswick" "Quebec" +# [7] "Ontario" "Manitoba" +# [9] "Saskatchewan" "Alberta" +# [11] "British Columbia" "Territories" +unique(statcan_grad_employ$DGUID) + +unique(statcan_grad_employ$UOM) +# [1] "Number" "2020 constant dollars" +statcan_grad_employ %>% + group_by(UOM, `Graduate statistics`) %>% + select(UOM, `Graduate statistics`, VALUE) %>% + slice(1) +unique(statcan_grad_employ$UOM_ID) + +unique(statcan_grad_employ$SCALAR_FACTOR) # "units" +unique(statcan_grad_employ$SCALAR_ID) # "0" + +length(unique(statcan_grad_employ$VECTOR)) +length(unique(statcan_grad_employ$COORDINATE)) + +length(unique(statcan_grad_employ$VALUE)) +unique(statcan_grad_employ$STATUS) +# [1] NA ".." "x" + +unique(statcan_grad_employ$SYMBOL) +# [1] NA + +unique(statcan_grad_employ$TERMINATED) +# [1] NA + +unique(statcan_grad_employ$DECIMALS) +# [1] "0" + +unique(statcan_grad_employ$GeoUID) +# redundant with geo + +unique(statcan_grad_employ$`Hierarchy for GEO`) +# redundant with geo + +unique(statcan_grad_employ$`Classification Code for Educational qualification`) # NA +unique(statcan_grad_employ$`Hierarchy for Educational qualification`) + +unique(statcan_grad_employ$`Classification Code for Field of study`) +unique(statcan_grad_employ$`Hierarchy for Field of study`) + +unique(statcan_grad_employ$`Classification Code for Gender`) # NA +unique(statcan_grad_employ$`Hierarchy for Gender`) + +unique(statcan_grad_employ$`Classification Code for Age group`) # NA +unique(statcan_grad_employ$`Hierarchy for Age group`) + +unique(statcan_grad_employ$`Classification Code for Status of student in Canada`) # NA +unique(statcan_grad_employ$`Hierarchy for Status of student in Canada`) + +unique(statcan_grad_employ$`Classification Code for Characteristics after graduation`) # NA +unique(statcan_grad_employ$`Hierarchy for Characteristics after graduation`) + +unique(statcan_grad_employ$`Classification Code for Graduate statistics`) # NA +unique(statcan_grad_employ$`Hierarchy for Graduate statistics`) + +length(unique(statcan_grad_employ$`val_norm`)) +statcan_grad_employ %>% filter(val_norm != VALUE) %>% nrow() #0 + +unique(statcan_grad_employ$`Date`) +# [1] "2010-07-01" "2011-07-01" "2012-07-01" "2013-07-01" "2014-07-01" +# [6] "2015-07-01" + +unique(statcan_grad_employ$`Educational qualification`) # 32 levels +unique(statcan_grad_employ$`Field of study`) # 60 levels +unique(statcan_grad_employ$`Gender`) +unique(statcan_grad_employ$`Age group`) +unique(statcan_grad_employ$`Status of student in Canada`) +unique(statcan_grad_employ$`Characteristics after graduation`) +unique(statcan_grad_employ$`Graduate statistics`) diff --git a/data/grad_employ_subset.rda b/data/grad_employ_subset.rda new file mode 100644 index 0000000000000000000000000000000000000000..f2e52ce21eab825b6c2e379a5ed15f84b52d45ef GIT binary patch literal 39430 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 literal 0 HcmV?d00001 diff --git a/man/flatline.Rd b/man/flatline.Rd index a396cfeb9..a30272456 100644 --- a/man/flatline.Rd +++ b/man/flatline.Rd @@ -11,9 +11,7 @@ flatline(formula, data) would actually be the observed time series shifted forward by the forecast horizon. The right hand side must contain any keys (locations) for the panel data separated by plus. The observed time series must come last. -For example - -\if{html}{\out{

    }}\preformatted{form <- as.formula(lead7_y ~ state + age + y) +For example\if{html}{\out{
    }}\preformatted{form <- as.formula(lead7_y ~ state + age + y) }\if{html}{\out{
    }} Note that this function doesn't DO the shifting, that has to be done diff --git a/man/grad_employ_subset.Rd b/man/grad_employ_subset.Rd new file mode 100644 index 000000000..abac4dae9 --- /dev/null +++ b/man/grad_employ_subset.Rd @@ -0,0 +1,40 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{grad_employ_subset} +\alias{grad_employ_subset} +\title{Subset of Statistics Canada median employment income for postsecondary graduates} +\format{ +A tibble with 10193 rows and 8 variables: +\describe{ +\item{geo_value}{The province in Canada associated with each +row of measurements.} +\item{time_value}{The time value, a year integer in YYYY format} +\item{edu_qual}{The education qualification} +\item{fos}{The field of study} +\item{age_group}{The age group; either 15 to 34 or 35 to 64} +\item{num_graduates}{The number of graduates for the given row of characteristics} +\item{med_income_2y}{The median employment income two years after graduation} +\item{med_income_5y}{The median employment income five years after graduation} +} +} +\source{ +This object contains modified data from the following Statistics Canada +data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501} + +Modifications: +\itemize{ +\item Only provincial-level geo_values are kept +\item Only age group, field of study, and educational qualification are kept as +covariates. For the remaining covariates, we keep aggregated values and +drop the level-specific rows. +\item No modifications were made to the time range of the data +} +} +\usage{ +grad_employ_subset +} +\description{ +Subset of Statistics Canada median employment income for postsecondary graduates +} +\keyword{datasets} diff --git a/vignettes/panel-data-old.Rmd b/vignettes/panel-data-old.Rmd new file mode 100644 index 000000000..24c48ed6a --- /dev/null +++ b/vignettes/panel-data-old.Rmd @@ -0,0 +1,243 @@ +--- +title: "Using epipredict on non-epidemic panel data (old)" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Using epipredict on non-epidemic panel data (old)} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r setup, include=F} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + warning = FALSE, + message = FALSE +) +``` + +```{r libraries} +library(epiprocess) +library(epipredict) +library(dplyr) +library(stringr) +library(parsnip) +library(recipes) +``` + +[Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, +contains cross-sectional measurements of subjects over time. The `epipredict` +package is most suitable for running forecasters on epidemiological panel data. +A built-in example of this is the [`case_death_rate_subset`]( + https://cmu-delphi.github.io/epipredict/reference/case_death_rate_subset.html) +dataset, which contains daily state-wise measures of `case_rate` and +`death_rate` for COVID-19 in 2021: + +```{r epi-panel-ex, include=T} +head(case_death_rate_subset) +``` + +`epipredict` functions work with data in [`epi_df`]( + https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) +format. Despite the stated goal and name of the package, other panel datasets +are also valid candidates for `epipredict` functionality. Specifically, the +`epipredict` framework and direct forecasters are able to work with any panel +data, as long as it's in `epi_df` format, + +```{r employ-stats, include=F} +date_format <- "%B %Y" +date_start <- format(as.Date(min(statcan_employ_subset$time_value)), date_format) +date_end <- format(as.Date(max(statcan_employ_subset$time_value)), date_format) +uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collapse=", ") +``` + +## Example panel data overview + +In this vignette, we will demonstrate using `epipredict` with employment data +from Statistics Canada. We will be using +[ + Table 14-10-0220-01: Employment and average weekly earnings + (including \overtime) for all employees by industry, monthly, + seasonally adjusted, Canada +](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). +The full dataset contains monthly employment counts from `r date_start` to +`r date_end`, and presents employment data stratified by geographic region +on the Canadian province level, +[NAICS industries]( + https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), +and employee type. The full dataset also contains metadata that describes the +quality of data collected. For demonstration purposes, we make the following +modifications to get a subset of the full dataset: + +* Only keep level 1 industries (2-digit codes) in the +[NAICS hierarchy]( + https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) +and remove aggregated industry codes. +* Only keep provincial-level geographic region (the full data also has +"Canada" as a region) +* Only keep "good" or better quality data rows, as indicated by the [`STATUS`] +(https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column + +Below is the query for obtaining the full data and code for subsetting it as we +just described: + +```{r employ-query, eval=F} +library(cansim) + +statcan_employ <- get_cansim("14-10-0201-01") + +# for readability; this string is very long +naics_code <- + "Classification Code for North American Industry Classification System (NAICS)" + +statcan_employ_subset_input <- statcan_employ %>% + select(c( + "REF_DATE", "GEO", "VALUE", "STATUS", "Type of employee", + naics_code, "North American Industry Classification System (NAICS)")) %>% + rename( + "geo_value" = "GEO", + "time_value" = "REF_DATE", + "ppl_count" = "VALUE", + "status" = "STATUS", + "employee_type" = "Type of employee", + "naics_industry" = "North American Industry Classification System (NAICS)", + "naics_code" = naics_code) %>% + mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% + filter( + # Reference: https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol + # A, B, C, D, NA indicate "good" or better data quality + status %in% c("A", "B", "C", "D", NA) & + # Drop aggregated rows; only keep provinces + geo_value != "Canada" & + # Drop aggregated industry rows + !str_detect(naics_code, "N") & + # Only keep level 1 NAICS codes; corresponds to either [##] or [##-##] + str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & + # [00] corresponds to unclassified; drop these rows + naics_code != "[00]") %>% + select(-c(status, naics_code)) %>% + # re-level the industry column because we dropped factors + mutate(naics_industry = factor(naics_industry)) +``` + +To use this data with `epipredict`, we need to convert it into `epi_df` format +using [`as_epi_df`]( + https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) +with additional keys. In our case, the additional keys are `employee_type` and +`naics_industry`. Note that in the above modifications, we encoded `time_value` +as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` +below, and to ensure lag and ahead modifications later on are using the correct +time units. + +```{r convert-to-epidf, eval=F} +statcan_employ_subset <- statcan_employ_subset_input %>% + tsibble::as_tsibble( + index=time_value, + key=c(geo_value, employee_type, naics_industry)) %>% + as_epi_df( + additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) +``` + +```{r data-dim, include=F} +employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") +employ_colcount <- length(names(statcan_employ_subset)) +``` + +The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, +we are ready to use `statcan_employ_subset` with `epipredict`. + +```{r preview-data, include=T} +# Rename for simplicity +employ <- statcan_employ_subset +head(employ) +``` + +In the following sections, we will go over preprocessing the data in the +`epi_recipe` framework, fitting 3 types of models from the `parsnip` package, +and making future predictions. + +## Preprocessing + +We will create a recipe that adds one `ahead` column and 3 `lag` columns. + +```{r make-recipe, include=T} +r <- epi_recipe(employ) %>% + step_epi_ahead(ppl_count, ahead = 6) %>% # lag & ahead units in months + step_epi_lag(ppl_count, lag = c(0, 6, 12)) %>% + step_epi_naomit() +r +``` + +There is one `raw` role which includes our value column `ppl_count`, and two +`key` roles which include our additional keys `employee_type` and +`naics_industry`. Let's take a look at what these additional columns look like. + +```{r view-preprocessed, include=T} +# Display a sample of the preprocessed data +baked_sample <- r %>% prep() %>% bake(new_data = employ) %>% sample_n(5) +baked_sample +``` + +## Model fitting and prediction + +### Within recipes framework + +We will look at a simple model: `parsnip::linear_reg()` with default engine +`lm`. We can use `epi_workflow` with the `epi_recipe` we defined in the +preprocessing section to fit an autoregressive linear model using lags at +time $t$ (current), $t-6$ months, and $t-12$ months. + +```{r linearreg-wf, include=T} +wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) +wf_linreg +``` + +Now that we have our workflow, we can generate predictions from a subset of our +data. For this demo, we will predict the employment counts from the last 12 +months of our dataset. + +```{r linearreg-predict, include=T} +latest <- employ %>% filter(time_value >= max(time_value) - 12) +preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) +# Display a sample of the prediction values +preds %>% sample_n(5) +``` + +Notice that `predict` still returns an `epi_df` with all of the keys that were +present in the original dataset. + +### With canned forecasters + +Even though we aren't working with epidemiological data, canned forecasters +still work as expected, out of the box. We will demonstrate this with the simple +[`flatline_forecaster`]( + https://cmu-delphi.github.io/epipredict/reference/flatline_forecaster.html) +and the direct autoregressive (AR) forecaster +[`arx_forecaster`]( + https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). + +```{r flatline, include=T} +out_fl <- flatline_forecaster( + employ, "ppl_count", args_list = flatline_args_list(ahead=6L)) + +augment(out_fl$epi_workflow, employ) +``` + +```{r arx, include=T} +args = arx_args_list( + lags = c(0L, 6L, 12L), ahead = 6L, forecast_date = as.Date("2022-08-01")) + +out_arx <- arx_forecaster(employ, "ppl_count", c("ppl_count"), args_list = args) +out_arx$predictions +``` + +Other changes to the direct AR forecaster, like changing the engine, also work +as expected. + +```{r arx-epi-rf, include=F, warning=F} +out_rf <- arx_forecaster(employ, "ppl_count", c("ppl_count"), + trainer = parsnip::rand_forest(mode="regression", trees=100), + args_list = args) + +out_rf$predictions +``` diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 104f0dcce..71a9c1327 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -45,10 +45,8 @@ are also valid candidates for `epipredict` functionality. Specifically, the data, as long as it's in `epi_df` format, ```{r employ-stats, include=F} -date_format <- "%B %Y" -date_start <- format(as.Date(min(statcan_employ_subset$time_value)), date_format) -date_end <- format(as.Date(max(statcan_employ_subset$time_value)), date_format) -uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collapse=", ") +year_start <- min(grad_employ_subset$time_value) +year_end <- max(grad_employ_subset$time_value) ``` ## Example panel data overview @@ -56,27 +54,25 @@ uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collaps In this vignette, we will demonstrate using `epipredict` with employment data from Statistics Canada. We will be using [ - Table 14-10-0220-01: Employment and average weekly earnings - (including \overtime) for all employees by industry, monthly, - seasonally adjusted, Canada -](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). -The full dataset contains monthly employment counts from `r date_start` to -`r date_end`, and presents employment data stratified by geographic region -on the Canadian province level, -[NAICS industries]( - https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), -and employee type. The full dataset also contains metadata that describes the + Table 37-10-0115-01: Characteristics and median employment income of + longitudinal cohorts of postsecondary graduates two and five years after + graduation, by educational qualification and field of study (primary + groupings) +](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501). +The full dataset contains yearly median employment income two and five years +after graduation, and number of graduates. The data is further stratified by +variables such as geographic region (Canadian province), field of study, and +age group. The year range of the dataset is `r year_start` to `r year_end`, +inclusive. The full dataset also contains metadata that describes the quality of data collected. For demonstration purposes, we make the following modifications to get a subset of the full dataset: -* Only keep level 1 industries (2-digit codes) in the -[NAICS hierarchy]( - https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) -and remove aggregated industry codes. * Only keep provincial-level geographic region (the full data also has "Canada" as a region) * Only keep "good" or better quality data rows, as indicated by the [`STATUS`] (https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column +* Choose a subset of covariates and aggregate across the remaining ones. The +chosen covariates are age group, field of study, and educational qualification. Below is the query for obtaining the full data and code for subsetting it as we just described: @@ -84,77 +80,92 @@ just described: ```{r employ-query, eval=F} library(cansim) -statcan_employ <- get_cansim("14-10-0201-01") - -# for readability; this string is very long -naics_code <- - "Classification Code for North American Industry Classification System (NAICS)" - -statcan_employ_subset_input <- statcan_employ %>% - select(c( - "REF_DATE", "GEO", "VALUE", "STATUS", "Type of employee", - naics_code, "North American Industry Classification System (NAICS)")) %>% +statcan_grad_employ <- get_cansim("37-10-0115-01") +gemploy <- statcan_grad_employ %>% + select(c("REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", + "Field of study", "Gender", "Age group", "Status of student in Canada", + "Characteristics after graduation", "Graduate statistics")) %>% rename( "geo_value" = "GEO", "time_value" = "REF_DATE", - "ppl_count" = "VALUE", + "value" = "VALUE", "status" = "STATUS", - "employee_type" = "Type of employee", - "naics_industry" = "North American Industry Classification System (NAICS)", - "naics_code" = naics_code) %>% - mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% + "edu_qual" = "Educational qualification", + "fos" = "Field of study", + "gender" = "Gender", + "age_group" = "Age group", + "student_status" = "Status of student in Canada", + "grad_charac" = "Characteristics after graduation", + "grad_stat" = "Graduate statistics") %>% + # The original `VALUE` column contain the statistic indicated by + # `Graduate statistics` in the original data. Below we pivot the data + # wider so that each unique statistic can have its own column. + mutate( + grad_stat = recode_factor( + grad_stat, + `Number of graduates` = "num_graduates", + `Median employment income two years after graduation` = "med_income_2y", + `Median employment income five years after graduation` = "med_income_5y"), + time_value = as.integer(time_value) + ) %>% + pivot_wider(names_from = grad_stat, values_from = value) %>% filter( - # Reference: https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol - # A, B, C, D, NA indicate "good" or better data quality - status %in% c("A", "B", "C", "D", NA) & - # Drop aggregated rows; only keep provinces + # Drop aggregates for some columns geo_value != "Canada" & - # Drop aggregated industry rows - !str_detect(naics_code, "N") & - # Only keep level 1 NAICS codes; corresponds to either [##] or [##-##] - str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & - # [00] corresponds to unclassified; drop these rows - naics_code != "[00]") %>% - select(-c(status, naics_code)) %>% - # re-level the industry column because we dropped factors - mutate(naics_industry = factor(naics_industry)) + age_group != "15 to 64 years" & + fos != "Total, field of study" & + edu_qual != "Total, educational qualification" & + # Keep aggregates for keys we don't want to keep + gender == "Total, gender" & + student_status == "Canadian and international students" & + # Since we're looking at 2y and 5y employment income, the only + # characteristics remaining are: + # - Graduates reporting employment income + # - Graduates reporting wages, salaries, and commissions only + # For simplicity, keep the first one only + grad_charac == "Graduates reporting employment income" & + # Only keep "good" data + is.na(status) & + # Drop NA value rows + !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% + select(-c(status, gender, student_status, grad_charac)) ``` To use this data with `epipredict`, we need to convert it into `epi_df` format using [`as_epi_df`]( https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) -with additional keys. In our case, the additional keys are `employee_type` and -`naics_industry`. Note that in the above modifications, we encoded `time_value` -as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` -below, and to ensure lag and ahead modifications later on are using the correct -time units. +with additional keys. In our case, the additional keys are `age_group`, `fos` +and `edu_qual`. Note that in the above modifications, we encoded `time_value` +as type `integer`. This allows us to set `time_type` to `"year"`, and to ensure +lag and ahead modifications later on are using the correct time units. ```{r convert-to-epidf, eval=F} -statcan_employ_subset <- statcan_employ_subset_input %>% +grad_employ_subset <- gemploy %>% tsibble::as_tsibble( index=time_value, - key=c(geo_value, employee_type, naics_industry)) %>% + key=c(geo_value, age_group, fos, edu_qual)) %>% as_epi_df( - additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) + geo_type = "custom", time_type = "year", + additional_metadata=c(other_keys=list("age_group", "fos", "edu_qual"))) ``` ```{r data-dim, include=F} -employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") -employ_colcount <- length(names(statcan_employ_subset)) +employ_rowcount <- format(nrow(grad_employ_subset), big.mark=",") +employ_colcount <- length(names(grad_employ_subset)) ``` The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, -we are ready to use `statcan_employ_subset` with `epipredict`. +we are ready to use `grad_employ_subset` with `epipredict`. ```{r preview-data, include=T} # Rename for simplicity -employ <- statcan_employ_subset -head(employ) +employ <- grad_employ_subset +sample_n(employ, 6) ``` In the following sections, we will go over preprocessing the data in the -`epi_recipe` framework, fitting 3 types of models from the `parsnip` package, -and making future predictions. +`epi_recipe` framework, and fitting a model and making predictions within the +`epipredict` framework and using the package's canned forecasters. ## Preprocessing @@ -162,15 +173,15 @@ We will create a recipe that adds one `ahead` column and 3 `lag` columns. ```{r make-recipe, include=T} r <- epi_recipe(employ) %>% - step_epi_ahead(ppl_count, ahead = 6) %>% # lag & ahead units in months - step_epi_lag(ppl_count, lag = c(0, 6, 12)) %>% + step_epi_ahead(num_graduates, ahead = 1) %>% # lag & ahead units in years + step_epi_lag(num_graduates, lag = c(0, 1, 1)) %>% step_epi_naomit() r ``` -There is one `raw` role which includes our value column `ppl_count`, and two -`key` roles which include our additional keys `employee_type` and -`naics_industry`. Let's take a look at what these additional columns look like. +There is one `raw` role which includes our value column `num_graduates`, and two +`key` roles which include our additional keys `age_group`, `fos` and +`edu_qual`. Let's take a look at what these additional columns look like. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data @@ -185,7 +196,7 @@ baked_sample We will look at a simple model: `parsnip::linear_reg()` with default engine `lm`. We can use `epi_workflow` with the `epi_recipe` we defined in the preprocessing section to fit an autoregressive linear model using lags at -time $t$ (current), $t-6$ months, and $t-12$ months. +time $t$ (current), $t-1$ (last year), and $t-2$ (2 years ago). ```{r linearreg-wf, include=T} wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) @@ -200,30 +211,12 @@ months of our dataset. latest <- employ %>% filter(time_value >= max(time_value) - 12) preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) # Display a sample of the prediction values -preds %>% sample_n(5) +head(preds) ``` Notice that `predict` still returns an `epi_df` with all of the keys that were present in the original dataset. -```{r plot-pred, include=F} -# this doesn't work. don't include -# library(ggplot2) -# joined <- full_join(statcan_employ_subset, preds, by=c("geo_value", "time_value", "employee_type", "naics_industry")) - -# joined %>% filter(!is.na(.pred)) %>% select(time_value) %>% unique() -# joined %>% dplyr::filter( -# geo_value %in% c("British Columbia", "Ontario") & -# naics_industry == "Real estate and rental and leasing [53]" & -# employee_type == "All employees") %>% -# ggplot() + -# geom_line(aes(x = time_value, y = ppl_count)) + -# geom_line(aes(x = time_value, y = preds)) + -# facet_wrap(vars(geo_value), scales = "free_y", ncol = 1) + -# scale_x_date(minor_breaks = "month", date_labels = "%b %y") + -# labs(x = "Date", y = "Number employed") -``` - ### With canned forecasters Even though we aren't working with epidemiological data, canned forecasters @@ -235,17 +228,20 @@ and the direct autoregressive (AR) forecaster https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). ```{r flatline, include=T} -out_fl <- flatline_forecaster( - employ, "ppl_count", args_list = flatline_args_list(ahead=6L)) +out_fl <- flatline_forecaster(employ, "med_income_2y", + args_list = flatline_args_list( + ahead=1L, forecast_date = as.Date("2022-08-16"))) augment(out_fl$epi_workflow, employ) ``` ```{r arx, include=T} -args = arx_args_list( - lags = c(0L, 6L, 12L), ahead = 6L, forecast_date = as.Date("2022-08-01")) +arx_args <- arx_args_list( + lags = c(0L, 1L, 2L), ahead = 1L, forecast_date = as.Date("2022-08-01")) +out_arx <- arx_forecaster(employ, "med_income_2y", + c("med_income_2y", "med_income_5y", "num_graduates"), + args_list = arx_args) -out_arx <- arx_forecaster(employ, "ppl_count", c("ppl_count"), args_list = args) out_arx$predictions ``` @@ -253,7 +249,8 @@ Other changes to the direct AR forecaster, like changing the engine, also work as expected. ```{r arx-epi-rf, include=F, warning=F} -out_rf <- arx_forecaster(employ, "ppl_count", c("ppl_count"), +out_rf <- arx_forecaster( + employ, "med_income_2y", c("med_income_2y", "med_income_5y"), trainer = parsnip::rand_forest(mode="regression", trees=100), args_list = args) From 408e7c63e1c36ff0d3b73c7b3ba599ed1f89c0f4 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 16 Aug 2022 22:18:52 -0700 Subject: [PATCH 18/49] use better data pt 2 --- ...ademploy_subset.R => grad_employ_subset.R} | 0 data-raw/statcan_employ_subset.R | 192 -------------- data/statcan_employ_subset.rda | Bin 254398 -> 0 bytes man/statcan_employ_subset.Rd | 39 --- vignettes/panel-data-old.Rmd | 243 ------------------ 5 files changed, 474 deletions(-) rename data-raw/{statcan_grademploy_subset.R => grad_employ_subset.R} (100%) delete mode 100644 data-raw/statcan_employ_subset.R delete mode 100644 data/statcan_employ_subset.rda delete mode 100644 man/statcan_employ_subset.Rd delete mode 100644 vignettes/panel-data-old.Rmd diff --git a/data-raw/statcan_grademploy_subset.R b/data-raw/grad_employ_subset.R similarity index 100% rename from data-raw/statcan_grademploy_subset.R rename to data-raw/grad_employ_subset.R diff --git a/data-raw/statcan_employ_subset.R b/data-raw/statcan_employ_subset.R deleted file mode 100644 index 055d2fe36..000000000 --- a/data-raw/statcan_employ_subset.R +++ /dev/null @@ -1,192 +0,0 @@ -library(epipredict) -library(epiprocess) -library(cansim) -library(dplyr) -library(stringr) - -# Run this once -# https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data -statcan_employ <- get_cansim("14-10-0201-01") - -# ================== Subset & Filtering ================== -employ <- statcan_employ %>% - select(c( - "REF_DATE", - "GEO", - # "DGUID", - # "UOM", - # "UOM_ID", - # "SCALAR_FACTOR", - # "SCALAR_ID", - # "VECTOR", - # "COORDINATE", - "VALUE", - "STATUS", - # "SYMBOL", - # "TERMINATED", - # "DECIMALS", - # "GeoUID", - # "Hierarchy for GEO", - # "Classification Code for Type of employee", - # "Hierarchy for Type of employee", - "Classification Code for North American Industry Classification System (NAICS)", - # "Hierarchy for North American Industry Classification System (NAICS)", - # "val_norm", - # "Date", - "Type of employee", - "North American Industry Classification System (NAICS)")) %>% - rename( - "geo_value" = "GEO", - "time_value" = "REF_DATE", - "ppl_count" = "VALUE", - "status" = "STATUS", - "employee_type" = "Type of employee", - "naics_industry" = "North American Industry Classification System (NAICS)", - "naics_code" = "Classification Code for North American Industry Classification System (NAICS)" - ) %>% - mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% - # https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol - # .. not available for a specific reference period - # x: suppressed to meet the confidentiality requirements of the Statistics Act - # A data quality: excellent - # B data quality: very good - # C data quality: good - # [blank] or A-D: acceptable or better <- only keep these ones - # E use with caution - # F too unreliable to be published - filter( - status %in% c("A", "B", "C", "D", NA) & # only keep "good" data - !is.na(ppl_count) & - geo_value != "Canada" & # only keep provinces - # N corresponds to aggregates - !str_detect(naics_code, "N") & - # only keep top-level sectors - # https://www.census.gov/programs-surveys/economic-census/guidance/understanding-naics.html - # corresponds to either [##] or [##-##] - str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & - # [00] corresponds to unclassified - naics_code != "[00]") %>% - select(-c(status, naics_code)) %>% - # re-level the industry column because we dropped factors - mutate(naics_industry = factor(naics_industry)) - -# head(employ) -# statcan_employ_subset <- employ %>% -# tsibble::as_tsibble( -# index=time_value, -# key=c(geo_value, employee_type, naics_industry)) %>% -# as_epi_df(time_type = "yearmonth", as_of="2022-07-28") - -statcan_employ_subset <- employ %>% - tsibble::as_tsibble(index=time_value, key=c(geo_value, employee_type, naics_industry)) %>% - as_epi_df( - additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) - -usethis::use_data(statcan_employ_subset, overwrite = TRUE) - -# ================== EDA ================== -length(statcan_employ$REF_DATE) -names(statcan_employ) - -uniq_ref_date <- unique(select(statcan_employ, "REF_DATE")) -uniq_ref_date -min(statcan_employ$REF_DATE) # 2001-01 -max(statcan_employ$REF_DATE) # 2022-05 -# There should be (22-1)*12 + 5 -exp_total_dates <- (22-1)*12+5 -length(uniq_ref_date %>% unlist()) == exp_total_dates # TRUE -# There is a ref date for each month in the date range - -unique(select(statcan_employ, "GEO")) # List of length 14, names of provinces & territories + Canada -statcan_employ %>% group_by(GEO) %>% top_n(n=-1) -# Dissemination Geography Unique Identifier - DGUID. -# https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo055 -# 2016 (year) -# A (administrative) -unique(select(statcan_employ, "DGUID")) -unique(select(statcan_employ, "UOM")) # Persons -unique(select(statcan_employ, "UOM_ID")) # 249 - -# These scalar columns tell us by what factor of 10 to multiply the values -# We get "units" and 0 so we can ignore these columns and -# take the values in VALUE as-is -unique(select(statcan_employ, "SCALAR_FACTOR")) # All "units" -unique(select(statcan_employ, "SCALAR_ID")) # All 0 - -# Time series identifier - ignore -unique(select(statcan_employ, "VECTOR")) - -# Related to dimension, which is not present in this table - ignore -unique(select(statcan_employ, "COORDINATE")) - -# Data value column. Values in units -unique(select(statcan_employ, "VALUE")) -# How many rows have empty values? -# Approx 3/4 of the rows have NA values -statcan_employ %>% - summarise( - VALUE_NA = sum(is.na(VALUE)) / length(VALUE), - VALUE_NOT_NA = sum(!is.na(VALUE)) / length(VALUE), - TOTAL = length(VALUE) - ) - -unique(select(statcan_employ, "STATUS")) -statcan_employ %>% - select(STATUS, VALUE) %>% - group_by(STATUS) %>% - count() - -unique(select(statcan_employ, "SYMBOL")) # All NA -unique(select(statcan_employ, "TERMINATED")) # All NA -unique(select(statcan_employ, "DECIMALS")) # All 0 - -unique(select(statcan_employ, "GeoUID")) -unique(select(statcan_employ, "Hierarchy for GEO")) -statcan_employ %>% - group_by_at(c("GEO", "DGUID", "GeoUID", "Hierarchy for GEO")) %>% - count() -# These 4 columns are redundant. Just keep GEO. - -# The next 4 columns are metadata about the last 2 columns -# ignore these in favour of the descriptive ones -unique(select(statcan_employ, "Classification Code for Type of employee")) # All NA -unique(select(statcan_employ, "Hierarchy for Type of employee")) -unique(select(statcan_employ, "Classification Code for North American Industry Classification System (NAICS)")) -unique(select(statcan_employ, "Hierarchy for North American Industry Classification System (NAICS)")) - -# val_norm and VALUE are the same -unique(select(statcan_employ, "val_norm")) -statcan_employ %>% filter(VALUE != val_norm) %>% count() - -unique(select(statcan_employ, "Date")) -# Each date has a minimum of 7522 data points -statcan_employ %>% group_by(Date) %>% count() %>% ungroup() %>% select(n) %>% min() -# Are there any dates that aren't on the 1st of the month? -statcan_employ %>% filter(format(as.Date(Date), "%d") != "01") %>% nrow() # 0 - -unique(select(statcan_employ, "Type of employee")) # 3 types -unique(select(statcan_employ, "North American Industry Classification System (NAICS)")) # lots - -# REF_DATE looks like YYYY-mm -# Date looks like YYYY-mm-dd -# Check that the truncated Date to REF_DATE format always matches the REF_DATE -statcan_employ %>% - select(REF_DATE, Date) %>% - mutate(Date_trunc = format(as.Date(Date), "%Y-%m")) %>% - filter(REF_DATE != Date_trunc) # all empty! good - -# This is an example plot -# library(ggplot2) -# theme_set(theme_bw()) -# -# employ <- statcan_employ_subset %>% -# dplyr::filter( -# geo_value %in% c("British Columbia", "Ontario") & -# naics_industry == "Real estate and rental and leasing [53]") %>% -# dplyr::arrange(geo_value, time_value) -# -# employ %>% ggplot(aes(x = time_value, y = ppl_count, color=employee_type)) + -# geom_line() + -# facet_wrap(vars(geo_value), scales = "free_y", ncol = 1) + -# scale_x_date(minor_breaks = "month", date_labels = "%b %y") + -# labs(x = "Date", y = "Number employed") diff --git a/data/statcan_employ_subset.rda b/data/statcan_employ_subset.rda deleted file mode 100644 index 46c0ea6c97bcab8855bc3a0b622c361c002e4eea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254398 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

    PpWp4;ndq@yrC0n-A2k&b|WNai^ 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

  • q#!|5lLmT( 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 - %\VignetteIndexEntry{Using epipredict on non-epidemic panel data (old)} - %\VignetteEngine{knitr::rmarkdown} - %\VignetteEncoding{UTF-8} ---- - -```{r setup, include=F} -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - warning = FALSE, - message = FALSE -) -``` - -```{r libraries} -library(epiprocess) -library(epipredict) -library(dplyr) -library(stringr) -library(parsnip) -library(recipes) -``` - -[Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, -contains cross-sectional measurements of subjects over time. The `epipredict` -package is most suitable for running forecasters on epidemiological panel data. -A built-in example of this is the [`case_death_rate_subset`]( - https://cmu-delphi.github.io/epipredict/reference/case_death_rate_subset.html) -dataset, which contains daily state-wise measures of `case_rate` and -`death_rate` for COVID-19 in 2021: - -```{r epi-panel-ex, include=T} -head(case_death_rate_subset) -``` - -`epipredict` functions work with data in [`epi_df`]( - https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) -format. Despite the stated goal and name of the package, other panel datasets -are also valid candidates for `epipredict` functionality. Specifically, the -`epipredict` framework and direct forecasters are able to work with any panel -data, as long as it's in `epi_df` format, - -```{r employ-stats, include=F} -date_format <- "%B %Y" -date_start <- format(as.Date(min(statcan_employ_subset$time_value)), date_format) -date_end <- format(as.Date(max(statcan_employ_subset$time_value)), date_format) -uniq_employee_type <- paste(unique(statcan_employ_subset$employee_type), collapse=", ") -``` - -## Example panel data overview - -In this vignette, we will demonstrate using `epipredict` with employment data -from Statistics Canada. We will be using -[ - Table 14-10-0220-01: Employment and average weekly earnings - (including \overtime) for all employees by industry, monthly, - seasonally adjusted, Canada -](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data). -The full dataset contains monthly employment counts from `r date_start` to -`r date_end`, and presents employment data stratified by geographic region -on the Canadian province level, -[NAICS industries]( - https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553), -and employee type. The full dataset also contains metadata that describes the -quality of data collected. For demonstration purposes, we make the following -modifications to get a subset of the full dataset: - -* Only keep level 1 industries (2-digit codes) in the -[NAICS hierarchy]( - https://www23.statcan.gc.ca/imdb/pUtil.pl?Function=getNote&Id=1181553&NT=45) -and remove aggregated industry codes. -* Only keep provincial-level geographic region (the full data also has -"Canada" as a region) -* Only keep "good" or better quality data rows, as indicated by the [`STATUS`] -(https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column - -Below is the query for obtaining the full data and code for subsetting it as we -just described: - -```{r employ-query, eval=F} -library(cansim) - -statcan_employ <- get_cansim("14-10-0201-01") - -# for readability; this string is very long -naics_code <- - "Classification Code for North American Industry Classification System (NAICS)" - -statcan_employ_subset_input <- statcan_employ %>% - select(c( - "REF_DATE", "GEO", "VALUE", "STATUS", "Type of employee", - naics_code, "North American Industry Classification System (NAICS)")) %>% - rename( - "geo_value" = "GEO", - "time_value" = "REF_DATE", - "ppl_count" = "VALUE", - "status" = "STATUS", - "employee_type" = "Type of employee", - "naics_industry" = "North American Industry Classification System (NAICS)", - "naics_code" = naics_code) %>% - mutate(time_value = tsibble::yearmonth(time_value, "%Y-%m")) %>% - filter( - # Reference: https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol - # A, B, C, D, NA indicate "good" or better data quality - status %in% c("A", "B", "C", "D", NA) & - # Drop aggregated rows; only keep provinces - geo_value != "Canada" & - # Drop aggregated industry rows - !str_detect(naics_code, "N") & - # Only keep level 1 NAICS codes; corresponds to either [##] or [##-##] - str_detect(naics_code, "(\\[[0-9]{2}\\])|(\\[[0-9]{2}-[0-9]{2}\\])") & - # [00] corresponds to unclassified; drop these rows - naics_code != "[00]") %>% - select(-c(status, naics_code)) %>% - # re-level the industry column because we dropped factors - mutate(naics_industry = factor(naics_industry)) -``` - -To use this data with `epipredict`, we need to convert it into `epi_df` format -using [`as_epi_df`]( - https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) -with additional keys. In our case, the additional keys are `employee_type` and -`naics_industry`. Note that in the above modifications, we encoded `time_value` -as type `tsibble::yearmonth`. This allows us to set `time_type` to `"yearmonth"` -below, and to ensure lag and ahead modifications later on are using the correct -time units. - -```{r convert-to-epidf, eval=F} -statcan_employ_subset <- statcan_employ_subset_input %>% - tsibble::as_tsibble( - index=time_value, - key=c(geo_value, employee_type, naics_industry)) %>% - as_epi_df( - additional_metadata=c(other_keys=list("employee_type", "naics_industry"))) -``` - -```{r data-dim, include=F} -employ_rowcount <- format(nrow(statcan_employ_subset), big.mark=",") -employ_colcount <- length(names(statcan_employ_subset)) -``` - -The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, -we are ready to use `statcan_employ_subset` with `epipredict`. - -```{r preview-data, include=T} -# Rename for simplicity -employ <- statcan_employ_subset -head(employ) -``` - -In the following sections, we will go over preprocessing the data in the -`epi_recipe` framework, fitting 3 types of models from the `parsnip` package, -and making future predictions. - -## Preprocessing - -We will create a recipe that adds one `ahead` column and 3 `lag` columns. - -```{r make-recipe, include=T} -r <- epi_recipe(employ) %>% - step_epi_ahead(ppl_count, ahead = 6) %>% # lag & ahead units in months - step_epi_lag(ppl_count, lag = c(0, 6, 12)) %>% - step_epi_naomit() -r -``` - -There is one `raw` role which includes our value column `ppl_count`, and two -`key` roles which include our additional keys `employee_type` and -`naics_industry`. Let's take a look at what these additional columns look like. - -```{r view-preprocessed, include=T} -# Display a sample of the preprocessed data -baked_sample <- r %>% prep() %>% bake(new_data = employ) %>% sample_n(5) -baked_sample -``` - -## Model fitting and prediction - -### Within recipes framework - -We will look at a simple model: `parsnip::linear_reg()` with default engine -`lm`. We can use `epi_workflow` with the `epi_recipe` we defined in the -preprocessing section to fit an autoregressive linear model using lags at -time $t$ (current), $t-6$ months, and $t-12$ months. - -```{r linearreg-wf, include=T} -wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) -wf_linreg -``` - -Now that we have our workflow, we can generate predictions from a subset of our -data. For this demo, we will predict the employment counts from the last 12 -months of our dataset. - -```{r linearreg-predict, include=T} -latest <- employ %>% filter(time_value >= max(time_value) - 12) -preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) -# Display a sample of the prediction values -preds %>% sample_n(5) -``` - -Notice that `predict` still returns an `epi_df` with all of the keys that were -present in the original dataset. - -### With canned forecasters - -Even though we aren't working with epidemiological data, canned forecasters -still work as expected, out of the box. We will demonstrate this with the simple -[`flatline_forecaster`]( - https://cmu-delphi.github.io/epipredict/reference/flatline_forecaster.html) -and the direct autoregressive (AR) forecaster -[`arx_forecaster`]( - https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). - -```{r flatline, include=T} -out_fl <- flatline_forecaster( - employ, "ppl_count", args_list = flatline_args_list(ahead=6L)) - -augment(out_fl$epi_workflow, employ) -``` - -```{r arx, include=T} -args = arx_args_list( - lags = c(0L, 6L, 12L), ahead = 6L, forecast_date = as.Date("2022-08-01")) - -out_arx <- arx_forecaster(employ, "ppl_count", c("ppl_count"), args_list = args) -out_arx$predictions -``` - -Other changes to the direct AR forecaster, like changing the engine, also work -as expected. - -```{r arx-epi-rf, include=F, warning=F} -out_rf <- arx_forecaster(employ, "ppl_count", c("ppl_count"), - trainer = parsnip::rand_forest(mode="regression", trees=100), - args_list = args) - -out_rf$predictions -``` From 0098adc558535cdbc3fe0b65c820dfc2ddeb1b94 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 16 Aug 2022 22:30:37 -0700 Subject: [PATCH 19/49] fix doc formatting --- R/data.R | 6 +++++- man/grad_employ_subset.Rd | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/R/data.R b/R/data.R index aac4e378a..7a171a705 100644 --- a/R/data.R +++ b/R/data.R @@ -96,7 +96,11 @@ #' \item{med_income_5y}{The median employment income five years after graduation} #' } #' @source This object contains modified data from the following Statistics Canada -#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501} +#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501}{ +#' Characteristics and median employment income of longitudinal cohorts of postsecondary +#' graduates two and five years after graduation, by educational qualification and +#' field of study (primary groupings) +#' } #' #' Modifications: #' * Only provincial-level geo_values are kept diff --git a/man/grad_employ_subset.Rd b/man/grad_employ_subset.Rd index abac4dae9..463ab178c 100644 --- a/man/grad_employ_subset.Rd +++ b/man/grad_employ_subset.Rd @@ -20,7 +20,11 @@ row of measurements.} } \source{ This object contains modified data from the following Statistics Canada -data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501} +data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501}{ +Characteristics and median employment income of longitudinal cohorts of postsecondary +graduates two and five years after graduation, by educational qualification and +field of study (primary groupings) +} Modifications: \itemize{ From e498edb0f41c53c8f36a2e26399401fb8c6d545d Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 16 Aug 2022 22:52:30 -0700 Subject: [PATCH 20/49] wording changes --- vignettes/panel-data.Rmd | 42 +++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 71a9c1327..2eed15761 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -20,13 +20,12 @@ knitr::opts_chunk$set( library(epiprocess) library(epipredict) library(dplyr) -library(stringr) library(parsnip) library(recipes) ``` [Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, -contains cross-sectional measurements of subjects over time. The `epipredict` +contain cross-sectional measurements of subjects over time. The `epipredict` package is most suitable for running forecasters on epidemiological panel data. A built-in example of this is the [`case_death_rate_subset`]( https://cmu-delphi.github.io/epipredict/reference/case_death_rate_subset.html) @@ -41,8 +40,8 @@ head(case_death_rate_subset) https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) format. Despite the stated goal and name of the package, other panel datasets are also valid candidates for `epipredict` functionality. Specifically, the -`epipredict` framework and direct forecasters are able to work with any panel -data, as long as it's in `epi_df` format, +`epipredict` framework and direct forecasters can work with any panel data, as +long as it's in `epi_df` format. ```{r employ-stats, include=F} year_start <- min(grad_employ_subset$time_value) @@ -59,8 +58,9 @@ from Statistics Canada. We will be using graduation, by educational qualification and field of study (primary groupings) ](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501). + The full dataset contains yearly median employment income two and five years -after graduation, and number of graduates. The data is further stratified by +after graduation, and number of graduates. The data is stratified by variables such as geographic region (Canadian province), field of study, and age group. The year range of the dataset is `r year_start` to `r year_end`, inclusive. The full dataset also contains metadata that describes the @@ -80,8 +80,11 @@ just described: ```{r employ-query, eval=F} library(cansim) +# Get original dataset statcan_grad_employ <- get_cansim("37-10-0115-01") + gemploy <- statcan_grad_employ %>% + # Drop some columns and rename the ones we keep select(c("REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", "Field of study", "Gender", "Age group", "Status of student in Canada", "Characteristics after graduation", "Graduate statistics")) %>% @@ -101,11 +104,13 @@ gemploy <- statcan_grad_employ %>% # `Graduate statistics` in the original data. Below we pivot the data # wider so that each unique statistic can have its own column. mutate( + # Recode for easier pivoting grad_stat = recode_factor( grad_stat, `Number of graduates` = "num_graduates", `Median employment income two years after graduation` = "med_income_2y", `Median employment income five years after graduation` = "med_income_5y"), + # They are originally strings but want ints for conversion to epi_df later time_value = as.integer(time_value) ) %>% pivot_wider(names_from = grad_stat, values_from = value) %>% @@ -137,7 +142,11 @@ using [`as_epi_df`]( with additional keys. In our case, the additional keys are `age_group`, `fos` and `edu_qual`. Note that in the above modifications, we encoded `time_value` as type `integer`. This allows us to set `time_type` to `"year"`, and to ensure -lag and ahead modifications later on are using the correct time units. +lag and ahead modifications later on are using the correct time units. See the +[`epi_df` documentation]( + https://cmu-delphi.github.io/epiprocess/reference/epi_df.html#time-types) for +a list of all the `type_type`s available. + ```{r convert-to-epidf, eval=F} grad_employ_subset <- gemploy %>% @@ -235,24 +244,25 @@ out_fl <- flatline_forecaster(employ, "med_income_2y", augment(out_fl$epi_workflow, employ) ``` -```{r arx, include=T} +```{r arx-lr, include=T} arx_args <- arx_args_list( - lags = c(0L, 1L, 2L), ahead = 1L, forecast_date = as.Date("2022-08-01")) -out_arx <- arx_forecaster(employ, "med_income_2y", + lags = c(0L, 1L), ahead = 1L, forecast_date = as.Date("2022-08-01")) + +out_arx_lr <- arx_forecaster(employ, "med_income_2y", c("med_income_2y", "med_income_5y", "num_graduates"), args_list = arx_args) -out_arx$predictions +out_arx_lr$predictions ``` Other changes to the direct AR forecaster, like changing the engine, also work as expected. -```{r arx-epi-rf, include=F, warning=F} -out_rf <- arx_forecaster( - employ, "med_income_2y", c("med_income_2y", "med_income_5y"), - trainer = parsnip::rand_forest(mode="regression", trees=100), - args_list = args) +```{r arx-rf, include=F, warning=F} +out_arx_rf <- arx_forecaster( + employ, "med_income_2y", c("med_income_2y", "med_income_5y", "num_graduates"), + trainer = parsnip::boost_tree(mode = "regression", trees = 20), + args_list = arx_args) -out_rf$predictions +out_arx_rf$predictions ``` From 44afa40f68903c22cd4c91001c1cc926c69a9470 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 23 Aug 2022 17:03:29 -0400 Subject: [PATCH 21/49] add some math --- vignettes/panel-data.Rmd | 105 ++++++++++++++++++++++++++++----------- 1 file changed, 77 insertions(+), 28 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 2eed15761..dc6c3234b 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -17,11 +17,11 @@ knitr::opts_chunk$set( ``` ```{r libraries} -library(epiprocess) -library(epipredict) library(dplyr) library(parsnip) library(recipes) +library(epiprocess) +library(epipredict) ``` [Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, @@ -33,22 +33,21 @@ dataset, which contains daily state-wise measures of `case_rate` and `death_rate` for COVID-19 in 2021: ```{r epi-panel-ex, include=T} -head(case_death_rate_subset) +head(case_death_rate_subset, 3) ``` `epipredict` functions work with data in [`epi_df`]( https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) format. Despite the stated goal and name of the package, other panel datasets -are also valid candidates for `epipredict` functionality. Specifically, the -`epipredict` framework and direct forecasters can work with any panel data, as -long as it's in `epi_df` format. +are also valid candidates for `epipredict` functionality, as long as they are +in `epi_df` format. ```{r employ-stats, include=F} year_start <- min(grad_employ_subset$time_value) year_end <- max(grad_employ_subset$time_value) ``` -## Example panel data overview +# Example panel data overview In this vignette, we will demonstrate using `epipredict` with employment data from Statistics Canada. We will be using @@ -80,7 +79,7 @@ just described: ```{r employ-query, eval=F} library(cansim) -# Get original dataset +# Get statcan data using get_cansim, which returns a tibble statcan_grad_employ <- get_cansim("37-10-0115-01") gemploy <- statcan_grad_employ %>% @@ -141,13 +140,12 @@ using [`as_epi_df`]( https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) with additional keys. In our case, the additional keys are `age_group`, `fos` and `edu_qual`. Note that in the above modifications, we encoded `time_value` -as type `integer`. This allows us to set `time_type` to `"year"`, and to ensure +as type `integer`. This lets us set `time_type = "year"`, and ensures that lag and ahead modifications later on are using the correct time units. See the [`epi_df` documentation]( https://cmu-delphi.github.io/epiprocess/reference/epi_df.html#time-types) for a list of all the `type_type`s available. - ```{r convert-to-epidf, eval=F} grad_employ_subset <- gemploy %>% tsibble::as_tsibble( @@ -163,8 +161,22 @@ employ_rowcount <- format(nrow(grad_employ_subset), big.mark=",") employ_colcount <- length(names(grad_employ_subset)) ``` -The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, -we are ready to use `grad_employ_subset` with `epipredict`. +Now, we are ready to use `grad_employ_subset` with `epipredict`. +Our `epi_df` contains `r employ_rowcount` rows and `r employ_colcount` columns. +Here is a quick summary of the columns in our `epi_df`: + +* `time_value` (time value): year in YYYY format +* `geo_value` (geo value): province in Canada +* `num_graduates` (raw, time series value): number of graduates +* `med_income_2y` (raw, time series value): median employment income 2 years +after graduation +* `med_income_5y` (raw, time series value): median employment income 5 years +after graduation +* `age_group` (key): one of two age groups, either 15 to 34 years, or 35 to 64 +years +* `fos` (key): one of 60 unique fields of study +* `edu_qual` (key): one of 32 unique educational qualifications, e.g., +"Master's disploma" ```{r preview-data, include=T} # Rename for simplicity @@ -176,21 +188,30 @@ In the following sections, we will go over preprocessing the data in the `epi_recipe` framework, and fitting a model and making predictions within the `epipredict` framework and using the package's canned forecasters. -## Preprocessing +# Preprocessing + +We will create an `epi_recipe` that adds one `ahead` column and 3 `lag` columns. +The `ahead` column tells us how many time units ahead to predict, and the `lag` +columns tell us how many previous time points to include as covariates. We will +just work with one of the time series in our data for now: `num_graduates`. -We will create a recipe that adds one `ahead` column and 3 `lag` columns. +In this preprocessing step, no computation really happens. It just provides +a series of steps that will be applied when using `epi_workflow` later. And note +that since we specified our `time_type` to be `year`, our `lag` and `lead` +values are both in years. ```{r make-recipe, include=T} r <- epi_recipe(employ) %>% step_epi_ahead(num_graduates, ahead = 1) %>% # lag & ahead units in years - step_epi_lag(num_graduates, lag = c(0, 1, 1)) %>% + step_epi_lag(num_graduates, lag = 0:2) %>% step_epi_naomit() r ``` -There is one `raw` role which includes our value column `num_graduates`, and two -`key` roles which include our additional keys `age_group`, `fos` and -`edu_qual`. Let's take a look at what these additional columns look like. +There are 3 `raw` roles which are our three lagged `num_graduates` columns, and +three `key` roles which are our additional keys `age_group`, `fos` and +`edu_qual`. Let's apply this recipe using `prep` and `bake` to see all of the +additional `lag` and `ahead` columns created. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data @@ -198,26 +219,52 @@ baked_sample <- r %>% prep() %>% bake(new_data = employ) %>% sample_n(5) baked_sample ``` -## Model fitting and prediction +# Model fitting and prediction + +## Within recipes framework + +We will look at a simple model: [`parsnip::linear_reg()`]( + https://parsnip.tidymodels.org/reference/linear_reg.html) with the default +engine `lm`, which fits a linear regression using ordinary least squares. +Specifically, our model will be an autoregressive linear model with: -### Within recipes framework +* Outcome $y_{t}$, the number of graduates at time $t$. Corresponds to +setting `ahead = 1` in our recipe. + +* Predictors $x_{t-1}$, $x_{t-2}$, and $x_{t-3}$, the number of graduates in the +three consecutive years prior to time $t$. Corresponds to setting `lag = 0:2` in +our recipe. -We will look at a simple model: `parsnip::linear_reg()` with default engine -`lm`. We can use `epi_workflow` with the `epi_recipe` we defined in the -preprocessing section to fit an autoregressive linear model using lags at -time $t$ (current), $t-1$ (last year), and $t-2$ (2 years ago). +The model is represented algebraically as follows: + +\[ + y_{t+1} = \alpha_1 x_{t} + \alpha_2 x_{t-1} + \alpha_3 x_{t-2} + \epsilon_t +\] + +We will use `epi_workflow` with the `epi_recipe` we defined in the +preprocessing section to fit this model. ```{r linearreg-wf, include=T} wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) wf_linreg ``` +Let's take a look at the model object + +```{r linearreg-fit, include=T} +# extract the parsnip model object +wf_lr_fit <- wf_linreg$fit$fit +wf_lr_fit +``` + + + Now that we have our workflow, we can generate predictions from a subset of our -data. For this demo, we will predict the employment counts from the last 12 -months of our dataset. +data. For this demo, we will predict the number of graduates from the last 2 +years of our dataset. ```{r linearreg-predict, include=T} -latest <- employ %>% filter(time_value >= max(time_value) - 12) +latest <- employ %>% filter(time_value >= max(time_value) - 2) preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) # Display a sample of the prediction values head(preds) @@ -226,7 +273,9 @@ head(preds) Notice that `predict` still returns an `epi_df` with all of the keys that were present in the original dataset. -### With canned forecasters + + +## With canned forecasters Even though we aren't working with epidemiological data, canned forecasters still work as expected, out of the box. We will demonstrate this with the simple From 75a846e247e3032619d02e6dd4de776ec67a186e Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 23 Aug 2022 17:04:47 -0400 Subject: [PATCH 22/49] change notation --- vignettes/panel-data.Rmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index dc6c3234b..e0cc0b664 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -238,7 +238,8 @@ our recipe. The model is represented algebraically as follows: \[ - y_{t+1} = \alpha_1 x_{t} + \alpha_2 x_{t-1} + \alpha_3 x_{t-2} + \epsilon_t + y_{t+1} = + \beta_0 + \beta_1 x_{t} + \beta_2 x_{t-1} + \beta_3 x_{t-2} + \epsilon_t \] We will use `epi_workflow` with the `epi_recipe` we defined in the From 0747d14b362735ce3250a147c777246caab937c2 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 23 Aug 2022 17:13:39 -0400 Subject: [PATCH 23/49] add some todos --- vignettes/panel-data.Rmd | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index e0cc0b664..5028020ca 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -250,15 +250,7 @@ wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) wf_linreg ``` -Let's take a look at the model object - -```{r linearreg-fit, include=T} -# extract the parsnip model object -wf_lr_fit <- wf_linreg$fit$fit -wf_lr_fit -``` - - + Now that we have our workflow, we can generate predictions from a subset of our data. For this demo, we will predict the number of graduates from the last 2 @@ -274,7 +266,7 @@ head(preds) Notice that `predict` still returns an `epi_df` with all of the keys that were present in the original dataset. - + ## With canned forecasters From acd5a5adc4b91a4d2a722a00a2ceb62a99fd65e0 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 13 Sep 2022 20:08:58 -0700 Subject: [PATCH 24/49] WIP --- vignettes/panel-data.Rmd | 280 +++++++++++++++++++++++++++------------ 1 file changed, 192 insertions(+), 88 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 5028020ca..3a2a3dc38 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -22,6 +22,7 @@ library(parsnip) library(recipes) library(epiprocess) library(epipredict) +library(ggplot2) ``` [Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, @@ -68,8 +69,8 @@ modifications to get a subset of the full dataset: * Only keep provincial-level geographic region (the full data also has "Canada" as a region) -* Only keep "good" or better quality data rows, as indicated by the [`STATUS`] -(https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column +* Only keep "good" or better quality data rows, as indicated by the [`STATUS`]( + https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column * Choose a subset of covariates and aggregate across the remaining ones. The chosen covariates are age group, field of study, and educational qualification. @@ -82,11 +83,13 @@ library(cansim) # Get statcan data using get_cansim, which returns a tibble statcan_grad_employ <- get_cansim("37-10-0115-01") -gemploy <- statcan_grad_employ %>% +gemploy <- statcan_grad_employ %>% # Drop some columns and rename the ones we keep - select(c("REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", - "Field of study", "Gender", "Age group", "Status of student in Canada", - "Characteristics after graduation", "Graduate statistics")) %>% + select(c( + "REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", + "Field of study", "Gender", "Age group", "Status of student in Canada", + "Characteristics after graduation", "Graduate statistics" + )) %>% rename( "geo_value" = "GEO", "time_value" = "REF_DATE", @@ -98,40 +101,43 @@ gemploy <- statcan_grad_employ %>% "age_group" = "Age group", "student_status" = "Status of student in Canada", "grad_charac" = "Characteristics after graduation", - "grad_stat" = "Graduate statistics") %>% - # The original `VALUE` column contain the statistic indicated by - # `Graduate statistics` in the original data. Below we pivot the data + "grad_stat" = "Graduate statistics" + ) %>% + # The original `VALUE` column contain the statistic indicated by + # `Graduate statistics` in the original data. Below we pivot the data # wider so that each unique statistic can have its own column. mutate( # Recode for easier pivoting grad_stat = recode_factor( - grad_stat, - `Number of graduates` = "num_graduates", + grad_stat, + `Number of graduates` = "num_graduates", `Median employment income two years after graduation` = "med_income_2y", - `Median employment income five years after graduation` = "med_income_5y"), + `Median employment income five years after graduation` = "med_income_5y" + ), # They are originally strings but want ints for conversion to epi_df later time_value = as.integer(time_value) ) %>% pivot_wider(names_from = grad_stat, values_from = value) %>% filter( # Drop aggregates for some columns - geo_value != "Canada" & - age_group != "15 to 64 years" & - fos != "Total, field of study" & - edu_qual != "Total, educational qualification" & - # Keep aggregates for keys we don't want to keep - gender == "Total, gender" & - student_status == "Canadian and international students" & - # Since we're looking at 2y and 5y employment income, the only - # characteristics remaining are: - # - Graduates reporting employment income - # - Graduates reporting wages, salaries, and commissions only - # For simplicity, keep the first one only - grad_charac == "Graduates reporting employment income" & - # Only keep "good" data - is.na(status) & - # Drop NA value rows - !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% + geo_value != "Canada" & + age_group != "15 to 64 years" & + fos != "Total, field of study" & + edu_qual != "Total, educational qualification" & + # Keep aggregates for keys we don't want to keep + gender == "Total, gender" & + student_status == "Canadian and international students" & + # Since we're looking at 2y and 5y employment income, the only + # characteristics remaining are: + # - Graduates reporting employment income + # - Graduates reporting wages, salaries, and commissions only + # For simplicity, keep the first one only + grad_charac == "Graduates reporting employment income" & + # Only keep "good" data + is.na(status) & + # Drop NA value rows + !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y) + ) %>% select(-c(status, gender, student_status, grad_charac)) ``` @@ -149,15 +155,17 @@ a list of all the `type_type`s available. ```{r convert-to-epidf, eval=F} grad_employ_subset <- gemploy %>% tsibble::as_tsibble( - index=time_value, - key=c(geo_value, age_group, fos, edu_qual)) %>% + index = time_value, + key = c(geo_value, age_group, fos, edu_qual) + ) %>% as_epi_df( geo_type = "custom", time_type = "year", - additional_metadata=c(other_keys=list("age_group", "fos", "edu_qual"))) + additional_metadata = c(other_keys = list("age_group", "fos", "edu_qual")) + ) ``` ```{r data-dim, include=F} -employ_rowcount <- format(nrow(grad_employ_subset), big.mark=",") +employ_rowcount <- format(nrow(grad_employ_subset), big.mark = ",") employ_colcount <- length(names(grad_employ_subset)) ``` @@ -190,83 +198,160 @@ In the following sections, we will go over preprocessing the data in the # Preprocessing -We will create an `epi_recipe` that adds one `ahead` column and 3 `lag` columns. -The `ahead` column tells us how many time units ahead to predict, and the `lag` -columns tell us how many previous time points to include as covariates. We will -just work with one of the time series in our data for now: `num_graduates`. +As a simple example, let's work with the `num_graduates` column for now. + +```{r employ-small, include=T} +employ_small <- employ %>% + group_by(geo_value, time_value, age_group, edu_qual) %>% + summarise_if(is.numeric, sum) %>% + ungroup() %>% + # Incomplete data - exclude + filter(geo_value != "Territories") %>% + # Select groups where there are complete timeseries values + group_by(geo_value, age_group, edu_qual) %>% + filter(n() >= 6) %>% + mutate( + num_graduates_prop = num_graduates / sum(num_graduates) + ) %>% + # med_income_2y_prop = med_income_2y / sum(med_income_2y), + # med_income_5y_prop = med_income_5y / sum(med_income_5y)) %>% + ungroup() %>% + # select(-c(med_income_2y, med_income_5y, num_graduates)) %>% + # Bug: shouldn't have to cast back to epi_df + as_epi_df( + geo_type = "custom", + time_type = "year", + additional_metadata = c(other_keys = list("age_group", "edu_qual"))) +head(employ_small) +``` + +Below is a visualization for a sample of the small data. Note that some groups +do not have any time series information since we filtered out all timeseries +with incomplete dates. + +```{r employ-small-graph, include=F, eval=F} +employ_small %>% + filter(geo_value %in% c("British Columbia", "Ontario")) %>% + filter(grepl("degree", edu_qual, fixed = T)) %>% + ggplot(aes(x = time_value, y = num_graduates_prop, color = geo_value)) + + geom_line() + + facet_grid(rows = vars(edu_qual), cols = vars(age_group)) + + xlab("Year") + + ylab("# of graduates as proportion of sum within group") + + ggtitle("Trend in # of Graduates by Age Group and Education in BC and ON") +``` + +We will predict the number of graduates in the next year (time $t+1$) using an +autoregressive model with three lags (i.e., an AR(3) model). Such a model is +represented algebraically like this: + +\[ + x_{t+1} = + \phi_0 + \phi_1 x_{t} + \phi_2 x_{t-1} + \phi_3 x_{t-2} + \epsilon_t +\] + +where $x_i$ is the number of graduates at time $i$, and the current time is $t$. -In this preprocessing step, no computation really happens. It just provides -a series of steps that will be applied when using `epi_workflow` later. And note -that since we specified our `time_type` to be `year`, our `lag` and `lead` +In the preprocessing step, we need to create additional columns in `employ` for +each of $x_{t+1}$, $x_{t}$, $x_{t-1}$, and $x_{t-2}$. We do this via an +`epi_recipe`. Note that creating an `epi_recipe` alone doesn't add these +outcome and predictor columns; the recipe just stores the instructions for +adding them. + +Our `epi_recipe` should add one `ahead` column representing $x_{t+1}$ and +3 `lag` columns representing $x_{t}$, $x_{t-1}$, and $x_{t-2}$. Also note that +since we specified our `time_type` to be `year`, our `lag` and `lead` values are both in years. -```{r make-recipe, include=T} -r <- epi_recipe(employ) %>% - step_epi_ahead(num_graduates, ahead = 1) %>% # lag & ahead units in years - step_epi_lag(num_graduates, lag = 0:2) %>% - step_epi_naomit() +```{r make-recipe, include=T, eval=F} +# r <- epi_recipe(employ) %>% +# step_epi_ahead(num_graduates, ahead = 1) %>% # lag & ahead units in years +# step_epi_lag(num_graduates, lag = 0:2) %>% +# step_epi_naomit() +# r + +r <- epi_recipe(employ_small) %>% + step_epi_ahead(num_graduates_prop, ahead = 1) %>% # lag & ahead units in years + step_epi_lag(num_graduates_prop, lag = 0:2) %>% + step_epi_naomit() r ``` There are 3 `raw` roles which are our three lagged `num_graduates` columns, and three `key` roles which are our additional keys `age_group`, `fos` and -`edu_qual`. Let's apply this recipe using `prep` and `bake` to see all of the -additional `lag` and `ahead` columns created. +`edu_qual`. + +Let's apply this recipe using `prep` and `bake` to generate and view the `lag` +and `ahead` columns. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data -baked_sample <- r %>% prep() %>% bake(new_data = employ) %>% sample_n(5) -baked_sample +baked_sample <- r %>% + prep() %>% + bake(new_data = employ_small) %>% + sample_n(5) +# baked_sample ``` +We can see that the `prep` and `bake` steps created new columns according to +our `epi_recipe`: + +- `ahead_1_num_graduates` corresponds to $x_{t+1}$ +- `lag_0_num_graduates`, `lag_1_num_graduates`, and `lag_2_num_graduates` +correspond to $x_{t}$, $x_{t-1}$, and $x_{t-2}$ respectively. + # Model fitting and prediction ## Within recipes framework -We will look at a simple model: [`parsnip::linear_reg()`]( +Since our goal for now is to fit a simple autoregressive model, we can use +[`parsnip::linear_reg()`]( https://parsnip.tidymodels.org/reference/linear_reg.html) with the default engine `lm`, which fits a linear regression using ordinary least squares. -Specifically, our model will be an autoregressive linear model with: - -* Outcome $y_{t}$, the number of graduates at time $t$. Corresponds to -setting `ahead = 1` in our recipe. - -* Predictors $x_{t-1}$, $x_{t-2}$, and $x_{t-3}$, the number of graduates in the -three consecutive years prior to time $t$. Corresponds to setting `lag = 0:2` in -our recipe. - -The model is represented algebraically as follows: - -\[ - y_{t+1} = - \beta_0 + \beta_1 x_{t} + \beta_2 x_{t-1} + \beta_3 x_{t-2} + \epsilon_t -\] We will use `epi_workflow` with the `epi_recipe` we defined in the -preprocessing section to fit this model. +preprocessing section along with the `parsnip::linear_reg()` model. Note again +that `epi_workflow` is a container and doesn't actually do the fitting. We have +to pass the workflow into `fit()` to get our model coefficients +$\phi_i, i=0,...,3$. ```{r linearreg-wf, include=T} -wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) +wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% + parsnip::fit(employ_small) wf_linreg ``` - +This output tells us the coefficients of the fitted model; for instance, +the intercept is $\phi_0 = -2.2426$ and the coefficient for $x_{t}$ is +$\phi_1 = 1.14401$. Now that we have our workflow, we can generate predictions from a subset of our -data. For this demo, we will predict the number of graduates from the last 2 +data. For this demo, we will predict the number of graduates using the last 2 years of our dataset. ```{r linearreg-predict, include=T} -latest <- employ %>% filter(time_value >= max(time_value) - 2) +latest <- employ_small %>% filter(time_value >= max(time_value) - 2) preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) -# Display a sample of the prediction values -head(preds) +# Display a sample of the prediction values, excluding NAs +preds %>% head() ``` -Notice that `predict` still returns an `epi_df` with all of the keys that were -present in the original dataset. +We can do this using the `augment` function too: +```{r linearreg-augment, include=T} +employ_small_with_preds <- augment(wf_linreg, latest) +employ_small_with_preds %>% head() + +employ_small_with_preds %>% + mutate(resid = med_income_2y - .pred) %>% + ggplot(aes(x = .pred, y = resid, color = geo_value)) + + geom_point() + + xlab("Fitted values") + + ylab("Residuals") + + ggtitle("Plot of fitted values vs. residuals") +``` - +Notice that `predict` and `augment` both still returns an `epi_df` with all of +the keys that were present in the original dataset. ## With canned forecasters @@ -278,33 +363,52 @@ and the direct autoregressive (AR) forecaster [`arx_forecaster`]( https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). -```{r flatline, include=T} -out_fl <- flatline_forecaster(employ, "med_income_2y", +With canned forecasters, we don't need to manually create a recipe and workflow; +we just need to specify the lags, aheads, and some additional arguments that +are passed in a forecast-specific way that we'll see below. + +In this first example, we'll use `flatline_forecaster` to make a simple +prediction of the 2-year median income for the next year, based on one previous +time point. This model is representated algebraically as: +\[y_{t+1} = \phi_0 + \phi_1 y_{t}\] +where $y_i$ is the 2-year median income at time $i$. + +```{r flatline, include=T, warning=F} +out_fl <- flatline_forecaster(employ_small, "med_income_2y", args_list = flatline_args_list( - ahead=1L, forecast_date = as.Date("2022-08-16"))) + ahead = 1L, forecast_date = as.Date("2015-01-01"))) -augment(out_fl$epi_workflow, employ) +augment(out_fl$epi_workflow, employ_small) %>% head() ``` -```{r arx-lr, include=T} +In this second example, we'll use `arx_forecaster` to make a prediction of the +2-year median income based on the previous two time points' 2-year median +income _and_ 5-year median income. This model is represented algebraically as: +\[ + y_{t+1} = + \phi_0 + \phi_1 y_{t} + \phi_2 y_{t-1} + \phi_3 z_{t} + \phi_4 z_{t-1} +\] +where $y_i$ is as before, and $z_i$ is the 5-year median income at time $i$. + +```{r arx-lr, include=T, warning=F} arx_args <- arx_args_list( - lags = c(0L, 1L), ahead = 1L, forecast_date = as.Date("2022-08-01")) + lags = c(0L, 1L), ahead = 1L, forecast_date = as.Date("2015-01-01")) -out_arx_lr <- arx_forecaster(employ, "med_income_2y", - c("med_income_2y", "med_income_5y", "num_graduates"), +out_arx_lr <- arx_forecaster(employ_small, "med_income_2y", + c("med_income_2y", "med_income_5y"), args_list = arx_args) -out_arx_lr$predictions +out_arx_lr$predictions %>% head() ``` Other changes to the direct AR forecaster, like changing the engine, also work -as expected. +as expected. Below we use a boosted tree model instead of a linear regression. -```{r arx-rf, include=F, warning=F} +```{r arx-rf, include=T, warning=F} out_arx_rf <- arx_forecaster( - employ, "med_income_2y", c("med_income_2y", "med_income_5y", "num_graduates"), + employ_small, "med_income_2y", c("med_income_2y", "med_income_5y"), trainer = parsnip::boost_tree(mode = "regression", trees = 20), args_list = arx_args) -out_arx_rf$predictions +out_arx_rf$predictions %>% head() ``` From bbc44d3097aeec059da61b94c80737858a85c016 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 13 Sep 2022 20:42:08 -0700 Subject: [PATCH 25/49] make the vignette render finally --- R/data.R | 3 +-- data-raw/grad_employ_subset.R | 11 ++++------ data/grad_employ_subset.rda | Bin 39430 -> 7256 bytes man/grad_employ_subset.Rd | 3 +-- vignettes/panel-data.Rmd | 38 ++++++++++------------------------ 5 files changed, 17 insertions(+), 38 deletions(-) diff --git a/R/data.R b/R/data.R index 7a171a705..90bfc4073 100644 --- a/R/data.R +++ b/R/data.R @@ -83,13 +83,12 @@ #' Subset of Statistics Canada median employment income for postsecondary graduates #' -#' @format A tibble with 10193 rows and 8 variables: +#' @format A tibble with 1607 rows and 7 variables: #' \describe{ #' \item{geo_value}{The province in Canada associated with each #' row of measurements.} #' \item{time_value}{The time value, a year integer in YYYY format} #' \item{edu_qual}{The education qualification} -#' \item{fos}{The field of study} #' \item{age_group}{The age group; either 15 to 34 or 35 to 64} #' \item{num_graduates}{The number of graduates for the given row of characteristics} #' \item{med_income_2y}{The median employment income two years after graduation} diff --git a/data-raw/grad_employ_subset.R b/data-raw/grad_employ_subset.R index 70cb6d678..36aa561bd 100644 --- a/data-raw/grad_employ_subset.R +++ b/data-raw/grad_employ_subset.R @@ -74,9 +74,9 @@ gemploy <- statcan_grad_employ %>% # Drop aggregates for some columns geo_value != "Canada" & age_group != "15 to 64 years" & - fos != "Total, field of study" & edu_qual != "Total, educational qualification" & # Keep aggregates for keys we don't want to keep + fos == "Total, field of study" & gender == "Total, gender" & student_status == "Canadian and international students" & # Since we're looking at 2y and 5y employment income, the only @@ -89,7 +89,7 @@ gemploy <- statcan_grad_employ %>% is.na(status) & # Drop NA value rows !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% - select(-c(status, gender, student_status, grad_charac)) + select(-c(status, gender, student_status, grad_charac, fos)) # gemploy$time_value %>% unique() # class(gemploy$fos) @@ -99,16 +99,13 @@ gemploy <- statcan_grad_employ %>% nrow(gemploy) ncol(gemploy) -gemploy$grad_charac %>% unique() -gemploy %>% group_by(grad_charac) %>% slice(1) - grad_employ_subset <- gemploy %>% tsibble::as_tsibble( index=time_value, - key=c(geo_value, age_group, fos, edu_qual)) %>% + key=c(geo_value, age_group, edu_qual)) %>% as_epi_df( geo_type = "custom", time_type = "year", as_of = "2022-07-19", - additional_metadata=c(other_keys=list("age_group", "fos", "edu_qual"))) + additional_metadata = list(other_keys = c("age_group", "edu_qual"))) usethis::use_data(grad_employ_subset, overwrite = TRUE) # ================== EDA ================== diff --git a/data/grad_employ_subset.rda b/data/grad_employ_subset.rda index f2e52ce21eab825b6c2e379a5ed15f84b52d45ef..ef33b7df937e4100c6608aa338a005c5fe2a8955 100644 GIT binary patch literal 7256 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 diff --git a/man/grad_employ_subset.Rd b/man/grad_employ_subset.Rd index 463ab178c..072f77961 100644 --- a/man/grad_employ_subset.Rd +++ b/man/grad_employ_subset.Rd @@ -5,13 +5,12 @@ \alias{grad_employ_subset} \title{Subset of Statistics Canada median employment income for postsecondary graduates} \format{ -A tibble with 10193 rows and 8 variables: +A tibble with 1607 rows and 7 variables: \describe{ \item{geo_value}{The province in Canada associated with each row of measurements.} \item{time_value}{The time value, a year integer in YYYY format} \item{edu_qual}{The education qualification} -\item{fos}{The field of study} \item{age_group}{The age group; either 15 to 34 or 35 to 64} \item{num_graduates}{The number of graduates for the given row of characteristics} \item{med_income_2y}{The median employment income two years after graduation} diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 3a2a3dc38..777cc15f7 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -122,9 +122,9 @@ gemploy <- statcan_grad_employ %>% # Drop aggregates for some columns geo_value != "Canada" & age_group != "15 to 64 years" & - fos != "Total, field of study" & edu_qual != "Total, educational qualification" & # Keep aggregates for keys we don't want to keep + fos == "Total, field of study" & gender == "Total, gender" & student_status == "Canadian and international students" & # Since we're looking at 2y and 5y employment income, the only @@ -138,7 +138,7 @@ gemploy <- statcan_grad_employ %>% # Drop NA value rows !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y) ) %>% - select(-c(status, gender, student_status, grad_charac)) + select(-c(status, gender, student_status, grad_charac, fos)) ``` To use this data with `epipredict`, we need to convert it into `epi_df` format @@ -156,11 +156,11 @@ a list of all the `type_type`s available. grad_employ_subset <- gemploy %>% tsibble::as_tsibble( index = time_value, - key = c(geo_value, age_group, fos, edu_qual) + key = c(geo_value, age_group, edu_qual) ) %>% as_epi_df( geo_type = "custom", time_type = "year", - additional_metadata = c(other_keys = list("age_group", "fos", "edu_qual")) + additional_metadata = c(other_keys = list("age_group", "edu_qual")) ) ``` @@ -202,26 +202,16 @@ As a simple example, let's work with the `num_graduates` column for now. ```{r employ-small, include=T} employ_small <- employ %>% - group_by(geo_value, time_value, age_group, edu_qual) %>% - summarise_if(is.numeric, sum) %>% - ungroup() %>% # Incomplete data - exclude filter(geo_value != "Territories") %>% # Select groups where there are complete timeseries values group_by(geo_value, age_group, edu_qual) %>% filter(n() >= 6) %>% mutate( - num_graduates_prop = num_graduates / sum(num_graduates) - ) %>% - # med_income_2y_prop = med_income_2y / sum(med_income_2y), - # med_income_5y_prop = med_income_5y / sum(med_income_5y)) %>% - ungroup() %>% - # select(-c(med_income_2y, med_income_5y, num_graduates)) %>% - # Bug: shouldn't have to cast back to epi_df - as_epi_df( - geo_type = "custom", - time_type = "year", - additional_metadata = c(other_keys = list("age_group", "edu_qual"))) + num_graduates_prop = num_graduates / sum(num_graduates), + med_income_2y_prop = med_income_2y / sum(med_income_2y), + med_income_5y_prop = med_income_5y / sum(med_income_5y)) %>% + ungroup() head(employ_small) ``` @@ -229,7 +219,7 @@ Below is a visualization for a sample of the small data. Note that some groups do not have any time series information since we filtered out all timeseries with incomplete dates. -```{r employ-small-graph, include=F, eval=F} +```{r employ-small-graph, include=T, eval=T} employ_small %>% filter(geo_value %in% c("British Columbia", "Ontario")) %>% filter(grepl("degree", edu_qual, fixed = T)) %>% @@ -263,13 +253,7 @@ Our `epi_recipe` should add one `ahead` column representing $x_{t+1}$ and since we specified our `time_type` to be `year`, our `lag` and `lead` values are both in years. -```{r make-recipe, include=T, eval=F} -# r <- epi_recipe(employ) %>% -# step_epi_ahead(num_graduates, ahead = 1) %>% # lag & ahead units in years -# step_epi_lag(num_graduates, lag = 0:2) %>% -# step_epi_naomit() -# r - +```{r make-recipe, include=T, eval=T} r <- epi_recipe(employ_small) %>% step_epi_ahead(num_graduates_prop, ahead = 1) %>% # lag & ahead units in years step_epi_lag(num_graduates_prop, lag = 0:2) %>% @@ -290,7 +274,7 @@ baked_sample <- r %>% prep() %>% bake(new_data = employ_small) %>% sample_n(5) -# baked_sample +baked_sample ``` We can see that the `prep` and `bake` steps created new columns according to From c48548ce8f7350613230609ab9f506e91397572a Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 13 Sep 2022 21:38:55 -0700 Subject: [PATCH 26/49] edits, plots --- vignettes/panel-data.Rmd | 96 ++++++++++++++++++++++++---------------- 1 file changed, 57 insertions(+), 39 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 777cc15f7..1a2cb2df0 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -23,6 +23,7 @@ library(recipes) library(epiprocess) library(epipredict) library(ggplot2) +library(gridExtra) ``` [Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, @@ -50,8 +51,8 @@ year_end <- max(grad_employ_subset$time_value) # Example panel data overview -In this vignette, we will demonstrate using `epipredict` with employment data -from Statistics Canada. We will be using +In this vignette, we will demonstrate using `epipredict` with employment panel +data from Statistics Canada. We will be using [ Table 37-10-0115-01: Characteristics and median employment income of longitudinal cohorts of postsecondary graduates two and five years after @@ -61,7 +62,7 @@ from Statistics Canada. We will be using The full dataset contains yearly median employment income two and five years after graduation, and number of graduates. The data is stratified by -variables such as geographic region (Canadian province), field of study, and +variables such as geographic region (Canadian province), education, and age group. The year range of the dataset is `r year_start` to `r year_end`, inclusive. The full dataset also contains metadata that describes the quality of data collected. For demonstration purposes, we make the following @@ -72,7 +73,7 @@ modifications to get a subset of the full dataset: * Only keep "good" or better quality data rows, as indicated by the [`STATUS`]( https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column * Choose a subset of covariates and aggregate across the remaining ones. The -chosen covariates are age group, field of study, and educational qualification. +chosen covariates are age group, and educational qualification. Below is the query for obtaining the full data and code for subsetting it as we just described: @@ -144,7 +145,7 @@ gemploy <- statcan_grad_employ %>% To use this data with `epipredict`, we need to convert it into `epi_df` format using [`as_epi_df`]( https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) -with additional keys. In our case, the additional keys are `age_group`, `fos` +with additional keys. In our case, the additional keys are `age_group`, and `edu_qual`. Note that in the above modifications, we encoded `time_value` as type `integer`. This lets us set `time_type = "year"`, and ensures that lag and ahead modifications later on are using the correct time units. See the @@ -182,7 +183,6 @@ after graduation after graduation * `age_group` (key): one of two age groups, either 15 to 34 years, or 35 to 64 years -* `fos` (key): one of 60 unique fields of study * `edu_qual` (key): one of 32 unique educational qualifications, e.g., "Master's disploma" @@ -196,16 +196,18 @@ In the following sections, we will go over preprocessing the data in the `epi_recipe` framework, and fitting a model and making predictions within the `epipredict` framework and using the package's canned forecasters. -# Preprocessing +# A simple example +## Preprocessing -As a simple example, let's work with the `num_graduates` column for now. +As a simple example, let's work with the `num_graduates` column for now. We will +first pre-process by "standardizing" each numeric column by the total within +each group of keys. We do this since those raw numeric values will vary greatly +from province to province since there are large differences in population. ```{r employ-small, include=T} employ_small <- employ %>% - # Incomplete data - exclude - filter(geo_value != "Territories") %>% - # Select groups where there are complete timeseries values group_by(geo_value, age_group, edu_qual) %>% + # Select groups where there are complete timeseries values filter(n() >= 6) %>% mutate( num_graduates_prop = num_graduates / sum(num_graduates), @@ -231,16 +233,17 @@ employ_small %>% ggtitle("Trend in # of Graduates by Age Group and Education in BC and ON") ``` -We will predict the number of graduates in the next year (time $t+1$) using an -autoregressive model with three lags (i.e., an AR(3) model). Such a model is -represented algebraically like this: +We will predict the "standardized" number of graduates (a proportion) in the +next year (time $t+1$) using an autoregressive model with three lags (i.e., an +AR(3) model). Such a model is represented algebraically like this: \[ x_{t+1} = \phi_0 + \phi_1 x_{t} + \phi_2 x_{t-1} + \phi_3 x_{t-2} + \epsilon_t \] -where $x_i$ is the number of graduates at time $i$, and the current time is $t$. +where $x_i$ is the proportion of graduates at time $i$, and the current time is +$t$. In the preprocessing step, we need to create additional columns in `employ` for each of $x_{t+1}$, $x_{t}$, $x_{t-1}$, and $x_{t-2}$. We do this via an @@ -261,18 +264,12 @@ r <- epi_recipe(employ_small) %>% r ``` -There are 3 `raw` roles which are our three lagged `num_graduates` columns, and -three `key` roles which are our additional keys `age_group`, `fos` and -`edu_qual`. - Let's apply this recipe using `prep` and `bake` to generate and view the `lag` and `ahead` columns. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data -baked_sample <- r %>% - prep() %>% - bake(new_data = employ_small) %>% +baked_sample <- r %>% prep() %>% bake(new_data = employ_small) %>% sample_n(5) baked_sample ``` @@ -280,13 +277,12 @@ baked_sample We can see that the `prep` and `bake` steps created new columns according to our `epi_recipe`: -- `ahead_1_num_graduates` corresponds to $x_{t+1}$ -- `lag_0_num_graduates`, `lag_1_num_graduates`, and `lag_2_num_graduates` -correspond to $x_{t}$, $x_{t-1}$, and $x_{t-2}$ respectively. +- `ahead_1_num_graduates_prop` corresponds to $x_{t+1}$ +- `lag_0_num_graduates_prop`, `lag_1_num_graduates_prop`, and +`lag_2_num_graduates_prop` correspond to $x_{t}$, $x_{t-1}$, and $x_{t-2}$ +respectively. -# Model fitting and prediction - -## Within recipes framework +## Model fitting and prediction Since our goal for now is to fit a simple autoregressive model, we can use [`parsnip::linear_reg()`]( @@ -306,8 +302,8 @@ wf_linreg ``` This output tells us the coefficients of the fitted model; for instance, -the intercept is $\phi_0 = -2.2426$ and the coefficient for $x_{t}$ is -$\phi_1 = 1.14401$. +the intercept is $\phi_0 = 0.24804$ and the coefficient for $x_{t}$ is +$\phi_1 = 0.06648$. Now that we have our workflow, we can generate predictions from a subset of our data. For this demo, we will predict the number of graduates using the last 2 @@ -320,24 +316,46 @@ preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) preds %>% head() ``` -We can do this using the `augment` function too: +We can do this using the `augment` function too. Note that `predict` and +`augment` both still return an `epi_df` with all of the keys that were present +in the original dataset. + ```{r linearreg-augment, include=T} employ_small_with_preds <- augment(wf_linreg, latest) employ_small_with_preds %>% head() +``` + +## AR(3) Model Diagnostics + +First, we'll plot the residuals (that is, $y_{t} - \hat{y}_{t}$) against the +fitted values ($\hat{y}_{t}$). -employ_small_with_preds %>% - mutate(resid = med_income_2y - .pred) %>% - ggplot(aes(x = .pred, y = resid, color = geo_value)) + - geom_point() + +```{r lienarreg-resid-plot, include=T, warning=F} +employ_small_with_preds <- employ_small_with_preds %>% + mutate(resid = num_graduates_prop - .pred) + +p1 <- employ_small_with_preds %>% + ggplot(aes(x = .pred, y = resid)) + + geom_point(size = 1.5, alpha = .8) + + geom_smooth(method = "loess", color = "red", linetype = "dashed", size = .7) + xlab("Fitted values") + ylab("Residuals") + - ggtitle("Plot of fitted values vs. residuals") + ggtitle("Plot of Fitted Values vs. Residuals in AR(3) Model") + +p2 <- employ_small_with_preds %>% + ggplot(aes(sample = resid)) + stat_qq(alpha = .6) + stat_qq_line() + + ggtitle("Q-Q Plot of Residuals") + +grid.arrange(p1, p2, ncol = 2) ``` -Notice that `predict` and `augment` both still returns an `epi_df` with all of -the keys that were present in the original dataset. +The left plot shows us that the residuals are mostly clustered around zero, +but do not form an even band around the zero line, indicating that the variance +of the residuals is not constant. The right Q-Q plot shows us that the residuals +have heavier tails than a Normal distribution. So both the constant variance and +normality assumptions of the linear model have been violated. -## With canned forecasters +# Using canned forecasters Even though we aren't working with epidemiological data, canned forecasters still work as expected, out of the box. We will demonstrate this with the simple From 82b01cc8ff926ecf86a9bb3e7c2b53949b4a655b Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Tue, 13 Sep 2022 21:39:50 -0700 Subject: [PATCH 27/49] title change --- vignettes/panel-data.Rmd | 41 +++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 1a2cb2df0..073ada7e2 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -196,7 +196,8 @@ In the following sections, we will go over preprocessing the data in the `epi_recipe` framework, and fitting a model and making predictions within the `epipredict` framework and using the package's canned forecasters. -# A simple example +# A Simple AR(3) Model Example + ## Preprocessing As a simple example, let's work with the `num_graduates` column for now. We will @@ -212,7 +213,8 @@ employ_small <- employ %>% mutate( num_graduates_prop = num_graduates / sum(num_graduates), med_income_2y_prop = med_income_2y / sum(med_income_2y), - med_income_5y_prop = med_income_5y / sum(med_income_5y)) %>% + med_income_5y_prop = med_income_5y / sum(med_income_5y) + ) %>% ungroup() head(employ_small) ``` @@ -269,7 +271,9 @@ and `ahead` columns. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data -baked_sample <- r %>% prep() %>% bake(new_data = employ_small) %>% +baked_sample <- r %>% + prep() %>% + bake(new_data = employ_small) %>% sample_n(5) baked_sample ``` @@ -325,25 +329,27 @@ employ_small_with_preds <- augment(wf_linreg, latest) employ_small_with_preds %>% head() ``` -## AR(3) Model Diagnostics +## Model Diagnostics First, we'll plot the residuals (that is, $y_{t} - \hat{y}_{t}$) against the fitted values ($\hat{y}_{t}$). ```{r lienarreg-resid-plot, include=T, warning=F} -employ_small_with_preds <- employ_small_with_preds %>% - mutate(resid = num_graduates_prop - .pred) - +employ_small_with_preds <- employ_small_with_preds %>% + mutate(resid = num_graduates_prop - .pred) + p1 <- employ_small_with_preds %>% - ggplot(aes(x = .pred, y = resid)) + + ggplot(aes(x = .pred, y = resid)) + geom_point(size = 1.5, alpha = .8) + - geom_smooth(method = "loess", color = "red", linetype = "dashed", size = .7) + + geom_smooth(method = "loess", color = "red", linetype = "dashed", size = .7) + xlab("Fitted values") + ylab("Residuals") + ggtitle("Plot of Fitted Values vs. Residuals in AR(3) Model") -p2 <- employ_small_with_preds %>% - ggplot(aes(sample = resid)) + stat_qq(alpha = .6) + stat_qq_line() + +p2 <- employ_small_with_preds %>% + ggplot(aes(sample = resid)) + + stat_qq(alpha = .6) + + stat_qq_line() + ggtitle("Q-Q Plot of Residuals") grid.arrange(p1, p2, ncol = 2) @@ -378,7 +384,9 @@ where $y_i$ is the 2-year median income at time $i$. ```{r flatline, include=T, warning=F} out_fl <- flatline_forecaster(employ_small, "med_income_2y", args_list = flatline_args_list( - ahead = 1L, forecast_date = as.Date("2015-01-01"))) + ahead = 1L, forecast_date = as.Date("2015-01-01") + ) +) augment(out_fl$epi_workflow, employ_small) %>% head() ``` @@ -394,11 +402,13 @@ where $y_i$ is as before, and $z_i$ is the 5-year median income at time $i$. ```{r arx-lr, include=T, warning=F} arx_args <- arx_args_list( - lags = c(0L, 1L), ahead = 1L, forecast_date = as.Date("2015-01-01")) + lags = c(0L, 1L), ahead = 1L, forecast_date = as.Date("2015-01-01") +) out_arx_lr <- arx_forecaster(employ_small, "med_income_2y", c("med_income_2y", "med_income_5y"), - args_list = arx_args) + args_list = arx_args +) out_arx_lr$predictions %>% head() ``` @@ -410,7 +420,8 @@ as expected. Below we use a boosted tree model instead of a linear regression. out_arx_rf <- arx_forecaster( employ_small, "med_income_2y", c("med_income_2y", "med_income_5y"), trainer = parsnip::boost_tree(mode = "regression", trees = 20), - args_list = arx_args) + args_list = arx_args +) out_arx_rf$predictions %>% head() ``` From bf2d17190b2dd17f485fb1c10ff3efa924441149 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 15 Sep 2022 02:00:52 -0700 Subject: [PATCH 28/49] fix linting, add model, various edits --- vignettes/panel-data.Rmd | 248 ++++++++++++++++++++++++++++----------- 1 file changed, 178 insertions(+), 70 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 073ada7e2..16f7aa7d3 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -18,12 +18,12 @@ knitr::opts_chunk$set( ```{r libraries} library(dplyr) +library(tidyr) library(parsnip) library(recipes) library(epiprocess) library(epipredict) library(ggplot2) -library(gridExtra) ``` [Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, @@ -89,8 +89,7 @@ gemploy <- statcan_grad_employ %>% select(c( "REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", "Field of study", "Gender", "Age group", "Status of student in Canada", - "Characteristics after graduation", "Graduate statistics" - )) %>% + "Characteristics after graduation", "Graduate statistics")) %>% rename( "geo_value" = "GEO", "time_value" = "REF_DATE", @@ -102,8 +101,7 @@ gemploy <- statcan_grad_employ %>% "age_group" = "Age group", "student_status" = "Status of student in Canada", "grad_charac" = "Characteristics after graduation", - "grad_stat" = "Graduate statistics" - ) %>% + "grad_stat" = "Graduate statistics") %>% # The original `VALUE` column contain the statistic indicated by # `Graduate statistics` in the original data. Below we pivot the data # wider so that each unique statistic can have its own column. @@ -116,8 +114,7 @@ gemploy <- statcan_grad_employ %>% `Median employment income five years after graduation` = "med_income_5y" ), # They are originally strings but want ints for conversion to epi_df later - time_value = as.integer(time_value) - ) %>% + time_value = as.integer(time_value)) %>% pivot_wider(names_from = grad_stat, values_from = value) %>% filter( # Drop aggregates for some columns @@ -137,8 +134,7 @@ gemploy <- statcan_grad_employ %>% # Only keep "good" data is.na(status) & # Drop NA value rows - !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y) - ) %>% + !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% select(-c(status, gender, student_status, grad_charac, fos)) ``` @@ -157,12 +153,10 @@ a list of all the `type_type`s available. grad_employ_subset <- gemploy %>% tsibble::as_tsibble( index = time_value, - key = c(geo_value, age_group, edu_qual) - ) %>% + key = c(geo_value, age_group, edu_qual)) %>% as_epi_df( geo_type = "custom", time_type = "year", - additional_metadata = c(other_keys = list("age_group", "edu_qual")) - ) + additional_metadata = c(other_keys = list("age_group", "edu_qual"))) ``` ```{r data-dim, include=F} @@ -203,7 +197,7 @@ In the following sections, we will go over preprocessing the data in the As a simple example, let's work with the `num_graduates` column for now. We will first pre-process by "standardizing" each numeric column by the total within each group of keys. We do this since those raw numeric values will vary greatly -from province to province since there are large differences in population. +from province to province since there are large differences in population. ```{r employ-small, include=T} employ_small <- employ %>% @@ -213,8 +207,7 @@ employ_small <- employ %>% mutate( num_graduates_prop = num_graduates / sum(num_graduates), med_income_2y_prop = med_income_2y / sum(med_income_2y), - med_income_5y_prop = med_income_5y / sum(med_income_5y) - ) %>% + med_income_5y_prop = med_income_5y / sum(med_income_5y)) %>% ungroup() head(employ_small) ``` @@ -241,7 +234,7 @@ AR(3) model). Such a model is represented algebraically like this: \[ x_{t+1} = - \phi_0 + \phi_1 x_{t} + \phi_2 x_{t-1} + \phi_3 x_{t-2} + \epsilon_t + \alpha_0 + \alpha_1 x_{t} + \alpha_2 x_{t-1} + \alpha_3 x_{t-2} + \epsilon_t \] where $x_i$ is the proportion of graduates at time $i$, and the current time is @@ -271,11 +264,11 @@ and `ahead` columns. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data -baked_sample <- r %>% - prep() %>% - bake(new_data = employ_small) %>% - sample_n(5) -baked_sample +bake_and_show_sample <- function(recipe, new_data, n=5) { + recipe %>% prep() %>% bake(new_data = new_data) %>% sample_n(n) +} + +bake_and_show_sample(r, employ_small) ``` We can see that the `prep` and `bake` steps created new columns according to @@ -286,7 +279,7 @@ our `epi_recipe`: `lag_2_num_graduates_prop` correspond to $x_{t}$, $x_{t-1}$, and $x_{t-2}$ respectively. -## Model fitting and prediction +## Model Fitting and Prediction Since our goal for now is to fit a simple autoregressive model, we can use [`parsnip::linear_reg()`]( @@ -297,36 +290,44 @@ We will use `epi_workflow` with the `epi_recipe` we defined in the preprocessing section along with the `parsnip::linear_reg()` model. Note again that `epi_workflow` is a container and doesn't actually do the fitting. We have to pass the workflow into `fit()` to get our model coefficients -$\phi_i, i=0,...,3$. +$\alpha_i, i=0,...,3$. ```{r linearreg-wf, include=T} wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% parsnip::fit(employ_small) -wf_linreg +summary(extract_fit_engine(wf_linreg)) ``` This output tells us the coefficients of the fitted model; for instance, -the intercept is $\phi_0 = 0.24804$ and the coefficient for $x_{t}$ is -$\phi_1 = 0.06648$. +the intercept is $\alpha_0 = 0.24804$ and the coefficient for $x_{t}$ is +$\alpha_1 = 0.06648$. The summary also tells us that only the intercept and lags +at 2 years and 3 years ago have coefficients significantly greater than zero. + +Extracting the 95% confidence intervals for the coefficients also leads us to +the same conclusion: all the coefficients except for $\alpha_1$ (lag 0) contain +0. + +```{r} +confint(extract_fit_engine(wf_linreg)) +``` Now that we have our workflow, we can generate predictions from a subset of our data. For this demo, we will predict the number of graduates using the last 2 years of our dataset. ```{r linearreg-predict, include=T} -latest <- employ_small %>% filter(time_value >= max(time_value) - 2) +latest <- get_test_data(recipe = r, x = employ_small) preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) # Display a sample of the prediction values, excluding NAs -preds %>% head() +preds %>% sample_n(5) ``` We can do this using the `augment` function too. Note that `predict` and `augment` both still return an `epi_df` with all of the keys that were present in the original dataset. -```{r linearreg-augment, include=T} -employ_small_with_preds <- augment(wf_linreg, latest) -employ_small_with_preds %>% head() +```{r linearreg-augment, include=T, eval=F} +augment(wf_linreg, latest) %>% sample_n(5) ``` ## Model Diagnostics @@ -338,79 +339,186 @@ fitted values ($\hat{y}_{t}$). employ_small_with_preds <- employ_small_with_preds %>% mutate(resid = num_graduates_prop - .pred) -p1 <- employ_small_with_preds %>% +employ_small_with_preds %>% ggplot(aes(x = .pred, y = resid)) + geom_point(size = 1.5, alpha = .8) + geom_smooth(method = "loess", color = "red", linetype = "dashed", size = .7) + xlab("Fitted values") + ylab("Residuals") + ggtitle("Plot of Fitted Values vs. Residuals in AR(3) Model") +``` -p2 <- employ_small_with_preds %>% +The fitted values vs. residuals plot shows us that the residuals are mostly +clustered around zero, but do not form an even band around the zero line, +indicating that the variance of the residuals is not constant. + +```{r linearreg-qqplot, include=T, warning=F} +employ_small_with_preds %>% ggplot(aes(sample = resid)) + stat_qq(alpha = .6) + stat_qq_line() + ggtitle("Q-Q Plot of Residuals") +``` + +The Q-Q plot shows us that the residuals have heavier tails than a Normal +distribution. So both the constant variance and normality assumptions of the +linear model have been violated. + +# Autoregressive Linear Model with Exogenous Inputs + +Now suppose we want to model the 5-year employment income using 3 lags, while +also incorporating information from the other two time-series in our dataset: +the 2-year employment income and the number of graduates in the previous 2 +years. We would do this using an autoregressive model with exogenous inputs, +defined as follows: -grid.arrange(p1, p2, ncol = 2) +\[ + y_{t+1} = + \alpha_0 + \alpha_1 y_{t} + \alpha_2 y_{t-1} + \alpha_3 y_{t-2} + + \beta_1 x_{t} + \beta_2 x_{t-1} + \gamma_2 z_{t} + \gamma_2 z_{t-1} +\] + +where $y_i$ is the 5-year median income (proportion) at time $i$, +$x_i$ is the 2-year median income (proportion) at time $i$, and +$z_i$ is the number of graduates (proportion) at time $i$. + +## Preprocessing + +Again, we construct an `epi_recipe` detailing the preprocessing steps. + +```{r custom-arx, include=T} +rx <- epi_recipe(employ_small) %>% + step_epi_ahead(med_income_5y_prop, ahead = 1) %>% + # 5-year median income has 3 lags c(0,1,2) + step_epi_lag(med_income_5y_prop, lag = c(0,1,2)) %>% + # But the two exogenous variables have 2 lags c(0,1) + step_epi_lag(med_income_2y_prop, lag = c(0,1)) %>% + step_epi_lag(num_graduates_prop, lag = c(0,1)) %>% + step_epi_naomit() + +bake_and_show_sample(rx, employ_small) ``` -The left plot shows us that the residuals are mostly clustered around zero, -but do not form an even band around the zero line, indicating that the variance -of the residuals is not constant. The right Q-Q plot shows us that the residuals -have heavier tails than a Normal distribution. So both the constant variance and -normality assumptions of the linear model have been violated. +## Model Fitting & Postprocessing + +Before fitting our model and making predictions, let's add some post-processing +steps using a few `frosting` layers to do a few things: + +1. Convert our predictions back to income values and number of graduates, +rather than standardized proportions. We do this via the frosting layer +`layer_population_scaling`. +2. Threshold our predictions to 0. We are predicting proportions, which can't +be negative. And the transformed values back to dollars and people can't be +negative either. +3. Generate prediction intervals based on residual quantiles, allowing us to +quantify the uncertainty associated with future predicted values. + +```{r custom-arx-post, include=T} +# Create dataframe of the sums we used for standardizing +# Only have to include med_income_5y since that is our outcome +totals <- employ_small %>% + group_by(geo_value, age_group, edu_qual) %>% + summarise(med_income_5y_tot = sum(med_income_5y)) + +# Define post-processing steps +f <- frosting() %>% + layer_predict() %>% + layer_naomit(.pred) %>% + layer_threshold(.pred, lower = 0) %>% + # 90% prediction interval + layer_residual_quantiles(probs = c(0.05, 0.95), symmetrize = F) %>% + layer_population_scaling( + .pred, .pred_distn, df = totals, df_pop_col = "med_income_5y_tot") + +wfx_linreg <- epi_workflow(rx, parsnip::linear_reg()) %>% + fit(employ_small) %>% + add_frosting(f) + +summary(extract_fit_engine(wfx_linreg)) +``` + +Based on the summary output for this model, only the intercept term, 5-year +median income from 3 years ago, and the 2-year median income from 1 year ago +are significant linear predictors for today's 5-year median income at a 95% +confidence level. Both lags for the number of graduates were insigificant. + +Let's take a look at the predictions along with their 90% prediction intervals. + + ```{r} +latest <- get_test_data(recipe = rx, x = employ_small) +predsx <- predict(wfx_linreg, latest) + +# Display values within prediction intervals +predsx %>% + select( + geo_value, time_value, edu_qual, age_group, + .pred_original, .pred_distn_original) %>% + dplyr::mutate(.quantiles = nested_quantiles(.pred_distn_original)) %>% + tidyr::unnest(.quantiles) %>% + pivot_wider(names_from = tau, values_from = q) %>% + head() + ``` # Using canned forecasters -Even though we aren't working with epidemiological data, canned forecasters -still work as expected, out of the box. We will demonstrate this with the simple +We've seen what we can do with non-epidemiological panel data using the +recipes frame, with `epi_recipe` for preprocessing, `epi_workflow` for model +fitting, and `frosting` for postprocessing. + +`epipredict` also comes with canned forecasters that do all of those steps +behind the scenes for some simple models. Even though we aren't working with +epidemiological data, canned forecasters still work as expected, out of the box. +We will demonstrate this with the simple [`flatline_forecaster`]( https://cmu-delphi.github.io/epipredict/reference/flatline_forecaster.html) and the direct autoregressive (AR) forecaster [`arx_forecaster`]( https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). -With canned forecasters, we don't need to manually create a recipe and workflow; -we just need to specify the lags, aheads, and some additional arguments that -are passed in a forecast-specific way that we'll see below. +For both illustrations, we will continue to use the `employ_small` dataset +with the transformed numeric columns that are proportions within each group +by the keys in our `epi_df`. + +## Flatline Forecaster In this first example, we'll use `flatline_forecaster` to make a simple prediction of the 2-year median income for the next year, based on one previous time point. This model is representated algebraically as: -\[y_{t+1} = \phi_0 + \phi_1 y_{t}\] -where $y_i$ is the 2-year median income at time $i$. +\[y_{t+1} = \alpha_0 + \alpha_0 y_{t}\] +where $y_i$ is the 2-year median income (proportion) at time $i$. ```{r flatline, include=T, warning=F} -out_fl <- flatline_forecaster(employ_small, "med_income_2y", +out_fl <- flatline_forecaster(employ_small, "med_income_2y_prop", args_list = flatline_args_list( - ahead = 1L, forecast_date = as.Date("2015-01-01") - ) -) + ahead = 1L, forecast_date = as.Date("2015-01-01"))) -augment(out_fl$epi_workflow, employ_small) %>% head() +# The first argument to augment grabs the epi_workflow object from the +# forecaster output. +augment(out_fl$epi_workflow, employ_small) %>% sample_n(5) ``` +## Autoregressive Forecaster with Exogenous Inputs + In this second example, we'll use `arx_forecaster` to make a prediction of the -2-year median income based on the previous two time points' 2-year median -income _and_ 5-year median income. This model is represented algebraically as: -\[ - y_{t+1} = - \phi_0 + \phi_1 y_{t} + \phi_2 y_{t-1} + \phi_3 z_{t} + \phi_4 z_{t-1} -\] -where $y_i$ is as before, and $z_i$ is the 5-year median income at time $i$. +5-year median income based using two lags, _and_ using two lags on two exogenous +variables: 2-year median income and number of graduates. + +The canned forecaster gives us a simple way of making this forecast since it +defines the recipe, workflow, and post-processing steps behind the scenes. This +is very similar to the model we introduced in the "Autoregressive Linear Model +with Exogenous Inputs" section of this article, but where all inputs have the +same number of lags. ```{r arx-lr, include=T, warning=F} arx_args <- arx_args_list( - lags = c(0L, 1L), ahead = 1L, forecast_date = as.Date("2015-01-01") -) + lags = c(0L, 1L), ahead = 1L, forecast_date = as.Date("2015-01-01")) -out_arx_lr <- arx_forecaster(employ_small, "med_income_2y", - c("med_income_2y", "med_income_5y"), - args_list = arx_args -) +out_arx_lr <- arx_forecaster(employ_small, "med_income_5y_prop", + c("med_income_5y_prop", "med_income_2y_prop", "num_graduates_prop"), + args_list = arx_args) -out_arx_lr$predictions %>% head() +augment(out_arx_lr$epi_workflow, employ_small) %>% sample_n(5) ``` Other changes to the direct AR forecaster, like changing the engine, also work @@ -418,10 +526,10 @@ as expected. Below we use a boosted tree model instead of a linear regression. ```{r arx-rf, include=T, warning=F} out_arx_rf <- arx_forecaster( - employ_small, "med_income_2y", c("med_income_2y", "med_income_5y"), + employ_small, "med_income_5y_prop", + c("med_income_5y_prop", "med_income_2y_prop", "num_graduates_prop"), trainer = parsnip::boost_tree(mode = "regression", trees = 20), - args_list = arx_args -) + args_list = arx_args) -out_arx_rf$predictions %>% head() +augment(out_arx_rf$epi_workflow, employ_small) %>% sample_n(5) ``` From 9822f8d595730c56a31a5d5f88a5d574d1545af9 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 15 Sep 2022 02:05:30 -0700 Subject: [PATCH 29/49] fix data.R --- R/data.R | 24 ------------------------ man/epi_workflow.Rd | 2 +- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/R/data.R b/R/data.R index 90bfc4073..1088853c8 100644 --- a/R/data.R +++ b/R/data.R @@ -57,30 +57,6 @@ #' and \url{https://www.census.gov/data/tables/2010/dec/2010-island-areas.html} "state_census" -#' Subset of Statistics Canada employment numbers by industry and province -#' -#' @format A tibble with 109,388 rows and 6 variables: -#' \describe{ -#' \item{geo_value}{The province in Canada associated with each -#' row of measurements.} -#' \item{time_value}{The time value, in YYYY-MM-01 format, -#' associated with each row of measurements.} -#' \item{ppl_count}{The number of people employed, seasonally -#' adjusted.} -#' \item{employee_type}{The type of employee} -#' \item{naics_industry}{The industry name and associated code -#' according to \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS}} -#' } -#' @source This object contains modified data from the following Statistics Canada -#' data table: \href{https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1410022001#data}{Table 14-10-0220-01 Employment and average weekly earnings (including overtime) for all employees by industry, monthly, seasonally adjusted, Canada} -#' -#' Modifications: -#' * From the given Statistics Canada table, the employee counts -#' are taken as-is. Only \href{https://www23.statcan.gc.ca/imdb/p3VD.pl?Function=getVD&TVD=1181553}{NAICS} codes at hierarchy level 2 are -#' filtered in. Only data rows that are \href{https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol}{good quality or higher and not missing} -#' according to Statistics Canada are removed. -"statcan_employ_subset" - #' Subset of Statistics Canada median employment income for postsecondary graduates #' #' @format A tibble with 1607 rows and 7 variables: diff --git a/man/epi_workflow.Rd b/man/epi_workflow.Rd index f9d753d84..bcf0e78aa 100644 --- a/man/epi_workflow.Rd +++ b/man/epi_workflow.Rd @@ -11,7 +11,7 @@ epi_workflow(preprocessor = NULL, spec = NULL, postprocessor = NULL) \itemize{ \item A formula, passed on to \code{\link[workflows:add_formula]{add_formula()}}. \item A recipe, passed on to \code{\link[workflows:add_recipe]{add_recipe()}}. -\item A \code{\link[workflows:workflow_variables]{workflow_variables()}} object, passed on to \code{\link[workflows:add_variables]{add_variables()}}. +\item A \code{\link[workflows:add_variables]{workflow_variables()}} object, passed on to \code{\link[workflows:add_variables]{add_variables()}}. }} \item{spec}{An optional parsnip model specification to add to the workflow. From 8d8d5280ce4b77f57d6dae0c90958fe75b050950 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 15 Sep 2022 02:06:46 -0700 Subject: [PATCH 30/49] remove raw data generation eda lines --- data-raw/grad_employ_subset.R | 96 ----------------------------------- 1 file changed, 96 deletions(-) diff --git a/data-raw/grad_employ_subset.R b/data-raw/grad_employ_subset.R index 36aa561bd..a5d605867 100644 --- a/data-raw/grad_employ_subset.R +++ b/data-raw/grad_employ_subset.R @@ -91,11 +91,6 @@ gemploy <- statcan_grad_employ %>% !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% select(-c(status, gender, student_status, grad_charac, fos)) -# gemploy$time_value %>% unique() -# class(gemploy$fos) -# class(gemploy$edu_qual) -# class(gemploy$age_group) -# head(gemploy) nrow(gemploy) ncol(gemploy) @@ -107,94 +102,3 @@ grad_employ_subset <- gemploy %>% geo_type = "custom", time_type = "year", as_of = "2022-07-19", additional_metadata = list(other_keys = c("age_group", "edu_qual"))) usethis::use_data(grad_employ_subset, overwrite = TRUE) - -# ================== EDA ================== - -statcan_grad_employ %>% - group_by(`Characteristics after graduation`) %>% - # filter(`Graduate statistics` == "Median employment income two years after graduation") %>% - filter(`Graduate statistics` == "Number of graduates") %>% - slice(1) %>% - select(`Characteristics after graduation`) - -names(statcan_grad_employ) -unique(statcan_grad_employ$REF_DATE) -# [1] "2010" "2011" "2012" "2013" "2014" "2015" - -unique(statcan_grad_employ$GEO) -# [1] "Canada" "Newfoundland and Labrador" -# [3] "Prince Edward Island" "Nova Scotia" -# [5] "New Brunswick" "Quebec" -# [7] "Ontario" "Manitoba" -# [9] "Saskatchewan" "Alberta" -# [11] "British Columbia" "Territories" -unique(statcan_grad_employ$DGUID) - -unique(statcan_grad_employ$UOM) -# [1] "Number" "2020 constant dollars" -statcan_grad_employ %>% - group_by(UOM, `Graduate statistics`) %>% - select(UOM, `Graduate statistics`, VALUE) %>% - slice(1) -unique(statcan_grad_employ$UOM_ID) - -unique(statcan_grad_employ$SCALAR_FACTOR) # "units" -unique(statcan_grad_employ$SCALAR_ID) # "0" - -length(unique(statcan_grad_employ$VECTOR)) -length(unique(statcan_grad_employ$COORDINATE)) - -length(unique(statcan_grad_employ$VALUE)) -unique(statcan_grad_employ$STATUS) -# [1] NA ".." "x" - -unique(statcan_grad_employ$SYMBOL) -# [1] NA - -unique(statcan_grad_employ$TERMINATED) -# [1] NA - -unique(statcan_grad_employ$DECIMALS) -# [1] "0" - -unique(statcan_grad_employ$GeoUID) -# redundant with geo - -unique(statcan_grad_employ$`Hierarchy for GEO`) -# redundant with geo - -unique(statcan_grad_employ$`Classification Code for Educational qualification`) # NA -unique(statcan_grad_employ$`Hierarchy for Educational qualification`) - -unique(statcan_grad_employ$`Classification Code for Field of study`) -unique(statcan_grad_employ$`Hierarchy for Field of study`) - -unique(statcan_grad_employ$`Classification Code for Gender`) # NA -unique(statcan_grad_employ$`Hierarchy for Gender`) - -unique(statcan_grad_employ$`Classification Code for Age group`) # NA -unique(statcan_grad_employ$`Hierarchy for Age group`) - -unique(statcan_grad_employ$`Classification Code for Status of student in Canada`) # NA -unique(statcan_grad_employ$`Hierarchy for Status of student in Canada`) - -unique(statcan_grad_employ$`Classification Code for Characteristics after graduation`) # NA -unique(statcan_grad_employ$`Hierarchy for Characteristics after graduation`) - -unique(statcan_grad_employ$`Classification Code for Graduate statistics`) # NA -unique(statcan_grad_employ$`Hierarchy for Graduate statistics`) - -length(unique(statcan_grad_employ$`val_norm`)) -statcan_grad_employ %>% filter(val_norm != VALUE) %>% nrow() #0 - -unique(statcan_grad_employ$`Date`) -# [1] "2010-07-01" "2011-07-01" "2012-07-01" "2013-07-01" "2014-07-01" -# [6] "2015-07-01" - -unique(statcan_grad_employ$`Educational qualification`) # 32 levels -unique(statcan_grad_employ$`Field of study`) # 60 levels -unique(statcan_grad_employ$`Gender`) -unique(statcan_grad_employ$`Age group`) -unique(statcan_grad_employ$`Status of student in Canada`) -unique(statcan_grad_employ$`Characteristics after graduation`) -unique(statcan_grad_employ$`Graduate statistics`) From e9f8751f43ebbc9da89cfe86fa9c01ad83bc28f0 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 15 Sep 2022 02:33:16 -0700 Subject: [PATCH 31/49] use extracted fit in plot --- vignettes/panel-data.Rmd | 50 +++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 16f7aa7d3..d02e20b9a 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -190,7 +190,7 @@ In the following sections, we will go over preprocessing the data in the `epi_recipe` framework, and fitting a model and making predictions within the `epipredict` framework and using the package's canned forecasters. -# A Simple AR(3) Model Example +# Simple autoregressive with 3 lags to predict number of graduates in a year ## Preprocessing @@ -279,7 +279,7 @@ our `epi_recipe`: `lag_2_num_graduates_prop` correspond to $x_{t}$, $x_{t-1}$, and $x_{t-2}$ respectively. -## Model Fitting and Prediction +## Model fitting and prediction Since our goal for now is to fit a simple autoregressive model, we can use [`parsnip::linear_reg()`]( @@ -330,41 +330,33 @@ in the original dataset. augment(wf_linreg, latest) %>% sample_n(5) ``` -## Model Diagnostics +## Model diagnostics First, we'll plot the residuals (that is, $y_{t} - \hat{y}_{t}$) against the fitted values ($\hat{y}_{t}$). -```{r lienarreg-resid-plot, include=T, warning=F} -employ_small_with_preds <- employ_small_with_preds %>% - mutate(resid = num_graduates_prop - .pred) - -employ_small_with_preds %>% - ggplot(aes(x = .pred, y = resid)) + - geom_point(size = 1.5, alpha = .8) + - geom_smooth(method = "loess", color = "red", linetype = "dashed", size = .7) + - xlab("Fitted values") + - ylab("Residuals") + - ggtitle("Plot of Fitted Values vs. Residuals in AR(3) Model") +```{r lienarreg-resid-plot, include=T, fig.height=8} +par(mfrow = c(2,2)); plot(extract_fit_engine(wf_linreg)) ``` The fitted values vs. residuals plot shows us that the residuals are mostly clustered around zero, but do not form an even band around the zero line, -indicating that the variance of the residuals is not constant. - -```{r linearreg-qqplot, include=T, warning=F} -employ_small_with_preds %>% - ggplot(aes(sample = resid)) + - stat_qq(alpha = .6) + - stat_qq_line() + - ggtitle("Q-Q Plot of Residuals") -``` +indicating that the variance of the residuals is not constant. Additionally, +the fitted values vs. square root of standardized residuals makes this more +obvious - the spread of the square root of standardized residuals varies with +the fitted values. The Q-Q plot shows us that the residuals have heavier tails than a Normal -distribution. So both the constant variance and normality assumptions of the -linear model have been violated. +distribution. So the normality of residuals assumption doesn't hold either. + +Finally, the residuals vs. leverage plot shows us that we have a few influential +points based on the Cooks distance (those outside the red dotted line). + +Since we appear to be violating the linear model assumptions, we might consider +transforming our data differently, or considering a non-linear model, or +something else. -# Autoregressive Linear Model with Exogenous Inputs +# Autoregressive model with exogenous inputs Now suppose we want to model the 5-year employment income using 3 lags, while also incorporating information from the other two time-series in our dataset: @@ -400,7 +392,7 @@ rx <- epi_recipe(employ_small) %>% bake_and_show_sample(rx, employ_small) ``` -## Model Fitting & Postprocessing +## Model fitting & postprocessing Before fitting our model and making predictions, let's add some post-processing steps using a few `frosting` layers to do a few things: @@ -480,7 +472,7 @@ For both illustrations, we will continue to use the `employ_small` dataset with the transformed numeric columns that are proportions within each group by the keys in our `epi_df`. -## Flatline Forecaster +## Flatline forecaster In this first example, we'll use `flatline_forecaster` to make a simple prediction of the 2-year median income for the next year, based on one previous @@ -498,7 +490,7 @@ out_fl <- flatline_forecaster(employ_small, "med_income_2y_prop", augment(out_fl$epi_workflow, employ_small) %>% sample_n(5) ``` -## Autoregressive Forecaster with Exogenous Inputs +## Autoregressive forecaster with exogenous inputs In this second example, we'll use `arx_forecaster` to make a prediction of the 5-year median income based using two lags, _and_ using two lags on two exogenous From 039abf51c8d33dd46c2d8b8166f2855e359aeaed Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Thu, 15 Sep 2022 02:35:32 -0700 Subject: [PATCH 32/49] add a hyperlink --- vignettes/panel-data.Rmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index d02e20b9a..2d93ea8b9 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -395,7 +395,9 @@ bake_and_show_sample(rx, employ_small) ## Model fitting & postprocessing Before fitting our model and making predictions, let's add some post-processing -steps using a few `frosting` layers to do a few things: +steps using a few [`frosting`]( + https://cmu-delphi.github.io/epipredict/reference/frosting.html) layers to do +a few things: 1. Convert our predictions back to income values and number of graduates, rather than standardized proportions. We do this via the frosting layer From d04e2b43c614c4209e754d267d003b60521ff715 Mon Sep 17 00:00:00 2001 From: Maggie Liu Date: Sat, 17 Sep 2022 21:44:58 -0700 Subject: [PATCH 33/49] fix the build --- vignettes/panel-data.Rmd | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 2d93ea8b9..abc6a4af7 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -443,14 +443,14 @@ Let's take a look at the predictions along with their 90% prediction intervals. latest <- get_test_data(recipe = rx, x = employ_small) predsx <- predict(wfx_linreg, latest) -# Display values within prediction intervals +# Display values within prediction intervals predsx %>% select( - geo_value, time_value, edu_qual, age_group, - .pred_original, .pred_distn_original) %>% - dplyr::mutate(.quantiles = nested_quantiles(.pred_distn_original)) %>% + geo_value, time_value, edu_qual, age_group, + .pred_scaled, .pred_distn_scaled) %>% + dplyr::mutate(.quantiles = nested_quantiles(.pred_distn_scaled)) %>% tidyr::unnest(.quantiles) %>% - pivot_wider(names_from = tau, values_from = q) %>% + pivot_wider(names_from = tau, values_from = q) %>% head() ``` From 738bb683bed7e564047fff1d8b7542dea8eb1a5e Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Tue, 27 Dec 2022 10:41:42 -0800 Subject: [PATCH 34/49] rebuild documentation --- man/epi_workflow.Rd | 2 +- man/flatline.Rd | 4 +++- man/grad_employ_subset.Rd | 9 +-------- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/man/epi_workflow.Rd b/man/epi_workflow.Rd index bcf0e78aa..f9d753d84 100644 --- a/man/epi_workflow.Rd +++ b/man/epi_workflow.Rd @@ -11,7 +11,7 @@ epi_workflow(preprocessor = NULL, spec = NULL, postprocessor = NULL) \itemize{ \item A formula, passed on to \code{\link[workflows:add_formula]{add_formula()}}. \item A recipe, passed on to \code{\link[workflows:add_recipe]{add_recipe()}}. -\item A \code{\link[workflows:add_variables]{workflow_variables()}} object, passed on to \code{\link[workflows:add_variables]{add_variables()}}. +\item A \code{\link[workflows:workflow_variables]{workflow_variables()}} object, passed on to \code{\link[workflows:add_variables]{add_variables()}}. }} \item{spec}{An optional parsnip model specification to add to the workflow. diff --git a/man/flatline.Rd b/man/flatline.Rd index a30272456..a396cfeb9 100644 --- a/man/flatline.Rd +++ b/man/flatline.Rd @@ -11,7 +11,9 @@ flatline(formula, data) would actually be the observed time series shifted forward by the forecast horizon. The right hand side must contain any keys (locations) for the panel data separated by plus. The observed time series must come last. -For example\if{html}{\out{

    }}\preformatted{form <- as.formula(lead7_y ~ state + age + y) +For example + +\if{html}{\out{
    }}\preformatted{form <- as.formula(lead7_y ~ state + age + y) }\if{html}{\out{
    }} Note that this function doesn't DO the shifting, that has to be done diff --git a/man/grad_employ_subset.Rd b/man/grad_employ_subset.Rd index c49791510..46ba36913 100644 --- a/man/grad_employ_subset.Rd +++ b/man/grad_employ_subset.Rd @@ -5,20 +5,13 @@ \alias{grad_employ_subset} \title{Subset of Statistics Canada median employment income for postsecondary graduates} \format{ -<<<<<<< HEAD -A tibble with 10193 rows and 8 variables: -======= -A tibble with 1607 rows and 7 variables: ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 +An \link[epiprocess:epi_df]{epiprocess::epi_df} with 10193 rows and 8 variables: \describe{ \item{geo_value}{The province in Canada associated with each row of measurements.} \item{time_value}{The time value, a year integer in YYYY format} \item{edu_qual}{The education qualification} -<<<<<<< HEAD \item{fos}{The field of study} -======= ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 \item{age_group}{The age group; either 15 to 34 or 35 to 64} \item{num_graduates}{The number of graduates for the given row of characteristics} \item{med_income_2y}{The median employment income two years after graduation} From fd4798d1fafefe0ba92e79f5762c3b57fbe098ef Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Tue, 27 Dec 2022 11:05:18 -0800 Subject: [PATCH 35/49] merge main, fix conflicts --- data-raw/grad_employ_subset.R | 163 ++++----------------------- vignettes/panel-data.Rmd | 203 +--------------------------------- 2 files changed, 24 insertions(+), 342 deletions(-) diff --git a/data-raw/grad_employ_subset.R b/data-raw/grad_employ_subset.R index afef0c49c..e9358ecd8 100644 --- a/data-raw/grad_employ_subset.R +++ b/data-raw/grad_employ_subset.R @@ -8,7 +8,7 @@ library(tidyr) # https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3710011501 statcan_grad_employ <- get_cansim("37-10-0115-01") -gemploy <- statcan_grad_employ %>% +gemploy <- statcan_grad_employ %>% select(c( "REF_DATE", "GEO", @@ -63,8 +63,8 @@ gemploy <- statcan_grad_employ %>% "grad_stat" = "Graduate statistics") %>% mutate( grad_stat = recode_factor( - grad_stat, - `Number of graduates` = "num_graduates", + grad_stat, + `Number of graduates` = "num_graduates", `Median employment income two years after graduation` = "med_income_2y", `Median employment income five years after graduation` = "med_income_5y"), time_value = as.integer(time_value) @@ -72,143 +72,23 @@ gemploy <- statcan_grad_employ %>% pivot_wider(names_from = grad_stat, values_from = value) %>% filter( # Drop aggregates for some columns - geo_value != "Canada" & - age_group != "15 to 64 years" & -<<<<<<< HEAD - fos != "Total, field of study" & - edu_qual != "Total, educational qualification" & - # Keep aggregates for keys we don't want to keep -======= - edu_qual != "Total, educational qualification" & - # Keep aggregates for keys we don't want to keep - fos == "Total, field of study" & ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 - gender == "Total, gender" & - student_status == "Canadian and international students" & - # Since we're looking at 2y and 5y employment income, the only - # characteristics remaining are: - # - Graduates reporting employment income - # - Graduates reporting wages, salaries, and commissions only - # For simplicity, keep the first one only - grad_charac == "Graduates reporting employment income" & - # Only keep "good" data - is.na(status) & - # Drop NA value rows - !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% -<<<<<<< HEAD - select(-c(status, gender, student_status, grad_charac)) - -# gemploy$time_value %>% unique() -# class(gemploy$fos) -# class(gemploy$edu_qual) -# class(gemploy$age_group) -# head(gemploy) -nrow(gemploy) -ncol(gemploy) - -gemploy$grad_charac %>% unique() -gemploy %>% group_by(grad_charac) %>% slice(1) - -grad_employ_subset <- gemploy %>% - tsibble::as_tsibble( - index=time_value, - key=c(geo_value, age_group, fos, edu_qual)) %>% - as_epi_df( - geo_type = "custom", time_type = "year", as_of = "2022-07-19", - additional_metadata=c(other_keys=list("age_group", "fos", "edu_qual"))) -usethis::use_data(grad_employ_subset, overwrite = TRUE) - -# ================== EDA ================== - -statcan_grad_employ %>% - group_by(`Characteristics after graduation`) %>% - # filter(`Graduate statistics` == "Median employment income two years after graduation") %>% - filter(`Graduate statistics` == "Number of graduates") %>% - slice(1) %>% - select(`Characteristics after graduation`) - -names(statcan_grad_employ) -unique(statcan_grad_employ$REF_DATE) -# [1] "2010" "2011" "2012" "2013" "2014" "2015" - -unique(statcan_grad_employ$GEO) -# [1] "Canada" "Newfoundland and Labrador" -# [3] "Prince Edward Island" "Nova Scotia" -# [5] "New Brunswick" "Quebec" -# [7] "Ontario" "Manitoba" -# [9] "Saskatchewan" "Alberta" -# [11] "British Columbia" "Territories" -unique(statcan_grad_employ$DGUID) - -unique(statcan_grad_employ$UOM) -# [1] "Number" "2020 constant dollars" -statcan_grad_employ %>% - group_by(UOM, `Graduate statistics`) %>% - select(UOM, `Graduate statistics`, VALUE) %>% - slice(1) -unique(statcan_grad_employ$UOM_ID) - -unique(statcan_grad_employ$SCALAR_FACTOR) # "units" -unique(statcan_grad_employ$SCALAR_ID) # "0" - -length(unique(statcan_grad_employ$VECTOR)) -length(unique(statcan_grad_employ$COORDINATE)) - -length(unique(statcan_grad_employ$VALUE)) -unique(statcan_grad_employ$STATUS) -# [1] NA ".." "x" - -unique(statcan_grad_employ$SYMBOL) -# [1] NA - -unique(statcan_grad_employ$TERMINATED) -# [1] NA - -unique(statcan_grad_employ$DECIMALS) -# [1] "0" - -unique(statcan_grad_employ$GeoUID) -# redundant with geo - -unique(statcan_grad_employ$`Hierarchy for GEO`) -# redundant with geo - -unique(statcan_grad_employ$`Classification Code for Educational qualification`) # NA -unique(statcan_grad_employ$`Hierarchy for Educational qualification`) - -unique(statcan_grad_employ$`Classification Code for Field of study`) -unique(statcan_grad_employ$`Hierarchy for Field of study`) - -unique(statcan_grad_employ$`Classification Code for Gender`) # NA -unique(statcan_grad_employ$`Hierarchy for Gender`) - -unique(statcan_grad_employ$`Classification Code for Age group`) # NA -unique(statcan_grad_employ$`Hierarchy for Age group`) - -unique(statcan_grad_employ$`Classification Code for Status of student in Canada`) # NA -unique(statcan_grad_employ$`Hierarchy for Status of student in Canada`) - -unique(statcan_grad_employ$`Classification Code for Characteristics after graduation`) # NA -unique(statcan_grad_employ$`Hierarchy for Characteristics after graduation`) - -unique(statcan_grad_employ$`Classification Code for Graduate statistics`) # NA -unique(statcan_grad_employ$`Hierarchy for Graduate statistics`) - -length(unique(statcan_grad_employ$`val_norm`)) -statcan_grad_employ %>% filter(val_norm != VALUE) %>% nrow() #0 - -unique(statcan_grad_employ$`Date`) -# [1] "2010-07-01" "2011-07-01" "2012-07-01" "2013-07-01" "2014-07-01" -# [6] "2015-07-01" - -unique(statcan_grad_employ$`Educational qualification`) # 32 levels -unique(statcan_grad_employ$`Field of study`) # 60 levels -unique(statcan_grad_employ$`Gender`) -unique(statcan_grad_employ$`Age group`) -unique(statcan_grad_employ$`Status of student in Canada`) -unique(statcan_grad_employ$`Characteristics after graduation`) -unique(statcan_grad_employ$`Graduate statistics`) -======= + geo_value != "Canada" & + age_group != "15 to 64 years" & + edu_qual != "Total, educational qualification" & + # Keep aggregates for keys we don't want to keep + fos == "Total, field of study" & + gender == "Total, gender" & + student_status == "Canadian and international students" & + # Since we're looking at 2y and 5y employment income, the only + # characteristics remaining are: + # - Graduates reporting employment income + # - Graduates reporting wages, salaries, and commissions only + # For simplicity, keep the first one only + grad_charac == "Graduates reporting employment income" & + # Only keep "good" data + is.na(status) & + # Drop NA value rows + !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% select(-c(status, gender, student_status, grad_charac, fos)) nrow(gemploy) @@ -216,10 +96,9 @@ ncol(gemploy) grad_employ_subset <- gemploy %>% tsibble::as_tsibble( - index=time_value, + index=time_value, key=c(geo_value, age_group, edu_qual)) %>% as_epi_df( geo_type = "custom", time_type = "year", as_of = "2022-07-19", additional_metadata = list(other_keys = c("age_group", "edu_qual"))) usethis::use_data(grad_employ_subset, overwrite = TRUE) ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 9411e6b60..d4f799218 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -17,13 +17,6 @@ knitr::opts_chunk$set( ``` ```{r libraries} -<<<<<<< HEAD -library(epiprocess) -library(epipredict) -library(dplyr) -library(parsnip) -library(recipes) -======= library(dplyr) library(tidyr) library(parsnip) @@ -31,7 +24,6 @@ library(recipes) library(epiprocess) library(epipredict) library(ggplot2) ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 ``` [Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, @@ -43,41 +35,25 @@ dataset, which contains daily state-wise measures of `case_rate` and `death_rate` for COVID-19 in 2021: ```{r epi-panel-ex, include=T} -<<<<<<< HEAD -head(case_death_rate_subset) -======= head(case_death_rate_subset, 3) ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 ``` `epipredict` functions work with data in [`epi_df`]( https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) format. Despite the stated goal and name of the package, other panel datasets -<<<<<<< HEAD -are also valid candidates for `epipredict` functionality. Specifically, the -`epipredict` framework and direct forecasters can work with any panel data, as -long as it's in `epi_df` format. -======= are also valid candidates for `epipredict` functionality, as long as they are in `epi_df` format. ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 ```{r employ-stats, include=F} +data("grad_employ_subset") year_start <- min(grad_employ_subset$time_value) year_end <- max(grad_employ_subset$time_value) ``` -<<<<<<< HEAD -## Example panel data overview - -In this vignette, we will demonstrate using `epipredict` with employment data -from Statistics Canada. We will be using -======= # Example panel data overview In this vignette, we will demonstrate using `epipredict` with employment panel data from Statistics Canada. We will be using ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 [ Table 37-10-0115-01: Characteristics and median employment income of longitudinal cohorts of postsecondary graduates two and five years after @@ -87,11 +63,7 @@ data from Statistics Canada. We will be using The full dataset contains yearly median employment income two and five years after graduation, and number of graduates. The data is stratified by -<<<<<<< HEAD -variables such as geographic region (Canadian province), field of study, and -======= variables such as geographic region (Canadian province), education, and ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 age group. The year range of the dataset is `r year_start` to `r year_end`, inclusive. The full dataset also contains metadata that describes the quality of data collected. For demonstration purposes, we make the following @@ -99,17 +71,10 @@ modifications to get a subset of the full dataset: * Only keep provincial-level geographic region (the full data also has "Canada" as a region) -<<<<<<< HEAD -* Only keep "good" or better quality data rows, as indicated by the [`STATUS`] -(https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column -* Choose a subset of covariates and aggregate across the remaining ones. The -chosen covariates are age group, field of study, and educational qualification. -======= * Only keep "good" or better quality data rows, as indicated by the [`STATUS`]( https://www.statcan.gc.ca/en/concepts/definitions/guide-symbol) column * Choose a subset of covariates and aggregate across the remaining ones. The chosen covariates are age group, and educational qualification. ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 Below is the query for obtaining the full data and code for subsetting it as we just described: @@ -117,15 +82,6 @@ just described: ```{r employ-query, eval=F} library(cansim) -<<<<<<< HEAD -# Get original dataset -statcan_grad_employ <- get_cansim("37-10-0115-01") - -gemploy <- statcan_grad_employ %>% - # Drop some columns and rename the ones we keep - select(c("REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", - "Field of study", "Gender", "Age group", "Status of student in Canada", -======= # Get statcan data using get_cansim, which returns a tibble statcan_grad_employ <- get_cansim("37-10-0115-01") @@ -134,7 +90,6 @@ gemploy <- statcan_grad_employ %>% select(c( "REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", "Field of study", "Gender", "Age group", "Status of student in Canada", ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 "Characteristics after graduation", "Graduate statistics")) %>% rename( "geo_value" = "GEO", @@ -148,47 +103,12 @@ gemploy <- statcan_grad_employ %>% "student_status" = "Status of student in Canada", "grad_charac" = "Characteristics after graduation", "grad_stat" = "Graduate statistics") %>% -<<<<<<< HEAD - # The original `VALUE` column contain the statistic indicated by - # `Graduate statistics` in the original data. Below we pivot the data -======= # The original `VALUE` column contain the statistic indicated by # `Graduate statistics` in the original data. Below we pivot the data ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 # wider so that each unique statistic can have its own column. mutate( # Recode for easier pivoting grad_stat = recode_factor( -<<<<<<< HEAD - grad_stat, - `Number of graduates` = "num_graduates", - `Median employment income two years after graduation` = "med_income_2y", - `Median employment income five years after graduation` = "med_income_5y"), - # They are originally strings but want ints for conversion to epi_df later - time_value = as.integer(time_value) - ) %>% - pivot_wider(names_from = grad_stat, values_from = value) %>% - filter( - # Drop aggregates for some columns - geo_value != "Canada" & - age_group != "15 to 64 years" & - fos != "Total, field of study" & - edu_qual != "Total, educational qualification" & - # Keep aggregates for keys we don't want to keep - gender == "Total, gender" & - student_status == "Canadian and international students" & - # Since we're looking at 2y and 5y employment income, the only - # characteristics remaining are: - # - Graduates reporting employment income - # - Graduates reporting wages, salaries, and commissions only - # For simplicity, keep the first one only - grad_charac == "Graduates reporting employment income" & - # Only keep "good" data - is.na(status) & - # Drop NA value rows - !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% - select(-c(status, gender, student_status, grad_charac)) -======= grad_stat, `Number of graduates` = "num_graduates", `Median employment income two years after graduation` = "med_income_2y", @@ -217,46 +137,19 @@ gemploy <- statcan_grad_employ %>% # Drop NA value rows !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% select(-c(status, gender, student_status, grad_charac, fos)) ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 ``` To use this data with `epipredict`, we need to convert it into `epi_df` format using [`as_epi_df`]( https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) -<<<<<<< HEAD -with additional keys. In our case, the additional keys are `age_group`, `fos` -and `edu_qual`. Note that in the above modifications, we encoded `time_value` -as type `integer`. This allows us to set `time_type` to `"year"`, and to ensure -======= with additional keys. In our case, the additional keys are `age_group`, and `edu_qual`. Note that in the above modifications, we encoded `time_value` as type `integer`. This lets us set `time_type = "year"`, and ensures that ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 lag and ahead modifications later on are using the correct time units. See the [`epi_df` documentation]( https://cmu-delphi.github.io/epiprocess/reference/epi_df.html#time-types) for a list of all the `type_type`s available. -<<<<<<< HEAD - -```{r convert-to-epidf, eval=F} -grad_employ_subset <- gemploy %>% - tsibble::as_tsibble( - index=time_value, - key=c(geo_value, age_group, fos, edu_qual)) %>% - as_epi_df( - geo_type = "custom", time_type = "year", - additional_metadata=c(other_keys=list("age_group", "fos", "edu_qual"))) -``` - -```{r data-dim, include=F} -employ_rowcount <- format(nrow(grad_employ_subset), big.mark=",") -employ_colcount <- length(names(grad_employ_subset)) -``` - -The data contains `r employ_rowcount` rows and `r employ_colcount` columns. Now, -we are ready to use `grad_employ_subset` with `epipredict`. -======= ```{r convert-to-epidf, eval=F} grad_employ_subset <- gemploy %>% tsibble::as_tsibble( @@ -286,8 +179,7 @@ after graduation * `age_group` (key): one of two age groups, either 15 to 34 years, or 35 to 64 years * `edu_qual` (key): one of 32 unique educational qualifications, e.g., -"Master's disploma" ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 +"Master's diploma" ```{r preview-data, include=T} # Rename for simplicity @@ -299,62 +191,6 @@ In the following sections, we will go over preprocessing the data in the `epi_recipe` framework, and fitting a model and making predictions within the `epipredict` framework and using the package's canned forecasters. -<<<<<<< HEAD -## Preprocessing - -We will create a recipe that adds one `ahead` column and 3 `lag` columns. - -```{r make-recipe, include=T} -r <- epi_recipe(employ) %>% - step_epi_ahead(num_graduates, ahead = 1) %>% # lag & ahead units in years - step_epi_lag(num_graduates, lag = c(0, 1, 1)) %>% - step_epi_naomit() -r -``` - -There is one `raw` role which includes our value column `num_graduates`, and two -`key` roles which include our additional keys `age_group`, `fos` and -`edu_qual`. Let's take a look at what these additional columns look like. - -```{r view-preprocessed, include=T} -# Display a sample of the preprocessed data -baked_sample <- r %>% prep() %>% bake(new_data = employ) %>% sample_n(5) -baked_sample -``` - -## Model fitting and prediction - -### Within recipes framework - -We will look at a simple model: `parsnip::linear_reg()` with default engine -`lm`. We can use `epi_workflow` with the `epi_recipe` we defined in the -preprocessing section to fit an autoregressive linear model using lags at -time $t$ (current), $t-1$ (last year), and $t-2$ (2 years ago). - -```{r linearreg-wf, include=T} -wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% fit(employ) -wf_linreg -``` - -Now that we have our workflow, we can generate predictions from a subset of our -data. For this demo, we will predict the employment counts from the last 12 -months of our dataset. - -```{r linearreg-predict, include=T} -latest <- employ %>% filter(time_value >= max(time_value) - 12) -preds <- stats::predict(wf_linreg, latest) %>% filter(!is.na(.pred)) -# Display a sample of the prediction values -head(preds) -``` - -Notice that `predict` still returns an `epi_df` with all of the keys that were -present in the original dataset. - -### With canned forecasters - -Even though we aren't working with epidemiological data, canned forecasters -still work as expected, out of the box. We will demonstrate this with the simple -======= # Simple autoregressive with 3 lags to predict number of graduates in a year ## Preprocessing @@ -381,7 +217,7 @@ Below is a visualization for a sample of the small data. Note that some groups do not have any time series information since we filtered out all timeseries with incomplete dates. -```{r employ-small-graph, include=T, eval=T} +```{r employ-small-graph, include=T, eval=T, fig.width=9, fig.height=6} employ_small %>% filter(geo_value %in% c("British Columbia", "Ontario")) %>% filter(grepl("degree", edu_qual, fixed = T)) %>% @@ -629,44 +465,12 @@ fitting, and `frosting` for postprocessing. behind the scenes for some simple models. Even though we aren't working with epidemiological data, canned forecasters still work as expected, out of the box. We will demonstrate this with the simple ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 [`flatline_forecaster`]( https://cmu-delphi.github.io/epipredict/reference/flatline_forecaster.html) and the direct autoregressive (AR) forecaster [`arx_forecaster`]( https://cmu-delphi.github.io/epipredict/reference/arx_forecaster.html). -<<<<<<< HEAD -```{r flatline, include=T} -out_fl <- flatline_forecaster(employ, "med_income_2y", - args_list = flatline_args_list( - ahead=1L, forecast_date = as.Date("2022-08-16"))) - -augment(out_fl$epi_workflow, employ) -``` - -```{r arx-lr, include=T} -arx_args <- arx_args_list( - lags = c(0L, 1L), ahead = 1L, forecast_date = as.Date("2022-08-01")) - -out_arx_lr <- arx_forecaster(employ, "med_income_2y", - c("med_income_2y", "med_income_5y", "num_graduates"), - args_list = arx_args) - -out_arx_lr$predictions -``` - -Other changes to the direct AR forecaster, like changing the engine, also work -as expected. - -```{r arx-rf, include=F, warning=F} -out_arx_rf <- arx_forecaster( - employ, "med_income_2y", c("med_income_2y", "med_income_5y", "num_graduates"), - trainer = parsnip::boost_tree(mode = "regression", trees = 20), - args_list = arx_args) - -out_arx_rf$predictions -======= For both illustrations, we will continue to use the `employ_small` dataset with the transformed numeric columns that are proportions within each group by the keys in our `epi_df`. @@ -723,5 +527,4 @@ out_arx_rf <- arx_forecaster( args_list = arx_args) augment(out_arx_rf$epi_workflow, employ_small) %>% sample_n(5) ->>>>>>> d04e2b43c614c4209e754d267d003b60521ff715 ``` From ebb60adc1037fc22b955b460eee38673088c2930 Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Sat, 3 Feb 2024 09:26:48 -0800 Subject: [PATCH 36/49] ignore vignette caches --- vignettes/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/vignettes/.gitignore b/vignettes/.gitignore index 097b24163..2c6ab8d7f 100644 --- a/vignettes/.gitignore +++ b/vignettes/.gitignore @@ -1,2 +1,3 @@ *.html *.R +*_cache/ From 009abf5a1bb144e5837c7eb438ddded6e6772139 Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Sat, 3 Feb 2024 10:30:52 -0800 Subject: [PATCH 37/49] merge dev and minor revisions --- DESCRIPTION | 2 +- data-raw/grad_employ_subset.R | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index c451f755b..d1e966278 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -72,4 +72,4 @@ Config/testthat/edition: 3 Encoding: UTF-8 LazyData: true Roxygen: list(markdown = TRUE) -RoxygenNote: 7.3.0 +RoxygenNote: 7.3.1 diff --git a/data-raw/grad_employ_subset.R b/data-raw/grad_employ_subset.R index e9358ecd8..4a0218ae7 100644 --- a/data-raw/grad_employ_subset.R +++ b/data-raw/grad_employ_subset.R @@ -96,8 +96,8 @@ ncol(gemploy) grad_employ_subset <- gemploy %>% tsibble::as_tsibble( - index=time_value, - key=c(geo_value, age_group, edu_qual)) %>% + index = time_value, + key = c(geo_value, age_group, edu_qual)) %>% as_epi_df( geo_type = "custom", time_type = "year", as_of = "2022-07-19", additional_metadata = list(other_keys = c("age_group", "edu_qual"))) From 4871589374d5faf0ad9d76094cc120d912782291 Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Sat, 3 Feb 2024 10:31:06 -0800 Subject: [PATCH 38/49] bug: blocked by #291 --- vignettes/panel-data.Rmd | 132 ++++++++++++++++++++++----------------- 1 file changed, 76 insertions(+), 56 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index d4f799218..57e37aac2 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -9,10 +9,10 @@ vignette: > ```{r setup, include=F} knitr::opts_chunk$set( + echo = TRUE, collapse = TRUE, comment = "#>", - warning = FALSE, - message = FALSE + out.width = "100%" ) ``` @@ -24,6 +24,8 @@ library(recipes) library(epiprocess) library(epipredict) library(ggplot2) +library(lubridate) +theme_set(theme_bw()) ``` [Panel data](https://en.wikipedia.org/wiki/Panel_data), or longitudinal data, @@ -38,16 +40,18 @@ dataset, which contains daily state-wise measures of `case_rate` and head(case_death_rate_subset, 3) ``` -`epipredict` functions work with data in [`epi_df`]( - https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) +`epipredict` functions work with data in +[`epi_df`](https://cmu-delphi.github.io/epiprocess/reference/epi_df.html) format. Despite the stated goal and name of the package, other panel datasets are also valid candidates for `epipredict` functionality, as long as they are in `epi_df` format. ```{r employ-stats, include=F} data("grad_employ_subset") -year_start <- min(grad_employ_subset$time_value) -year_end <- max(grad_employ_subset$time_value) +grad_employ_subset <- grad_employ_subset %>% + mutate(time_value = ymd(paste0(time_value, "0101"))) +year_start <- year(min(grad_employ_subset$time_value)) +year_end <- year(max(grad_employ_subset$time_value)) ``` # Example panel data overview @@ -90,7 +94,8 @@ gemploy <- statcan_grad_employ %>% select(c( "REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", "Field of study", "Gender", "Age group", "Status of student in Canada", - "Characteristics after graduation", "Graduate statistics")) %>% + "Characteristics after graduation", "Graduate statistics" + )) %>% rename( "geo_value" = "GEO", "time_value" = "REF_DATE", @@ -102,7 +107,8 @@ gemploy <- statcan_grad_employ %>% "age_group" = "Age group", "student_status" = "Status of student in Canada", "grad_charac" = "Characteristics after graduation", - "grad_stat" = "Graduate statistics") %>% + "grad_stat" = "Graduate statistics" + ) %>% # The original `VALUE` column contain the statistic indicated by # `Graduate statistics` in the original data. Below we pivot the data # wider so that each unique statistic can have its own column. @@ -115,7 +121,8 @@ gemploy <- statcan_grad_employ %>% `Median employment income five years after graduation` = "med_income_5y" ), # They are originally strings but want ints for conversion to epi_df later - time_value = as.integer(time_value)) %>% + time_value = as.integer(time_value) + ) %>% pivot_wider(names_from = grad_stat, values_from = value) %>% filter( # Drop aggregates for some columns @@ -135,7 +142,8 @@ gemploy <- statcan_grad_employ %>% # Only keep "good" data is.na(status) & # Drop NA value rows - !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% + !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y) + ) %>% select(-c(status, gender, student_status, grad_charac, fos)) ``` @@ -154,10 +162,12 @@ a list of all the `type_type`s available. grad_employ_subset <- gemploy %>% tsibble::as_tsibble( index = time_value, - key = c(geo_value, age_group, edu_qual)) %>% + key = c(geo_value, age_group, edu_qual) + ) %>% as_epi_df( geo_type = "custom", time_type = "year", - additional_metadata = c(other_keys = list("age_group", "edu_qual"))) + additional_metadata = c(other_keys = list("age_group", "edu_qual")) + ) ``` ```{r data-dim, include=F} @@ -169,7 +179,7 @@ Now, we are ready to use `grad_employ_subset` with `epipredict`. Our `epi_df` contains `r employ_rowcount` rows and `r employ_colcount` columns. Here is a quick summary of the columns in our `epi_df`: -* `time_value` (time value): year in YYYY format +* `time_value` (time value): year in `date` format * `geo_value` (geo value): province in Canada * `num_graduates` (raw, time series value): number of graduates * `med_income_2y` (raw, time series value): median employment income 2 years @@ -208,7 +218,8 @@ employ_small <- employ %>% mutate( num_graduates_prop = num_graduates / sum(num_graduates), med_income_2y_prop = med_income_2y / sum(med_income_2y), - med_income_5y_prop = med_income_5y / sum(med_income_5y)) %>% + med_income_5y_prop = med_income_5y / sum(med_income_5y) + ) %>% ungroup() head(employ_small) ``` @@ -226,7 +237,8 @@ employ_small %>% facet_grid(rows = vars(edu_qual), cols = vars(age_group)) + xlab("Year") + ylab("# of graduates as proportion of sum within group") + - ggtitle("Trend in # of Graduates by Age Group and Education in BC and ON") + ggtitle("Trend in # of Graduates by Age Group and Education in BC and ON") + + theme(legend.position = "bottom") ``` We will predict the "standardized" number of graduates (a proportion) in the @@ -254,8 +266,8 @@ values are both in years. ```{r make-recipe, include=T, eval=T} r <- epi_recipe(employ_small) %>% - step_epi_ahead(num_graduates_prop, ahead = 1) %>% # lag & ahead units in years - step_epi_lag(num_graduates_prop, lag = 0:2) %>% + step_epi_ahead(num_graduates_prop, ahead = 365) %>% # lag & ahead units in days + step_epi_lag(num_graduates_prop, lag = 0:2 * 365) %>% step_epi_naomit() r ``` @@ -265,11 +277,11 @@ and `ahead` columns. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data -bake_and_show_sample <- function(recipe, new_data, n=5) { - recipe %>% prep() %>% bake(new_data = new_data) %>% sample_n(n) +bake_and_show_sample <- function(recipe, data, n = 5) { + recipe %>% prep(data) %>% bake(new_data = data) %>% sample_n(n) } -bake_and_show_sample(r, employ_small) +r %>% bake_and_show_sample(employ_small) ``` We can see that the `prep` and `bake` steps created new columns according to @@ -337,7 +349,8 @@ First, we'll plot the residuals (that is, $y_{t} - \hat{y}_{t}$) against the fitted values ($\hat{y}_{t}$). ```{r lienarreg-resid-plot, include=T, fig.height=8} -par(mfrow = c(2,2)); plot(extract_fit_engine(wf_linreg)) +par(mfrow = c(2, 2), mar = c(5, 3.5, 1, 1) + .5) +plot(extract_fit_engine(wf_linreg)) ``` The fitted values vs. residuals plot shows us that the residuals are mostly @@ -381,14 +394,14 @@ $z_i$ is the number of graduates (proportion) at time $i$. Again, we construct an `epi_recipe` detailing the preprocessing steps. ```{r custom-arx, include=T} -rx <- epi_recipe(employ_small) %>% - step_epi_ahead(med_income_5y_prop, ahead = 1) %>% - # 5-year median income has 3 lags c(0,1,2) - step_epi_lag(med_income_5y_prop, lag = c(0,1,2)) %>% - # But the two exogenous variables have 2 lags c(0,1) - step_epi_lag(med_income_2y_prop, lag = c(0,1)) %>% - step_epi_lag(num_graduates_prop, lag = c(0,1)) %>% - step_epi_naomit() +rx <- epi_recipe(employ_small) %>% + step_epi_ahead(med_income_5y_prop, ahead = 1) %>% + # 5-year median income has 3 lags c(0,1,2) + step_epi_lag(med_income_5y_prop, lag = c(0, 1, 2)) %>% + # But the two exogenous variables have 2 lags c(0,1) + step_epi_lag(med_income_2y_prop, lag = c(0, 1)) %>% + step_epi_lag(num_graduates_prop, lag = c(0, 1)) %>% + step_epi_naomit() bake_and_show_sample(rx, employ_small) ``` @@ -414,20 +427,25 @@ quantify the uncertainty associated with future predicted values. # Only have to include med_income_5y since that is our outcome totals <- employ_small %>% group_by(geo_value, age_group, edu_qual) %>% - summarise(med_income_5y_tot = sum(med_income_5y)) + summarise(med_income_5y_tot = sum(med_income_5y), .groups = "keep") -# Define post-processing steps +# Define post-processing steps f <- frosting() %>% layer_predict() %>% - layer_naomit(.pred) %>% - layer_threshold(.pred, lower = 0) %>% + layer_naomit(.pred) %>% + layer_threshold(.pred, lower = 0) %>% # 90% prediction interval - layer_residual_quantiles(probs = c(0.05, 0.95), symmetrize = F) %>% + layer_residual_quantiles( + quantile_levels = c(0.05, 0.95), + symmetrize = FALSE + ) %>% layer_population_scaling( - .pred, .pred_distn, df = totals, df_pop_col = "med_income_5y_tot") - -wfx_linreg <- epi_workflow(rx, parsnip::linear_reg()) %>% - fit(employ_small) %>% + .pred, .pred_distn, + df = totals, df_pop_col = "med_income_5y_tot" + ) + +wfx_linreg <- epi_workflow(rx, parsnip::linear_reg()) %>% + fit(employ_small) %>% add_frosting(f) summary(extract_fit_engine(wfx_linreg)) @@ -440,20 +458,19 @@ confidence level. Both lags for the number of graduates were insigificant. Let's take a look at the predictions along with their 90% prediction intervals. - ```{r} +```{r} latest <- get_test_data(recipe = rx, x = employ_small) predsx <- predict(wfx_linreg, latest) # Display values within prediction intervals predsx %>% - select( - geo_value, time_value, edu_qual, age_group, - .pred_scaled, .pred_distn_scaled) %>% - dplyr::mutate(.quantiles = nested_quantiles(.pred_distn_scaled)) %>% - tidyr::unnest(.quantiles) %>% - pivot_wider(names_from = tau, values_from = q) %>% - head() - ``` + select( + geo_value, time_value, edu_qual, age_group, fos, + .pred_scaled, .pred_distn_scaled + ) %>% + head() %>% + pivot_quantiles_wider(.pred_distn_scaled) +``` # Using canned forecasters @@ -486,11 +503,11 @@ where $y_i$ is the 2-year median income (proportion) at time $i$. ```{r flatline, include=T, warning=F} out_fl <- flatline_forecaster(employ_small, "med_income_2y_prop", args_list = flatline_args_list( - ahead = 1L, forecast_date = as.Date("2015-01-01"))) + ahead = 365L, forecast_date = as.Date("2015-01-01"), + ) +) -# The first argument to augment grabs the epi_workflow object from the -# forecaster output. -augment(out_fl$epi_workflow, employ_small) %>% sample_n(5) +out_fl ``` ## Autoregressive forecaster with exogenous inputs @@ -507,13 +524,15 @@ same number of lags. ```{r arx-lr, include=T, warning=F} arx_args <- arx_args_list( - lags = c(0L, 1L), ahead = 1L, forecast_date = as.Date("2015-01-01")) + lags = c(0L, 365L), ahead = 365L, forecast_date = as.Date("2015-01-01") +) out_arx_lr <- arx_forecaster(employ_small, "med_income_5y_prop", c("med_income_5y_prop", "med_income_2y_prop", "num_graduates_prop"), - args_list = arx_args) + args_list = arx_args +) -augment(out_arx_lr$epi_workflow, employ_small) %>% sample_n(5) +out_arx_lr ``` Other changes to the direct AR forecaster, like changing the engine, also work @@ -524,7 +543,8 @@ out_arx_rf <- arx_forecaster( employ_small, "med_income_5y_prop", c("med_income_5y_prop", "med_income_2y_prop", "num_graduates_prop"), trainer = parsnip::boost_tree(mode = "regression", trees = 20), - args_list = arx_args) + args_list = arx_args +) -augment(out_arx_rf$epi_workflow, employ_small) %>% sample_n(5) +out_arx_rf ``` From 8552e1a8a4eae384651f6ee5a5ae8c5003dffebb Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Tue, 6 Feb 2024 10:31:23 -0800 Subject: [PATCH 39/49] done. forecast_date/target_date processing is bolixed by #291 --- vignettes/panel-data.Rmd | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 57e37aac2..82d0a94d6 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -24,7 +24,6 @@ library(recipes) library(epiprocess) library(epipredict) library(ggplot2) -library(lubridate) theme_set(theme_bw()) ``` @@ -48,10 +47,9 @@ in `epi_df` format. ```{r employ-stats, include=F} data("grad_employ_subset") -grad_employ_subset <- grad_employ_subset %>% - mutate(time_value = ymd(paste0(time_value, "0101"))) -year_start <- year(min(grad_employ_subset$time_value)) -year_end <- year(max(grad_employ_subset$time_value)) +grad_employ_subset <- grad_employ_subset +year_start <- min(grad_employ_subset$time_value) +year_end <- max(grad_employ_subset$time_value) ``` # Example panel data overview @@ -232,12 +230,14 @@ with incomplete dates. employ_small %>% filter(geo_value %in% c("British Columbia", "Ontario")) %>% filter(grepl("degree", edu_qual, fixed = T)) %>% + group_by(geo_value, time_value, edu_qual, age_group) %>% + summarise(num_graduates_prop = sum(num_graduates_prop), .groups = "drop") %>% ggplot(aes(x = time_value, y = num_graduates_prop, color = geo_value)) + geom_line() + + scale_colour_manual(values = c("Cornflowerblue", "Orange"), name = "") + facet_grid(rows = vars(edu_qual), cols = vars(age_group)) + xlab("Year") + - ylab("# of graduates as proportion of sum within group") + - ggtitle("Trend in # of Graduates by Age Group and Education in BC and ON") + + ylab("Percentage of gratuates") + theme(legend.position = "bottom") ``` @@ -266,8 +266,8 @@ values are both in years. ```{r make-recipe, include=T, eval=T} r <- epi_recipe(employ_small) %>% - step_epi_ahead(num_graduates_prop, ahead = 365) %>% # lag & ahead units in days - step_epi_lag(num_graduates_prop, lag = 0:2 * 365) %>% + step_epi_ahead(num_graduates_prop, ahead = 1) %>% + step_epi_lag(num_graduates_prop, lag = 0:2) %>% step_epi_naomit() r ``` @@ -502,9 +502,7 @@ where $y_i$ is the 2-year median income (proportion) at time $i$. ```{r flatline, include=T, warning=F} out_fl <- flatline_forecaster(employ_small, "med_income_2y_prop", - args_list = flatline_args_list( - ahead = 365L, forecast_date = as.Date("2015-01-01"), - ) + args_list = flatline_args_list(ahead = 1) ) out_fl @@ -523,9 +521,7 @@ with Exogenous Inputs" section of this article, but where all inputs have the same number of lags. ```{r arx-lr, include=T, warning=F} -arx_args <- arx_args_list( - lags = c(0L, 365L), ahead = 365L, forecast_date = as.Date("2015-01-01") -) +arx_args <- arx_args_list(lags = c(0L, 1L), ahead = 1L) out_arx_lr <- arx_forecaster(employ_small, "med_income_5y_prop", c("med_income_5y_prop", "med_income_2y_prop", "num_graduates_prop"), From 44a145fb0b6731ac9549214ceff9c0ad9970283a Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Sat, 9 Mar 2024 09:27:55 -0800 Subject: [PATCH 40/49] some simplifications --- vignettes/panel-data.Rmd | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 82d0a94d6..39321ae4c 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -47,7 +47,6 @@ in `epi_df` format. ```{r employ-stats, include=F} data("grad_employ_subset") -grad_employ_subset <- grad_employ_subset year_start <- min(grad_employ_subset$time_value) year_end <- max(grad_employ_subset$time_value) ``` @@ -306,8 +305,8 @@ to pass the workflow into `fit()` to get our model coefficients $\alpha_i, i=0,...,3$. ```{r linearreg-wf, include=T} -wf_linreg <- epi_workflow(r, parsnip::linear_reg()) %>% - parsnip::fit(employ_small) +wf_linreg <- epi_workflow(r, linear_reg()) %>% + fit(employ_small) summary(extract_fit_engine(wf_linreg)) ``` @@ -427,7 +426,7 @@ quantify the uncertainty associated with future predicted values. # Only have to include med_income_5y since that is our outcome totals <- employ_small %>% group_by(geo_value, age_group, edu_qual) %>% - summarise(med_income_5y_tot = sum(med_income_5y), .groups = "keep") + summarise(med_income_5y_tot = sum(med_income_5y), .groups = "drop") # Define post-processing steps f <- frosting() %>% @@ -436,7 +435,7 @@ f <- frosting() %>% layer_threshold(.pred, lower = 0) %>% # 90% prediction interval layer_residual_quantiles( - quantile_levels = c(0.05, 0.95), + quantile_levels = c(0.1, 0.9), symmetrize = FALSE ) %>% layer_population_scaling( @@ -454,7 +453,7 @@ summary(extract_fit_engine(wfx_linreg)) Based on the summary output for this model, only the intercept term, 5-year median income from 3 years ago, and the 2-year median income from 1 year ago are significant linear predictors for today's 5-year median income at a 95% -confidence level. Both lags for the number of graduates were insigificant. +confidence level. Both lags for the number of graduates were insignificant. Let's take a look at the predictions along with their 90% prediction intervals. From 4140ee1f8b765eff500ac853c4297efd9539bca5 Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Tue, 9 Apr 2024 15:06:18 -0700 Subject: [PATCH 41/49] move all vignette data to here vignettes/ --- data/grad_employ_subset.rda | Bin 39430 -> 0 bytes vignettes/.gitignore | 1 - .../all_states_covidcast_signals.rds | Bin vignettes/articles/sliding.Rmd | 5 +- vignettes/gemploy.rds | Bin 0 -> 10581 bytes vignettes/panel-data-gemploy.R | 65 +++++++++++++ vignettes/panel-data.Rmd | 86 ++---------------- 7 files changed, 73 insertions(+), 84 deletions(-) delete mode 100644 data/grad_employ_subset.rda rename {inst/extdata => vignettes/articles}/all_states_covidcast_signals.rds (100%) create mode 100644 vignettes/gemploy.rds create mode 100644 vignettes/panel-data-gemploy.R diff --git a/data/grad_employ_subset.rda b/data/grad_employ_subset.rda deleted file mode 100644 index f2e52ce21eab825b6c2e379a5ed15f84b52d45ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39430 zcmb5VRZtvE*M&<61a~Jukip%Z;O;Ji5AK6&aCdiicQS(ohv4q+?ixtW`&FI#>)f7o z(@)o~z1ph!Vpq4gzBNC)m>!LWo-!jz%4e6zAOHSOKmJ|+AOC+~XZG)%7QMU_Lm&)> zW_598wQ3=qdZnr?ygZEmFTrBk4$cedN{%cJFVXQg+2mfgv69mKcpTlQS5RCO_ zQ5f-LN-A+tN~eWKTwkSRt`v5%-zw7CipZRDr)LftLqg>^irGH4!d#QMlPZgZwq%K; zk6&b}D#|q$9=TRav%P7n%2jBqZHf-!go$VpWcwYYC8V=abJWfdH4}qAeJRh8;Id8u zanY8@9dc4hDwV_KtEiRGhu+Ioo%y6pYRuc(I%&u?a}cR$2rDTrj9ucIFDzKE`BYSt zDitA|sQ_+i!f76*7aoOq{u{Jh^dW(6e&IU)%=kwpKW?~0R=nsgb0!F)+2N^qRpRMh zeN?&b3AA&Rw995O-TVy!FLMKz2E#ZM!#M1RI0%>$>18OG2EX(4!!1;T!am6*@>7CX zAP{RVhtfsqR)@B6AXtYSJcb=Dotp-hSEGm6r7v?&NfEE-*lSJNr4ofRDr5!oBNFjx zRwWXO5+SOW!4T2mo0u{t&y`I&;JK=`O&H+w#8u7_t?u#Hs{Rg6BZ(kKrcF^p1b|*V35-KAX6OoB zgcL81JDhsmj^{FBgHk^$Byv$6MB@e$F>}rE5TeU6Gqm!Fq9Nl*N&POdlWLp9bJT6B z8*OTbfLE3v4tR0VM~C%Sb>Ouj?L)22#S(1}?6k&TMG{CHGWvaGq|#E(5Zj|xd)wLe zqo%ePO#`XYTHU&@_6}l`frZ#_z|X2>C{_CU+KKec(jAN>OP!s~OGh=(GY+_Z?Zi?J z4Nmwm@jwm)cqtto1@J1*Mjgo-`I=y-**s6-;_rIfp;kk{%GD*fUTfS@YZ3whLm-oy zTJvUAbZe0M>|vf$h@+wV8qbNtgd?~(a+!JDaMMvc#bVO|tI1*6O^3-9I0RYtz&=(2 zZfgH zskh5ZKgjje?W}LxT)VndK7o+%BxktKD7hLk=?-^zO36t;NtfN%qCCwY_4tFAi&Ix| znc8Q^x)9(p-KJ}CyIm%DLocE>JS-bbU|8{;Xuv8N{S6sOcEpFz)BVu$EhDk2GT0C#MZ%0lAg@;% zZ3VhMKU=0Y~7 z4vtv{puqBjJVEG5Uap5(hU1lM`&AyTAnH_Sr>7e<-eSRRFpB2C-D8)=j6w~#0}sDh;|#W79#510Afr-m=& zfXAMWEKtldy?(b@L09%p=v7XJ#oU!b3$LLkE%=JkkhJ);42-wzKHph?tn0$pnJWtb zn4n;d@`=h(P>PLWx+SAPI~}2p`z?7KdwCshSHIl_VzST9PL>V%PF=aio3F~Ks?e_- zJKe|Y4ePJ2u5y2#ZX%P;i36dQ7tqVa!J&EdJQnKlL_lZ?C5>1#d15FaS_X-{2p}s) z4j>6tG&!IVCr_5^gm6MOsaYWKEO{*FHPBN-PlL=$&iZ=j&!n|;Kz!%Va@YFf^R&4v z#wq9-aBg=K1!_27wsc`v*y)@`|1kncnH=3+I3LC#Y=<8qoTFzmUNMfXldH$FD zuG0N_clG+VKU^RwvOD%Y4>Bbx%pA<@@Nk?kzBPRX_@iM%@|{Hm!qVF!z~EQj))#tz z+gP8l`S054hf13F`XBV^w&&)*$~YGZp#cp$x)C^_hFxrRlc^bzf7g%+mFsu8x$r5FRlPHXcni=R3VXbUr_%KICEOAIHHHMUeE&Y-UTDV60ULg?3 zZ;m8EncFN8noAqYawlY>?1n&S2<0Q89U5MyF~M!cWko~{<=~J<_nV0j5FAC@|4EL4 zM@zWQL17IhGnqZKD+)-N&DQfsDHb9e8c7-( zllqO)TO{YxrAU?_SV%R)i{m|N%Q5sSg1}(F(Axkk(rHfOXl=@W_jBLq;*_hS9I@P$ z*8Y@R-r|I#%hY`RmEn|(C-pKgF>O-NgG8Jeie4jMg>W&amX z@EtR8k&2M*{VBaB5ky3}2Z2w_a{vWK%aB(+`7fdrM~y1#H(@|JQV{cBHH)PI{oBe(n}Us5H_8p3we)vYa$i}W(r*5 z!x}v-7Kt2N6jow*KdvU=a%`EWSy7#DKT*=gArZjOnZpCtmzD(|@Be*5Kp^qr$5Js8 zPYC7jRNw?125DIFdn)SQ2O!-~&Nsb0WcaQlzQ%EXPLfgBcw-rcJ z4n|Olu5=XJEy2#gV`a>9-mi~|)u-@`TiI$mubUY+6jBF?d8MWUQxXYz!9{|+URWJB zJ{p2l{Br!=JkAM(&S2+*#U6sB3iN>cmSz=x`4(e(IQ=Dcq=OyhrxZ0=n-{_Ee31TO z@^kx^_tZn_7%N(n_oUr?EjI+;Gwd+6YpcT7cPphJ*R^vX{3KtgiPsou6=k%!Yu;$K z%gLQLqwJbR-v3(YINvkfHS`eDGk}swE!mA4^+0)np z%0b!g>CL{@S+-E=s8G-Uc+Kfzuph}~@wz;9U;hnGb~#pdIFsq&rneCf~WwZHwe zf3D!%eMQc(|23KGFM_P&`eT6^(54m%b0U-o;wKlOioxL!V9zkTvg zIiCA)I37RWURE2{QlA#aO+~=P@ zMISIk7h{DUP?+w-jr zmldluaRf=>I&#uciX#E~Mu!an)^zTcc!dy(6bW8*eJUa#Q#zmG!=i<_t~yLg4RO&; zt?99#;@npL0#f_&Joqz;ddg_iXAbNyW9(s@fQG-^E!$1h08|=0BexQiSTM!tH;g)z z+gbl<8qQDB0~g<@3oks?fW&C=1Y9SdCc88$h*#;0s5us-2ETGYW9fyMhNY!ysprz* ze|1scHayf8y73Y|AeM3uM&r6?U!#vwn>Ce5)>KF}r|EjpYXLOo`xI%FG;TDbB>)CW z6P{j1%WWcJRQs%!#zEWK1rgV&P*V#j*+aySRds%m3w#DSH!@N(blj>YKBXy7dT451 z6Y88$H|x(0EgLlgqr|OpVdZ@H@QbKNB4TuJbJ7~~*P-1n5T4jbpWUOMjvF=Y=e(;& zKZd_)ybpi)xc`M=?n$7k;^p=H-SW5n*t#WVA-j`ywUN6x?ArH@}h6{lQk-^#c}Ke%(dLlF=jO*Fxm zcL5(lQn|rx*iLt<@c(*mz6IJ$IIwoGi_e+h{ySXEtGEb=xXV{&KloSEo@4(lY~;BR`+Myk@W{A(FYN5pnQ0jd;(M9y zEPBWOxl&y#=c@cUaN67dhFo|!yFPB%@P5#Wb6cDkl<=%Z{@&JG{)t9|ub-kE>us&04unD%9 z_x^3?OY;ZWWPg0nai?Q9Abi`6SJK+Kd0#{%Mca5E7fU`lzKx^^ucGHk{%3T}-TXTj z@!OEW@vymV^wjk02FFM7rg)R?@6sC452gMM*7{S@;}hF21$lPT?-ewZdKtlV#+G+Y z@>+<2c{}HK@p%tT=$l^WAi2LD_v zDbri^$z+?na?Yu+2|f@W5wuoLH^--TlcLL19VL z&9l&dsb}ckC0g-dYvZf~e`zg(at-?*eJmAoAdFrdw@?tZSt;g5GRUS@MZJg&cqu+( z7aXGY4H(y4_T7bdHdmQ^LF72yz9n9WcE4`k*=ZSJDx$<97+s8r{W0^6lgbsF=C0-H zd^~ph6Vm|8V#nFdU9lbeOr??{R)%IM?p^-%CmBI;G(=tOdubjXR)$KFpU3z?GjJybG^gu~rJyj&V*MnHuNvbgpM2%?H znHSQC$F9E^#v*pLm4?7mtIyu>*$!+Hir7xw*;1RcQ%&e}l_}Z3^5s-D27z_+JGM>C zaPU{DB=U`;!ZKF)gVGcK#Kw@+?nzuL#G`&~Z|6}6ek*vZAXXS1bY3@za(l=!qoJP) zG-y80fdbW4FDCOoWM^_m<_X!dk^Mq{W~2xHlo=@7*f7*)>`O~{dEuxyue4<2$IyQ3 zc2AN~h(C9}E zCM}ZO_sm8M-hxkm_vV?n5&OKyGhq`X*ekN=me(0MKl|+(jnhZM{?&B84;OLZ-FnL` zi6{c`O~?t#Pd-lb%TEbO`geKRn3)iYOtD4E&^DOj|L9nB?`$cGDE&j9c<^#+8E@wT zIc?mbA_P<%O3X1g2i%~HBl33}h!M8p7h%xgQ#z5j0LOAu)%!m+tOTLueiduWP{oS3 z^LYu^j({4`OSqPO2rlqsFb48H#sR!3HGbmHy$ zq5I;Url1wOL}2#5<0Dfv`PG66@^I(M1L^Qz4ROQTTbPRg$nphL+AwyqrlBxgBx5_f zbX9_{r14r16pZ(RH5M=a3iHm5;;WK2?Xi$Pl&Y8o&+cHwSZ{r0)t;s^v8pF#U5tas`k z@75{A%z8-dlpbFDWmA08`xV5Lv(~{My@y);VaKK)Y#CvvqA`e2AJES_Pyk;qyuc^* z@b^!n+%C8AN|Jbm4nuHN5?HU9nZkY zGBU=qXy_>9s?Y4me2&;DF5lqt{3|3mG3VB!lr3#nXyz)(jWWhLzU24 zEB@gG%%I6MTX+AP-A>@mvgpT#cGuyy397;&d(Et;}@!5h%HxW0=E4fJF zEdC5dfn_@j>||cpCZ~?Kqz)b?z^NWlOw2@h@x`=EaIVtSQ`fR8k}{{$mSL&Gn|b1I z{5>{Ynq-$T7zQDTCEmb`lCh-VAmKeC%1Ip&*h^ww{6jtE(-748#2MqM zPSovWaMj>Q%*IM&qHu0RY@x|8#q58!sgIwwTuM)Dv$kGI-D!G<;e2Jw}!%9D?8xy#Z0MU)Et#K`Hg-!?TuegT z$6hGU=B!eKx#jYTlJV+~t!4In;lFm9r@zfi4sC0?r9(-!9M`UZu_(S=gSQn@>N;Wj z&GunKW&V_=MDAzLc2mL|QH!X@{uw2dlf^zx=w%x{a_lPNaD#XSKe~a=!y}Ov#SF`B z-OamBAoQs%C#g5I-~@!PO3<|@{%nLcpor@GLyp^i z;Qs5dOtt%h#NUDnk=~K-h9#Ju77dgdMK=F(5Y%S!m$Lt4*Ts<8uM^duJs?*Xz-%=~ zHaC{+J@w{D+X>25A;W^uElfvc_85X7{{8Y7L=63k^X99>XWMAVBcf3P+OEMHu^Q4S z=~`F`aj+nzm@ID~ zG^4{Ev~2}&WeDnJ&(DLy%=Osw(bVsc*_$y ztQjJ#)Z^%-i`|?y{8&nW-cp2XUG-NBi{5h`;8(HmERbwb8CUT9rIorBaW9Xgkt~MR zpVO8WnfGdMhrl^L@ZC?7&-qFHeKA|9?Kw}r$-ck?=cU}1pDdZEL{>0XU%mZ<4otQ6 zI>{NOcwI8PINkG}F&v6F%NTLGAWvx2(0me<8Nu?J~US&)orDh)$JE%9%+CzA@%&di*P5F76eC`Vv+t z@6CT8l5<-@H1&9WOV(q!`@|J)Aa;uWur6fm=kn|IdvQS1VVq<*^%((OZh`JE zmuKhI49MtvF=x$wlzBZrLRUQ1zljXBaiQp6c+CkQmX4%#;)!3u++StRH8-^%<$jBNB6`r3a&KQL>BsVrrXbF{eQL zqAgoA_U;1A9ru$4))rIKDLE zv!jPos&WC5l|r)X!c!!4BBH4_9#tR{m7Bq-d5Enb%D&h1R?k5Fzz|7*m!(|oXj_V( zY4{xV@w3^|OW2G@$GUC!RNmk2RJ`uuN9-}`FBqx8I2f@Ra0T8CTyk|23f5#FO8$>0 z*7ue$> zPn4_&9}ZlIfrt)IQO$&=4Wduv_~!w7pr62%w3DBj7>;ROw3#oZx@~Lgr?{!6gM(LU zthEO!&qi%$a~yBF?9RU@HA?h;%*oVXF}uL#jGp_Jbbbd9JsXf6gZQz|#|3SqZY|7D z;~P@8Xt!Crm!UDm*9~oat?KzJwodd_{FR+i!0$Z_%`m48<9NJ7tX*#bq`s`oPNnF^ zO2!3TUd>KAcg|GW;=fWX24L!xFK{Z*m$heTlbK61svY`%(44ag1E2l`;anB?P5LZy z)gMZPuOoL?!nSmH!^o)I#IM}p++k4;_Gw6kI=Lm!DB3_P>I`wA*he#o zb_$1=b%L6%Hiy^Wp~Tq|`h5=20BTUHO1F&CaeragB--rP30BvScd)Oefy&a9kGUTH z`x)_{Z31Ydf;f;dEgsog9?@- z{QS-P5c8mqAZwl%-0HTI%I+8j2hKfZg`a})mh7Xr7()w<{%Q%=}oz&MM&r%%a zaZfHjmp*?1OUF@AYh(S>ov+Q{&Edg)o5rVZAgh`O7HqASAe2a}AjtT~ij>wrP7zsR z*JSc$zfWVtdUT$*D;#U`)lRSE=#p(T39Xz+pwKLXpoPNhewaWYyV~*(U+&J#jZ-~q0pLo0P zg?y9)uACAd>KFFxE_-E$w}J-w{0$k$>3XQXmtM%dJwt=)unxK2!zB)ngXBO&7bS=8 ze)Ry~^_qH)3e7@ioUhBqIanPQ%I(z+Xk}ecEqB?uCQ-`QhN(@R-pp${NpqIU;F3!p z=Ap>)(QI%`z|uSHknp7PH2Dynbq*s!2NO$9hm5D`Xj7}=;+U^N0Vsn$NiG{lMXyWG zv%HJa%0W=zQ>oVzvFvEa>xs`lyoBUD%Y(0^sDi{wnEKSsc4<0-qF*0X_;!o8y)ku7 zjK7LlsE80!$_|6dBtc?4Mh&i9;;6%>G9vP)5}U-6k#en#sI@^XNXKT{ak zex-j?=!wRW%`dQ$+T0@r=X48?dzW^LcU z%GPmD$ALGtA=%$6WazfxnOG2{plqyN@~KF_RIGfk&dvc2{pT%LOUQssG7^r4*DwRyUR z9-c7fcxmh%WUvEr6ZvSFmof-eSYyHrs4yx7bFGqodSqVqU_K0_`9%6J^mh&K6HRgx zbY?5jD~XD0?UH()-%&+f9nH$mc$u+%*V~BVdJ68tViK@UStB7+>madlvu$r=PJgs- zT5d3ji&_lHE+OE_Xxh@va}Cmp_p9~G*9d9M$}afXItow8+T3A{<%OedFmL(Vvpo3{ zb!)3R)9g9h%dKc1LFY~YCoS#=Nm#R& zl;!Sf%Z&ALkpZ?bOdfQetY=at%wStogAf-WCVC;iy$+3NH3~+XqU`rQ)$iI}WdfKrcajYfDkT73 zRzt1D#!>*4r8W2wR(NONa)`gW&fA8?uWPbe1l1?l#$A?FL# zs1&J!-iU6~^2*FF3f~>W(rye;AEw9#eaKLP8UdozI49PE&^QW7zNgb#37$g~8L5Ts zHnWb~!GW9m-WxuCXY^TQtuEgeT84d=7T{>khPA`$vk#IE+WI z&q?!kCa*UG+Jwhx&2-h?LsnP*&$E64U`EjZz0UkOT(3|RJ2eOLRCGDFWPX({uo@<| ztqZ0Mq!#~-FaP(ut;fgojack%JaVVfvyOD0%O4B|AP)xaij&ovCP`r$bGbl=RqV<$ zeiZ+Ya^3!6RhCuV=cIK^gf0opFP$*$GTE6+7vCcDKMifL3gb8qAtqG>9q zsB%(^+&dlbD0*bdW98YuXKhL}P?5RyJC%g<^-~z*IkPh>Yb-)Fg>m z!8_Wb&=<#Fd-%!ceJ#Zc#f;A6OSQ9H16%pCFT|?E2@jXKdk$Snb6z6_18y@We1B@0 zA06{V`WE8>$Nnp(v~^N|QprdoG`5V}rklSRVeqPK{$7ntW^ z)6%u~yL;`m&paAd6}0BP+sOrfaMU?s#n2ukV~wPC$R?D(gF3>lHT6!|kA0kY|0H<$61^ zKJxrLy^JW{O?XNb`E9ZKubP!TZI`6X-HCjDYoEy+`jNfWhaP|4=gC`d&XNZ-C^*1h zZ%1OsyBcD3N}4rL&dKU&{d&nsiD_owXHf|ih(vQfTXY{P+Zk@5^wLGcP$iG z&T;+u7r|KTkB3gmplG!O@YhTacqm(o_99w`XU4Y6m{HJyw93#-#cQbQ$G2)*yx|Ts zhkb)Yq8j{x9#PPWR`o*OYgWrN{7w#NT=6HW8anKGJvilJI6=>CZw%%fZK&nm`MTbW z4|^EX!%^tCSS8uFw$=(lFjlRvJL7qh z?efb(fZ;;}ZpPs%DMK798mLy@`^h8Cxbt-y6GwTG{+>2l5T}QOssopA8!A!=8GGBi z?dLyvpR?qwaPeh9Q&#PsW|dsx;QjmQhXM}zcxSq7jR&#f=nL3=alGhPS4}~<)01Jj z?bhOv1Mz1?JZ=^HY@>k=G;MOV5ZHA~cIx*0Wohzk0rW^AB*&dNm@-?1V7Ub3Q18!7 znaCrJDoVK#QE?@BS2vb3Wue!2;usJM*>d%{Rkr>0($%ZDy2oYnp$c*_apzHnW$XEl zK2q&FI^F3@y(dW3wsvn5rcZ)uv~CneExHJ#_V4PevQjk6lD{D_>JCVbF$?0rzn z3s88Ntf%yMFnmN4H_fiNZ>{9*YxUTr$6j`Sd4#G0Ntm|Z)YroJ9dg&UwVh=qoz%o_ zg~}SD0N(Pm3*C|0y*;QPVGv7f4Mk0`cY5}PF`msUStke4Z<@2Q_Q;z3&JjL3C_5ou z9rw>SXcHVuGH(g5FQ_HC+3;6!I^%&PnLkrZE6aXB*y_iJszL3gui#@tD_aslZT`bM z^F@A4^TpTZ7~r;o<-9{-d?BUYT{5QS7dw<=Abgt#6?F)TL}lxythM;}eN$_eGjH!* z2b{JD+bshqUbhI*obXQSdh_kv?7}``oBm>PkESq2P=Bh@g<(~!{(TNpi2gU%k?|nq z%DKSl5xT~1cJBn7o|@%$$SDt(d?@=K3X7hsHlZW_#17oK!c@D>e0{xbf>vZ0e3H~T zqve@Y*Tfg;GSnb*6oc03YFoh%l($OOm?bV%HDVrcu5?0?sqG|nxYmF}3>k|;AMnRy zUDRw)oq~qO_SmNmpZ5rPHzniNhpy{)*OtUzXY))hsX`12=*xzDfjq_D#qYMzP(iWyn$cEoU`!(GmY+|AP zjk1NeqN>;a{fzlOKS3E*B3*k~2y~?Lr}(#&b)@xpa$;u*cA@{M-9?^jNG0t$T~%wV z)Q_(Q9ueW*cWr-o%MYcQJz5yboxYkTTpq|sW;q1AX8+-2#?HJD*tDc$#@{8P#hXoZ z#_PBGzIcsp{|NT{dAx~+h1|v&WE@DR(i&Pp%bay?PlPqHb8Eg@V#1E~`EgCT>x&^0 z7*j$!#4EA&jyF9)K>LsH#GwnMBfHjPuHk}}`}0jcyM^$^hX0lOjb_Uk39#^vS{=p6 z9!`@|yUQLsvrm$i!QC*`M&vJP)O6Rz-O+*iYtJsHjt`Tw+)53eH^r&Hdx7|+9u9y5 z#k=n{<^omDN+D+T$iqwEp<)ZOjfq{J_Hpr9b|&m)F-ap}a-?<|=>Q)Uki$dyWHM_> zk5@U^^ex6)w2gutlMr-LGKi5B=@MWxoW0gd8x(NDJFmLKCp%I% z6F9PcOe>gL)d=$}m4` zK8jNfcs&Juc)|8DmaCqH_6Hp#)Gz2D0rMMjv2qh~NUd`>jZH4unKG7%?-VI3u5pY; zoqbVz4mi>TH_q%stvqufE;*U|7Ih1vSWGLJ99SJni6vqe+STC<7o|_s)A@){m%XSaUh z{NACeljT6u$HnpSptC`K@P5U;jqRdQw*7j1K%I1Yk0q!2D@DmzOjR5m?-*F$tJ>7A z1bfdk0saD4^1%_%bTS;C=6ovuHm09t081>4V?W3)!jHr3H_%Ede20WUJX0WOJY#db zKQ5g7@8@*9$p^5Lf`RLH`?wh{#Mqp(1W8e@GbdimmwZ613bS~|-QAM$d5WT7f)k{k zh%Vql`CLZc=z$K-{mu8|djV8tj-arUdY{@$-tokikHP&TGa@HLlah{`DaOCo77$gE zi?6}v5E2nn&l5QnKT8Aq-=nWWrJAM0jD+80p>g7l)CskEC@#7v@SpmFxROYG7e$g` zETi}(fV0gAIk3>^=&L4*<0_Cq z=Y<7%&z%Wgq`h6FZ|oLKM9R|j<|RM$Zc|DQSw~aX=a-ox z(8bI6trvoMK|%U+loh}&BJ9L<323h-lUqkeY1xx<#Y4cYO=h5b7x!*{3w|~|-C?{` zN2DxCG|Ntz-eo3M%((@JTuG?$%MMqze`WKtYwYN|*KTV&LH zvX7vQmzM`wK!PazWV6Y#W@IkqP5UGzxdZZxGfjg-)?^+m?|$EG;KR%Od?!+2=C;ql$53&;;=Y*X`*`=VSIo#Ry$nL(npT{t00`|9@ywN5ff z=39{>2_ELWXjBRx)ifDcO5KdC@oSU8lGMQgJq^{4Z(Vhnr3Q>h(wC5@(S`Y$7JNlE zl791gcMkRi+fPIeW&xr&>(zIbUI)T2&~+^aV|NvFNQRVBoedZtHf`-xLQItvTx6?b z5|a*W?7@h`u>rgnD~53ZyeIbQsPH*KOD6eZ?TQdj?uzm75-U1+j&Ed+!~$Yz6%<^f za`1f+#Dk_%qSrrmSO8j(Ef@`Aj>w6y5EEsJIhXdP2aS%0T)XQ_`7#Ty#%K)2^HOri z(GHY{>gYo5#4Ud&d#v60SWsTJ9iWxBQHqr?@GN2&AeXMlTw-# zt+%)(CN&@8*k6qgN2!J&j;1xGYa|*j(VgO(O8eOt+jArft-Fw>N1WsJJZcyELX+UyZhxusiF%rLww|52Kcbs^Vb#Sg>De!%UBKZdX{;Ia@spdXoL%E5l$(sl5RcE36Gn0qvQvJiDj1)5^Jp62bN z^%kH>!DmmtT&2q1R-DuX&EhsDVJ4$6(ej+b^X@eM(A)?bJ7odGZ+|%>j=-RJH_yHB zQ~Al_n6sJHqm~<5|HkX01DaB#7@X5R#~nn8C$Mo)YYu(sg*;*_lJ=@p7<9sF44(agiun z?Y3~aX=i3Y#CMz17DjLXP0nCGNoi@~E!h#<_43)POB;W?mgcgj{7>fOw8np5c($(9 zE%;pBWPFK)wmkF2oucf$GIM|0Z?k$QZKmzF^G-SY2=nIHjMC;t7ziGm+Kr(*_{w?; zC|;Y&yVNNw`u=tS#Jk`)bOot(HK)WoRu~H%`^~0%Bcw2{x8D1EDuMYDLT~LAPY(nE z7x>O)hTv|i)?>8YE7UUnVZZA>GpD|}*Cx|50t-0{FnQ$DoJRAp_wSfyQr3z9%=;vr zdKJ|;zPH^e)0#6a^u}oc&&!YLwfp0NCD)7R2ce_y21+9N9bIp-t`0bjxq0c4(XwK) zw{<=X2M@fYv;(Omr-=D6OnDD>=E5Qc{1YG{&j>P~F0#9f#(aH@fwN*|Nq;Vzbr0VL z8Y`S2#YV7A0!bQdc3zG`k9@noHm8{aC{BAt zPN#*g$$TGow_Gh(x5S^r=1mHe?tZ-<_$eFtjk-pxT7mfd^CNa12Qo4Io8KzjHdf)T z)}m=mNkn`U)8$x87Pq|Qj1Bxzy~40`x_Hh}VC~j?z*|PgE4f=+AX#FzKiE-rBT7$6 ztEI~quN#85hmX9o?(zve1eC1vC}Z>izr2xX z&T$otNPQprdMjf{#LS!0bpfwygayG$MRNX!`1MGqhmR11cN=j!ANP9g<>8*s=cTBN znUA$fcpxD+&+U0!?@2uMLHxK^Cu`b&U~BXUa!R#bHJ*Loi8o|Sr?isu$K4Z z++QVM7#n@}&3#-efWO~wyyystJN42y_Vs=y_PcI>7nvsGy!=xUA?sfs_2g%q5CZX| zt)Z<-AS_ToBe@>D8fZZ8o=#|&5qeSRcbwW3Iqdo9dEajFzh4$^e0jXR5)+}be{kKn zayu8fIm=#%eO4Lwr=K3i-tK&f*!?>_d;hQ4&w3J6f_d<9nZ;i$q7C(d9B>$op`2`R zW7uJQKB$_=qIU5=IJKKJB8L86S@ZCjCbJ5lbDSiJxuW8dkFcRRGe+!ukGGBo>)J_h z+IZtUavvP;zjv)OXPpXMJUX#6hT_Znbhs?=n*y@|9?I(J&ZYZJ{N``dV}LT;hR1 zkYeZ(u#g2_;xjj6CLZt?RrqT*`q_W9G}uC0)ylaDLal`| z7~*w)=28x@hW8q7g{1E`a&&Rk>>m1z;DEGfYpW#F&`1iE_yKz1s75mG7I&=%Vi^OP z^o=dKyx5l@Nn%xGRrul{@gNu%?dsvBSuM@*h3pc29!9giHaz^e_98BFG(E~zbUCr? zL*~z=ydvAW7lyHXk5zxuj+~Q;{xIh2TIGvABu((~K~FRmmniQX4wC5(FP8IG+XAn1 zhBFDBB_$;&tpMXu(dtgb7bAl7VXivdsFifwnW{4(t%auKXZRshJim|^z7&$grh;L% zFm1N1@wRZRwG%xGdGf+(mUEb%9zdL32ULPPG`R0wjG?Fk7Vip2lZ#QE-IID z#yQRw4+fBrLozM6T~=_5utx3R6jh>Ht!*igVaaWZ=p=%X=~YIgD%;tKtGS!ZxMgGF zr>H{dQ$?2!h)7WfJ!zaQx^Da2t}YxPT9XrH;~5o#(UieiJ6z0Y3~H{ixMQC~#U;A0 zOum?&j-!>MV3KDg<@qCwu+Fgp*=}5gNb))B?yR#TS|+L@v~cpcI;R25h@GN$vh{QD zRMjb=EC=Ot<;pWzJS1+{$k*tF66yTpUeZhQ*FsI>6J{@L4CG#o5y@y;udbh*M|V#t zS+pb$IgrF~1qNZGLRB2SveG6uXI>`+*uE+x&xGHQp?isbwS>iuQ9_s2qa;GSraQ?` zYt{NB?>eSbNRl?oaEUGpmIaHsDF-|a`^5ec;k3EAyQIypdx{u-ck%6amjyQ_XO->4 zTI!;!Folc@tYZoZh0nHzw7}dV9;S$BVbm?VsgCZ@A)EXJ6)2U;EiedOF<@;UauAL&>wX()X>PTL}@+9R2IiEs+v_Ikf~HJ0g3$m%}7 zUVQ91c*!~O_E+I8#339CnZ|i$D&?Cw(In41*y$T29V?OK5UXt|cu`EDF#6 zUBVx#8ICD!VoHJ8&BU&l%d->7_yd>Jl@d-^#!Z0IGAo!I4u^vpMO-p`hUVs+^~_nR zmqgxcJUMG(y5>z_6VlB4-R8m7(Ol$n&MF~h5n2~ItqqGhs1+Ak6;}Q8Oc;79<^My` zd4?tVy#d&rI|rKLND&EKDWGYYp#lM7ilR9hil{hCE&JIp_XJZQ6U~Ktq`7lc?!EV@ zY&uITZJ1X7{vXbDo%7-Sbl&&Ap7%M=bDt2D$@`0sa9&gG>QC7G=UuaBY#o&QI{8>^ z6Z#QhLqLoAKmbKiox`|j?I-F2L{BU7;}nHloW&qXoU)gbf)K{AC0OPC#n;e7b_OtV z8LsVT(c%&NnrhE2Gw<_7v}EaeUmXWZH~BpB()xK0ZEi#6AvOo?mb!*^ylgD)phsNX<^Q zU)Z9@I}#_d!`}=ej~vAdysbf)?fnezz1SRYyZO|*A*DHVl(g)GB*71xoz#U%9)SNwzt;7*#b^mrPTQM1W(k21WZxr>5KwbOk1EN!VKTLKF1o8xiNw!lkhv7=@3QT2(0M-WiyPJE4ph-^G^`Onx9x-z^e+4str%7cW*K_0Z%bbu}(KAU| zD1DdZCuu4}6_tshRJo>=Ce8k^-W8sQHubpZzgHX$`Bx+iuzqA-+JDG_hxFJcRS5jV z@AAKwu0*p48fHxS#~TotTmlyBJ#WijKEFhACAr+ndIr)WdN|GY za4U*_SNNngFy1LWtVnMdX{bi*Cn^DTT%{Y7lqiqh8m+9%GL%Tk%Wsp~*_r)*kQ(1_ ztrgpgQInXFN1-7BgB8OEL~MVtk&a7G)6O>_l$%sTnPp&Tv(pZ3x5Ily3tWM^35x|T z>t8UX4H8J0pWJ|`RGxC`b=6O{T&~u@t=Q&Aa^*jCFSLOszudR9&95&*MSVpb6I;;a zwZuIp+_xf-5_gg|u@J-H7T=Vu=>TlQg_)N#nX>AFd6w!ZAKQsLf+DI8|7-`PEKGf% zLw}_UcRI@fQZaa?VqS+g){Z?{q{|=qA=|PHMDPK+08#lqcIj-D|0dwq9WgJL02D@* zZ*!Q*??py|AlTylSHTWsy)G}QrQi5%X#)7U$^6%OSFMPoW2+YBTG>$;Uckh+oO|YV zYUSCZw-4hRTOR)PUfDBN))c^4+nTlA+LtuvTy;C`EatKD77V~{{}l43JbO_v_#kE*PEQYzvLA6xI-qD zMlj0GS3%jy&u>`zT&L=d3z^p! zF5S2U8i>)Y;84{QJqb*Abqz4+y>EY=awJqjDh2gP*jL)c8pY34%;4H;m-0?);D8Zu zi!}0pJt*~`gaSrc3LytnIW`$F&TI8tz=$WwFNvp3^8wVRaK)%o?bLER_9M|r_9g-$ zo|1`JYVzw@7zy5bLbh6J;v-i0I$U&HS+EKO*FNIV`rim-^cvxeT_p%_*;4Iu@aCwK z_xU1=453t{I?DF~8zvt~oK>SWh*+>As66AXy@e81%z8x_$~M97+e=55YkHLfvAMCz zmx24Fw)X!A--{692;02rMFiXa8!^*tUG-9wFB5F9?qmHy!n{pU3s6=HZ`rJH*E$cc zwU8I6K`ZHc5z}77x%E-+5}394AocnxgH zVX`2#2xKBBbIK~!m$xS{;DTj9vLCRwH|a*T;RmRPQDH8!)Zo}Zp(p8E4>uN<} za9dwxc18mHEf+@r9@Le6-DI@2w)G(`O(-=T>9E=KpVkQ&OS)8GcRTPS1ofRIc!`+B zGcEcya)38P5@{9G;43sMlIkc!s*h_(iev&}k;U&t+Jy2Q(_RH*PL%ns%vBq|(rvDE z2=N2Z>U}>ntY1oJR12;L`c}(7af4si`}~R5{9GL$>mR@iCoWW5x5-rlt6Z9gf|uA2 z?3ycsrQuR}!4mi~pMk3pPNRH>yds+a&l2^ARvS$?*58$gMFvqqNUGD5>= z#$sEn^t#$qYH>c?<&aCC?t599OkBL}xSu~9Z3t45i9-Ri3r8qb<1q6wbbn~t1x9}V zV5amm65^my2;xR4r>^Wt5)y>-{BY2ylF$8GCCLk)?k4L6p1%Ac4-}cwD}FHho)>-k zr<(8}7ZMm^-`Kyo6WZ+E7#^)_AZLFW|Ka1$)2iF>^2FgQhNf=37l};@ON(AnsdCu0 zP)EP6r06%-AGJ&rbO@L3c(onlH!M>+19*)s*MlYbdM^=Yi}Mx!$Zn@f3-D))#PVV^ z$xc)p*fs*~7*Qlhiej2$BY8yRtcO8)P}_)7b`p=ED33Is7F#XZqFn6`M@>|XV|ch9 zbviKucobN$6>){RelZ1SY9Lh5XuvB)>i)ARo|VEz^N4_!CH_$|)lTLgFOfV|Iz0k^ zOMhSX`|`Xt@r$kkIzk#?Jq_WU{TmVVm3O`wU&#qm1i{(_S{4q-7dOV^z8tRkEbGCW;NzmKMng%- z{zq5i`CE7+MvxzGmu2~1$*1t=1L0#!D=NjA=;{1e+nxLTb?8)Hn|9t4o&Kl$A3Bwm z^Q9SAFhtd-^z*6#Jj>s_&(GWdnUZN=ce}|yF4~-=CWV#s{=7RzjXC2$kN&xQFAo`s zl6o(EEmc;(s6)zxFMgs03l7Rd{ipR+Kyndmqgt|mt6Dw7?mb6%RvL1_mgnYB*wsrj zs*mreWzWb-5Nwa7z+Usj{mAc(;_g~pNHIqluRT9Hm-~iof|&J?)8$RH7S+nE)w=Va zt@V6K)uzOM-3qC`d6Ky&6QZjQ7fAeP7ZXutfr3q?xK z#;tKdDh_Qe-}3WBMM2<=dv&rcAm4~jp8Z|=9j~G4GhheRC+EWze*ewh2-6qTl^Ji2 z;gt-(`N5gz^1{wfwdhx;lTHyHX!dJf6#fYP1zyHEXpwDO`Oes|gGhO*vA~P^{MQP< zU~Zsxg_TQ^CATHjEOoN@qe{OCN#@TJ9O5>gt*%RQKK%uJS8e<8x8&QgH;ahv9Skr{ zoMlU`5#+?Mu$2#?6l*1qG{BjvfX9L1z12y#PwXO}*+hijzWJX|lJLD>9%3lFtDOrw zd1lk!uH=496}&6KOTI%WJ-wD7@~vE}qRlfqDSoO3ACFzR-!t%Q50MgbZleCd zr#oTaU&_g;{Ar$(P`>s1+xRGOB|yGUb>Ev+@cQRY)wu^}633T6bUi3r!LB|M2sU(7m>ybEn7p@7#GYc3JiJ zZLZDrpH^y~TpPz@>7qlMVc$-@TCRS!b;qXe)$fO6#oq4EZr?FE=)Dt;IDIu_JLl7( zEJ0r5w{~s$@1+Da!M5@7r`UI8pB^6DO(EI~AAD>-sw}XYaC$s9Xzm9TY{e@(SN7?A zi$&Tgp(*}q=TmHcW-#iH&EtJ{=s9~i+rx#(3Epu3=(X6}xi%lo#X=3B7e;Bs zu9i)O;F|4n$?fpv1hZO60l;heIihJ2&yAznZ`-O={hln3zG+Hd>>CMatev{Va@buv zMDQqFySL8wWs&y{=^?M#{^(-d!s4eu?^=_TOQn3z1)HBu2@Ct)4A3}CQ1klhy7fN1 z`N*)aukx+ASI>4o=Qe%0b#s^WwMe{{i268VdvLyg%`^orw^WJTvCxlZSr`y^i;6gP^CzS1yPvnNlN97O`M%9$h zgEGwiPTRJF?M38Wsn@_?zP?)qk7}n#M}Rs5skDhKY)H`He&;!4G@7?mi?hdy;h}my zs;C$wpQIK_a%6jtl1s0>zG95>XIQ5Xv8$~lczI)?fuA2aVVQoAZ$NfDhg@;)bgJH z_D3^e|etTZDa^`XE^G|wkdcNi<+L^56gK$Rfp54D=)vf2QdrN9BHU1i$*#TRAHvdIC zY!O`XyyNJM>KVq4&TsOo;5YD7#j>BC`$@(U{!_U5Bk0c9%#dkTYsmWxPqM$>9&1_9 zzv=%gbnyUw=#UmAGsWZmseh;@Ry^y1`NZXBsXGYW8zDi;9os!!_u6 ziHjJ9I~v#x$U&(q4S*lcSoN~8Lx+yrv@U>7i-~EyjS3Qr^EC%{G0j(xhzLBx6{?u$ z4j6hjcmw7pWOVQ(#UkOXqhSb_u(Et};fC)icSt4RAJEHjlR8qZdiSlp-wQLnI@b@1 z!;+4f`)cLM7G6h1BApBjxru!D!+N9z(|!}uUmi)*-dQOJJe0?P=?|{W@Md@xKMsP9 zKatJRiDCpugXHuQG8`Q8NvIb$VkweC;=-mOzT6%m4RZs8+{JlU9mtDybtf@wrI?1Q zflnFftuq44LvZBd_q75_eKd=0LFg!e^@6C&$Uu$=!ye)UjeplmpagertA3)E$;a#z zOS|`kKo^7Uf)=9`=4y0JlFpoS#h+14ZW5@=u6I8i{Mtm3m-y|mqU*+ys>ufqNd#pb zli=G++~AF~`8;`H;&m~OraeoilgcRN!R;FsEUyv@S$UcNTJ@E)s84>O7h~&RJ-dH_ zIUWG`U;wwhdLdtDTHBxj8_p1_d0FhFce>5@>x`lCs|CUl4dRr^2|xSi)Y{QQZY8HH zkLOy+B-f5+xFHN4?>?+o)$;hGD1Kl0O$J9!k|lKeSgee3dgAk=pHe?$n*I08_Z4kl ze&u2&lY@2;XK-1Zk&cH&;PsDGwk$^?%CqiPz8SE+fiiH*U_Zv?!|_ba8R@ zk~FBST3}*cElGeeVIEzVEZ^5UZ*OSK5ElO!OT9^Xj{HPA_e1x~=`G=5iEZMMm`iUW z%}2$>3vkz%VQsZhxkC|OKL1QiImU`SqJNmzEpHI5YkPHb#UI!35S40NJHtIs)l@UI zZ6b6Y6BszIuZ6r3Uq^M{B}rdO1a*OK^le>fN_0zcYihk0nt;3zP4{?5h!_82m1lF5GG-AQ_PZ<^e)7;XZrzMK_tR_VGdVB&UWPjYtR zT}kVL@F^nF*2G4ide>=L-wgkbCAAtIL5ACzs_=XS$ELNb*5Nt*!J8mh^3Y#C}gt_*l;z5>t*YIwXuNR8#t54cr%r$ zzL=0;1QtiBgrg)E%K8%Kr6Vf~63VUobCuG@)8Y~)opc};%1l=V(>e{%*EbrH`KYqE zwvg;LTodH(F0j<%`_sjzsFdys7s1GcHD#>!J-PIleD<#Iv%r8{(RbT{o+?%j0H@Sn zHrE)2Bj0v8Kf8SFa%H>_55ClWm6bTN{M&!$lEz7evaLyQzQoxN2Zao2L2+WFOfq#b zsmAqRH4Bh~AyxW28p?yzn0bwc1sE>!KDKmGM+TTsA0VGJ9zY@bf=jhD>`1iIdRKW% zGKK*(GDHVpYRFkwuSFxeZ?Zz~q7gT5+LfY%iBbJ;~U5$4M70=n{tE?_ozG zRXRjt3m1(N8hfM3lw@BdC8-9>Tm*5&lzh_Xr^%F>#$Ii7fP5uw2{@fa!aFE5LT9y- zNdXZ{m_|cZ01E>w94Oau1wfLbUFDR7rqkzpXNf|MM$x3k`3V|>!KnB3Y}5%TUAQk0 zH_^!Lp*9ZGU|f)nMiY*piE>?Zx(?YzCtXX6L3U)$FD4BkvwRF|{aqoI0W=MgKc$!M zD+wJqNt!!puVe2OWn>ghEcRi*sIfu=b{IhqFIo-R*Rwz!TOdz&D$-&=piHnn+Zk#l zgGuGoP{74$c5>|00d5BaCN!SWJ(3!i7K za28BOaJq-0dnOn;X&?qp$E7KN6KOGQO-;?z-Vy0SCQyiuMxaONOoN01bGxW4g?u>N zK#GUrhSPv}f`r_uE<{B@CKlj^Lq`C#P-RRM165XtOiM&h2q5Vl2I2r@#xUDgAq_}M zWDi?MN`tUM)-vEhPer7^fPPJ^)Nm3RFd!?Emg$9du1QBA30Ms!i6pF!Q zECLu*LnnejG5Nx_1DW;)cp-sIG{}X3)53x=Odvi{-${`nCojO|NOPG;bTPAoIiN-< zhKLfPA`AcNZKII1e9@QzeF)CN+)0Ck$y6lZi+gdsi8{WbpbUR|TpDg(LqidaU67Cy zR03kD3+y_1Fp+IBz%OgSP=YX#2_OX{VwX9yfL4I7r-29T$igG=gd!a}su(0~ZV;KMp-oqc^YmGJJvGp~I_RmtH z`1t5#8Zj^)G@^mdAhQFD9KzEk3N)E)Jlt6atKfjJ!$xDZsA;t>%n4~hq23-T+w_5A zHmrtWjxCd=_IA_i{r|ailoZOeU`A#4HIsU4<&#)=yMToGdJlMyJWNZM?r2bn)s{=9 z^k~XSjZo(6DRitgmr)r2Ag31=JE+qGT85?V ze#eZOz5ZEnA~vhr zG_{5cp)fGmnyEk~kp@`E1@5^lw(HzA|8#AfgS>7jcYY#am?fViYtHhqQsiTiJuv2_ ziv(urxKt*ciAi86EP{GjPBXwBhMkWNa5_^Q&+P%wI0e9Hr&lz5u3i(LUeNeWHZnP9;M3QJ>=GWJFgf-O1=A_nge z1oASFR*E8}BN8&s2=!QgqPlslA{8uci_b?WdZ3dKC`|~o7Q-M~P}5)$H6V_bwJeW5 zC_N4nli^gDWUm9#Fw~(j={oJ2Obt;OI8{&vjsv+V4mqW&tDu3P~`bh)e{+jyMidNEiT@A&YH$jAV&}kc`qIp}dTNQFM3r6vRWH zu0c>N0NHlQf|-#Sk26GAA~-%K3BoQ0rlAXCVuncx&boj}6gnNr?j^E&umYUI!tVRR z{~WOfNqn6IFhN!vO-w?uW02@Usl;M}zcg`#F61J_7sa7dz?W5nG&({N1 zqZwI>$`D03;7MY)KeJt@mZ@Qf&I8&h*05xO1Zt;(t%p99DBdHVP?&*NR8uSV9|R=U z0Wv&10U6zi8G{7!FfS-01KHmT^uhewEj$4^kU+3SjzHM-du~Q_%pS&t~T-stf2SDuO&iLhazGcsQ7(B%sfM6(&ePdSVE1 zL_1Qk7dX=%52A_bXH4J`;!z$}Qb3}4S^@*C!v$j}iUm?NH5DN=+z42dI=Y3XTEi_7 zfPb!DPaKswoKM3lq9W{|y}W}hoJbjS07D<$i^prAWr$Qu7>|YzM-3{?f*TZ03RrXx z*TISY;+6&kYa&SEz#Dasw~U0nrWE zOmq~gKm(`pLOcx|MS;UP=5SP}oe`YHgPag9L!mp8B-l&?kz#uV9|}I59)++te?uzK z+N4E*NK!J$(T`;o2pFrtw1SrZ43e7as@Kj7CO37Nn0?YL^GMFwh2Z|x|1X~|ZFxF(+d198K90Ko0^X2v-Eci>U?RL3XiNYa$NKiL?|TPbr8G zS|A~ujKQ-fWnv2WHDDmT6dQ<<6ZTQiz+}cHB&o~7SPGFM(w;zElHto%Fmy7Lz^5<7 zUPx0I=ko;9ir9+W)M5`nh9`pJEYp)tC2`pOO`#tYqMQbT-(&()Ar5jEOao{KU~57k zy-E7Ed7VrUbP(hm*PRCMz~bwa3^>9%(i%{;9&n6XmoW%M`~d(EU|ys4#t-ZNTL=)-NfaIvEV``2}F%d^I|hGNf1SYI#ENqU=-EE2n=SX zam+IK>bs!}JY+ zi02oZgA}vGCR>$6i6{>d@Bqpknk2>2@6`Z13l|dj<>b`UGP-cI{9+7&+(`rCkv>{z z4qT*gvX>y8PmCy?P^gI#10;hdl9J5R=tXFfl3e1y;0!rjV1b+;7ob=o=jkKn>>hEr zfu$5&gE&a>LWlun0d8ffZa77{Fx46lPGkV}GiqTOQiW_EFuF&ala`Pk@tDQ}x3gJF zfJA>63uJfU0GL9=OJl%kg479N41`a(CXS;vQR^>7rWNCBF`UOvFkJ*SQ-p-I_A~?$ zd+D$wS?VBlqK1MnqL4el{{kH~Bf9~Ri@lJxJW&%64b4waBHE=gC{M8UI*KyggjQS_Wv3Dne^U z!C(n~;=K|G`QdK7v>hBe7y$Lpw2mpA$kWN})a0_{IhbhdzwlxS*+{|_V3R={9oxc8 zyp9?f+l>Ljh_rvKD9i|eAdy8z0+F%^r&3rZv$vn^G~olzOPCP$HL}1>^Q18ppd2U9 z)ZSzYGY_W2w3V)LPX|ZP*@KA&mFQs#3*a>AtP3<^ij(k=q+v#~NGgLRC!HS)ES#_h zFDb!U0`e?#4ub`Ri9&0A)cGOely>SA4(p3_#!Yz*u;f5Ksgx*kqS~~JAs$956H%8M zFQyBpTLHj>NJRqHUfLk4u%;M~&+{_iFl|c{jF6cubK)X&+CLLl0Kf<_gc#DCO5!}% z3q3(+V>|#u6pq^?a9UX*5aw9}w~`@YdkfH%?zCDj54mK`B7@QaJa?kfm(cB0K=N>* z4N-?AP`+TSQ|W*?6_%0O8#7;{gh?w-23iaF;qlyrNk4pEB}QQYGJv4MaXz{V({2+8 zO+^s1M#=|vT>j$(oaqUk;He=wL2$+SmXLwMfnr}|B5k_YACm?`j<6_&gZGm)rD3U) z=x*+mAtc?A32~6Ymx)L)3+w5YGt6N zf$_kT%AmUcM;rm83Cm21G?a_7LUQ3Q7GMZ1(Jdk6?&jUO;*EBIW$bSoZ5x}>oo7jW zrN6+umzMsV?hMn9l?Fpfm<8|RU2Jod3ml}8HAnR|o}b+?`CBlKa!_9Ld$#|LekRKlG_;fgP)eLZi^pUWpUZrP+3piuw4-nTVFlQgw%Y=`Ia z|51gJRhzz>Rcy?JfBVt#bL|G}$1GXS5?v6${y84>WTWSl z>~q-JWIE9cwW$`Bef{v{?<>cr9S(iwe-cw9niv(6w^{J(jNq^JuNjds(f0|T+xI6d z%g)E{`R-2qN`oarMP>M74zBYTuZ^rG+&=nf{}NFmyb?L0bzNnknM7JMy|VI+cBa1^ zm3-|C{usyu+_0HU%GqMU11Hm@aM{~Td-LcU){k?!Kq<*fmutsD~`}OwN zp^Dw`ouxm0+|8T!W;a5gVaP|DzFwaARVcgK8^>CWJqTI-a9f~INx}W&m~R+JIPaFa zWutLB$n58t0H~=n5Z8L`V{>?JJD_j>up5u)l~xBiySde8KVB$N$wzTOWK;HE3T!>4 z=}zs$NAtsk#9(Q&V~?Mu8(jY!E2IO$JlUAu&557O?@1NTH~q{#hC4iJ;}&r>c3pO^ zbhqZ1;McLt)LVDge&(Fb=1~h7^52cki1O3#Gal z`)uEvJK+B)^>oV05~Y%O90L2TuY zEiaurX>z2{0;sP1e1$z)2?JWFSxf7>%{-BF$ zcuF>R&Ev$l_`Uq?F~p`{smAWVuOr9oYH6Zy`GZ7#Uh?(i*U<9Z`neCeKS-pve+u6I zc$2Gxig>2;ts0i)|Ln&_;Rj!zNOKWEUf#diMMu&Cy*m^oMqk}NG=BqOv!ND#fd}x} z#+j^|ltkwiKoOsJ4`NBOc_F6ps(}u+x0gi&nQFpc|C~LP5ITl`bWz7}=S&_CV96)o zVu0mdJFhiYdHmBm+J;Eq1&+<3&TQzq*J!{%BfxLFRW~Q(ja4!9Sb_cQ(C=#J+r&FY zk7dD0AlZqEZLuZ?X|sZ1VNm4g!es9Il45m=BLe!X~_htD|0AYZ&TLp1rCWyNp=A4frIM>)Tv zt;CVMOy#}Q1RD(%HinjSqFb)1s2pPJzj!(3(f=b)<;CNp7V+Ibv^R63+(K+4JEM2vvoltKZIe(h0^R<0hMD2`((6Ds) zp`Y>X7f#RJK6+pDw}_P8_+*dDvR6d;X}^klTM;3hz+1G7Jbc+r;)YQ7&wH#QR<(*c5F~eC;DfTi>&6+Wc(%`M(aW=yte7+PF#MqKnr;$jNNr z3X<{a8cO<0$`z6|O;nRx;IyE0&Mhp)=%&{pJTEzvvwik~OTd`%$}X^bCA43(;7Mm` zV$71S;?3w6d~&>Nfc?~MH+7#&TYS)8ykDZkn!iUJ3cOhILH(_{KAsF)I&?BZyUQe% z$3AmjY>_V z?tO77Dkiv~zx;DAE&(7tmU|5?3388IVncXb>@xQNC@z?OC> z<);$jqwM8BkH_bHHM7Q?mFk&YjTe7BAAaeuMi)Kk+_7Afjl6ZF**T+JjcSqT(Tkc3 zUY|hf-)D0+MJk0DMnvE8Xd$ke@Gr6;>8trrL6rA#1^d*~XP`muPl|bE) z{w#RgIDcB(NQ!Fjl(n$Qui)_OW?PwQ?FSZG$=^P{Q@${A!c6?$zi#g4haZ}eyCVqm z|88bT6f`cWor;to%}B6{G9+&pN0ol6HRL~4kN7w}QOP43O32SzTRq&edpjpTG3R%sE@Il79;MOGa3D1a$Y_) z+B(`?FWR1iwKUe#&*$Q4$dMYc5IMUr@H0JNYxh-wqENWSY zUX`-xI?U&lS$J+bBL4ANXAF7XsN>m*Hz8rXxf$>e2`VwxN{0N*{WqqfNfD=j#LiRy z5MX_Qhc9c!)>BUPI?wrZzTmx+v}0Mn!d-0o|M0KeX^MTv(6cj^8yxKA^45d-zcwzj zrb1pG8Ts7~;7dLRa5DEPSLgR*S24ZTx18 zX|?u)pO&_E0Bsv`K11}OzU1!tGSz(X{_O2mR7`%Mq~f$e-hG(Nt6daybo#IAr03s-Kh@P|_QG55 zek|+!tQOXJNa*=y;@>Z^!)IoFCkl=tUa4_k*}b}bH`n8*q4NIe>dyUpv>SWbXUsQ3 zRAw7qz5WAxnH(N~*u5;>bS`e&`1{>)`<>=Lo?{wZ4d2QW@~fN457a}{nx?n^#*0*1 zsurc;?{@4bzZnSd2zo+}Z0nxvuRc`%{+h-w@{YpK$a@b~9ZT;@^!V}eHgH&?p-)x0(r*5UDWMaK zmpP=FGu?M}<-Oz6A)LyeK$U418vYrQ_HN{t3yL%MIT*Z9MsTS-_p#6jO;5%XSJuzO z40QYak$);?T`YDpV0_z>=epO=xiHaE8PeOp-?>q@({o0rn=i|?w#i~}S3EXeADqB< z<9sr-^HuNjH}{EM+T|=o7l)fhucf6OdzGcyB=mByz4gFEGSBE%E=YN-vs@D}DHQzxPCp4p!o$ra_a{@1dw6wu}I0(JA| z7`$LnYCT1C`4Pz5NH9^y;zjnZIdM(MB(25A16n>A0@07t$pR(3{OGWZ7e}c4SND3h zU4D|JZE`+Su&hKpf&89N`tz$RHNiJe*@g_h^Dv@rhi|EzR6cuY!tSAK+}>h%Eu}GN z@9_B3)gKbImj$|Sm`Dyi_U}Cu8RVQ7J!PFMx?}wMfC|x1i3^RXu;aWHqqGF$%a3a( zXR8pbyz+kiCfFah&p#frCwZSO5hYN!&Kz#U;y?GFTZ}H!b7dUs7+f)GlYKvY?fT$^ zzArv+eYg0@`liP~_qqxL-mnp-U4*XIigWZnd+chne&|WvS=U>~I+H<4kW&=w4gcAp zdPcubyL63IYqBYmH2a1AHU7Pj*c?| zdiNcb9dP4yIdLy@7-LsXUVm8F|Bi9Cq{|Fa>n|bptsYTv=b0wA@BZcow8uHBug;C@VY!trZ@EU=z8%6e>A-u9_6U~u`x5^A(5dbF6^LHvrVW#alTDAiec~3ca}$$)IpmxY$~Wb6 zm&s1EZg@*OM|P6tYW2&sJTP`Nu~XG?>+Q=>E(pr!7DwNdc5luc9X8TbV9=2T57kz7 zrKkE1#Wl~J2xA<#E1J{-2Z{%p2=;l{Zt)vzZXa!ZY%n!@??mh5N1gdq_r7wUl(Nj5 zO5Wq!%X7F@Z@=eBr6Zqa+RmP2pzGO63q4nho_>8Jy+MAK)k)o~PzY2FyYm-hsLJlE zGrtKxkG&|`IbAHP*t+!!XK<~9?_GL>U5mME*spZG2OIKYE9JW%5zvXw7dH>^JKEdB z$8R2UT{6Go2@id|>17za%y=|Z%_^(<`G>7(HP;1+Aj`u1G;O>)(`k%B-EYNct7Kg)+jaj^_yPZSV zw6N7|?rTne)^wmtbnsSrZlpBrogcqC=k5`95BE4!(=zUvcaKuy$-eR;h5r;5kseak zCDq5pzWYlL9$9mE-Mt<~d+$~2l_K&s7@%#{_}4P#!_x~N2fjcEA*tC*#~Ow(3$`Ke z-Z*X5)drE3AGzB6JorUqFkC%W&P}#`&2K*Pa%Npg>z4FvS?q=H9>pt_H$)R$K;QSu z_p=qNeA(P%9Wr`!?QiAf(lRo)i1(D|D*kqI4lMhpRCIQKU})}7vIudUdZ_ zDUnTX&&HL7JiE~_{d#V0hBjp35Bx;c7}&!3Ns6nrZ2rS_=RgXb-pZ{1aW?}mTqTJzR}`3BO(hgP4Te42eC z*sIN+C$FOEcE|J?jJf)Q6b45DzZp<7^6atJ$Z*I51HVNZ(>99O<|kL8JP5(C+@!ZP6=IQl~DA3`z*x8z^Y(j=X~0tQC^DS^H(~>My+-X-w&uh;>nxCI!(Y zG<+{KvG0TU<>bl(6-NBI7trJE=cXA(mffi%SDfKkOa`_dM0YPc>JFz9(@7?IWwVqwmpcn%{O*-`UXog?a*ZsSJr2H7fG;$5d~9;L z>m^m8y-vi@hb(s_=>3mNin_kuZ!ZE@T6MgiJvwVa{~O-=G0@$q^iy=9^^x-~c2Qj} zFI|r(J@}Dgu6V3MMpb_*6E#}Ucwd_5@AZX^L)R`!<(!3vm7%?S5H`?uRF!|R6uqC^ zI)xYO_W5ko3{ZFMl5eohc>3i@@ik^ne%~kM6Elww>eq%;$eG)%pHkw-g{6UPTX49H~wB=ta8_-S@&lX$FsoYefjU9*eCA(WCei`w8H)S?_J6>n4^^)f+MTqe^?3YV3Utc$#PyRTqVq#o!dG(Xm3BS_6Gd8LX zk9I7Q$v<&7@ln_mv#f98v<<6~?)mAPy2~q&V*?vC+72(Yh5JUaC&O)oNO)`Bc&e09 z_DB_Hy#kZ&HgL#g^5z%wWk{3$-1Aw2%1D?#mE4PUhu>z6usyCV`UpWJn% z-LCFPyL~Zv?=KkBAR|^9Ex1>|=8SX+p|Wyt54w)v!&Ej{dmSw*?`CelpV0{Y65ASk zr*wa@)js{zeb~BGL3Q1&`zqeL4x^`EIow~_(0u@qOsPtuudGa%eNX&Y0y(|%c`vX0 zCF?<2jB)+;<4c8#XTP4gD+wK*s)ZLdx*11J`Lwxyczk-;Sh`O&K7bas57cTZzk2tg z)0pF7#f+&PeFy$tXysV6Lrtz{;FpX0B|HaS9U8KiqI7%CEqzy=mJ;urgUW#{4{Wk# z&$cdAUz(LZf;&58S2_P^+7j?PNb=?%z6XKY;XivSmP#(C?(tN=)u4L|cH$sa523wQ zck++<>54kX1?mC5#CQus>)8wrOZv$Mu}UqYbh@DFir#c*`1AsQw%Ac4d0^~3RW$Xf z0^B6jOaIz7-VN*n@I(3ukac7~^2vX@5brB?$tikJ)kfkh{!O*D4E>HNJ0Ur&Z7OH^ zO`3`q_@;=fYg53jN0)7H@%q20AJrdV#lCz!aOla!joVV;Hiz`e6bdI2>8*ZFA<$*d zlz_y$K3wEG(C)hpb^qhm-&l8_UJS_9WR%@4MVYNT^X|Yo_zmSHH4*rnxqKCsRILSGr*Yl6jP+f(U=n z^~~e2JHdIuJp%G-Mh2cll{?&Ge1xAD>?smk{Y#701FdAm8oPe)#C*wb-7 zV`n})(?GCues%9q_2VurYrDJ=pE|d7?71rs>?_BatpHdnEBmsH!pX7c!U5XUBiApy ze&}AWd@lulJZ{(Zhtl|I2tDOo!PDvTgfp{wM_p~bKLHUb9E}ULTX!{!EL;<6dpm35J9dsczdNlE#5T!WcM~}?#*_)W#gHJDpO4sB_ z)Otl%h`<&81aJ^aGlZcxE@nE^EY3YK8kj+d-k*D9Uz&f>*3x?EK z`c5aqa<1Dx>>6^vjV?QQvfnJ$F_@$f=Mq!Zd+xrhY1`-fIxj!!G=7Hs>;vpae;4YE zw$>)g&aPZ5R8!2D_+%1UYjq)aJGkn`Dj7KcKUVaxfkH9o6n>I69@TGMYijJs{aKa8Q|t{>LF-)B&s00yuORpQ&-!4 z1hMGg7Gia5FD?o@Xv#FTtSH!C5fFvphqak67Vp-(QN9Y7f(wNx5Z{x3IKheXT67BA zISbZmTuii#M#*PS3X3SNoi*-#1@0j(zd#^<`AYRdTqcg{=_OU=f0nkm82esLMOGP+ zV!{E);Ec6pxF7||+SKD(5;mo0XtX9_P_$idvPyQjX^aI=c3MqewGFm+kN4VwRpWM; ze(F&cdU2Sh0%4E$87x-GUd`DvTuK1hSgrF{fT!oZr3a+a0;TV$?|Xfrow?K8(FgA)EZkTa4GU%#ctJm-rS0i%CNyRyk zUk1MgvX}2OFgrNSJ9am`e+nwTEzD+y@z-^-RXAE5FsCN^$SBu(T##VI^6b55_{v<# zGLa&toUOD~HgqA4nywqBa&Q8zhCWn9Q(4*l{RY#zG?0USR>v!?6(>nM%~deSwQS-A z%c}1C3~euiu$ZI>XONE?QISRVK^%rOtwV^noFWPdeM7P9m+qP>sEccYRX~H6Cth@0Kd)IQ%NyJG z^q#;}K|2Iz$#&ivUOdqk<`h9+tuG)*msNzAJd5?IeW09#QeB2E_;s-n%AxHui;Xz2 zt{Kq^h;@u>EX9tiu?qmdN5Vpv`uXw{t)p>vhHrrjOFlNEAs@ID&pzQhQP+PE#2ECs zUZN4tn-NO~>upEidicy=lZuHgXyO@rIMQl3=O)EVqN3U@br&TbC~L!Nv0FPYWZ-AE zvbm8@LdY-bE%XC3359yGvgbP>6cwA*uzgW{?;2Q_@EbOpHqf_r5KH$x%`hZ8A*|JkQXx`4L*W=idc6@39kgOiOBg+|6Qc zFsHzd6AbWk(^g=7#c#)R&2iiYSckdq9_@vx5n(q3YN~Cm=xJ?o|miQ-y+49*%IKH z0q#vHBEAB;1>KoVVwsXvYb;YiG{7q=p8;a14^6ElK~`M6ph~sHuY6N=Oly$+MPgX@ zJJS#Y7^_wy8Jw+)?#eBzBW$eWtyVqS1azZD_mJ=j2cUif7*XkvhD;7{`zW5nl7s%i zOZCxjj{xAee-wu7l>qk;bAz@H^~U(k>$TLMFR0$t9on8dSxc^YEC{6-;{T|pu&uF* zondLYqWH_PrXCkFagH;YU63g7UB>r7Mndp6^SIfDui{=Cm0*Ivd%>mTsU}MqWL5ap zztjrzK9didR%zW#_>m^H0lMK?=c- z)P?V$R*`_SmM-L{#bQ>4s5qL!98TAjk+lH}?FouZsUz$)N{@(`z0{x@g9fiDn;Cc1CWnLWP4Fzw@5UAl(Dg7h z)G4btGv5QAW`Z(d7Eo&pn79o6i^&Z!4~}r31jZdur;E*SE<$yawU34YXpF}+OAFqU zWAOxGgFu4*_h#%aND(9Cin;CDo=`@autO-{O-DQj)?IVsq7;G9(zOk#iyDhTQuLU1 zJmK)t)L-=up+M^xX2d>ApT?ug^D#6#5QI)xSRLbs05M`L1g8Xv2^k=(4NWe6!JTq2 z0dbq^dh!zC^2t(wJ|Bm{AAJ7*$h%qD{{k$BpcUk1uCX^tCV}WODUW{chp7N`{EKm4 znxmGg%AdrH?1EZ`ZWy7$sq&Y--3BxijSpRXkqWSTfptBDJ+O^x6UYzCehb4Mhzfr7 zKH}5A2jXDhy?jyDSW~qhY?>j|Njt;>UYR*XN_w4+=MKoc?~vUV<1;HNU2rD3EH(gvX#gtr&9O+3RgTFB$#q^NkgJ? z0*XVH2WfWL!Y5IR;GqqH>&cw!1Vd1W(i3I`OFK*>g+dsLBC!aA$&fhVF<4DKcIjR& zdEIVqNoRG~2B0ueG}i7eNseoQR!Z8$jKV@j0U0C^kdY$p&fa%6lg{Y~LynhqH!jFR z5P~pQGBX(DgA9))!sa65jEqJZ0uyOkkaJM2ay(+SA}*-G#UyMgNL7q3B9UZ?2{ILe zh*(4`6~r8f$&AO7b`x^A*#t)?s6X6=gpk`2TQa2!2|~<`Owq`y8cZXQayv5Rl4KpZGN#EXEajAuQOKzo($V7t zN~0WH#!fcNIdIifDcidSCDJjtBjRtH z-46GXk0TEfF*Ep)JZ8e8i=LCC?G14B?6(B>&w6N7JV^7fryY2El@1P88@Dd_;?&=8 zI{QlL-#_*~J$t90DEN_l_3!>)!~9}>dG+}IXY&WXeoFv-ubKp}$cmNwtjZeb9@#_K z5E4^L(ON!=hk9Fh}tfWjz0_ z_dgj^*;N#S9{D&a;y=fMIN%4wz#i&R4tWw^80W}Fgru4WrirEe@6My%z1d$M-~B^T zK)x`EPlj@duA~PeUTHvz698`2{q%iM&>_4-F#ZTYe!?%0gnKqe+yUoEd|mk%fW!g3 zbE)2<8_2-?bw6T4Dw;2gMZewMHQjSlKHbcb_ z^}u{pVD%4`!{CB;2$CQQD-SY3*hGiUd&}g0XnLJ)EBHsC^2!Imy0T0~4FGL)2K7b` zu>jbSkZ^B7?Z>TM^Z-;X*O}dcHV(A{Af_<7_``{5sqcYf#YWBKN!TLvW*34p*m~8ZW+5p;=^T@S!`LErkc44( z93Rf{yU@x*(#lkephJ#7VA(=(Ma_dNASDvtZ?-m z+3F4cm|rpnw}F1vI>b>8t-l6)0Yjk!ex2W81L!e=qJ=1QZ}}oP4fm7lK5TXof~3Td z3}Xg$?ikoX?Obee9_~_+#563Uz68z0-%5lHA)T1FoI7}mra%3P6o*uLi0*da4^o;j zLBda{aIS9D}jVl|jq)48KMPB#MK&o*2K5`eN2=dQFl298 z>P0pnCHE%5o7QnX(Tb%o0Z8O<#e4jFB2Tyv4xxkX{5;OOg~UYOK|)l_wz`H#+4qq8 zAQNB;RJUlE_=&Fy(3DLyg?OKz)<;XnH7F287om z8eK3g(008%10rtoc(Qcs&`31INW6@GD&2gLJ7?f(j1?o;`HB`^8;qspBS{c;M5{$dTLf4qP3Ya{n| z6XB-*`DQa4R{n=i_8~$2&)aOt;x`bUe_u`R>HpO}-u}l@sUP?>|3&X*AJ{3c%zC7X zot$yefi^s!9=^4gpBZ4>3Z*SWU`c?=H)hkR@ZN1VbkSQ!ye+3>w2l*D#~cq7obl9EiUeVX$jV1dUBKBVCN+ zWP&N3&2%^x#>tu(VGf0gP$A*T(PNa%1SazU-Qv@iB9lc9)JvNPRHZ`CRz$%{n}vxl zj7CmoS-`V_2P&aQ2nK8i2SW%FB8MuHv8iO~#xNnzzJV8AMY7mD!9CUsM8;5$Y!K(q zV7E_LaH@d|gi0v~)r7WOZ$Y%vED)4t=4q5*hC!og&}*&)!;^#I*J`YqJK}^t9=TFc zbnuzDD#y;89gJFz#cBAJ1SI)J8(c>C!ufNPu~KXLqFidBv0?ar%UA|hv%ee#QtK_)|C&{}~TL_cOVmd5-@pFT%DHVYKGLh4o7CJb^q z*TuKVzlp(i61E^s@%q!7WUwQE~D`j-g}3&Jdms7`7O(lXI&yGN3SXLftIZhV8h< z=ruexE94KMC}uD_w1cCn5Y}5bUJOWgm4)w92fAEg5ALuC2NE7oghJ-ll*?naFBZ;m z5Aunc*6~~Wu+FdC;RPL>C~&-q)8+``&f>}ihn(_PFCa8r--LXri{INOpnj&xPudI{ zPDbAs4evn#@C?T4jFD53G+^5P4&+&Ih~^ zL%QYC8Uwuw+CHG=gggvi4xvVt2o}}Gj3}l(p2Vs_`{|W15fD5P{@7+eySrpPzoZF= zAy^^%pR%VC^kN%6EEB5+hC~nzZfK|1-SVAdunh1%E}K z_rKpxKSw~xpFjKrO#8U8Od22Dx<4p>Q}+q`(fCvGAM+CTmH&1&OKhKiq(+mR%~x_y z8v58inStID0w7xjE9uu43`a*Rq*|gOWi(5txD|M=(i} zFhp}CQZmvdRIrX&7Sdwd2$Dr)Ai*Ln7>XzenCA(Zq9w_Z6GS7G%+`$A2ONmkFJx`! zo#kIXb?)a;BE6gNf^p{uI5PYmcao2<&}g#u(z3o|=br z0(8x zWBw9E-o;3keb|hhKq0Rr4E~vrYl%HVclP!WplV#VfD-iphVUE)xZeF=LrXwBvtbO| zs5*fHP17Hu0Cg2n2t4nF#hIASbW*aq@mi z>9c@`ST6j6ifW|`3MTjl0qsrw)~ewtTv(SRQ+|O8I~`y&p;8!&*@#H5pHCa?@a|ew z(GZ^uMMX2J8`KC?-kfo17DEDtz{rW#_Q=vu@1nw(kZ8pkXo>@wRo=2I$5AB!>lhUK zf4=S&F>)xTqM>Oy1yKiZRA5jMfdnN~MT8XR(O?wq_=!(IKm`p$l4P5ppsv7=O-H)0 zQ9FL5DO8deK@NQh1@`~D=3Xb<`Qys)yv+O$bML-i!NK@)&;E2caO3`UpTmEj%4&p8 zh!xCSTvfzIOo*ZR83z=@P~S{ZQ!8C!porEaRU11{_w3!L|J?L<-=!hi zZ82dCKm|QiL_%&vK=dj|ih6Dt02M^IK?l%`sE4s$$_Ocm2dR{j`dNeo-7G36WQ)|` z1s_==1NHmhdq}I~#v}@JA_Lk;0Qz)7MNtm#=HL`j?Yr(TWCbBhNn|6ksy&4W5g$CL zb;T*{8bC*@P=E#f&iFk(FyIv9K`CYtQ+OmQC#F?5qhLTCdVe zK)?W-wMalt56kTRjlGD5oIybn;sONDB8IqE2>l}aO41{ z?gay>QP%?qsBXqZ1Ny(Y><~DCQw0D}>}Nqz@ZgXra^A&LsB6S&Zz9=wH6dnJfjtY;I4)R3o+A4}f@b59Fqfw3$XwI diff --git a/vignettes/.gitignore b/vignettes/.gitignore index 2c6ab8d7f..3f91eff67 100644 --- a/vignettes/.gitignore +++ b/vignettes/.gitignore @@ -1,3 +1,2 @@ *.html -*.R *_cache/ diff --git a/inst/extdata/all_states_covidcast_signals.rds b/vignettes/articles/all_states_covidcast_signals.rds similarity index 100% rename from inst/extdata/all_states_covidcast_signals.rds rename to vignettes/articles/all_states_covidcast_signals.rds diff --git a/vignettes/articles/sliding.Rmd b/vignettes/articles/sliding.Rmd index a0b3312bc..eaaa95d38 100644 --- a/vignettes/articles/sliding.Rmd +++ b/vignettes/articles/sliding.Rmd @@ -61,10 +61,7 @@ versions for the less up-to-date input archive. ```{r grab-epi-data} theme_set(theme_bw()) -y <- readRDS(system.file( - "extdata", "all_states_covidcast_signals.rds", - package = "epipredict", mustWork = TRUE -)) +y <- readRDS("all_states_covidcast_signals.rds") y <- purrr::map(y, ~ select(.x, geo_value, time_value, version = issue, value)) diff --git a/vignettes/gemploy.rds b/vignettes/gemploy.rds new file mode 100644 index 0000000000000000000000000000000000000000..b5249036756566bde5953d2c4b2d1bb2efc36c41 GIT binary patch literal 10581 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 F`+xS6<6r;) literal 0 HcmV?d00001 diff --git a/vignettes/panel-data-gemploy.R b/vignettes/panel-data-gemploy.R new file mode 100644 index 000000000..644f8c79a --- /dev/null +++ b/vignettes/panel-data-gemploy.R @@ -0,0 +1,65 @@ +library(cansim) +library(dplyr) +library(tidyr) + +# Get statcan data using get_cansim, which returns a tibble +gemploy <- get_cansim("37-10-0115-01") + +gemploy <- gemploy %>% + # Drop some columns and rename the ones we keep + select(c( + "REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", + "Field of study", "Gender", "Age group", "Status of student in Canada", + "Characteristics after graduation", "Graduate statistics" + )) %>% + rename( + "geo_value" = "GEO", + "time_value" = "REF_DATE", + "value" = "VALUE", + "status" = "STATUS", + "edu_qual" = "Educational qualification", + "fos" = "Field of study", + "gender" = "Gender", + "age_group" = "Age group", + "student_status" = "Status of student in Canada", + "grad_charac" = "Characteristics after graduation", + "grad_stat" = "Graduate statistics" + ) %>% + # The original `VALUE` column contain the statistic indicated by + # `Graduate statistics` in the original data. Below we pivot the data + # wider so that each unique statistic can have its own column. + mutate( + # Recode for easier pivoting + grad_stat = recode_factor( + grad_stat, + `Number of graduates` = "num_graduates", + `Median employment income two years after graduation` = "med_income_2y", + `Median employment income five years after graduation` = "med_income_5y" + ), + # They are originally strings but want ints for conversion to epi_df later + time_value = as.integer(time_value) + ) %>% + pivot_wider(names_from = grad_stat, values_from = value) %>% + filter( + # Drop aggregates for some columns + geo_value != "Canada" & + age_group != "15 to 64 years" & + edu_qual != "Total, educational qualification" & + # Keep aggregates for keys we don't want to keep + fos == "Total, field of study" & + gender == "Total, gender" & + student_status == "Canadian and international students" & + # Since we're looking at 2y and 5y employment income, the only + # characteristics remaining are: + # - Graduates reporting employment income + # - Graduates reporting wages, salaries, and commissions only + # For simplicity, keep the first one only + grad_charac == "Graduates reporting employment income" & + # Only keep "good" data + is.na(status) & + # Drop NA value rows + !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y) + ) %>% + select(-c(status, gender, student_status, grad_charac, fos)) + +saveRDS(gemploy, "vignettes/gemploy.rds") diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 39321ae4c..54fc488b7 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -77,94 +77,22 @@ modifications to get a subset of the full dataset: * Choose a subset of covariates and aggregate across the remaining ones. The chosen covariates are age group, and educational qualification. -Below is the query for obtaining the full data and code for subsetting it as we -just described: - -```{r employ-query, eval=F} -library(cansim) - -# Get statcan data using get_cansim, which returns a tibble -statcan_grad_employ <- get_cansim("37-10-0115-01") - -gemploy <- statcan_grad_employ %>% - # Drop some columns and rename the ones we keep - select(c( - "REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", - "Field of study", "Gender", "Age group", "Status of student in Canada", - "Characteristics after graduation", "Graduate statistics" - )) %>% - rename( - "geo_value" = "GEO", - "time_value" = "REF_DATE", - "value" = "VALUE", - "status" = "STATUS", - "edu_qual" = "Educational qualification", - "fos" = "Field of study", - "gender" = "Gender", - "age_group" = "Age group", - "student_status" = "Status of student in Canada", - "grad_charac" = "Characteristics after graduation", - "grad_stat" = "Graduate statistics" - ) %>% - # The original `VALUE` column contain the statistic indicated by - # `Graduate statistics` in the original data. Below we pivot the data - # wider so that each unique statistic can have its own column. - mutate( - # Recode for easier pivoting - grad_stat = recode_factor( - grad_stat, - `Number of graduates` = "num_graduates", - `Median employment income two years after graduation` = "med_income_2y", - `Median employment income five years after graduation` = "med_income_5y" - ), - # They are originally strings but want ints for conversion to epi_df later - time_value = as.integer(time_value) - ) %>% - pivot_wider(names_from = grad_stat, values_from = value) %>% - filter( - # Drop aggregates for some columns - geo_value != "Canada" & - age_group != "15 to 64 years" & - edu_qual != "Total, educational qualification" & - # Keep aggregates for keys we don't want to keep - fos == "Total, field of study" & - gender == "Total, gender" & - student_status == "Canadian and international students" & - # Since we're looking at 2y and 5y employment income, the only - # characteristics remaining are: - # - Graduates reporting employment income - # - Graduates reporting wages, salaries, and commissions only - # For simplicity, keep the first one only - grad_charac == "Graduates reporting employment income" & - # Only keep "good" data - is.na(status) & - # Drop NA value rows - !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y) - ) %>% - select(-c(status, gender, student_status, grad_charac, fos)) -``` +Code to obtain the full data and subset it as we +just described is available in `vignettes/panel-data-gemploy.R`. To use this data with `epipredict`, we need to convert it into `epi_df` format -using [`as_epi_df`]( - https://cmu-delphi.github.io/epiprocess/reference/as_epi_df.html) +using `epiprocess::as_epi_df()` with additional keys. In our case, the additional keys are `age_group`, and `edu_qual`. Note that in the above modifications, we encoded `time_value` as type `integer`. This lets us set `time_type = "year"`, and ensures that lag and ahead modifications later on are using the correct time units. See the -[`epi_df` documentation]( - https://cmu-delphi.github.io/epiprocess/reference/epi_df.html#time-types) for -a list of all the `type_type`s available. +`epiprocess::epi_df` for +a list of all the `time_type`s available. ```{r convert-to-epidf, eval=F} +gemploy <- readRDS("gemploy.rds") grad_employ_subset <- gemploy %>% - tsibble::as_tsibble( - index = time_value, - key = c(geo_value, age_group, edu_qual) - ) %>% - as_epi_df( - geo_type = "custom", time_type = "year", - additional_metadata = c(other_keys = list("age_group", "edu_qual")) - ) + as_epi_df(additional_metadata = c(other_keys = list("age_group", "edu_qual"))) ``` ```{r data-dim, include=F} From 12745fb9b0b553817249e3863ff2792e169e5c77 Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Tue, 9 Apr 2024 15:12:07 -0700 Subject: [PATCH 42/49] export grad_employ_subset, redocument --- data-raw/grad_employ_subset.R | 8 +++----- data/grad_employ_subset.rda | Bin 0 -> 8491 bytes vignettes/gemploy.rds | Bin 10581 -> 0 bytes 3 files changed, 3 insertions(+), 5 deletions(-) create mode 100644 data/grad_employ_subset.rda delete mode 100644 vignettes/gemploy.rds diff --git a/data-raw/grad_employ_subset.R b/data-raw/grad_employ_subset.R index 4a0218ae7..a09dfff06 100644 --- a/data-raw/grad_employ_subset.R +++ b/data-raw/grad_employ_subset.R @@ -95,10 +95,8 @@ nrow(gemploy) ncol(gemploy) grad_employ_subset <- gemploy %>% - tsibble::as_tsibble( - index = time_value, - key = c(geo_value, age_group, edu_qual)) %>% as_epi_df( - geo_type = "custom", time_type = "year", as_of = "2022-07-19", - additional_metadata = list(other_keys = c("age_group", "edu_qual"))) + as_of = "2022-07-19", + additional_metadata = list(other_keys = c("age_group", "edu_qual")) + ) usethis::use_data(grad_employ_subset, overwrite = TRUE) diff --git a/data/grad_employ_subset.rda b/data/grad_employ_subset.rda new file mode 100644 index 0000000000000000000000000000000000000000..3d74741cbd65cfcd114a7a224baa610478ee49e0 GIT binary patch literal 8491 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 literal 0 HcmV?d00001 diff --git a/vignettes/gemploy.rds b/vignettes/gemploy.rds deleted file mode 100644 index b5249036756566bde5953d2c4b2d1bb2efc36c41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10581 zcmX|{dpr}4_x~%EN?9dTE~_L;Q6$&dyS$OS<6V++TczGAWiGjFb`iQc+~*QYxfC&mhK0Zx}YNwNL+nAPd7%r?5RT|XF)td#zWMzaD`~G!Qsf(oIRKS33S*7J} zv!iHi(26km{B`#`lAq_ZgE*q+=exRc`d-6^Hs#bHCK~GoOpoLAvV2^p-eRr1Fwd{N zxboS|wzQ>gDYwa3vWAe|en8vw3dgx&5ZN2i<8Umm?x;E_w*{Lg^R;87&4FJ1Y#cQ9 zx>Hj(pUTV=mGhP*Yb~6*_~;&E$Ptdi#i#%2Kf2E|AG!UhZ`arnH}lwfx7y}FW-in6 zY@fru|1liCkU335-=}fBYwmT71{u^tnYmEUdwjbM;r8 ze|B5~%-8BS12C_ZmiOA(+%5*@7HRqa1yBA@@cf8ko)GgfQeltP|F8G!3nS&VDZu9j z=0t27eQ!YxMd4gh0umO!rk_@Q4~c#4T`J&D5n9JDP3HIV9y2=t(de`(p- zGemy)l$(G5Pdb=*dbvB}sXKz(ETl2|?CoR4i z3=OS(*vnoU?3j2ysi4{p-VKR#yA$VkcLE-JJkn9;dhwPYh8Y0>s+t3QEmGTvof-i3 z0$@@cy`KEVIfiQ~t#Q<`LpfMFUfO%>^_|$$$WJFoRyor6L(!sZ-FwYVX3HCLgxp+i z&Rj%g)S4`e290mFmoE26Z|8_&w}nvhuH88eqx(n^uOCUzb6~17-M!W@Ala*w6zX4t zJZ~C17hhQe%Hd)n^7-Zd3x?Y!E?Q&-?LSfVg@FE}Y7_H?uj>Ub(^MT_ZI@#nef@{t zZlaf`=f4QJc57@Ywr^j~wbT0@N?uv|ohCk54Z3$0R(S(eDQ~~)k_@`KFC#zyd4AxP zzxQPMjPoynki5Oc=H@RUeyFVnd(rzk^0fJV!Ou6jRNsxLtE@SExo;=)%3wzKw)F0k z>(QxJ|6qNuWZ!wxHkxrO$HVnnx)+E2cU!dGt(fERTRzu&-ws`Kai4GB74%39yVLc% z7fQQ)lCq2*#X&zfhs&K?3WqW_?;9nRCW#JdYtOqF`wQ(+{eOBD=^fo)6!_+t&g9pU z$`*F#!*IdOGHCZ4*Lh;usR)lL($31iI_Pjp=Y&CvZ@|ustNGhkB8S>9T@^pG`19DY z(rSQjX6wRVu@>Ub@l*GK%BA4HHdqV|Xr*{EMlZ*7zMOY?K3{$QsKG}#N7iCEHPNJp zkj1CGDE~gG;b=7a3lLMDs`DJH?RLv(>opV*hoFWoe+3;#C1!@sZTBb-;+pmVqEO7B(qX3Wgh+HF42 zMWN_Ou5cvwP^^FK_U~!;T;3*``2Ewq52In^-x;#1I+L7u6o1s=Jas(QO@no6z-c@?&oWwuu7K7v*)ve@z{hPA9tNO=@Ujz3+WEFh;_Xh`+~#G zo#4K9_!e?#P?)7Uyw{)fB8A$lW~3n_17~O&VQ!x*j9JdmA|hCh4+DVj%T{w(rz2Y#8&|U zYX!TLq2rm46n671BVmLJtbWF^JJIo4*GO8NOxz*Tj;3V)R(V)>=KH~?1KqkL$! zE3r!;n+jyttSbjOY03+~9v$uk5fT*0Ab!*RS<#v1f9TVpy~j#bzd%e5AFAcb(Z!FA z>?hri2{-H?wDfBlHkBdCE43@t8%l@5p8*$yjL^qYpOmCoN#sU+WeOPomSWlGbbzVx zNMQgC_{IO$<@y7w`l5tX$SNIZim>bziyb^>KbW7$@qa`TpDZ=Lulo2)fefsj@&Z2; zahdZv+5*8|wr)+l-!SMBxX1maQeqY>z zi`f4(*cRMIWJ5_Ig>Myj*9oWJglK_l5*AE8OgY%#J>#?^H& zdGVPq;uJ%W00@y~7P1-7bdtV=y>`nng8+Y8(M?$#*2Oh0^D7af>RG6bY3=Z3N!%#+ z1SKyHKw3C=CMogHhx~mre{wF9FbdnT(%AH=7VMD8a@#7YY(MFOsM?EdwMVkbY+l*S zB{C7RMDi~fTV3!&E7M$MQMynI9Nx@KF}zvqE8Ker2Ltj&^I=WwBqH=BP^u04bLAyq zR(Y3vY3_E;J0cx{x~m?0as`NX z09G%2(w@4IRhv~~Ua2k%XIZ=YULZPEveb3-T*$DghFS8IV7VGhXA-R7dEI>BI_Vae zSY+2GI!UHj#8#+I6abl6$!q)%o58KK)nN;lfWC*Iy7zwulbFwJesw7Ei-F(hV<}2l zFnWmI@bl&#m~eSNElRTyO%XgtYhJ^%PSagBwJ{L^PlA&1z$Mt+Ei=-4?lp_iF6!A# z760<39}_Bsv3SbuvMc&OR+WJD*p>6%Iz7M$NQd0tBXJ?O-it+bnl>`a{WHzAoz8k8 zp`NR-DNM@;<-+rVlQ@NCov+wVY<2Jrhm_5n_C03HZY znG;X@m4~k7NfLc+DP)5XN0YJFzLnduV+mt)YEGrba;4hZcGOS^Y?4MH$IHr9ngY5c)G6>x>Q%fDtpgQsr?t9qMK{ zi9IIIr!<^veJI)q*aeD zssLKHPc^0Odfj3a$DbvZexoyHFZFs4$g&c_#b0E=t?CjvpR$P_KjD@r8fxgVgX@68 zu>@!ikbD`%`P$_=lp+3Bq}P2DRcXU74|EtlD4))0i-C|iQ)WFFBDL6K|E7kimcE6N zO|DS(DL-S>mv5`RG6c9!Omz9-`6MP%k^~%`#OUIdCq=UX3l~K}!eG@G6SArcCFW+P{8Go4fyY_^s_j47 zv-+z^8BBBQrCC?gh%JL4MAk3rIUpqTQF3tycuwIJ5GEL^NaSA^R+l{P085er>B@>} zBzr4sKsIC~N_|bcIt6{Sc%^jg^Qpe3ZcWSIrX`C8EI+wMl5gc*Vr#)Ay+T*?l^erg z>h!6#UIaohDr2}Ij<8|4Km8+IrO|4#RZ{e-_vCY)^07ujKH1wKB;k(+T zB7mw0ta^6|9QNT0E0+4#Kx{-fxu+{@so_t!3VYvVYCVd}J!AU?5=+;VqIxo9dh$T7ZAI-3WJ5`W{La*C{2iyr%N^xlnt4ljT0F0w&6c(I3bEa zeukSJ+FQc%$Qx+IEFlxwd2>ic#tFHGjp`)kEGWG48}ojM0TQ_)2M!cQ(O`_9H}FV1 z_&HSTw#AqGtJF|)+ZKONPm|F>O3N-&>0Vd}vd63jrEHS*UM`(pg4_pjyyY9>H#-UV zFKMQzs1VH14%IC|uV|BGS}_-!I#%ko7eJz+q_%I*N?xVZ8%|6B*486?r7ERk)MJfQBqNXpOst)<*3ZN3W@&-p zJ_zYiN*X_lW)*S2Iao-lzLXm?m_?&1c-Y?G6Y7@IBEVd#Fm7hnm1}`Ow!srrjjG@Q zUC`X@Bi_br08Wi@ciKo`08bJA(wDL3SrKzHZ#_%DUmATblsqQn0N6m4F+81Rw^$mM)X}%yo_MMsD{sTWBH7pFdj*Uzxtcm*`DhldFh~c|TrE6a74${e= z4R``Z@0M+mqGD*wvxcd~XQN7g{V0hFjL#Q0j<47hm2lN7L3X|fWcz~Oa@1t7D{IG% z6c%KZZ?pfR%1=(FiCHh49!Osd4H7FLS(8wAIIUh!^|B)~Mt+_DohofWdnugmiTu4j z$|fmVq^Y~UkA*DIc(F%ODU*DV{5+%*-E+6&G`C!F*Di>4bDLFwS<6sl=4iy@dXsF8 z9n9u%JZ4yP=pMxM1GD)w$fL>W&^2>{wW|9P+1Joy-RFPF5+fQ^q!bWkH zM;?c+m5NSsiJu;8_Ih`i{OK{Q+(+VEnze|k9Ae))6EwcvrO_v*f<&=z^&JEIs!#RX zo74p%zdbA>Xgq>2-*A1ZW@q=Sh_5}^zb)GAIr-0QGj|v z4ayVWmL=Uzr4Q9pHpnZLFNemWm2gHkfN27Il{JROh|f&#A0*$NwE>k0a}W>zCcj^C zDXol`X~D_e-7IBwUuD=a(_X0!MrP7TqJ&`KU$xGNf8ze`qb|GFT5=LENwA{ zB1`ytn&jyXhuChoi*JjF9_{U2TQByS7{gn#MN@prRW>RSo$kM;lmqlxw zd&B=WO7vp=&tlSg1a_Kt(qu3^a*(3BnNR(z6~Q7{HQFi75=<4(+YnDyuR}#S4TGwWG2xqL6Zj0P`s^BPd1YYPbGJ-z1xqGqnFEj#NUr##kWt_*h2IJ` zvS2t}!M(}NBsbaD;}TDUQ2A?%R^#ahqx%$N@wubR_v6i@@Fa98+miRSN`Y`z3RnfI z?xwTkpl^~*(C{ETFPvFtN;uRtGNom7z}nBENOQ0w=oBrx%axTJ49N=$C5#|vjt&OO z(@P}Uo}jP=)XW}kMhjQD2EJ=R-%0tJSFXvT+NryReQ~;FQuqcl6dL`WlAdu!aY^30 za%QVVIJvEQ5j-wq;Oo}RXNDf&2g=+cH<1^V;djN39Vci%qBc8ho)3&EJ$Q3Di@K!X z)$Tttfn?9oU+i0!CXc$uZPH&3H;)UgAIfJ;u4*`KGWqXGXm!RQ;FGzyI8(4Y#yCuq z=-|6t!x4uBVm2PNZSqw@8T*|^_fc?=@U!}I}d9LGHkE#tN3c8Pg zj>39%el&^;JpmS{3gVnuCZwU`;F9?Zp}%YK$ZF7gSiRA^(Yw(MnH3naRxgT}YHcpU z2>XmGzro*vZz2xUs+p_UFY!IWw4SpORK&A5#6564AyJKB6{kFPW2%=xft zkNWmJp<9~8j7IoBk?*q#ADk{2YKpP-n{{Y0wQD2ZFL=18h#_ZEGl7CX$F`TgoTwr# zTQU6QYiEAQa;TpVv1q89WxoAhFoSrL7By5dculW4m7e6d({};XBVM19z*?FU4G(;c ze`53jJPqrfFr{pyYzD7`<>CVy%OuZ}INyzqrT|ga-hXE2U|NcWHLq5iQ^E!ktIx0QKv7^t+#OwG7U`b;%PVKuBB?e4@2 zH0oQMFOUU0`QA|gx;px0y=V)t-9mcOjwTfVYB5A=W(Li5!45V}VX9+4&Z>bGbnzyYbZC)y-wJv3G>4lOtUVUr|FupBZEU!ONdtT!bPlw-Pp_`!S!e5t z+6QMa556eh)`z+Ouwdfvp;w7td7{*euD5sx3Us-%<4ai&R73fO@lLOQ85LT#;z60E z%m7MLydgUPLzRqsy`}dviK#D zPMTf)#&`Xeu9aZaquL2c1Te6;zA-J|p!n(`YrKvs9hlg!{4Z{M!~^#ETKS@3?=I;Z z59vW8#{^WD7w@+(+a;X+K=8;s=d{J@7Ud@CQQ=WNG#?-O@k{&BueH-?c|ZfF9c&Pq z$q?1`E0ZXr@67k8p3DEJV!x~HAbyWdnoDc6wM~oL$lb&C<0DF^$_&Ida zVb8x{uBLn=qpFDdS5=jVDB)L@N?JMUhI-)EN3bykPqSi2!KnN!H+|~NdBz%W8*hf4 zF7EFuHjd8j(Xyiu$4teQK@uzW5&jYUWBRB`bGu!KVKrqzjh9lCktqo5+qR=U?Ye6% z#A=B*-#Kyz+v{)uQ+2TUhXa$BKh0fR_x>!BVhc+tiEQh+5EAR1!bO zY*bfeQ_&c zvF5N0`fi)oo{z27N+?3Ea>#LH{h9a}v?#TCPd6Y#kymDoea!iBII07n9q| zkEYK%duHiLpB1Bz86cbR!XMo|CXq;s`26n-lXW6OxLi=t!x6VPs>CM#Z zsviXZ0-+&}Kb*1V#4uX4VizFpN=ph_hVg$^10PDCFwZ%5+ zlg6M`W7S18^GRcJM_WzE^bPs@C-T#b!=3yu@r0GLVy;6vAC>w8?2pRizq>E9&466GSh4uS9h#YB*vwn!qZ;8){T8#__>Bx zSj#>Kdxrzfzm}YeEiVM<1RQlVcpaoEdrH1ZFL=(JcHFIMHShG&1=pAiTkQgRX@IqW z>gu;r?9ks07+oul&s1Y}9uH5Bn->L`kucz?cP%?@KMIpv)7%*Jo8VM*4d7*HB~Gr- zJPs=bxj8)*LtPtpQc|N*$x*O>KyIWBacS^VA?PQ>BA{8*ErXs6E#_eYYf0D&>*LSh z-zzJ_F_6#IF%sW$*|3)|LCiEKzK(uluBPab7<;Nsb<&(Ec{Vp48P-Q}6s338k>?E^ zPTQ{q{&Vy0z~xZifOoMuV*7EzP{UkV0B%$C!Eq5AHA;c}HiHi7G5)Ee7G@K5SIU9x zFjCn2=x+ej?r5q zT7U}lg@@+~(~Pu;VTA>=ABepZ@JM{vUfy|AR$F}R&bOKg* z-*~hiHjK!*mw_$UVv=p08RpF^J}rrHCzZ#=xW--LJjD8#U8t|Q4h)3YjNs`F+r6~T z-^Yz1cq3oO-XJs|_IVb2*!;x^ObsG1INj+xldra|GLQ@A*%N{i8_A4ci_p=HqejL~ zZTmbSJL353sHHYOZs&jMBa$HnUzNMn*~D7dGiDpzXevQ|+lQVu**SHl!f;oS+vIWE zg1GICIre6}BP{^^mx>1$r%{}!7@&SKhzfP}v;(J2bW#NCSpVAB9ccw35=_cVOFaMm z^baFt&TIDl1RHch?8tJLcZ_)VdzpB;IPO<8U+0}(ZK)T9eMEImzQab@21%cbwUlWY zq8{`ggtj}KTB(?wbZ6C@Jt-leoOoZzS+ajL8`R(zPc!qwULW<;$4lc!az5Ex3-s0s zZ8e2Qhac|}%@rMB&XuKU%#K}BC8Gb`W4;u6MwwdJDE=V#UbRHoz}JKEw(GcC8FLGY z#wGeYtwZ>96mdj)nUV^=fJkmR?+4q&cH%f^zeAVe8f}Cl-|3xZ){ljU=`@kqaH!3R z8ksnjB?M{3b&hQEphp!KQA%1)FmoH%+vc}y79zi&Wt%bYJRhv$L*J?L0v3w2R}P}X zYUgwupCXTdy$o{slzKvsI~7i^O0bB?1w63O0j2|l>|h0h|7S8kjbBpsl@}s)j#=hqwVxX1 zzXEVQ0&zQqCN*lFG?v2&K_(9{^EhAZtJoIP1QG7uH&3)ejuIbc1=a#~SdY>qdF^K( zuC1T;hh;tK_MO@#yIAxl$o57S8F1E+>oHCLfg}g-4Dt+km@f@$uy_v%3H-wP?jQ%3 zdEK^Xqb#f!Si%l4_7XJxqR)$6rac(T(|@fVQX0ZY>d2)G}}4dB+!x zC)NP*+R(ZPyRl)#Zj1?dZZ(;`&K4{EgA8Fw)UzrObrn`SQ8V(teIEzuT?UXCq!-*df9ljJp=M+40xv2f>NxEeqD{z0rw;Y~QucE?^VU zK7%|sEt8Q$6s`TM?v6*Q#7D$*B4vZRmWuh)+eX^c1nGB*-1B4RWz?qFl~C!M7&frfj~7vt3J4o`XN=OHws zt1AI)|6l(gd5 z=(=>b9Q86nvSJ-{C*%*h$rJ25ygTKlBCoxA&a9mODlCgr&jnUv2ZJM((AlkM9Zze-Ra*rIyZKjgQ77ah^9vAxr;3bw z3#J_dioKbe!QCUcZC=feX^fKy3o6V+bM(LH8(tWo3kw8md1QdZ*3q1U60UQ`t= z9dnz5d$DFfpY%0Nrn)gZTeiEbb!r!_-|+VE%*mNuOI6~ayiaD*8I#9GAN=RKeqWqZ zUoVdEz)OoJMo1VEHL?;6KWBV2ycr`4+nk zL6)tJ)^%JaYaIYrwjAMk1Wb+?pZDxl=NTLoR`hx4de({`&7k_LaPnK6)1_j&&L6#4 zdk}W#bD(?B9;Y;aF3ui~8rEZl@|22gs8UXbKrX+it5>w=KcK~JCJ9Q zZoE_Y`+6Kj|4e$$t_BeF zkkQfS5xPeyIu7}tx~B?9L?6B*b&0#CzKJA*9VfNsnqq2>FiHjc^QIc0(LFcX*#W$%pGOztqT_$B!G3xkY=U!C2B<>a9j^PF5f zB{H+lp;Yj+h+z>O_X{&X8jOwi9QYlX7?@A1_dUc0?hpNoGK{-pV8Kq`g!L}@$-2pf&9U$gl5 zRE+g2d+uVMcJ&Dx55<*qBaeBQrv-)IdsBDp{R@&s`U~~_Yw0?^fvdRpzrSh@>AF}n znqCdEhU}1GeF81N?>tIKzv3zx3l>oh`ytN${sNRtubNosmvHeqaQU)<8D#ZT+|S&5 zKco7OpMe^R9XR;nd0;Ir$gV+<$k2$kzO$O{uI+Zr2-tk`jP2<3$bTyJjR%{cvwPRC F`+xS6<6r;) From 4296c169ac8cc25d509496008b3b9975562a6227 Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Tue, 9 Apr 2024 15:13:59 -0700 Subject: [PATCH 43/49] fix vignette to match --- vignettes/panel-data-gemploy.R | 65 ---------------------------------- vignettes/panel-data.Rmd | 7 +--- 2 files changed, 1 insertion(+), 71 deletions(-) delete mode 100644 vignettes/panel-data-gemploy.R diff --git a/vignettes/panel-data-gemploy.R b/vignettes/panel-data-gemploy.R deleted file mode 100644 index 644f8c79a..000000000 --- a/vignettes/panel-data-gemploy.R +++ /dev/null @@ -1,65 +0,0 @@ -library(cansim) -library(dplyr) -library(tidyr) - -# Get statcan data using get_cansim, which returns a tibble -gemploy <- get_cansim("37-10-0115-01") - -gemploy <- gemploy %>% - # Drop some columns and rename the ones we keep - select(c( - "REF_DATE", "GEO", "VALUE", "STATUS", "Educational qualification", - "Field of study", "Gender", "Age group", "Status of student in Canada", - "Characteristics after graduation", "Graduate statistics" - )) %>% - rename( - "geo_value" = "GEO", - "time_value" = "REF_DATE", - "value" = "VALUE", - "status" = "STATUS", - "edu_qual" = "Educational qualification", - "fos" = "Field of study", - "gender" = "Gender", - "age_group" = "Age group", - "student_status" = "Status of student in Canada", - "grad_charac" = "Characteristics after graduation", - "grad_stat" = "Graduate statistics" - ) %>% - # The original `VALUE` column contain the statistic indicated by - # `Graduate statistics` in the original data. Below we pivot the data - # wider so that each unique statistic can have its own column. - mutate( - # Recode for easier pivoting - grad_stat = recode_factor( - grad_stat, - `Number of graduates` = "num_graduates", - `Median employment income two years after graduation` = "med_income_2y", - `Median employment income five years after graduation` = "med_income_5y" - ), - # They are originally strings but want ints for conversion to epi_df later - time_value = as.integer(time_value) - ) %>% - pivot_wider(names_from = grad_stat, values_from = value) %>% - filter( - # Drop aggregates for some columns - geo_value != "Canada" & - age_group != "15 to 64 years" & - edu_qual != "Total, educational qualification" & - # Keep aggregates for keys we don't want to keep - fos == "Total, field of study" & - gender == "Total, gender" & - student_status == "Canadian and international students" & - # Since we're looking at 2y and 5y employment income, the only - # characteristics remaining are: - # - Graduates reporting employment income - # - Graduates reporting wages, salaries, and commissions only - # For simplicity, keep the first one only - grad_charac == "Graduates reporting employment income" & - # Only keep "good" data - is.na(status) & - # Drop NA value rows - !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y) - ) %>% - select(-c(status, gender, student_status, grad_charac, fos)) - -saveRDS(gemploy, "vignettes/gemploy.rds") diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 54fc488b7..db5fa1d52 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -77,9 +77,6 @@ modifications to get a subset of the full dataset: * Choose a subset of covariates and aggregate across the remaining ones. The chosen covariates are age group, and educational qualification. -Code to obtain the full data and subset it as we -just described is available in `vignettes/panel-data-gemploy.R`. - To use this data with `epipredict`, we need to convert it into `epi_df` format using `epiprocess::as_epi_df()` with additional keys. In our case, the additional keys are `age_group`, @@ -90,9 +87,7 @@ lag and ahead modifications later on are using the correct time units. See the a list of all the `time_type`s available. ```{r convert-to-epidf, eval=F} -gemploy <- readRDS("gemploy.rds") -grad_employ_subset <- gemploy %>% - as_epi_df(additional_metadata = c(other_keys = list("age_group", "edu_qual"))) +data("grad_employ_subset") ``` ```{r data-dim, include=F} From 4dd2b1cdce315eb5f045140907876e37d16ec3c6 Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Tue, 9 Apr 2024 15:22:36 -0700 Subject: [PATCH 44/49] checks pass --- vignettes/.gitignore | 1 + vignettes/panel-data.Rmd | 6 +----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/vignettes/.gitignore b/vignettes/.gitignore index 3f91eff67..324ceaf7e 100644 --- a/vignettes/.gitignore +++ b/vignettes/.gitignore @@ -1,2 +1,3 @@ *.html *_cache/ +*.R diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index db5fa1d52..952be8d7f 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -86,10 +86,6 @@ lag and ahead modifications later on are using the correct time units. See the `epiprocess::epi_df` for a list of all the `time_type`s available. -```{r convert-to-epidf, eval=F} -data("grad_employ_subset") -``` - ```{r data-dim, include=F} employ_rowcount <- format(nrow(grad_employ_subset), big.mark = ",") employ_colcount <- length(names(grad_employ_subset)) @@ -387,7 +383,7 @@ predsx <- predict(wfx_linreg, latest) # Display values within prediction intervals predsx %>% select( - geo_value, time_value, edu_qual, age_group, fos, + geo_value, time_value, edu_qual, age_group, .pred_scaled, .pred_distn_scaled ) %>% head() %>% From ec775a068ac6e29cc1785e592266c1084a624e58 Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Tue, 9 Apr 2024 15:30:30 -0700 Subject: [PATCH 45/49] style and fix pkgdown --- _pkgdown.yml | 1 + data-raw/grad_employ_subset.R | 12 ++++++++---- vignettes/panel-data.Rmd | 9 ++++++--- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/_pkgdown.yml b/_pkgdown.yml index 07ceb6fec..e9211338a 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -97,6 +97,7 @@ reference: contents: - case_death_rate_subset - state_census + - grad_employ_subset diff --git a/data-raw/grad_employ_subset.R b/data-raw/grad_employ_subset.R index a09dfff06..ae063d22f 100644 --- a/data-raw/grad_employ_subset.R +++ b/data-raw/grad_employ_subset.R @@ -48,7 +48,8 @@ gemploy <- statcan_grad_employ %>% "Age group", "Status of student in Canada", "Characteristics after graduation", - "Graduate statistics")) %>% + "Graduate statistics" + )) %>% rename( "geo_value" = "GEO", "time_value" = "REF_DATE", @@ -60,13 +61,15 @@ gemploy <- statcan_grad_employ %>% "age_group" = "Age group", "student_status" = "Status of student in Canada", "grad_charac" = "Characteristics after graduation", - "grad_stat" = "Graduate statistics") %>% + "grad_stat" = "Graduate statistics" + ) %>% mutate( grad_stat = recode_factor( grad_stat, `Number of graduates` = "num_graduates", `Median employment income two years after graduation` = "med_income_2y", - `Median employment income five years after graduation` = "med_income_5y"), + `Median employment income five years after graduation` = "med_income_5y" + ), time_value = as.integer(time_value) ) %>% pivot_wider(names_from = grad_stat, values_from = value) %>% @@ -88,7 +91,8 @@ gemploy <- statcan_grad_employ %>% # Only keep "good" data is.na(status) & # Drop NA value rows - !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y)) %>% + !is.na(num_graduates) & !is.na(med_income_2y) & !is.na(med_income_5y) + ) %>% select(-c(status, gender, student_status, grad_charac, fos)) nrow(gemploy) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 952be8d7f..409253a38 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -184,7 +184,7 @@ values are both in years. ```{r make-recipe, include=T, eval=T} r <- epi_recipe(employ_small) %>% - step_epi_ahead(num_graduates_prop, ahead = 1) %>% + step_epi_ahead(num_graduates_prop, ahead = 1) %>% step_epi_lag(num_graduates_prop, lag = 0:2) %>% step_epi_naomit() r @@ -196,7 +196,10 @@ and `ahead` columns. ```{r view-preprocessed, include=T} # Display a sample of the preprocessed data bake_and_show_sample <- function(recipe, data, n = 5) { - recipe %>% prep(data) %>% bake(new_data = data) %>% sample_n(n) + recipe %>% + prep(data) %>% + bake(new_data = data) %>% + sample_n(n) } r %>% bake_and_show_sample(employ_small) @@ -354,7 +357,7 @@ f <- frosting() %>% layer_threshold(.pred, lower = 0) %>% # 90% prediction interval layer_residual_quantiles( - quantile_levels = c(0.1, 0.9), + quantile_levels = c(0.1, 0.9), symmetrize = FALSE ) %>% layer_population_scaling( From e3dc215a0a556ab2cd13807f58ee7c0b4be7bfad Mon Sep 17 00:00:00 2001 From: rachlobay <42976509+rachlobay@users.noreply.github.com> Date: Wed, 24 Apr 2024 07:07:14 -0700 Subject: [PATCH 46/49] Minor fixes --- vignettes/panel-data.Rmd | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 409253a38..f23edf00c 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -16,7 +16,7 @@ knitr::opts_chunk$set( ) ``` -```{r libraries} +```{r libraries, warning=FALSE, message=FALSE} library(dplyr) library(tidyr) library(parsnip) @@ -113,23 +113,23 @@ employ <- grad_employ_subset sample_n(employ, 6) ``` -In the following sections, we will go over preprocessing the data in the +In the following sections, we will go over pre-processing the data in the `epi_recipe` framework, and fitting a model and making predictions within the `epipredict` framework and using the package's canned forecasters. # Simple autoregressive with 3 lags to predict number of graduates in a year -## Preprocessing +## Pre-processing As a simple example, let's work with the `num_graduates` column for now. We will -first pre-process by "standardizing" each numeric column by the total within +first pre-process by standardizing each numeric column by the total within each group of keys. We do this since those raw numeric values will vary greatly from province to province since there are large differences in population. ```{r employ-small, include=T} employ_small <- employ %>% group_by(geo_value, age_group, edu_qual) %>% - # Select groups where there are complete timeseries values + # Select groups where there are complete time series values filter(n() >= 6) %>% mutate( num_graduates_prop = num_graduates / sum(num_graduates), @@ -140,8 +140,9 @@ employ_small <- employ %>% head(employ_small) ``` -Below is a visualization for a sample of the small data. Note that some groups -do not have any time series information since we filtered out all timeseries +Below is a visualization for a sample of the small data for British Columbia and Ontario. +Note that some groups +do not have any time series information since we filtered out all time series with incomplete dates. ```{r employ-small-graph, include=T, eval=T, fig.width=9, fig.height=6} @@ -159,7 +160,7 @@ employ_small %>% theme(legend.position = "bottom") ``` -We will predict the "standardized" number of graduates (a proportion) in the +We will predict the standardized number of graduates (a proportion) in the next year (time $t+1$) using an autoregressive model with three lags (i.e., an AR(3) model). Such a model is represented algebraically like this: @@ -171,7 +172,7 @@ AR(3) model). Such a model is represented algebraically like this: where $x_i$ is the proportion of graduates at time $i$, and the current time is $t$. -In the preprocessing step, we need to create additional columns in `employ` for +In the pre-processing step, we need to create additional columns in `employ` for each of $x_{t+1}$, $x_{t}$, $x_{t-1}$, and $x_{t-2}$. We do this via an `epi_recipe`. Note that creating an `epi_recipe` alone doesn't add these outcome and predictor columns; the recipe just stores the instructions for @@ -194,7 +195,7 @@ Let's apply this recipe using `prep` and `bake` to generate and view the `lag` and `ahead` columns. ```{r view-preprocessed, include=T} -# Display a sample of the preprocessed data +# Display a sample of the pre-processed data bake_and_show_sample <- function(recipe, data, n = 5) { recipe %>% prep(data) %>% @@ -221,7 +222,7 @@ Since our goal for now is to fit a simple autoregressive model, we can use engine `lm`, which fits a linear regression using ordinary least squares. We will use `epi_workflow` with the `epi_recipe` we defined in the -preprocessing section along with the `parsnip::linear_reg()` model. Note again +pre-processing section along with the `parsnip::linear_reg()` model. Note that `epi_workflow` is a container and doesn't actually do the fitting. We have to pass the workflow into `fit()` to get our model coefficients $\alpha_i, i=0,...,3$. @@ -269,8 +270,8 @@ augment(wf_linreg, latest) %>% sample_n(5) First, we'll plot the residuals (that is, $y_{t} - \hat{y}_{t}$) against the fitted values ($\hat{y}_{t}$). -```{r lienarreg-resid-plot, include=T, fig.height=8} -par(mfrow = c(2, 2), mar = c(5, 3.5, 1, 1) + .5) +```{r lienarreg-resid-plot, include=T, fig.height = 5, fig.width = 5} +par(mfrow = c(2,2)) plot(extract_fit_engine(wf_linreg)) ``` @@ -310,9 +311,9 @@ where $y_i$ is the 5-year median income (proportion) at time $i$, $x_i$ is the 2-year median income (proportion) at time $i$, and $z_i$ is the number of graduates (proportion) at time $i$. -## Preprocessing +## Pre-processing -Again, we construct an `epi_recipe` detailing the preprocessing steps. +Again, we construct an `epi_recipe` detailing the pre-processing steps. ```{r custom-arx, include=T} rx <- epi_recipe(employ_small) %>% @@ -327,7 +328,7 @@ rx <- epi_recipe(employ_small) %>% bake_and_show_sample(rx, employ_small) ``` -## Model fitting & postprocessing +## Model fitting & post-processing Before fitting our model and making predictions, let's add some post-processing steps using a few [`frosting`]( @@ -396,8 +397,8 @@ predsx %>% # Using canned forecasters We've seen what we can do with non-epidemiological panel data using the -recipes frame, with `epi_recipe` for preprocessing, `epi_workflow` for model -fitting, and `frosting` for postprocessing. +recipes frame, with `epi_recipe` for pre-processing, `epi_workflow` for model +fitting, and `frosting` for post-processing. `epipredict` also comes with canned forecasters that do all of those steps behind the scenes for some simple models. Even though we aren't working with From 1ee300b5203dec8b189bc2c175c4fda72fbe55af Mon Sep 17 00:00:00 2001 From: rachlobay <42976509+rachlobay@users.noreply.github.com> Date: Wed, 24 Apr 2024 07:07:54 -0700 Subject: [PATCH 47/49] styler --- vignettes/panel-data.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index f23edf00c..434cfebeb 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -271,7 +271,7 @@ First, we'll plot the residuals (that is, $y_{t} - \hat{y}_{t}$) against the fitted values ($\hat{y}_{t}$). ```{r lienarreg-resid-plot, include=T, fig.height = 5, fig.width = 5} -par(mfrow = c(2,2)) +par(mfrow = c(2, 2)) plot(extract_fit_engine(wf_linreg)) ``` From cc988cb5bf46ba4bd1c74c37f7566d3869bec3ea Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Fri, 26 Apr 2024 11:15:20 -0700 Subject: [PATCH 48/49] address @rachellobay review, adjust canned printing to handle `other_keys` --- R/canned-epipred.R | 16 ++++-- vignettes/panel-data.Rmd | 109 +++++++++++++++++++++------------------ 2 files changed, 69 insertions(+), 56 deletions(-) diff --git a/R/canned-epipred.R b/R/canned-epipred.R index 802d0f7e4..81f36f4e1 100644 --- a/R/canned-epipred.R +++ b/R/canned-epipred.R @@ -67,11 +67,17 @@ print.canned_epipred <- function(x, name, ...) { ) cli::cli_text("") cli::cli_text("Training data was an {.cls epi_df} with:") - cli::cli_ul(c( - "Geography: {.field {x$metadata$training$geo_type}},", - "Time type: {.field {x$metadata$training$time_type}},", - "Using data up-to-date as of: {.field {format(x$metadata$training$as_of)}}." - )) + fn_meta <- function() { + cli::cli_ul() + cli::cli_li("Geography: {.field {x$metadata$training$geo_type}},") + if (!is.null(x$metadata$training$other_keys)) { + cli::cli_li("Other keys: {.field {x$metadata$training$other_keys}},") + } + cli::cli_li("Time type: {.field {x$metadata$training$time_type}},") + cli::cli_li("Using data up-to-date as of: {.field {format(x$metadata$training$as_of)}}.") + cli::cli_end() + } + fn_meta() cli::cli_text("") cli::cli_rule("Predictions") diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index 434cfebeb..acb3a0d18 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -12,7 +12,8 @@ knitr::opts_chunk$set( echo = TRUE, collapse = TRUE, comment = "#>", - out.width = "100%" + out.width = "90%", + fig.align = "center" ) ``` @@ -117,7 +118,7 @@ In the following sections, we will go over pre-processing the data in the `epi_recipe` framework, and fitting a model and making predictions within the `epipredict` framework and using the package's canned forecasters. -# Simple autoregressive with 3 lags to predict number of graduates in a year +# Autoregressive (AR) model to predict number of graduates in a year ## Pre-processing @@ -165,21 +166,25 @@ next year (time $t+1$) using an autoregressive model with three lags (i.e., an AR(3) model). Such a model is represented algebraically like this: \[ - x_{t+1} = - \alpha_0 + \alpha_1 x_{t} + \alpha_2 x_{t-1} + \alpha_3 x_{t-2} + \epsilon_t + y_{t+1,ijk} = + \alpha_0 + \alpha_1 y_{tijk} + \alpha_2 y_{t-1,ijk} + \alpha_3 y_{t-2,ijk} + \epsilon_{tijk} \] -where $x_i$ is the proportion of graduates at time $i$, and the current time is -$t$. +where $y_{tij}$ is the proportion of graduates at time $t$ in location $i$ and +age group $j$ with education quality $k$. In the pre-processing step, we need to create additional columns in `employ` for -each of $x_{t+1}$, $x_{t}$, $x_{t-1}$, and $x_{t-2}$. We do this via an +each of $y_{t+1,ijk}$, $y_{tijk}$, $y_{t-1,ijk}$, and $y_{t-2,ijk}$. +We do this via an `epi_recipe`. Note that creating an `epi_recipe` alone doesn't add these outcome and predictor columns; the recipe just stores the instructions for adding them. -Our `epi_recipe` should add one `ahead` column representing $x_{t+1}$ and -3 `lag` columns representing $x_{t}$, $x_{t-1}$, and $x_{t-2}$. Also note that +Our `epi_recipe` should add one `ahead` column representing $y_{t+1,ijk}$ and +3 `lag` columns representing $y_{tijk}$, $y_{t-1,ijk}$, and $y_{t-2,ijk}$ +(it's more accurate to think of the 0th "lag" as the "current" value with 2 lags, +but that's not quite how the processing works). +Also note that since we specified our `time_type` to be `year`, our `lag` and `lead` values are both in years. @@ -209,9 +214,9 @@ r %>% bake_and_show_sample(employ_small) We can see that the `prep` and `bake` steps created new columns according to our `epi_recipe`: -- `ahead_1_num_graduates_prop` corresponds to $x_{t+1}$ +- `ahead_1_num_graduates_prop` corresponds to $y_{t+1,ijk}$ - `lag_0_num_graduates_prop`, `lag_1_num_graduates_prop`, and -`lag_2_num_graduates_prop` correspond to $x_{t}$, $x_{t-1}$, and $x_{t-2}$ +`lag_2_num_graduates_prop` correspond to $y_{tijk}$, $y_{t-1,ijk}$, and $y_{t-2,ijk}$ respectively. ## Model fitting and prediction @@ -224,8 +229,8 @@ engine `lm`, which fits a linear regression using ordinary least squares. We will use `epi_workflow` with the `epi_recipe` we defined in the pre-processing section along with the `parsnip::linear_reg()` model. Note that `epi_workflow` is a container and doesn't actually do the fitting. We have -to pass the workflow into `fit()` to get our model coefficients -$\alpha_i, i=0,...,3$. +to pass the workflow into `fit()` to get our estimated model coefficients +$\widehat{\alpha}_i,\ i=0,...,3$. ```{r linearreg-wf, include=T} wf_linreg <- epi_workflow(r, linear_reg()) %>% @@ -234,13 +239,13 @@ summary(extract_fit_engine(wf_linreg)) ``` This output tells us the coefficients of the fitted model; for instance, -the intercept is $\alpha_0 = 0.24804$ and the coefficient for $x_{t}$ is -$\alpha_1 = 0.06648$. The summary also tells us that only the intercept and lags -at 2 years and 3 years ago have coefficients significantly greater than zero. - -Extracting the 95% confidence intervals for the coefficients also leads us to -the same conclusion: all the coefficients except for $\alpha_1$ (lag 0) contain -0. +the estimated intercept is $\widehat{\alpha}_0 =$ `r round(coef(extract_fit_engine(wf_linreg))[1], 3)` and the coefficient for $y_{tijk}$ is +$\widehat\alpha_1 =$ `r round(coef(extract_fit_engine(wf_linreg))[2], 3)`. +The summary also tells us that all estimated coefficients are significantly +different from zero. Extracting the 95% confidence intervals for the +coefficients also leads us to +the same conclusion: all the coefficient estimates are significantly different +from 0. ```{r} confint(extract_fit_engine(wf_linreg)) @@ -258,20 +263,20 @@ preds %>% sample_n(5) ``` We can do this using the `augment` function too. Note that `predict` and -`augment` both still return an `epi_df` with all of the keys that were present -in the original dataset. +`augment` both still return an `epiprocess::epi_df` with all of the keys that +were present in the original dataset. -```{r linearreg-augment, include=T, eval=F} +```{r linearreg-augment} augment(wf_linreg, latest) %>% sample_n(5) ``` ## Model diagnostics -First, we'll plot the residuals (that is, $y_{t} - \hat{y}_{t}$) against the -fitted values ($\hat{y}_{t}$). +First, we'll plot the residuals (that is, $y_{tijk} - \widehat{y}_{tijk}$) +against the fitted values ($\widehat{y}_{tijk}$). ```{r lienarreg-resid-plot, include=T, fig.height = 5, fig.width = 5} -par(mfrow = c(2, 2)) +par(mfrow = c(2, 2), mar = c(5, 3, 1.2, 0)) plot(extract_fit_engine(wf_linreg)) ``` @@ -286,30 +291,33 @@ The Q-Q plot shows us that the residuals have heavier tails than a Normal distribution. So the normality of residuals assumption doesn't hold either. Finally, the residuals vs. leverage plot shows us that we have a few influential -points based on the Cooks distance (those outside the red dotted line). +points based on the Cook's distance (those outside the red dotted line). Since we appear to be violating the linear model assumptions, we might consider transforming our data differently, or considering a non-linear model, or something else. -# Autoregressive model with exogenous inputs +# AR model with exogenous inputs -Now suppose we want to model the 5-year employment income using 3 lags, while +Now suppose we want to model the 1-step-ahead 5-year employment income using +current and two previous values, while also incorporating information from the other two time-series in our dataset: the 2-year employment income and the number of graduates in the previous 2 years. We would do this using an autoregressive model with exogenous inputs, defined as follows: \[ - y_{t+1} = - \alpha_0 + \alpha_1 y_{t} + \alpha_2 y_{t-1} + \alpha_3 y_{t-2} + - \beta_1 x_{t} + \beta_2 x_{t-1} - \gamma_2 z_{t} + \gamma_2 z_{t-1} +\begin{aligned} + y_{t+1,ijk} &= + \alpha_0 + \alpha_1 y_{tijk} + \alpha_2 y_{t-1,ijk} + \alpha_3 y_{t-2,ijk}\\ + &\quad + \beta_1 x_{tijk} + \beta_2 x_{t-1,ijk}\\ + &\quad + \gamma_2 z_{tijk} + \gamma_2 z_{t-1,ijk} + \epsilon_{tijk} +\end{aligned} \] -where $y_i$ is the 5-year median income (proportion) at time $i$, -$x_i$ is the 2-year median income (proportion) at time $i$, and -$z_i$ is the number of graduates (proportion) at time $i$. +where $y_{tijk}$ is the 5-year median income (proportion) at time $t$ (in location $i$, age group $j$ with education quality $k$), +$x_{tijk}$ is the 2-year median income (proportion) at time $t$, and +$z_{tijk}$ is the number of graduates (proportion) at time $t$. ## Pre-processing @@ -318,9 +326,9 @@ Again, we construct an `epi_recipe` detailing the pre-processing steps. ```{r custom-arx, include=T} rx <- epi_recipe(employ_small) %>% step_epi_ahead(med_income_5y_prop, ahead = 1) %>% - # 5-year median income has 3 lags c(0,1,2) - step_epi_lag(med_income_5y_prop, lag = c(0, 1, 2)) %>% - # But the two exogenous variables have 2 lags c(0,1) + # 5-year median income has current, and two lags c(0, 1, 2) + step_epi_lag(med_income_5y_prop, lag = 0:2) %>% + # But the two exogenous variables have current values, and 1 lag c(0, 1) step_epi_lag(med_income_2y_prop, lag = c(0, 1)) %>% step_epi_lag(num_graduates_prop, lag = c(0, 1)) %>% step_epi_naomit() @@ -335,14 +343,15 @@ steps using a few [`frosting`]( https://cmu-delphi.github.io/epipredict/reference/frosting.html) layers to do a few things: -1. Convert our predictions back to income values and number of graduates, -rather than standardized proportions. We do this via the frosting layer -`layer_population_scaling`. -2. Threshold our predictions to 0. We are predicting proportions, which can't +1. Threshold our predictions to 0. We are predicting proportions, which can't be negative. And the transformed values back to dollars and people can't be negative either. -3. Generate prediction intervals based on residual quantiles, allowing us to +1. Generate prediction intervals based on residual quantiles, allowing us to quantify the uncertainty associated with future predicted values. +1. Convert our predictions back to income values and number of graduates, +rather than standardized proportions. We do this via the frosting layer +`layer_population_scaling()`. + ```{r custom-arx-post, include=T} # Create dataframe of the sums we used for standardizing @@ -373,10 +382,8 @@ wfx_linreg <- epi_workflow(rx, parsnip::linear_reg()) %>% summary(extract_fit_engine(wfx_linreg)) ``` -Based on the summary output for this model, only the intercept term, 5-year -median income from 3 years ago, and the 2-year median income from 1 year ago -are significant linear predictors for today's 5-year median income at a 95% -confidence level. Both lags for the number of graduates were insignificant. +Based on the summary output for this model, we can examine confidence intervals +and perform hypothesis tests as usual. Let's take a look at the predictions along with their 90% prediction intervals. @@ -384,7 +391,7 @@ Let's take a look at the predictions along with their 90% prediction intervals. latest <- get_test_data(recipe = rx, x = employ_small) predsx <- predict(wfx_linreg, latest) -# Display values within prediction intervals +# Display predictions along with prediction intervals predsx %>% select( geo_value, time_value, edu_qual, age_group, @@ -419,8 +426,8 @@ by the keys in our `epi_df`. In this first example, we'll use `flatline_forecaster` to make a simple prediction of the 2-year median income for the next year, based on one previous time point. This model is representated algebraically as: -\[y_{t+1} = \alpha_0 + \alpha_0 y_{t}\] -where $y_i$ is the 2-year median income (proportion) at time $i$. +\[y_{t+1,ijk} = y_{tijk} + \epsilon_{tijk}\] +where $y_{tijk}$ is the 2-year median income (proportion) at time $t$. ```{r flatline, include=T, warning=F} out_fl <- flatline_forecaster(employ_small, "med_income_2y_prop", From 55e8166734659ecb864563d82da2f2135d7dbb0d Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Fri, 26 Apr 2024 11:23:04 -0700 Subject: [PATCH 49/49] add a conclusion --- vignettes/panel-data.Rmd | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/vignettes/panel-data.Rmd b/vignettes/panel-data.Rmd index acb3a0d18..f2b4d8d09 100644 --- a/vignettes/panel-data.Rmd +++ b/vignettes/panel-data.Rmd @@ -473,3 +473,10 @@ out_arx_rf <- arx_forecaster( out_arx_rf ``` + +# Conclusion + +While the purpose of `{epipredict}` is to allow `{tidymodels}` to operate on +epidemiology data, it can be easily adapted (both the workflows and the canned +forecasters) to work for generic panel data modelling. +