Changelog
Source:NEWS.md
ospsuite.parameteridentification 2.0.1
Breaking changes
- Function
getSteadyState
has been removed in favor ofgetSteadyState
from the {ospsuite} package (#128, @PavelBal). - Function
validateIsOption
has been removed in favor ofospsuite.utils::validateIsOption
(#130, @Felixmil).
ospsuite.parameteridentification 2.0.0
Breaking changes
Requires {ospsuite} version 12.0 or later (#98, #114, @rengelke).
PIConfiguration
now configures the objective function viaobjectiveFunctionOptions
. Users can specify options directly, includingobjectiveFunctionType
,residualWeightingMethod
,robustMethod
,scaleVar
, andlinScaleCV
(#100, @rengelke).ParameterIdentification$gridSearch()
andParameterIdentification$calculateOFVProfiles()
functions have been disabled until fixed (#91, #92).
Major changes
-
New
calculateCostMetrics()
function inParameterIdentification
enhances model evaluation with integrated configuration viaPIConfiguration
. Settings and defaults are specified inObjectiveFunctionOptions
(#64, #65, #100, @rengelke).-
objectiveFunctionType
:lsq
for least squares orm3
for censored data maximum likelihood estimation. -
residualWeightingMethod
: options includenone
,std
normalizes by standard deviation for variable data,mean
scales by mean for diverse magnitudes, anderror
weights by inverse variance for known error data. -
robustMethod
:none
for uniform treatment,huber
orbisquare
for outlier minimization. -
scaleVar
: A boolean indicating whether to scale residuals by the number of observations. -
linScaleCV
: Numeric coefficient used to calculate standard deviation for linear scaling, applied tolloq
values whenm3
method is used. -
logScaleSD
: Numeric standard deviation for logarithmic scaling, applied tolloq
values whenm3
method is used.
-
New
error-calculation
vignette, explaining error model methodologies within the ospsuite.parameteridentification package. The document elaborates on the lsq (Least Squares Error) and m3 (Extended Least Squares Error for censored data) error models, along with advanced customization options for error modeling. This resource aids users in refining their parameter identification processes. (#102, #111, @rengelke).New
optimization-algorithms
vignette, introducing algorithms available for parameter estimation and offering insights on their optimal application scenarios (#104, #111, @rengelke).New
user-guide
vignette on parameter identification (PI). This vignette provides a comprehensive overview for setting up PI tasks, including defining simulations, specifying parameters to be identified, mapping model outputs to observed data, and configuring optimization tasks. Examples across three complexity levels of models demonstrate the package’s functionality in detail (#48, @svavil, @PavelBal).New
plot.modelCost()
function for visualizing raw and weighted residuals frommodelCost
objects (#100, @rengelke).Comprehensive overhaul of documentation, for clarity, comprehensiveness, and ease of navigation for all users (#111, @rengelke).
Unit test overhaul and coverage enhancement, increasing from 67% to 85% (#99, #100, #113, @rengelke).
Minor improvements and fixes
Enhanced error handling now ensures
ParameterIdentification
tasks validate the existence of simulation objects referenced byPIParameters
andOutputMapping
to prevent runtime errors due to missing dependencies (#117, #120, @rengelke).Enhanced
calculateCostMetrics()
output inParameterIdentification
offers a more detailed results summary for model evaluation. The summary now includesmodelCost
,minLogProbability
, and acostVariables
dataframe withscaleFactor
,nObservations
,M3Contribution
,SSR
(sum of squared residuals),weightedSSR
,normalizedSSR
, androbustSSR
(#100, @rengelke).README file conversion to .rmd format and subsequent updates (#86, #93, @FelixMil).
Improved error handling in
ParameterIdentification
for cases of simulation failure, ensuring consistent and informative error cost structure in output (#66, #70, #100, @svavil, @PaveBal, @rengelke).validateIsOption()
ensures user-specified options adhere to defined constraints, enhancing the robustness of user inputs (#100, @rengelke).ParameterIdentification
now directly accesses default optimization algorithm options forBOBYQA
,HJKB
, andDEoptim
from their respective packages (nloptr,{dfoptim}
, and DEoptim) if not explicitly defined inPIConfiguration
(#48, #81, @PavelBal).Continuous Integration/Continuous Deployment pipeline improvements (#95, #106, #110, @FelixMil)
Several bug fixes (#83, #109, #110, #115, #119, #122, @PavelBal, @FelixMil, @rengelke)
ospsuite.parameteridentification 1.3
Breaking changes
- The parameter in the
PIConfiguration
class that is controlling the feedback at each function evaluation is now calledprintEvaluationFeedback
instead ofprintItera tionFeedback
.
Major changes
Added new optimization algorithms: the default local algorithm is now an implementation of the BOBYQA algorithm (bounded optimization by quadratic approximation) from the nloptr package; additional local algorithm is
HJKB
, a bounded implementation of the Hooke-Jeeves derivative-free algorithm from the{dfoptim}
package; a global algorithm isDEoptim
for differential evolution optimization.FME::modCost()
is re-implemented as part of the parameter identification package and used for calculation of residuals.
ospsuite.parameteridentification 1.2
Breaking changes
- requires ospsuite v11.1 or later.