JuliaExtremes / IDFCurves.jl

MIT License
0 stars 0 forks source link

Handle out-of-bounds initialization #144

Closed AugustePaoli99 closed 2 months ago

AugustePaoli99 commented 4 months ago

Dans la méthode fit_mle(), il est possible que le vecteur initialvalues possède des valeurs physiquement impossibles. Dans ce cas l'appel θ₀ = map_to_real_space(pd, initialvalues) va créer une erreur. je propose de gérer ce problème de deux manières différentes :

AugustePaoli99 commented 4 months ago

@jojal5 ca te concient comme stratégie ? C'est de toutes façons assez marginal, mais de tels bugs peuvent finir par arriver notamment lors d'une étude de simulation par exemple.

jojal5 commented 4 months ago

La deuxième option est la meilleure. C’est mieux de gérer le problème dans la fonction initialize()

AugustePaoli99 commented 4 months ago

Oui, la première méthode est une assurance supplémentaire au cas où l'utilisateur spécifie lui-même l'initialisation et en propose une impossible.

AugustePaoli99 commented 4 months ago

J'ai fait les modifs dans la branche consacrée. 1) J'ai enlevé la transformation du paramètre $\xi$ qui le forçait entre -1/2 et 1/2. Je ne sais même plus pourquoi on faisait ça initialement (ça vient de l'époque où je faisais du bayésien) 2) J'ai ajouté des @assert dans les méthodes map_to_real_space() qui vérifie que les paramètres sont dans les bons domaines. Ca permet de renvoyer tout de suite un message d'erreur clair si l'utilisateur initialise mal. 3) J'ai ajouté des maximum(0.001, x) et minimum(0.999, x) dans les méthodes d'initialisation automatique qui assurent l'absence d'erreur numérique.