# %% Plot # obs_data_plot(solver.timePoint, obs_data_noisy_s, obs_data_raw_s) # %% Define prior distribution of parameters # Be careful that RV("uniform", -10, 15) means uniform distribution in [-10, 5], '15' here is the interval length # Set prior lim = PriorLimits(1e-6, 20) prior_distribution = "loguniform" print(prior_distribution) para_prior1 = para_prior(lim, prior_distribution, 1) para_prior2 = para_prior(lim, prior_distribution, 2) para_prior3 = para_prior(lim, prior_distribution, 3) para_prior4 = para_prior(lim, prior_distribution, 4) para_prior5 = para_prior(lim, prior_distribution, 5) # %% Define ABC-SMC model distanceP2 = pyabc.PNormDistance(p=2) # , factors=factors) eps0 = pyabc.MedianEpsilon(60) # eps_fixed = pyabc.epsilon.ListEpsilon([50, 46, 43, 40, 37, 34, 31, 29, 27, 25, # 23, 21, 19, 17, 15, 14, 13, 12, 11, 10]) # transition0 = pyabc.transition.LocalTransition(k=50, k_fraction=None) # set number of cores
import numpy as np import pandas as pd import pyabc from pyABC_study.ODE import ODESolver, PriorLimits, arr2d_to_dict, para_true1, para_prior from pyABC_study.dataPlot import result_data_old, result_plot, result_data # %% Settings lim = PriorLimits(1e-6, 50) prior_distribution = "uniform" print(prior_distribution) para_prior1 = para_prior(lim, prior_distribution, 1) solver = ODESolver() solver.time_point = solver.time_point_default obs_data_raw_s = solver.ode_model1(para_true1, flatten=False, add_noise=False) solver.time_point = solver.time_point_exp obs_data_raw_s_less = solver.ode_model(para_true1, flatten=False, add_noise=False) # print("Target data") # print(obs_data_noisy_s) # %% Load database db_path = "sqlite:///db/abcsmc_test.db"