From 08f4c04c1fb08a41b345456832c628b0e7af2612 Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Wed, 12 Feb 2020 13:46:32 +0100 Subject: [PATCH] [paper 1] fix imports. create qqplot when wrong shape parameters are removed --- .../qqplot/plot_qqplot.py | 32 +++++++++++++++---- .../shape/main_shape_repartition.py | 4 +-- .../data/main_example_swe_total_plot.py | 2 +- .../main_result_trends_and_return_levels.py | 11 ++++--- 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py index 5ff62713..f45034e1 100644 --- a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py +++ b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py @@ -8,8 +8,10 @@ from matplotlib.ticker import PercentFormatter from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal from experiment.meteo_france_data.scm_models_data.visualization.study_visualization.main_study_visualizer import \ ALL_ALTITUDES_WITHOUT_NAN -from experiment.exceeding_snow_loads.data.main_example_swe_total_plot import tuples_for_examples_paper1 -from experiment.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ +from extreme_fit.model.margin_model.linear_margin_model.abstract_temporal_linear_margin_model import \ + TemporalMarginFitMethod +from papers.exceeding_snow_loads.data.main_example_swe_total_plot import tuples_for_examples_paper1 +from papers.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ StudyVisualizerForNonStationaryTrends from extreme_fit.distribution.gev.gev_params import GevParams @@ -26,7 +28,7 @@ def plot_qqplot_for_time_series_with_missing_zeros( print('Worst examples:') for a, v, m, p in l: print(a, m, p) - print(last_quantile(p)) + print('Last standard quantile (depends on the number of data):', last_quantile(p)) v.qqplot(m) @@ -81,13 +83,29 @@ def last_quantile(psnow): if __name__ == '__main__': - # altitudes = [300, 600, 900, 1200, 1500, 1800][:2] - altitudes = ALL_ALTITUDES_WITHOUT_NAN + """ + Worst examples: + 300 Mercantour 0.38333333333333336 + 3.1568494936985307 + 300 Haut_Var-Haut_Verdon 0.6 + 3.5972497046789322 + 600 Mercantour 0.75 + 3.817672071062871 + + For the two time series with less values: + 300 Mercantour 1.0857026816954518 + 300 Haut_Var-Haut_Verdon 0.8446498197950775 + + """ + altitudes = [300, 600, 900, 1200, 1500, 1800][:2] + # altitudes = ALL_ALTITUDES_WITHOUT_NAN # altitudes = [900, 1800, 2700] altitude_to_visualizer = {altitude: StudyVisualizerForNonStationaryTrends(CrocusSnowLoadTotal(altitude=altitude), + select_only_acceptable_shape_parameter=True, + fit_method=TemporalMarginFitMethod.extremes_fevd_bayesian, multiprocessing=True) for altitude in altitudes} # plot_qqplot_wrt_standard_gumbel(altitude_to_visualizer) - plot_hist_psnow(altitude_to_visualizer) + # plot_hist_psnow(altitude_to_visualizer) # plot_qqplot_for_time_series_examples(altitude_to_visualizer) - # plot_qqplot_for_time_series_with_missing_zeros(altitude_to_visualizer, nb_worst_examples=3) + plot_qqplot_for_time_series_with_missing_zeros(altitude_to_visualizer, nb_worst_examples=3) diff --git a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py index f12726be..d9344122 100644 --- a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py +++ b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py @@ -1,7 +1,7 @@ from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal -from experiment.exceeding_snow_loads.check_mle_convergence_for_trends.shape.study_visualizer_for_shape_repartition import \ +from papers.exceeding_snow_loads.check_mle_convergence_for_trends.shape.study_visualizer_for_shape_repartition import \ StudyVisualizerForShape -from experiment.exceeding_snow_loads.paper_main_utils import load_altitude_to_visualizer +from papers.exceeding_snow_loads.paper_main_utils import load_altitude_to_visualizer def main_shape_repartition(altitudes, massif_names=None, diff --git a/papers/exceeding_snow_loads/data/main_example_swe_total_plot.py b/papers/exceeding_snow_loads/data/main_example_swe_total_plot.py index f654e168..cbfe15e3 100644 --- a/papers/exceeding_snow_loads/data/main_example_swe_total_plot.py +++ b/papers/exceeding_snow_loads/data/main_example_swe_total_plot.py @@ -5,7 +5,7 @@ from experiment.meteo_france_data.scm_models_data.visualization.study_visualizat study_iterator_global, SCM_STUDY_CLASS_TO_ABBREVIATION from experiment.meteo_france_data.scm_models_data.visualization.study_visualization.study_visualizer import \ StudyVisualizer -from experiment.exceeding_snow_loads.paper_utils import dpi_paper1_figure +from papers.exceeding_snow_loads.paper_utils import dpi_paper1_figure def tuples_for_examples_paper1(examples_for_the_paper=True): diff --git a/papers/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py b/papers/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py index d0a7ab8d..bd841735 100644 --- a/papers/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py +++ b/papers/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py @@ -7,7 +7,8 @@ from papers.exceeding_snow_loads.paper_main_utils import load_altitude_to_visual from papers.exceeding_snow_loads.paper_utils import paper_study_classes, paper_altitudes from papers.exceeding_snow_loads.result_trends_and_return_levels.plot_diagnosis_risk import plot_diagnosis_risk from papers.exceeding_snow_loads.result_trends_and_return_levels.plot_selection_curves import plot_selection_curves -from papers.exceeding_snow_loads.result_trends_and_return_levels.plot_trend_curves import plot_trend_curves +from papers.exceeding_snow_loads.result_trends_and_return_levels.plot_trend_curves import plot_trend_curves, \ + plot_trend_map from papers.exceeding_snow_loads.result_trends_and_return_levels.plot_uncertainty_curves import plot_uncertainty_massifs from papers.exceeding_snow_loads.result_trends_and_return_levels.plot_uncertainty_histogram import \ plot_uncertainty_histogram @@ -65,11 +66,11 @@ def intermediate_result(altitudes, massif_names=None, _ = compute_minimized_aic(visualizer) # Plots - # plot_trend_map(altitude_to_visualizer) + plot_trend_map(altitude_to_visualizer) # plot_diagnosis_risk(altitude_to_visualizer) - # plot_trend_curves(altitude_to_visualizer={a: v for a, v in altitude_to_visualizer.items() if a >= 900}) - # plot_uncertainty_massifs(altitude_to_visualizer) - # plot_uncertainty_histogram(altitude_to_visualizer) + plot_trend_curves(altitude_to_visualizer={a: v for a, v in altitude_to_visualizer.items() if a >= 900}) + plot_uncertainty_massifs(altitude_to_visualizer) + plot_uncertainty_histogram(altitude_to_visualizer) plot_selection_curves(altitude_to_visualizer) -- GitLab