Skip to content

Releases: nlmixr2/nlmixr2est

v2.2.1

31 Jan 11:50
af11d02
Compare
Choose a tag to compare

nlmixr2est 2.2.1

  • Align with the possibility that linCmt sensitivities may not be
    present (like intel c++)

Bug fix

  • focei cache needs to be based on the parameter order as well as
    the model information (#415)

What's Changed

  • 415 nlmixr2est focei needs to cache based on thetaomega order by @mattfidler in #416

Full Changelog: v2.2.0...v2.2.1

v2.2.0

12 Dec 23:43
493e1f0
Compare
Choose a tag to compare

New Features

  • Algebraic mu referencing has been implemented in nlme and saem.

  • New estimation method "nlm" has been added to estimate population
    only likelihoods using stats::nlm and possibly return a
    standardized nlmixr2 fit.

  • New estimation method "nls" has been added to estimate population
    only problems. This uses minpack.lm::nlsNM by default if
    present, or the stats::nls

  • New estimation method "optim" has been added to estimate population
    only likelihoods. This uses stats::optim and returns a
    standardized nlmixr2 fit.

  • New estimation method "nlminb" has been added to estimate population
    only likelihoods. This uses stats::nlminb and returns a
    standardized nlmixr2 fit.

  • New estimation methods from the minqa package: "bobyqa", "uobyqa"
    and "newuoa" have been added to estimate population only
    likelihoods. These methods returns a standardized nlmixr2 fit.

  • New estimation method "lbfgsb3c" to estimate population only
    likelihoods. This returns a standardized nlmixr2 fit.

  • New estimation method "n1qn1" to estimate population only
    likelihoods. This returns a standardized nlmixr2 fit.

  • Added new feature for vpcSim() where a minimum number of subjects
    are simulated from the model when trying to fill in ODEs that were
    not solved successfully. By default this is 10. This also
    works-around a bug when there is only one subject simulated and the
    data.frame has a slightly different output.

Breaking changes

  • Removed fit$saemTransformedData since it isn't actually used in
    saem anymore (but will break anyone's code who is using it)

  • Now the internal function .foceiPreProcessData() requires the
    rxode2 control rxControl() because some of the new steady state
    lag features need to translate the data differently based on
    rxControl() options.

Bug fixes

  • Printing models with correlated omega values and omega values fixed
    to zero no longer fails (#359)

  • Add back values for $parHistData (#368)

  • This requires a new rxode2 which will fix multiple endpoint issues observed (#394)

  • Manual back-transformed values in $parFixed are now displaying
    correctly and are calculated based on the confidence interval in the
    control instead of 95% confidence no matter what (#397)

Other changes

  • An as.rxUi() method was added for fit models (#377)

What's Changed

Full Changelog: v2.1.8...v2.2.0

v2.1.8

10 Oct 11:25
d346bc1
Compare
Choose a tag to compare

nlmixr2est 2.1.8

  • Version bump and a minor documentation update (same as nlmixr2est
    2.1.7). This version bump is to simply allow correct binary linkage
    to rxode2 2.0.14. Otherwise nlmixr2 models will crash R.

nlmixr2est 2.1.7

  • As requested by CRAN, remove Rvmmin

  • Values in $parFixed for BSV without exponential transformation are now
    correctly shown (#366)

v2.1.7

19 Sep 01:44
1875462
Compare
Choose a tag to compare
  • As requested by CRAN, remove Rvmmin

  • Fix SD calculation typo (#366)

v2.1.6

26 May 02:57
95d7f6f
Compare
Choose a tag to compare

Breaking changes

  • Since rxode2 now allows simulation with omega having diagonal
    zero elements, $omega and $omegaR now reflects this information
    including the zero omega elements in the output. On the other hand,
    the other eta-information and standard error information for zero
    etas are still excluded in $phiR, $phiSE, $eta etc.

Bug fixes

  • vpcSim() works when an eta value is fixed to 0 (#341)

  • augPred() now consistently uses the simulation model (instead of
    the inner model used for CWRES calculation).

What's Changed

New Contributors

Full Changelog: v2.1.5...v2.1.6

v2.1.5

23 Apr 02:58
bca4344
Compare
Choose a tag to compare
  • Add $fitMergeFull, $fitMergInner, $fitMergeLeft,
    $fitMergeRight as a complement to $dataMergeFull,
    $dataMergInner, $dataMergeLeft, $dataMergeRight. The fit
    variants prefer columns in the fit dataset instead of the original
    dataset. This is useful for goodness of fit plots with censoring
    since the DV in the fit simulates values under the ipred/residual
    assumption and will give more appropriate goodness of fits,
    otherwise these values are the limit of whatever censoring is
    applied

  • Moved the mu reference fix for the split mu referenced model here
    (from babelmixr2)

What's Changed

Full Changelog: v2.1.4...v2.1.5

v2.1.4

02 Apr 23:03
fa933ac
Compare
Choose a tag to compare

nlmixr2est 2.1.4

  • Breaking change, now calculate condition number based on covariance
    and correlation, the names have changed to be more explicit.
    conditionNumber changed to conditionNumberCov and a new metric
    conditionNumberCor has been added.

  • A bug in boundary value detection prevented automatic covariance calculation
    with FOCEi estimation (#318)

  • Fix vpcSim so that it will be a bit more robust when it is
    difficult to simulate.

  • A bug in model piping which did not allow models to be appended to was fixed
    (rxode2#364)

  • An internal change was made in nlmixr2.rxUi() to better support the
    babelmixr2 PKNCA estimation method (babelmixr2#75)

  • Fixed bug where $iniUi did not return the initial ui when running
    non focei related methods. Also added alias of $uiIni to the
    same function.

  • Dropped Stan headers for this package, also updated to C++17

What's Changed

Full Changelog: v2.1.3...v2.1.4

v2.1.3

17 Nov 17:48
fd1832b
Compare
Choose a tag to compare

nlmixr2est 2.1.3

  • Allows $etaH and related family to be integrated into a saem fit
    if cwres is calculated.

  • Fixed a bug where nlmixrLlikObs in the merged dataset is sometimes
    named llikObs, now it is always named nlmixrLlikObs

  • Fixed a bug where nlmixrLlikObs shows up in merged dataset when
    cwres is not calculated (it was always 0), also allow cwres
    calculation to pick up nlmixrLlikObs in merged dataset.

  • Dropped dparser dependency

What's Changed

  • 282 $etah not available for saem needs cwres but doesnt pull over standard errors by @mattfidler in #283
  • 284 include log likelihood per observation when adding cwres by @mattfidler in #285
  • Test nonmu and add test case for merge (and unsuccesful merge) by @mattfidler in #288

Full Changelog: https://github.com/nlmixr2/nlmixr2est/compare/v2.1.2...v2.1.3###

v2.1.2

02 Nov 11:35
fca6747
Compare
Choose a tag to compare

nlmixr2est 2.1.2

  • Fixes $etaH memory corruption so the standard errors of etas are now correct

  • Removed the memory requirements for focei by neta*neta*nsub

  • Fixed character based covariates so the work correctly (again) with
    focei. Added a test for this as well.

What's Changed

Full Changelog: v2.1.0...v2.1.2

v2.1.0

19 Oct 20:42
db89e7f
Compare
Choose a tag to compare

nlmixr2est 2.1.0

Breaking changes

FOCEi

  • Gill forward differences will not repeat now (by default), You can
    change back to prior behavior with foceiControl(repeatGillMax=3)

  • Number of sticky recalculation is reduced to 4; to have the old
    behavior use foceiControl(stickyRecalcN=5)

  • n2ll has been changed to ll to specify individual
    log-likelihoods. This was only used in simulation and was not well
    documented.

  • Generalized log-likelihood is only supported with rxode2 2.0.8 or later.

FOCEi covariance calculation

  • The S matrix calculation was made a bit more robust to errors in
    individual gradients. When there are errors in the individual
    gradient calculation, assume the gradient is the same as the
    overall gradient. In the tests cases, were reasonable using this
    adjusted S matrix. This means if some individuals do not have very
    much data to support a specific parameter, a S matrix calculation
    for the population will still be generated. When there is some
    patients/subject combinations that do not have sufficient data, we
    will add the following to the run information: S matrix had problems solving for some subject and parameters. The S matrix
    calculation will still fail if the percentage of parameters that
    are being reset is lower than foceiControl(smatPer=0.6) or
    whatever you specify.

  • The r,s covariance matrix will now also check for unreasonably
    small values (controlled by foceiControl(covSmall=...)) and
    select a different covariance estimate method even when the "r" and
    "s" matrices are calculated "correctly".

New features

  • What type(s) censoring (if any) is now stored in fit$censInformation

  • Standard errors of $etas can now be obtained with fit$phiSE,
    also available are fit$phiRSE (relative standard error),
    fit$phiH, (individual hessian), fit$phiC (individual
    covariances), fit$phiR (individual correlation matrices)

  • Can also use Shi 2021 differences in addition to Gill differences.
    In our tests (using the same datasets as CPT) these produced worse
    estimates than the Gill 1983, though it is unclear why since it
    should be a faster more accurate method. A modified version is used
    in calculating the individual Hessians of numerically for the
    generalized likelihood approach.

  • Generalized likelihood estimation is now present in nlmixr2est for
    focei, foce and posthoc

  • nmNearPD() is a function you may use for nearest positive definite
    matrix. This is derived from Matrix::nearPD() but is implemented
    in C/C++ to be used in (possibly threaded) optimization.

  • Individual Hessians can be accessed by $phiH, covariance by
    $phiC, eta standard errors by $phiSE and eta RSEs can be
    accessed by $phiRSE. There are eta aliases for these as well
    ($etaH, $etaC, $etaSE, and $etaRSE).

  • Can now access the individual point's contribution to the overall
    likelihood when merging to the original dataset. These merges can be
    accessed with $dataMergeFull, $dataMergeLeft, $dataMergeRight,
    and $dataMergeInner. The columns with the individual data column
    is nlmixrLlikObs.

    To calculate the total focei/foce objective function, the sum of the
    likelihoods still need to be adjusted by the omega/eta contribution,
    and the individual Hessians, and possibly the NONMEM objective
    function offset constant.

Censoring fixes

  • Fixed bug where datasets with censoring that are not lower case cens and limit do not
    produce the correct table output (#180)

FOCEi updates

  • Resets now scale properly when a value is simulated outside the limit
  • Models with zero gradients on the first step now switch to bobyqa
    by default. With this, it is more important to examine the model
    parameters and fits for plausibility.

What's Changed

Full Changelog: v2.0.8...v2.1.0