From 0bc9188a5d6a1e862d6927c15e05cf6d82fff495 Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Wed, 24 Jun 2020 15:49:00 +0200 Subject: [PATCH] [contrasting] aic and bic test ok for my first model combining a linearity in 2 different coordinates. --- .../param_function/polynomial_coef.py | 3 ++- .../test_gev_spatio_temporal_extremes_mle.py | 20 ++----------------- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/extreme_fit/function/param_function/polynomial_coef.py b/extreme_fit/function/param_function/polynomial_coef.py index fa7c6198..6a81f224 100644 --- a/extreme_fit/function/param_function/polynomial_coef.py +++ b/extreme_fit/function/param_function/polynomial_coef.py @@ -37,7 +37,8 @@ class PolynomialAllCoef(LinearCoef): if self.dim_to_polynomial_coef is None: return 1 else: - return sum([c.nb_params for c in self.dim_to_polynomial_coef.values()]) + nb_redundant_intercept = len(self.dim_to_polynomial_coef) - 1 + return sum([c.nb_params for c in self.dim_to_polynomial_coef.values()]) - nb_redundant_intercept @property def intercept(self) -> float: diff --git a/test/test_extreme_fit/test_estimator/test_gev_spatio_temporal_extremes_mle.py b/test/test_extreme_fit/test_estimator/test_gev_spatio_temporal_extremes_mle.py index 15553a94..cba6e6f9 100644 --- a/test/test_extreme_fit/test_estimator/test_gev_spatio_temporal_extremes_mle.py +++ b/test/test_extreme_fit/test_estimator/test_gev_spatio_temporal_extremes_mle.py @@ -45,27 +45,11 @@ class TestGevTemporalQuadraticExtremesMle(unittest.TestCase): return estimator def test_location_spatio_temporal_linearity(self): - - # Create estimator - # estimator = fitted_linear_margin_estimator(model_class, - # self.coordinates, self.dataset, - # starting_year=0, - # fit_method=self.fit_method) - # # Checks that parameters returned are indeed different - # mle_params_estimated_year1 = estimator.function_from_fit.get_params(np.array([1])).to_dict() - # mle_params_estimated_year3 = estimator.function_from_fit.get_params(np.array([21])).to_dict() - # mle_params_estimated_year5 = estimator.function_from_fit.get_params(np.array([41])).to_dict() - # self.assertNotEqual(mle_params_estimated_year1, mle_params_estimated_year3) - # self.assertNotEqual(mle_params_estimated_year3, mle_params_estimated_year5) - # # Assert the relationship for the location is indeed quadratic - # diff1 = mle_params_estimated_year1[quadratic_param] - mle_params_estimated_year3[quadratic_param] - # diff2 = mle_params_estimated_year3[quadratic_param] - mle_params_estimated_year5[quadratic_param] - # self.assertNotAlmostEqual(diff1, diff2) estimator = self.get_estimator_fitted(NonStationaryLocationSpatioTemporalLinearityModel) # Assert that indicators are correctly computed self.assertAlmostEqual(estimator.result_from_model_fit.nllh, estimator.nllh(split=estimator.train_split)) - # self.assertAlmostEqual(estimator.result_from_model_fit.aic, estimator.aic()) - # self.assertAlmostEqual(estimator.result_from_model_fit.bic, estimator.bic()) + self.assertAlmostEqual(estimator.result_from_model_fit.aic, estimator.aic(split=estimator.train_split)) + self.assertAlmostEqual(estimator.result_from_model_fit.bic, estimator.bic(split=estimator.train_split)) if __name__ == '__main__': -- GitLab