## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----lib, message = FALSE----------------------------------------------------- library("data.table") library("polle") ## ----simdata------------------------------------------------------------------ d <- sim_two_stage(n = 2e3, seed = 1) pd <- policy_data(d, action = c("A_1", "A_2"), baseline = c("B", "BB"), covariates = list(L = c("L_1", "L_2"), C = c("C_1", "C_2")), utility = c("U_1", "U_2", "U_3")) pd ## ----plblip------------------------------------------------------------------- pl_blip <- policy_learn( type = "blip", control = control_blip( blip_models = q_glm(formula = ~ BB + L + C) ) ) ## ----plblipout---------------------------------------------------------------- pl_blip ## ----plblipapply-------------------------------------------------------------- (po_blip <- pl_blip( pd, g_models = list(g_glm(), g_glm()), q_models = list(q_glm(), q_glm()) )) ## ----plcross------------------------------------------------------------------ pl_blip_cross <- policy_learn( type = "blip", control = control_blip( blip_models = q_glm(formula = ~ BB + L + C) ), L = 2, save_cross_fit_models = TRUE ) po_blip_cross <- pl_blip_cross( pd, g_models = list(g_glm(), g_glm()), q_models = list(q_glm(), q_glm()) ) ## ----plcrossinspect----------------------------------------------------------- po_blip_cross$g_functions_cf ## ----pl_alpha----------------------------------------------------------------- pl_blip_alpha <- policy_learn( type = "blip", control = control_blip( blip_models = q_glm(formula = ~ BB + L + C) ), alpha = 0.05, L = 2 ) po_blip_alpha <- pl_blip_alpha( pd, g_models = list(g_glm(), g_glm()), q_models = list(q_glm(), q_glm()) ) ## ----viewalpha---------------------------------------------------------------- po_blip_alpha$alpha po_blip_alpha$g_functions ## ----------------------------------------------------------------------------- pf_blip <- get_policy_functions(po_blip, stage = 2) ## ----------------------------------------------------------------------------- pf_blip( H = data.table(BB = c("group2", "group1"), L = c(1, 0), C = c(1, 2)) ) ## ----inspectblip-------------------------------------------------------------- po_blip$blip_functions$stage_1$blip_model ## ----------------------------------------------------------------------------- get_policy(po_blip)(pd) |> head(4) ## ----sessionInfo-------------------------------------------------------------- sessionInfo()