).y return x_sol_best x_sol_final = solve_best_params_and_predict( best_params) data_creator = DELPHIDataCreator( x_sol_final=x_sol_final, date_day_since100=date_day_since100, best_params=best_params, continent=continent, country=country, province=province, ) # Creating the parameters dataset for this (Continent, Country, Province) mape_data = ( mape(fitcasesnd, x_sol_final[15, :len(fitcasesnd)]) + mape(fitcasesd, x_sol_final[14, :len(fitcasesd)])) / 2 try: mape_data_2 = ( mape( fitcasesnd[-15:], x_sol_final[15, len(fitcasesnd) - 15:len(fitcasesnd)]) + mape( fitcasesd[-15:], x_sol_final[14, len(fitcasesnd) - 15:len(fitcasesd)])) / 2 except IndexError:
t_eval=t_predictions, args=tuple(optimal_params), ).y return x_sol_best x_sol_final = solve_best_params_and_predict(best_params) data_creator = DELPHIDataCreator( x_sol_final=x_sol_final, date_day_since100=date_day_since100, best_params=best_params, continent=continent, country=country, province=province, ) # Creating the parameters dataset for this (Continent, Country, Province) mape_data = (mape(fitcasesnd, x_sol_final[15, :len(fitcasesnd)]) + mape(fitcasesd, x_sol_final[14, :len(fitcasesd)])) / 2 # mape_data_2 = ( # mape(fitcasesnd[-15:], x_sol_final[15, len(fitcasesnd)-15:len(fitcasesnd)]) + # mape(fitcasesd[-15:], x_sol_final[14, len(fitcasesnd)-15:len(fitcasesd)]) # ) / 2 # print(fitcasesd[-15:]) print(x_sol_final[14, len(fitcasesnd) - 15:len(fitcasesnd)]) # print(mape_data_2) df_parameters_cont_country_prov = data_creator.create_dataset_parameters( mape_data) list_df_global_parameters.append(df_parameters_cont_country_prov) # Creating the datasets for predictions of this (Continent, Country, Province) df_predictions_since_today_cont_country_prov, df_predictions_since_100_cont_country_prov = ( data_creator.create_datasets_predictions()) list_df_global_predictions_since_today.append(
fun=model_covid, y0=x_0_cases, t_span=[t_predictions[0], t_predictions[-1]], t_eval=t_predictions, args=tuple(optimal_params), ).y return x_sol_best x_sol_final = solve_best_params_and_predict(best_params) data_creator = DELPHIDataCreator( x_sol_final=x_sol_final, date_day_since100=date_day_since100, best_params=best_params, continent=continent, country=country, province=province, ) # Creating the parameters dataset for this (Continent, Country, Province) mape_data = ( mape(fitcasesnd, x_sol_final[15, :len(fitcasesnd)]) + mape(fitcasesd, x_sol_final[14, :len(fitcasesd)]) ) / 2 # mape_data_2 = ( # mape(fitcasesnd[-15:], x_sol_final[15, len(fitcasesnd)-15:len(fitcasesnd)]) + # mape(fitcasesd[-15:], x_sol_final[14, len(fitcasesnd)-15:len(fitcasesd)]) # ) / 2 # print(fitcasesd[-15:]) print(x_sol_final[14, len(fitcasesnd)-15:len(fitcasesnd)]) # print(mape_data_2) df_parameters_cont_country_prov = data_creator.create_dataset_parameters(mape_data) list_df_global_parameters.append(df_parameters_cont_country_prov) # Creating the datasets for predictions of this (Continent, Country, Province) df_predictions_since_today_cont_country_prov, df_predictions_since_100_cont_country_prov = ( data_creator.create_datasets_predictions() )
return x_sol_best best_params = parameter_list_fitted print(f"Optimized Fitted Params: {best_params}") x_sol_final = solve_best_params_and_predict(best_params) if len(best_params) > n_params_without_policy_params: best_params_base = best_params[: n_params_without_policy_params] best_params_policies = best_params[ n_params_without_policy_params:] else: best_params_base = best_params best_params_policies = [] # Creating the parameters dataset for this (Continent, Country, Province) mape_data = round( (mape(fitcasesnd, x_sol_final[15, :len(fitcasesnd)]) + mape(fitcasesd, x_sol_final[14, :len(fitcasesd)])) / 2, 3) try: mape_data_last_15 = round((mape( fitcasesnd[-15:], x_sol_final[ 15, len(fitcasesnd) - 15:len(fitcasesnd)] ) + mape( fitcasesd[-15:], x_sol_final[ 14, len(fitcasesnd) - 15:len(fitcasesd)])) / 2, 3) except: mape_data_last_15 = "Less than 15 historical points" print("Policy: ", future_policy, "\t Enacting Time: ", future_time, "\t Total MAPE=", mape_data, "\t MAPE on last 15 days=", mape_data_last_15)
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 x_sol_final = solve_best_params_and_predict(best_params) data_creator = DELPHIDataCreator( x_sol_final=x_sol_final, date_day_since100=date_day_since100, best_params=best_params, continent=continent, country=country, province=province, ) # Creating the parameters dataset for this (Continent, Country, Province) mape_train_nondeath = ( mape(fitcasesnd, x_sol_final[15, :len(fitcasesnd)]) ) mape_train_death = ( mape(fitcasesd, x_sol_final[14, :len(fitcasesd)]) ) mape_test_nondeath = ( mape(testcasesnd, x_sol_final[15, -len(testcasesnd):]) ) mape_test_death = ( mape(testcasesd, x_sol_final[14, -len(testcasesd):]) ) df_backtest_performance_tuple = pd.DataFrame({ "continent": [continent], "country": [country], "province": [province], "train_start_date": [date_day_since100],