An error occurred while loading the file. Please try again.
-
Le Roux Erwan authored
[refactor] rename folders for one/two fold fit. move the code for the anomaly into temperature_covariate.py
124a132b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from typing import Dict, List
import numpy as np
from extreme_fit.model.margin_model.utils import MarginFitMethod
from extreme_trend.one_fold_fit.altitudes_studies_visualizer_for_non_stationary_models import \
AltitudesStudiesVisualizerForNonStationaryModels
from extreme_trend.one_fold_fit.one_fold_fit import OneFoldFit
from extreme_trend.elevation_temporal_model_for_projections.independent_ensemble_fit import \
OneFoldFitMerge
class VisualizerMerge(AltitudesStudiesVisualizerForNonStationaryModels):
def __init__(self, visualizers: List[AltitudesStudiesVisualizerForNonStationaryModels],
model_classes,
show=False,
massif_names=None,
fit_method=MarginFitMethod.extremes_fevd_mle,
temporal_covariate_for_fit=None,
display_only_model_that_pass_anderson_test=True,
confidence_interval_based_on_delta_method=False,
remove_physically_implausible_models=False,
merge_function=np.median):
self.merge_function = merge_function
self.visualizers = visualizers
super().__init__(studies=visualizers[0].studies, model_classes=model_classes, show=show, massif_names=massif_names,
fit_method=fit_method, temporal_covariate_for_fit=temporal_covariate_for_fit,
display_only_model_that_pass_anderson_test=display_only_model_that_pass_anderson_test,
confidence_interval_based_on_delta_method=confidence_interval_based_on_delta_method,
remove_physically_implausible_models=remove_physically_implausible_models)
def load_one_fold_fit(self):
self._massif_name_to_one_fold_fit = {}
for massif_name in self.massif_names:
one_fold_fit_list = [v.massif_name_to_one_fold_fit[massif_name] for v in self.visualizers
if massif_name in v.massif_name_to_one_fold_fit]
if len(one_fold_fit_list) > 0:
one_fold_fit_merge = OneFoldFitMerge(one_fold_fit_list, massif_name,
type(self.altitude_group), self.temporal_covariate_for_fit)
self._massif_name_to_one_fold_fit[massif_name] = one_fold_fit_merge
@property
def massif_name_to_one_fold_fit(self) -> Dict[str, OneFoldFit]:
return self._massif_name_to_one_fold_fit