G = 1.12 lmd1 = -0.968 beta1 = -0.571 # w.r.t. mm lmd2 = 0.122 beta2 = -0.305 # w.r.t. mm lmd3 = 0.829 beta3 = -0.423 # w.r.t. mm sigmae = 0.2 # mm life = 5 lifearray = np.arange(life) + 1. if __name__ == '__main__': # random variables rv_a0 = stats.norm(0.5, 0.5 * 0.1) rv_m = stats.norm(3.0, 3.0 * 0.05) [logmean, logstd] = lognstats(2.3e-12, 0.3 * 2.3e-12) # [logmean, logstd] = lognstats(4.5e-13, 0.3*4.5e-13) rv_C = stats.lognorm(logstd, scale=np.exp(logmean)) [wblscale, wblc] = wblstats(22.5, 0.1 * 22.5) rv_Sre = stats.weibull_min(wblc, scale=wblscale) [logmean, logstd] = lognstats(2e6, 0.1 * 2e6) rv_Na = stats.lognorm(logstd, scale=np.exp(logmean)) # network model # create nodes node_m = Node("M", parents=None, rvname='normal', rv=rv_m) node_k = Node("K", parents=[node_m], rvname='continuous') node_a0 = Node('a0', parents=None, rvname='normal', rv=rv_a0) aarray = [node_a0] marray = [] for i in range(life):
from soliman2014_funcs import ksmp_mc, aismp_mc, msr2k, mc2k, mc2ai trunclmd = 100. if __name__ == '__main__': # parameters nsmp = 1e6 G = 1.12 lmd = 0.122; beta = -0.305 # w.r.t. mm sigmae = 0.2 # mm acrit = 30. life=5; lifearray = np.arange(life)+1. # random variables rv_a0 = stats.norm(0.5, 0.5*0.1) rv_m = stats.norm(3.0, 3.0*0.05) [logmean, logstd] = lognstats(2.3e-12, 0.3*2.3e-12) # [logmean, logstd] = lognstats(4.5e-13, 0.3*4.5e-13) rv_C = stats.lognorm(logstd, scale=np.exp(logmean)) [wblscale, wblc] = wblstats(22.5, 0.1*22.5) rv_Sre = stats.weibull_min(wblc, scale=wblscale) [logmean, logstd] = lognstats(2e6, 0.1*2e6) rv_Na = stats.lognorm(logstd, scale=np.exp(logmean)) # network model # create nodes node_m = Node("M", parents=None, rvname='normal', rv=rv_m) node_k = Node("K", parents=[node_m], rvname='continuous') node_a0 = Node('a0', parents=None, rvname='normal', rv=rv_a0) aarray = [node_a0] marray=[] for i in range(life):
from soliman2014_funcs import lognstats, wblstats, ksmp_mc, rolnR if __name__ == '__main__': # crude MC for no evidence nsmp = int(1e6) G = 1.12 lmd = 0.122; beta = -0.305 # w.r.t. mm sigmae = 0.2 # mm acrit = 30. life=5; lifearray = np.arange(life)+1. # random variables a0mean,a0std = 0.5, 0.5*0.1 rv_a0 = stats.norm(a0mean,a0std) mmean,mstd = 3.0, 3.0*0.05 rv_m = stats.norm(mmean, mstd) [logCmean, logCstd] = lognstats(2.3e-12, 0.3*2.3e-12) # [logCmean, logCstd] = lognstats(4.5e-13, 0.3*4.5e-13) rv_C = stats.lognorm(logCstd, scale=np.exp(logCmean)) [wblscale, wblc] = wblstats(22.5, 0.1*22.5) rv_Sre = stats.weibull_min(wblc, scale=wblscale) [logNamean, logNastd] = lognstats(2e6, 0.1*2e6) rv_Na = stats.lognorm(logNastd, scale=np.exp(logNamean)) # crude MC # correlate Csmp and msmp msmp = rv_m.rvs(size=nsmp) umsmp = (msmp-mmean)/mstd uLogCsmp0 = stats.norm.rvs(size=nsmp) uLogCsmp = -np.sqrt(rolnR**2)*umsmp-np.sqrt(1-rolnR**2)*uLogCsmp0 #correlated logC Csmp = np.exp(logCmean+uLogCsmp*logCstd) # other variables Sresmp = rv_Sre.rvs(size=nsmp)
if __name__ == '__main__': # crude MC for no evidence nsmp = int(1e6) G = 1.12 lmd = 0.122; beta = -0.305 # w.r.t. mm sigmae = 0.2 # mm life=20; lifearray = np.arange(life+1.) lifearray1 = np.arange(0, life+1., 5.) # random variables a0mean,a0std = 0.5, 0.5*0.1 rv_a0 = stats.norm(a0mean,a0std) mmean,mstd = 3.0, 3.0*0.1 rv_m = stats.norm(mmean, mstd) [logCmean, logCstd] = lognstats(2.3e-12, 0.3*2.3e-12) rv_C = stats.lognorm(logCstd, scale=np.exp(logCmean)) [wblscale, wblc] = wblstats(22.5, 0.1*22.5) rv_Sre = stats.weibull_min(wblc, scale=wblscale) [logNamean, logNastd] = lognstats(1e6, 0.1*1e6) rv_Na = stats.lognorm(logNastd, scale=np.exp(logNamean)) [logNamean1, logNastd1] = lognstats(5e6, 0.1*5e6) rv_Na1 = stats.lognorm(logNastd1, scale=np.exp(logNamean1)) # crude MC # correlate Csmp and msmp msmp = rv_m.rvs(size=nsmp) umsmp = (msmp-mmean)/mstd uLogCsmp0 = stats.norm.rvs(size=nsmp) uLogCsmp = -np.sqrt(rolnR**2)*umsmp-np.sqrt(1-rolnR**2)*uLogCsmp0 #correlated logC Csmp = np.exp(logCmean+uLogCsmp*logCstd) # other variables
if __name__ == '__main__': # crude MC for no evidence nsmp = int(1e6) G = 1.12 lmd = 0.122 beta = -0.305 # w.r.t. mm sigmae = 0.2 # mm life = 20 lifearray = np.arange(life + 1.) lifearray1 = np.arange(0, life + 1., 5.) # random variables a0mean, a0std = 0.5, 0.5 * 0.1 rv_a0 = stats.norm(a0mean, a0std) mmean, mstd = 3.0, 3.0 * 0.1 rv_m = stats.norm(mmean, mstd) [logCmean, logCstd] = lognstats(2.3e-12, 0.3 * 2.3e-12) rv_C = stats.lognorm(logCstd, scale=np.exp(logCmean)) [wblscale, wblc] = wblstats(22.5, 0.1 * 22.5) rv_Sre = stats.weibull_min(wblc, scale=wblscale) [logNamean, logNastd] = lognstats(1e6, 0.1 * 1e6) rv_Na = stats.lognorm(logNastd, scale=np.exp(logNamean)) [logNamean1, logNastd1] = lognstats(5e6, 0.1 * 5e6) rv_Na1 = stats.lognorm(logNastd1, scale=np.exp(logNamean1)) # crude MC # correlate Csmp and msmp msmp = rv_m.rvs(size=nsmp) umsmp = (msmp - mmean) / mstd uLogCsmp0 = stats.norm.rvs(size=nsmp) uLogCsmp = -np.sqrt( rolnR**2) * umsmp - np.sqrt(1 - rolnR**2) * uLogCsmp0 #correlated logC Csmp = np.exp(logCmean + uLogCsmp * logCstd)
if __name__ == "__main__": # crude MC for no evidence nsmp = int(1e6) G = 1.12 lmd = 0.122 beta = -0.305 # w.r.t. mm sigmae = 0.2 # mm acrit = 30.0 life = 5 lifearray = np.arange(life) + 1.0 # random variables a0mean, a0std = 0.5, 0.5 * 0.1 rv_a0 = stats.norm(a0mean, a0std) mmean, mstd = 3.0, 3.0 * 0.05 rv_m = stats.norm(mmean, mstd) [logCmean, logCstd] = lognstats(2.3e-12, 0.3 * 2.3e-12) # [logCmean, logCstd] = lognstats(4.5e-13, 0.3*4.5e-13) rv_C = stats.lognorm(logCstd, scale=np.exp(logCmean)) [wblscale, wblc] = wblstats(22.5, 0.1 * 22.5) rv_Sre = stats.weibull_min(wblc, scale=wblscale) [logNamean, logNastd] = lognstats(2e6, 0.1 * 2e6) rv_Na = stats.lognorm(logNastd, scale=np.exp(logNamean)) # crude MC # correlate Csmp and msmp msmp = rv_m.rvs(size=nsmp) umsmp = (msmp - mmean) / mstd uLogCsmp0 = stats.norm.rvs(size=nsmp) uLogCsmp = -np.sqrt(rolnR ** 2) * umsmp - np.sqrt(1 - rolnR ** 2) * uLogCsmp0 # correlated logC Csmp = np.exp(logCmean + uLogCsmp * logCstd) # other variables Sresmp = rv_Sre.rvs(size=nsmp)