An error occurred while loading the file. Please try again.
-
Le Roux Erwan authoredaae23816
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
from collections import OrderedDict
import numpy as np
from extreme_fit.distribution.gev.gev_params import GevParams
from extreme_fit.function.param_function.linear_coef import LinearCoef
from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
def convertFloatVector_to_float(f):
return np.array(f)[0]
def get_margin_coef_ordered_dict(param_name_to_dims, mle_values, type_for_mle="GEV", dim_to_coordinate_name=None):
assert param_name_to_dims is not None
# Build the Coeff dict from param_name_to_dim
coef_dict = OrderedDict()
i = 0
for param_name in GevParams.PARAM_NAMES:
# Add intercept (i.e. stationary parameter)
intercept_coef_name = LinearCoef.coef_template_str(param_name, LinearCoef.INTERCEPT_NAME).format(1)
if type_for_mle == "Gumbel" and param_name == GevParams.SHAPE:
coef_value = 0
else:
coef_value = mle_values[i]
coef_dict[intercept_coef_name] = coef_value
i += 1
# Add a potential linear temporal trend
if param_name in param_name_to_dims:
dims = param_name_to_dims[param_name]
if isinstance(dims[0], int):
coef_name = LinearCoef.coef_template_str(param_name, AbstractCoordinates.COORDINATE_T).format(1)
coef_dict[coef_name] = mle_values[i]
i += 1
else:
for dim, max_degree in dims:
coordinate_name = dim_to_coordinate_name[dim]
coef_template = LinearCoef.coef_template_str(param_name, coordinate_name)
for j in range(1, max_degree + 1):
k = j if coordinate_name == AbstractCoordinates.COORDINATE_T else j + 1
coef_name = coef_template.format(k)
coef_dict[coef_name] = mle_values[i]
i += 1
return coef_dict