diff --git a/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py b/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py index 335aeb358e7a8b398a1e09853f6d720b924f772b..f8afbdcda4071b873fd009c8e8c7c24a395364f6 100644 --- a/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py +++ b/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py @@ -64,7 +64,8 @@ class LinearMarginEstimator(AbstractMarginEstimator): def nllh(self, split=Split.all): nllh = 0 maxima_values = self.dataset.maxima_gev(split=split) - coordinate_values = self.dataset.df_coordinates(split=split).values + df = pd.concat([self.df_coordinates_spat(split=split), self.df_coordinates_temp(split=split)], axis=1) + coordinate_values = df.values for maximum, coordinate in zip(maxima_values, coordinate_values): assert len(maximum) == 1, \ 'So far, only one observation for each coordinate, but code would be easy to change' diff --git a/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/one_fold_fit.py b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/one_fold_fit.py index e37365f95bdc44b0bab2971c8bb79df42ffe1abe..256bc4a19fc3af1d9ef35c194aa8ab4643fe89c1 100644 --- a/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/one_fold_fit.py +++ b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/one_fold_fit.py @@ -144,7 +144,6 @@ class OneFoldFit(object): @cached_property def sorted_estimators(self): estimators = list(self.model_class_to_estimator.values()) - print(self.massif_name, self.altitude_group) if self.remove_physically_implausible_models: estimators = [e for e in estimators if -0.5 < self._compute_shape_for_reference_altitude(e) < 0.5] if len(estimators) == 0: diff --git a/projects/altitude_spatial_model/altitudes_fit/plots/plot_histogram_altitude_studies.py b/projects/altitude_spatial_model/altitudes_fit/plots/plot_histogram_altitude_studies.py index 0bc0683c249e60f9c2994b8e9d0a1405fab91d1e..2fc0942fbe1879c94fec46e4c142632508a3582d 100644 --- a/projects/altitude_spatial_model/altitudes_fit/plots/plot_histogram_altitude_studies.py +++ b/projects/altitude_spatial_model/altitudes_fit/plots/plot_histogram_altitude_studies.py @@ -115,8 +115,8 @@ def plot_histogram_all_trends_against_altitudes(massif_names, visualizer_list: L ax.tick_params(axis='both', which='major', labelsize=labelsize) ax.set_xticks(x) ax.yaxis.grid() - ax.set_ylim([0, 79]) - ax.set_ylim(bottom=0) + _, ylim_max = ax.get_ylim() + ax.set_ylim([0, max(ylim_max, 79)]) ax.set_xticklabels([v.altitude_group.formula_upper for v in visualizer_list]) plot_nb_massif_on_upper_axis(ax, labelsize, legend_fontsize, nb_massifs, x) diff --git a/projects/projected_snowfall/elevation_temporal_model_for_projections/main_elevation_temporal_for_projections_ensemble.py b/projects/projected_snowfall/elevation_temporal_model_for_projections/main_elevation_temporal_for_projections_ensemble.py index 7c30e4f745c3c20bbbe59b3b2a5bff071106277a..14587d111be9c040b50feb92d9ffb4dbae1723ff 100644 --- a/projects/projected_snowfall/elevation_temporal_model_for_projections/main_elevation_temporal_for_projections_ensemble.py +++ b/projects/projected_snowfall/elevation_temporal_model_for_projections/main_elevation_temporal_for_projections_ensemble.py @@ -44,12 +44,12 @@ def main(): set_seed_for_test() AbstractExtractEurocodeReturnLevel.ALPHA_CONFIDENCE_INTERVAL_UNCERTAINTY = 0.2 - fast = False + fast = None if fast is None: massif_names = None - gcm_rcm_couples = gcm_rcm_couples[1:2] + gcm_rcm_couples = gcm_rcm_couples[:5] AbstractExtractEurocodeReturnLevel.NB_BOOTSTRAP = 10 - altitudes_list = altitudes_for_groups[:2] + altitudes_list = altitudes_for_groups[:] elif fast: AbstractExtractEurocodeReturnLevel.NB_BOOTSTRAP = 10 massif_names = None @@ -71,6 +71,9 @@ def main_loop(gcm_rcm_couples, altitudes_list, massif_names, study_classes, ense temporal_covariate_for_fit): assert isinstance(altitudes_list, List) assert isinstance(altitudes_list[0], List) + gof_test = True + print('Goodness of fit test ?', gof_test) + print('Covariate is {}'.format(temporal_covariate_for_fit)) for study_class in study_classes: print('Inner loop', study_class) model_classes = ALTITUDINAL_GEV_MODELS_BASED_ON_POINTWISE_ANALYSIS @@ -83,7 +86,7 @@ def main_loop(gcm_rcm_couples, altitudes_list, massif_names, study_classes, ense massif_names=massif_names, temporal_covariate_for_fit=temporal_covariate_for_fit, confidence_interval_based_on_delta_method=False, - display_only_model_that_pass_gof_test=False, + display_only_model_that_pass_gof_test=gof_test, remove_physically_implausible_models=True, ) visualizer.plot() diff --git a/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_projection_ensemble.py b/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_projection_ensemble.py index e4f0c23e0b68a470ac17f72de9659046ff857d25..27a1c85c8270095b11d882e2775715611fcb8752 100644 --- a/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_projection_ensemble.py +++ b/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_projection_ensemble.py @@ -83,7 +83,8 @@ class MetaVisualizerForProjectionEnsemble(object): with_significance = False # Individual plots for independent_ensemble_fit in self.ensemble_fits(IndependentEnsembleFit): - for v in independent_ensemble_fit.gcm_rcm_couple_to_visualizer.values(): + for c, v in independent_ensemble_fit.gcm_rcm_couple_to_visualizer.items(): + print(c) v.plot_moments() # Aggregated at gcm_rcm_level plots for gcm_rcm_couple in self.gcm_rcm_couples: diff --git a/spatio_temporal_dataset/coordinates/temporal_coordinates/abstract_temporal_covariate_for_fit.py b/spatio_temporal_dataset/coordinates/temporal_coordinates/abstract_temporal_covariate_for_fit.py index b06f94c1e1cc38b9f182829441e6f169d20c3b43..4fdc65ebe71c48ab19f770953d4f1d54f2bddeb2 100644 --- a/spatio_temporal_dataset/coordinates/temporal_coordinates/abstract_temporal_covariate_for_fit.py +++ b/spatio_temporal_dataset/coordinates/temporal_coordinates/abstract_temporal_covariate_for_fit.py @@ -32,5 +32,5 @@ class AnomalyTemperatureTemporalCovariate(AbstractTemporalCovariateForFit): d = year_to_global_mean_temp(gcm, scenario, anomaly=True) cls.gcm_and_scenario_to_d[(gcm, scenario)] = d d = cls.gcm_and_scenario_to_d[(gcm, scenario)] - global_mean_temp = d[year] * 1000 + global_mean_temp = d[year] return global_mean_temp diff --git a/test/test_projects/test_contrasting/test_two_fold_fit.py b/test/test_projects/test_contrasting/test_two_fold_fit.py index 5c9c72c46b07ec8dda7825681f9883bedb04afa4..eb89f82d5c0fc8d879001f371cbb31057ff8c529 100644 --- a/test/test_projects/test_contrasting/test_two_fold_fit.py +++ b/test/test_projects/test_contrasting/test_two_fold_fit.py @@ -46,7 +46,7 @@ class TestTwoFoldFit(unittest.TestCase): massif_fit = two_fold_fit.massif_name_to_massif_fit['Vercors'] model_fit = massif_fit.sample_id_to_sample_fit[0].model_class_to_model_fit[ ConstantMarginModel] # type: TwoFoldModelFit - self.assertEqual(461.6710428902022, model_fit.score(score=Score.NLLH_TEST)) + self.assertEqual(232.1804953450304, model_fit.score(score=Score.NLLH_TEST)) if __name__ == '__main__':