From a8ac12bbed5bf796cf5fd7cb16f090856a92286d Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Thu, 25 Feb 2021 10:49:45 +0100 Subject: [PATCH] [refactor] remove accept_zero_scale_parameter in gev_params.py --- extreme_fit/distribution/gev/gev_params.py | 4 +--- extreme_trend/abstract_gev_trend_test.py | 7 ------- .../gev_trend_test_one_parameter.py | 12 ------------ .../gev_trend_test_two_parameters.py | 7 ------- .../test_distribution/test_gev/test_gev_params.py | 4 ++-- 5 files changed, 3 insertions(+), 31 deletions(-) diff --git a/extreme_fit/distribution/gev/gev_params.py b/extreme_fit/distribution/gev/gev_params.py index e83e787f..2c103119 100644 --- a/extreme_fit/distribution/gev/gev_params.py +++ b/extreme_fit/distribution/gev/gev_params.py @@ -20,11 +20,9 @@ class GevParams(AbstractExtremeParams): SUMMARY_NAMES = PARAM_NAMES + AbstractParams.QUANTILE_NAMES NB_SUMMARY_NAMES = len(SUMMARY_NAMES) - def __init__(self, loc: float, scale: float, shape: float, block_size: int = None, accept_zero_scale_parameter=False): + def __init__(self, loc: float, scale: float, shape: float, block_size: int = None): super().__init__(loc, scale, shape) self.block_size = block_size - if accept_zero_scale_parameter and scale == 0.0: - self.has_undefined_parameters = False self.param_name_to_confidence_interval = None @nan_if_undefined_wrapper diff --git a/extreme_trend/abstract_gev_trend_test.py b/extreme_trend/abstract_gev_trend_test.py index 43a1e800..d3c33e61 100644 --- a/extreme_trend/abstract_gev_trend_test.py +++ b/extreme_trend/abstract_gev_trend_test.py @@ -163,17 +163,10 @@ class AbstractGevTrendTest(object): def same_sign(a, b): return (a > 0 and b > 0) or (a < 0 and b < 0) - @property - def mean_difference_same_sign_as_slope_strenght(self) -> bool: - return False - @property def variance_difference_same_sign_as_slope_strenght(self) -> bool: return False - def mean_difference(self, zeta0: float, mu1: float = 0.0, sigma1: float = 0.0) -> float: - return GevParams(loc=mu1, scale=sigma1, shape=zeta0, accept_zero_scale_parameter=True).mean - @property def test_trend_constant_quantile(self): return self.unconstrained_estimator_gev_params_last_year.quantile(p=self.quantile_level) diff --git a/extreme_trend/trend_test_one_parameter/gev_trend_test_one_parameter.py b/extreme_trend/trend_test_one_parameter/gev_trend_test_one_parameter.py index 49474239..41224214 100644 --- a/extreme_trend/trend_test_one_parameter/gev_trend_test_one_parameter.py +++ b/extreme_trend/trend_test_one_parameter/gev_trend_test_one_parameter.py @@ -76,12 +76,6 @@ class GevLocationTrendTest(GevTrendTestOneParameterAgainstStationary): return self.unconstrained_estimator_gev_params_last_year.time_derivative_of_return_level(p=self.quantile_level, mu1=self.non_stationary_linear_coef) - @property - def mean_difference_same_sign_as_slope_strenght(self) -> bool: - zeta0 = self.unconstrained_estimator_gev_params_last_year.shape - mean_difference = self.mean_difference(zeta0=zeta0, mu1=self.non_stationary_linear_coef) - return self.same_sign(mean_difference, self._slope_strength()) - @property def variance_difference_same_sign_as_slope_strenght(self) -> bool: return False @@ -104,12 +98,6 @@ class GevScaleTrendTest(GevTrendTestOneParameterAgainstStationary): p=self.quantile_level, sigma1=self.non_stationary_linear_coef) - @property - def mean_difference_same_sign_as_slope_strenght(self) -> bool: - zeta0 = self.unconstrained_estimator_gev_params_last_year.shape - mean_difference = self.mean_difference(zeta0=zeta0, sigma1=self.non_stationary_linear_coef) - return self.same_sign(mean_difference, self._slope_strength()) - @property def variance_difference_same_sign_as_slope_strenght(self) -> bool: sigma1 = self.non_stationary_linear_coef diff --git a/extreme_trend/trend_test_two_parameters/gev_trend_test_two_parameters.py b/extreme_trend/trend_test_two_parameters/gev_trend_test_two_parameters.py index 223490ff..ee2d0a83 100644 --- a/extreme_trend/trend_test_two_parameters/gev_trend_test_two_parameters.py +++ b/extreme_trend/trend_test_two_parameters/gev_trend_test_two_parameters.py @@ -91,13 +91,6 @@ class GevLocationAndScaleTrendTest(GevTrendTestTwoParametersAgainstGev): return self.unconstrained_estimator_gev_params_last_year.time_derivative_of_return_level(p=self.quantile_level, mu1=self.mu1, sigma1=self.sigma1) - - @property - def mean_difference_same_sign_as_slope_strenght(self) -> bool: - zeta0 = self.unconstrained_estimator_gev_params_last_year.shape - mean_difference = self.mean_difference(zeta0=zeta0, mu1=self.mu1, sigma1=self.sigma1) - return self.same_sign(mean_difference, self._slope_strength()) - @property def variance_difference_same_sign_as_slope_strenght(self) -> bool: return self.same_sign(self.sigma1, self._slope_strength()) diff --git a/test/test_extreme_fit/test_distribution/test_gev/test_gev_params.py b/test/test_extreme_fit/test_distribution/test_gev/test_gev_params.py index 607e47a1..e3aeda6f 100644 --- a/test/test_extreme_fit/test_distribution/test_gev/test_gev_params.py +++ b/test/test_extreme_fit/test_distribution/test_gev/test_gev_params.py @@ -27,9 +27,9 @@ class TestGevParams(unittest.TestCase): def test_time_derivative_return_level(self): p = 0.99 for mu1 in [-1, 0, 1]: - for sigma1 in [0, 1, 10]: + for sigma1 in [1, 10]: for shape in [-1, 0, 1]: - params = GevParams(loc=mu1, scale=sigma1, shape=shape, accept_zero_scale_parameter=True) + params = GevParams(loc=mu1, scale=sigma1, shape=shape) quantile = params.quantile(p) time_derivative = params.time_derivative_of_return_level(p, mu1, sigma1) self.assertEqual(quantile, time_derivative) -- GitLab