def example_map(sp_sub): """ This function should convert sp_sub to the quantity to be mapped, in this case the inverse-logit of f. """ f = sp_sub.copy('F') p = invlogit(f) return p
def unexposed_risk(sp_sub): pr = sp_sub.copy('F') pr = invlogit(pr) pr[np.where(pr==0)]=1e-10 pr[np.where(pr==1)]=1-(1e-10) ur = 1-np.exp(-r*k*((1-pr)**(-1./k)-1)*trip_duration) ur[np.where(ur==0)]=1e-10 ur[np.where(ur==1)]=1-(1e-10) return ur
def incidence(sp_sub, two_ten_facs=two_ten_factors, p2b = BurdenPredictor('CSE_Asia_and_Americas_scale_0.6_model_exp.hdf5', N_year), N_year = N_year): pr = sp_sub.copy('F') pr = invlogit(pr) * two_ten_facs[np.random.randint(len(two_ten_facs))] i = np.random.randint(len(p2b.f)) mu = p2b.f[i](pr) # Uncomment and draw a negative binomial variate to get incidence over a finite time horizon. r = (p2b.r_int[i] + p2b.r_lin[i] * pr + p2b.r_quad[i] * pr**2) ar = pm.rgamma(beta=r/mu, alpha=r*N_year) #out = (1-np.exp(-ar)) # what we originally produced e.g. for Afghanistan out = ar # effectively what we did for burden paper out[np.where(out==0)]=1e-10 out[np.where(out==1)]=1-(1e-10) return out
def male_def(sp_sub): allele = sp_sub.copy('F') allele = invlogit(allele) return allele
def pr(sp_sub): pr = sp_sub.copy('F') return invlogit(pr)
def pr(sp_sub, two_ten_facs=two_ten_factors): pr = sp_sub.copy('F') pr = invlogit(pr) * two_ten_facs[np.random.randint(len(two_ten_facs))] return pr