From e1713e886a5b5fdfe3cee697ebb5a787fd4b64d7 Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Fri, 23 Apr 2021 11:06:23 +0200 Subject: [PATCH] [refactor] add cached property on nllh, rename function from fit to margin function from fit. rename nb params to nb params from margin function --- .../estimator/margin_estimator/abstract_margin_estimator.py | 4 ++-- .../function/margin_function/abstract_margin_function.py | 2 +- .../function/margin_function/linear_margin_function.py | 2 +- .../function/margin_function/polynomial_margin_function.py | 2 +- .../function/margin_function/spline_margin_function.py | 2 +- extreme_trend/trend_test/abstract_gev_trend_test.py | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py b/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py index f6455310..591130ef 100644 --- a/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py +++ b/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py @@ -66,7 +66,7 @@ class LinearMarginEstimator(AbstractMarginEstimator): def coordinates_for_nllh(self): return pd.concat([self.df_coordinates_spat, self.df_coordinates_temp], axis=1).values - @property + @cached_property def nllh(self): maxima_values = self.dataset.maxima_gev coordinate_values = self.coordinates_for_nllh @@ -118,7 +118,7 @@ class LinearMarginEstimator(AbstractMarginEstimator): @property def nb_params(self): - nb_params = self.margin_function_from_fit.nb_params + nb_params = self.margin_function_from_fit.nb_params_for_margin_function nb_params += self.margin_function_from_fit.nb_params_for_climate_effects if isinstance(self.margin_model, AbstractTemporalLinearMarginModel) and self.margin_model.is_gumbel_model: nb_params -= 1 diff --git a/extreme_fit/function/margin_function/abstract_margin_function.py b/extreme_fit/function/margin_function/abstract_margin_function.py index cd2e71c2..0bfc893b 100644 --- a/extreme_fit/function/margin_function/abstract_margin_function.py +++ b/extreme_fit/function/margin_function/abstract_margin_function.py @@ -56,7 +56,7 @@ class AbstractMarginFunction(AbstractFunction): raise NotImplementedError @property - def nb_params(self): + def nb_params_for_margin_function(self): raise NotImplementedError @property diff --git a/extreme_fit/function/margin_function/linear_margin_function.py b/extreme_fit/function/margin_function/linear_margin_function.py index 59065da1..315fd278 100644 --- a/extreme_fit/function/margin_function/linear_margin_function.py +++ b/extreme_fit/function/margin_function/linear_margin_function.py @@ -50,7 +50,7 @@ class LinearMarginFunction(ParametricMarginFunction): return {v: k for k, v in cls.idx_to_coefficient_name(coordinates).items()} @property - def nb_params(self): + def nb_params_for_margin_function(self): return len(self.coef_dict) @property diff --git a/extreme_fit/function/margin_function/polynomial_margin_function.py b/extreme_fit/function/margin_function/polynomial_margin_function.py index f08ec0f9..1dbbedb0 100644 --- a/extreme_fit/function/margin_function/polynomial_margin_function.py +++ b/extreme_fit/function/margin_function/polynomial_margin_function.py @@ -34,7 +34,7 @@ class PolynomialMarginFunction(LinearMarginFunction): return super().get_params(coordinate, is_transformed) @property - def nb_params(self): + def nb_params_for_margin_function(self): return sum([c.nb_params for c in self.param_name_to_coef.values()]) @classmethod diff --git a/extreme_fit/function/margin_function/spline_margin_function.py b/extreme_fit/function/margin_function/spline_margin_function.py index 917ee326..b86d5cc3 100644 --- a/extreme_fit/function/margin_function/spline_margin_function.py +++ b/extreme_fit/function/margin_function/spline_margin_function.py @@ -42,7 +42,7 @@ class SplineMarginFunction(LinearMarginFunction): return super().get_params(coordinate, is_transformed) @property - def nb_params(self): + def nb_params_for_margin_function(self): return sum([c.nb_params for c in self.param_name_to_coef.values()]) @classmethod diff --git a/extreme_trend/trend_test/abstract_gev_trend_test.py b/extreme_trend/trend_test/abstract_gev_trend_test.py index b60b2d8c..fe84e69a 100644 --- a/extreme_trend/trend_test/abstract_gev_trend_test.py +++ b/extreme_trend/trend_test/abstract_gev_trend_test.py @@ -101,7 +101,7 @@ class AbstractGevTrendTest(object): @property def aic(self): aic = 2 * self.total_number_of_parameters_for_unconstrained_model + self.unconstrained_model_deviance - assert np.equal(self.total_number_of_parameters_for_unconstrained_model, self.unconstrained_estimator.nb_params) + assert np.equal(self.total_number_of_parameters_for_unconstrained_model, self.unconstrained_estimator.nb_params_for_margin_function) npt.assert_almost_equal(self.unconstrained_estimator.result_from_model_fit.aic, aic, decimal=5) npt.assert_almost_equal(self.unconstrained_estimator.aic, aic, decimal=5) return aic -- GitLab