コード例 #1
0
ファイル: DELPHI_model.py プロジェクト: zlapp/DELPHI
 def residuals_totalcases(params):
     """
     Wanted to start with solve_ivp because figures will be faster to debug
     params: (alpha, days, r_s, r_dth, p_dth, k1, k2), fitted parameters of the model
     """
     # Variables Initialization for the ODE system
     alpha, days, r_s, r_dth, p_dth, k1, k2 = params
     params = max(alpha, 0), days, max(r_s, 0), max(r_dth, 0), max(min(p_dth, 1), 0), max(k1, 0), max(k2, 0)
     x_0_cases = get_initial_conditions(
         params_fitted=params,
         global_params_fixed=GLOBAL_PARAMS_FIXED
     )
     x_sol = solve_ivp(
         fun=model_covid,
         y0=x_0_cases,
         t_span=[t_cases[0], t_cases[-1]],
         t_eval=t_cases,
         args=tuple(params),
     ).y
     weights = list(range(1, len(fitcasesnd) + 1))
     # focus on last 5 days
     weights[-5:] =[x + 50 for x in weights[-5:]]
     residuals_value = sum(
         np.multiply((x_sol[15, :] - fitcasesnd) ** 2, weights)
         + balance * balance * np.multiply((x_sol[14, :] - fitcasesd) ** 2, weights)
     )
     return residuals_value
コード例 #2
0
 def solve_best_params_and_predict(optimal_params):
     # Variables Initialization for the ODE system
     x_0_cases = get_initial_conditions(
         params_fitted=optimal_params,
         global_params_fixed=GLOBAL_PARAMS_FIXED)
     x_sol_best = solve_ivp(
         fun=model_covid,
         y0=x_0_cases,
         t_span=[t_cases_all[0], t_cases_all[-1]],
         t_eval=t_cases_all,
         args=tuple(optimal_params),
     ).y
     return x_sol_best