times, 1e-5, 1e-6, [0.9,0.1,0.0]) sir_ode_model_adj = AdjointSensManualJacobians(rhs_f, jac_x_f, jac_p_f, 3, 5, \ times, 1e-5, 1e-6, [0.9,0.1,0.0]) sir_ode_model_adj.set_checkpointed() mc_for_ppc = [] vb_for_ppc = [] mc_adj_ppc = [] vb_adj_ppc = [] for i in range(1000): sir_ode_model_for.set_y0([mc_for[i,2],1-mc_for[i,2],0]) mc_for_ppc.append(sir_ode_model_for.solve(mc_for[i,:2])[:,1]*300) sir_ode_model_for.set_y0([vb_for[i,2],1-vb_for[i,2],0]) vb_for_ppc.append(sir_ode_model_for.solve(vb_for[i,:2])[:,1]*300) sir_ode_model_adj.set_y0([mc_adj[i,2],1-mc_adj[i,2],0]) mc_adj_ppc.append(sir_ode_model_adj.solve(mc_adj[i,:2])[:,1]*300) sir_ode_model_adj.set_y0([vb_adj[i,2],1-vb_adj[i,2],0]) vb_adj_ppc.append(sir_ode_model_adj.solve(vb_adj[i,:2])[:,1]*300) mc_for_ppc = np.random.poisson(np.array(mc_for_ppc)) vb_for_ppc = np.random.poisson(np.array(vb_for_ppc)) mc_adj_ppc = np.random.poisson(np.array(mc_adj_ppc)) vb_adj_ppc = np.random.poisson(np.array(vb_adj_ppc)) mean_ppc_vb_for = vb_for_ppc.mean(axis=0) CriL_ppc_vb_for = np.percentile(vb_for_ppc,q=2.5,axis=0) CriU_ppc_vb_for = np.percentile(vb_for_ppc,q=97.5,axis=0) mean_ppc_mc_for = mc_for_ppc.mean(axis=0) CriL_ppc_mc_for = np.percentile(mc_for_ppc,q=2.5,axis=0) CriU_ppc_mc_for = np.percentile(mc_for_ppc,q=97.5,axis=0)
pairwise(mc_adj, parameter_names=param_names, saveto='./figures/ppc_protein/pairwise_mc_adj.png', nbins=100) mc_for_ppc = [] vb_for_ppc = [] mc_adj_ppc = [] vb_adj_ppc = [] PPC_samples = 1000 for i in range(PPC_samples): mc_for_ppc.append(pr_ode_model_for.solve(mc_for[i, :-1])) vb_for_ppc.append(pr_ode_model_for.solve(vb_for[i, :-1])) mc_adj_ppc.append(pr_ode_model_adj.solve(mc_adj[i, :-1])) vb_adj_ppc.append(pr_ode_model_adj.solve(vb_adj[i, :-1])) mc_for_ppc = np.array(mc_for_ppc) vb_for_ppc = np.array(vb_for_ppc) mc_adj_ppc = np.array(mc_adj_ppc) vb_adj_ppc = np.array(vb_adj_ppc) for i in range(15): for j in range(5): mc_for_ppc[:, i, j] = np.random.normal(mc_for_ppc[:, i, j], mc_for[:PPC_samples, -1]) vb_for_ppc[:, i, j] = np.random.normal(vb_for_ppc[:, i, j], vb_for[:PPC_samples, -1]) mc_adj_ppc[:, i, j] = np.random.normal(mc_adj_ppc[:, i, j], mc_adj[:PPC_samples, -1]) vb_adj_ppc[:, i, j] = np.random.normal(vb_adj_ppc[:, i, j],