def bc_factors(part, f):    
    bc_tmp = deepcopy(filled)
    for sex in ['m', 'f', 'p']:
        bc_tmp['{}_{}'.format(part, sex)] = bc_tmp['{}_{}'.format(part, sex)] * f

    output = bc_calc(bc_tmp, components=components)        

    output['rate'] = f
    output['part'] = part

    print 'B/C Ratio for {} and factor {} calculated.'.format(part, f)
    return output
Пример #2
0
def bc_factors(part, f):
    bc_tmp = deepcopy(filled)
    for sex in ['m', 'f', 'p']:
        bc_tmp['{}_{}'.format(part,
                              sex)] = bc_tmp['{}_{}'.format(part, sex)] * f

    output = bc_calc(bc_tmp, etype=etype, components=components)

    output['rate'] = f
    output['part'] = part

    print 'B/C Ratio for {} and factor {} calculated.'.format(part, f)
    return output
Пример #3
0
import os
import sys

import pandas as pd
import numpy as np
from copy import deepcopy

# Paths
sys.path.extend([os.path.join(os.path.dirname(__file__), '..')])
filedir = os.path.join(os.path.dirname(__file__))
plots = os.path.join(filedir, '..', 'rslt', 'sensitivity')

from cba_setup import bc_calc, makeflows

etype = 2
filled = makeflows(etype=etype)

# vary discount rate
bc_discount = pd.DataFrame([])
for r in np.arange(0,0.16,0.01) :
	bc_tmp = deepcopy(filled)
	output = bc_calc(bc_tmp, rate=r)
	
	output['rate'] = r
	bc_discount = pd.concat([bc_discount, output], axis=0)
 
	print 'B/C ratio for discount rate {} calculated.'.format(r)

bc_discount.sort_index(inplace=True)
bc_discount.to_csv(os.path.join(plots, 'bc_discount.csv'), index=True)
    
Пример #4
0
## vary DWL: BC
bc_dwl = pd.DataFrame([])
for d in rate_range:
    bc_tmp = deepcopy(filled)
    for sex in ['m', 'f', 'p']:
        for part in [
                'inc_trans_pub_{}'.format(sex), 'diclaim_{}'.format(sex),
                'ssclaim_{}'.format(sex), 'ssiclaim_{}'.format(sex)
        ]:
            bc_tmp[part] = bc_tmp[part] * (d / 0.5)
        for part in ['edu_{}'.format(sex)]:
            bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] = \
                bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] * ((1 + d)/1.5)
        for part in [
                'ccpublic_{}'.format(sex), 'crimepublic_{}'.format(sex),
                'health_public_{}'.format(sex), 'costs_{}'.format(sex)
        ]:
            bc_tmp[part] = bc_tmp[part] * ((1 + d) / 1.5)

    output = bc_calc(bc_tmp)

    output['rate'] = d
    bc_dwl = pd.concat([bc_dwl, output], axis=0)

    print 'B/C Ratio for MCW {} calculated.'.format(d)

bc_dwl.sort_index(inplace=True)
bc_dwl.to_csv(os.path.join(plots, 'bc_dwl.csv'), index=True)

print bc_dwl
Пример #5
0
import sys

import pandas as pd
import numpy as np
from copy import deepcopy

# Paths
sys.path.extend([os.path.join(os.path.dirname(__file__), '..')])
filedir = os.path.join(os.path.dirname(__file__))
plots = os.path.join(filedir, '..', 'rslt', 'sensitivity')
from cba_setup import bc_calc, makeflows
from cba_N import N

etype = 2
filled = makeflows(etype=etype)

# vary discount rate
bc_discount = pd.DataFrame([])
for r in np.arange(0,0.16,0.01) :
	bc_tmp = deepcopy(filled)
	output = bc_calc(bc_tmp, etype=etype, rate=r)
	
	output['rate'] = r
	bc_discount = pd.concat([bc_discount, output], axis=0)
 
	print 'B/C ratio for discount rate {} calculated.'.format(r)

bc_discount.sort_index(inplace=True)
bc_discount.to_csv(os.path.join(plots, 'bc_discount.csv'), index=True)
    
7: P=1, "ITT" with controls  and weights
8: P=1, matching
'''

etype = 2
filled = makeflows(etype=etype)

## vary DWL: BC
bc_dwl = pd.DataFrame([])
for d in rate_range:
    bc_tmp = deepcopy(filled)
    for sex in ['m', 'f', 'p']:
        for part in ['inc_trans_pub_{}'.format(sex), 'diclaim_{}'.format(sex), 'ssclaim_{}'.format(sex), 'ssiclaim_{}'.format(sex)]:
            bc_tmp[part] = bc_tmp[part] * (d/0.5)
        for part in ['edu_{}'.format(sex)]:
            bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] = \
                bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] * ((1 + d)/1.5)
        for part in ['ccpublic_{}'.format(sex), 'crimepublic_{}'.format(sex), 'health_public_{}'.format(sex), 'costs_{}'.format(sex)]:
            bc_tmp[part]  = bc_tmp[part] * ((1+d)/1.5)

    output = bc_calc(bc_tmp)
    
    output['rate'] = d
    bc_dwl = pd.concat([bc_dwl, output], axis=0)
            
    print 'B/C Ratio for MCW {} calculated.'.format(d)

bc_dwl.sort_index(inplace=True)
bc_dwl.to_csv(os.path.join(plots, 'bc_dwl.csv'), index=True)

print bc_dwl
Пример #7
0
8: P=1, matching
'''

etype = 2
filled = makeflows(etype=etype)

## vary DWL: BC
bc_dwl = pd.DataFrame([])
for d in rate_range:
    bc_tmp = deepcopy(filled)
    for sex in ['m', 'f', 'p']:
        for part in ['inc_trans_pub_{}'.format(sex), 'diclaim_{}'.format(sex), 'ssclaim_{}'.format(sex), 'ssiclaim_{}'.format(sex)]:
            bc_tmp[part] = bc_tmp[part] * (d/0.5)
        for part in ['edu_{}'.format(sex), 'm_ed_{}'.format(sex)]:
            bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] = \
                bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] * ((1 + d)/1.5)
        for part in ['ccpublic_{}'.format(sex), 'crimepublic_{}'.format(sex), 'health_public_{}'.format(sex), 'costs_{}'.format(sex)]:
            bc_tmp[part]  = bc_tmp[part] * ((1+d)/1.5)

    output = bc_calc(bc_tmp, etype=etype)
    
    output['rate'] = d
    bc_dwl = pd.concat([bc_dwl, output], axis=0)
            
    print 'B/C Ratio for MCW {} calculated.'.format(d)

bc_dwl.sort_index(inplace=True)
bc_dwl.to_csv(os.path.join(plots, 'bc_dwl.csv'), index=True)

print bc_dwl