71 matrix lexp_latent_int, vector r, array[]
int r_g,
int r_t,
72 int r_seed,
int gt_n, vector lrgt,
int t,
int g,
73 vector pop,
int use_pop, real pop_floor
75 array[g] vector[t] exp_lobs;
82 exp_lobs[k][1] = lexp_latent_int[1, k];
83 exp_lobs[k][(r_seed + 1):t] = exp_lobs[k][1] + cumulative_sum(local_r);
87 vector[gt_n] rgt = exp(lrgt);
93 exp_obs[1:r_seed] = exp(lexp_latent_int[1:r_seed, k]);
96 real cum_cases = sum(exp_obs[1:r_seed]);
98 real infectiousness = dot_product(
99 segment(exp_obs, r_seed + i - gt_n, gt_n), rgt
102 real remaining_susceptible = fmax(0, pop[k] - cum_cases);
103 real denom = fmax(pop_floor, remaining_susceptible);
104 real adj = 1 - exp(-local_R[i] * infectiousness / denom);
105 exp_obs[r_seed + i] = fmax(1e-8, remaining_susceptible * adj);
106 cum_cases += exp_obs[r_seed + i];
111 exp_obs[r_seed + i] = local_R[i] * dot_product(
112 segment(exp_obs, r_seed + i - gt_n, gt_n), rgt
116 exp_lobs[k] = log(exp_obs);
array[] vector log_expected_latent_from_r(matrix lexp_latent_int, vector r, array[] int r_g, int r_t, int r_seed, int gt_n, vector lrgt, int t, int g, vector pop, int use_pop, real pop_floor)