- 18 Jan, 2023 1 commit
-
-
Thibault Hallouin authored
This is an attempt to add access to determinist metrics to probabilist evaluation (i.e. via the choice of a reducer on ensemble members). The idea is to instantiate one determinist::Evaluator per site (in order to reduce the dimension to 2D) as part of probabilist::Evaluator. This way, the determinist evaluator handles all the memoisation/dependency management, while the probabilist evaluator only needs to get the metrics via a call to the getter methods of the determinist evaluator (e.g. `get_RMSE`). Unfortunately, while this commit compiles/links, it fails to run because the views to q_obs/q_prd given to each determinist evaluator lose the reference to the data as soon as it leaves the constructor method. So there is likely a move/forward required somewhere, or the use of a constructor method expecting universal references, but for now I could not find a working solution along those lines. So I park this here for now.
-
- 17 Jan, 2023 3 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
In view to be able to use determinist metrics in `evalp`, the temporal masks need to feature a dimension specific to each prediction series. In fact, this was already done internally to `determinist::Evaluator` to deal with potentially missing predictions. From a determinist point of view, this is actually beneficial as well since (a) it allows the user to use different masks for different series and (b) it avoids an internal copy of masks to go from 2D to 3D.
-
Thibault Hallouin authored
-
- 16 Jan, 2023 6 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
only showing up when multiple lead times provided
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
- 14 Jan, 2023 2 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
Until now, the probabilist Evaluator was not able to compute multi-sites and/or multi-leadtimes metrics, because it was given one site and one lead time at a time. This was done to spare some memory, but it was not logical to load all sites and all lead times for the input data and then only process a small chunk at a time. There is no multi-sites/multi-leadtimes metrics implemented yet, but the Evaluator is ready for it now. This implementation makes full use of the broadcasting power of xtensor.
-
- 13 Jan, 2023 5 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
while Brier-based scores are symmetric, Contigency Table-based metrics are not, so that a definition how what an "event" means is required. A new optional parameter *events* is added to `evalp` (taking either "high" or "low" as value).
-
Thibault Hallouin authored
-
- 12 Jan, 2023 4 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
- 11 Jan, 2023 6 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
- 10 Jan, 2023 1 commit
-
-
Thibault Hallouin authored
as mentioned in https://github.com/xtensor-stack/xtensor/issues/2629, the behaviour of the random generator is controlled by the implementation of the standard library, so it cannot be expected to behave the same across platforms
-
- 04 Jan, 2023 3 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
since those default values were only used to check whether these parameters were provided or not, they are turned into optional parameters
-
Thibault Hallouin authored
so that specifying the template arguments become optional
-
- 03 Jan, 2023 1 commit
-
-
Thibault Hallouin authored
-
- 02 Jan, 2023 2 commits
-
-
Thibault Hallouin authored
GNU GCC was complaining about a missing type definition ("no type name 'type' in 'struct::enable_if<false, int>'") for the false case (as explained here https://stackoverflow.com/a/12625334). So given that there are two/three false conditions for `evald`/`evalp`, it seemed better to drop these rank checks from the templates, and use the function `xt::get_rank` instead.
-
Thibault Hallouin authored
-
- 30 Dec, 2022 2 commits
-
-
Thibault Hallouin authored
including: - extracting the element/intermediate/metric calculations from the `determinist::Evaluator` class - introducing new getter methods in `determinist::Evaluator` class that handle the element/intermediate/metric inter-dependencies internally to the object - removing external inter-dependencies handling from `evald`
-
Thibault Hallouin authored
including: - extracting the element/intermediate/metric calculations from the `probabilist::Evaluator` class - introducing new getter methods in `probabilist::Evaluator` class that handle the element/intermediate/metric inter-dependencies internally to the object - removing external inter-dependencies handling from `evalp`
-
- 29 Dec, 2022 2 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
- 27 Dec, 2022 2 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-