diff --git a/Examples/Example07/runfile_Example07e_custom_logLikelihood - Copy.py b/Examples/Example07/runfile_Example07e_custom_logLikelihood.py similarity index 100% rename from Examples/Example07/runfile_Example07e_custom_logLikelihood - Copy.py rename to Examples/Example07/runfile_Example07e_custom_logLikelihood.py diff --git a/Examples/Example12NoScaling/processing_function_mem_reactor_km_only.py b/Examples/Example12NoScaling/processing_function_mem_reactor_km_only.py index af60c8c8..06bfd0b4 100644 --- a/Examples/Example12NoScaling/processing_function_mem_reactor_km_only.py +++ b/Examples/Example12NoScaling/processing_function_mem_reactor_km_only.py @@ -16,6 +16,7 @@ k_minus_1 = 1 def cmr(theta,V,k_1,k_minus_1,k_B,T0): + F_A, F_B = theta F_T = F_A + F_B C_T0 = P0 / (R * T0) @@ -27,7 +28,8 @@ def cmr(theta,V,k_1,k_minus_1,k_B,T0): return dFdV def mem_reactor(sample): - sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample, T)) + #sample should be a list with 1 value. + sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample[0], T)) conc_sol_last=sol[-1,:].T # print('km',sample) # print('F_A',conc_sol_last[0]) diff --git a/Examples/Example12NoScaling/runfile_Example12_km_only.py b/Examples/Example12NoScaling/runfile_Example12_km_only.py index f1ef9857..80757982 100644 --- a/Examples/Example12NoScaling/runfile_Example12_km_only.py +++ b/Examples/Example12NoScaling/runfile_Example12_km_only.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -69,18 +69,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -92,7 +93,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example12withScaling1E-3/processing_function_mem_reactor_km_only.py b/Examples/Example12withScaling1E-3/processing_function_mem_reactor_km_only.py index af60c8c8..06bfd0b4 100644 --- a/Examples/Example12withScaling1E-3/processing_function_mem_reactor_km_only.py +++ b/Examples/Example12withScaling1E-3/processing_function_mem_reactor_km_only.py @@ -16,6 +16,7 @@ k_minus_1 = 1 def cmr(theta,V,k_1,k_minus_1,k_B,T0): + F_A, F_B = theta F_T = F_A + F_B C_T0 = P0 / (R * T0) @@ -27,7 +28,8 @@ def cmr(theta,V,k_1,k_minus_1,k_B,T0): return dFdV def mem_reactor(sample): - sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample, T)) + #sample should be a list with 1 value. + sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample[0], T)) conc_sol_last=sol[-1,:].T # print('km',sample) # print('F_A',conc_sol_last[0]) diff --git a/Examples/Example12withScaling1E-3/runfile_Example12_km_only_fixed_scaling.py b/Examples/Example12withScaling1E-3/runfile_Example12_km_only_fixed_scaling.py index 3db7c6ab..ec658e13 100644 --- a/Examples/Example12withScaling1E-3/runfile_Example12_km_only_fixed_scaling.py +++ b/Examples/Example12withScaling1E-3/runfile_Example12_km_only_fixed_scaling.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -69,18 +69,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -92,7 +93,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example12withScaling1E13/processing_function_mem_reactor_km_only.py b/Examples/Example12withScaling1E13/processing_function_mem_reactor_km_only.py index af60c8c8..06bfd0b4 100644 --- a/Examples/Example12withScaling1E13/processing_function_mem_reactor_km_only.py +++ b/Examples/Example12withScaling1E13/processing_function_mem_reactor_km_only.py @@ -16,6 +16,7 @@ k_minus_1 = 1 def cmr(theta,V,k_1,k_minus_1,k_B,T0): + F_A, F_B = theta F_T = F_A + F_B C_T0 = P0 / (R * T0) @@ -27,7 +28,8 @@ def cmr(theta,V,k_1,k_minus_1,k_B,T0): return dFdV def mem_reactor(sample): - sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample, T)) + #sample should be a list with 1 value. + sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample[0], T)) conc_sol_last=sol[-1,:].T # print('km',sample) # print('F_A',conc_sol_last[0]) diff --git a/Examples/Example12withScaling1E13/runfile_Example12_km_only_fixed_scaling.py b/Examples/Example12withScaling1E13/runfile_Example12_km_only_fixed_scaling.py index 71026002..bd4e4dfa 100644 --- a/Examples/Example12withScaling1E13/runfile_Example12_km_only_fixed_scaling.py +++ b/Examples/Example12withScaling1E13/runfile_Example12_km_only_fixed_scaling.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -71,18 +71,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -94,7 +95,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example12withScaling1E2/processing_function_mem_reactor_km_only.py b/Examples/Example12withScaling1E2/processing_function_mem_reactor_km_only.py index af60c8c8..06bfd0b4 100644 --- a/Examples/Example12withScaling1E2/processing_function_mem_reactor_km_only.py +++ b/Examples/Example12withScaling1E2/processing_function_mem_reactor_km_only.py @@ -16,6 +16,7 @@ k_minus_1 = 1 def cmr(theta,V,k_1,k_minus_1,k_B,T0): + F_A, F_B = theta F_T = F_A + F_B C_T0 = P0 / (R * T0) @@ -27,7 +28,8 @@ def cmr(theta,V,k_1,k_minus_1,k_B,T0): return dFdV def mem_reactor(sample): - sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample, T)) + #sample should be a list with 1 value. + sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample[0], T)) conc_sol_last=sol[-1,:].T # print('km',sample) # print('F_A',conc_sol_last[0]) diff --git a/Examples/Example12withScaling1E2/runfile_Example12_km_only_fixed_scaling.py b/Examples/Example12withScaling1E2/runfile_Example12_km_only_fixed_scaling.py index 4315b90e..1ed81e06 100644 --- a/Examples/Example12withScaling1E2/runfile_Example12_km_only_fixed_scaling.py +++ b/Examples/Example12withScaling1E2/runfile_Example12_km_only_fixed_scaling.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -69,18 +69,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -92,7 +93,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example12withScaling1E5/processing_function_mem_reactor_km_only.py b/Examples/Example12withScaling1E5/processing_function_mem_reactor_km_only.py index af60c8c8..06bfd0b4 100644 --- a/Examples/Example12withScaling1E5/processing_function_mem_reactor_km_only.py +++ b/Examples/Example12withScaling1E5/processing_function_mem_reactor_km_only.py @@ -16,6 +16,7 @@ k_minus_1 = 1 def cmr(theta,V,k_1,k_minus_1,k_B,T0): + F_A, F_B = theta F_T = F_A + F_B C_T0 = P0 / (R * T0) @@ -27,7 +28,8 @@ def cmr(theta,V,k_1,k_minus_1,k_B,T0): return dFdV def mem_reactor(sample): - sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample, T)) + #sample should be a list with 1 value. + sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample[0], T)) conc_sol_last=sol[-1,:].T # print('km',sample) # print('F_A',conc_sol_last[0]) diff --git a/Examples/Example12withScaling1E5/runfile_Example12_km_only_fixed_scaling.py b/Examples/Example12withScaling1E5/runfile_Example12_km_only_fixed_scaling.py index 38faf02e..4a61895b 100644 --- a/Examples/Example12withScaling1E5/runfile_Example12_km_only_fixed_scaling.py +++ b/Examples/Example12withScaling1E5/runfile_Example12_km_only_fixed_scaling.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -69,18 +69,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -92,7 +93,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example12withScaling2E3/processing_function_mem_reactor_km_only.py b/Examples/Example12withScaling2E3/processing_function_mem_reactor_km_only.py index ba345500..06bfd0b4 100644 --- a/Examples/Example12withScaling2E3/processing_function_mem_reactor_km_only.py +++ b/Examples/Example12withScaling2E3/processing_function_mem_reactor_km_only.py @@ -16,18 +16,20 @@ k_minus_1 = 1 def cmr(theta,V,k_1,k_minus_1,k_B,T0): + F_A, F_B = theta F_T = F_A + F_B C_T0 = P0 / (R * T0) C_A = C_T0 * F_A / F_T C_B = C_T0 * F_B / F_T r_A = k_1*C_A - k_minus_1*C_B - R_B = np.array(k_B)*np.array(C_B) + R_B = k_B*C_B dFdV = [-r_A, r_A - R_B] return dFdV def mem_reactor(sample): - sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample, T)) + #sample should be a list with 1 value. + sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample[0], T)) conc_sol_last=sol[-1,:].T # print('km',sample) # print('F_A',conc_sol_last[0]) diff --git a/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_no_offset.py b/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_no_offset.py index 7fe33e8e..2fcf6219 100644 --- a/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_no_offset.py +++ b/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_no_offset.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -69,18 +69,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -92,7 +93,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling.py b/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling.py index 883e85aa..9e733e43 100644 --- a/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling.py +++ b/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -69,19 +69,21 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) - + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) + + fun.k_1 = 1e2 fun.k_minus_1 = 1 prior = np.random.normal(2e3,1e3,10000) @@ -92,7 +94,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling_neg_1std_offset.py b/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling_neg_1std_offset.py index 1487dc8f..26f4e026 100644 --- a/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling_neg_1std_offset.py +++ b/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling_neg_1std_offset.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -70,18 +70,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -94,7 +95,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling_pos_1std_offset.py b/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling_pos_1std_offset.py index cf488597..be5aeaa4 100644 --- a/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling_pos_1std_offset.py +++ b/Examples/Example12withScaling2E3/runfile_Example12_km_only_fixed_scaling_pos_1std_offset.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -69,18 +69,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -92,7 +93,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example12withScaling_std/graphs/_.txt b/Examples/Example12withScaling_std/graphs/_.txt new file mode 100644 index 00000000..e69de29b diff --git a/Examples/Example12withScaling_std/info_gain_surface_mem_reactor.png b/Examples/Example12withScaling_std/info_gain_surface_mem_reactor.png index 1331592e..0fd32fc2 100644 Binary files a/Examples/Example12withScaling_std/info_gain_surface_mem_reactor.png and b/Examples/Example12withScaling_std/info_gain_surface_mem_reactor.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/_.txt b/Examples/Example12withScaling_std/km_only_figures/_.txt new file mode 100644 index 00000000..e69de29b diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_100.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_100.0.png index ffaf90e5..e5c184e7 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_100.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_100.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_1100.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_1100.0.png index 77609df6..ca8d6948 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_1100.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_1100.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_350.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_350.0.png index 6821f09a..4dc953f1 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_350.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_350.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_600.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_600.0.png index d884b187..0179727d 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_600.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_600.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_850.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_850.0.png index aff7fd2d..504e24f5 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_850.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_298.15_V_850.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_100.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_100.0.png index 6330b13e..428c706d 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_100.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_100.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_1100.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_1100.0.png index a001af98..857f23ed 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_1100.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_1100.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_350.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_350.0.png index 1089facd..426ad5cb 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_350.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_350.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_600.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_600.0.png index 85b1cdff..d80b71a6 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_600.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_600.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_850.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_850.0.png index e4189fa9..ced90f25 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_850.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_398.15_V_850.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_100.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_100.0.png index d432a05e..6d41b160 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_100.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_100.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_1100.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_1100.0.png index f4f76a31..8cc84959 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_1100.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_1100.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_350.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_350.0.png index 8df61967..ba8a9a1f 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_350.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_350.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_600.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_600.0.png index 0a0d6130..278f9796 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_600.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_600.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_850.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_850.0.png index 9ac0101b..83d5cc36 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_850.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_498.15_V_850.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_100.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_100.0.png index 6a1546e8..17d1bf74 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_100.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_100.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_1100.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_1100.0.png index 08f540a2..c3be9b26 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_1100.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_1100.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_350.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_350.0.png index 06c86ade..c895dd7d 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_350.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_350.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_600.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_600.0.png index 51f28f35..ccb14b50 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_600.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_600.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_850.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_850.0.png index 2478afe8..882d29de 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_850.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_598.15_V_850.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_100.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_100.0.png index 7082766c..5442de9d 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_100.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_100.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_1100.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_1100.0.png index eb6a6a6a..8fc681a3 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_1100.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_1100.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_350.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_350.0.png index 9ddf5a4c..849507d0 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_350.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_350.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_600.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_600.0.png index 34ecbfdb..48a78f8c 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_600.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_600.0.png differ diff --git a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_850.0.png b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_850.0.png index e25de62f..3d3073e4 100644 Binary files a/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_850.0.png and b/Examples/Example12withScaling_std/km_only_figures/prior_and_posterior_histogram_T_698.15_V_850.0.png differ diff --git a/Examples/Example12withScaling_std/logs_and_csvs/mcmc_burn_in_logP_and_parameter_samples.csv b/Examples/Example12withScaling_std/logs_and_csvs/mcmc_burn_in_logP_and_parameter_samples.csv new file mode 100644 index 00000000..c6fbf745 --- /dev/null +++ b/Examples/Example12withScaling_std/logs_and_csvs/mcmc_burn_in_logP_and_parameter_samples.csv @@ -0,0 +1,100 @@ +1.574145939018800622e+00,3.000000000000000000e+03 +1.089570673254137922e+00,3.394454096145167568e+03 +9.554266684623349271e-01,3.483931968104733642e+03 +2.163347558541466320e-01,3.901530629894554750e+03 +6.260528707953914029e-01,3.683004652663501929e+03 +6.664024500249969840e-01,3.659924215746514619e+03 +5.025689993301725167e-01,3.751736831925892602e+03 +1.755918865060386302e-01,3.921910040612940520e+03 +1.205296642334587887e-01,3.949117401417077872e+03 +1.205296642334587887e-01,3.949117401417077872e+03 +-3.438264138027857797e-02,4.023729249252615773e+03 +-7.977437275598702193e-01,4.357815486386644807e+03 +-6.862147407082819228e-01,4.311940703994028809e+03 +5.220496501357958508e-01,3.741074826587062034e+03 +5.220496501357958508e-01,3.741074826587062034e+03 +-5.357385670047825066e-01,4.248607389735138895e+03 +1.725935994119258687e-01,3.923401338480621234e+03 +1.725935994119258687e-01,3.923401338480621234e+03 +1.725935994119258687e-01,3.923401338480621234e+03 +5.513995678908516496e-01,3.724886410364980748e+03 +1.245732370250801191e+00,3.281966855110960296e+03 +8.393426735983235965e-01,3.557068214530127534e+03 +3.637196120627756990e-01,3.825928522195913501e+03 +7.827627244493542413e-01,3.591464951406015189e+03 +1.256338905286732199e+00,3.273939287725893792e+03 +1.399064612671473862e+00,3.159977595398116136e+03 +1.509834431871104332e+00,3.062021203638280440e+03 +1.817694377169674524e+00,2.701142674050262940e+03 +1.845800922381043430e+00,2.653572501239184021e+03 +1.929213958644679927e+00,2.453340090998480719e+03 +1.900293832675969297e+00,2.539854119586258548e+03 +1.902774544756334008e+00,2.533552381753993359e+03 +1.858937276416949169e+00,2.629330299697558530e+03 +1.919133628626357835e+00,2.487491567587496320e+03 +1.940148876759350438e+00,2.406380177049018585e+03 +1.948497894270583952e+00,2.224555140818757081e+03 +1.751294996826899819e+00,1.838546616099870334e+03 +1.176981165063596624e+00,1.474023184037484043e+03 +1.391157990794300359e+00,1.577504442251114824e+03 +1.642313869935165149e+00,1.740534048129365829e+03 +1.677358235154587263e+00,1.769375503768301769e+03 +1.770880215286577464e+00,1.859341829753484490e+03 +1.597171289423926943e+00,1.706213638251449083e+03 +1.493254015400995005e+00,1.636548374211549799e+03 +1.513261467562524443e+00,1.649107326532074921e+03 +1.513261467562524443e+00,1.649107326532074921e+03 +1.762732677574944340e+00,1.850538252608263974e+03 +1.846224706968651486e+00,1.954663539588834738e+03 +1.450991732364089515e+00,1.611149008336761426e+03 +1.784624357515914639e+00,1.874732133496864435e+03 +1.747345672674704309e+00,1.834499717125173902e+03 +1.647095081807891770e+00,1.744346611085888071e+03 +1.883944465224863807e+00,2.017693638699350231e+03 +1.919040614097036190e+00,2.097379587597215505e+03 +1.951077990718577126e+00,2.255374151112674554e+03 +1.951964713110514893e+00,2.283752557757879458e+03 +1.945717025854941662e+00,2.373640112047301500e+03 +1.916186016270295944e+00,2.089551029946519520e+03 +1.951673428941425703e+00,2.306314723607103133e+03 +1.947196822380484527e+00,2.213826707830805844e+03 +1.898289235626805738e+00,2.046690730981723618e+03 +1.926174781922397106e+00,2.464289609731988548e+03 +1.838243036424108912e+00,2.666887354387421510e+03 +1.870337259010794284e+00,2.606959978822783796e+03 +1.759787292178634610e+00,2.786394683820805312e+03 +1.646925439868293095e+00,2.923707005388215748e+03 +1.646925439868293095e+00,2.923707005388215748e+03 +1.566230478139673421e+00,3.007878313001261176e+03 +1.777298194427360700e+00,2.762044822774934346e+03 +1.727523187027874663e+00,2.828732905875951019e+03 +1.439527037080481575e+00,3.125321808814872384e+03 +1.545658492595310740e+00,3.028018516584867029e+03 +1.545658492595310740e+00,3.028018516584867029e+03 +1.705652791991212780e+00,2.855860048641915455e+03 +1.597372849310749965e+00,2.976439833495944640e+03 +1.723142319095186448e+00,2.834260328047761050e+03 +1.723142319095186448e+00,2.834260328047761050e+03 +1.647738893040303187e+00,2.922810120953527530e+03 +1.831517197408437880e+00,2.678394137242538363e+03 +1.808508435409174719e+00,2.715663463812585633e+03 +1.704168164973576260e+00,2.857660809886597235e+03 +1.845814855245753394e+00,2.653547555140019540e+03 +1.665171659909324031e+00,2.903319990355701066e+03 +1.678492828096315614e+00,2.888060703515742262e+03 +1.259973517895881745e+00,3.271175782951990641e+03 +1.288621343541888509e+00,3.249161129234817963e+03 +1.467314682800447745e+00,3.100802874244743634e+03 +1.715150101983471620e+00,2.844221083360613193e+03 +1.788195335363163219e+00,2.746321545164557847e+03 +1.855959882723845267e+00,2.634958103689677046e+03 +1.855959882723845267e+00,2.634958103689677046e+03 +1.947412275047726515e+00,2.360942391474979104e+03 +1.896282803708345233e+00,2.549747692766770342e+03 +1.950705641349025576e+00,2.326092741876606851e+03 +1.862901260811621107e+00,1.980671423669442220e+03 +1.942938771324440816e+00,2.186581716434883219e+03 +1.951211744565990447e+00,2.257851386263838776e+03 +1.951211744565990447e+00,2.257851386263838776e+03 +1.939375899484469423e+00,2.410260553860732671e+03 +1.949139951637107071e+00,2.230612691573433949e+03 diff --git a/Examples/Example12withScaling_std/logs_and_csvs/mcmc_logP_and_parameter_samples.csv b/Examples/Example12withScaling_std/logs_and_csvs/mcmc_logP_and_parameter_samples.csv new file mode 100644 index 00000000..b4aa35fc --- /dev/null +++ b/Examples/Example12withScaling_std/logs_and_csvs/mcmc_logP_and_parameter_samples.csv @@ -0,0 +1,900 @@ +1.911115378689403954e+00,2.076424673881501803e+03 +1.872720708797505740e+00,1.997269228963119986e+03 +1.574237416921121513e+00,1.689820773179725165e+03 +1.742529819146611647e+00,1.829626775796487436e+03 +1.170901831589605369e+00,1.471395793615423827e+03 +1.170901831589605369e+00,1.471395793615423827e+03 +1.197635338461535248e+00,1.483060259943344136e+03 +3.009956174176950938e-01,1.193968666411150025e+03 +5.321732599862651902e-01,1.253683056142668875e+03 +9.107970851521428601e-01,1.370691274541477014e+03 +7.965450042543167353e-01,1.332332348751112931e+03 +1.728756998183037963e+00,1.816046612147403948e+03 +1.924977231185693638e+00,2.114903347024221148e+03 +1.891426019378939838e+00,2.032351778454459691e+03 +1.861769594628518654e+00,1.978824967108683268e+03 +1.948515841420973782e+00,2.224716327960036779e+03 +1.946057828737901563e+00,2.371237752468621238e+03 +1.946794913614674716e+00,2.365798265690107655e+03 +1.945328162754508705e+00,2.200769537442118235e+03 +1.951470431771176406e+00,2.263362580645623439e+03 +1.950120474432899931e+00,2.241415486319649062e+03 +1.931421676658558573e+00,2.444937677337805781e+03 +1.909425345648101180e+00,2.515869826624696543e+03 +1.951723647704156406e+00,2.304685223691859392e+03 +1.947087204646806402e+00,2.212995324876476388e+03 +1.806880051659789821e+00,2.718192164468322972e+03 +1.812921329262271675e+00,2.708743178103451555e+03 +1.871263489023061499e+00,2.605079966763058110e+03 +1.810378840254269983e+00,2.712742497289482344e+03 +1.787226620503272301e+00,2.747738423070855333e+03 +1.749928581568167774e+00,2.799655681073871165e+03 +1.921115100027884104e+00,2.481225981415363094e+03 +1.946102721517785294e+00,2.370916302030349925e+03 +1.950719253879779291e+00,2.249528785756424440e+03 +1.949399638635588294e+00,2.342560404304672375e+03 +1.914096921244497373e+00,2.084030153110190895e+03 +1.951255639541042308e+00,2.258711359041924879e+03 +1.948225172368651004e+00,2.354025708844186283e+03 +1.913150896279728341e+00,2.505386946928530051e+03 +1.922821541834922598e+00,2.475673946491143397e+03 +1.939612403751723058e+00,2.409085881548972793e+03 +1.838319323044426579e+00,2.666755052696348685e+03 +1.660881695221509302e+00,2.908165108853043421e+03 +1.549103263180998225e+00,3.024678757296633194e+03 +1.671660218237603246e+00,2.895928653183771985e+03 +1.522060746375721640e+00,3.050561418830596267e+03 +1.343309623688628829e+00,3.205912050083055874e+03 +1.708857253612120708e+00,2.851956264019474474e+03 +1.585624579932789713e+00,2.988441242394257188e+03 +1.706277060838348181e+00,2.855101369802981026e+03 +1.715856485787079944e+00,2.843346965017773528e+03 +1.939351397148931344e+00,2.410381638084485076e+03 +1.929414425956880841e+00,2.452593815597287630e+03 +1.944288028418815983e+00,2.383077554279042033e+03 +1.940445816589766004e+00,2.404856893558720003e+03 +1.716772077249154149e+00,2.842212181486427653e+03 +1.641702718366642388e+00,2.929439700196324338e+03 +1.533355015000454902e+00,3.039843717944759646e+03 +1.560148579479908815e+00,3.013882087931126080e+03 +1.892059429646413937e+00,2.559807236849885612e+03 +1.552429262920889563e+00,3.021441874556134280e+03 +1.696658741027849970e+00,2.866694824209705985e+03 +1.337933388104562082e+00,3.210239177446154372e+03 +1.597301344328604600e+00,2.976513419404647721e+03 +1.290974834504718061e+00,3.247333739240566956e+03 +1.460482282154780709e+00,3.106889091322514560e+03 +1.574817510910840879e+00,2.999328157732597901e+03 +1.574817510910840879e+00,2.999328157732597901e+03 +1.777117684396663178e+00,2.762301414049523373e+03 +1.761431178114571505e+00,2.784153381140462443e+03 +1.761431178114571505e+00,2.784153381140462443e+03 +1.821597546365933962e+00,2.694833862842653161e+03 +1.766214365494405580e+00,2.777580874912762283e+03 +1.784877421041625389e+00,2.751158591172378692e+03 +1.874193027515190790e+00,2.599066121077310981e+03 +1.951827026553924593e+00,2.300716856916159486e+03 +1.874038729267506920e+00,1.999581667970929402e+03 +1.936184672610312463e+00,2.154714061008877252e+03 +1.926285716524436475e+00,2.119032355499036385e+03 +1.916031076667869204e+00,2.089135777887398945e+03 +1.950427505229219260e+00,2.330126619136625777e+03 +1.950328937942962693e+00,2.244064877486977821e+03 +1.951543328594872229e+00,2.265162534236789725e+03 +1.950839586724895103e+00,2.251382451807329289e+03 +1.948806468460889896e+00,2.227388262594182834e+03 +1.951975558731617655e+00,2.288771986274820847e+03 +1.951975558731617655e+00,2.288771986274820847e+03 +1.890247309650495033e+00,2.029979482908057207e+03 +1.849874857309804499e+00,1.960148812671708583e+03 +1.714573249084796025e+00,1.802573040613969397e+03 +1.881712388658388635e+00,2.013492550767721696e+03 +1.942905209167693936e+00,2.186397172895353833e+03 +1.822737629273143645e+00,1.921673414023530995e+03 +1.822737629273143645e+00,1.921673414023530995e+03 +1.886452763260368037e+00,2.022505425023061889e+03 +1.951385879967828529e+00,2.261431390169868337e+03 +1.937451352277213878e+00,2.160051242425359305e+03 +1.877769428944722208e+00,2.006246076851240105e+03 +1.877769428944722208e+00,2.006246076851240105e+03 +1.877769428944722208e+00,2.006246076851240105e+03 +1.838612919340409935e+00,1.943556682341422402e+03 +1.773307132733002112e+00,1.862008726719907827e+03 +1.803447797421767529e+00,1.897048773992437191e+03 +1.623899400019116257e+00,1.726180998147613991e+03 +1.623899400019116257e+00,1.726180998147613991e+03 +1.396345538649905071e+00,1.580323715073338462e+03 +1.153093762996695526e+00,1.463782241928173335e+03 +8.696588112727414721e-01,1.356527941335696596e+03 +1.224862532968428397e+00,1.495244273885915391e+03 +1.593591723649771641e+00,1.703611904810139322e+03 +1.689204296281057838e+00,1.779630386185062889e+03 +1.685189223735108488e+00,1.776123759427657887e+03 +1.724665092559656721e+00,1.812108391808593296e+03 +1.656850430130229812e+00,1.752241352973457651e+03 +1.235322582198766117e+00,1.500010351317759387e+03 +1.571927391519357009e+00,1.688204823163532183e+03 +1.486556909111163449e+00,1.632424188882486078e+03 +1.685361633727171071e+00,1.776273676361447997e+03 +1.058009962955351657e+00,1.425071605485764849e+03 +1.058009962955351657e+00,1.425071605485764849e+03 +1.260468010333926525e+00,1.511670152419944543e+03 +1.278696024682788979e+00,1.520308206412243635e+03 +1.278696024682788979e+00,1.520308206412243635e+03 +1.796676268945947674e+00,1.888842380863054586e+03 +1.825646825274769069e+00,1.925564823369243868e+03 +1.758958235325195130e+00,1.846535081806471453e+03 +1.202198677393359727e+00,1.485080464836718647e+03 +1.555542515951480187e+00,1.676918086260823429e+03 +1.830430967454176994e+00,1.932076220570646910e+03 +1.709871237916274156e+00,1.798213130774880028e+03 +1.709871237916274156e+00,1.798213130774880028e+03 +9.996008685300583618e-01,1.402755911121279951e+03 +1.195786106432770834e+00,1.482244056455135933e+03 +1.536815194797246820e+00,1.664376225665529091e+03 +1.556475013683187081e+00,1.677552387967964250e+03 +8.624776239046846316e-01,1.354097395964367252e+03 +1.304971824501264921e+00,1.533049457662165651e+03 +1.821851267536773733e+00,1.920497693662695838e+03 +1.909959745342641346e+00,2.073556794223795805e+03 +1.938725275440780660e+00,2.413437977636055621e+03 +1.751209442379366710e+00,2.797949836112495177e+03 +1.568332348751828142e+00,3.005793497582669715e+03 +1.427227278196105509e+00,3.135982874036449630e+03 +1.460481174791963044e+00,3.106890074644192282e+03 +1.436566157611649519e+00,3.127898655405368572e+03 +1.573549115623945838e+00,3.000596610208435777e+03 +1.510984853439934827e+00,3.060949058715513274e+03 +1.280745623239291531e+00,3.255255201382161431e+03 +1.198375613875305001e+00,3.317165641635347583e+03 +9.290426785916188201e-01,3.500877791783938846e+03 +9.271884724707257774e-01,3.502061263474562111e+03 +1.061476019321849762e+00,3.413685376285239727e+03 +1.405633484480397044e+00,3.154431067367428113e+03 +1.152575205688119775e+00,3.350273226550491927e+03 +1.188286954353940494e+00,3.324534414124956584e+03 +1.411404702528903155e+00,3.149533214764594504e+03 +1.440068996380426292e+00,3.124849417103327141e+03 +1.315127053884961317e+00,3.228408506983153984e+03 +1.233956465034462324e+00,3.290816217124533068e+03 +1.367805135593508581e+00,3.185974997473633721e+03 +1.822282505285975018e+00,2.693717761188256645e+03 +1.884053965583849299e+00,2.577996985317869985e+03 +1.947633568188834818e+00,2.359123974924593313e+03 +1.950523165320519503e+00,2.246690742638705615e+03 +1.759980451505910981e+00,2.786131784641637296e+03 +1.951827608837018335e+00,2.274380786227559838e+03 +1.950392029197202781e+00,2.330614410954552568e+03 +1.951678865523360340e+00,2.268972605487441342e+03 +1.923468941267947985e+00,2.110272607770812101e+03 +1.940371368655154027e+00,2.405240580474517628e+03 +1.946391275963860634e+00,2.207925734184250814e+03 +1.944705350996362991e+00,2.380417348133164978e+03 +1.868526419874391609e+00,2.610606868116768510e+03 +1.747036500823643035e+00,2.803489199961828035e+03 +1.946636713975024913e+00,2.209674718537999524e+03 +1.896974936340636519e+00,2.548065165027309831e+03 +1.835423113175047138e+00,2.671749254637603372e+03 +1.841313358872334494e+00,2.661529538349877384e+03 +1.811593167721306408e+00,2.710836549133093740e+03 +1.811593167721306408e+00,2.710836549133093740e+03 +1.573062150685294425e+00,3.001083085774072060e+03 +7.618679103983945211e-01,3.603977112184285033e+03 +7.894370472486320622e-01,3.587447054282585668e+03 +1.139162882426694612e+00,3.359805970574194362e+03 +1.163580933949510898e+00,3.342397117908654764e+03 +7.892700281480546920e-01,3.587547725291274219e+03 +8.746948388945416930e-01,3.535175479970177093e+03 +1.386976625262619667e+00,3.170107301662827467e+03 +1.734720369353730973e+00,2.819543781214442333e+03 +1.554183160906873473e+00,3.019730063988131860e+03 +1.184648252775790889e+00,3.327181375895557721e+03 +1.375556230024558069e+00,3.179588295815740366e+03 +1.327105630380721601e+00,3.218902608946018518e+03 +1.245065875516491172e+00,3.282469475800638065e+03 +6.451131498770261707e-01,3.672142061381904114e+03 +1.226735677892583976e+00,3.296210239896259736e+03 +1.471082270826720828e+00,3.097430201221086463e+03 +1.409008758233604608e+00,3.151569423154724063e+03 +1.619962253732249557e+00,2.952845532312341675e+03 +1.936673923864399738e+00,2.422989792444338036e+03 +1.865714193671217380e+00,2.616197760447119435e+03 +1.676740386728032828e+00,2.890087144964673826e+03 +1.664050490951650252e+00,2.904589411218692931e+03 +1.713641678873187413e+00,2.846083710957412677e+03 +1.745639144411067267e+00,2.805332538447506067e+03 +1.707946519524110141e+00,2.853068128567817894e+03 +1.881850844745922569e+00,2.582822844011540383e+03 +1.916076727571648597e+00,2.496813512673456444e+03 +1.941815660562238310e+00,2.397568745157161175e+03 +1.841197460735773728e+00,2.661733031121583736e+03 +1.907752203248734624e+00,2.520435055307870698e+03 +1.798384552184348228e+00,2.731177333428188376e+03 +1.835660945310073400e+00,2.671341329127783865e+03 +1.908012549053238915e+00,2.519730155320230551e+03 +1.742129470558125170e+00,2.809937296541012074e+03 +1.912050228575593369e+00,2.508532009181127250e+03 +1.949785987996587089e+00,2.338239022581476547e+03 +1.944480770035857509e+00,2.381857932899555180e+03 +1.864612493327839626e+00,1.983488367744919969e+03 +1.864612493327839626e+00,1.983488367744919969e+03 +1.888971803251506820e+00,2.027439938695943056e+03 +1.889942082160706249e+00,2.029369195544212744e+03 +1.934310614442785292e+00,2.147210918997521730e+03 +1.936371198455573150e+00,2.155485649972276406e+03 +1.950632420304280412e+00,2.327193848349884775e+03 +1.934269295458696636e+00,2.147050284816507428e+03 +1.803398397531840169e+00,1.896988136533330362e+03 +1.803398397531840169e+00,1.896988136533330362e+03 +1.803398397531840169e+00,1.896988136533330362e+03 +1.502202426760791854e+00,1.642120559407786232e+03 +1.730402469088882844e+00,1.817642397102135646e+03 +1.677071911162279383e+00,1.769130998495366384e+03 +1.779333816777572075e+00,1.868723957067405081e+03 +1.868623010488293268e+00,1.990212189280052826e+03 +1.915750108710152499e+00,2.088385179119777604e+03 +1.939028294801805608e+00,2.167045603181369188e+03 +1.950868676560272075e+00,2.251845246428266364e+03 +1.934190036457794415e+00,2.146742698690332418e+03 +1.919360901259612007e+00,2.098280068583292632e+03 +1.656057263301296212e+00,1.751593527591578322e+03 +1.757412419812905080e+00,1.844908852803303716e+03 +1.299824955011323668e+00,1.530525987341417022e+03 +9.883805361112999455e-01,1.398585086660638126e+03 +1.056119671723283693e+00,1.424332933841214981e+03 +8.187462805231147112e-01,1.339552961430926644e+03 +1.178914773217877299e+00,1.474861925686738005e+03 +1.552883128957020631e+00,1.675114331821695941e+03 +1.622573814078009935e+00,1.725167274211040649e+03 +1.710586669242097457e+00,1.798873213709422771e+03 +1.843156635238215602e+00,1.950134431876410872e+03 +1.775750067397210197e+00,1.864714632607840485e+03 +1.690568464762457701e+00,1.780829187166073098e+03 +1.249704137891659350e+00,1.506643383308253078e+03 +1.222316916808533716e+00,1.494091658357672486e+03 +1.221631850855276369e+00,1.493781953386930809e+03 +1.428176151931517257e+00,1.598019935130952945e+03 +1.268023504999371109e+00,1.515231208573918366e+03 +1.268023504999371109e+00,1.515231208573918366e+03 +1.380358877056867106e+00,1.571691170797248333e+03 +1.341723559453919634e+00,1.551481139575834959e+03 +1.768995571836604830e+00,1.857285178980724140e+03 +1.915825492884102976e+00,2.088586261257775732e+03 +1.776748065839609092e+00,1.865826342866350160e+03 +1.918511934502207250e+00,2.095903313456782598e+03 +1.912429668606378641e+00,2.079739447177361399e+03 +1.933447005088781534e+00,2.143893240999886984e+03 +1.933447005088781534e+00,2.143893240999886984e+03 +1.944292085601401432e+00,2.194340869770851896e+03 +1.951929941929020806e+00,2.294899552413145102e+03 +1.946955325624223576e+00,2.212007617339921580e+03 +1.874593538203979115e+00,2.000561497393780428e+03 +1.703068371159625283e+00,1.791994289200650883e+03 +1.703068371159625283e+00,1.791994289200650883e+03 +1.577028296600222923e+00,1.691781467589159774e+03 +1.332104190696811186e+00,1.546585092911760512e+03 +1.332104190696811186e+00,1.546585092911760512e+03 +1.483995797601469491e+00,1.630857244886381750e+03 +1.483995797601469491e+00,1.630857244886381750e+03 +1.483995797601469491e+00,1.630857244886381750e+03 +1.047282379912660488e+00,1.420894582273662991e+03 +1.512004310926228889e+00,1.648307389408087602e+03 +1.269785784857390132e+00,1.516065732678721361e+03 +1.675149666561946749e+00,1.767493505855727562e+03 +1.467176768520646268e+00,1.620703765656160385e+03 +1.467176768520646268e+00,1.620703765656160385e+03 +1.453652676040176450e+00,1.612705781645805246e+03 +1.933752288049531920e+00,2.145056625890202668e+03 +1.933752288049531920e+00,2.145056625890202668e+03 +1.651087127685670453e+00,1.747558210676241742e+03 +1.545481983782839519e+00,1.670134480465127808e+03 +1.218676868787686551e+00,1.492448397334505898e+03 +1.312398681946338685e+00,1.536715229098341752e+03 +1.688077816188796154e+00,1.778643298674966900e+03 +1.435673120842571926e+00,1.602291492190264307e+03 +1.759455722736422478e+00,1.847060073853876702e+03 +1.902708894650891880e+00,2.056455703873627499e+03 +1.899173242180002719e+00,2.048608183757331517e+03 +1.798459330137638812e+00,1.890982977457557581e+03 +1.896579474638671270e+00,2.043029974929745549e+03 +1.795406489190625177e+00,1.887326601671910794e+03 +1.735257026499971378e+00,1.822391835885280216e+03 +1.503292035116400527e+00,1.642803962121343147e+03 +1.316947496996989209e+00,1.538974897864834929e+03 +1.126096519104425875e+00,1.452467946657739276e+03 +8.151102010655311148e-01,1.338363021233199788e+03 +8.151102010655311148e-01,1.338363021233199788e+03 +6.617033323591026139e-02,1.139983331802420025e+03 +7.632569985366293164e-01,1.321702771972954451e+03 +1.127423822345690496e+00,1.453017961249189511e+03 +8.201600153455701481e-01,1.340016406209376782e+03 +1.456809662216428380e-01,1.157599871872587300e+03 +1.610422402961112054e+00,1.715990854775351636e+03 +1.610422402961112054e+00,1.715990854775351636e+03 +1.754732101160352276e+00,1.842106997206862843e+03 +1.348326459215041684e+00,1.554872371310377048e+03 +6.647692868170889113e-01,1.291546530072005908e+03 +6.647692868170889113e-01,1.291546530072005908e+03 +6.647692868170889113e-01,1.291546530072005908e+03 +1.034134576735550093e+00,1.415824273341759636e+03 +1.034134576735550093e+00,1.415824273341759636e+03 +1.199110042660096465e+00,1.483712170202898278e+03 +1.402937256220048612e+00,1.583931682519436208e+03 +1.851880424997900842e+00,1.963209412422063906e+03 +1.924412372596751908e+00,2.113153523481847969e+03 +1.846417402379237460e+00,1.954950440071642561e+03 +1.852292542200041803e+00,1.963842552249501978e+03 +1.454924654192526701e+00,1.613451882862584853e+03 +1.684058571450036457e+00,1.775142068718722612e+03 +1.690359726106498872e+00,1.780645507231229431e+03 +1.663729605788668131e+00,1.757905305328114082e+03 +1.668899126779566755e+00,1.762216306761673877e+03 +1.515652403729943920e+00,1.650632794315834190e+03 +1.523080932131327447e+00,1.655407073107533051e+03 +1.119847770742774973e+00,1.449887058931213005e+03 +1.219873853968257205e+00,1.492988129874668857e+03 +1.190429624611955894e+00,1.479887778784410784e+03 +1.015908727576545711e+00,1.408882984403058117e+03 +1.644048594598665813e+00,1.741913101792371890e+03 +1.770092000609401639e+00,1.858480163599365369e+03 +1.853119788910199350e+00,1.965117880726251542e+03 +1.873316685310010943e+00,1.998312216245975605e+03 +1.873316685310010943e+00,1.998312216245975605e+03 +1.867940032287655372e+00,1.989054713349248232e+03 +1.867940032287655372e+00,1.989054713349248232e+03 +1.861172293226660779e+00,1.977855569408011206e+03 +1.686414683966617867e+00,1.777190621845629948e+03 +1.908778213033726967e+00,2.070667917783767280e+03 +1.915359176204864511e+00,2.087345945306649355e+03 +1.758924273724408849e+00,1.846499271537739787e+03 +1.937910882288655934e+00,2.162046937818324750e+03 +1.949827077382045637e+00,2.337758015195722237e+03 +1.896938663382247814e+00,2.548153589937412107e+03 +1.896938663382247814e+00,2.548153589937412107e+03 +1.939805163278888189e+00,2.170653879562084057e+03 +1.933869427254409024e+00,2.145505721346137307e+03 +1.945984456532149798e+00,2.371760567615515356e+03 +1.948507152886124638e+00,2.224638241420217128e+03 +1.910677566128567095e+00,2.075333138156508085e+03 +1.929727408370071062e+00,2.451422272520334900e+03 +1.951355798554492926e+00,2.260778281427553338e+03 +1.951572011282312946e+00,2.265912238856169552e+03 +1.951472845381462928e+00,2.263420004283251274e+03 +1.951574976134611283e+00,2.265991236460843538e+03 +1.912012386028819844e+00,2.078680731964335337e+03 +1.840650803120595702e+00,1.946488171247677656e+03 +1.885302340584916969e+00,2.020286266348376103e+03 +1.908640201380431778e+00,2.518022550338085239e+03 +1.878199965051592146e+00,2.590665604812536458e+03 +1.739296934439128695e+00,2.813627963476306832e+03 +1.730333970259688048e+00,2.825160471273220082e+03 +1.554838657626760101e+00,3.019089421004469841e+03 +1.440720240932947149e+00,3.124281470079043629e+03 +1.358093979439320975e+00,3.193923152417876736e+03 +1.064852385805482804e+00,3.411388765925288226e+03 +1.064852385805482804e+00,3.411388765925288226e+03 +1.064852385805482804e+00,3.411388765925288226e+03 +1.233931319394771187e+00,3.290835043458449491e+03 +1.441960222694640859e+00,3.123199186175356772e+03 +1.433528446187966487e+00,3.130535445167446142e+03 +1.519760258670827646e+00,3.052728808825846045e+03 +1.785604890192004968e+00,2.750101860144935472e+03 +1.944344203132149396e+00,2.382723652044201572e+03 +1.951960163562640238e+00,2.291923238025958653e+03 +1.951960163562640238e+00,2.291923238025958653e+03 +1.950400648425611116e+00,2.330496398195657093e+03 +1.950038651541636359e+00,2.335206009342097786e+03 +1.947833129788650197e+00,2.357444702000698271e+03 +1.950305638714487699e+00,2.331780159167986312e+03 +1.941215160417319563e+00,2.400819035656400501e+03 +1.851834923296920454e+00,2.642622067885167326e+03 +1.914510715920600958e+00,2.501442104931771610e+03 +1.843411500136783232e+00,2.657828335275675272e+03 +1.937215460025444980e+00,2.420531817878988022e+03 +1.934625782003569494e+00,2.431925540593147616e+03 +1.890618403076124165e+00,2.030723678766053581e+03 +1.897089978088300155e+00,2.044116537059933762e+03 +1.872334093172329128e+00,1.996594939570769611e+03 +1.946111599496107125e+00,2.205980019312279182e+03 +1.915771872441846213e+00,2.088443209521354675e+03 +1.838733313904222566e+00,1.943729041982630633e+03 +1.899502468500126717e+00,2.049326714960327990e+03 +1.899502468500126717e+00,2.049326714960327990e+03 +1.916320876969105136e+00,2.496083275998328190e+03 +1.951727523620208737e+00,2.304553028069116863e+03 +1.849673641024986104e+00,1.959843606176791582e+03 +1.849673641024986104e+00,1.959843606176791582e+03 +1.719314282049644982e+00,1.807021828470182072e+03 +1.796981130157278228e+00,1.889207365699070579e+03 +1.830202732146240185e+00,1.931762323667462169e+03 +1.727812258888975494e+00,1.815133562099898882e+03 +1.339274359168702411e+00,1.550229587280630767e+03 +9.014381378785890631e-01,1.367432573539955456e+03 +9.014381378785890631e-01,1.367432573539955456e+03 +-1.597996585344261256e-01,1.093151632231512849e+03 +7.240683358353864341e-01,1.309479167839791444e+03 +9.604904517188440627e-01,1.388371359411013827e+03 +8.628109947491982012e-01,1.354209959783926024e+03 +8.628109947491982012e-01,1.354209959783926024e+03 +1.498087106843672522e+00,1.639549081592066159e+03 +1.514099434750371342e+00,1.649641354252416022e+03 +1.940254894911431771e+00,2.172797365062976951e+03 +1.951016491700639621e+00,2.254297850045558334e+03 +1.951016491700639621e+00,2.254297850045558334e+03 +1.868603588311044783e+00,2.610452217990669851e+03 +1.895086108836306016e+00,2.552633619835642094e+03 +1.920599749802886613e+00,2.482873641369995767e+03 +1.951928926854813229e+00,2.294978996856804770e+03 +1.908438258006269539e+00,2.069844572852228794e+03 +1.931185527658962009e+00,2.445856557547690954e+03 +1.951669878576748562e+00,2.268695874201198421e+03 +1.934975998367159722e+00,2.149825179445786944e+03 +1.949241404403604161e+00,2.231631455372586970e+03 +1.907233355234245753e+00,2.521834007359561838e+03 +1.913237483580521481e+00,2.505137739848357342e+03 +1.890693508441129822e+00,2.562988494573404751e+03 +1.832689414135056261e+00,2.676410572125083945e+03 +1.847554447605027850e+00,2.650420821018074093e+03 +1.609585867359943245e+00,2.963771051286753845e+03 +1.692195444607111687e+00,2.872006892552024965e+03 +1.506527903588321449e+00,3.065095758156826378e+03 +1.681003322247528242e+00,2.885147351235475071e+03 +1.747098225435424590e+00,2.803407642589682837e+03 +1.560870647260154120e+00,3.013171511654735241e+03 +1.666124256088671984e+00,2.902239657396603889e+03 +1.680689025144871618e+00,2.885512754763710291e+03 +1.533298806791859814e+00,3.039897377979646080e+03 +1.328189214220004022e+00,3.218038676987794588e+03 +1.263510454984487330e+00,3.268480270409527748e+03 +1.263510454984487330e+00,3.268480270409527748e+03 +1.377925797955053877e+00,3.177628128494915472e+03 +1.589578561514146449e+00,2.984421794922605386e+03 +1.506836312799129551e+00,3.064809422487707707e+03 +1.541032624000166606e+00,3.032483299492247625e+03 +1.732208151975386468e+00,2.822766904331461319e+03 +1.650630765487476337e+00,2.919612786815681375e+03 +1.727437525528094708e+00,2.828841457125969100e+03 +1.583280184689417114e+00,2.990815178890881725e+03 +1.479962693753350322e+00,3.089433134988594702e+03 +1.434823192355456634e+00,3.129412435155732965e+03 +1.357924005606543361e+00,3.194061745504984174e+03 +1.239867430340517274e+00,3.286382467549359717e+03 +1.543847820316941233e+00,3.029768859110158701e+03 +1.622930216415128912e+00,2.949692117462913757e+03 +1.706146880126209853e+00,2.855259651997916535e+03 +1.686543397676992573e+00,2.878674420798990468e+03 +1.686543397676992573e+00,2.878674420798990468e+03 +1.646907560349890387e+00,2.923726706492405356e+03 +1.646907560349890387e+00,2.923726706492405356e+03 +1.908943860370683199e+00,2.517192189501465691e+03 +1.951945929223213305e+00,2.293511523479808602e+03 +1.837701057751946365e+00,2.667826106903708023e+03 +1.917978870932929070e+00,2.491059785443977034e+03 +1.951976540604156485e+00,2.288181310671531719e+03 +1.949953483495638684e+00,2.336249078017865486e+03 +1.947769074678395551e+00,2.357987959165750453e+03 +1.951522641019921345e+00,2.264637185824810331e+03 +1.884750654055276087e+00,2.019229473310321737e+03 +1.695778793834022080e+00,1.785443075135053277e+03 +1.695778793834022080e+00,1.785443075135053277e+03 +1.460791632181776656e+00,1.616909633002551800e+03 +1.511045073288541429e+00,1.647698014055551312e+03 +1.729014248100052109e+00,1.816295631517418087e+03 +1.901843416188787383e+00,2.054507417298893870e+03 +1.933616318864378902e+00,2.144537223007265311e+03 +1.650936547025709356e+00,1.747436594173185995e+03 +1.792110216674445144e+00,1.883424505480032394e+03 +1.930384848614015381e+00,2.132737660126178980e+03 +1.949091100340984539e+00,2.230128742078582491e+03 +1.918596321538518445e+00,2.096138120261769927e+03 +1.832656402091554781e+00,1.935154523299104994e+03 +1.635732747983786872e+00,1.735345212646277332e+03 +1.589221016203563375e+00,1.700457210007882168e+03 +1.832575159653659913e+00,1.935041578299992580e+03 +1.488354319498420786e+00,1.633527245702685150e+03 +1.818724496077887443e+00,1.916386117298947966e+03 +1.851945888294946885e+00,1.963309887066827287e+03 +1.851945888294946885e+00,1.963309887066827287e+03 +1.865708035886159077e+00,1.985307855779181637e+03 +1.908748213904304381e+00,2.070595122992686356e+03 +1.930791669181510128e+00,2.134169782139642393e+03 +1.948771053641085604e+00,2.227056185941104104e+03 +1.947124023060759823e+00,2.213273498475329234e+03 +1.947124023060759823e+00,2.213273498475329234e+03 +1.949359915685146438e+00,2.232846130390469625e+03 +1.931977070106242422e+00,2.442756313159588444e+03 +1.950776296625287065e+00,2.250395781052822713e+03 +1.950851204670349892e+00,2.323806182325112786e+03 +1.949476937970243684e+00,2.234073265175113647e+03 +1.938188038921599077e+00,2.163266988657937418e+03 +1.909956248232621334e+00,2.073548180028556089e+03 +1.801481698713160551e+00,1.894644299615404179e+03 +1.898028965679115609e+00,2.046129445899709253e+03 +1.903264800879835850e+00,2.057716837250030039e+03 +1.576299230221285264e+00,1.691268383175173540e+03 +1.293193251074705508e+00,1.527294654522343535e+03 +1.575773180824203923e+00,1.690898564240795167e+03 +1.554566084305734730e+00,1.676254918384888015e+03 +1.068661010330699490e+00,1.429255138270516454e+03 +1.050998904945326551e+00,1.422337580847116897e+03 +1.050998904945326551e+00,1.422337580847116897e+03 +8.608129986897735675e-01,1.353535719619481142e+03 +1.493882772019722305e+00,1.636937581184482724e+03 +1.652410666886921176e+00,1.748628781652181033e+03 +1.810694763015365583e+00,1.906072792573724655e+03 +1.380242046590050897e+00,1.571628685483255595e+03 +1.380242046590050897e+00,1.571628685483255595e+03 +1.524201621508280091e+00,1.656131953170364795e+03 +1.844607776151827805e+00,1.952267572329099494e+03 +1.816707035562109551e+00,1.913762304504141639e+03 +1.569969876888575255e+00,1.686840333001927775e+03 +1.569969876888575255e+00,1.686840333001927775e+03 +1.800464620855204645e+00,1.893407523626174680e+03 +1.774894426546990589e+00,1.863764414385384498e+03 +1.444736760592303160e+00,1.607510928793944913e+03 +1.462691620709268836e+00,1.618035227503127999e+03 +1.412754864755366935e+00,1.589359450353657621e+03 +1.412754864755366935e+00,1.589359450353657621e+03 +1.495471050158829973e+00,1.637922292544420316e+03 +1.523086767409057574e+00,1.655410844296680125e+03 +7.711245047107380124e-01,1.324194178009655843e+03 +7.711245047107380124e-01,1.324194178009655843e+03 +1.224634713302243050e+00,1.495141005370499215e+03 +1.083464514842333193e+00,1.435131037446926484e+03 +9.845567977292084549e-01,1.397171928955891872e+03 +9.007070249370547899e-01,1.367178926927751945e+03 +1.499273596492656679e+00,1.640288906532411147e+03 +1.426672626291414447e+00,1.597168162779444629e+03 +1.504217987069316198e+00,1.643385566227775826e+03 +1.668796527712635536e+00,1.762130280682260491e+03 +1.683279349414994464e+00,1.774466970652196096e+03 +1.753975709557779705e+00,1.841320362214404440e+03 +1.946673043363344124e+00,2.209937065028470442e+03 +1.774514504980817087e+00,1.863343355679065553e+03 +1.909598180750598173e+00,2.072668196813321629e+03 +1.948475946618028143e+00,2.224358598372353299e+03 +1.939318310300413017e+00,2.410544963868157538e+03 +1.920346306206987652e+00,2.483679191541934415e+03 +1.901300283352232778e+00,2.537315106976732750e+03 +1.886362998333692254e+00,2.572859347072550463e+03 +1.788969066510252670e+00,2.745187080893293569e+03 +1.808279438482654378e+00,2.716019869722644216e+03 +1.808279438482654378e+00,2.716019869722644216e+03 +1.818961563278903348e+00,2.699103910246088162e+03 +1.892307803214705375e+00,2.559225104815336636e+03 +1.763679432771238398e+00,2.781073643970179546e+03 +1.809648895656204237e+00,2.713884544933620873e+03 +1.856205100603526947e+00,2.634497707273090327e+03 +1.824173276308041824e+00,2.690622592234989497e+03 +1.824173276308041824e+00,2.690622592234989497e+03 +1.859255901681414969e+00,2.628723088830040979e+03 +1.859255901681414969e+00,2.628723088830040979e+03 +1.878543566445955548e+00,2.589935382280342310e+03 +1.922756215807053248e+00,2.475889310137693428e+03 +1.759146547085950418e+00,2.787265901423456853e+03 +1.554646667750767985e+00,3.019277109823925002e+03 +1.887893452774856096e+00,2.569406994181410482e+03 +1.817615845498580907e+00,2.701268729045591044e+03 +1.914718153319465044e+00,2.500834365785660793e+03 +1.905107792246805154e+00,2.061954146380314796e+03 +1.719570903163408770e+00,1.807264171706440493e+03 +1.310379608760861458e+00,1.535715767279774809e+03 +1.629469547119579698e+00,1.730468742353785274e+03 +1.629469547119579698e+00,1.730468742353785274e+03 +1.762654975223681753e+00,1.850455372001513297e+03 +1.836781957913574903e+00,1.940948026895395742e+03 +1.864775171011823440e+00,1.983757743315103653e+03 +1.941827123463413241e+00,2.180646032946091054e+03 +1.948788727717793545e+00,2.348786401495612608e+03 +1.923123716566443653e+00,2.474674729634818505e+03 +1.903684456988848694e+00,2.531203311941565062e+03 +1.932676198027327930e+00,2.439968449418264299e+03 +1.940669783671356896e+00,2.403695301819667748e+03 +1.885070661689279614e+00,2.575745120054090421e+03 +1.940108075805248689e+00,2.406588024542485073e+03 +1.923324318422297896e+00,2.474008617393579243e+03 +1.951842803895183609e+00,2.300001492098973813e+03 +1.825549609223201974e+00,2.688356178640893631e+03 +1.825549609223201974e+00,2.688356178640893631e+03 +1.793256210478435086e+00,2.738855644863563612e+03 +1.865822500222260594e+00,2.615984034556248844e+03 +1.946183319747422757e+00,2.370336152065737224e+03 +1.946183319747422757e+00,2.370336152065737224e+03 +1.932314329026486144e+00,2.441417420711607519e+03 +1.900774910727780931e+00,2.538643435776079968e+03 +1.842515909618320347e+00,2.659412228576534289e+03 +1.876526661932082618e+00,2.594199097918955431e+03 +1.945952537202246146e+00,2.204894562932146073e+03 +1.933022645811371065e+00,2.438568893502176707e+03 +1.886514987592792902e+00,2.572518203720819201e+03 +1.844074511469839361e+00,1.951481819010172785e+03 +1.946545127714960355e+00,2.209017364970762173e+03 +1.911449443379448887e+00,2.077261758155761981e+03 +1.860632123053201026e+00,1.976981934215547881e+03 +1.860632123053201026e+00,1.976981934215547881e+03 +1.935207037659430140e+00,2.429444017240517951e+03 +1.899254359549335192e+00,2.542451972200462933e+03 +1.862346153472166144e+00,2.622782525682817777e+03 +1.951725096970743367e+00,2.304635912309907326e+03 +1.796187697732609223e+00,2.734480795110340750e+03 +1.472354397131522052e+00,3.096288728787164473e+03 +1.657514579354883111e+00,2.911945245131173579e+03 +1.567684046840603251e+00,3.006437088967106774e+03 +1.435462490824856552e+00,3.128857466525757445e+03 +1.723184841029568481e+00,2.834206911086440869e+03 +1.617757264883416646e+00,2.955180026708069818e+03 +1.617757264883416646e+00,2.955180026708069818e+03 +1.502542970315120519e+00,3.068787464966624611e+03 +1.668216699958117610e+00,2.899860863904536927e+03 +1.857919171825223925e+00,2.631264038784648164e+03 +1.845871052979289217e+00,2.653446920416544344e+03 +1.568206887135248362e+00,3.005918085982410048e+03 +1.447622253417391480e+00,3.118242095164914190e+03 +1.645356923855881837e+00,2.925433332544610948e+03 +1.645356923855881837e+00,2.925433332544610948e+03 +1.749774533850352531e+00,2.799860506661397267e+03 +1.722178411765511452e+00,2.835469993934625109e+03 +1.941823603757856453e+00,2.397525133839976661e+03 +1.924825161904276438e+00,2.468952263190645226e+03 +1.933127251104720834e+00,2.438143894287695730e+03 +1.948833334696597142e+00,2.348352897649852821e+03 +1.950293150420328914e+00,2.243598469476443825e+03 +1.945019080506069198e+00,2.378367998510000689e+03 +1.950429251808131870e+00,2.245400267720058309e+03 +1.943224335289944094e+00,2.188166392947507575e+03 +1.923491484878971258e+00,2.110340856527147935e+03 +1.827754003526007809e+00,1.928415260954644054e+03 +1.724314222319995649e+00,1.811772673336650314e+03 +1.640522561396722923e+00,1.739115007829580691e+03 +1.395865465410417450e+00,1.580062070508301076e+03 +9.954156211239582053e-01,1.401195946761233472e+03 +8.562086703817199940e-01,1.351985506373274347e+03 +1.445708056902014427e+00,1.608073913466285603e+03 +1.568116374830890836e+00,1.685552426081583235e+03 +1.600994026252222868e+00,1.709010381327383129e+03 +1.640319191625321693e+00,1.738954221130770520e+03 +1.435106019359897678e+00,1.601966941441731251e+03 +1.039733596158990192e+00,1.417976934748305666e+03 +3.278471278954828705e-01,1.200541038537366603e+03 +1.238712107403321827e+00,1.501565221784145024e+03 +1.500035634969786980e+00,1.640764733285815510e+03 +1.500035634969786980e+00,1.640764733285815510e+03 +1.651869770935817661e+00,1.748190916423360932e+03 +1.651869770935817661e+00,1.748190916423360932e+03 +1.831887032642531610e+00,1.934086664305392105e+03 +1.896659843646011367e+00,2.043200673265133219e+03 +1.938347757086872125e+00,2.163975853589574854e+03 +1.832848982106256353e+00,2.676139860582683923e+03 +1.881330078064178624e+00,2.583953093732796788e+03 +1.917099992998004376e+00,2.493736877705250208e+03 +1.896625675606763650e+00,2.548915438120905947e+03 +1.676703338908131613e+00,2.890129921812726479e+03 +1.807434352871534200e+00,2.717332875668749239e+03 +1.655169185813910593e+00,2.914566727286548030e+03 +1.740367920750681474e+00,2.812235179477069778e+03 +1.672143818991352671e+00,2.895374664778680653e+03 +1.503676289024402646e+00,3.067739049082155816e+03 +1.443203179142253489e+00,3.122113115042884147e+03 +1.566242354195493736e+00,3.007866547770912348e+03 +1.373724498596343047e+00,3.181101066323744362e+03 +1.497929357276755580e+00,3.073043183615848648e+03 +1.497304442684622705e+00,3.073618117485789753e+03 +1.497304442684622705e+00,3.073618117485789753e+03 +1.497304442684622705e+00,3.073618117485789753e+03 +1.398298931982520532e+00,3.160622173887683402e+03 +1.048500805227729593e+00,3.422474916381197090e+03 +1.214070024298500083e+00,3.305613662238370580e+03 +1.214070024298500083e+00,3.305613662238370580e+03 +1.166640705170128189e+00,3.340198664841750997e+03 +8.131282726803670258e-01,3.573100436903078844e+03 +7.641811598693672991e-01,3.602596802200279399e+03 +1.399359937396364995e+00,3.159728872647559456e+03 +1.517569689865556626e+00,3.054787801758503520e+03 +1.286766471224034092e+00,3.250599308293883041e+03 +1.418810013424338656e+00,3.143213923195887219e+03 +1.547524019217812352e+00,3.026211455325935276e+03 +8.111178317462752752e-01,3.574323083357893665e+03 +8.876115277378104906e-01,3.527095989692415060e+03 +1.003033742613010038e+00,3.452835662928968759e+03 +1.233017888084174007e+00,3.291518721129549704e+03 +1.233017888084174007e+00,3.291518721129549704e+03 +1.599006744559422044e+00,2.974756552742883741e+03 +1.948852577237510708e+00,2.348164958348482742e+03 +1.913477752137733301e+00,2.082425179070432932e+03 +1.950576610790646814e+00,2.328013316771093741e+03 +1.951896309755746906e+00,2.297191539440733777e+03 +1.947387175006517701e+00,2.361145884714690055e+03 +1.883161711547659989e+00,2.579960184479451073e+03 +1.799907143314985580e+00,2.728874965418752709e+03 +1.937930152095206360e+00,2.162131358429177453e+03 +1.766546290600612190e+00,1.854630760693577031e+03 +1.854112405272531960e+00,1.966656029428948841e+03 +1.934409011710769066e+00,2.147594244410661759e+03 +1.788920510132941510e+00,1.879692532064094394e+03 +1.815854212012763425e+00,1.912659866495452434e+03 +1.815854212012763425e+00,1.912659866495452434e+03 +1.892233447243588662e+00,2.033991326218225367e+03 +1.944248438100962817e+00,2.194080129564334584e+03 +1.874518874374546229e+00,2.598390693637770710e+03 +1.820864062094817104e+00,2.696026024724062154e+03 +1.770478631494118549e+00,2.771655539812260486e+03 +1.652626362842416263e+00,2.917398260574576398e+03 +1.822829271043420185e+00,2.692824874988692955e+03 +1.924628470566753569e+00,2.469622419098248429e+03 +1.699364821626031752e+00,2.863453497836110273e+03 +1.541457245853655067e+00,3.032074414383428120e+03 +1.514951014870603574e+00,3.057243043432064496e+03 +1.658662515901136558e+00,2.910658718608151503e+03 +1.645063395827893071e+00,2.925755946835045052e+03 +1.645063395827893071e+00,2.925755946835045052e+03 +1.652297530401497516e+00,2.917763628643507218e+03 +1.581216682752932812e+00,2.992899032853736117e+03 +1.361521545274125389e+00,3.191124567202389244e+03 +1.433829937744381944e+00,3.130274056673079031e+03 +1.441163399367115794e+00,3.123894807445979040e+03 +1.521295561844972166e+00,3.051282912738276536e+03 +1.377517313724098802e+00,3.177966296588637306e+03 +1.337383292570450299e+00,3.210680965255515730e+03 +1.630567639036367700e+00,2.941517593588767340e+03 +1.538652846408655961e+00,3.034771355809787110e+03 +1.364622549279101982e+00,3.188586310922174562e+03 +1.350947738411811372e+00,3.199734734651127837e+03 +4.145387312353778775e-01,3.799128596497452691e+03 +4.980030334429179639e-01,3.754226447721950080e+03 +8.815754502106316615e-01,3.530877066990643016e+03 +1.131277526184897297e+00,3.365377449316434195e+03 +1.301751702221954687e+00,3.238928295698359761e+03 +1.159431818570517025e+00,3.345372148977448887e+03 +1.232556639244849261e+00,3.291863804519623500e+03 +1.304621959164243172e+00,3.236679087357156277e+03 +1.578802255290843171e+00,2.995330618328983292e+03 +1.603808600131899187e+00,2.969789008547983030e+03 +1.527300722355323881e+00,3.045604963016760394e+03 +1.655892540706435767e+00,2.913759230265309270e+03 +1.635840892533184432e+00,2.935821943655203086e+03 +1.593990811346518210e+00,2.979912967984848365e+03 +1.758107854233345924e+00,2.788675388032754654e+03 +1.501449108976401270e+00,3.069798248222972688e+03 +1.284081761009336686e+00,3.252677713296183356e+03 +1.213627492806874653e+00,3.305940895457661554e+03 +1.204143914498181367e+00,3.312932531521993042e+03 +1.231925759139131493e+00,3.292335636521745982e+03 +1.279454182049958533e+00,3.256251416833081748e+03 +6.706037094993702041e-01,3.657502367895735915e+03 +7.110031798645737311e-01,3.634028193122137509e+03 +1.394895168628051962e-01,3.939791478545397240e+03 +7.926777581079953450e-01,3.585492418969717619e+03 +4.609171797968310003e-01,3.774318142315747991e+03 +5.759676179243324867e-01,3.711217225990752013e+03 +1.003942818266591708e+00,3.452235120607925637e+03 +3.339417851092951750e-01,3.841451697073900959e+03 +4.581160627489175852e-01,3.775826443762610324e+03 +4.581160627489175852e-01,3.775826443762610324e+03 +1.128524945899952225e+00,3.367316640686936807e+03 +1.179645075371991592e+00,3.330811724361512915e+03 +1.206118991135673113e+00,3.311479735445926508e+03 +1.113277678769353907e+00,3.378005967418445834e+03 +1.099125490558769735e+00,3.387849647623680539e+03 +8.803540237985267858e-01,3.531641015285568301e+03 +6.607584814746729762e-01,3.663172108042338550e+03 +6.841113359232577906e-01,3.649691405701050826e+03 +5.747948631773982520e-01,3.711872218352120854e+03 +-1.266401807014290171e-01,4.066906488267449731e+03 +1.732605327591789646e-01,3.923069715803138934e+03 +6.495719534887283153e-01,3.669590654109772913e+03 +2.343052266543628193e-01,3.892472885967124512e+03 +2.542189976207827051e-01,3.882385244592335766e+03 +2.192236689760789226e-01,3.900077399912676810e+03 +-1.773394015616815977e-01,4.090261842443453588e+03 +2.141518785548988113e-01,3.902627969269006826e+03 +8.614466488686844947e-01,3.543417134532659020e+03 +1.304986592620540620e+00,3.236393030199038094e+03 +1.307849757331053908e+00,3.234144334727744990e+03 +9.131804666367000500e-01,3.510971101269674818e+03 +6.829238836439897042e-01,3.650379566418726881e+03 +3.183271944508399010e-01,3.849539808950190491e+03 +7.126397217563513742e-01,3.633070066660196062e+03 +5.244696867284077690e-01,3.739745735100806087e+03 +6.660060107512943972e-01,3.660152561586285628e+03 +6.660060107512943972e-01,3.660152561586285628e+03 +1.066311513298618507e+00,3.410395048624712672e+03 +1.077862242784807023e+00,3.402502457711089846e+03 +1.077862242784807023e+00,3.402502457711089846e+03 +7.119296333687761269e-01,3.633485863608024829e+03 +1.041947131537971138e+00,3.426892856350022157e+03 +5.191616845847648598e-01,3.742659575543773371e+03 +3.386943420803731897e-01,3.838982929592092205e+03 +4.025888061125106887e-01,3.805466150754997670e+03 +9.932752704698599722e-01,3.459265959520161232e+03 +9.932752704698599722e-01,3.459265959520161232e+03 +1.125071828887393988e+00,3.369745243012011088e+03 +1.532642356326391120e+00,3.040523827723748127e+03 +1.854009546177681322e+00,2.638600491212153429e+03 +1.941216917223403282e+00,2.400809657289550159e+03 +1.950673527043264244e+00,2.248848033273088731e+03 +1.927407956432892755e+00,2.122662712576025569e+03 +1.948849820073339512e+00,2.348191922110130236e+03 +1.925635543979785202e+00,2.466166283373564966e+03 +1.951976719698900409e+00,2.288001908604154323e+03 +1.856384695432680143e+00,2.634160168763506590e+03 +1.877062728175897588e+00,2.593071138354097002e+03 +1.877062728175897588e+00,2.593071138354097002e+03 +1.951853157066065991e+00,2.299509026700915911e+03 +1.865872917324018054e+00,2.615884501453797384e+03 +1.808993337775945953e+00,2.714907902844728596e+03 +1.776101963921070670e+00,2.763742973005281783e+03 +1.887870347625533629e+00,2.569459401215695380e+03 +1.808142523975942551e+00,2.716232835088048432e+03 +1.783384199264272274e+00,2.753321046252136966e+03 +1.522098217608797821e+00,3.050526072244169427e+03 +1.421580056400796988e+00,3.140839968087260331e+03 +8.118103486514178790e-01,3.573902039967571454e+03 +7.352719867985899604e-01,3.619760803497016241e+03 +7.352719867985899604e-01,3.619760803497016241e+03 +3.341669043228363556e-01,3.841334830685762427e+03 +4.136787884400012771e-01,3.799585404083235062e+03 +1.047847604846340541e+00,3.422915894843093611e+03 +7.630548223080726444e-01,3.603269036163533656e+03 +2.979389059431123421e-01,3.860048032206205335e+03 +6.725560686809002320e-01,3.656375696033067015e+03 +5.462590603999064598e-01,3.727732739579457302e+03 +4.195970568600047024e-01,3.796439233209662689e+03 +3.277978547802322673e-01,3.844638361312579491e+03 +7.435299736436062901e-02,3.971648668007621382e+03 +6.562323404934211624e-02,3.975879779063411206e+03 +1.033366106540278828e-01,3.957536384772417932e+03 +8.171775895265822598e-01,3.570634895425757804e+03 +5.919214465760855859e-01,3.702281699711599686e+03 +9.653795258044888250e-01,3.477487131195635811e+03 +9.301626951298156420e-01,3.500162458531076936e+03 +9.301626951298156420e-01,3.500162458531076936e+03 +9.301626951298156420e-01,3.500162458531076936e+03 +8.997987836673440043e-01,3.519432186295900465e+03 +8.997987836673440043e-01,3.519432186295900465e+03 +8.085962464831397689e-01,3.575855209639461918e+03 +9.483913676803608084e-01,3.488470121168677451e+03 +1.434561316998083313e+00,3.129639677280453270e+03 +9.985130801312580573e-01,3.455818211286164114e+03 +9.599181387353072914e-01,3.481027181310812466e+03 +7.212891104674405973e-01,3.627996704804388628e+03 +7.064396249547044704e-01,3.636696955925492603e+03 +4.563049505975622644e-01,3.776800981619277536e+03 +1.039673921875300611e+00,3.428421919833007905e+03 +1.201267144316235935e+00,3.315045498617882913e+03 +1.476096361762050613e+00,3.092923142451000786e+03 +1.476096361762050613e+00,3.092923142451000786e+03 +1.466594090081501545e+00,3.101446586407749692e+03 +1.601678364898627471e+00,2.971996554975674826e+03 +1.876825379009872119e+00,2.593571020845358362e+03 +1.781068085814237367e+00,2.756657821787771809e+03 +1.911463502101210965e+00,2.510191658415689290e+03 +1.913388577211448727e+00,2.504702240408409125e+03 +1.920991242942622801e+00,2.481623167567092423e+03 +1.950511279032294709e+00,2.246525127337641607e+03 +1.903729760277923067e+00,2.058777604538266132e+03 +1.903729760277923067e+00,2.058777604538266132e+03 +1.939850875552928233e+00,2.407890336053145802e+03 +1.944833323613248677e+00,2.197639519571137953e+03 +1.899842709152018028e+00,2.050071844584745577e+03 +1.919156169292326908e+00,2.097703931259513865e+03 +1.945323682959843481e+00,2.200740675298146016e+03 +1.923734192391181264e+00,2.111077444588864182e+03 +1.837883747131647816e+00,2.667509905357235766e+03 +1.526103087619772536e+00,3.046740221716061569e+03 +1.438429302019990086e+00,3.126277945815510975e+03 +1.554363876373945796e+00,3.019553491280614253e+03 +1.749879023569516079e+00,2.799721582403461070e+03 +1.874297031153447701e+00,2.598850683023099919e+03 +1.796548477253973930e+00,2.733939764956598538e+03 +1.946291146183180665e+00,2.369553793880146259e+03 +1.742589623994871051e+00,2.809335587574502824e+03 +1.774891209072552156e+00,2.765456339063695850e+03 +1.599405430082298629e+00,2.974345281148599952e+03 +1.840363006042189387e+00,2.663195243804900656e+03 +1.880013261817172099e+00,2.586793698540181140e+03 +1.877463531512356676e+00,2.592225312064949776e+03 +1.829452599277093361e+00,2.681866075033247853e+03 +1.830738622250676961e+00,2.679706651297010012e+03 +1.803818921008972120e+00,2.722910515217492048e+03 +1.803818921008972120e+00,2.722910515217492048e+03 +1.899992660561176105e+00,2.540609335347271553e+03 diff --git a/Examples/Example12withScaling_std/logs_and_csvs/mcmc_log_file.txt b/Examples/Example12withScaling_std/logs_and_csvs/mcmc_log_file.txt new file mode 100644 index 00000000..210b4f19 --- /dev/null +++ b/Examples/Example12withScaling_std/logs_and_csvs/mcmc_log_file.txt @@ -0,0 +1,11 @@ +self.initial_point_parameters:[3000.] +MAP_logP:[1.95197672] +self.map_parameter_set:[2288.0019086] +self.map_index:817 +self.mu_AP_parameter_set:[2452.39557797] +self.stdap_parameter_set:[670.08473172] +self.info_gain:0.0064145685441067465 +evidence:6.731221751366739e-05 +posterior_cov_matrix: +449513.00658212963 +Convergence Status: Warning - The difference between the MAP parameter set and mu_AP parameter set is greater than 10% of the prior standard deviations in at least one parameter. This means that either your posterior distribution is asymmetric or that it is not yet converged. This may mean that you need to increase your mcmc_length, increase or decrease your mcmc_relative_step_length, or change what is used for the model response. There is no general method for knowing the right value for mcmc_relative_step_length since it depends on the sharpness and smoothness of the response. See for example https://www.sciencedirect.com/science/article/pii/S0039602816300632 \ No newline at end of file diff --git a/Examples/Example12withScaling_std/pickles/mcmc_burn_in_logP_and_parameter_samples.pkl b/Examples/Example12withScaling_std/pickles/mcmc_burn_in_logP_and_parameter_samples.pkl new file mode 100644 index 00000000..257e95b3 Binary files /dev/null and b/Examples/Example12withScaling_std/pickles/mcmc_burn_in_logP_and_parameter_samples.pkl differ diff --git a/Examples/Example12withScaling_std/pickles/mcmc_initial_point_parameters.pkl b/Examples/Example12withScaling_std/pickles/mcmc_initial_point_parameters.pkl new file mode 100644 index 00000000..8c1b4d7f Binary files /dev/null and b/Examples/Example12withScaling_std/pickles/mcmc_initial_point_parameters.pkl differ diff --git a/Examples/Example12withScaling_std/pickles/mcmc_last_point_sampled.pkl b/Examples/Example12withScaling_std/pickles/mcmc_last_point_sampled.pkl new file mode 100644 index 00000000..d85826dd Binary files /dev/null and b/Examples/Example12withScaling_std/pickles/mcmc_last_point_sampled.pkl differ diff --git a/Examples/Example12withScaling_std/pickles/mcmc_logP_and_parameter_samples.pkl b/Examples/Example12withScaling_std/pickles/mcmc_logP_and_parameter_samples.pkl new file mode 100644 index 00000000..bada6a47 Binary files /dev/null and b/Examples/Example12withScaling_std/pickles/mcmc_logP_and_parameter_samples.pkl differ diff --git a/Examples/Example12withScaling_std/pickles/mcmc_map_logP.pkl b/Examples/Example12withScaling_std/pickles/mcmc_map_logP.pkl new file mode 100644 index 00000000..2e25a533 Binary files /dev/null and b/Examples/Example12withScaling_std/pickles/mcmc_map_logP.pkl differ diff --git a/Examples/Example12withScaling_std/pickles/mcmc_post_burn_in_statistics.pkl b/Examples/Example12withScaling_std/pickles/mcmc_post_burn_in_statistics.pkl new file mode 100644 index 00000000..c1026ca5 Binary files /dev/null and b/Examples/Example12withScaling_std/pickles/mcmc_post_burn_in_statistics.pkl differ diff --git a/Examples/Example12withScaling_std/processing_function_mem_reactor_km_only.py b/Examples/Example12withScaling_std/processing_function_mem_reactor_km_only.py index af60c8c8..06bfd0b4 100644 --- a/Examples/Example12withScaling_std/processing_function_mem_reactor_km_only.py +++ b/Examples/Example12withScaling_std/processing_function_mem_reactor_km_only.py @@ -16,6 +16,7 @@ k_minus_1 = 1 def cmr(theta,V,k_1,k_minus_1,k_B,T0): + F_A, F_B = theta F_T = F_A + F_B C_T0 = P0 / (R * T0) @@ -27,7 +28,8 @@ def cmr(theta,V,k_1,k_minus_1,k_B,T0): return dFdV def mem_reactor(sample): - sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample, T)) + #sample should be a list with 1 value. + sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample[0], T)) conc_sol_last=sol[-1,:].T # print('km',sample) # print('F_A',conc_sol_last[0]) diff --git a/Examples/Example12withScaling_std/runfile_Example12_km_only_fixed_scaling.py b/Examples/Example12withScaling_std/runfile_Example12_km_only_fixed_scaling.py index d05c59cf..9ce744cb 100644 --- a/Examples/Example12withScaling_std/runfile_Example12_km_only_fixed_scaling.py +++ b/Examples/Example12withScaling_std/runfile_Example12_km_only_fixed_scaling.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -36,8 +36,8 @@ UserInput.parameter_estimation_settings['mcmc_mode'] = 'unbiased' UserInput.parameter_estimation_settings['mcmc_random_seed'] = 0 #Normally set to None so that mcmc is set to be random. To get the same results repeatedly, such as for testing purposes, set the random seed to 0 or another integer for testing purposes. - UserInput.parameter_estimation_settings['mcmc_burn_in'] = 10 - UserInput.parameter_estimation_settings['mcmc_length'] = 100 + #UserInput.parameter_estimation_settings['mcmc_burn_in'] = 10 + UserInput.parameter_estimation_settings['mcmc_length'] = 1000 UserInput.parameter_estimation_settings['mcmc_relative_step_length'] = 0.05 UserInput.parameter_estimation_settings['mcmc_modulate_accept_probability'] = 0 #Default value of 0. Changing this value sharpens or flattens the posterior. A value greater than 1 flattens the posterior by accepting low values more often. It can be useful when greater sampling is more important than accuracy. One way of using this feature is to try with a value of 0, then with the value equal to the number of priors for comparison, and then to gradually decrease this number as low as is useful (to minimize distortion of the result). A downside of changing changing this variable to greater than 1 is that it slows the the ascent to the maximum of the prior, so there is a balance in using it. In contrast, numbers increasingly less than one (such as 0.90 or 0.10) will speed up the ascent to the maximum of the posterior, but will also result in fewer points being retained. UserInput.parameter_estimation_settings['mcmc_info_gain_cutoff'] = 0 @@ -69,18 +69,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -92,7 +93,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example12withScaling_std/synthetic_observables.png b/Examples/Example12withScaling_std/synthetic_observables.png index 9ac94546..006772b4 100644 Binary files a/Examples/Example12withScaling_std/synthetic_observables.png and b/Examples/Example12withScaling_std/synthetic_observables.png differ diff --git a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_1.png b/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_1.png deleted file mode 100644 index 061dc4f3..00000000 Binary files a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_1.png and /dev/null differ diff --git a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_2.png b/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_2.png deleted file mode 100644 index 6e1def46..00000000 Binary files a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_2.png and /dev/null differ diff --git a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_3.png b/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_3.png deleted file mode 100644 index 9fbb212c..00000000 Binary files a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_3.png and /dev/null differ diff --git a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_4.png b/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_4.png deleted file mode 100644 index 7179bb40..00000000 Binary files a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_4.png and /dev/null differ diff --git a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_5.png b/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_5.png deleted file mode 100644 index f5d9cf68..00000000 Binary files a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_5.png and /dev/null differ diff --git a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_6.png b/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_6.png deleted file mode 100644 index ec9cf89b..00000000 Binary files a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_6.png and /dev/null differ diff --git a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_7.png b/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_7.png deleted file mode 100644 index d28f112e..00000000 Binary files a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_7.png and /dev/null differ diff --git a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_8.png b/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_8.png deleted file mode 100644 index 9cb0ea64..00000000 Binary files a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_8.png and /dev/null differ diff --git a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_9.png b/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_9.png deleted file mode 100644 index 99e40952..00000000 Binary files a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_9.png and /dev/null differ diff --git a/Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_1_manual.png b/Examples/Example13doeFunctionExample/expected_info_gains/Info_gain_Meshgrid_modulation_1_manual.png similarity index 100% rename from Examples/Example13doeFunctionExample/Info_gain_Meshgrid_modulation_1_manual.png rename to Examples/Example13doeFunctionExample/expected_info_gains/Info_gain_Meshgrid_modulation_1_manual.png diff --git a/Examples/Example13doeFunctionExample/Info_gain_TrisurfacePlot_modulation_1_manual.png b/Examples/Example13doeFunctionExample/expected_info_gains/Info_gain_TrisurfacePlot_modulation_1_manual.png similarity index 100% rename from Examples/Example13doeFunctionExample/Info_gain_TrisurfacePlot_modulation_1_manual.png rename to Examples/Example13doeFunctionExample/expected_info_gains/Info_gain_TrisurfacePlot_modulation_1_manual.png diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_1.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_1.png new file mode 100644 index 00000000..4f1d913f Binary files /dev/null and b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_1.png differ diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_1_manual.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_1_manual.png index 102ca001..69969b3d 100644 Binary files a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_1_manual.png and b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_1_manual.png differ diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_2.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_2.png new file mode 100644 index 00000000..b0782041 Binary files /dev/null and b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_2.png differ diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_3.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_3.png new file mode 100644 index 00000000..9aedaa77 Binary files /dev/null and b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_3.png differ diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_4.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_4.png new file mode 100644 index 00000000..dc79cf43 Binary files /dev/null and b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_4.png differ diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_5.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_5.png new file mode 100644 index 00000000..6eadac3e Binary files /dev/null and b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_5.png differ diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_6.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_6.png new file mode 100644 index 00000000..eba048e0 Binary files /dev/null and b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_6.png differ diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_7.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_7.png new file mode 100644 index 00000000..e230143d Binary files /dev/null and b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_7.png differ diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_8.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_8.png new file mode 100644 index 00000000..089985a8 Binary files /dev/null and b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_8.png differ diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_9.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_9.png new file mode 100644 index 00000000..b5dca019 Binary files /dev/null and b/Examples/Example13doeFunctionExample/graphs/Info_gain_Meshgrid_modulation_9.png differ diff --git a/Examples/Example13doeFunctionExample/graphs/Info_gain_TrisurfacePlot_modulation_1_manual.png b/Examples/Example13doeFunctionExample/graphs/Info_gain_TrisurfacePlot_modulation_1_manual.png index c2d0f7fc..6aacdd0b 100644 Binary files a/Examples/Example13doeFunctionExample/graphs/Info_gain_TrisurfacePlot_modulation_1_manual.png and b/Examples/Example13doeFunctionExample/graphs/Info_gain_TrisurfacePlot_modulation_1_manual.png differ diff --git a/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_burn_in_logP_and_parameter_samples.csv b/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_burn_in_logP_and_parameter_samples.csv index 468b8375..f7b88e92 100644 --- a/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_burn_in_logP_and_parameter_samples.csv +++ b/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_burn_in_logP_and_parameter_samples.csv @@ -1 +1,10 @@ --3.270219073907698544e+02,1.709999999999999298e-01,-5.000000000000013115e-05 +-1.074771573060061769e+01,1.709999999999999298e-01,-5.000000000000013115e-05 +-1.074771573060061769e+01,1.709999999999999298e-01,-5.000000000000013115e-05 +-6.624817894587467393e+00,1.027142785743617448e-01,3.729274392085922139e-05 +-7.121607421578852737e-01,1.313157274189854784e-01,2.738503008780029615e-05 +-7.121607421578852737e-01,1.313157274189854784e-01,2.738503008780029615e-05 +4.339317372910611592e-01,1.542259967824516353e-01,3.534977294743722585e-05 +4.339317372910611592e-01,1.542259967824516353e-01,3.534977294743722585e-05 +4.339317372910611592e-01,1.542259967824516353e-01,3.534977294743722585e-05 +4.339317372910611592e-01,1.542259967824516353e-01,3.534977294743722585e-05 +4.339317372910611592e-01,1.542259967824516353e-01,3.534977294743722585e-05 diff --git a/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_logP_and_parameter_samples.csv b/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_logP_and_parameter_samples.csv index 471b5505..e576c600 100644 --- a/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_logP_and_parameter_samples.csv +++ b/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_logP_and_parameter_samples.csv @@ -1,3 +1,10 @@ --2.532510704415534519e+02,2.241050079147750562e-01,-2.380605024809735179e-05 --2.532510704415534519e+02,2.241050079147750562e-01,-2.380605024809735179e-05 --1.933033028160817253e+02,2.527064567593987898e-01,-3.371376408115627703e-05 +4.339317372910611592e-01,1.542259967824516353e-01,3.534977294743722585e-05 +5.086873110587293301e-01,1.556035105671282892e-01,2.309687768672048585e-05 +5.086873110587293301e-01,1.556035105671282892e-01,2.309687768672048585e-05 +5.086873110587293301e-01,1.556035105671282892e-01,2.309687768672048585e-05 +5.086873110587293301e-01,1.556035105671282892e-01,2.309687768672048585e-05 +4.585730171939708111e-01,1.439434293053271086e-01,3.308397327357453512e-06 +4.585730171939708111e-01,1.439434293053271086e-01,3.308397327357453512e-06 +2.644523719633031789e-01,1.286008669332011634e-01,-2.536757302645617658e-05 +2.644523719633031789e-01,1.286008669332011634e-01,-2.536757302645617658e-05 +2.644523719633031789e-01,1.286008669332011634e-01,-2.536757302645617658e-05 diff --git a/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_log_file.txt b/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_log_file.txt index 165eb316..baa28f2c 100644 --- a/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_log_file.txt +++ b/Examples/Example13doeFunctionExample/logs_and_csvs/mcmc_log_file.txt @@ -1,12 +1,12 @@ self.initial_point_parameters:[ 1.71e-01 -5.00e-05] -MAP_logP:[-193.30330282] -self.map_parameter_set:[ 2.52706457e-01 -3.37137641e-05] -self.map_index:2 -self.mu_AP_parameter_set:[ 2.33638824e-01 -2.71086215e-05] -self.stdap_parameter_set:[1.34828523e-02 4.67054109e-06] -self.info_gain:0.0 -evidence:9.214959029171412e-85 +MAP_logP:[0.50868731] +self.map_parameter_set:[1.55603511e-01 2.30968777e-05] +self.map_index:1 +self.mu_AP_parameter_set:[1.45032950e-01 5.82513593e-06] +self.stdap_parameter_set:[1.15925549e-02 2.23530304e-05] +self.info_gain:177.31784168135525 +evidence:3.3183253538763537 posterior_cov_matrix: -[[ 2.72680959e-04 -9.44583235e-08] - [-9.44583235e-08 3.27209311e-11]] -Convergence Status: Warning - The difference between the MAP parameter set and mu_AP parameter set is greater than 10% of the prior standard deviations in at least one parameter. This means that either your posterior distribution is asymmetric or that it is not yet converged. This may mean that you need to increase your mcmc_length, increase or decrease your mcmc_relative_step_length, or change what is used for the model response. There is no general method for knowing the right value for mcmc_relative_step_length since it depends on the sharpness and smoothness of the response. See for example https://www.sciencedirect.com/science/article/pii/S0039602816300632 \ No newline at end of file +[[1.49319254e-04 2.82764108e-07] + [2.82764108e-07 5.55175519e-10]] +Convergence Status: The difference between the MAP parameter set and mu_AP parameter set is less than 10% of the prior standard deviations for each parameter. There is no general method for knowing when the correct solution has been obtained, but this small difference is one sign of a converged solution. \ No newline at end of file diff --git a/Examples/Example13doeFunctionExample/pickles/mcmc_burn_in_logP_and_parameter_samples.pkl b/Examples/Example13doeFunctionExample/pickles/mcmc_burn_in_logP_and_parameter_samples.pkl index 559be406..506f110d 100644 Binary files a/Examples/Example13doeFunctionExample/pickles/mcmc_burn_in_logP_and_parameter_samples.pkl and b/Examples/Example13doeFunctionExample/pickles/mcmc_burn_in_logP_and_parameter_samples.pkl differ diff --git a/Examples/Example13doeFunctionExample/pickles/mcmc_last_point_sampled.pkl b/Examples/Example13doeFunctionExample/pickles/mcmc_last_point_sampled.pkl index 5250b76f..e86a7f5b 100644 Binary files a/Examples/Example13doeFunctionExample/pickles/mcmc_last_point_sampled.pkl and b/Examples/Example13doeFunctionExample/pickles/mcmc_last_point_sampled.pkl differ diff --git a/Examples/Example13doeFunctionExample/pickles/mcmc_logP_and_parameter_samples.pkl b/Examples/Example13doeFunctionExample/pickles/mcmc_logP_and_parameter_samples.pkl index da9cf7d8..d3b7f45c 100644 Binary files a/Examples/Example13doeFunctionExample/pickles/mcmc_logP_and_parameter_samples.pkl and b/Examples/Example13doeFunctionExample/pickles/mcmc_logP_and_parameter_samples.pkl differ diff --git a/Examples/Example13doeFunctionExample/pickles/mcmc_map_logP.pkl b/Examples/Example13doeFunctionExample/pickles/mcmc_map_logP.pkl index bf9c81d6..a11388d9 100644 Binary files a/Examples/Example13doeFunctionExample/pickles/mcmc_map_logP.pkl and b/Examples/Example13doeFunctionExample/pickles/mcmc_map_logP.pkl differ diff --git a/Examples/Example13doeFunctionExample/pickles/mcmc_post_burn_in_statistics.pkl b/Examples/Example13doeFunctionExample/pickles/mcmc_post_burn_in_statistics.pkl index 859a359d..0b388ec9 100644 Binary files a/Examples/Example13doeFunctionExample/pickles/mcmc_post_burn_in_statistics.pkl and b/Examples/Example13doeFunctionExample/pickles/mcmc_post_burn_in_statistics.pkl differ diff --git a/Examples/Example13doeFunctionExample/runfile_Example13_doe_function_meshgrid_1_parallel_parameter_modulation.py b/Examples/Example13doeFunctionExample/runfile_Example13_doe_function_meshgrid_1_parallel_parameter_modulation.py index bc0a61b9..f9e1bfa6 100644 --- a/Examples/Example13doeFunctionExample/runfile_Example13_doe_function_meshgrid_1_parallel_parameter_modulation.py +++ b/Examples/Example13doeFunctionExample/runfile_Example13_doe_function_meshgrid_1_parallel_parameter_modulation.py @@ -45,7 +45,7 @@ UserInput.parameter_estimation_settings['scaling_uncertainties_type'] = "std" UserInput.parameter_estimation_settings['exportLog'] = False UserInput.parameter_estimation_settings['verbose'] = False - UserInput.parameter_estimation_settings['checkPointFrequency'] = None + UserInput.parameter_estimation_settings['mcmc_checkPointFrequency'] = None UserInput.parameter_estimation_settings['mcmc_mode'] = 'unbiased' UserInput.parameter_estimation_settings['mcmc_random_seed'] = 0 #Normally set to None so that mcmc is set to be random. To get the same results repeatedly, such as for testing purposes, set the random seed to 0 or another integer for testing purposes. UserInput.parameter_estimation_settings['mcmc_burn_in'] = 100 diff --git a/Examples/Example23/graphs/_.txt b/Examples/Example23/graphs/_.txt new file mode 100644 index 00000000..e69de29b diff --git a/Examples/Example23/info_gain_surface_mem_reactor.png b/Examples/Example23/info_gain_surface_mem_reactor.png new file mode 100644 index 00000000..32cc313a Binary files /dev/null and b/Examples/Example23/info_gain_surface_mem_reactor.png differ diff --git a/Examples/Example23/km_only_figures/_.txt b/Examples/Example23/km_only_figures/_.txt new file mode 100644 index 00000000..e69de29b diff --git a/Examples/Example23/processing_function_mem_reactor_km_only.py b/Examples/Example23/processing_function_mem_reactor_km_only.py new file mode 100644 index 00000000..06bfd0b4 --- /dev/null +++ b/Examples/Example23/processing_function_mem_reactor_km_only.py @@ -0,0 +1,37 @@ +import numpy as np +from scipy.integrate import odeint +global T +global volume +global F0 +global P0 +global R +global k_1 +global k_minus_1 +T = 298.15 +volume = 1000 +F0 = np.array([5, 0]) +P0 = 1 +R = 82.057338 +k_1 = 1e2 +k_minus_1 = 1 + +def cmr(theta,V,k_1,k_minus_1,k_B,T0): + + F_A, F_B = theta + F_T = F_A + F_B + C_T0 = P0 / (R * T0) + C_A = C_T0 * F_A / F_T + C_B = C_T0 * F_B / F_T + r_A = k_1*C_A - k_minus_1*C_B + R_B = k_B*C_B + dFdV = [-r_A, r_A - R_B] + return dFdV + +def mem_reactor(sample): + #sample should be a list with 1 value. + sol = odeint(cmr, F0, np.linspace(0,volume,2), args=(k_1, k_minus_1, sample[0], T)) + conc_sol_last=sol[-1,:].T + # print('km',sample) + # print('F_A',conc_sol_last[0]) + return(conc_sol_last[0]) + diff --git a/Examples/Example23/runfile_Example12_km_only_fixed_no_offset.py b/Examples/Example23/runfile_Example12_km_only_fixed_no_offset.py index 21878cfa..2fcf6219 100644 --- a/Examples/Example23/runfile_Example12_km_only_fixed_no_offset.py +++ b/Examples/Example23/runfile_Example12_km_only_fixed_no_offset.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -32,7 +32,7 @@ UserInput.parameter_estimation_settings['scaling_uncertainties_type'] = "2e3" UserInput.parameter_estimation_settings['verbose'] = False - UserInput.parameter_estimation_settings['checkPointFrequency'] = 100 + UserInput.parameter_estimation_settings['mcmc_checkPointFrequency'] = 100 UserInput.parameter_estimation_settings['mcmc_mode'] = 'unbiased' UserInput.parameter_estimation_settings['mcmc_random_seed'] = 0 #Normally set to None so that mcmc is set to be random. To get the same results repeatedly, such as for testing purposes, set the random seed to 0 or another integer for testing purposes. @@ -69,18 +69,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -92,7 +93,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example23/runfile_Example12_km_only_fixed_scaling.py b/Examples/Example23/runfile_Example12_km_only_fixed_scaling.py index 47547b61..9e733e43 100644 --- a/Examples/Example23/runfile_Example12_km_only_fixed_scaling.py +++ b/Examples/Example23/runfile_Example12_km_only_fixed_scaling.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -32,7 +32,7 @@ UserInput.parameter_estimation_settings['scaling_uncertainties_type'] = "2e3" UserInput.parameter_estimation_settings['verbose'] = False - UserInput.parameter_estimation_settings['checkPointFrequency'] = 100 + UserInput.parameter_estimation_settings['mcmc_checkPointFrequency'] = 100 UserInput.parameter_estimation_settings['mcmc_mode'] = 'unbiased' UserInput.parameter_estimation_settings['mcmc_random_seed'] = 0 #Normally set to None so that mcmc is set to be random. To get the same results repeatedly, such as for testing purposes, set the random seed to 0 or another integer for testing purposes. @@ -69,19 +69,21 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) - + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) + + fun.k_1 = 1e2 fun.k_minus_1 = 1 prior = np.random.normal(2e3,1e3,10000) @@ -92,7 +94,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example23/runfile_Example12_km_only_fixed_scaling_neg_1std_offset.py b/Examples/Example23/runfile_Example12_km_only_fixed_scaling_neg_1std_offset.py index 22a4a39a..26f4e026 100644 --- a/Examples/Example23/runfile_Example12_km_only_fixed_scaling_neg_1std_offset.py +++ b/Examples/Example23/runfile_Example12_km_only_fixed_scaling_neg_1std_offset.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_km_only as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -32,7 +32,7 @@ UserInput.parameter_estimation_settings['scaling_uncertainties_type'] = "2e3" UserInput.parameter_estimation_settings['verbose'] = False - UserInput.parameter_estimation_settings['checkPointFrequency'] = 100 + UserInput.parameter_estimation_settings['mcmc_checkPointFrequency'] = 100 UserInput.parameter_estimation_settings['mcmc_mode'] = 'unbiased' UserInput.parameter_estimation_settings['mcmc_random_seed'] = 0 #Normally set to None so that mcmc is set to be random. To get the same results repeatedly, such as for testing purposes, set the random seed to 0 or another integer for testing purposes. @@ -70,18 +70,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -94,7 +95,7 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last + UserInput.responses['responses_observed'] = [conc_sol_last] PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example23/runfile_Example12_km_only_fixed_scaling_pos_1std_offset.py b/Examples/Example23/runfile_Example12_km_only_fixed_scaling_pos_1std_offset.py new file mode 100644 index 00000000..be5aeaa4 --- /dev/null +++ b/Examples/Example23/runfile_Example12_km_only_fixed_scaling_pos_1std_offset.py @@ -0,0 +1,124 @@ +import matplotlib +import matplotlib.pyplot as plt +from matplotlib.ticker import FormatStrFormatter +import numpy as np +import scipy +from scipy.integrate import odeint +import sys; sys.path.insert(0, '../../'); import PEUQSE as PEUQSE +import PEUQSE.UserInput as UserInput + +if __name__ == "__main__": + + observed_data_Filename = 'ExperimentalDataAcetaldehydeTPDCeO2111MullinsTruncatedConstantErrors.csv' + + import processing_function_mem_reactor_km_only as fun + + UserInput.responses['responses_observed_uncertainties'] = [0.04] + + UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' + UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' + #UserInput.simulated_response_plot_settings['y_range'] = [0.00, 0.025] #optional. + UserInput.simulated_response_plot_settings['figure_name'] = 'Posterior_Example12' #This creates the filename, also. + + UserInput.model['parameterNamesAndMathTypeExpressionsDict'] = {'delta_G':r'$\deltaG (eV)$'} + UserInput.model['InputParameterPriorValues'] = [2e3] # eV + UserInput.model['InputParametersPriorValuesUncertainties'] = [1e3] #If user wants to use a prior with covariance, then this must be a 2D array/ list. To assume no covariance, a 1D This is a standard deviation! + UserInput.model['InputParameterInitialGuess'] = [2e3] #This is where the mcmc chain will start. + #InputParameterInitialValues = [41.5, 41.5, 13.0, 13.0, 0.1, 0.1] # Ea1_mean, Ea2_mean, log_A1_mean, log_A2_mean, gamma_1_mean, gamma_2_mean + + #InputParametersInitialValuesUncertainties = [200, 200, 13, 13, 0.1, 0.1] #If user wants to use a prior with covariance, then this must be a 2D array/ list. To assume no covariance, a 1D array can be used. + UserInput.model['simulateByInputParametersOnlyFunction'] = fun.mem_reactor #This must simulate with *only* the parameters listed above, and no other arguments. + #UserInput.model['simulationOutputProcessingFunction'] = processing_functions_tpd_odeint.no_log_wrapper_func #Optional: a function to process what comes out of the simulation Function and then return an observable vector. + + UserInput.parameter_estimation_settings['scaling_uncertainties_type'] = "2e3" + UserInput.parameter_estimation_settings['verbose'] = False + UserInput.parameter_estimation_settings['mcmc_checkPointFrequency'] = 100 + + UserInput.parameter_estimation_settings['mcmc_mode'] = 'unbiased' + UserInput.parameter_estimation_settings['mcmc_random_seed'] = 0 #Normally set to None so that mcmc is set to be random. To get the same results repeatedly, such as for testing purposes, set the random seed to 0 or another integer for testing purposes. + UserInput.parameter_estimation_settings['mcmc_burn_in'] = 500 #normally 1000 + UserInput.parameter_estimation_settings['mcmc_length'] = 8000 #normally 10000 + UserInput.parameter_estimation_settings['mcmc_relative_step_length'] = 0.05 + UserInput.parameter_estimation_settings['mcmc_modulate_accept_probability'] = 0 #Default value of 0. Changing this value sharpens or flattens the posterior. A value greater than 1 flattens the posterior by accepting low values more often. It can be useful when greater sampling is more important than accuracy. One way of using this feature is to try with a value of 0, then with the value equal to the number of priors for comparison, and then to gradually decrease this number as low as is useful (to minimize distortion of the result). A downside of changing changing this variable to greater than 1 is that it slows the the ascent to the maximum of the prior, so there is a balance in using it. In contrast, numbers increasingly less than one (such as 0.90 or 0.10) will speed up the ascent to the maximum of the posterior, but will also result in fewer points being retained. + UserInput.parameter_estimation_settings['mcmc_info_gain_cutoff'] = 0 + + UserInput.contour_plot_settings['parameter_pairs'] = [[0, 0]] + UserInput.contour_plot_settings['contours_normalized'] = False + UserInput.contour_plot_settings['figure_name'] = 'Mumpce_contour_plot_mem_reactor' + #After making the UserInput, now we make a 'parameter_estimation' object from it. + global T + global volume + global F0 + global P0 + global R + global kB + global k_1 + global k_minus_1 + kB = 8.61733035E-5 #eV/K\n + k_1 = 1e2 + k_minus_1 = 1 + k_m = 3e3 + F0 = np.array([5, 0]) + temperatures = np.linspace(298.15,698.15,5) + volumes = np.linspace(100,1100,5) + + flow_rates_a=[] + for v in volumes: + for t in temperatures: + sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) + conc_sol_last=sol[-1,0].T + flow_rates_a.append(conc_sol_last) + + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) + TT, V = np.meshgrid(temperatures, volumes) + flow_rates_a=np.asarray(flow_rates_a) + FRA = flow_rates_a.reshape(TT.shape) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) + + fun.k_1 = 1e2 + fun.k_minus_1 = 1 + prior = np.random.normal(2e3,1e3,10000) + info_gains=[] + PE_object_list = [] + for v in volumes: + for t in temperatures: + sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) + conc_sol_last=sol[-1,0].T + print('conc_sol_last',conc_sol_last) + UserInput.responses['responses_observed'] = [conc_sol_last] + PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) + fun.T = t + fun.volume = v + [map_parameter_set, muap_parameter_set, stdap_parameter_set, evidence, info_gain, samples, logP] = PE_object_list[-1].doMetropolisHastings() + info_gains.append(info_gain) + fig, ax = plt.subplots() + (density0,bins0,pathces0)=ax.hist([prior,PE_object_list[-1].post_burn_in_samples.flatten()],bins=100,label=['prior','posterior'],density=True) + ax.legend() + ax.set_ylabel('Probability density') + ax.set_xlabel(r'$k_m$') + ax.set_title('Prior and Posterior Density Plot at T = {} (K) volume = {} cm^3'.format(str(t),str(v))) + fig.tight_layout() + fig.savefig('km_only_figures/prior_and_posterior_histogram_T_{}_V_{}.png'.format(str(t),str(v)), dpi=300) + fig,ax = plt.subplots(figsize=(5,5)) + #ax = fig.add_subplot(111, projection='3d') + T, V = np.meshgrid(temperatures, volumes) + info_gains=np.asarray(info_gains) + IG = info_gains.reshape(T.shape) + surf = ax.pcolor(T,V,IG,cmap=matplotlib.cm.coolwarm) + + ax.set_xlabel('Temperature') + ax.set_ylabel('Volume') + #ax.set_zlabel('Information Gain') + ax.set_xticks(temperatures) + ax.xaxis.set_major_formatter(FormatStrFormatter('%.2f')) + ax.set_title('Information Gain Surface') + fig.colorbar(surf, shrink=0.5, aspect=5) + fig.savefig('info_gain_surface_mem_reactor.png', dpi=220) diff --git a/Examples/Example23/runfile_Example23_pos_1std_offset.py b/Examples/Example23/runfile_Example23_pos_1std_offset.py index 1a3c2903..0f9c83a9 100644 --- a/Examples/Example23/runfile_Example23_pos_1std_offset.py +++ b/Examples/Example23/runfile_Example23_pos_1std_offset.py @@ -13,7 +13,7 @@ import processing_function_mem_reactor_three_params as fun - UserInput.responses['responses_observed_uncertainties'] = 0.04 + UserInput.responses['responses_observed_uncertainties'] = [0.04] UserInput.simulated_response_plot_settings['x_label'] = r'$reactor outlet$' UserInput.simulated_response_plot_settings['y_label'] = r'$ln(C_A)i$' @@ -72,18 +72,19 @@ conc_sol_last=sol[-1,0].T flow_rates_a.append(conc_sol_last) - fig = plt.figure(figsize = (5,5)) - ax = fig.add_subplot(111, projection='3d') + #fig = plt.figure(figsize = (5,5)) + #ax = fig.add_subplot(111, projection='3d') + fig1,ax1 = plt.subplots(figsize=(5,5)) TT, V = np.meshgrid(temperatures, volumes) flow_rates_a=np.asarray(flow_rates_a) FRA = flow_rates_a.reshape(TT.shape) - surf = ax.plot_surface(TT,V,FRA,cmap=matplotlib.cm.coolwarm) - ax.set_xlabel('Temperature') - ax.set_ylabel('Volume') - ax.set_zlabel('Flow Rate') - ax.set_title('Surface Plot of F_A') - fig.colorbar(surf, shrink=0.5, aspect=5) - fig.savefig('synthetic_observables.png',dpi=220) + surf = ax1.pcolor(TT,V,FRA,cmap=matplotlib.cm.coolwarm) + ax1.set_xlabel('Temperature') + ax1.set_ylabel('Volume') + #ax1.set_zlabel('Flow Rate') + ax1.set_title('Surface Plot of F_A') + fig1.colorbar(surf, shrink=0.5, aspect=5) + fig1.savefig('synthetic_observables.png',dpi=220) fun.k_1 = 1e2 fun.k_minus_1 = 1 @@ -95,8 +96,8 @@ sol = odeint(fun.cmr, F0, np.linspace(0,v,50), args=(k_1,k_minus_1,k_m,t)) conc_sol_last=sol[-1,0].T print('conc_sol_last',conc_sol_last) - UserInput.responses['responses_observed'] = conc_sol_last - UserInput.contour_plot_settings['figure_name'] = 'figures/prior_and_posterior_contour_T_{}_V_{}'.format(str(t),str(v)) + UserInput.responses['responses_observed'] = [conc_sol_last] + UserInput.contour_plot_settings['figure_name'] = 'prior_and_posterior_contour_T_{}_V_{}'.format(str(t),str(v)) PE_object_list.append(PEUQSE.parameter_estimation(UserInput)) fun.T = t fun.volume = v diff --git a/Examples/Example23/synthetic_observables.png b/Examples/Example23/synthetic_observables.png new file mode 100644 index 00000000..006772b4 Binary files /dev/null and b/Examples/Example23/synthetic_observables.png differ diff --git a/Examples/ExamplesAndTutorialAndGettingStarted.rtf b/Examples/ExamplesAndTutorialAndGettingStarted.rtf index 2a291478..452c0ed1 100644 --- a/Examples/ExamplesAndTutorialAndGettingStarted.rtf +++ b/Examples/ExamplesAndTutorialAndGettingStarted.rtf @@ -1,6 +1,6 @@ {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} {\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;} -{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f43\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Segoe UI{\*\falt Sylfaen};} +{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f43\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0502040204020203}Segoe UI{\*\falt Sylfaen};} {\f44\fbidi \fnil\fcharset128\fprq0{\*\panose 00000000000000000000}HiraginoSans-W3{\*\falt Yu Gothic};}{\f45\fbidi \fnil\fcharset128\fprq0{\*\panose 00000000000000000000}@HiraginoSans-W3;} {\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} @@ -129,24 +129,24 @@ Table Grid;}{\s33\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\ \rsid4983879\rsid4995007\rsid5003270\rsid5052359\rsid5055169\rsid5057989\rsid5068461\rsid5069720\rsid5132765\rsid5136280\rsid5182750\rsid5196949\rsid5255286\rsid5311143\rsid5319795\rsid5400383\rsid5463768\rsid5509497\rsid5518849\rsid5647224\rsid5705294 \rsid5710532\rsid5792686\rsid5838503\rsid5846366\rsid5917578\rsid5922758\rsid5981922\rsid6044232\rsid6101187\rsid6103039\rsid6114055\rsid6119657\rsid6122924\rsid6172062\rsid6179094\rsid6232472\rsid6250917\rsid6258573\rsid6313672\rsid6316676\rsid6432849 \rsid6453646\rsid6566869\rsid6570869\rsid6580751\rsid6693599\rsid6709107\rsid6715530\rsid6751060\rsid6762149\rsid6824755\rsid6831891\rsid6836846\rsid6844112\rsid6883014\rsid6884892\rsid6891876\rsid6903822\rsid6948938\rsid6959563\rsid6970424\rsid6971509 -\rsid7026111\rsid7031939\rsid7087962\rsid7092480\rsid7092960\rsid7096317\rsid7109676\rsid7175132\rsid7280192\rsid7301657\rsid7410249\rsid7424854\rsid7479958\rsid7482031\rsid7497916\rsid7499473\rsid7537644\rsid7544898\rsid7545592\rsid7545804\rsid7553280 -\rsid7556069\rsid7562705\rsid7611801\rsid7679699\rsid7755480\rsid7764868\rsid7806225\rsid7820741\rsid7878561\rsid7933201\rsid7936145\rsid7996622\rsid7997307\rsid8000180\rsid8068760\rsid8082294\rsid8132393\rsid8148827\rsid8204520\rsid8218151\rsid8219243 -\rsid8285502\rsid8325119\rsid8329325\rsid8419468\rsid8458191\rsid8462065\rsid8473669\rsid8476802\rsid8546005\rsid8591409\rsid8602385\rsid8605240\rsid8651832\rsid8661181\rsid8671387\rsid8720086\rsid8799769\rsid8805699\rsid8850357\rsid8854567\rsid8867026 -\rsid8869267\rsid8924859\rsid8982304\rsid9054434\rsid9129308\rsid9135367\rsid9185638\rsid9333173\rsid9377102\rsid9377207\rsid9397399\rsid9449060\rsid9451295\rsid9458816\rsid9504830\rsid9516283\rsid9533787\rsid9600106\rsid9661017\rsid9663594\rsid9765115 -\rsid9774597\rsid9775604\rsid9781147\rsid9851680\rsid9915174\rsid9917352\rsid9971401\rsid9972327\rsid9974331\rsid9976323\rsid9985298\rsid10059135\rsid10162460\rsid10174498\rsid10230283\rsid10292260\rsid10300748\rsid10304940\rsid10316253\rsid10317858 -\rsid10378859\rsid10433740\rsid10498384\rsid10499779\rsid10502209\rsid10507252\rsid10510488\rsid10511864\rsid10567217\rsid10621758\rsid10627650\rsid10691976\rsid10713938\rsid10774331\rsid10778348\rsid10830751\rsid10834176\rsid10839109\rsid10881300 -\rsid10884226\rsid10890149\rsid10890556\rsid10895710\rsid10898533\rsid10900245\rsid10977060\rsid11025157\rsid11029581\rsid11084368\rsid11095173\rsid11096928\rsid11101156\rsid11108272\rsid11211045\rsid11221932\rsid11228308\rsid11232937\rsid11272368 -\rsid11354297\rsid11370179\rsid11483794\rsid11498563\rsid11561285\rsid11602057\rsid11602359\rsid11604552\rsid11607325\rsid11613627\rsid11681049\rsid11749639\rsid11755169\rsid11803067\rsid11868973\rsid11933553\rsid11936212\rsid11993403\rsid12001550 -\rsid12010071\rsid12012550\rsid12132988\rsid12143652\rsid12189724\rsid12216972\rsid12332759\rsid12348767\rsid12391059\rsid12402070\rsid12459525\rsid12478317\rsid12484306\rsid12661354\rsid12677055\rsid12718273\rsid12726409\rsid12811867\rsid12864229 -\rsid12873310\rsid12913785\rsid12922612\rsid12933479\rsid12933927\rsid12977827\rsid12983220\rsid12986592\rsid12996699\rsid12998255\rsid13001639\rsid13060301\rsid13067814\rsid13177496\rsid13178258\rsid13189456\rsid13192964\rsid13245668\rsid13305350 -\rsid13311499\rsid13388701\rsid13440633\rsid13463463\rsid13464694\rsid13508891\rsid13521263\rsid13524604\rsid13570223\rsid13591491\rsid13593953\rsid13597278\rsid13635979\rsid13651419\rsid13661873\rsid13710893\rsid13782743\rsid13786050\rsid13840911 -\rsid13850282\rsid13917884\rsid13960309\rsid13965083\rsid13965316\rsid13967987\rsid13977087\rsid13987176\rsid14040061\rsid14100097\rsid14174789\rsid14186805\rsid14229641\rsid14287669\rsid14303575\rsid14305884\rsid14318265\rsid14356406\rsid14370553 -\rsid14377843\rsid14417935\rsid14500797\rsid14627544\rsid14691707\rsid14831571\rsid14831930\rsid14833849\rsid14840237\rsid14884622\rsid14905792\rsid14950971\rsid14953549\rsid14963559\rsid14968074\rsid15036281\rsid15075605\rsid15139304\rsid15158197 -\rsid15170562\rsid15210772\rsid15221285\rsid15358858\rsid15418431\rsid15474960\rsid15545866\rsid15605004\rsid15607315\rsid15618076\rsid15621302\rsid15626810\rsid15629469\rsid15678010\rsid15683877\rsid15684665\rsid15826413\rsid15874565\rsid15934089 -\rsid15937751\rsid15957358\rsid16130306\rsid16140180\rsid16143665\rsid16152450\rsid16153708\rsid16203035\rsid16206261\rsid16253243\rsid16262348\rsid16275029\rsid16322148\rsid16349349\rsid16401875\rsid16450039\rsid16452461\rsid16594485\rsid16655318 -\rsid16666857\rsid16669339\rsid16724920}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Savara, Aditya Ashi}{\operator Savara, Aditya Ashi} -{\creatim\yr2020\mo10\dy10\hr16\min51}{\revtim\yr2022\mo8\dy4\hr17\min2}{\version267}{\edmins1538}{\nofpages17}{\nofwords7441}{\nofchars42415}{\nofcharsws49757}{\vern43}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} -\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect +\rsid7019953\rsid7026111\rsid7031939\rsid7087962\rsid7092480\rsid7092960\rsid7096317\rsid7109676\rsid7175132\rsid7280192\rsid7301657\rsid7410249\rsid7424854\rsid7479958\rsid7482031\rsid7497916\rsid7499473\rsid7537644\rsid7544898\rsid7545592\rsid7545804 +\rsid7553280\rsid7556069\rsid7562705\rsid7611801\rsid7679699\rsid7755480\rsid7764868\rsid7806225\rsid7820741\rsid7878561\rsid7933201\rsid7936145\rsid7996622\rsid7997307\rsid8000180\rsid8068760\rsid8082294\rsid8132393\rsid8148827\rsid8204520\rsid8218151 +\rsid8219243\rsid8285502\rsid8325119\rsid8329325\rsid8419468\rsid8458191\rsid8462065\rsid8473669\rsid8476802\rsid8546005\rsid8591409\rsid8602385\rsid8605240\rsid8651832\rsid8661181\rsid8671387\rsid8720086\rsid8799769\rsid8805699\rsid8850357\rsid8854567 +\rsid8867026\rsid8869267\rsid8924859\rsid8982304\rsid9054434\rsid9129308\rsid9135367\rsid9185638\rsid9333173\rsid9377102\rsid9377207\rsid9397399\rsid9449060\rsid9451295\rsid9458816\rsid9504830\rsid9516283\rsid9533787\rsid9600106\rsid9661017\rsid9663594 +\rsid9765115\rsid9774597\rsid9775604\rsid9781147\rsid9851680\rsid9915174\rsid9917352\rsid9971401\rsid9972327\rsid9974331\rsid9976323\rsid9985298\rsid10059135\rsid10162460\rsid10174498\rsid10230283\rsid10292260\rsid10300748\rsid10304940\rsid10316253 +\rsid10317858\rsid10378859\rsid10433740\rsid10498384\rsid10499779\rsid10502209\rsid10507252\rsid10510488\rsid10511864\rsid10567217\rsid10621758\rsid10627650\rsid10691976\rsid10713938\rsid10774331\rsid10778348\rsid10830751\rsid10834176\rsid10839109 +\rsid10881300\rsid10884226\rsid10890149\rsid10890556\rsid10895710\rsid10898533\rsid10900245\rsid10977060\rsid11025157\rsid11029581\rsid11084368\rsid11095173\rsid11096928\rsid11101156\rsid11108272\rsid11211045\rsid11221932\rsid11228308\rsid11232937 +\rsid11272368\rsid11354297\rsid11370179\rsid11483794\rsid11498563\rsid11561285\rsid11602057\rsid11602359\rsid11604552\rsid11607325\rsid11613627\rsid11681049\rsid11749639\rsid11755169\rsid11803067\rsid11868973\rsid11933553\rsid11936212\rsid11993403 +\rsid12001550\rsid12010071\rsid12012550\rsid12132988\rsid12143652\rsid12189724\rsid12216972\rsid12332759\rsid12348767\rsid12391059\rsid12402070\rsid12459525\rsid12478317\rsid12484306\rsid12661354\rsid12677055\rsid12718273\rsid12726409\rsid12811867 +\rsid12864229\rsid12873310\rsid12913785\rsid12922612\rsid12933479\rsid12933927\rsid12977827\rsid12983220\rsid12986592\rsid12996699\rsid12998255\rsid13001639\rsid13060301\rsid13067814\rsid13177496\rsid13178258\rsid13189456\rsid13192964\rsid13199200 +\rsid13245668\rsid13305350\rsid13311499\rsid13388701\rsid13440633\rsid13463463\rsid13464694\rsid13508891\rsid13521263\rsid13524604\rsid13570223\rsid13591491\rsid13593953\rsid13597278\rsid13635979\rsid13651419\rsid13661873\rsid13710893\rsid13782743 +\rsid13786050\rsid13840911\rsid13850282\rsid13917884\rsid13960309\rsid13965083\rsid13965316\rsid13967987\rsid13977087\rsid13987176\rsid14040061\rsid14100097\rsid14174789\rsid14186805\rsid14229641\rsid14287669\rsid14303575\rsid14305884\rsid14318265 +\rsid14356406\rsid14370553\rsid14377843\rsid14417935\rsid14500797\rsid14627544\rsid14691707\rsid14831571\rsid14831930\rsid14833849\rsid14840237\rsid14884622\rsid14905792\rsid14950971\rsid14953549\rsid14963559\rsid14968074\rsid15036281\rsid15075605 +\rsid15139304\rsid15158197\rsid15170562\rsid15210772\rsid15221285\rsid15358858\rsid15418431\rsid15474960\rsid15545866\rsid15605004\rsid15607315\rsid15618076\rsid15621302\rsid15626810\rsid15629469\rsid15678010\rsid15683877\rsid15684665\rsid15826413 +\rsid15874565\rsid15934089\rsid15937751\rsid15957358\rsid16130306\rsid16140180\rsid16143665\rsid16152450\rsid16153708\rsid16203035\rsid16206261\rsid16253243\rsid16262348\rsid16275029\rsid16322148\rsid16349349\rsid16401875\rsid16450039\rsid16452461 +\rsid16594485\rsid16655318\rsid16666857\rsid16669339\rsid16724920}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Savara, Aditya Ashi} +{\operator Savara, Aditya Ashi}{\creatim\yr2020\mo10\dy10\hr16\min51}{\revtim\yr2022\mo8\dy7\hr13\min54}{\version269}{\edmins1540}{\nofpages17}{\nofwords7443}{\nofchars42431}{\nofcharsws49775}{\vern43}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/of +fice/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen \expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1 \jexpand\viewkind1\viewscale160\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct @@ -165,61 +165,61 @@ Table Grid;}{\s33\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\ {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9129308 TOC \\o "1-3" \\h \\z \\u }}{\fldrslt {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{ \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid4545857 HYPERLINK \\l "_Toc56022174"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f006300350036003000320032003100370034000000006c0071000000003400b200002600000000000000001600000416e40080000400}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f006300350036003000320032003100370034000000006c0071000000003400b200002600000000000000001600000416e4008000040051}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 References to Cite:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 PAGEREF _Toc56022174 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700340000000073005c000000263420ef0020c700060000906c00310600009400000000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700340000000073005c000000263420ef0020c700060000906c0031060000940000000000000014}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 1}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj }}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\insrsid4545857 \par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid4545857 HYPERLINK \\l "_Toc56022175"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700350000000000005c0000000079010900200c00061500900000002500004c0079007f010000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700350000000000005c0000000079010900200c00061500900000002500004c0079007f01000051}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 Importance of the MCMC and non-MCMC samplers in }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 PAGEREF _Toc56022175 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid4545857 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f00630035003600300032003200310037003500000000000000000000004f000000009800000f4f900000007200003c00000000000000}} +\lang1024\langfe1024\noproof\webhidden\insrsid4545857 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f00630035003600300032003200310037003500000000000000000000004f000000009800000f4f900000007200003c00000000000000a0}} }{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 1}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj }}\sectd \ltrsect \linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\insrsid4545857 \par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid4545857 HYPERLINK \\l "_Toc56022176"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700360000000000f72d0000000000000000002d00a500009000000049000000002e0057000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700360000000000f72d0000000000000000002d00a500009000000049000000002e005700000014}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 Normal process for a Bayesian Parameter Estimation with }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 PAGEREF _Toc56022176 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid4545857 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700360000000000982e0000ff004f0000861c6b003aef00660000000000000000350069000000}} +\lang1024\langfe1024\noproof\webhidden\insrsid4545857 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700360000000000982e0000ff004f0000861c6b003aef0066000000000000000035006900000004}} }{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 2}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj }}\sectd \ltrsect \linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\insrsid4545857 \par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid4545857 HYPERLINK \\l "_Toc56022177"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700370000000045ec86000000000000000000800000000000000000000000000073007700fb00}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700370000000045ec86000000000000000000800000000000000000000000000073007700fb0093}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 Examples}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 PAGEREF _Toc56022177 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f006300350036003000320032003100370037000000000f0261000000004f00006f000000009e001c000000000000000000000000c000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f006300350036003000320032003100370037000000000f0261000000004f00006f000000009e001c000000000000000000000000c00046}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 2}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj }}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\insrsid4545857 \par }\pard\plain \ltrpar\s31\ql \li220\ri0\sa100\sl259\slmult1\widctlpar\tqr\tldot\tx9350\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid4545857 HYPERLINK \\l "_Toc56022178"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f00630035003600300032003200310037003800000000d422860d00550000ff000000094a8c0000006300000000000000650000556500}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f00630035003600300032003200310037003800000000d422860d00550000ff000000094a8c000000630000000000000065000055650031}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 Key for Which Features are In Which Examples:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 PAGEREF _Toc56022178 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f006300350036003000320032003100370038000000007ff761006c002d4f000074000fd63a0800003d0000000000000000bd00b37100}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f006300350036003000320032003100370038000000007ff761006c002d4f000074000fd63a0800003d0000000000000000bd00b3710000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 3}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj }}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\insrsid4545857 \par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid4545857 HYPERLINK \\l "_Toc56022179"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f00630035003600300032003200310037003900000000029865002055280000003800ef25000000006900000f0000000000170072fb00}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f00630035003600300032003200310037003900000000029865002055280000003800ef25000000006900000f0000000000170072fb0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 Using Parallel Processing (including MPI)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 PAGEREF _Toc56022179 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700390000000090ec0000690c164f000091002e62002e0008630000000000000065000091c000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f0063003500360030003200320031003700390000000090ec0000690c164f000091002e62002e0008630000000000000065000091c00000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 11}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj }}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\insrsid4545857 \par }\pard\plain \ltrpar\s29\ql \li0\ri0\sa100\sl259\slmult1\widctlpar\tqr\tldot\tx9350\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid4545857 HYPERLINK \\l "_Toc56022180"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f00630035003600300032003200310038003000000000000200003655030000008600ff00cc0057c03d00000000000000000000066500}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f00630035003600300032003200310038003000000000000200003655030000008600ff00cc0057c03d0000000000000000000006650000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\lang1024\langfe1024\noproof\insrsid4545857\charrsid6044232 Tips and Tricks (and FAQ):}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 PAGEREF _Toc56022180 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f006300350036003000320032003100380030000000000022410d5503004f000000000000000000006900000000000000006300747100}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000005f0054006f006300350036003000320032003100380030000000000022410d5503004f000000000000000000006900000000000000006300747100ff}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid4545857 12}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj }}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\insrsid4545857 \par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6114055 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 }} @@ -245,9 +245,9 @@ Table Grid;}{\s33\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\ \hich\af31506\dbch\af31501\loch\f31506 PEUQSE}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid3089496 {\*\bkmkend _Toc56022175} \par }\pard\plain \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3089496 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 In Bayesian Parameter Estimation (BPE), as with other parameter estimation problems, there can be }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid3547523 multiple}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 solutions. }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 includes a partial solution to this dilemma. Most BPE softwares offer some variation of Markov Chain Monte Carlo (MCMC), which means there is stocha -stic but guided sampling (this means it is somewhat biased towards whichever modes are found earliest}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14287669 and largest}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 ).}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\insrsid14287669 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14287669 +\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 includes a partial solution to this dilemma. Most BPE softwares offer some variation of Markov Chain Monte Carlo (MCMC), which me +ans there is stochastic but guided sampling (this means it is somewhat biased towards whichever modes are found earliest}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14287669 and largest}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 ).}{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid14287669 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14287669 has not only mcmc samplers, but also non-mcmc samplers to help get past this challenge. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14287669 has}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 two types of MCMC}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14287669 samplers}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 : Metropolis Hastings and Ensemble Slice Sampling}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14287669 ., }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14287669 also has two non-mcmc}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3547523 even distribution (unbiased}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14287669 -}{\rtlch\fcs1 \af0 \ltrch\fcs0 @@ -276,8 +276,8 @@ Checking for the uniqueness of the solution can be accomplished}{\rtlch\fcs1 \af \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245668 the work (}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5003270 the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245668 parameter estimation)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5003270 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245668 \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid2696676 \hich\af31506\dbch\af0\loch\f31506 a.\tab}}\pard \ltrpar\s17\ql \fi-360\li1440\ri0\sa160\sl259\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin1440\itap0\pararsid2696676\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2696676 The examples use several va -riations in each directory, which each overwrite the previous run\rquote s outputs. This is why normally there will be a different directory for each analysis. +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin1440\itap0\pararsid2696676\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2696676 +The examples use several variations in each directory, which each overwrite the previous run\rquote s outputs. This is why normally there will be a different directory for each analysis. \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid1008869 \hich\af31506\dbch\af0\loch\f31506 2)\tab}}\pard \ltrpar\s17\ql \fi-360\li720\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid13245668\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1008869 As seen in Example 00a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10059135 0}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1008869 , t}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245668 o setup what is needed to do the analysis, everything is passed into or defined in the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 @@ -289,27 +289,27 @@ initial guesses\'94 based on prior knowledge) \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid13245668 \hich\af31506\dbch\af0\loch\f31506 c.\tab}}\pard \ltrpar\s17\ql \fi-360\li1440\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin1440\itap0\pararsid5003270\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245668 User choices for when the parameter estimation is formed.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13850282 The UserInput namespace is initially populated with some defaults, which the user can then change. }{\rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\insrsid13192964\charrsid10059135 Users are encouraged to open the}{\rtlch\fcs1 \ab\ai\af0 -\ltrch\fcs0 \b\i\insrsid7553280\charrsid10059135 package\rquote s}{\rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\insrsid13192964\charrsid10059135 UserInput.py file to see the commen -ts in there, which will be more up to date than any of the online documentation.}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid5003270\charrsid10059135 +\ltrch\fcs0 \b\i\insrsid7553280\charrsid10059135 package\rquote s}{\rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\insrsid13192964\charrsid10059135 + UserInput.py file to see the comments in there, which will be more up to date than any of the online documentation.}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid5003270\charrsid10059135 \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid5003270 \hich\af31506\dbch\af0\loch\f31506 i.\tab}}\pard \ltrpar\s17\ql \fi-180\li2160\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl2\adjustright\rin0\lin2160\itap0\pararsid5003270\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5003270 Although it would not be the standard usage, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10059135 a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5003270 user}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10059135 could}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5003270 make their own }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10059135 modified }{ \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5003270 UserInput }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10059135 module}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5003270 in the analysis directory \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid1655367 \hich\af31506\dbch\af0\loch\f31506 d.\tab}}\pard \ltrpar\s17\ql \fi-360\li1440\ri0\sa160\sl259\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin1440\itap0\pararsid1655367\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1655367 The order which the user enters their choice -s into the UserInput name space does not matter.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1655367\charrsid5003270 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin1440\itap0\pararsid1655367\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1655367 +The order which the user enters their choices into the UserInput name space does not matter.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1655367\charrsid5003270 \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid13245668 \hich\af31506\dbch\af0\loch\f31506 3)\tab}}\pard \ltrpar\s17\ql \fi-360\li720\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid13245668\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245668 This UserInput serves as a module, a namespace, and an object, which is fed as an argument into a ParameterEstimation object. \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid13245668 \hich\af31506\dbch\af0\loch\f31506 a.\tab}}\pard \ltrpar\s17\ql \fi-360\li1440\ri0\sa160\sl259\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin1440\itap0\pararsid13245668\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245668 Various parameter estimation routines can then be called from the paramet -er estimation object. +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin1440\itap0\pararsid13245668\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245668 Various parameter es +timation routines can then be called from the parameter estimation object. \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid1050957 \hich\af31506\dbch\af0\loch\f31506 b.\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1050957 To see the full set of options that exists in the UserInput module, open the file that begins with the name }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1050957\charrsid1050957 DefaultUserInputSettings}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1050957 in this directory. \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid13245668 \hich\af31506\dbch\af0\loch\f31506 4)\tab}}\pard \ltrpar\s17\ql \fi-360\li720\ri0\sa160\sl259\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid13245668\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245668 After the parameter estimation is done, the user can call commands to create - graphs and can also access the results of the parameter estimation. +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid13245668\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245668 After the parameter est +imation is done, the user can call commands to create graphs and can also access the results of the parameter estimation. \par }\pard\plain \ltrpar\s1\ql \li0\ri0\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid1010102 \rtlch\fcs1 \af37\afs36\alang1025 \ltrch\fcs0 \b\fs36\lang1033\langfe1033\loch\af31506\hich\af31506\dbch\af31501\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid9129308\charrsid1010102 {\*\bkmkstart _Toc56022177}\hich\af31506\dbch\af31501\loch\f31506 Examples {\*\bkmkend _Toc56022177} @@ -318,20 +318,20 @@ To see the full set of options that exists in the UserInput module, open the fil \b\insrsid7410249 the Workshop materials}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid7031939 at }{\field{\*\fldinst {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid7031939 HYPERLINK "}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid7031939\charrsid7031939 https://github.com/AdityaSavara/PEUQSE}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid7031939 _Workshop" }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid3236923 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b78000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f004100640069007400790061005300610076006100720061002f005000450055005100530045005f0057006f00 -72006b00730068006f0070000000795881f43b1d7f48af2c825dc485276300000000a5ab00030050}}}{\fldrslt {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs21\b\ul\cf19\insrsid7031939\charrsid7301657 https://github.com/AdityaSavara/PEUQSE_Workshop}}}\sectd \ltrsect +72006b00730068006f0070000000795881f43b1d7f48af2c825dc485276300000000a5ab000300502e}}}{\fldrslt {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs21\b\ul\cf19\insrsid7031939\charrsid7301657 https://github.com/AdityaSavara/PEUQSE_Workshop}}}\sectd \ltrsect \linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid7031939 . T}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid7410249 hen read the tips and tricks at the end of this document.}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid7031939 Then look at the examples here as needed.}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid7410249 T}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid12400\charrsid12400 hen Join the Google Group to ask for further help: } {\field\fldedit{\*\fldinst {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308 HYPERLINK "}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308\charrsid12400 https://groups.google.com/g/}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308 Ch}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308\charrsid12400 e}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308 K}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308\charrsid12400 i}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308 PEUQ-users" }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid8000180 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b70000000680074007400700073003a002f002f00670072006f007500700073002e0067006f006f0067006c0065002e0063006f006d002f0067002f004300680065004b00690050004500550051002d00750073006500 -720073000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000000300000000b8ab00470700eb005700006f0000000030000000e3c900000000007200000010000000060039000007000072000000b800d20000}}}{\fldrslt {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 +720073000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000000300000000b8ab00470700eb005700006f0000000030000000e3c900000000007200000010000000060039000007000072000000b800d2000063}}}{\fldrslt {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs21\b\ul\cf19\insrsid9129308\charrsid8329325 https://groups.google.com/g/}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs21\b\ul\cf19\insrsid15957358 PEUQSE}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs21\b\ul\cf19\insrsid9129308\charrsid8329325 -users}}}\sectd \ltrsect \linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308 }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid12400\charrsid12400 . You can also add to existing issues discussions github } {\field\fldedit{\*\fldinst {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308 HYPERLINK "}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308\charrsid12400 https://github.com/AdityaSavara/PEUQSE/issues}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308 " }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid8000180 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b7a000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f004100640069007400790061005300610076006100720061002f004300680065004b0069005000450055005100 -2f006900730073007500650073000000795881f43b1d7f48af2c825dc485276300000000a5ab0003003d00cc000000000000000000320000633400500000000000000000169a00b968005f0000ba170000200000000000000a0000000080a20000000000}}}{\fldrslt {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 +2f006900730073007500650073000000795881f43b1d7f48af2c825dc485276300000000a5ab0003003d00cc000000000000000000320000633400500000000000000000169a00b968005f0000ba170000200000000000000a0000000080a2000000000046}}}{\fldrslt {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs21\b\ul\cf19\insrsid9129308\charrsid8329325 https://github.com/AdityaSavara/}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs21\b\ul\cf19\insrsid15957358 PEUQSE}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs21\b\ul\cf19\insrsid9129308\charrsid8329325 /issues}}} \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9129308 }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid12400\charrsid12400 \par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid1788208 Users should be aware that the MCMC sampling is set to a low number for many of these examples so that a user can just test if they run. If the user thinks an example\rquote s output looks \lquote bad @@ -615,16 +615,16 @@ Example13doeFunctionExample}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6709107 \cell {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1386183 HYPERLINK "}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1386183\charrsid6884892 https://github.com/AdityaSavara/PEUQSE/blob/master/PEUQSE/UserInput.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1386183 " }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1386183 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bb2000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f004100640069007400790061005300610076006100720061002f004300680065004b0069005000450055005100 -2f0062006c006f0062002f006d00610073007400650072002f004300680065004b00690050004500550051002f00550073006500720049006e007000750074002e00700079000000795881f43b1d7f48af2c825dc485276300000000a5ab0003000000000000000000ff0000000000}}}{\fldrslt {\rtlch\fcs1 \af0 +2f0062006c006f0062002f006d00610073007400650072002f004300680065004b00690050004500550051002f00550073006500720049006e007000750074002e00700079000000795881f43b1d7f48af2c825dc485276300000000a5ab0003000000000000000000ff000000000002}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid1386183\charrsid10900245 https://github.com/AdityaSavara/}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid1386183\charrsid10900245 /blob/master/}{ \rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid1386183\charrsid10900245 /UserInput.py}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1386183 \par In some cases, it can be helpful to see the comments on functions inside InverseProblem.py }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1386183 HYPERLINK "}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1386183\charrsid5319795 https://github.com/AdityaSavara/PEUQSE/blob/master/PEUQSE/InverseProblem.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1386183 " }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1386183 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bbc000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f004100640069007400790061005300610076006100720061002f004300680065004b0069005000450055005100 -2f0062006c006f0062002f006d00610073007400650072002f004300680065004b00690050004500550051002f0049006e0076006500720073006500500072006f0062006c0065006d002e00700079000000795881f43b1d7f48af2c825dc485276300000000a5ab0003000000ffff380000005c0000003500}}}{\fldrslt -{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid1386183\charrsid10900245 https://github.com/AdityaSavara/}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid1386183\charrsid10900245 -/blob/master/}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid1386183\charrsid10900245 /InverseProblem.py}}}\sectd \ltrsect +2f0062006c006f0062002f006d00610073007400650072002f004300680065004b00690050004500550051002f0049006e0076006500720073006500500072006f0062006c0065006d002e00700079000000795881f43b1d7f48af2c825dc485276300000000a5ab0003000000ffff380000005c000000350000}} +}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid1386183\charrsid10900245 https://github.com/AdityaSavara/}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\cs21\ul\cf19\insrsid1386183\charrsid10900245 /blob/master/}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid15957358 PEUQSE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid1386183\charrsid10900245 /InverseProblem.py}}}\sectd \ltrsect \linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1386183 \par }\pard\plain \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1050957 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1050957 * * * @@ -892,21 +892,21 @@ Catalytic membrane reactor example. Example12withScaling2E3 is primarily used ( \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7556069 There are two}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5132765 types of}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7556069 runfiles}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5132765 that return the infogain in different way}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5710532 s}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7556069 . One is }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5132765 \lquote }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7556069 xyz}{ \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5132765 \rquote }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7556069 runfile}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5132765 s}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7556069 and one is }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\insrsid5132765 \lquote }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7556069 meshgrid}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5132765 \rquote }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7556069 . The meshgrid way of things is -recommended when two independent variables are being explored. The xyz way is recommended for all other numbers of independent variables.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13965316 The key arguments are from UserInput.doe_settings}{\rtlch\fcs1 \af0 -\ltrch\fcs0 \insrsid14303575 +\insrsid5132765 \lquote }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7556069 meshgrid}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5132765 \rquote }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7556069 . The meshgrid way of things is recommended when two independent variabl +es are being explored. The xyz way is recommended for all other numbers of independent variables.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13965316 The key arguments are from UserInput.doe_settings}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14303575 \par }\pard \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1523439 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1523439 Note: the info_gain type of KL_divergence is the only one recommended as of July 7}{ \rtlch\fcs1 \af0 \ltrch\fcs0 \super\insrsid1523439\charrsid13305350 th}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1523439 2020.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1523439\charrsid14303575 \par }\pard \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2162960 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10292260 -\par }\pard \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15684665 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 The two files }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665\charrsid10292260 -runfile_Example13_doe_function_meshgrid_1.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 and }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665\charrsid10292260 runfile_Example13_doe_function_xyz_1.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 +\par }\pard \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15684665 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 The two files }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665\charrsid10292260 ru +nfile_Example13_doe_function_meshgrid_1.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 and }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665\charrsid10292260 runfile_Example13_doe_function_xyz_1.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 each show how to use the syntax for the scanning function which scans across different parameter modulations, and also }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15607315 (commented out) }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 -how to do a manual retrieval of an info_gain plot for a single parameter modulation. (an addition is used for the perturbation but a set of posterior means could be fed directly). When KL_divergence info_gain is being used, these two files use only -the sum. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665\charrsid9458816 UserInput.doe_settings['info_gains_matrices_multiple_parameters'] = 'sum'}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 +how to do a manual retrieval of an + info_gain plot for a single parameter modulation. (an addition is used for the perturbation but a set of posterior means could be fed directly). When KL_divergence info_gain is being used, these two files use only the sum. }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid15684665\charrsid9458816 UserInput.doe_settings['info_gains_matrices_multiple_parameters'] = 'sum'}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 \par \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665\charrsid9458816 runfile_Example13_doe_function_meshgrid_2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 and }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665\charrsid9458816 -runfile_Example13_doe_function_xyz_2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 are runfiles showing how to do a manual retrieval of a single perturbation (not modulatin -g parameters, systematically, but still doing a conditions grid). These two are for a single positive standard deviation perturbation, and the main point of these two runfiles is that }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665\charrsid9458816 +runfile_Example13_doe_function_xyz_2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 are runfiles showing how to do a manual retrieval of a single perturbation (not modulating parameters, systematically, but still +doing a conditions grid). These two are for a single positive standard deviation perturbation, and the main point of these two runfiles is that }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665\charrsid9458816 UserInput.doe_settings['info_gains_matrices_multiple_parameters'] = '}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 each\rquote \line such that there is an info_gain graph made for each parameter, not just the sum. \par }\pard \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2162960 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15684665 \par }\pard \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15607315 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15607315\charrsid999283 runfile_Example13_doe_function_meshgrid_3.py}{\rtlch\fcs1 \af0 @@ -927,9 +927,9 @@ They use mpi with -n 26 and -n 10, respectively, as shown if they are run with 1 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3230454 One can }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid3230454 only }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3230454 parallelize conditions exploration or parameter exploration }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16152450 when doing design of experiments.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14186805 One }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid14186805 cannot}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14186805 parallelize mcmc at the same time. }{ \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14417935 As of Oct 2020, the parallelization is not compatible with the mcmc_continueSampling feature.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3230454 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5838503 How does one decide between the two possibi -lities for doe parallelization? The typical way to do so would be to first find out the number of processors required for either choice (simply set one option to true at a time and try to run without mpi or with a single processor), and then to use the ch -oice which is most close to the number of processors available.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5838503\charrsid3230454 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5838503 How does one decide between the two possibilities for doe parallelization? The typical way to do so would be to first find out the number of processors required for either choice (simply set }{\rtlch\fcs1 +\af0 \ltrch\fcs0 \insrsid7019953 mpi to be on and }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5838503 one option to true at a time and try to run }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13199200 the python runfile as a regular runfile}{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5838503 ), and then to use the choice which is most close to the number of processors available.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5838503\charrsid3230454 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10292260 \par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid7545592 Example 14: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7545592 This example uses the various states of CO adsorption on Fe3O4 and the redhead peak maximum method to estimate the DeltaH ads of States 1 through 3. For state 4, bounds on the res @@ -1059,10 +1059,10 @@ r. If one widens the parameter bounds to 0 and 100}{\rtlch\fcs1 \af37 \ltrch\fcs \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676\charrsid7109676 mpiexec -n }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3894357 10}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676\charrsid7109676 python runfile_Example_26c2_BPE_MH_}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15934089 g}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676\charrsid7109676 rid_with_Parallel.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676\charrsid4540874 -\par }\pard \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13987176 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676 This example case runs in - 1 minute, and on a regular desktop computer is actually slower than running the non-parallel version (}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676\charrsid7109676 runfile_Example_26c1_BPE_MH_}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15934089 g}{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676\charrsid7109676 rid_no_Parallel.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676 ). However, for longer simulations with large grids of slow simulations on many processors, it will of co -urse be faster to run them in parallel than in serial.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid82400 +\par }\pard \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13987176 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676 +This example case runs in 1 minute, and on a regular desktop computer is actually slower than running the non-parallel version (}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676\charrsid7109676 runfile_Example_26c1_BPE_MH_}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid15934089 g}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676\charrsid7109676 rid_no_Parallel.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7109676 ). However, for longe +r simulations with large grids of slow simulations on many processors, it will of course be faster to run them in parallel than in serial.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid82400 There is an example for continuing the simulation after that with parallel processing (this continues each grid point separately from where it is located, so is genuine continuation). \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid82400\charrsid7109676 mpiexec -n }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid82400 10}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid82400\charrsid7109676 python }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid82400\charrsid82400 runfile_Example_26c3_BPE_MH_Grid_with_Parallel_continueSampling.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid82400 @@ -1091,14 +1091,14 @@ See the two existing graph directories provided with the repository. }{\rtlch\fc }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid683832 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16594485 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 Fo}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2710254 r}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 example 28, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2710254 t}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 -h}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16594485 is problem }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 is better }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16594485 solved through }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 -using an additional run for further sampling the found mode.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3742161 T}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2118400 he graphs that are in the directory of }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\insrsid2118400\charrsid2118400 graphs_EJS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3742161 had }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2118400 stuck walkers}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15036281 after a large sampling of 1,000,000 samples}{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2118400 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14377843 This }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 first MCMC run }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2118400 which has stuck walkers can}{\rtlch\fcs1 -\af0 \ltrch\fcs0 \insrsid10510488 treated }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14377843 as an exploratory simulation where the outputs will retained further: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 a}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\insrsid14377843 n additional }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 sampling }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12189724 can }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14377843 then }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12189724 be}{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 initialized from the area of the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4663496 main }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 mode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6948938 , using a feature for -specifying the walker starting points}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16594485 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5463768 +h}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16594485 is problem }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 is better }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16594485 solved through }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 using an add +itional run for further sampling the found mode.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3742161 T}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2118400 he graphs that are in the directory of }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2118400\charrsid2118400 +graphs_EJS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3742161 had }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2118400 stuck walkers}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15036281 after a large sampling of 1,000,000 samples}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid2118400 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14377843 This }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 first MCMC run }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2118400 which has stuck walkers can}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid10510488 treated }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14377843 as an exploratory simulation where the outputs will retained further: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14377843 n additional } +{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 sampling }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12189724 can }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14377843 then }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12189724 be}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid10510488 initialized from the area of the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4663496 main }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 mode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6948938 +, using a feature for specifying the walker starting points}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16594485 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5463768 \par \par In }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5463768\charrsid5463768 runfile_316_EJSresampling.py}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5463768 we run an EJS again, but this time start}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13464694 the}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16594485 walkers from }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10510488 a set of points }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5463768 within the HPD region. W}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16275029 e use}{\rtlch\fcs1 \af0 @@ -1111,18 +1111,18 @@ hat were near a specified point in the HPD region. This new EJS started within t \ltrch\fcs0 \insrsid15036281 show}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5463768 ed}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15036281 convergence after only 10,000 samples. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16594485\charrsid683832 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13463463\charrsid7109676 \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sl259\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid15170562 \rtlch\fcs1 \ab\af37\afs36\alang1025 \ltrch\fcs0 -\b\fs28\lang1033\langfe1033\loch\af31506\hich\af31506\dbch\af31501\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8805699\charrsid10502209 {\*\bkmkstart _Toc56022179}\hich\af31506\dbch\af31501\loch\f31506 Using Parallel P -\hich\af31506\dbch\af31501\loch\f31506 rocessing (including MPI){\*\bkmkend _Toc56022179} +\b\fs28\lang1033\langfe1033\loch\af31506\hich\af31506\dbch\af31501\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8805699\charrsid10502209 {\*\bkmkstart _Toc56022179}\hich\af31506\dbch\af31501\loch\f31506 Using P +\hich\af31506\dbch\af31501\loch\f31506 arallel Processing (including MPI){\*\bkmkend _Toc56022179} \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid7092480 \hich\af31506\dbch\af0\loch\f31506 1)\tab}}\pard\plain \ltrpar\s17\ql \fi-360\li720\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls6\adjustright\rin0\lin720\itap0\pararsid8805699\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7092480 Currently, parallel processing can be done in one of two ways: \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid7092480 \hich\af31506\dbch\af0\loch\f31506 a.\tab}}\pard \ltrpar\s17\ql \fi-360\li1440\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\adjustright\rin0\lin1440\itap0\pararsid7092480\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7092480 For an }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1787069 individual }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7092480 MCMC search}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10830751 : in this case, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7092480 separate walkers are conducted, burn in is removed and results are consolidated. -\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid7092480 \hich\af31506\dbch\af0\loch\f31506 b.\tab}For a multistart/gri -dsearch (which can be mcmc). One processor rank per initial point. Only best initial point is reported [all are retained]. By default, the best point is the one with the highest map_logP value. -\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid7092480 \hich\af31506\dbch\af0\loch\f31506 c.\tab}Currently, nested parallel processing is not supported (tha -t is, one cannot do a multistart that is parallelized and then further parallelize each mcmc run within it). +\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid7092480 \hich\af31506\dbch\af0\loch\f31506 b.\tab}For a multi +start/gridsearch (which can be mcmc). One processor rank per initial point. Only best initial point is reported [all are retained]. By default, the best point is the one with the highest map_logP value. +\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid7092480 \hich\af31506\dbch\af0\loch\f31506 c.\tab}Currently, nested parallel processing is not suppo +rted (that is, one cannot do a multistart that is parallelized and then further parallelize each mcmc run within it). \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid7092480 \hich\af31506\dbch\af0\loch\f31506 2)\tab}}\pard \ltrpar\s17\ql \fi-360\li720\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls6\adjustright\rin0\lin720\itap0\pararsid8805699\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7092480 Currently, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8805699 Parallel processing }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7092480 is only supported through MPI}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1313789 and the Example 27 way}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8805699 . To use MPI, you should first install MPI. @@ -1132,9 +1132,9 @@ t is, one cannot do a multistart that is parallelized and then further paralleli \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl2\adjustright\rin0\lin2160\itap0\pararsid16153708\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1391864 If using windows, install MS MPI. You\rquote ll need to install two files that can be downloaded }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1391864 HYPERLINK "https://www.microsoft.com/en-us/download/details.aspx?id=57467" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1391864 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b96000000680074007400700073003a002f002f007700770077002e006d006900630072006f0073006f00660074002e0063006f006d002f0065006e002d00750073002f0064006f0077006e006c006f00610064002f00 -640065007400610069006c0073002e0061007300700078003f00690064003d00350037003400360037000000795881f43b1d7f48af2c825dc485276300000000a5ab000300a40080005900340065000000006c330f0000000e0000ff006900f2005c88100000036c000000000000f0000000736922ff00ff00}}}{\fldrslt -{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid1391864\charrsid1391864 here}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1391864 as of Oct 2020}{\rtlch\fcs1 \af0 -\ltrch\fcs0 \insrsid10498384 (install the sdk one first).}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1391864 +640065007400610069006c0073002e0061007300700078003f00690064003d00350037003400360037000000795881f43b1d7f48af2c825dc485276300000000a5ab000300a40080005900340065000000006c330f0000000e0000ff006900f2005c88100000036c000000000000f0000000736922ff00ff007d}} +}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid1391864\charrsid1391864 here}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1391864 as of Oct 2020}{\rtlch\fcs1 +\af0 \ltrch\fcs0 \insrsid10498384 (install the sdk one first).}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1391864 \par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1391864\charrsid1391864 \hich\af0\dbch\af0\loch\f0 1.\tab}}\pard \ltrpar \s17\ql \fi-360\li2880\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl3\adjustright\rin0\lin2880\itap0\pararsid16153708\contextualspace {\rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \f0\fs24\insrsid1391864\charrsid1391864 msmpisdk.msi @@ -1178,8 +1178,8 @@ It is good to try a multistart with doOptimizeSSR if the regular doOptimizeSSR d \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid920351 \hich\af31506\dbch\af0\loch\f31506 i.\tab}}\pard \ltrpar \s18\ql \fi-180\li2160\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl2\adjustright\rin0\lin2160\itap0\pararsid15170562 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid920351 For more than 3 parameters, uniform and astroidal should be used, and grid should not even be considered. -\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid920351 \hich\af31506\dbch\af0\loch\f31506 ii.\tab}If using only 2 or 3 parameters, c}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15170562 -onsider a custom grid with on the order of 10 radii per parameter. This will give you some idea of the distribution. +\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid920351 \hich\af31506\dbch\af0\loch\f31506 ii.\tab}If using only 2 or 3 parameters, c}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15170562 onside +r a custom grid with on the order of 10 radii per parameter. This will give you some idea of the distribution. \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid15170562 \hich\af31506\dbch\af0\loch\f31506 b.\tab}}\pard \ltrpar \s18\ql \fi-360\li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\adjustright\rin0\lin1440\itap0\pararsid1331659 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15170562 Consider trying a single (nongrid) }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15158197 doOptimizeLogP with different methods, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15158197\charrsid15158197 Nelder-Mead, BFGS, SLSQP}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15158197 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1331659 @@ -1188,8 +1188,8 @@ onsider a custom grid with on the order of 10 radii per parameter. This will giv \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14833849 This strategy is shown in example 00f5}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1131982 \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid1131982 \hich\af31506\dbch\af0\loch\f31506 i.\tab}}\pard \ltrpar \s18\ql \fi-180\li2160\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl2\adjustright\rin0\lin2160\itap0\pararsid1131982 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1131982 -For many science and engineering problems, A multistart with doOptimzieNegLogP is likely a very good way to find -the MAP and understand if there are multiple solutions. After it is found, you can do a multistart with getLogP to understand the posterior, or do some kind of mcmc starting from that point. +For many science and engineering problems, A multistart with doOptimzieNegLogP is likely a very good way to find the MAP and understand if + there are multiple solutions. After it is found, you can do a multistart with getLogP to understand the posterior, or do some kind of mcmc starting from that point. \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid8602385\charrsid15158197 \hich\af31506\dbch\af0\loch\f31506 d.\tab}}\pard \ltrpar \s18\ql \fi-360\li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\adjustright\rin0\lin1440\itap0\pararsid8602385 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8602385\charrsid15158197 Tr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8602385 y a single doEnsembleJumpSampling with mcmc_length = 1000 (times the number of parameter you have) @@ -1221,14 +1221,15 @@ ut a try and except statement in your simulation wrapper. Return a None object \par }\pard \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11354297 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1131982\charrsid15158197 \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \ab\af0\afs22 \ltrch\fcs0 \b\f31506\fs22\insrsid13067814 \hich\af31506\dbch\af0\loch\f31506 4)\tab}}\pard \ltrpar \s18\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin720\itap0\pararsid13651419 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13067814 Why }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid11354297 aren\rquote t there }{ -\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9516283 combined }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13067814 scatter matrix / corner plots}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9516283 and }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid12996699 -combined }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9516283 contour plots}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13067814 }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid11354297 exported }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13067814 -for my analysis? +\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9516283 combined }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13067814 scatter matrix / corner plots}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9516283 and }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid12996699 comb +ined }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9516283 contour plots}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13067814 }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid11354297 exported }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13067814 for my analysis? + \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid13067814 \hich\af31506\dbch\af0\loch\f31506 a.\tab}}\pard \ltrpar -\s18\ql \fi-360\li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\adjustright\rin0\lin1440\itap0\pararsid13067814 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13067814 This probably means you are using many param -eters and need to turn them on manually. They take a long time to render for many parameters (it can be more than 30 minutes), so they are turned off by default in such situations. To turn them back on, see the setting}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\insrsid869771 s}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13067814 in UserInput called }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13067814\charrsid13067814 scatter_matrix_plots_settings['combined_plots']}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid869771 and }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid869771\charrsid869771 contour_plot_settings['combined_plots']}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13067814\charrsid13067814 +\s18\ql \fi-360\li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\adjustright\rin0\lin1440\itap0\pararsid13067814 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13067814 +This probably means you are using many parameters and need to turn them on manually. They take a long time to render for many parameters (it can be more than 30 minutes), so they are turned off by default in +such situations. To turn them back on, see the setting}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid869771 s}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13067814 in UserInput called }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13067814\charrsid13067814 +scatter_matrix_plots_settings['combined_plots']}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid869771 and }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid869771\charrsid869771 contour_plot_settings['combined_plots']}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid13067814\charrsid13067814 \par }\pard \ltrpar\s18\ql \li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1440\itap0\pararsid13067814 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13067814 \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \ab\af0\afs22 \ltrch\fcs0 \b\f31506\fs22\insrsid12983220 \hich\af31506\dbch\af0\loch\f31506 5)\tab}}\pard \ltrpar \s18\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin720\itap0\pararsid12983220 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid12983220 Why are there points missing in the histograms and graphs from the sampling? @@ -1261,8 +1262,8 @@ In principle, the EJS method should have more efficiency for high dimensional da \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid13388701 \hich\af31506\dbch\af0\loch\f31506 b.\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13388701 One thing to be aware of is that the }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid13388701 time}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13388701 for sampling is more consistent with}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15358858 EJS and}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13388701 MH }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15358858 than}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13388701 ESS. So the \'93time remaining\'94 with ESS or how long it will take is less predictable. If you have some strict wall clock limits, you need to either use }{\rtlch\fcs1 -\af0 \ltrch\fcs0 \insrsid9915174 EJS, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13388701 MH}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9915174 ,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13388701 or use some very conservative estimate with ESS (such as usi -ng ESS estimated to take 20% of your real wall clock limit since it can easily take several times longer than might be estimated from initial }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8476802 trials}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13388701 ). }{ +\af0 \ltrch\fcs0 \insrsid9915174 EJS, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13388701 MH}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9915174 ,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13388701 or use some very conservative estimate with ESS (such +as using ESS estimated to take 20% of your real wall clock limit since it can easily take several times longer than might be estimated from initial }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8476802 trials}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13388701 ). }{ \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13388701\charrsid6101187 \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \ab\af0\afs22 \ltrch\fcs0 \b\f31506\fs22\insrsid6101187\charrsid6101187 \hich\af31506\dbch\af0\loch\f31506 7)\tab}}\pard \ltrpar \s18\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin720\itap0\pararsid6101187 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid6101187\charrsid6101187 The initial distribution of samplings can be important,}{ @@ -1313,7 +1314,7 @@ FileBeingSavedAs.dill\'94) \par (or using other methods from this list) \par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15683877 HYPERLINK "https://docs.scipy.org/doc/scipy/reference/optimize.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10839109 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b8a000000680074007400700073003a002f002f0064006f00630073002e00730063006900700079002e006f00720067002f0064006f0063002f00730063006900700079002f007200650066006500720065006e006300 -65002f006f007000740069006d0069007a0065002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab0003000000000000003a0000000000dc0035009c002e00303100007000004100003600000092000041ba3300000000006900006f0018000000ff0000006c002c00000000}} +65002f006f007000740069006d0069007a0065002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab0003000000000000003a0000000000dc0035009c002e00303100007000004100003600000092000041ba3300000000006900006f0018000000ff0000006c002c0000000000}} }{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs21\ul\cf19\insrsid15683877 https://docs.scipy.org/doc/scipy/reference/optimize.html}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid13597278\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15683877 \par Example 3c does this. @@ -1380,8 +1381,8 @@ One of doing so is to do the following:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid39 \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid7806225\charrsid7806225 \hich\af31506\dbch\af0\loch\f31506 b.\tab}}\pard \ltrpar \s18\ql \fi-360\li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\adjustright\rin0\lin1440\itap0\pararsid7806225 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7806225\charrsid7806225 1561: RuntimeWarning: invalid value encountered in multiply -\par }\pard \ltrpar\s18\ql \li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1440\itap0\pararsid7806225 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7806225\charrsid7806225 current_info_g -ain_KL = density0[1]*np.log(density0[1]/density0[0])}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4133112 \line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7806225 +\par }\pard \ltrpar\s18\ql \li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1440\itap0\pararsid7806225 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7806225\charrsid7806225 current_info +_gain_KL = density0[1]*np.log(density0[1]/density0[0])}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4133112 \line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7806225 \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \ab\af0\afs22 \ltrch\fcs0 \b\f31506\fs22\insrsid13177496\charrsid13177496 \hich\af31506\dbch\af0\loch\f31506 14)\tab}}\pard \ltrpar \s18\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin720\itap0\pararsid4133112 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13177496\charrsid13177496 Comparing different samplers: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4133112 How to compare the posterior between different samplers? @@ -1390,8 +1391,8 @@ ain_KL = density0[1]*np.log(density0[1]/density0[0])}{\rtlch\fcs1 \af0 \ltrch\fc \insrsid4133112\charrsid4133112 histogram_plot_settings['histograms_as_density']= False}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4133112 to make sure that the sampling is working well. \par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid4133112 \hich\af31506\dbch\af0\loch\f31506 b.\tab}When you are finally ready to publish a paper, it will be good to change to }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4133112\charrsid4133112 histogram_plot_settings['histograms_as_density']= }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4133112 True so that all the posterior distributions are on a common scale. -\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid4133112 \hich\af31506\dbch\af0\loch\f31506 c.\tab} -For many problems, ESS will produce the smoothest posterior distribution. For rough posteriors, MH might explore better in some cases. Uniform and Random sampling tend to produce the sparsest sampling of the posterior distribution in most cases. +\par {\listtext\pard\plain\ltrpar \s18 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid4133112 \hich\af31506\dbch\af0\loch\f31506 c.\tab}For many problems, ESS will produce the smoothest posterio +r distribution. For rough posteriors, MH might explore better in some cases. Uniform and Random sampling tend to produce the sparsest sampling of the posterior distribution in most cases. \par }\pard \ltrpar\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6250917 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid4808518 \par \par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid2493548 Model Selection / Model Discrimination / Model Comparison:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2493548 There is no example right now. Contact the creators.}{\rtlch\fcs1 \af0 \ltrch\fcs0 @@ -1539,10 +1540,10 @@ fffffffffffffffffdffffff04000000feffffff05000000fefffffffeffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e500000000000000000000000070a0 -f08145a8d8010300000080020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff02000000000000000000000000000000000000000000000070a0f08145a8d801 -70a0f08145a8d801000000000000000000000000d00055005400d400d800470051004c0058004500ca00c100cc00df00cc00d7005400d3004200c2004c0041003d003d000000000000000000000000000000000032000101ffffffffffffffff03000000000000000000000000000000000000000000000070a0f08145a8 -d80170a0f08145a8d8010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000 +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e5000000000000000000000000a0dd +2ebb86aad8010300000080020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff020000000000000000000000000000000000000000000000a0dd2ebb86aad801 +a0dd2ebb86aad801000000000000000000000000d00055005400d400d800470051004c0058004500ca00c100cc00df00cc00d7005400d3004200c2004c0041003d003d000000000000000000000000000000000032000101ffffffffffffffff030000000000000000000000000000000000000000000000a0dd2ebb86aa +d801a0dd2ebb86aad8010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000 00000000000000000000000000000000f100000000000000010000000200000003000000feffffff0500000006000000070000000800000009000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/PEUQSE/InverseProblem.py b/PEUQSE/InverseProblem.py index adad1202..475950dc 100644 --- a/PEUQSE/InverseProblem.py +++ b/PEUQSE/InverseProblem.py @@ -82,6 +82,10 @@ def __init__(self, UserInput = None): if self.UserInput.parameter_estimation_settings['verbose']: print("Parameter Estimation Object Initialized") + + #Set self.UserInput.user_requested_convergence_diagnostics to that from the UserInput. This may be changed to true or false during multi-start etc. + self.UserInput.user_requested_convergence_diagnostics = self.UserInput.parameter_estimation_settings['convergence_diagnostics'] + if type(UserInput.parameter_estimation_settings['checkPointFrequency']) != type(None): #This is for backwards compatibility. UserInput.parameter_estimation_settings['mcmc_checkPointFrequency'] = UserInput.parameter_estimation_settings['checkPointFrequency'] UserInput.parameter_estimation_settings['multistart_checkPointFrequency'] = UserInput.parameter_estimation_settings['checkPointFrequency'] @@ -298,6 +302,9 @@ def __init__(self, UserInput = None): if self.middle_of_doe_flag == False: #If the flag is there, we only proceed to call the function if the flag is set to false. if type(UserInput.model['populateIndependentVariablesFunction']) != type(None): UserInput.model['populateIndependentVariablesFunction'](UserInput.responses['independent_variables_values']) + if hasattr(self, 'middle_of_doe_flag'): #if the middle_of_doe_flag is there and true, then we also turn off the convergence diagnostics. + if self.middle_of_doe_flag == True: + self.UserInput.user_requested_convergence_diagnostics = False #Now scale things as needed: if UserInput.parameter_estimation_settings['scaling_uncertainties_type'] == "off": @@ -552,7 +559,7 @@ def get_responses_simulation_uncertainties(self, discreteParameterVector): #FIXM responses_simulation_uncertainties = self.UserInput.responses_simulation_uncertainties(discreteParameterVector) #This is passing an argument to a function. responses_simulation_uncertainties = np.array(nestedObjectsFunctions.makeAtLeast_2dNested(responses_simulation_uncertainties)) responses_simulation_uncertainties = nestedObjectsFunctions.convertInternalToNumpyArray_2dNested(responses_simulation_uncertainties) - return responses_simulation_uncertainties + return responses_simulation_uncertainties #this normally a list of list where each element at the deepest level is 1 standard deviation of uncertainty (not variance). def simulateWithSubsetOfParameters(self,reducedParametersVector): #This is a wrapper. #This function has implied arguments of ... @@ -769,6 +776,12 @@ def doListOfPermutationsSearch(self, listOfPermutations, numPermutations = None, verbose = self.UserInput.parameter_estimation_settings['verbose'] if verbose: print("Starting multistart/permutations search.") + if searchType in ['doEnsembleSliceSampling', 'doEnsembleJumpSampling', 'doMetropolisHastings']: + if self.UserInput.user_requested_convergence_diagnostics == True: + print("Notification: doMultistart / doListOfPermutationsSearch is being used with an MCMC searchType, which performs many MCMC runs. Convergence diagnostics are being turned off for the individual runs, and will be used only for the best run.") + self.UserInput.user_requested_convergence_diagnostics = False + + file_name_prefix, file_name_suffix, directory_name_suffix = self.getParallelProcessingPrefixAndSuffix() #As of Nov 21st 2020, these should always be '' since multiStart_continueSampling is not intended to be used with parallel sampling. if (self.UserInput.parameter_estimation_settings['mcmc_continueSampling'] == 'auto') or (self.UserInput.parameter_estimation_settings['mcmc_continueSampling'] == False): mcmc_continueSampling = False #need to set this variable to false if it's an auto. The only time mcmc_continue sampling should be on for multistart is if someone is doing it intentionally, which would normally only be during an MPI case. @@ -846,10 +859,12 @@ def doListOfPermutationsSearch(self, listOfPermutations, numPermutations = None, if keep_cumulative_post_burn_in_data == True: if permutationIndex == 0: self.cumulative_post_burn_in_samples = self.post_burn_in_samples + self.cumulative_discrete_chains_post_burn_in_samples = self.discrete_chains_post_burn_in_samples self.cumulative_post_burn_in_log_priors_vec = self.post_burn_in_log_priors_vec self.cumulative_post_burn_in_log_posteriors_un_normed_vec = self.post_burn_in_log_posteriors_un_normed_vec else: #This is basically elseif permutationIndex > 0: self.cumulative_post_burn_in_samples = np.vstack((self.cumulative_post_burn_in_samples, self.post_burn_in_samples)) + self.cumulative_discrete_chains_post_burn_in_samples = np.vstack((self.cumulative_discrete_chains_post_burn_in_samples, self.discrete_chains_post_burn_in_samples)) self.cumulative_post_burn_in_log_priors_vec = np.vstack((self.cumulative_post_burn_in_log_priors_vec, self.post_burn_in_log_priors_vec)) self.cumulative_post_burn_in_log_posteriors_un_normed_vec = np.vstack((self.cumulative_post_burn_in_log_posteriors_un_normed_vec, self.post_burn_in_log_posteriors_un_normed_vec)) if searchType == 'doEnsembleSliceSampling': @@ -860,12 +875,14 @@ def doListOfPermutationsSearch(self, listOfPermutations, numPermutations = None, if keep_cumulative_post_burn_in_data == True: if permutationIndex == 0: self.cumulative_post_burn_in_samples = self.post_burn_in_samples + self.cumulative_discrete_chains_post_burn_in_samples = self.discrete_chains_post_burn_in_samples self.cumulative_post_burn_in_log_priors_vec = self.post_burn_in_log_priors_vec self.cumulative_post_burn_in_log_posteriors_un_normed_vec = self.post_burn_in_log_posteriors_un_normed_vec else: #This is basically elseif permutationIndex > 0: self.cumulative_post_burn_in_samples = np.vstack((self.cumulative_post_burn_in_samples, self.post_burn_in_samples)) + self.cumulative_discrete_chains_post_burn_in_samples = np.vstack((self.cumulative_discrete_chains_post_burn_in_samples, self.discrete_chains_post_burn_in_samples)) self.cumulative_post_burn_in_log_priors_vec = np.vstack((self.cumulative_post_burn_in_log_priors_vec, self.post_burn_in_log_priors_vec)) - self.cumulative_post_burn_in_log_posteriors_un_normed_vec = np.vstack((self.cumulative_post_burn_in_log_posteriors_un_normed_vec, self.post_burn_in_log_posteriors_un_normed_vec)) + self.cumulative_post_burn_in_log_posteriors_un_normed_vec = np.vstack((self.cumulative_post_burn_in_log_posteriors_un_normed_vec, self.post_burn_in_log_posteriors_un_normed_vec)) if searchType == 'doEnsembleModifiedMHSampling': self.map_logP = np.float('-inf') #initializing as -inf to have a 'pure' mcmc sampling. thisResult = self.doEnsembleModifiedMHSampling(mcmc_nwalkers_direct_input=permutationSearch_mcmc_nwalkers, calculatePostBurnInStatistics=calculatePostBurnInStatistics, walkerInitialDistribution=walkerInitialDistribution, continueSampling=mcmc_continueSampling) @@ -874,10 +891,12 @@ def doListOfPermutationsSearch(self, listOfPermutations, numPermutations = None, if keep_cumulative_post_burn_in_data == True: if permutationIndex == 0: self.cumulative_post_burn_in_samples = self.post_burn_in_samples + self.cumulative_discrete_chains_post_burn_in_samples = self.discrete_chains_post_burn_in_samples self.cumulative_post_burn_in_log_priors_vec = self.post_burn_in_log_priors_vec self.cumulative_post_burn_in_log_posteriors_un_normed_vec = self.post_burn_in_log_posteriors_un_normed_vec else: #This is basically elseif permutationIndex > 0: self.cumulative_post_burn_in_samples = np.vstack((self.cumulative_post_burn_in_samples, self.post_burn_in_samples)) + self.cumulative_discrete_chains_post_burn_in_samples = np.vstack((self.cumulative_discrete_chains_post_burn_in_samples, self.discrete_chains_post_burn_in_samples)) self.cumulative_post_burn_in_log_priors_vec = np.vstack((self.cumulative_post_burn_in_log_priors_vec, self.post_burn_in_log_priors_vec)) self.cumulative_post_burn_in_log_posteriors_un_normed_vec = np.vstack((self.cumulative_post_burn_in_log_posteriors_un_normed_vec, self.post_burn_in_log_posteriors_un_normed_vec)) if searchType == 'doOptimizeLogP': @@ -907,6 +926,8 @@ def doListOfPermutationsSearch(self, listOfPermutations, numPermutations = None, highest_logP_parameter_set = np.copy(self.map_parameter_set) highest_MAP_initial_point_index = permutationIndex highest_MAP_initial_point_parameters = permutation + if hasattr(self, 'discrete_chains_post_burn_in_samples'): + bestResultSoFar_discrete_chains_post_burn_in_samples = self.discrete_chains_post_burn_in_samples allPermutationsResults.append(thisResult) if self.UserInput.parameter_estimation_settings['exportAllSimulatedOutputs'] == True: if (searchType == 'doEnsembleSliceSampling') or (searchType=='doMetropolisHastings') or (searchType == 'doEnsembleModifiedMHSampling'): #we need to run the map again, outside of mcmc, to populate @@ -951,6 +972,8 @@ def doListOfPermutationsSearch(self, listOfPermutations, numPermutations = None, #self.post_burn_in_log_posteriors_un_normed_vec = bestResultSoFar[6] self.calculatePostBurnInStatistics(calculate_post_burn_in_log_priors_vec = True) self.exportPostBurnInStatistics() + if self.UserInput.parameter_estimation_settings['convergence_diagnostics'] == True: #at the end of the permutations, calculate convergence diagnostics for the last run. + self.getConvergenceDiagnostics(bestResultSoFar_discrete_chains_post_burn_in_samples) #One could call calculatePostBurnInStatistics() if one wanted the cumulative from all results. But we don't actually want that. #Below should not be used. These commented out lines are biased towards the center of the grid. #self.post_burn_in_samples = cumulative_post_burn_in_samples @@ -1070,14 +1093,12 @@ def doMultiStart(self, searchType='UserChoice', numStartPoints = 'UserChoice', r searchType = 'getLogP' #make the initial points list by mostly passing through arguments. multiStartInitialPointsList = self.generateInitialPoints(numStartPoints=numStartPoints, relativeInitialDistributionSpread=relativeInitialDistributionSpread, initialPointsDistributionType=initialPointsDistributionType, centerPoint = centerPoint, gridsearchSamplingInterval = gridsearchSamplingInterval, gridsearchSamplingRadii = gridsearchSamplingRadii) - #we normally only turn on permutationsToSamples if grid or uniform and if getLogP or doOptimizeNegLogP. permutationsToSamples = False#initialize with default if self.UserInput.parameter_estimation_settings['multistart_permutationsToSamples'] == True: if (initialPointsDistributionType == 'grid') or (initialPointsDistributionType == 'uniform') or (initialPointsDistributionType == 'sobol') or (initialPointsDistributionType == 'astroidal') or (initialPointsDistributionType == 'shell'): if (searchType == 'getLogP') or (searchType=='doOptimizeNegLogP') or (searchType=='doOptimizeLogP') or (searchType=='doOptimizeSSR'): permutationsToSamples = True - #Look for the best result (highest map_logP) from among these permutations. Maybe later should add optional argument to allow searching for highest mu_AP to find HPD. bestResultSoFar = self.doListOfPermutationsSearch(listOfPermutations=multiStartInitialPointsList, searchType=searchType, exportLog=exportLog, walkerInitialDistribution=walkerInitialDistribution, passThroughArgs=passThroughArgs, calculatePostBurnInStatistics=calculatePostBurnInStatistics, keep_cumulative_post_burn_in_data=keep_cumulative_post_burn_in_data, centerPoint = centerPoint, permutationsToSamples=permutationsToSamples) return bestResultSoFar @@ -1462,6 +1483,9 @@ def doeGetInfoGainMatrix(self, parameterPermutation, searchType='doMetropolisHas #This function requires population of the UserInput doe_settings dictionary. It automatically scans many parameter modulation Permutations. def doeParameterModulationPermutationsScanner(self, searchType='doMetropolisHastings'): + print("Notification: doeParameterModulationPermutationsScanner is being used which performs many MCMC runs. Convergence diagnostics are being turned off for these runs.") + self.UserInput.user_requested_convergence_diagnostics = False + import PEUQSE.CombinationGeneratorModule as CombinationGeneratorModule doe_settings = self.UserInput.doe_settings #For the parameters, we are able to use a default one standard deviation grid if gridSamplingAbsoluteIntervalSize is a blank list. @@ -2211,7 +2235,7 @@ def doEnsembleModifiedMHSampling(self, mcmc_nwalkers_direct_input = None, walker self.samplingObject = emcee_sampler if calculatePostBurnInStatistics == True: self.calculatePostBurnInStatistics(calculate_post_burn_in_log_priors_vec = True) #This function call will also filter the lowest probability samples out, when using default settings. - if self.UserInput.parameter_estimation_settings['convergence_diagnostics']: #Run convergence diagnostics if UserInput defines it as True + if self.UserInput.user_requested_convergence_diagnostics: #Run convergence diagnostics if UserInput defines it as True self.getConvergenceDiagnostics(discrete_chains_post_burn_in_samples) if str(mcmc_exportLog) == 'UserChoice': mcmc_exportLog = bool(self.UserInput.parameter_estimation_settings['mcmc_exportLog']) @@ -2410,7 +2434,7 @@ def doEnsembleSliceSampling(self, mcmc_nwalkers_direct_input = None, walkerIniti self.samplingObject = zeus_sampler if calculatePostBurnInStatistics == True: self.calculatePostBurnInStatistics(calculate_post_burn_in_log_priors_vec = True) #This function call will also filter the lowest probability samples out, when using default settings. - if self.UserInput.parameter_estimation_settings['convergence_diagnostics']: #Run convergence diagnostics if UserInput defines it as True + if self.UserInput.user_requested_convergence_diagnostics: #Run convergence diagnostics if UserInput defines it as True self.getConvergenceDiagnostics(discrete_chains_post_burn_in_samples) if str(mcmc_exportLog) == 'UserChoice': mcmc_exportLog = bool(self.UserInput.parameter_estimation_settings['mcmc_exportLog']) @@ -2608,7 +2632,7 @@ def doMetropolisHastings(self, calculatePostBurnInStatistics = True, mcmc_export if calculatePostBurnInStatistics == True: #FIXME: I think Below, calculate_post_burn_in_log_priors_vec=True should be false unless we are using continue sampling. For now, will leave it since I am not sure why it is currently set to True/False. self.calculatePostBurnInStatistics(calculate_post_burn_in_log_priors_vec = True) #This function call will also filter the lowest probability samples out, when using default settings. - if self.UserInput.parameter_estimation_settings['convergence_diagnostics']: #Run convergence diagnostics if UserInput defines it as True + if self.UserInput.user_requested_convergence_diagnostics: #Run convergence diagnostics if UserInput defines it as True self.getConvergenceDiagnostics(discrete_chains_post_burn_in_samples) if str(mcmc_exportLog) == 'UserChoice': mcmc_exportLog = bool(self.UserInput.parameter_estimation_settings['mcmc_exportLog']) @@ -2738,7 +2762,6 @@ def getLogLikelihood(self,discreteParameterVector): #The variable discreteParame responses_simulation_uncertainties = None else: #Else we get it based on the the discreteParameterVectorTuple responses_simulation_uncertainties = self.get_responses_simulation_uncertainties(discreteParameterVectorTuple) - #Now need to do transforms. Transforms are only for calculating log likelihood. If responses_simulation_uncertainties is "None", then we need to have one less argument passed in and a blank list is returned along with the transformed simulated responses. if type(responses_simulation_uncertainties) == type(None): simulatedResponses_transformed, blank_list = self.transform_responses(simulatedResponses) #This creates transforms for any data that we might need it. The same transforms were also applied to the observed responses. @@ -2747,12 +2770,24 @@ def getLogLikelihood(self,discreteParameterVector): #The variable discreteParame else: simulatedResponses_transformed, responses_simulation_uncertainties_transformed = self.transform_responses(simulatedResponses, responses_simulation_uncertainties) #This creates transforms for any data that we might need it. The same transforms were also applied to the observed responses. simulated_responses_covmat_transformed = returnShapedResponseCovMat(self.UserInput.num_response_dimensions, responses_simulation_uncertainties_transformed) #assume we got standard deviations back. - observedResponses_transformed = self.UserInput.responses_observed_transformed + log_probability_metric, simulatedResponses_transformed = self.getLogLikelihood_byResponses(simulatedResponses_transformed, simulated_responses_covmat_transformed) + return log_probability_metric, simulatedResponses_transformed + + def getLogLikelihood_byResponses(self, simulatedResponses_transformed, simulated_responses_covmat_transformed=None, observedResponses_transformed=None,observed_responses_covmat_transformed=None): + #This function is meant for internal use only, but could be called by a user if desired. + #simulatedResponses_transformed and observedResponses_transformed are just the simulatedResponses and observedResponses in their "final" form: lack of transform is completely normal. If a user has a need to call this function directly and is not planning on transforming their responses (such as log transform or integral) or if the user does not know what transform to use, then the user should simply provide simulatedResponses and observedResponses as the "already transformed" data. + + #This function expects the uncertainties received to be in covmat form already (1 covmat per response), but can instead be a vectors of variances per response (NOT standard deviations: if the user is calling this function directly and only has standard deviations, then the standard deviations must be squared before calling this funciton,such as by np.square). The simulatedResponses_transformed must be the same shape as observedResponses_transformed. + #The simulated_responses_covmat_transformed and observed_responses_covmat_transformed must be teh same shape is both are provided. + + if type(observedResponses_transformed) == type(None): + observedResponses_transformed = self.UserInput.responses_observed_transformed #If our likelihood is “probability of Response given Theta”… we have a continuous probability distribution for both the response and theta. That means the pdf must use binning on both variables. Eric notes that the pdf returns a probability density, not a probability mass. So the pdf function here divides by the width of whatever small bin is being used and then returns the density accordingly. Because of this, our what we are calling likelihood is not actually probability (it’s not the actual likelihood) but is proportional to the likelihood. #Thus we call it a probability_metric and not a probability. #TODO: consider changing names of likelihood and get likelihood to "likelihoodMetric" and "getLikelihoodMetric" #Now we need to make the comprehensive_responses_covmat. #First we will check whether observed_responses_covmat_transformed is square or not. The multivariate_normal.pdf function requires a diagonal values vector to be 1D. - observed_responses_covmat_transformed = self.observed_responses_covmat_transformed + if type(observed_responses_covmat_transformed) == type(None): + observed_responses_covmat_transformed = self.observed_responses_covmat_transformed #For some cases, we should prepare to split the likelihood. if self.prepareResponsesForSplitLikelihood == True: @@ -2817,6 +2852,7 @@ def getLogLikelihood(self,discreteParameterVector): #The variable discreteParame log_probability_metric = log_probability_metric + response_log_probability_metric return log_probability_metric, simulatedResponses_transformed + def truncatePostBurnInSamples(self, post_burn_in_samples=[], parameterBoundsLower=None, parameterBoundsUpper=None): """ Truncate the post_burn_in_samples variable along with other variables that are relative to it. @@ -3421,7 +3457,7 @@ def returnReducedList(iterableObjectToReduce, reducedIndices): def returnShapedResponseCovMat(numResponseDimensions, uncertainties): - #The uncertainties, whether transformed or not, must be one of the folllowing: a) for a single dimension response can be a 1D array of standard deviations, b) for as ingle dimension response can be a covmat already (so already variances), c) for a multidimensional response we *only* support standard deviations at this time. + #The uncertainties, whether transformed or not, must be one of the folllowing: a) for a single dimension response can be a 1D array of standard deviations, b) for a single dimension response can be a covmat already (so already variances), c) for a multidimensional response we *only* support standard deviations at this time. if numResponseDimensions == 1: shapedUncertainties = np.array(uncertainties, dtype="float") #Initializing variable. if np.shape(shapedUncertainties)[0] == (1): #This means it's just a list of standard deviations and needs to be squared to become variances. diff --git a/PEUQSE/UserInput.py b/PEUQSE/UserInput.py index 7a0b1511..b501a691 100644 --- a/PEUQSE/UserInput.py +++ b/PEUQSE/UserInput.py @@ -38,7 +38,7 @@ model['simulateByInputParametersOnlyFunction'] = None #A function must be provided! This cannot be left as None. The function should normally return an array the same size and shape as responses_observed, or should return a None object when the simulation fails or the result is considered non-physical. Alternatively, the function can written an object that needs to be processed further by SimulationOutputProcessingFunction. model['simulationOutputProcessingFunction'] = None #An optional function may be provided which takes the outputs from simulateByInputParametersOnlyFunction and then processes them to match the size, shape, and scale of responses_observed. A None object can be returned when the simulation fails or the result is considered non-physical. model['reducedParameterSpace'] = [] #This is to keep parameters as 'constants'. Any parameter index in this list will be allowed to change, the rest will be held as constants. For example, using [0,3,4] would allow the first, fourth, and fifth parameters to vary and would keep the rest as constants (note that array indexing is used). -model['responses_simulation_uncertainties'] = None #Optional. Can be none, a list/vector, or can be a function that returns the uncertainties after each simulation is done. The easiest way would be to have a function that extracts a list that gets updated in another namespace after each simulation. +model['responses_simulation_uncertainties'] = None #Optional. Can be none (not used in that case), a blank list [], or a list of lists the same shape as the observed responses with scalars that represent 1 standard deviation of uncertainty, or can be a function that returns such a list of the uncertainties after each simulation is done. For the function way, easiest way would be to have a function that extracts a list that gets updated in another namespace after each simulation. If a blank list is provided, [], then a heurestic will be used. model['custom_logLikelihood'] = None #Optional. This should point to a function that takes the discrete parameter values as an argument and returns "logLikelihood, simulatedResponses". So the function returns a value for the logLikelihood (or proportional to it). The function must *also* return the simulated response output, though technically can just return the number 0 as the ssecond return. The function can be a simple as accessing a global dictionary. This feature is intended for cases where the likelihood cannot be described by a normal/gaussian distribution. model['custom_logPrior'] = None #Optional. This feature has been implemented but not tested, it is intended for cases where the prior distribution is not described by a normal distribution. The user will provide a function that takes in the parameters and returns a logPrior (or something proportional to a logPrior). If MCMC will be performed, the user will still need to fill out InputParametersPriorValuesUncertainties with std deviations or a covariance matrix since that is used to decide the mcmc steps. model['InputParameterPriorValues_upperBounds'] = [] #Optional. This should be a list/array of the same shape as InputParameterPriorValues. Use a value of "None" for any parameter that should not be bounded in this direction. The code then truncates any distribution to have a probability of 0 when any of the parameters go beyond their bounds (parameters equal to the bounds do not cause 0 probability to occur). ##As of May 4th 2020, this only has been checked for parameter_estimation_settings['scaling_uncertainties_type'] = 'off' diff --git a/setup.py b/setup.py index bd694137..16bb0ffd 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ AUTHOR = 'Aditya Savara' REQUIRES_PYTHON = '>=3.5.0' -VERSION = '1.1.10' +VERSION = '1.2.0' LICENSE = 'BSD-3-Clause'