From fd205e13061de8abc595d266f3b0c7650773d442 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Fri, 16 Sep 2022 21:06:54 +0200 Subject: Improve multistart documentation, bugfix - Split out llhist and parhist documentation - Add example code for multistart - Create a multistart vignette, because the example code fails when run by pkgdown - Fix multistart for the case of mkin transformations in the saem fit --- docs/dev/articles/index.html | 7 +- docs/dev/articles/web_only/multistart.html | 172 +++++++++++++++++++++ .../accessible-code-block-0.0.1/empty-anchor.js | 15 ++ .../figure-html/unnamed-chunk-2-1.png | Bin 0 -> 52067 bytes .../figure-html/unnamed-chunk-3-1.png | Bin 0 -> 50142 bytes docs/dev/authors.html | 5 +- docs/dev/index.html | 5 +- docs/dev/news/index.html | 5 +- docs/dev/pkgdown.yml | 3 +- docs/dev/reference/index.html | 15 +- docs/dev/reference/llhist.html | 147 ++++++++++++++++++ docs/dev/reference/multistart.html | 64 +++++--- docs/dev/reference/parhist.html | 156 +++++++++++++++++++ docs/dev/sitemap.xml | 9 ++ 14 files changed, 576 insertions(+), 27 deletions(-) create mode 100644 docs/dev/articles/web_only/multistart.html create mode 100644 docs/dev/articles/web_only/multistart_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-2-1.png create mode 100644 docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png create mode 100644 docs/dev/reference/llhist.html create mode 100644 docs/dev/reference/parhist.html (limited to 'docs/dev') diff --git a/docs/dev/articles/index.html b/docs/dev/articles/index.html index 526708a4..551e9c98 100644 --- a/docs/dev/articles/index.html +++ b/docs/dev/articles/index.html @@ -44,11 +44,14 @@ Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models
  • - Example evaluation of FOCUS Example Dataset Z + Short demo of the multistart method
  • Performance benefit by using compiled model definitions in mkin
  • +
  • + Example evaluation of FOCUS Example Dataset Z +
  • Calculation of time weighted average concentrations with mkin
  • @@ -102,6 +105,8 @@
    Example evaluations of the dimethenamid data from 2018
    +
    Short demo of the multistart method
    +
    diff --git a/docs/dev/articles/web_only/multistart.html b/docs/dev/articles/web_only/multistart.html new file mode 100644 index 00000000..a119a0d6 --- /dev/null +++ b/docs/dev/articles/web_only/multistart.html @@ -0,0 +1,172 @@ + + + + + + + +Short demo of the multistart method • mkin + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +

    This is a vignette, because the multistart method does not seem to work in pkgdown example code and I wanted to show the plots in the online docs. The dimethenamid data from 2018 from seven soils is used as example data.

    +
    +library(mkin)
    +dmta_ds <- lapply(1:7, function(i) {
    +  ds_i <- dimethenamid_2018$ds[[i]]$data
    +  ds_i[ds_i$name == "DMTAP", "name"] <-  "DMTA"
    +  ds_i$time <- ds_i$time * dimethenamid_2018$f_time_norm[i]
    +  ds_i
    +})
    +names(dmta_ds) <- sapply(dimethenamid_2018$ds, function(ds) ds$title)
    +dmta_ds[["Elliot"]] <- rbind(dmta_ds[["Elliot 1"]], dmta_ds[["Elliot 2"]])
    +dmta_ds[["Elliot 1"]] <- dmta_ds[["Elliot 2"]] <- NULL
    +

    First, we check the DFOP model with the two-component error model and random effects for all degradation parameters.

    +
    +f_mmkin <- mmkin("DFOP", dmta_ds, error_model = "tc", cores = 7, quiet = TRUE)
    +f_saem_full <- saem(f_mmkin)
    +f_saem_full_multi <- multistart(f_saem_full, n = 16, cores = 16)
    +parhist(f_saem_full_multi, lpos = "bottomright")
    +

    +

    We see that not all variability parameters are identifiable, most problematic is the variance of k2. So we reduce the parameter distribution model by removing the intersoil variability for this parameter.

    +
    +f_saem_reduced <- update(f_saem_full, covariance.model = diag(c(1, 1, 0, 1)))
    +f_saem_reduced_multi <- multistart(f_saem_reduced, n = 16, cores = 16)
    +parhist(f_saem_reduced_multi, lpos = "bottomright")
    +

    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.6.

    +
    + +
    +
    + + + + + + + + diff --git a/docs/dev/articles/web_only/multistart_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/dev/articles/web_only/multistart_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 00000000..ca349fd6 --- /dev/null +++ b/docs/dev/articles/web_only/multistart_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-2-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-2-1.png new file mode 100644 index 00000000..e30e56f0 Binary files /dev/null and b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-2-1.png differ diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png new file mode 100644 index 00000000..3ed0d546 Binary files /dev/null and b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png differ diff --git a/docs/dev/authors.html b/docs/dev/authors.html index 60053796..35ae54bd 100644 --- a/docs/dev/authors.html +++ b/docs/dev/authors.html @@ -44,11 +44,14 @@ Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models
  • - Example evaluation of FOCUS Example Dataset Z + Short demo of the multistart method
  • Performance benefit by using compiled model definitions in mkin
  • +
  • + Example evaluation of FOCUS Example Dataset Z +
  • Calculation of time weighted average concentrations with mkin
  • diff --git a/docs/dev/index.html b/docs/dev/index.html index 7d3abbb2..5257b590 100644 --- a/docs/dev/index.html +++ b/docs/dev/index.html @@ -74,11 +74,14 @@ Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models
  • - Example evaluation of FOCUS Example Dataset Z + Short demo of the multistart method
  • Performance benefit by using compiled model definitions in mkin
  • +
  • + Example evaluation of FOCUS Example Dataset Z +
  • Calculation of time weighted average concentrations with mkin
  • diff --git a/docs/dev/news/index.html b/docs/dev/news/index.html index c8863ec6..029b6999 100644 --- a/docs/dev/news/index.html +++ b/docs/dev/news/index.html @@ -44,11 +44,14 @@ Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models
  • - Example evaluation of FOCUS Example Dataset Z + Short demo of the multistart method
  • Performance benefit by using compiled model definitions in mkin
  • +
  • + Example evaluation of FOCUS Example Dataset Z +
  • Calculation of time weighted average concentrations with mkin
  • diff --git a/docs/dev/pkgdown.yml b/docs/dev/pkgdown.yml index 1fee5d96..6cd0f89b 100644 --- a/docs/dev/pkgdown.yml +++ b/docs/dev/pkgdown.yml @@ -11,7 +11,8 @@ articles: benchmarks: web_only/benchmarks.html compiled_models: web_only/compiled_models.html dimethenamid_2018: web_only/dimethenamid_2018.html -last_built: 2022-09-16T08:50Z + multistart: web_only/multistart.html +last_built: 2022-09-16T19:00Z urls: reference: https://pkgdown.jrwb.de/mkin/reference article: https://pkgdown.jrwb.de/mkin/articles diff --git a/docs/dev/reference/index.html b/docs/dev/reference/index.html index 3372a69a..b7a5de92 100644 --- a/docs/dev/reference/index.html +++ b/docs/dev/reference/index.html @@ -44,11 +44,14 @@ Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models
  • - Example evaluation of FOCUS Example Dataset Z + Short demo of the multistart method
  • Performance benefit by using compiled model definitions in mkin
  • +
  • + Example evaluation of FOCUS Example Dataset Z +
  • Calculation of time weighted average concentrations with mkin
  • @@ -234,9 +237,17 @@ degradation models and one or more error models

    Confidence intervals for parameters in saem.mmkin objects

    -

    multistart() print(<multistart>) parms(<multistart>) parhist() llhist()

    +

    multistart() print(<multistart>) parms(<multistart>)

    Perform a hierarchical model fit with multiple starting values

    + +

    llhist()

    + +

    Plot the distribution of log likelihoods from multistart objects

    + +

    parhist()

    + +

    Plot parameter distributions from multistart objects

    Datasets and known results

    diff --git a/docs/dev/reference/llhist.html b/docs/dev/reference/llhist.html new file mode 100644 index 00000000..2eb77a82 --- /dev/null +++ b/docs/dev/reference/llhist.html @@ -0,0 +1,147 @@ + +Plot the distribution of log likelihoods from multistart objects — llhist • mkin + + +
    +
    + + + +
    +
    + + +
    +

    Produces a histogram of log-likelihoods, and an overlayed kernel density +estimate. In addition, the likelihood of the original fit is shown as +a red vertical line.

    +
    + +
    +
    llhist(object, breaks = "Sturges", lpos = "topleft", main = "", ...)
    +
    + +
    +

    Arguments

    +
    object
    +

    The multistart object

    + + +
    breaks
    +

    Passed to hist

    + + +
    lpos
    +

    Positioning of the legend.

    + + +
    main
    +

    Title of the plot

    + + +
    ...
    +

    Passed to hist

    + +
    +
    +

    See also

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.6.

    +
    + +
    + + + + + + + + diff --git a/docs/dev/reference/multistart.html b/docs/dev/reference/multistart.html index 9f2d297e..c85e6d1e 100644 --- a/docs/dev/reference/multistart.html +++ b/docs/dev/reference/multistart.html @@ -49,11 +49,14 @@ mixed-effects models by Duchesne et al (2021).">Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models
  • - Example evaluation of FOCUS Example Dataset Z + Short demo of the multistart method
  • Performance benefit by using compiled model definitions in mkin
  • +
  • + Example evaluation of FOCUS Example Dataset Z +
  • Calculation of time weighted average concentrations with mkin
  • @@ -106,11 +109,7 @@ mixed-effects models by Duchesne et al (2021).

    print(x, ...) # S3 method for multistart -parms(object, ...) - -parhist(object, lpos = "topleft", main = "", ...) - -llhist(object, breaks = "Sturges", lpos = "topleft", main = "", ...) +parms(object, ...)
    @@ -129,25 +128,12 @@ used?

    ...
    -

    Passed to the update function, or to the basic plotting -function in the case of the graphical functions.

    +

    Passed to the update function.

    x

    The multistart object to print

    - -
    lpos
    -

    Positioning of the legend.

    - - -
    main
    -

    title of the plot

    - - -
    breaks
    -

    Passed to hist

    -

    Value

    @@ -160,6 +146,11 @@ function in the case of the graphical functions.

    Details

    Currently, parallel execution of the fits is only supported using parallel::mclapply, i.e. not available on Windows.

    +

    In case the online version of this help page contains error messages +in the example code and no plots, this is due to the multistart method +not working when called by pkgdown. Please refer to the +online vignette +in this case.

    References

    @@ -168,7 +159,40 @@ identifiability in the frame of nonlinear mixed effects models: the example of the in vitro erythropoiesis. BMC Bioinformatics. 2021 Oct 4;22(1):478. doi: 10.1186/s12859-021-04373-4.

    +
    +

    See also

    + +
    +
    +

    Examples

    +
    # \dontrun{
    +library(mkin)
    +dmta_ds <- lapply(1:7, function(i) {
    +  ds_i <- dimethenamid_2018$ds[[i]]$data
    +  ds_i[ds_i$name == "DMTAP", "name"] <-  "DMTA"
    +  ds_i$time <- ds_i$time * dimethenamid_2018$f_time_norm[i]
    +  ds_i
    +})
    +names(dmta_ds) <- sapply(dimethenamid_2018$ds, function(ds) ds$title)
    +dmta_ds[["Elliot"]] <- rbind(dmta_ds[["Elliot 1"]], dmta_ds[["Elliot 2"]])
    +dmta_ds[["Elliot 1"]] <- dmta_ds[["Elliot 2"]] <- NULL
    +
    +f_mmkin <- mmkin("DFOP", dmta_ds, error_model = "tc", cores = 7, quiet = TRUE)
    +f_saem_full <- saem(f_mmkin)
    +f_saem_full_multi <- multistart(f_saem_full, n = 16, cores = 16)
    +#> Warning: all scheduled cores encountered errors in user code
    +parhist(f_saem_full_multi, lpos = "bottomright")
    +#> Error in UseMethod("parms", object): no applicable method for 'parms' applied to an object of class "try-error"
    +
    +f_saem_reduced <- update(f_saem_full, covariance.model = diag(c(1, 1, 0, 1)))
    +f_saem_reduced_multi <- multistart(f_saem_reduced, n = 16, cores = 16)
    +#> Warning: all scheduled cores encountered errors in user code
    +parhist(f_saem_reduced_multi, lpos = "bottomright")
    +#> Error in UseMethod("parms", object): no applicable method for 'parms' applied to an object of class "try-error"
    +# }
    +
    +