コード例 #1
0
ファイル: plots_ppc_sir.py プロジェクト: sg5g10/VBODE
        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)
コード例 #2
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],