All notable changes to this project will be documented in this file.
- Added a
render_fallback
argument tocontrast_experiments
, which allows for creating figures when the default renderer fails. - The
feature_scores
andcreate_metamodel
methods have been made resistant to the presence of NaN data in the performance measures. - Functions that generate plotly Scatter traces have added a
use_gl
argument for improved performance on large datasets. - The
scope_name
argument ofDatabase.read_scope
is optional when there is only one scope in the database.
create_metamodel_from_design
now raises a ValueError if there is nodb
defined.read_metamodel
now raises a KeyError instead of an IndexError when the given metamodel id is not found for the given scope.
- A new emat.learn subpackage, which replaces and streamlines the meta-model development process, including new meta-model types that are more consistent with scikit-learn standards.
- Interactive analysis tools for Jupyter notebooks, including an Explorer, secenario discovery with PRIM, and simplified multi-objective optimization.
- Database design enhancement to allow multiple metamodel results be be stored for the same set of experiments.
- Adds a 'shortname' attribute to parameters and measures in scope definitions, to allow neater graphic presentation when names are too long.
- Additional documentation and features for PRIM, including the ability to convert EMA Workbench's PrimBox to the EMAT Box format.
- A version check to ensure a compatible version of the EMA Workbench is installed.
AbstractCoreModel.create_metamodel_from_designs
allows the creation of a meta-model from a multi-stage experimental design, instead of only from a single design.- Add truncated uniform latin hypercube samplers, named 'ulhs99', 'ulhs98', and 'ulhs95'. These samplers ignore the defined underlying distribution after truncating the tails of the distribution.
- Additional tests to support non-uniform distributions.
AbstractCoreModel.run_experiments
allows thedb
argument to be set to False, which will prevent the model runs from being saved to a database, even if a default database is defined for the model.FilesCoreModel
nor includes a configurablerel_output_path
attribute, defined in the configuration file, to set the location of output files within a model run. Previously, this value was hard-coded as the subdirectory './Outputs', and that remains the default value ifrel_output_path
is not set.
- Correlated samplers have been added for 'lhs' (Latin Hypercube) and
'mc' (Monte Carlo) sampling. These samplers use the
corr
attributes already defined for parameters and in the scope file. - Add
robust_evaluate
method toAbstractCoreModel
. - Allow initialization of
Scope
objects with no 'desc' key at the top level, which implies setting the description to an empty string. - Add a
DistributionTypeError
class, and use it to improve the infer-dtype capability for making parameters. When a continuous distribution is given for what otherwise has been inferred as an integer parameter, that parameter is promoted to 'float'. As always, if there is any chance of confusion it is better to define the parameter dtype explicitly.
AbstractCoreModel.run_experiments_from_design
has been removed in favor ofAbstractCoreModel.run_experiments
, which provides a more unified interface.- Performance measure documentation and examples have been modified
to favor
metamodeltype
overtransform
. Thetransform
attribute ofMeasure
remains in place, as a suitable string-based hook for using thefunction
attribute offered byema_workbench
. - Back-end code has been updated to be compatible with version 2.1 of
the
ema_workbench
package.
- Add the ability to design experiments that sample jointly from uncertainties and levers (the default for EMAT) or to sample independently from uncertainties and levers, and then combine these two sets of samples in a full-factorial manner (the default for EMA Workbench).