Exemple #1
0
                                ).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:
Exemple #2
0
                    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(
Exemple #3
0
                    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()
            )
Exemple #4
0
                        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],