tree a7867e9ef512bd11b998128b37e69dce8c7ece80
parent edbac0de9bba6ced496ad48f8fba45ec12e817c4
author James Kaufman <jhkauf@us.ibm.com> 1595861358 -0700
committer James Kaufman <jhkauf@us.ibm.com> 1595861358 -0700

Bug 565455 - The STEM AI plugin called "Automatic Experiments" requires
a more flexible and configurable error function

This patch from Vishrawas Gopalakrishnan implements the requested
feature. Automatic Experiments use a Nelder-Meade downhill simplex
algorithms to automatically optimize any disease model with respect to
reference data. Previously, the error function used
(SimpleErrorFunctionImpl.java) and only computed the nrmse with respect
to reference and predicted daily incidence. Many users need to optimize
their models with respect to cumulative incidence and/or cumulative
deaths. This patchp provides a more flexible CompountErrorFunction so a
user can configure the error function used in the downhill simplex. It
handles daily incidence, cumulative incidence, deaths, or even a
combination of all three or any two.