Generating Posterior Distribution Samples with UCIWWEIHR ODE Compartmental Based Model with Forecasting.

Here we extend the previous tutorial to include forecasting capabilities. We start with generating out data using generate_simulation_data_uciwweihr's alternate parameterization where we do not prespecify the effective reproduction number and hospitalization probability but instead preform a log-normal random walk and a logit-normal random walk respectively. We then sample from the posterior distribution using the uciwweihr_fit.jl function. We then generate desired quantities and forecast for a given time period with the posterior predictive distribution, using uciwweihr_gq_pp.jl.

1. Data Generation.

Here we generate two datasets, one with 150 time points and one with 178 time points. We will use the 150 time point dataset for fitting and the 178 time point dataset for forecast evaluation.

using UCIWWEIHR
# Running simulation function with presets
params = create_uciwweihr_sim_params(
    time_points = 70
)
df = generate_simulation_data_uciwweihr(params)

params_ext = create_uciwweihr_sim_params(
    time_points = 84
)
df_ext = generate_simulation_data_uciwweihr(params_ext)
first(df, 5)
5×11 DataFrame
Rowobstimeslog_ww_conchosphosp_incrtwtE_ode_comp_solI_ode_comp_solH_ode_comp_solCH_ode_comp_solH_ode_inc_comp_sol
Int64Float64Int64Int64Float64Float64Float64Float64Float64Float64Float64
110.08119362620.997770.349492200.0100.020.05.05.0
220.4603492081.014680.353323170.435129.5321.634310.77865.77862
330.3360342660.9891190.347515150.759149.49524.138517.85197.07325
441.075142381.069040.365335137.042162.97526.824525.63187.77996
550.87197431141.109150.373918129.439172.23529.910434.39358.76168
first(df_ext, 5)
5×11 DataFrame
Rowobstimeslog_ww_conchosphosp_incrtwtE_ode_comp_solI_ode_comp_solH_ode_comp_solCH_ode_comp_solH_ode_inc_comp_sol
Int64Float64Int64Int64Float64Float64Float64Float64Float64Float64Float64
110.08119361770.997770.349492200.0100.020.05.05.0
220.4603493241.014680.353323170.435129.5321.634310.77865.77862
330.3360341870.9891190.347515150.759149.49524.138517.85197.07325
441.0751428101.069040.365335137.042162.97526.824525.63187.77996
550.8719742681.109150.373918129.439172.23529.910434.39358.76168

2. Sampling from the Posterior Distribution and Posterior Predictive Distribution.

Here we sample from the posterior distribution using the uciwweihr_fit.jl function. First, we setup some presets, where we need to use create_uciwweihr_model_params() to get default parameters for the model. Then we have an array where index 1 contains the posterior/prior predictive samples, index 2 contains the posterior/prior generated quantities samples, and index 3 contains the original sampled parameters for the model. The difference here is that we set forecast = true and forecast_weeks = 4 to forecast 4 weeks into the future. One other thing to note, is that we allow misalignment of hospital and wastewater data's observed times. For this tutorial, we use the same observed points.

data_hosp = df.hosp
data_wastewater = df.log_ww_conc
obstimes_hosp = df.obstimes
obstimes_wastewater = df.obstimes
max_obstime = max(length(obstimes_hosp), length(obstimes_wastewater))
param_change_times = 1:7:max_obstime # Change every week
priors_only = false
n_samples = 500
forecast = true
forecast_days = 14

E_init_sd=0.2; log_E_init_mean=log(200)
I_init_sd=0.2; log_I_init_mean=log(100)
H_init_sd=0.2; log_H_init_mean=log(20)
gamma_sd=0.02; log_gamma_mean=log(1/4)
nu_sd=0.02; log_nu_mean=log(1/7)
epsilon_sd=0.02; log_epsilon_mean=log(1/5)
rho_gene_sd=0.02; log_rho_gene_mean=log(0.011)

sigma_ww_sd=0.02; log_sigma_ww_mean=log(0.1)
sigma_hosp_sd=0.01; log_sigma_hosp_mean=log(500.0)

Rt_init_sd=0.3; Rt_init_mean=0.2
sigma_Rt_sd=0.2; sigma_Rt_mean=-3.0
w_init_sd=0.04; w_init_mean=logit(0.35)
sigma_w_sd=0.2; sigma_w_mean=-3.5
message = true
model_params = create_model_params_time_var_hosp_prev(
    E_init_sd, log_E_init_mean,
    I_init_sd, log_I_init_mean,
    H_init_sd, log_H_init_mean,
    gamma_sd, log_gamma_mean,
    nu_sd, log_nu_mean,
    epsilon_sd, log_epsilon_mean,
    rho_gene_sd, log_rho_gene_mean,
    sigma_ww_sd, log_sigma_ww_mean,
    sigma_hosp_sd, log_sigma_hosp_mean,
    Rt_init_sd, Rt_init_mean,
    sigma_Rt_sd, sigma_Rt_mean,
    w_init_sd, w_init_mean,
    sigma_w_sd, sigma_w_mean,
    message;
)
init_params = optimize_many_MAP2_wrapper(
    data_hosp,
    data_wastewater,
    obstimes_hosp,
    obstimes_wastewater,
    param_change_times,
    model_params;
    verbose=false,
    warning_bool=false,
)
samples = fit(
    data_hosp,
    data_wastewater,
    obstimes_hosp,
    obstimes_wastewater,
    param_change_times,
    model_params;
    priors_only,
    n_samples,
    n_discard_initial = 200,
    n_chains = 1,
    init_params = init_params
    )
model_output = generate_pq_pp(
    samples,
    data_hosp,
    data_wastewater,
    obstimes_hosp,
    obstimes_wastewater,
    param_change_times,
    model_params;
    forecast=true, forecast_days=forecast_days
)

first(model_output[1][:,1:5], 5)
5×5 DataFrame
Rowiterationchaindata_wastewater[1]data_wastewater[2]data_wastewater[3]
Int64Int64Float64Float64Float64
1110.1909860.6044160.52958
2210.0749460.3873870.462531
3310.02417070.3881980.610479
4410.1919090.3179420.57576
5510.06785230.2830290.512733
first(model_output[2][:,1:5], 5)
5×5 DataFrame
RowiterationchainE_initI_initH_init
Int64Int64Float64Float64Float64
111211.59102.42323.6436
221211.59102.42323.6436
331222.14893.402818.6305
441214.204102.55121.6901
551210.48597.718420.2811
first(model_output[3][:,1:5], 5)
5×5 DataFrame
RowiterationchainE_init_non_centeredI_init_non_centeredH_init_non_centered
Int64Int64Float64Float64Float64
120110.2816750.1196990.836807
220210.2816750.1196990.836807
320310.525134-0.341244-0.35465
420410.343050.1259460.405624
520510.25548-0.1154020.0697806

3. MCMC Diagnostic Plots/Results Along with Posterior Predictive Distribution.

We can again look at model diagnostics, posterior distribution of time or non-time varying parameters, and the posterior predictive distribution extended for forecasting. We can also add certain parameters to ensure priors will be plotted alongside their corresponding posteriors.

uciwweihr_visualizer(
    data_hosp,
    data_wastewater,
    forecast_days,
    obstimes_hosp,
    obstimes_wastewater,
    param_change_times,
    2024,
    forecast,
    model_params;
    pp_samples = model_output[1],
    gq_samples = model_output[2],
    samples = model_output[3],
    obs_data_hosp = df_ext.hosp,
    obs_data_wastewater = df_ext.log_ww_conc,
    actual_rt_vals = df_ext.rt,
    actual_w_t = df_ext.wt,
    actual_E_ode_sol = df.E_ode_comp_sol,
    actual_I_ode_sol = df.I_ode_comp_sol,
    actual_H_ode_sol = df.H_ode_comp_sol,
    actual_non_time_varying_vals = params,
    bayes_dist_type = "Posterior",
    save_plots = true,
    plot_name_to_save_mcmcdiag = "plots/mcmc_diagnosis_plots1",
    plot_name_to_save_time_varying = "plots/mcmc_time_varying_parameter_plots1",
    plot_name_to_save_non_time_varying = "plots/mcmc_nontime_varying_parameter_plots1",
    plot_name_to_save_ode_sol = "plots/mcmc_ode_solution_plots1",
    plot_name_to_save_pred_param = "plots/mcmc_pred_parameter_plots1",
    plot_name_to_save_log_like = "plots/mcmc_log_prob_trace_plot1"
)
Effective Sample Size for E_init for Chain 1: 462.0
Effective Sample Size for I_init for Chain 1: 640.0
Effective Sample Size for H_init for Chain 1: 768.0
Effective Sample Size for gamma for Chain 1: 870.0
Effective Sample Size for nu for Chain 1: 633.0
Effective Sample Size for epsilon for Chain 1: 840.0
Effective Sample Size for rt_init for Chain 1: 458.0
Effective Sample Size for w_init for Chain 1: 812.0
Effective Sample Size for sigma_w for Chain 1: 892.0
Effective Sample Size for sigma_Rt for Chain 1: 567.0
Effective Sample Size for sigma_ww for Chain 1: 868.0
Effective Sample Size for sigma_hosp for Chain 1: 725.0
Effective Sample Size for rho_gene for Chain 1: 673.0
Plot saved to plots/mcmc_diagnosis_plots1.png
Generating time varying parameter plots (with wastewater and time-varying hospitalization probability - prevalence model)...
Fitting using uciwweihr_model with wastewater - Prevalence Model!!!
┌ Warning: Only a single thread available: MCMC chains are not sampled in parallel
└ @ AbstractMCMC ~/.julia/packages/AbstractMCMC/7f1oY/src/sample.jl:410
Sampling (1 thread)   0%|                               |  ETA: N/A
Sampling (1 thread)   0%|▏                              |  ETA: 0:06:28
Sampling (1 thread)   1%|▎                              |  ETA: 0:03:13
Sampling (1 thread)   2%|▌                              |  ETA: 0:02:08
Sampling (1 thread)   2%|▋                              |  ETA: 0:01:36
Sampling (1 thread)   2%|▊                              |  ETA: 0:01:16
Sampling (1 thread)   3%|▉                              |  ETA: 0:01:03
Sampling (1 thread)   4%|█▏                             |  ETA: 0:00:54
Sampling (1 thread)   4%|█▎                             |  ETA: 0:00:47
Sampling (1 thread)   4%|█▍                             |  ETA: 0:00:42
Sampling (1 thread)   5%|█▌                             |  ETA: 0:00:37
Sampling (1 thread)   6%|█▊                             |  ETA: 0:00:34
Sampling (1 thread)   6%|█▉                             |  ETA: 0:00:31
Sampling (1 thread)   6%|██                             |  ETA: 0:00:28
Sampling (1 thread)   7%|██▏                            |  ETA: 0:00:26
Sampling (1 thread)   8%|██▍                            |  ETA: 0:00:24
Sampling (1 thread)   8%|██▌                            |  ETA: 0:00:23
Sampling (1 thread)   8%|██▋                            |  ETA: 0:00:21
Sampling (1 thread)   9%|██▊                            |  ETA: 0:00:20
Sampling (1 thread)  10%|███                            |  ETA: 0:00:19
Sampling (1 thread)  10%|███▏                           |  ETA: 0:00:18
Sampling (1 thread)  10%|███▎                           |  ETA: 0:00:17
Sampling (1 thread)  11%|███▍                           |  ETA: 0:00:16
Sampling (1 thread)  12%|███▋                           |  ETA: 0:00:15
Sampling (1 thread)  12%|███▊                           |  ETA: 0:00:15
Sampling (1 thread)  12%|███▉                           |  ETA: 0:00:14
Sampling (1 thread)  13%|████                           |  ETA: 0:00:13
Sampling (1 thread)  14%|████▏                          |  ETA: 0:00:13
Sampling (1 thread)  14%|████▍                          |  ETA: 0:00:12
Sampling (1 thread)  14%|████▌                          |  ETA: 0:00:12
Sampling (1 thread)  15%|████▋                          |  ETA: 0:00:11
Sampling (1 thread)  16%|████▊                          |  ETA: 0:00:11
Sampling (1 thread)  16%|█████                          |  ETA: 0:00:11
Sampling (1 thread)  16%|█████▏                         |  ETA: 0:00:10
Sampling (1 thread)  17%|█████▎                         |  ETA: 0:00:10
Sampling (1 thread)  18%|█████▍                         |  ETA: 0:00:09
Sampling (1 thread)  18%|█████▋                         |  ETA: 0:00:09
Sampling (1 thread)  18%|█████▊                         |  ETA: 0:00:09
Sampling (1 thread)  19%|█████▉                         |  ETA: 0:00:09
Sampling (1 thread)  20%|██████                         |  ETA: 0:00:08
Sampling (1 thread)  20%|██████▎                        |  ETA: 0:00:08
Sampling (1 thread)  20%|██████▍                        |  ETA: 0:00:08
Sampling (1 thread)  21%|██████▌                        |  ETA: 0:00:08
Sampling (1 thread)  22%|██████▋                        |  ETA: 0:00:07
Sampling (1 thread)  22%|██████▉                        |  ETA: 0:00:07
Sampling (1 thread)  22%|███████                        |  ETA: 0:00:07
Sampling (1 thread)  23%|███████▏                       |  ETA: 0:00:07
Sampling (1 thread)  24%|███████▎                       |  ETA: 0:00:07
Sampling (1 thread)  24%|███████▌                       |  ETA: 0:00:06
Sampling (1 thread)  24%|███████▋                       |  ETA: 0:00:06
Sampling (1 thread)  25%|███████▊                       |  ETA: 0:00:06
Sampling (1 thread)  26%|███████▉                       |  ETA: 0:00:06
Sampling (1 thread)  26%|████████                       |  ETA: 0:00:06
Sampling (1 thread)  26%|████████▎                      |  ETA: 0:00:06
Sampling (1 thread)  27%|████████▍                      |  ETA: 0:00:06
Sampling (1 thread)  28%|████████▌                      |  ETA: 0:00:05
Sampling (1 thread)  28%|████████▋                      |  ETA: 0:00:05
Sampling (1 thread)  28%|████████▉                      |  ETA: 0:00:05
Sampling (1 thread)  29%|█████████                      |  ETA: 0:00:05
Sampling (1 thread)  30%|█████████▏                     |  ETA: 0:00:05
Sampling (1 thread)  30%|█████████▎                     |  ETA: 0:00:05
Sampling (1 thread)  30%|█████████▌                     |  ETA: 0:00:05
Sampling (1 thread)  31%|█████████▋                     |  ETA: 0:00:05
Sampling (1 thread)  32%|█████████▊                     |  ETA: 0:00:05
Sampling (1 thread)  32%|█████████▉                     |  ETA: 0:00:04
Sampling (1 thread)  32%|██████████▏                    |  ETA: 0:00:04
Sampling (1 thread)  33%|██████████▎                    |  ETA: 0:00:04
Sampling (1 thread)  34%|██████████▍                    |  ETA: 0:00:04
Sampling (1 thread)  34%|██████████▌                    |  ETA: 0:00:04
Sampling (1 thread)  34%|██████████▊                    |  ETA: 0:00:04
Sampling (1 thread)  35%|██████████▉                    |  ETA: 0:00:04
Sampling (1 thread)  36%|███████████                    |  ETA: 0:00:04
Sampling (1 thread)  36%|███████████▏                   |  ETA: 0:00:04
Sampling (1 thread)  36%|███████████▍                   |  ETA: 0:00:04
Sampling (1 thread)  37%|███████████▌                   |  ETA: 0:00:04
Sampling (1 thread)  38%|███████████▋                   |  ETA: 0:00:03
Sampling (1 thread)  38%|███████████▊                   |  ETA: 0:00:03
Sampling (1 thread)  38%|███████████▉                   |  ETA: 0:00:03
Sampling (1 thread)  39%|████████████▏                  |  ETA: 0:00:03
Sampling (1 thread)  40%|████████████▎                  |  ETA: 0:00:03
Sampling (1 thread)  40%|████████████▍                  |  ETA: 0:00:03
Sampling (1 thread)  40%|████████████▌                  |  ETA: 0:00:03
Sampling (1 thread)  41%|████████████▊                  |  ETA: 0:00:03
Sampling (1 thread)  42%|████████████▉                  |  ETA: 0:00:03
Sampling (1 thread)  42%|█████████████                  |  ETA: 0:00:03
Sampling (1 thread)  42%|█████████████▏                 |  ETA: 0:00:03
Sampling (1 thread)  43%|█████████████▍                 |  ETA: 0:00:03
Sampling (1 thread)  44%|█████████████▌                 |  ETA: 0:00:03
Sampling (1 thread)  44%|█████████████▋                 |  ETA: 0:00:03
Sampling (1 thread)  44%|█████████████▊                 |  ETA: 0:00:03
Sampling (1 thread)  45%|██████████████                 |  ETA: 0:00:03
Sampling (1 thread)  46%|██████████████▏                |  ETA: 0:00:03
Sampling (1 thread)  46%|██████████████▎                |  ETA: 0:00:02
Sampling (1 thread)  46%|██████████████▍                |  ETA: 0:00:02
Sampling (1 thread)  47%|██████████████▋                |  ETA: 0:00:02
Sampling (1 thread)  48%|██████████████▊                |  ETA: 0:00:02
Sampling (1 thread)  48%|██████████████▉                |  ETA: 0:00:02
Sampling (1 thread)  48%|███████████████                |  ETA: 0:00:02
Sampling (1 thread)  49%|███████████████▎               |  ETA: 0:00:02
Sampling (1 thread)  50%|███████████████▍               |  ETA: 0:00:02
Sampling (1 thread)  50%|███████████████▌               |  ETA: 0:00:02
Sampling (1 thread)  50%|███████████████▋               |  ETA: 0:00:02
Sampling (1 thread)  51%|███████████████▊               |  ETA: 0:00:02
Sampling (1 thread)  52%|████████████████               |  ETA: 0:00:02
Sampling (1 thread)  52%|████████████████▏              |  ETA: 0:00:02
Sampling (1 thread)  52%|████████████████▎              |  ETA: 0:00:02
Sampling (1 thread)  53%|████████████████▍              |  ETA: 0:00:02
Sampling (1 thread)  54%|████████████████▋              |  ETA: 0:00:02
Sampling (1 thread)  54%|████████████████▊              |  ETA: 0:00:02
Sampling (1 thread)  55%|████████████████▉              |  ETA: 0:00:02
Sampling (1 thread)  55%|█████████████████              |  ETA: 0:00:02
Sampling (1 thread)  56%|█████████████████▎             |  ETA: 0:00:02
Sampling (1 thread)  56%|█████████████████▍             |  ETA: 0:00:02
Sampling (1 thread)  56%|█████████████████▌             |  ETA: 0:00:02
Sampling (1 thread)  57%|█████████████████▋             |  ETA: 0:00:02
Sampling (1 thread)  57%|█████████████████▉             |  ETA: 0:00:02
Sampling (1 thread)  58%|██████████████████             |  ETA: 0:00:02
Sampling (1 thread)  58%|██████████████████▏            |  ETA: 0:00:02
Sampling (1 thread)  59%|██████████████████▎            |  ETA: 0:00:02
Sampling (1 thread)  60%|██████████████████▌            |  ETA: 0:00:01
Sampling (1 thread)  60%|██████████████████▋            |  ETA: 0:00:01
Sampling (1 thread)  60%|██████████████████▊            |  ETA: 0:00:01
Sampling (1 thread)  61%|██████████████████▉            |  ETA: 0:00:01
Sampling (1 thread)  62%|███████████████████▏           |  ETA: 0:00:01
Sampling (1 thread)  62%|███████████████████▎           |  ETA: 0:00:01
Sampling (1 thread)  62%|███████████████████▍           |  ETA: 0:00:01
Sampling (1 thread)  63%|███████████████████▌           |  ETA: 0:00:01
Sampling (1 thread)  64%|███████████████████▋           |  ETA: 0:00:01
Sampling (1 thread)  64%|███████████████████▉           |  ETA: 0:00:01
Sampling (1 thread)  64%|████████████████████           |  ETA: 0:00:01
Sampling (1 thread)  65%|████████████████████▏          |  ETA: 0:00:01
Sampling (1 thread)  66%|████████████████████▎          |  ETA: 0:00:01
Sampling (1 thread)  66%|████████████████████▌          |  ETA: 0:00:01
Sampling (1 thread)  66%|████████████████████▋          |  ETA: 0:00:01
Sampling (1 thread)  67%|████████████████████▊          |  ETA: 0:00:01
Sampling (1 thread)  68%|████████████████████▉          |  ETA: 0:00:01
Sampling (1 thread)  68%|█████████████████████▏         |  ETA: 0:00:01
Sampling (1 thread)  68%|█████████████████████▎         |  ETA: 0:00:01
Sampling (1 thread)  69%|█████████████████████▍         |  ETA: 0:00:01
Sampling (1 thread)  70%|█████████████████████▌         |  ETA: 0:00:01
Sampling (1 thread)  70%|█████████████████████▊         |  ETA: 0:00:01
Sampling (1 thread)  70%|█████████████████████▉         |  ETA: 0:00:01
Sampling (1 thread)  71%|██████████████████████         |  ETA: 0:00:01
Sampling (1 thread)  72%|██████████████████████▏        |  ETA: 0:00:01
Sampling (1 thread)  72%|██████████████████████▍        |  ETA: 0:00:01
Sampling (1 thread)  72%|██████████████████████▌        |  ETA: 0:00:01
Sampling (1 thread)  73%|██████████████████████▋        |  ETA: 0:00:01
Sampling (1 thread)  74%|██████████████████████▊        |  ETA: 0:00:01
Sampling (1 thread)  74%|███████████████████████        |  ETA: 0:00:01
Sampling (1 thread)  74%|███████████████████████▏       |  ETA: 0:00:01
Sampling (1 thread)  75%|███████████████████████▎       |  ETA: 0:00:01
Sampling (1 thread)  76%|███████████████████████▍       |  ETA: 0:00:01
Sampling (1 thread)  76%|███████████████████████▌       |  ETA: 0:00:01
Sampling (1 thread)  76%|███████████████████████▊       |  ETA: 0:00:01
Sampling (1 thread)  77%|███████████████████████▉       |  ETA: 0:00:01
Sampling (1 thread)  78%|████████████████████████       |  ETA: 0:00:01
Sampling (1 thread)  78%|████████████████████████▏      |  ETA: 0:00:01
Sampling (1 thread)  78%|████████████████████████▍      |  ETA: 0:00:01
Sampling (1 thread)  79%|████████████████████████▌      |  ETA: 0:00:01
Sampling (1 thread)  80%|████████████████████████▋      |  ETA: 0:00:01
Sampling (1 thread)  80%|████████████████████████▊      |  ETA: 0:00:01
Sampling (1 thread)  80%|█████████████████████████      |  ETA: 0:00:01
Sampling (1 thread)  81%|█████████████████████████▏     |  ETA: 0:00:01
Sampling (1 thread)  82%|█████████████████████████▎     |  ETA: 0:00:01
Sampling (1 thread)  82%|█████████████████████████▍     |  ETA: 0:00:00
Sampling (1 thread)  82%|█████████████████████████▋     |  ETA: 0:00:00
Sampling (1 thread)  83%|█████████████████████████▊     |  ETA: 0:00:00
Sampling (1 thread)  84%|█████████████████████████▉     |  ETA: 0:00:00
Sampling (1 thread)  84%|██████████████████████████     |  ETA: 0:00:00
Sampling (1 thread)  84%|██████████████████████████▎    |  ETA: 0:00:00
Sampling (1 thread)  85%|██████████████████████████▍    |  ETA: 0:00:00
Sampling (1 thread)  86%|██████████████████████████▌    |  ETA: 0:00:00
Sampling (1 thread)  86%|██████████████████████████▋    |  ETA: 0:00:00
Sampling (1 thread)  86%|██████████████████████████▉    |  ETA: 0:00:00
Sampling (1 thread)  87%|███████████████████████████    |  ETA: 0:00:00
Sampling (1 thread)  88%|███████████████████████████▏   |  ETA: 0:00:00
Sampling (1 thread)  88%|███████████████████████████▎   |  ETA: 0:00:00
Sampling (1 thread)  88%|███████████████████████████▍   |  ETA: 0:00:00
Sampling (1 thread)  89%|███████████████████████████▋   |  ETA: 0:00:00
Sampling (1 thread)  90%|███████████████████████████▊   |  ETA: 0:00:00
Sampling (1 thread)  90%|███████████████████████████▉   |  ETA: 0:00:00
Sampling (1 thread)  90%|████████████████████████████   |  ETA: 0:00:00
Sampling (1 thread)  91%|████████████████████████████▎  |  ETA: 0:00:00
Sampling (1 thread)  92%|████████████████████████████▍  |  ETA: 0:00:00
Sampling (1 thread)  92%|████████████████████████████▌  |  ETA: 0:00:00
Sampling (1 thread)  92%|████████████████████████████▋  |  ETA: 0:00:00
Sampling (1 thread)  93%|████████████████████████████▉  |  ETA: 0:00:00
Sampling (1 thread)  94%|█████████████████████████████  |  ETA: 0:00:00
Sampling (1 thread)  94%|█████████████████████████████▏ |  ETA: 0:00:00
Sampling (1 thread)  94%|█████████████████████████████▎ |  ETA: 0:00:00
Sampling (1 thread)  95%|█████████████████████████████▌ |  ETA: 0:00:00
Sampling (1 thread)  96%|█████████████████████████████▋ |  ETA: 0:00:00
Sampling (1 thread)  96%|█████████████████████████████▊ |  ETA: 0:00:00
Sampling (1 thread)  96%|█████████████████████████████▉ |  ETA: 0:00:00
Sampling (1 thread)  97%|██████████████████████████████▏|  ETA: 0:00:00
Sampling (1 thread)  98%|██████████████████████████████▎|  ETA: 0:00:00
Sampling (1 thread)  98%|██████████████████████████████▍|  ETA: 0:00:00
Sampling (1 thread)  98%|██████████████████████████████▌|  ETA: 0:00:00
Sampling (1 thread)  99%|██████████████████████████████▊|  ETA: 0:00:00
Sampling (1 thread) 100%|██████████████████████████████▉|  ETA: 0:00:00
Sampling (1 thread) 100%|███████████████████████████████| Time: 0:00:02
Sampling (1 thread) 100%|███████████████████████████████| Time: 0:00:02
Generating quantities using uciwweihr_model with wastewater and time-varying hospitalization probability - Prevalence Model!!!
Generating quantities...
Plot saved to plots/mcmc_time_varying_parameter_plots1.png
Generating non-time varying parameter plots (with wastewater and with time-varying hospitalization probability - prevalence model)...
Fitting using uciwweihr_model with wastewater - Prevalence Model!!!
┌ Warning: Only a single thread available: MCMC chains are not sampled in parallel
└ @ AbstractMCMC ~/.julia/packages/AbstractMCMC/7f1oY/src/sample.jl:410
Sampling (1 thread)   0%|                               |  ETA: N/A
Sampling (1 thread)   0%|▏                              |  ETA: 0:00:01
Sampling (1 thread)   1%|▎                              |  ETA: 0:00:00
Sampling (1 thread)   2%|▌                              |  ETA: 0:00:00
Sampling (1 thread)   2%|▋                              |  ETA: 0:00:00
Sampling (1 thread)   2%|▊                              |  ETA: 0:00:00
Sampling (1 thread)   3%|▉                              |  ETA: 0:00:00
Sampling (1 thread)   4%|█▏                             |  ETA: 0:00:00
Sampling (1 thread)   4%|█▎                             |  ETA: 0:00:00
Sampling (1 thread)   4%|█▍                             |  ETA: 0:00:00
Sampling (1 thread)   5%|█▌                             |  ETA: 0:00:00
Sampling (1 thread)   6%|█▊                             |  ETA: 0:00:00
Sampling (1 thread)   6%|█▉                             |  ETA: 0:00:00
Sampling (1 thread)   6%|██                             |  ETA: 0:00:00
Sampling (1 thread)   7%|██▏                            |  ETA: 0:00:00
Sampling (1 thread)   8%|██▍                            |  ETA: 0:00:00
Sampling (1 thread)   8%|██▌                            |  ETA: 0:00:00
Sampling (1 thread)   8%|██▋                            |  ETA: 0:00:00
Sampling (1 thread)   9%|██▊                            |  ETA: 0:00:00
Sampling (1 thread)  10%|███                            |  ETA: 0:00:00
Sampling (1 thread)  10%|███▏                           |  ETA: 0:00:00
Sampling (1 thread)  10%|███▎                           |  ETA: 0:00:00
Sampling (1 thread)  11%|███▍                           |  ETA: 0:00:00
Sampling (1 thread)  12%|███▋                           |  ETA: 0:00:00
Sampling (1 thread)  12%|███▊                           |  ETA: 0:00:00
Sampling (1 thread)  12%|███▉                           |  ETA: 0:00:00
Sampling (1 thread)  13%|████                           |  ETA: 0:00:00
Sampling (1 thread)  14%|████▏                          |  ETA: 0:00:00
Sampling (1 thread)  14%|████▍                          |  ETA: 0:00:00
Sampling (1 thread)  14%|████▌                          |  ETA: 0:00:00
Sampling (1 thread)  15%|████▋                          |  ETA: 0:00:00
Sampling (1 thread)  16%|████▊                          |  ETA: 0:00:00
Sampling (1 thread)  16%|█████                          |  ETA: 0:00:00
Sampling (1 thread)  16%|█████▏                         |  ETA: 0:00:00
Sampling (1 thread)  17%|█████▎                         |  ETA: 0:00:00
Sampling (1 thread)  18%|█████▍                         |  ETA: 0:00:00
Sampling (1 thread)  18%|█████▋                         |  ETA: 0:00:00
Sampling (1 thread)  18%|█████▊                         |  ETA: 0:00:00
Sampling (1 thread)  19%|█████▉                         |  ETA: 0:00:00
Sampling (1 thread)  20%|██████                         |  ETA: 0:00:00
Sampling (1 thread)  20%|██████▎                        |  ETA: 0:00:00
Sampling (1 thread)  20%|██████▍                        |  ETA: 0:00:00
Sampling (1 thread)  21%|██████▌                        |  ETA: 0:00:00
Sampling (1 thread)  22%|██████▋                        |  ETA: 0:00:00
Sampling (1 thread)  22%|██████▉                        |  ETA: 0:00:00
Sampling (1 thread)  22%|███████                        |  ETA: 0:00:00
Sampling (1 thread)  23%|███████▏                       |  ETA: 0:00:00
Sampling (1 thread)  24%|███████▎                       |  ETA: 0:00:00
Sampling (1 thread)  24%|███████▌                       |  ETA: 0:00:00
Sampling (1 thread)  24%|███████▋                       |  ETA: 0:00:00
Sampling (1 thread)  25%|███████▊                       |  ETA: 0:00:00
Sampling (1 thread)  26%|███████▉                       |  ETA: 0:00:00
Sampling (1 thread)  26%|████████                       |  ETA: 0:00:00
Sampling (1 thread)  26%|████████▎                      |  ETA: 0:00:00
Sampling (1 thread)  27%|████████▍                      |  ETA: 0:00:00
Sampling (1 thread)  28%|████████▌                      |  ETA: 0:00:00
Sampling (1 thread)  28%|████████▋                      |  ETA: 0:00:00
Sampling (1 thread)  28%|████████▉                      |  ETA: 0:00:00
Sampling (1 thread)  29%|█████████                      |  ETA: 0:00:00
Sampling (1 thread)  30%|█████████▏                     |  ETA: 0:00:00
Sampling (1 thread)  30%|█████████▎                     |  ETA: 0:00:00
Sampling (1 thread)  30%|█████████▌                     |  ETA: 0:00:00
Sampling (1 thread)  31%|█████████▋                     |  ETA: 0:00:00
Sampling (1 thread)  32%|█████████▊                     |  ETA: 0:00:00
Sampling (1 thread)  32%|█████████▉                     |  ETA: 0:00:00
Sampling (1 thread)  32%|██████████▏                    |  ETA: 0:00:00
Sampling (1 thread)  33%|██████████▎                    |  ETA: 0:00:00
Sampling (1 thread)  34%|██████████▍                    |  ETA: 0:00:00
Sampling (1 thread)  34%|██████████▌                    |  ETA: 0:00:00
Sampling (1 thread)  34%|██████████▊                    |  ETA: 0:00:00
Sampling (1 thread)  35%|██████████▉                    |  ETA: 0:00:00
Sampling (1 thread)  36%|███████████                    |  ETA: 0:00:00
Sampling (1 thread)  36%|███████████▏                   |  ETA: 0:00:00
Sampling (1 thread)  36%|███████████▍                   |  ETA: 0:00:00
Sampling (1 thread)  37%|███████████▌                   |  ETA: 0:00:00
Sampling (1 thread)  38%|███████████▋                   |  ETA: 0:00:00
Sampling (1 thread)  38%|███████████▊                   |  ETA: 0:00:00
Sampling (1 thread)  38%|███████████▉                   |  ETA: 0:00:00
Sampling (1 thread)  39%|████████████▏                  |  ETA: 0:00:00
Sampling (1 thread)  40%|████████████▎                  |  ETA: 0:00:00
Sampling (1 thread)  40%|████████████▍                  |  ETA: 0:00:00
Sampling (1 thread)  40%|████████████▌                  |  ETA: 0:00:00
Sampling (1 thread)  41%|████████████▊                  |  ETA: 0:00:00
Sampling (1 thread)  42%|████████████▉                  |  ETA: 0:00:00
Sampling (1 thread)  42%|█████████████                  |  ETA: 0:00:00
Sampling (1 thread)  42%|█████████████▏                 |  ETA: 0:00:00
Sampling (1 thread)  43%|█████████████▍                 |  ETA: 0:00:00
Sampling (1 thread)  44%|█████████████▌                 |  ETA: 0:00:00
Sampling (1 thread)  44%|█████████████▋                 |  ETA: 0:00:00
Sampling (1 thread)  44%|█████████████▊                 |  ETA: 0:00:00
Sampling (1 thread)  45%|██████████████                 |  ETA: 0:00:00
Sampling (1 thread)  46%|██████████████▏                |  ETA: 0:00:00
Sampling (1 thread)  46%|██████████████▎                |  ETA: 0:00:00
Sampling (1 thread)  46%|██████████████▍                |  ETA: 0:00:00
Sampling (1 thread)  47%|██████████████▋                |  ETA: 0:00:00
Sampling (1 thread)  48%|██████████████▊                |  ETA: 0:00:00
Sampling (1 thread)  48%|██████████████▉                |  ETA: 0:00:00
Sampling (1 thread)  48%|███████████████                |  ETA: 0:00:00
Sampling (1 thread)  49%|███████████████▎               |  ETA: 0:00:00
Sampling (1 thread)  50%|███████████████▍               |  ETA: 0:00:00
Sampling (1 thread)  50%|███████████████▌               |  ETA: 0:00:00
Sampling (1 thread)  50%|███████████████▋               |  ETA: 0:00:00
Sampling (1 thread)  51%|███████████████▊               |  ETA: 0:00:00
Sampling (1 thread)  52%|████████████████               |  ETA: 0:00:00
Sampling (1 thread)  52%|████████████████▏              |  ETA: 0:00:00
Sampling (1 thread)  52%|████████████████▎              |  ETA: 0:00:00
Sampling (1 thread)  53%|████████████████▍              |  ETA: 0:00:00
Sampling (1 thread)  54%|████████████████▋              |  ETA: 0:00:00
Sampling (1 thread)  54%|████████████████▊              |  ETA: 0:00:00
Sampling (1 thread)  55%|████████████████▉              |  ETA: 0:00:00
Sampling (1 thread)  55%|█████████████████              |  ETA: 0:00:00
Sampling (1 thread)  56%|█████████████████▎             |  ETA: 0:00:00
Sampling (1 thread)  56%|█████████████████▍             |  ETA: 0:00:00
Sampling (1 thread)  56%|█████████████████▌             |  ETA: 0:00:00
Sampling (1 thread)  57%|█████████████████▋             |  ETA: 0:00:00
Sampling (1 thread)  57%|█████████████████▉             |  ETA: 0:00:00
Sampling (1 thread)  58%|██████████████████             |  ETA: 0:00:00
Sampling (1 thread)  58%|██████████████████▏            |  ETA: 0:00:00
Sampling (1 thread)  59%|██████████████████▎            |  ETA: 0:00:00
Sampling (1 thread)  60%|██████████████████▌            |  ETA: 0:00:00
Sampling (1 thread)  60%|██████████████████▋            |  ETA: 0:00:00
Sampling (1 thread)  60%|██████████████████▊            |  ETA: 0:00:00
Sampling (1 thread)  61%|██████████████████▉            |  ETA: 0:00:00
Sampling (1 thread)  62%|███████████████████▏           |  ETA: 0:00:00
Sampling (1 thread)  62%|███████████████████▎           |  ETA: 0:00:00
Sampling (1 thread)  62%|███████████████████▍           |  ETA: 0:00:00
Sampling (1 thread)  63%|███████████████████▌           |  ETA: 0:00:00
Sampling (1 thread)  64%|███████████████████▋           |  ETA: 0:00:00
Sampling (1 thread)  64%|███████████████████▉           |  ETA: 0:00:00
Sampling (1 thread)  64%|████████████████████           |  ETA: 0:00:00
Sampling (1 thread)  65%|████████████████████▏          |  ETA: 0:00:00
Sampling (1 thread)  66%|████████████████████▎          |  ETA: 0:00:00
Sampling (1 thread)  66%|████████████████████▌          |  ETA: 0:00:00
Sampling (1 thread)  66%|████████████████████▋          |  ETA: 0:00:00
Sampling (1 thread)  67%|████████████████████▊          |  ETA: 0:00:00
Sampling (1 thread)  68%|████████████████████▉          |  ETA: 0:00:00
Sampling (1 thread)  68%|█████████████████████▏         |  ETA: 0:00:00
Sampling (1 thread)  68%|█████████████████████▎         |  ETA: 0:00:00
Sampling (1 thread)  69%|█████████████████████▍         |  ETA: 0:00:00
Sampling (1 thread)  70%|█████████████████████▌         |  ETA: 0:00:00
Sampling (1 thread)  70%|█████████████████████▊         |  ETA: 0:00:00
Sampling (1 thread)  70%|█████████████████████▉         |  ETA: 0:00:00
Sampling (1 thread)  71%|██████████████████████         |  ETA: 0:00:00
Sampling (1 thread)  72%|██████████████████████▏        |  ETA: 0:00:00
Sampling (1 thread)  72%|██████████████████████▍        |  ETA: 0:00:00
Sampling (1 thread)  72%|██████████████████████▌        |  ETA: 0:00:00
Sampling (1 thread)  73%|██████████████████████▋        |  ETA: 0:00:00
Sampling (1 thread)  74%|██████████████████████▊        |  ETA: 0:00:00
Sampling (1 thread)  74%|███████████████████████        |  ETA: 0:00:00
Sampling (1 thread)  74%|███████████████████████▏       |  ETA: 0:00:00
Sampling (1 thread)  75%|███████████████████████▎       |  ETA: 0:00:00
Sampling (1 thread)  76%|███████████████████████▍       |  ETA: 0:00:00
Sampling (1 thread)  76%|███████████████████████▌       |  ETA: 0:00:00
Sampling (1 thread)  76%|███████████████████████▊       |  ETA: 0:00:00
Sampling (1 thread)  77%|███████████████████████▉       |  ETA: 0:00:00
Sampling (1 thread)  78%|████████████████████████       |  ETA: 0:00:00
Sampling (1 thread)  78%|████████████████████████▏      |  ETA: 0:00:00
Sampling (1 thread)  78%|████████████████████████▍      |  ETA: 0:00:00
Sampling (1 thread)  79%|████████████████████████▌      |  ETA: 0:00:00
Sampling (1 thread)  80%|████████████████████████▋      |  ETA: 0:00:00
Sampling (1 thread)  80%|████████████████████████▊      |  ETA: 0:00:00
Sampling (1 thread)  80%|█████████████████████████      |  ETA: 0:00:00
Sampling (1 thread)  81%|█████████████████████████▏     |  ETA: 0:00:00
Sampling (1 thread)  82%|█████████████████████████▎     |  ETA: 0:00:00
Sampling (1 thread)  82%|█████████████████████████▍     |  ETA: 0:00:00
Sampling (1 thread)  82%|█████████████████████████▋     |  ETA: 0:00:00
Sampling (1 thread)  83%|█████████████████████████▊     |  ETA: 0:00:00
Sampling (1 thread)  84%|█████████████████████████▉     |  ETA: 0:00:00
Sampling (1 thread)  84%|██████████████████████████     |  ETA: 0:00:00
Sampling (1 thread)  84%|██████████████████████████▎    |  ETA: 0:00:00
Sampling (1 thread)  85%|██████████████████████████▍    |  ETA: 0:00:00
Sampling (1 thread)  86%|██████████████████████████▌    |  ETA: 0:00:00
Sampling (1 thread)  86%|██████████████████████████▋    |  ETA: 0:00:00
Sampling (1 thread)  86%|██████████████████████████▉    |  ETA: 0:00:00
Sampling (1 thread)  87%|███████████████████████████    |  ETA: 0:00:00
Sampling (1 thread)  88%|███████████████████████████▏   |  ETA: 0:00:00
Sampling (1 thread)  88%|███████████████████████████▎   |  ETA: 0:00:00
Sampling (1 thread)  88%|███████████████████████████▍   |  ETA: 0:00:00
Sampling (1 thread)  89%|███████████████████████████▋   |  ETA: 0:00:00
Sampling (1 thread)  90%|███████████████████████████▊   |  ETA: 0:00:00
Sampling (1 thread)  90%|███████████████████████████▉   |  ETA: 0:00:00
Sampling (1 thread)  90%|████████████████████████████   |  ETA: 0:00:00
Sampling (1 thread)  91%|████████████████████████████▎  |  ETA: 0:00:00
Sampling (1 thread)  92%|████████████████████████████▍  |  ETA: 0:00:00
Sampling (1 thread)  92%|████████████████████████████▌  |  ETA: 0:00:00
Sampling (1 thread)  92%|████████████████████████████▋  |  ETA: 0:00:00
Sampling (1 thread)  93%|████████████████████████████▉  |  ETA: 0:00:00
Sampling (1 thread)  94%|█████████████████████████████  |  ETA: 0:00:00
Sampling (1 thread)  94%|█████████████████████████████▏ |  ETA: 0:00:00
Sampling (1 thread)  94%|█████████████████████████████▎ |  ETA: 0:00:00
Sampling (1 thread)  95%|█████████████████████████████▌ |  ETA: 0:00:00
Sampling (1 thread)  96%|█████████████████████████████▋ |  ETA: 0:00:00
Sampling (1 thread)  96%|█████████████████████████████▊ |  ETA: 0:00:00
Sampling (1 thread)  96%|█████████████████████████████▉ |  ETA: 0:00:00
Sampling (1 thread)  97%|██████████████████████████████▏|  ETA: 0:00:00
Sampling (1 thread)  98%|██████████████████████████████▎|  ETA: 0:00:00
Sampling (1 thread)  98%|██████████████████████████████▍|  ETA: 0:00:00
Sampling (1 thread)  98%|██████████████████████████████▌|  ETA: 0:00:00
Sampling (1 thread)  99%|██████████████████████████████▊|  ETA: 0:00:00
Sampling (1 thread) 100%|██████████████████████████████▉|  ETA: 0:00:00
Sampling (1 thread) 100%|███████████████████████████████| Time: 0:00:00
Sampling (1 thread) 100%|███████████████████████████████| Time: 0:00:00
Generating quantities using uciwweihr_model with wastewater and time-varying hospitalization probability - Prevalence Model!!!
Generating quantities...
Plot saved to plots/mcmc_nontime_varying_parameter_plots1.png
Plot saved to plots/mcmc_ode_solution_plots1.png
1:84
1:84
Plot saved to plots/mcmc_pred_parameter_plots1.png
Plot saved to plots/mcmc_log_prob_trace_plot1.png

3.1. MCMC Diagnostic Plots.

Plot 1

3.2. Time Varying Parameter Results Plot.

Plot 2

3.3. Non-Time Varying Parameter Results Plot.

Plot 3

3.4. ODE Solution Plot.

Plot 4

3.5. Posterior Predictive Distribution Plot.

Plot 4

3.6. Log Prob Trace Plot.

Plot 5

Tutorial Contents