An error occurred while loading the file. Please try again.
-
Le Roux Erwan authored
[projection snowfall] add evgam call for abstract_temporal_linear_margin_model.py. account for log_scale in the margin_function. rename get_coord_df to get_r_dataframe_from_python_dataframe. create evgam_fixed.R for debugging
2c05724b
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
46
47
48
49
50
51
52
53
54
55
56
57
58
import numpy as np
from rpy2 import robjects
from extreme_fit.model.abstract_model import AbstractModel
from extreme_fit.model.result_from_model_fit.result_from_quantilreg import ResultFromQuantreg
from extreme_fit.model.utils import r, safe_run_r_estimator, get_r_dataframe_from_python_dataframe
from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset
class AbstractQuantileRegressionModel(AbstractModel):
def __init__(self, dataset: AbstractDataset, quantile: float):
self.dataset = dataset
self.quantile = quantile
@property
def data(self):
return get_r_dataframe_from_python_dataframe(self.dataset.df_dataset)
@property
def first_column_of_observation(self):
return self.data.colnames[0]
def fit(self):
parameters = {
'tau': self.quantile,
'data': self.data,
'formula': self.formula
}
res = safe_run_r_estimator(r.rq, **parameters)
return ResultFromQuantreg(res)
@property
def formula_str(self):
raise NotImplementedError
@property
def formula(self):
return robjects.Formula(self.first_column_of_observation + '~ ' + self.formula_str)
class ConstantQuantileRegressionModel(AbstractQuantileRegressionModel):
@property
def formula_str(self):
return '1'
class TemporalCoordinatesQuantileRegressionModel(AbstractQuantileRegressionModel):
@property
def formula_str(self):
assert self.dataset.coordinates.has_temporal_coordinates \
and not self.dataset.coordinates.has_spatial_coordinates
return AbstractCoordinates.COORDINATE_T