コード例 #1
0
def examplev1():
    # length of our base campaign
    duration = 30
    # estimate per-day probability needed for a coverage of 30%
    prob = cv.historical_vaccinate_prob.estimate_prob(duration=duration,
                                                      coverage=0.30)
    print('using per-day probability of ', prob)

    pfizer = cv.historical_vaccinate_prob(vaccine='pfizer',
                                          days=np.arange(-duration, 0),
                                          prob=prob)
    sim = cv.Sim(interventions=pfizer, use_waning=True)

    sim.run()

    to_plot = cv.get_default_plots(kind='sim')
    to_plot['Total counts'] += ['cum_vaccinated']
    to_plot['Daily counts'] += ['new_doses']
    sim.plot(to_plot=to_plot)
コード例 #2
0
def examplev3():
    pars = {'use_waning': True}
    variants = [cv.variant('b117', days=30, n_imports=10)]
    sim = cv.Sim(pars=pars, variants=variants)

    # length of our base campaign
    duration = 30
    # estimate per-day probability needed for a coverage of 30%
    prob = cv.historical_vaccinate_prob.estimate_prob(duration=duration,
                                                      coverage=0.30)
    print('using per-day probability of ', prob)

    scenarios = {
        'scen1': {
            'name': 'both doses',
            'pars': {
                'interventions': [
                    cv.historical_vaccinate_prob(vaccine='pfizer',
                                                 days=np.arange(-duration, 0),
                                                 prob=prob)
                ]
            }
        },
        'scen3': {
            'name': 'first dose only',
            'pars': {
                'interventions': [
                    cv.historical_vaccinate_prob(vaccine='pfizer',
                                                 days=np.arange(-duration, 0),
                                                 prob=prob,
                                                 compliance=[1.0, 0.0])
                ]
            }
        },
    }

    scens = cv.Scenarios(sim=sim, scenarios=scenarios)
    scens.run()
    to_plot = cv.get_default_plots(kind='scenarios')
    to_plot.pop(2)
    to_plot.update({'Cumulative doses': ['cum_vaccinated', 'cum_doses']})
    scens.plot(to_plot=to_plot)
コード例 #3
0
                 pars=pars,
                 interventions=vx,
                 analyzers=placebo_arm(day=start_trial,
                                       trial_size=trial_size // 2))
    sims.append(sim)

# Run
msim = cv.MultiSim(sims)
msim.run(keep_people=True)

results = sc.objdict()
print('Vaccine efficiency for symptomatic covid:')
for sim in msim.sims:
    vaccine = sim.label
    vacc_inds = cv.true(sim.people.vaccinated
                        )  # Find trial arm indices, those who were vaccinated
    placebo_inds = sim['analyzers'][0].placebo_inds
    assert (len(set(vacc_inds).intersection(set(placebo_inds))) == 0
            )  # Check that there is no overlap
    # Calculate vaccine efficiency
    VE = 1 - (np.isfinite(sim.people.date_symptomatic[vacc_inds]).sum() /
              np.isfinite(sim.people.date_symptomatic[placebo_inds]).sum())
    results[vaccine] = VE
    print(f'  {vaccine:8s}: {VE*100:0.2f}%')

# Plot
to_plot = cv.get_default_plots('default', 'scen')
to_plot['Vaccinations'] = ['cum_vaccinated']
msim.plot(to_plot=to_plot)

print('Done')
コード例 #4
0
    return {'vals': [1.0 for ind in inds], 'inds': inds}


pfizer = cv.vaccinate(vaccine='pfizer',
                      days=[start_trial],
                      prob=0.0,
                      subtarget=subtarget)

sim = cv.Sim(use_waning=True,
             pars=pars,
             interventions=pfizer,
             analyzers=placebo_arm(day=start_trial,
                                   trial_size=trial_size // 2))
sim.run()

# Find trial arm indices, those who were vaccinated
vacc_inds = cv.true(sim.people.vaccinated)
placebo_inds = sim['analyzers'][0].placebo_inds
# Check that there is no overlap
assert (len(set(vacc_inds).intersection(set(placebo_inds))) == 0)
# Calculate vaccine efficiency
VE = 1 - (np.isfinite(sim.people.date_symptomatic[vacc_inds]).sum() /
          np.isfinite(sim.people.date_symptomatic[placebo_inds]).sum())
print('Vaccine efficiency for symptomatic covid:', VE)

# Plot
to_plot = cv.get_default_plots('default', 'sim')
to_plot['Health outcomes'] += ['cum_vaccinated']
sim.plot(to_plot=to_plot)

print('Done')