Example #1
0
    dm.clear_fit()
    dm.clear_empirical_prior()
    dismod3.neg_binom_model.covariate_hash = {}

    import fit_world
    fit_world.fit_world(dm, generate_diagnostic_plots=False, store_results=False, map_only=False)
    models[ii] = dm
    #results[ii] = dict(rate_stoch=dm.vars['prevalence+world+all+all']['rate_stoch'].stats(), dispersion=dm.vars['prevalence+world+all+all']['dispersion'].stats())

    ### @export 'save'
    for d in dm.data:
        d['sex'] = 'male'  # otherwise tile plot shows it twice


    reload(book_graphics)
    book_graphics.plot_age_patterns(dm, region='world', year='all', sex='all',
                                    rate_types='remission incidence prevalence'.split())   
    pl.subplot(1,3,1)
    pl.yticks([0, .04, .08], [0,4,8])
    pl.ylabel('Rate (Per 100 PY)')

    #pl.subplot(1,4,2)
    #pl.yticks([0, .04, .08], [0,4,8])

    pl.subplot(1,3,2)
    pl.yticks([0, .0025, .0051], [0,.25,.5])

    pl.subplot(1,3,3)
    pl.yticks([0, .025, .05], [0,2.5,5])

    pl.savefig('hep_c-consistent%d.pdf' % ii)
Example #2
0
dm = initialize_model()
dm.description = 'best version before getting updated data'
prev_data = [d for d in dm.data if d.get('country_iso3_code') == 'GBR']
for d in prev_data:
    d['effective_sample_size'] = 1.e5
dm.params['delta_effect_prevalence'] = dict(mean=3.,
                                            std=.25)
dm.params['global_priors']['decreasing']['prevalence'] = dict(age_start=70, age_end=100)

pf_data = [d for d in dm.data if dm.relevant_to(d, 'prevalence_x_excess-mortality', region, year, sex)]
for d in pf_data + prev_data:
    d['effective_sample_size'] = 1.e5

dm.data = prev_data + pf_data + [d for d in dm.data if dm.relevant_to(d, 'all-cause_mortality', region, year, sex)]

dm.params['global_priors']['smoothness']['prevalence']['amount'] = 'Moderately'
dm.params['global_priors']['smoothness']['incidence']['amount'] = 'Moderately'
fit_posterior.fit_posterior(dm, region, sex, year, map_only=False, store_results=False)
models.append(dm)



for ii, dm in enumerate(models):
    book_graphics.plot_age_patterns(dm, region, year, sex, rate_types='prevalence excess-mortality prevalence_x_excess-mortality'.split(),
                                    yticks={'prevalence': [0, .0006, .0012], 'excess-mortality': [0, 8, 16], 'prevalence_x_excess-mortality': [0, .001, .002]})
    pl.figtext(0, .005,'(%s) %s' % ('abcdefghijklmnopqrstuvqxyz'[ii], dm.description), fontsize=10)
    pl.savefig('cirrhosis-%d.png'%ii)
    pl.savefig('cirrhosis-%d.pdf'%ii)

pl.show()
Example #3
0

def set_birth_prev(value):
    model.vars['logit_C0'].value = mc.logit(pl.maximum(1.e-9, value))


# <codecell>

### @export 'mental'
set_rate('remission', pl.ones_like(ages) * .25)
set_rate('incidence',
         pl.where((ages > 14) & (ages < 65), (65 - ages) * .001, 0.))
set_birth_prev(0)
set_rate('excess-mortality', 1e-4 * pl.ones_like(ages))

book_graphics.plot_age_patterns(model, yticks=[0, .2, .4], panel='a')
pl.savefig('forward-sim-mental.pdf')

# <codecell>

### @export 'congenital'
set_rate('remission', pl.zeros_like(ages))
set_rate('incidence', pl.zeros_like(ages))
set_birth_prev(.2)
set_rate('excess-mortality', .5 * (ages / 100.)**2)

reload(book_graphics)
book_graphics.plot_age_patterns(model, yticks=[0, .2, .4], panel='b')
pl.savefig('forward-sim-congenital.pdf')

# <codecell>
Example #4
0
dm.params['global_priors']['smoothness']['incidence']['amount'] = 'Moderately'
fit_posterior.fit_posterior(dm,
                            region,
                            sex,
                            year,
                            map_only=False,
                            store_results=False)
models.append(dm)

for ii, dm in enumerate(models):
    book_graphics.plot_age_patterns(
        dm,
        region,
        year,
        sex,
        rate_types='prevalence excess-mortality prevalence_x_excess-mortality'.
        split(),
        yticks={
            'prevalence': [0, .0006, .0012],
            'excess-mortality': [0, 8, 16],
            'prevalence_x_excess-mortality': [0, .001, .002]
        })
    pl.figtext(0,
               .005,
               '(%s) %s' % ('abcdefghijklmnopqrstuvqxyz'[ii], dm.description),
               fontsize=10)
    pl.savefig('cirrhosis-%d.png' % ii)
    pl.savefig('cirrhosis-%d.pdf' % ii)

pl.show()
Example #5
0
pl.yticks([0,.25,.5,.75])
pl.ylabel('Prevalence (per 1)')
pl.xlabel('Age (years)')
pl.title('a) All data')


pl.subplot(1,2,2)
dismod3.plotting.plot_intervals(dm, [d for d in dm.data if dm.relevant_to(d, 'prevalence', region, year, sex)],
                                color='black', print_sample_size=False, alpha=.75, plot_error_bars=False,
                                linewidth=1)
book_graphics.plot_rate(dm, dismod3.utils.gbd_key_for('prevalence', region, year, sex), linestyle='-')

pl.axis([10,60,-.01,1])
pl.yticks([0,.25,.5,.75])
pl.ylabel('Prevalence (per 1)')
pl.xlabel('Age (years)')
pl.title('b) North America, High Income, %s'%year)

pl.subplots_adjust(bottom=.15, wspace=.25, top=.85, left=.1, right=.95)

pl.savefig('pms-prev.pdf')

book_graphics.plot_age_patterns(dm, region=region, year=year, sex=sex,
                                xticks=[15, 25, 35, 45, 55], rate_types='incidence remission prevalence'.split(),
                                yticks=dict(incidence=[0, .05, .1, .15, .2], remission=[0, .5, 1, 1.5, 2.], prevalence=[0, .25, .5, .75, 1]))

pl.savefig('pms-consistent.pdf')

### @export 'save'
book_graphics.save_json('pms.json', vars())
Example #6
0
""" Compare age-standardizing model to midpoint approx"""

### @export 'setup'

import sys
sys.path += ['..', '../..']

import pylab as pl
import pymc as mc

import dismod3
import book_graphics
reload(book_graphics)

### @export 'initialize-model'

### @export 'initial-rates'

book_graphics.plot_age_patterns(dm)
pl.savefig('initial.png')
Example #7
0
def set_rate(rate_type, value):
    t = {'incidence':'i', 'remission': 'r', 'excess-mortality': 'f'}[rate_type]
    for i, k_i in enumerate(model.vars[t]['knots']):
        model.vars[t]['gamma'][i].value = pl.log(pl.maximum(1.e-9, value[i]))

def set_birth_prev(value):
    model.vars['logit_C0'].value = mc.logit(pl.maximum(1.e-9, value))


### @export 'congenital'
set_rate('remission', pl.zeros_like(ages))
set_rate('incidence', pl.zeros_like(ages))
set_birth_prev(.2)
set_rate('excess-mortality', .5*(ages/100.)**2)

book_graphics.plot_age_patterns(model, yticks=[0,.2,.4], xticks=[0,25,50,75,100], panel='b')
pl.savefig('book/graphics/forward-sim-congenital.pdf')


### @export 'mental'
set_rate('remission', pl.ones_like(ages)*.25)
set_rate('incidence', pl.where((ages > 14) & (ages < 100), (100-ages)*.001, 0.))
set_birth_prev(0)
set_rate('excess-mortality', 1e-4*pl.ones_like(ages))

book_graphics.plot_age_patterns(model, yticks=[0,.2,.4], panel='a')
pl.savefig('book/graphics/forward-sim-mental.pdf')


### @export 'old_age'
set_rate('remission', pl.ones_like(ages)*0.)
Example #8
0
    import fit_world
    fit_world.fit_world(dm,
                        generate_diagnostic_plots=False,
                        store_results=False,
                        map_only=False)
    models[ii] = dm
    #results[ii] = dict(rate_stoch=dm.vars['prevalence+world+all+all']['rate_stoch'].stats(), dispersion=dm.vars['prevalence+world+all+all']['dispersion'].stats())

    ### @export 'save'
    for d in dm.data:
        d['sex'] = 'male'  # otherwise tile plot shows it twice

    reload(book_graphics)
    book_graphics.plot_age_patterns(
        dm,
        region='world',
        year='all',
        sex='all',
        rate_types='remission incidence prevalence'.split())
    pl.subplot(1, 3, 1)
    pl.yticks([0, .04, .08], [0, 4, 8])
    pl.ylabel('Rate (Per 100 PY)')

    #pl.subplot(1,4,2)
    #pl.yticks([0, .04, .08], [0,4,8])

    pl.subplot(1, 3, 2)
    pl.yticks([0, .0025, .0051], [0, .25, .5])

    pl.subplot(1, 3, 3)
    pl.yticks([0, .025, .05], [0, 2.5, 5])
Example #9
0
""" Compare age-standardizing model to midpoint approx"""


### @export 'setup'

import sys
sys.path += ['..', '../..']

import pylab as pl
import pymc as mc

import dismod3
import book_graphics
reload(book_graphics)


### @export 'initialize-model'


### @export 'initial-rates'

book_graphics.plot_age_patterns(dm)
pl.savefig('initial.png')
Example #10
0
model.input_data = pandas.read_csv('/home/j/Project/dismod/gbd/data/ssas_mx.csv', index_col=None)

for t in types:
    model.parameters[t]['parameter_age_mesh'] = [0, 5, 15, 25, 35, 45, 55, 65, 75, 100]

model.vars = consistent_model.consistent_model(model, 'all', 'total', 'all', {})
for i, k_i in enumerate(model.parameters[t]['parameter_age_mesh']):
    model.vars['i']['gamma'][i].value = pl.log(k_i*.0001 + .001)
    model.vars['r']['gamma'][i].value = pl.log(.1)
    model.vars['f']['gamma'][i].value = pl.log(.05)

# <codecell>

### @export 'initial-rates'
reload(book_graphics)
book_graphics.plot_age_patterns(model, types='i r m f p'.split(), xticks=[0,50,100],
                                yticks=dict(i=[0,.01,.02], r=[0,.05,.1], m=[0,.2,.4], f=[0,.05,.1], p=[0,.05,.1]))
pl.subplots_adjust(wspace=.5)
pl.savefig('book/graphics/initial.pdf')

# <codecell>

### @export 'more-remission'
reload(book_graphics)
for i, k_i in enumerate(model.parameters[t]['parameter_age_mesh']):
    model.vars['f']['gamma'][i].value = pl.log(k_i*.005 + .001)
book_graphics.plot_age_patterns(model, types='i r m f p'.split(), xticks=[0,50,100],
                                yticks=dict(i=[0,.01,.02], r=[0,.05,.1], m=[0,.2,.4], f=[0,.3,.6], p=[0,.01,.02]),
                                panel='a')
pl.subplots_adjust(wspace=.5)
pl.savefig('book/graphics/more-excess-mortality.pdf')
# <codecell>