diff options
Diffstat (limited to 'docs/dev/articles/prebuilt/2022_dmta_parent.html')
-rw-r--r-- | docs/dev/articles/prebuilt/2022_dmta_parent.html | 2166 |
1 files changed, 2166 insertions, 0 deletions
diff --git a/docs/dev/articles/prebuilt/2022_dmta_parent.html b/docs/dev/articles/prebuilt/2022_dmta_parent.html new file mode 100644 index 00000000..d900cf00 --- /dev/null +++ b/docs/dev/articles/prebuilt/2022_dmta_parent.html @@ -0,0 +1,2166 @@ +<!DOCTYPE html> +<!-- Generated by pkgdown: do not edit by hand --><html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<title>Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P • mkin</title> +<script src="../../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<link href="../../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"> +<script src="../../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"> +<link href="../../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"> +<script src="../../deps/headroom-0.11.0/headroom.min.js"></script><script src="../../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../../deps/search-1.0.0/fuse.min.js"></script><script src="../../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../../pkgdown.js"></script><meta property="og:title" content="Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P"> +<meta name="robots" content="noindex"> +</head> +<body> + <a href="#main" class="visually-hidden-focusable">Skip to contents</a> + + + <nav class="navbar navbar-expand-lg fixed-top bg-light" data-bs-theme="default" aria-label="Site navigation"><div class="container"> + + <a class="navbar-brand me-2" href="../../index.html">mkin</a> + + <small class="nav-text text-info me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="In-development version">1.2.10</small> + + + <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + + <div id="navbar" class="collapse navbar-collapse ms-3"> + <ul class="navbar-nav me-auto"> +<li class="nav-item"><a class="nav-link" href="../../reference/index.html">Reference</a></li> +<li class="active nav-item dropdown"> + <button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button> + <ul class="dropdown-menu" aria-labelledby="dropdown-articles"> +<li><a class="dropdown-item" href="../../articles/mkin.html">Introduction to mkin</a></li> + <li><hr class="dropdown-divider"></li> + <li><h6 class="dropdown-header" data-toc-skip>Example evaluations with (generalised) nonlinear least squares</h6></li> + <li><a class="dropdown-item" href="../../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a></li> + <li><a class="dropdown-item" href="../../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a></li> + <li><a class="dropdown-item" href="../../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a></li> + <li><hr class="dropdown-divider"></li> + <li><h6 class="dropdown-header" data-toc-skip>Example evaluations with hierarchical models (nonlinear mixed-effects models)</h6></li> + <li><a class="dropdown-item" href="../../articles/prebuilt/2022_dmta_parent.html">Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P</a></li> + <li><a class="dropdown-item" href="../../articles/prebuilt/2022_dmta_pathway.html">Testing hierarchical pathway kinetics with residue data on dimethenamid and dimethenamid-P</a></li> + <li><a class="dropdown-item" href="../../articles/prebuilt/2023_mesotrione_parent.html">Testing covariate modelling in hierarchical parent degradation kinetics with residue data on mesotrione</a></li> + <li><a class="dropdown-item" href="../../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a></li> + <li><a class="dropdown-item" href="../../articles/web_only/dimethenamid_2018.html">Comparison of saemix and nlme evaluations of dimethenamid data from 2018</a></li> + <li><a class="dropdown-item" href="../../articles/web_only/multistart.html">Short demo of the multistart method</a></li> + <li><hr class="dropdown-divider"></li> + <li><h6 class="dropdown-header" data-toc-skip>Performance</h6></li> + <li><a class="dropdown-item" href="../../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a></li> + <li><a class="dropdown-item" href="../../articles/web_only/benchmarks.html">Benchmark timings for mkin</a></li> + <li><a class="dropdown-item" href="../../articles/web_only/saem_benchmarks.html">Benchmark timings for saem.mmkin</a></li> + <li><hr class="dropdown-divider"></li> + <li><h6 class="dropdown-header" data-toc-skip>Miscellaneous</h6></li> + <li><a class="dropdown-item" href="../../articles/twa.html">Calculation of time weighted average concentrations with mkin</a></li> + <li><a class="dropdown-item" href="../../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a></li> + </ul> +</li> +<li class="nav-item"><a class="nav-link" href="../../coverage/coverage.html">Test coverage</a></li> +<li class="nav-item"><a class="nav-link" href="../../news/index.html">News</a></li> + </ul> +<ul class="navbar-nav"> +<li class="nav-item"><form class="form-inline" role="search"> + <input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../../search.json"> +</form></li> +<li class="nav-item"><a class="external-link nav-link" href="https://github.com/jranke/mkin/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li> + </ul> +</div> + + + </div> +</nav><div class="container template-article"> + + + + +<div class="row"> + <main id="main" class="col-md-9"><div class="page-header"> + + <h1>Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P</h1> + <h4 data-toc-skip class="author">Johannes +Ranke</h4> + + <h4 data-toc-skip class="date">Last change on 5 January +2023, last compiled on 14 Februar 2025</h4> + + <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/vignettes/prebuilt/2022_dmta_parent.rmd" class="external-link"><code>vignettes/prebuilt/2022_dmta_parent.rmd</code></a></small> + <div class="d-none name"><code>2022_dmta_parent.rmd</code></div> + </div> + + + +<div class="section level2"> +<h2 id="introduction">Introduction<a class="anchor" aria-label="anchor" href="#introduction"></a> +</h2> +<p>The purpose of this document is to demonstrate how nonlinear +hierarchical models (NLHM) based on the parent degradation models SFO, +FOMC, DFOP and HS can be fitted with the mkin package.</p> +<p>It was assembled in the course of work package 1.1 of Project Number +173340 (Application of nonlinear hierarchical models to the kinetic +evaluation of chemical degradation data) of the German Environment +Agency carried out in 2022 and 2023.</p> +<p>The mkin package is used in version 1.2.10. It contains the test data +and the functions used in the evaluations. The <code>saemix</code> +package is used as a backend for fitting the NLHM, but is also loaded to +make the convergence plot function available.</p> +<p>This document is processed with the <code>knitr</code> package, which +also provides the <code>kable</code> function that is used to improve +the display of tabular data in R markdown documents. For parallel +processing, the <code>parallel</code> package is used.</p> +<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://pkgdown.jrwb.de/mkin/">mkin</a></span><span class="op">)</span></span> +<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://yihui.org/knitr/" class="external-link">knitr</a></span><span class="op">)</span></span> +<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va">saemix</span><span class="op">)</span></span> +<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va">parallel</span><span class="op">)</span></span> +<span><span class="va">n_cores</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/parallel/detectCores.html" class="external-link">detectCores</a></span><span class="op">(</span><span class="op">)</span></span> +<span><span class="kw">if</span> <span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/Sys.info.html" class="external-link">Sys.info</a></span><span class="op">(</span><span class="op">)</span><span class="op">[</span><span class="st">"sysname"</span><span class="op">]</span> <span class="op">==</span> <span class="st">"Windows"</span><span class="op">)</span> <span class="op">{</span></span> +<span> <span class="va">cl</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/parallel/makeCluster.html" class="external-link">makePSOCKcluster</a></span><span class="op">(</span><span class="va">n_cores</span><span class="op">)</span></span> +<span><span class="op">}</span> <span class="kw">else</span> <span class="op">{</span></span> +<span> <span class="va">cl</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/parallel/makeCluster.html" class="external-link">makeForkCluster</a></span><span class="op">(</span><span class="va">n_cores</span><span class="op">)</span></span> +<span><span class="op">}</span></span></code></pre></div> +</div> +<div class="section level2"> +<h2 id="data">Data<a class="anchor" aria-label="anchor" href="#data"></a> +</h2> +<p>The test data are available in the mkin package as an object of class +<code>mkindsg</code> (mkin dataset group) under the identifier +<code>dimethenamid_2018</code>. The following preprocessing steps are +still necessary:</p> +<ul> +<li>The data available for the enantiomer dimethenamid-P (DMTAP) are +renamed to have the same substance name as the data for the racemic +mixture dimethenamid (DMTA). The reason for this is that no difference +between their degradation behaviour was identified in the EU risk +assessment.</li> +<li>The data for transformation products and unnecessary columns are +discarded</li> +<li>The observation times of each dataset are multiplied with the +corresponding normalisation factor also available in the dataset, in +order to make it possible to describe all datasets with a single set of +parameters that are independent of temperature</li> +<li>Finally, datasets observed in the same soil (<code>Elliot 1</code> +and <code>Elliot 2</code>) are combined, resulting in dimethenamid +(DMTA) data from six soils.</li> +</ul> +<p>The following commented R code performs this preprocessing.</p> +<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="co"># Apply a function to each of the seven datasets in the mkindsg object to create a list</span></span> +<span><span class="va">dmta_ds</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html" class="external-link">lapply</a></span><span class="op">(</span><span class="fl">1</span><span class="op">:</span><span class="fl">7</span>, <span class="kw">function</span><span class="op">(</span><span class="va">i</span><span class="op">)</span> <span class="op">{</span></span> +<span> <span class="va">ds_i</span> <span class="op"><-</span> <span class="va">dimethenamid_2018</span><span class="op">$</span><span class="va">ds</span><span class="op">[[</span><span class="va">i</span><span class="op">]</span><span class="op">]</span><span class="op">$</span><span class="va">data</span> <span class="co"># Get a dataset</span></span> +<span> <span class="va">ds_i</span><span class="op">[</span><span class="va">ds_i</span><span class="op">$</span><span class="va">name</span> <span class="op">==</span> <span class="st">"DMTAP"</span>, <span class="st">"name"</span><span class="op">]</span> <span class="op"><-</span> <span class="st">"DMTA"</span> <span class="co"># Rename DMTAP to DMTA</span></span> +<span> <span class="va">ds_i</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/subset.html" class="external-link">subset</a></span><span class="op">(</span><span class="va">ds_i</span>, <span class="va">name</span> <span class="op">==</span> <span class="st">"DMTA"</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"name"</span>, <span class="st">"time"</span>, <span class="st">"value"</span><span class="op">)</span><span class="op">)</span> <span class="co"># Select data</span></span> +<span> <span class="va">ds_i</span><span class="op">$</span><span class="va">time</span> <span class="op"><-</span> <span class="va">ds_i</span><span class="op">$</span><span class="va">time</span> <span class="op">*</span> <span class="va">dimethenamid_2018</span><span class="op">$</span><span class="va">f_time_norm</span><span class="op">[</span><span class="va">i</span><span class="op">]</span> <span class="co"># Normalise time</span></span> +<span> <span class="va">ds_i</span> <span class="co"># Return the dataset</span></span> +<span><span class="op">}</span><span class="op">)</span></span> +<span></span> +<span><span class="co"># Use dataset titles as names for the list elements</span></span> +<span><span class="fu"><a href="https://rdrr.io/r/base/names.html" class="external-link">names</a></span><span class="op">(</span><span class="va">dmta_ds</span><span class="op">)</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html" class="external-link">sapply</a></span><span class="op">(</span><span class="va">dimethenamid_2018</span><span class="op">$</span><span class="va">ds</span>, <span class="kw">function</span><span class="op">(</span><span class="va">ds</span><span class="op">)</span> <span class="va">ds</span><span class="op">$</span><span class="va">title</span><span class="op">)</span></span> +<span></span> +<span><span class="co"># Combine data for Elliot soil to obtain a named list with six elements</span></span> +<span><span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Elliot"</span><span class="op">]</span><span class="op">]</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/cbind.html" class="external-link">rbind</a></span><span class="op">(</span><span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Elliot 1"</span><span class="op">]</span><span class="op">]</span>, <span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Elliot 2"</span><span class="op">]</span><span class="op">]</span><span class="op">)</span> <span class="co">#</span></span> +<span><span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Elliot 1"</span><span class="op">]</span><span class="op">]</span> <span class="op"><-</span> <span class="cn">NULL</span></span> +<span><span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Elliot 2"</span><span class="op">]</span><span class="op">]</span> <span class="op"><-</span> <span class="cn">NULL</span></span></code></pre></div> +<p>The following tables show the 6 datasets.</p> +<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="kw">for</span> <span class="op">(</span><span class="va">ds_name</span> <span class="kw">in</span> <span class="fu"><a href="https://rdrr.io/r/base/names.html" class="external-link">names</a></span><span class="op">(</span><span class="va">dmta_ds</span><span class="op">)</span><span class="op">)</span> <span class="op">{</span></span> +<span> <span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span><span class="fu"><a href="../../reference/mkin_long_to_wide.html">mkin_long_to_wide</a></span><span class="op">(</span><span class="va">dmta_ds</span><span class="op">[[</span><span class="va">ds_name</span><span class="op">]</span><span class="op">]</span><span class="op">)</span>,</span> +<span> caption <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/paste.html" class="external-link">paste</a></span><span class="op">(</span><span class="st">"Dataset"</span>, <span class="va">ds_name</span><span class="op">)</span>,</span> +<span> label <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/paste.html" class="external-link">paste0</a></span><span class="op">(</span><span class="st">"tab:"</span>, <span class="va">ds_name</span><span class="op">)</span>, booktabs <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span><span class="op">)</span></span> +<span> <span class="fu"><a href="https://rdrr.io/r/base/cat.html" class="external-link">cat</a></span><span class="op">(</span><span class="st">"\n\\clearpage\n"</span><span class="op">)</span></span> +<span><span class="op">}</span></span></code></pre></div> +<table class="table"> +<caption>Dataset Calke</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0</td> +<td align="right">95.8</td> +</tr> +<tr class="even"> +<td align="right">0</td> +<td align="right">98.7</td> +</tr> +<tr class="odd"> +<td align="right">14</td> +<td align="right">60.5</td> +</tr> +<tr class="even"> +<td align="right">30</td> +<td align="right">39.1</td> +</tr> +<tr class="odd"> +<td align="right">59</td> +<td align="right">15.2</td> +</tr> +<tr class="even"> +<td align="right">120</td> +<td align="right">4.8</td> +</tr> +<tr class="odd"> +<td align="right">120</td> +<td align="right">4.6</td> +</tr> +</tbody> +</table> +<table class="table"> +<caption>Dataset Borstel</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0.000000</td> +<td align="right">100.5</td> +</tr> +<tr class="even"> +<td align="right">0.000000</td> +<td align="right">99.6</td> +</tr> +<tr class="odd"> +<td align="right">1.941295</td> +<td align="right">91.9</td> +</tr> +<tr class="even"> +<td align="right">1.941295</td> +<td align="right">91.3</td> +</tr> +<tr class="odd"> +<td align="right">6.794534</td> +<td align="right">81.8</td> +</tr> +<tr class="even"> +<td align="right">6.794534</td> +<td align="right">82.1</td> +</tr> +<tr class="odd"> +<td align="right">13.589067</td> +<td align="right">69.1</td> +</tr> +<tr class="even"> +<td align="right">13.589067</td> +<td align="right">68.0</td> +</tr> +<tr class="odd"> +<td align="right">27.178135</td> +<td align="right">51.4</td> +</tr> +<tr class="even"> +<td align="right">27.178135</td> +<td align="right">51.4</td> +</tr> +<tr class="odd"> +<td align="right">56.297565</td> +<td align="right">27.6</td> +</tr> +<tr class="even"> +<td align="right">56.297565</td> +<td align="right">26.8</td> +</tr> +<tr class="odd"> +<td align="right">86.387643</td> +<td align="right">15.7</td> +</tr> +<tr class="even"> +<td align="right">86.387643</td> +<td align="right">15.3</td> +</tr> +<tr class="odd"> +<td align="right">115.507073</td> +<td align="right">7.9</td> +</tr> +<tr class="even"> +<td align="right">115.507073</td> +<td align="right">8.1</td> +</tr> +</tbody> +</table> +<table class="table"> +<caption>Dataset Flaach</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0.0000000</td> +<td align="right">96.5</td> +</tr> +<tr class="even"> +<td align="right">0.0000000</td> +<td align="right">96.8</td> +</tr> +<tr class="odd"> +<td align="right">0.0000000</td> +<td align="right">97.0</td> +</tr> +<tr class="even"> +<td align="right">0.6233856</td> +<td align="right">82.9</td> +</tr> +<tr class="odd"> +<td align="right">0.6233856</td> +<td align="right">86.7</td> +</tr> +<tr class="even"> +<td align="right">0.6233856</td> +<td align="right">87.4</td> +</tr> +<tr class="odd"> +<td align="right">1.8701567</td> +<td align="right">72.8</td> +</tr> +<tr class="even"> +<td align="right">1.8701567</td> +<td align="right">69.9</td> +</tr> +<tr class="odd"> +<td align="right">1.8701567</td> +<td align="right">71.9</td> +</tr> +<tr class="even"> +<td align="right">4.3636989</td> +<td align="right">51.4</td> +</tr> +<tr class="odd"> +<td align="right">4.3636989</td> +<td align="right">52.9</td> +</tr> +<tr class="even"> +<td align="right">4.3636989</td> +<td align="right">48.6</td> +</tr> +<tr class="odd"> +<td align="right">8.7273979</td> +<td align="right">28.5</td> +</tr> +<tr class="even"> +<td align="right">8.7273979</td> +<td align="right">27.3</td> +</tr> +<tr class="odd"> +<td align="right">8.7273979</td> +<td align="right">27.5</td> +</tr> +<tr class="even"> +<td align="right">13.0910968</td> +<td align="right">14.8</td> +</tr> +<tr class="odd"> +<td align="right">13.0910968</td> +<td align="right">13.4</td> +</tr> +<tr class="even"> +<td align="right">13.0910968</td> +<td align="right">14.4</td> +</tr> +<tr class="odd"> +<td align="right">17.4547957</td> +<td align="right">7.7</td> +</tr> +<tr class="even"> +<td align="right">17.4547957</td> +<td align="right">7.3</td> +</tr> +<tr class="odd"> +<td align="right">17.4547957</td> +<td align="right">8.1</td> +</tr> +<tr class="even"> +<td align="right">26.1821936</td> +<td align="right">2.0</td> +</tr> +<tr class="odd"> +<td align="right">26.1821936</td> +<td align="right">1.5</td> +</tr> +<tr class="even"> +<td align="right">26.1821936</td> +<td align="right">1.9</td> +</tr> +<tr class="odd"> +<td align="right">34.9095915</td> +<td align="right">1.3</td> +</tr> +<tr class="even"> +<td align="right">34.9095915</td> +<td align="right">1.0</td> +</tr> +<tr class="odd"> +<td align="right">34.9095915</td> +<td align="right">1.1</td> +</tr> +<tr class="even"> +<td align="right">43.6369893</td> +<td align="right">0.9</td> +</tr> +<tr class="odd"> +<td align="right">43.6369893</td> +<td align="right">0.7</td> +</tr> +<tr class="even"> +<td align="right">43.6369893</td> +<td align="right">0.7</td> +</tr> +<tr class="odd"> +<td align="right">52.3643872</td> +<td align="right">0.6</td> +</tr> +<tr class="even"> +<td align="right">52.3643872</td> +<td align="right">0.4</td> +</tr> +<tr class="odd"> +<td align="right">52.3643872</td> +<td align="right">0.5</td> +</tr> +<tr class="even"> +<td align="right">74.8062674</td> +<td align="right">0.4</td> +</tr> +<tr class="odd"> +<td align="right">74.8062674</td> +<td align="right">0.3</td> +</tr> +<tr class="even"> +<td align="right">74.8062674</td> +<td align="right">0.3</td> +</tr> +</tbody> +</table> +<table class="table"> +<caption>Dataset BBA 2.2</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0.0000000</td> +<td align="right">98.09</td> +</tr> +<tr class="even"> +<td align="right">0.0000000</td> +<td align="right">98.77</td> +</tr> +<tr class="odd"> +<td align="right">0.7678922</td> +<td align="right">93.52</td> +</tr> +<tr class="even"> +<td align="right">0.7678922</td> +<td align="right">92.03</td> +</tr> +<tr class="odd"> +<td align="right">2.3036765</td> +<td align="right">88.39</td> +</tr> +<tr class="even"> +<td align="right">2.3036765</td> +<td align="right">87.18</td> +</tr> +<tr class="odd"> +<td align="right">5.3752452</td> +<td align="right">69.38</td> +</tr> +<tr class="even"> +<td align="right">5.3752452</td> +<td align="right">71.06</td> +</tr> +<tr class="odd"> +<td align="right">10.7504904</td> +<td align="right">45.21</td> +</tr> +<tr class="even"> +<td align="right">10.7504904</td> +<td align="right">46.81</td> +</tr> +<tr class="odd"> +<td align="right">16.1257355</td> +<td align="right">30.54</td> +</tr> +<tr class="even"> +<td align="right">16.1257355</td> +<td align="right">30.07</td> +</tr> +<tr class="odd"> +<td align="right">21.5009807</td> +<td align="right">21.60</td> +</tr> +<tr class="even"> +<td align="right">21.5009807</td> +<td align="right">20.41</td> +</tr> +<tr class="odd"> +<td align="right">32.2514711</td> +<td align="right">9.10</td> +</tr> +<tr class="even"> +<td align="right">32.2514711</td> +<td align="right">9.70</td> +</tr> +<tr class="odd"> +<td align="right">43.0019614</td> +<td align="right">6.58</td> +</tr> +<tr class="even"> +<td align="right">43.0019614</td> +<td align="right">6.31</td> +</tr> +<tr class="odd"> +<td align="right">53.7524518</td> +<td align="right">3.47</td> +</tr> +<tr class="even"> +<td align="right">53.7524518</td> +<td align="right">3.52</td> +</tr> +<tr class="odd"> +<td align="right">64.5029421</td> +<td align="right">3.40</td> +</tr> +<tr class="even"> +<td align="right">64.5029421</td> +<td align="right">3.67</td> +</tr> +<tr class="odd"> +<td align="right">91.3791680</td> +<td align="right">1.62</td> +</tr> +<tr class="even"> +<td align="right">91.3791680</td> +<td align="right">1.62</td> +</tr> +</tbody> +</table> +<table class="table"> +<caption>Dataset BBA 2.3</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0.0000000</td> +<td align="right">99.33</td> +</tr> +<tr class="even"> +<td align="right">0.0000000</td> +<td align="right">97.44</td> +</tr> +<tr class="odd"> +<td align="right">0.6733938</td> +<td align="right">93.73</td> +</tr> +<tr class="even"> +<td align="right">0.6733938</td> +<td align="right">93.77</td> +</tr> +<tr class="odd"> +<td align="right">2.0201814</td> +<td align="right">87.84</td> +</tr> +<tr class="even"> +<td align="right">2.0201814</td> +<td align="right">89.82</td> +</tr> +<tr class="odd"> +<td align="right">4.7137565</td> +<td align="right">71.61</td> +</tr> +<tr class="even"> +<td align="right">4.7137565</td> +<td align="right">71.42</td> +</tr> +<tr class="odd"> +<td align="right">9.4275131</td> +<td align="right">45.60</td> +</tr> +<tr class="even"> +<td align="right">9.4275131</td> +<td align="right">45.42</td> +</tr> +<tr class="odd"> +<td align="right">14.1412696</td> +<td align="right">31.12</td> +</tr> +<tr class="even"> +<td align="right">14.1412696</td> +<td align="right">31.68</td> +</tr> +<tr class="odd"> +<td align="right">18.8550262</td> +<td align="right">23.20</td> +</tr> +<tr class="even"> +<td align="right">18.8550262</td> +<td align="right">24.13</td> +</tr> +<tr class="odd"> +<td align="right">28.2825393</td> +<td align="right">9.43</td> +</tr> +<tr class="even"> +<td align="right">28.2825393</td> +<td align="right">9.82</td> +</tr> +<tr class="odd"> +<td align="right">37.7100523</td> +<td align="right">7.08</td> +</tr> +<tr class="even"> +<td align="right">37.7100523</td> +<td align="right">8.64</td> +</tr> +<tr class="odd"> +<td align="right">47.1375654</td> +<td align="right">4.41</td> +</tr> +<tr class="even"> +<td align="right">47.1375654</td> +<td align="right">4.78</td> +</tr> +<tr class="odd"> +<td align="right">56.5650785</td> +<td align="right">4.92</td> +</tr> +<tr class="even"> +<td align="right">56.5650785</td> +<td align="right">5.08</td> +</tr> +<tr class="odd"> +<td align="right">80.1338612</td> +<td align="right">2.13</td> +</tr> +<tr class="even"> +<td align="right">80.1338612</td> +<td align="right">2.23</td> +</tr> +</tbody> +</table> +<table class="table"> +<caption>Dataset Elliot</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0.000000</td> +<td align="right">97.5</td> +</tr> +<tr class="even"> +<td align="right">0.000000</td> +<td align="right">100.7</td> +</tr> +<tr class="odd"> +<td align="right">1.228478</td> +<td align="right">86.4</td> +</tr> +<tr class="even"> +<td align="right">1.228478</td> +<td align="right">88.5</td> +</tr> +<tr class="odd"> +<td align="right">3.685435</td> +<td align="right">69.8</td> +</tr> +<tr class="even"> +<td align="right">3.685435</td> +<td align="right">77.1</td> +</tr> +<tr class="odd"> +<td align="right">8.599349</td> +<td align="right">59.0</td> +</tr> +<tr class="even"> +<td align="right">8.599349</td> +<td align="right">54.2</td> +</tr> +<tr class="odd"> +<td align="right">17.198697</td> +<td align="right">31.3</td> +</tr> +<tr class="even"> +<td align="right">17.198697</td> +<td align="right">33.5</td> +</tr> +<tr class="odd"> +<td align="right">25.798046</td> +<td align="right">19.6</td> +</tr> +<tr class="even"> +<td align="right">25.798046</td> +<td align="right">20.9</td> +</tr> +<tr class="odd"> +<td align="right">34.397395</td> +<td align="right">13.3</td> +</tr> +<tr class="even"> +<td align="right">34.397395</td> +<td align="right">15.8</td> +</tr> +<tr class="odd"> +<td align="right">51.596092</td> +<td align="right">6.7</td> +</tr> +<tr class="even"> +<td align="right">51.596092</td> +<td align="right">8.7</td> +</tr> +<tr class="odd"> +<td align="right">68.794789</td> +<td align="right">8.8</td> +</tr> +<tr class="even"> +<td align="right">68.794789</td> +<td align="right">8.7</td> +</tr> +<tr class="odd"> +<td align="right">103.192184</td> +<td align="right">6.0</td> +</tr> +<tr class="even"> +<td align="right">103.192184</td> +<td align="right">4.4</td> +</tr> +<tr class="odd"> +<td align="right">146.188928</td> +<td align="right">3.3</td> +</tr> +<tr class="even"> +<td align="right">146.188928</td> +<td align="right">2.8</td> +</tr> +<tr class="odd"> +<td align="right">223.583066</td> +<td align="right">1.4</td> +</tr> +<tr class="even"> +<td align="right">223.583066</td> +<td align="right">1.8</td> +</tr> +<tr class="odd"> +<td align="right">0.000000</td> +<td align="right">93.4</td> +</tr> +<tr class="even"> +<td align="right">0.000000</td> +<td align="right">103.2</td> +</tr> +<tr class="odd"> +<td align="right">1.228478</td> +<td align="right">89.2</td> +</tr> +<tr class="even"> +<td align="right">1.228478</td> +<td align="right">86.6</td> +</tr> +<tr class="odd"> +<td align="right">3.685435</td> +<td align="right">78.2</td> +</tr> +<tr class="even"> +<td align="right">3.685435</td> +<td align="right">78.1</td> +</tr> +<tr class="odd"> +<td align="right">8.599349</td> +<td align="right">55.6</td> +</tr> +<tr class="even"> +<td align="right">8.599349</td> +<td align="right">53.0</td> +</tr> +<tr class="odd"> +<td align="right">17.198697</td> +<td align="right">33.7</td> +</tr> +<tr class="even"> +<td align="right">17.198697</td> +<td align="right">33.2</td> +</tr> +<tr class="odd"> +<td align="right">25.798046</td> +<td align="right">20.9</td> +</tr> +<tr class="even"> +<td align="right">25.798046</td> +<td align="right">19.9</td> +</tr> +<tr class="odd"> +<td align="right">34.397395</td> +<td align="right">18.2</td> +</tr> +<tr class="even"> +<td align="right">34.397395</td> +<td align="right">12.7</td> +</tr> +<tr class="odd"> +<td align="right">51.596092</td> +<td align="right">7.8</td> +</tr> +<tr class="even"> +<td align="right">51.596092</td> +<td align="right">9.0</td> +</tr> +<tr class="odd"> +<td align="right">68.794789</td> +<td align="right">11.4</td> +</tr> +<tr class="even"> +<td align="right">68.794789</td> +<td align="right">9.0</td> +</tr> +<tr class="odd"> +<td align="right">103.192184</td> +<td align="right">3.9</td> +</tr> +<tr class="even"> +<td align="right">103.192184</td> +<td align="right">4.4</td> +</tr> +<tr class="odd"> +<td align="right">146.188928</td> +<td align="right">2.6</td> +</tr> +<tr class="even"> +<td align="right">146.188928</td> +<td align="right">3.4</td> +</tr> +<tr class="odd"> +<td align="right">223.583066</td> +<td align="right">2.0</td> +</tr> +<tr class="even"> +<td align="right">223.583066</td> +<td align="right">1.7</td> +</tr> +</tbody> +</table> +</div> +<div class="section level2"> +<h2 id="separate-evaluations">Separate evaluations<a class="anchor" aria-label="anchor" href="#separate-evaluations"></a> +</h2> +<p>In order to obtain suitable starting parameters for the NLHM fits, +separate fits of the four models to the data for each soil are generated +using the <code>mmkin</code> function from the <code>mkin</code> +package. In a first step, constant variance is assumed. Convergence is +checked with the <code>status</code> function.</p> +<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">deg_mods</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"FOMC"</span>, <span class="st">"DFOP"</span>, <span class="st">"HS"</span><span class="op">)</span></span> +<span><span class="va">f_sep_const</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mmkin.html">mmkin</a></span><span class="op">(</span></span> +<span> <span class="va">deg_mods</span>,</span> +<span> <span class="va">dmta_ds</span>,</span> +<span> error_model <span class="op">=</span> <span class="st">"const"</span>,</span> +<span> quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span> +<span></span> +<span><span class="fu"><a href="../../reference/status.html">status</a></span><span class="op">(</span><span class="va">f_sep_const</span><span class="op">)</span> <span class="op">|></span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<thead><tr class="header"> +<th align="left"></th> +<th align="left">Calke</th> +<th align="left">Borstel</th> +<th align="left">Flaach</th> +<th align="left">BBA 2.2</th> +<th align="left">BBA 2.3</th> +<th align="left">Elliot</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">SFO</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">FOMC</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="odd"> +<td align="left">DFOP</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">HS</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">C</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +</tbody> +</table> +<p>In the table above, OK indicates convergence, and C indicates failure +to converge. All separate fits with constant variance converged, with +the sole exception of the HS fit to the BBA 2.2 data. To prepare for +fitting NLHM using the two-component error model, the separate fits are +updated assuming two-component error.</p> +<div class="sourceCode" id="cb5"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">f_sep_tc</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/stats/update.html" class="external-link">update</a></span><span class="op">(</span><span class="va">f_sep_const</span>, error_model <span class="op">=</span> <span class="st">"tc"</span><span class="op">)</span></span> +<span><span class="fu"><a href="../../reference/status.html">status</a></span><span class="op">(</span><span class="va">f_sep_tc</span><span class="op">)</span> <span class="op">|></span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<thead><tr class="header"> +<th align="left"></th> +<th align="left">Calke</th> +<th align="left">Borstel</th> +<th align="left">Flaach</th> +<th align="left">BBA 2.2</th> +<th align="left">BBA 2.3</th> +<th align="left">Elliot</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">SFO</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">FOMC</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">C</td> +<td align="left">OK</td> +</tr> +<tr class="odd"> +<td align="left">DFOP</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">C</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">HS</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +</tbody> +</table> +<p>Using the two-component error model, the one fit that did not +converge with constant variance did converge, but other non-SFO fits +failed to converge.</p> +</div> +<div class="section level2"> +<h2 id="hierarchichal-model-fits">Hierarchichal model fits<a class="anchor" aria-label="anchor" href="#hierarchichal-model-fits"></a> +</h2> +<p>The following code fits eight versions of hierarchical models to the +data, using SFO, FOMC, DFOP and HS for the parent compound, and using +either constant variance or two-component error for the error model. The +default parameter distribution model in mkin allows for variation of all +degradation parameters across the assumed population of soils. In other +words, each degradation parameter is associated with a random effect as +a first step. The <code>mhmkin</code> function makes it possible to fit +all eight versions in parallel (given a sufficient number of computing +cores being available) to save execution time.</p> +<p>Convergence plots and summaries for these fits are shown in the +appendix.</p> +<div class="sourceCode" id="cb6"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">f_saem</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mhmkin.html">mhmkin</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span><span class="va">f_sep_const</span>, <span class="va">f_sep_tc</span><span class="op">)</span>, transformations <span class="op">=</span> <span class="st">"saemix"</span><span class="op">)</span></span></code></pre></div> +<p>The output of the <code>status</code> function shows that all fits +terminated successfully.</p> +<div class="sourceCode" id="cb7"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="../../reference/status.html">status</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">)</span> <span class="op">|></span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<thead><tr class="header"> +<th align="left"></th> +<th align="left">const</th> +<th align="left">tc</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">SFO</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">FOMC</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="odd"> +<td align="left">DFOP</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">HS</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +</tbody> +</table> +<p>The AIC and BIC values show that the biphasic models DFOP and HS give +the best fits.</p> +<div class="sourceCode" id="cb8"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/stats/anova.html" class="external-link">anova</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">)</span> <span class="op">|></span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span>digits <span class="op">=</span> <span class="fl">1</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<thead><tr class="header"> +<th align="left"></th> +<th align="right">npar</th> +<th align="right">AIC</th> +<th align="right">BIC</th> +<th align="right">Lik</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">SFO const</td> +<td align="right">5</td> +<td align="right">796.3</td> +<td align="right">795.3</td> +<td align="right">-393.2</td> +</tr> +<tr class="even"> +<td align="left">SFO tc</td> +<td align="right">6</td> +<td align="right">798.3</td> +<td align="right">797.1</td> +<td align="right">-393.2</td> +</tr> +<tr class="odd"> +<td align="left">FOMC const</td> +<td align="right">7</td> +<td align="right">734.2</td> +<td align="right">732.7</td> +<td align="right">-360.1</td> +</tr> +<tr class="even"> +<td align="left">FOMC tc</td> +<td align="right">8</td> +<td align="right">720.7</td> +<td align="right">719.1</td> +<td align="right">-352.4</td> +</tr> +<tr class="odd"> +<td align="left">DFOP const</td> +<td align="right">9</td> +<td align="right">711.8</td> +<td align="right">710.0</td> +<td align="right">-346.9</td> +</tr> +<tr class="even"> +<td align="left">HS const</td> +<td align="right">9</td> +<td align="right">714.0</td> +<td align="right">712.1</td> +<td align="right">-348.0</td> +</tr> +<tr class="odd"> +<td align="left">DFOP tc</td> +<td align="right">10</td> +<td align="right">665.7</td> +<td align="right">663.6</td> +<td align="right">-322.9</td> +</tr> +<tr class="even"> +<td align="left">HS tc</td> +<td align="right">10</td> +<td align="right">667.1</td> +<td align="right">665.0</td> +<td align="right">-323.6</td> +</tr> +</tbody> +</table> +<p>The DFOP model is preferred here, as it has a better mechanistic +basis for batch experiments with constant incubation conditions. Also, +it shows the lowest AIC and BIC values in the first set of fits when +combined with the two-component error model. Therefore, the DFOP model +was selected for further refinements of the fits with the aim to make +the model fully identifiable.</p> +<div class="section level3"> +<h3 id="parameter-identifiability-based-on-the-fisher-information-matrix">Parameter identifiability based on the Fisher Information +Matrix<a class="anchor" aria-label="anchor" href="#parameter-identifiability-based-on-the-fisher-information-matrix"></a> +</h3> +<p>Using the <code>illparms</code> function, ill-defined statistical +model parameters such as standard deviations of the degradation +parameters in the population and error model parameters can be +found.</p> +<div class="sourceCode" id="cb9"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="../../reference/illparms.html">illparms</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">)</span> <span class="op">|></span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<thead><tr class="header"> +<th align="left"></th> +<th align="left">const</th> +<th align="left">tc</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">SFO</td> +<td align="left"></td> +<td align="left">b.1</td> +</tr> +<tr class="even"> +<td align="left">FOMC</td> +<td align="left"></td> +<td align="left">sd(DMTA_0)</td> +</tr> +<tr class="odd"> +<td align="left">DFOP</td> +<td align="left">sd(k2)</td> +<td align="left">sd(k2)</td> +</tr> +<tr class="even"> +<td align="left">HS</td> +<td align="left"></td> +<td align="left">sd(tb)</td> +</tr> +</tbody> +</table> +<p>According to the <code>illparms</code> function, the fitted standard +deviation of the second kinetic rate constant <code>k2</code> is +ill-defined in both DFOP fits. This suggests that different values would +be obtained for this standard deviation when using different starting +values.</p> +<p>The thus identified overparameterisation is addressed by removing the +random effect for <code>k2</code> from the parameter model.</p> +<div class="sourceCode" id="cb10"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">f_saem_dfop_tc_no_ranef_k2</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/stats/update.html" class="external-link">update</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">[[</span><span class="st">"DFOP"</span>, <span class="st">"tc"</span><span class="op">]</span><span class="op">]</span>,</span> +<span> no_random_effect <span class="op">=</span> <span class="st">"k2"</span><span class="op">)</span></span></code></pre></div> +<p>For the resulting fit, it is checked whether there are still +ill-defined parameters,</p> +<div class="sourceCode" id="cb11"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="../../reference/illparms.html">illparms</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2</span><span class="op">)</span></span></code></pre></div> +<p>which is not the case. Below, the refined model is compared with the +previous best model. The model without random effect for <code>k2</code> +is a reduced version of the previous model. Therefore, the models are +nested and can be compared using the likelihood ratio test. This is +achieved with the argument <code>test = TRUE</code> to the +<code>anova</code> function.</p> +<div class="sourceCode" id="cb12"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/stats/anova.html" class="external-link">anova</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">[[</span><span class="st">"DFOP"</span>, <span class="st">"tc"</span><span class="op">]</span><span class="op">]</span>, <span class="va">f_saem_dfop_tc_no_ranef_k2</span>, test <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span> <span class="op">|></span></span> +<span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span>format.args <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span>digits <span class="op">=</span> <span class="fl">4</span><span class="op">)</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<colgroup> +<col width="38%"> +<col width="7%"> +<col width="8%"> +<col width="8%"> +<col width="9%"> +<col width="8%"> +<col width="4%"> +<col width="15%"> +</colgroup> +<thead><tr class="header"> +<th align="left"></th> +<th align="right">npar</th> +<th align="right">AIC</th> +<th align="right">BIC</th> +<th align="right">Lik</th> +<th align="right">Chisq</th> +<th align="right">Df</th> +<th align="right">Pr(>Chisq)</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">f_saem_dfop_tc_no_ranef_k2</td> +<td align="right">9</td> +<td align="right">663.7</td> +<td align="right">661.8</td> +<td align="right">-322.9</td> +<td align="right">NA</td> +<td align="right">NA</td> +<td align="right">NA</td> +</tr> +<tr class="even"> +<td align="left">f_saem[[“DFOP”, “tc”]]</td> +<td align="right">10</td> +<td align="right">665.7</td> +<td align="right">663.6</td> +<td align="right">-322.9</td> +<td align="right">0</td> +<td align="right">1</td> +<td align="right">1</td> +</tr> +</tbody> +</table> +<p>The AIC and BIC criteria are lower after removal of the ill-defined +random effect for <code>k2</code>. The p value of the likelihood ratio +test is much greater than 0.05, indicating that the model with the +higher likelihood (here the model with random effects for all +degradation parameters <code>f_saem[["DFOP", "tc"]]</code>) does not fit +significantly better than the model with the lower likelihood (the +reduced model <code>f_saem_dfop_tc_no_ranef_k2</code>).</p> +<p>Therefore, AIC, BIC and likelihood ratio test suggest the use of the +reduced model.</p> +<p>The convergence of the fit is checked visually.</p> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/convergence-saem-dfop-tc-no-ranef-k2-1.png" alt="Convergence plot for the NLHM DFOP fit with two-component error and without a random effect on 'k2'" width="864"><p class="caption"> +Convergence plot for the NLHM DFOP fit with two-component error and +without a random effect on ‘k2’ +</p> +</div> +<p>All parameters appear to have converged to a satisfactory degree. The +final fit is plotted using the plot method from the mkin package.</p> +<div class="sourceCode" id="cb13"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/base/plot.html" class="external-link">plot</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2</span><span class="op">)</span></span></code></pre></div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/plot-saem-dfop-tc-no-ranef-k2-1.png" alt="Plot of the final NLHM DFOP fit" width="864"><p class="caption"> +Plot of the final NLHM DFOP fit +</p> +</div> +<p>Finally, a summary report of the fit is produced.</p> +<div class="sourceCode" id="cb14"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/pkg/saemix/man/summary-methods.html" class="external-link">summary</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2</span><span class="op">)</span></span></code></pre></div> +<pre><code>saemix version used for fitting: 3.3 +mkin version used for pre-fitting: 1.2.10 +R version used for fitting: 4.4.2 +Date of fit: Fri Feb 14 08:13:19 2025 +Date of summary: Fri Feb 14 08:13:19 2025 + +Equations: +d_DMTA/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 * + time)) / (g * exp(-k1 * time) + (1 - g) * exp(-k2 * time))) + * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 4.154 s +Using 300, 100 iterations and 9 chains + +Variance model: Two-component variance function + +Starting values for degradation parameters: + DMTA_0 k1 k2 g +98.71186 0.08675 0.01374 0.93491 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k1 k2 g +DMTA_0 98.71 0 0 0 +k1 0.00 1 0 0 +k2 0.00 0 1 0 +g 0.00 0 0 1 + +Starting values for error model parameters: +a.1 b.1 + 1 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 663.7 661.8 -322.9 + +Optimised parameters: + est. lower upper +DMTA_0 98.256267 96.286112 100.22642 +k1 0.064037 0.033281 0.09479 +k2 0.008469 0.006002 0.01094 +g 0.954167 0.914460 0.99387 +a.1 1.061795 0.878608 1.24498 +b.1 0.029550 0.022593 0.03651 +SD.DMTA_0 2.068581 0.427178 3.70998 +SD.k1 0.598285 0.258235 0.93833 +SD.g 1.016689 0.360061 1.67332 + +Correlation: + DMTA_0 k1 k2 +k1 0.0213 +k2 0.0541 0.0344 +g -0.0521 -0.0286 -0.2744 + +Random effects: + est. lower upper +SD.DMTA_0 2.0686 0.4272 3.7100 +SD.k1 0.5983 0.2582 0.9383 +SD.g 1.0167 0.3601 1.6733 + +Variance model: + est. lower upper +a.1 1.06180 0.87861 1.24498 +b.1 0.02955 0.02259 0.03651 + +Estimated disappearance times: + DT50 DT90 DT50back DT50_k1 DT50_k2 +DMTA 11.45 41.32 12.44 10.82 81.85</code></pre> +</div> +<div class="section level3"> +<h3 id="alternative-check-of-parameter-identifiability">Alternative check of parameter identifiability<a class="anchor" aria-label="anchor" href="#alternative-check-of-parameter-identifiability"></a> +</h3> +<p>The parameter check used in the <code>illparms</code> function is +based on a quadratic approximation of the likelihood surface near its +optimum, which is calculated using the Fisher Information Matrix (FIM). +An alternative way to check parameter identifiability <span class="citation">(Duchesne et al. 2021)</span> based on a multistart +approach has recently been implemented in mkin.</p> +<p>The graph below shows boxplots of the parameters obtained in 50 runs +of the saem algorithm with different parameter combinations, sampled +from the range of the parameters obtained for the individual datasets +fitted separately using nonlinear regression.</p> +<div class="sourceCode" id="cb16"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">f_saem_dfop_tc_multi</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/multistart.html">multistart</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">[[</span><span class="st">"DFOP"</span>, <span class="st">"tc"</span><span class="op">]</span><span class="op">]</span>, n <span class="op">=</span> <span class="fl">50</span>, cores <span class="op">=</span> <span class="fl">15</span><span class="op">)</span></span></code></pre></div> +<div class="sourceCode" id="cb17"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/graphics/par.html" class="external-link">par</a></span><span class="op">(</span>mar <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">6.1</span>, <span class="fl">4.1</span>, <span class="fl">2.1</span>, <span class="fl">2.1</span><span class="op">)</span><span class="op">)</span></span> +<span><span class="fu"><a href="../../reference/parplot.html">parplot</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_multi</span>, lpos <span class="op">=</span> <span class="st">"bottomright"</span>, ylim <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">0.3</span>, <span class="fl">10</span><span class="op">)</span>, las <span class="op">=</span> <span class="fl">2</span><span class="op">)</span></span></code></pre></div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/multistart-full-par-1.png" alt="Scaled parameters from the multistart runs, full model" width="960"><p class="caption"> +Scaled parameters from the multistart runs, full model +</p> +</div> +<p>The graph clearly confirms the lack of identifiability of the +variance of <code>k2</code> in the full model. The overparameterisation +of the model also indicates a lack of identifiability of the variance of +parameter <code>g</code>.</p> +<p>The parameter boxplots of the multistart runs with the reduced model +shown below indicate that all runs give similar results, regardless of +the starting parameters.</p> +<div class="sourceCode" id="cb18"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">f_saem_dfop_tc_no_ranef_k2_multi</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/multistart.html">multistart</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2</span>,</span> +<span> n <span class="op">=</span> <span class="fl">50</span>, cores <span class="op">=</span> <span class="fl">15</span><span class="op">)</span></span></code></pre></div> +<div class="sourceCode" id="cb19"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/graphics/par.html" class="external-link">par</a></span><span class="op">(</span>mar <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">6.1</span>, <span class="fl">4.1</span>, <span class="fl">2.1</span>, <span class="fl">2.1</span><span class="op">)</span><span class="op">)</span></span> +<span><span class="fu"><a href="../../reference/parplot.html">parplot</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2_multi</span>, ylim <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">0.5</span>, <span class="fl">2</span><span class="op">)</span>, las <span class="op">=</span> <span class="fl">2</span>,</span> +<span> lpos <span class="op">=</span> <span class="st">"bottomright"</span><span class="op">)</span></span></code></pre></div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/multistart-reduced-par-1.png" alt="Scaled parameters from the multistart runs, reduced model" width="960"><p class="caption"> +Scaled parameters from the multistart runs, reduced model +</p> +</div> +<p>When only the parameters of the top 25% of the fits are shown (based +on a feature introduced in mkin 1.2.2 currently under development), the +scatter is even less as shown below.</p> +<div class="sourceCode" id="cb20"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/graphics/par.html" class="external-link">par</a></span><span class="op">(</span>mar <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">6.1</span>, <span class="fl">4.1</span>, <span class="fl">2.1</span>, <span class="fl">2.1</span><span class="op">)</span><span class="op">)</span></span> +<span><span class="fu"><a href="../../reference/parplot.html">parplot</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2_multi</span>, ylim <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">0.5</span>, <span class="fl">2</span><span class="op">)</span>, las <span class="op">=</span> <span class="fl">2</span>, llquant <span class="op">=</span> <span class="fl">0.25</span>,</span> +<span> lpos <span class="op">=</span> <span class="st">"bottomright"</span><span class="op">)</span></span></code></pre></div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/multistart-reduced-par-llquant-1.png" alt="Scaled parameters from the multistart runs, reduced model, fits with the top 25\% likelihood values" width="960"><p class="caption"> +Scaled parameters from the multistart runs, reduced model, fits with the +top 25% likelihood values +</p> +</div> +</div> +</div> +<div class="section level2"> +<h2 id="conclusions">Conclusions<a class="anchor" aria-label="anchor" href="#conclusions"></a> +</h2> +<p>Fitting the four parent degradation models SFO, FOMC, DFOP and HS as +part of hierarchical model fits with two different error models and +normal distributions of the transformed degradation parameters works +without technical problems. The biphasic models DFOP and HS gave the +best fit to the data, but the default parameter distribution model was +not fully identifiable. Removing the random effect for the second +kinetic rate constant of the DFOP model resulted in a reduced model that +was fully identifiable and showed the lowest values for the model +selection criteria AIC and BIC. The reliability of the identification of +all model parameters was confirmed using multiple starting values.</p> +</div> +<div class="section level2"> +<h2 id="acknowledgements">Acknowledgements<a class="anchor" aria-label="anchor" href="#acknowledgements"></a> +</h2> +<p>The helpful comments by Janina Wöltjen of the German Environment +Agency are gratefully acknowledged.</p> +</div> +<div class="section level2"> +<h2 id="references">References<a class="anchor" aria-label="anchor" href="#references"></a> +</h2> +<div id="refs" class="references csl-bib-body hanging-indent"> +<div id="ref-duchesne_2021" class="csl-entry"> +Duchesne, Ronan, Anissa Guillemin, Olivier Gandrillon, and Fabien +Crauste. 2021. <span>“Practical Identifiability in the Frame of +Nonlinear Mixed Effects Models: The Example of the in Vitro +Erythropoiesis.”</span> <em>BMC Bioinformatics</em> 22 (478). <a href="https://doi.org/10.1186/s12859-021-04373-4" class="external-link">https://doi.org/10.1186/s12859-021-04373-4</a>. +</div> +</div> +</div> +<div class="section level2"> +<h2 id="appendix">Appendix<a class="anchor" aria-label="anchor" href="#appendix"></a> +</h2> +<div class="section level3"> +<h3 id="hierarchical-model-fit-listings">Hierarchical model fit listings<a class="anchor" aria-label="anchor" href="#hierarchical-model-fit-listings"></a> +</h3> +<caption> +Hierarchical mkin fit of the SFO model with error model const +</caption> +<pre><code> +saemix version used for fitting: 3.3 +mkin version used for pre-fitting: 1.2.10 +R version used for fitting: 4.4.2 +Date of fit: Fri Feb 14 08:13:11 2025 +Date of summary: Fri Feb 14 08:14:22 2025 + +Equations: +d_DMTA/dt = - k_DMTA * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 0.869 s +Using 300, 100 iterations and 9 chains + +Variance model: Constant variance + +Starting values for degradation parameters: + DMTA_0 k_DMTA +97.2953 0.0566 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k_DMTA +DMTA_0 97.3 0 +k_DMTA 0.0 1 + +Starting values for error model parameters: +a.1 + 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 796.3 795.3 -393.2 + +Optimised parameters: + est. lower upper +DMTA_0 97.28130 95.71113 98.8515 +k_DMTA 0.05665 0.02909 0.0842 +a.1 2.66442 2.35579 2.9731 +SD.DMTA_0 1.54776 0.15447 2.9411 +SD.k_DMTA 0.60690 0.26248 0.9513 + +Correlation: + DMTA_0 +k_DMTA 0.0168 + +Random effects: + est. lower upper +SD.DMTA_0 1.5478 0.1545 2.9411 +SD.k_DMTA 0.6069 0.2625 0.9513 + +Variance model: + est. lower upper +a.1 2.664 2.356 2.973 + +Estimated disappearance times: + DT50 DT90 +DMTA 12.24 40.65 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the SFO model with error model tc +</caption> +<pre><code> +saemix version used for fitting: 3.3 +mkin version used for pre-fitting: 1.2.10 +R version used for fitting: 4.4.2 +Date of fit: Fri Feb 14 08:13:13 2025 +Date of summary: Fri Feb 14 08:14:22 2025 + +Equations: +d_DMTA/dt = - k_DMTA * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 2.423 s +Using 300, 100 iterations and 9 chains + +Variance model: Two-component variance function + +Starting values for degradation parameters: + DMTA_0 k_DMTA +96.99175 0.05603 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k_DMTA +DMTA_0 96.99 0 +k_DMTA 0.00 1 + +Starting values for error model parameters: +a.1 b.1 + 1 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 798.3 797.1 -393.2 + +Optimised parameters: + est. lower upper +DMTA_0 97.271822 95.70316 98.84049 +k_DMTA 0.056638 0.02911 0.08417 +a.1 2.660081 2.27492 3.04525 +b.1 0.001665 -0.14451 0.14784 +SD.DMTA_0 1.545520 0.14301 2.94803 +SD.k_DMTA 0.606422 0.26227 0.95057 + +Correlation: + DMTA_0 +k_DMTA 0.0169 + +Random effects: + est. lower upper +SD.DMTA_0 1.5455 0.1430 2.9480 +SD.k_DMTA 0.6064 0.2623 0.9506 + +Variance model: + est. lower upper +a.1 2.660081 2.2749 3.0452 +b.1 0.001665 -0.1445 0.1478 + +Estimated disappearance times: + DT50 DT90 +DMTA 12.24 40.65 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the FOMC model with error model const +</caption> +<pre><code> +saemix version used for fitting: 3.3 +mkin version used for pre-fitting: 1.2.10 +R version used for fitting: 4.4.2 +Date of fit: Fri Feb 14 08:13:11 2025 +Date of summary: Fri Feb 14 08:14:22 2025 + +Equations: +d_DMTA/dt = - (alpha/beta) * 1/((time/beta) + 1) * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 1.228 s +Using 300, 100 iterations and 9 chains + +Variance model: Constant variance + +Starting values for degradation parameters: + DMTA_0 alpha beta + 98.292 9.909 156.341 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 alpha beta +DMTA_0 98.29 0 0 +alpha 0.00 1 0 +beta 0.00 0 1 + +Starting values for error model parameters: +a.1 + 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 734.2 732.7 -360.1 + +Optimised parameters: + est. lower upper +DMTA_0 98.3435 96.9033 99.784 +alpha 7.2007 2.5889 11.812 +beta 112.8745 34.8816 190.867 +a.1 2.0459 1.8054 2.286 +SD.DMTA_0 1.4795 0.2717 2.687 +SD.alpha 0.6396 0.1509 1.128 +SD.beta 0.6874 0.1587 1.216 + +Correlation: + DMTA_0 alpha +alpha -0.1125 +beta -0.1227 0.3632 + +Random effects: + est. lower upper +SD.DMTA_0 1.4795 0.2717 2.687 +SD.alpha 0.6396 0.1509 1.128 +SD.beta 0.6874 0.1587 1.216 + +Variance model: + est. lower upper +a.1 2.046 1.805 2.286 + +Estimated disappearance times: + DT50 DT90 DT50back +DMTA 11.41 42.53 12.8 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the FOMC model with error model tc +</caption> +<pre><code> +saemix version used for fitting: 3.3 +mkin version used for pre-fitting: 1.2.10 +R version used for fitting: 4.4.2 +Date of fit: Fri Feb 14 08:13:13 2025 +Date of summary: Fri Feb 14 08:14:22 2025 + +Equations: +d_DMTA/dt = - (alpha/beta) * 1/((time/beta) + 1) * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 2.87 s +Using 300, 100 iterations and 9 chains + +Variance model: Two-component variance function + +Starting values for degradation parameters: +DMTA_0 alpha beta +98.772 4.663 92.597 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 alpha beta +DMTA_0 98.77 0 0 +alpha 0.00 1 0 +beta 0.00 0 1 + +Starting values for error model parameters: +a.1 b.1 + 1 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 720.7 719.1 -352.4 + +Optimised parameters: + est. lower upper +DMTA_0 99.10577 97.33296 100.87859 +alpha 5.46260 2.52199 8.40321 +beta 81.66080 30.46664 132.85497 +a.1 1.50219 1.25801 1.74636 +b.1 0.02893 0.02048 0.03739 +SD.DMTA_0 1.61887 -0.03843 3.27618 +SD.alpha 0.58145 0.17364 0.98925 +SD.beta 0.68205 0.21108 1.15302 + +Correlation: + DMTA_0 alpha +alpha -0.1321 +beta -0.1430 0.2467 + +Random effects: + est. lower upper +SD.DMTA_0 1.6189 -0.03843 3.2762 +SD.alpha 0.5814 0.17364 0.9892 +SD.beta 0.6821 0.21108 1.1530 + +Variance model: + est. lower upper +a.1 1.50219 1.25801 1.74636 +b.1 0.02893 0.02048 0.03739 + +Estimated disappearance times: + DT50 DT90 DT50back +DMTA 11.05 42.81 12.89 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the DFOP model with error model const +</caption> +<pre><code> +saemix version used for fitting: 3.3 +mkin version used for pre-fitting: 1.2.10 +R version used for fitting: 4.4.2 +Date of fit: Fri Feb 14 08:13:12 2025 +Date of summary: Fri Feb 14 08:14:22 2025 + +Equations: +d_DMTA/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 * + time)) / (g * exp(-k1 * time) + (1 - g) * exp(-k2 * time))) + * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 1.843 s +Using 300, 100 iterations and 9 chains + +Variance model: Constant variance + +Starting values for degradation parameters: + DMTA_0 k1 k2 g +98.64383 0.09211 0.02999 0.76814 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k1 k2 g +DMTA_0 98.64 0 0 0 +k1 0.00 1 0 0 +k2 0.00 0 1 0 +g 0.00 0 0 1 + +Starting values for error model parameters: +a.1 + 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 711.8 710 -346.9 + +Optimised parameters: + est. lower upper +DMTA_0 98.092481 96.573899 99.61106 +k1 0.062499 0.030336 0.09466 +k2 0.009065 -0.005133 0.02326 +g 0.948967 0.862080 1.03586 +a.1 1.821671 1.604774 2.03857 +SD.DMTA_0 1.677785 0.472066 2.88350 +SD.k1 0.634962 0.270788 0.99914 +SD.k2 1.033498 -0.205994 2.27299 +SD.g 1.710046 0.428642 2.99145 + +Correlation: + DMTA_0 k1 k2 +k1 0.0246 +k2 0.0491 0.0953 +g -0.0552 -0.0889 -0.4795 + +Random effects: + est. lower upper +SD.DMTA_0 1.678 0.4721 2.8835 +SD.k1 0.635 0.2708 0.9991 +SD.k2 1.033 -0.2060 2.2730 +SD.g 1.710 0.4286 2.9914 + +Variance model: + est. lower upper +a.1 1.822 1.605 2.039 + +Estimated disappearance times: + DT50 DT90 DT50back DT50_k1 DT50_k2 +DMTA 11.79 42.8 12.88 11.09 76.46 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the DFOP model with error model tc +</caption> +<pre><code> +saemix version used for fitting: 3.3 +mkin version used for pre-fitting: 1.2.10 +R version used for fitting: 4.4.2 +Date of fit: Fri Feb 14 08:13:14 2025 +Date of summary: Fri Feb 14 08:14:22 2025 + +Equations: +d_DMTA/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 * + time)) / (g * exp(-k1 * time) + (1 - g) * exp(-k2 * time))) + * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 3.469 s +Using 300, 100 iterations and 9 chains + +Variance model: Two-component variance function + +Starting values for degradation parameters: + DMTA_0 k1 k2 g +98.71186 0.08675 0.01374 0.93491 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k1 k2 g +DMTA_0 98.71 0 0 0 +k1 0.00 1 0 0 +k2 0.00 0 1 0 +g 0.00 0 0 1 + +Starting values for error model parameters: +a.1 b.1 + 1 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 665.7 663.6 -322.9 + +Optimised parameters: + est. lower upper +DMTA_0 98.347470 96.380815 100.31413 +k1 0.064524 0.034279 0.09477 +k2 0.008304 0.005843 0.01076 +g 0.952128 0.909578 0.99468 +a.1 1.068907 0.883665 1.25415 +b.1 0.029265 0.022318 0.03621 +SD.DMTA_0 2.065796 0.427951 3.70364 +SD.k1 0.583703 0.251796 0.91561 +SD.k2 0.004167 -7.831228 7.83956 +SD.g 1.064450 0.397479 1.73142 + +Correlation: + DMTA_0 k1 k2 +k1 0.0223 +k2 0.0568 0.0394 +g -0.0464 -0.0269 -0.2713 + +Random effects: + est. lower upper +SD.DMTA_0 2.065796 0.4280 3.7036 +SD.k1 0.583703 0.2518 0.9156 +SD.k2 0.004167 -7.8312 7.8396 +SD.g 1.064450 0.3975 1.7314 + +Variance model: + est. lower upper +a.1 1.06891 0.88367 1.25415 +b.1 0.02927 0.02232 0.03621 + +Estimated disappearance times: + DT50 DT90 DT50back DT50_k1 DT50_k2 +DMTA 11.39 41.36 12.45 10.74 83.48 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the HS model with error model const +</caption> +<pre><code> +saemix version used for fitting: 3.3 +mkin version used for pre-fitting: 1.2.10 +R version used for fitting: 4.4.2 +Date of fit: Fri Feb 14 08:13:12 2025 +Date of summary: Fri Feb 14 08:14:22 2025 + +Equations: +d_DMTA/dt = - ifelse(time <= tb, k1, k2) * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 1.698 s +Using 300, 100 iterations and 9 chains + +Variance model: Constant variance + +Starting values for degradation parameters: + DMTA_0 k1 k2 tb +97.82176 0.06931 0.02997 11.13945 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k1 k2 tb +DMTA_0 97.82 0 0 0 +k1 0.00 1 0 0 +k2 0.00 0 1 0 +tb 0.00 0 0 1 + +Starting values for error model parameters: +a.1 + 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 714 712.1 -348 + +Optimised parameters: + est. lower upper +DMTA_0 98.16102 96.47747 99.84456 +k1 0.07876 0.05261 0.10491 +k2 0.02227 0.01706 0.02747 +tb 13.99089 -7.40049 35.38228 +a.1 1.82305 1.60700 2.03910 +SD.DMTA_0 1.88413 0.56204 3.20622 +SD.k1 0.34292 0.10482 0.58102 +SD.k2 0.19851 0.01718 0.37985 +SD.tb 1.68168 0.58064 2.78272 + +Correlation: + DMTA_0 k1 k2 +k1 0.0142 +k2 0.0001 -0.0025 +tb 0.0165 -0.1256 -0.0301 + +Random effects: + est. lower upper +SD.DMTA_0 1.8841 0.56204 3.2062 +SD.k1 0.3429 0.10482 0.5810 +SD.k2 0.1985 0.01718 0.3798 +SD.tb 1.6817 0.58064 2.7827 + +Variance model: + est. lower upper +a.1 1.823 1.607 2.039 + +Estimated disappearance times: + DT50 DT90 DT50back DT50_k1 DT50_k2 +DMTA 8.801 67.91 20.44 8.801 31.13 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the HS model with error model tc +</caption> +<pre><code> +saemix version used for fitting: 3.3 +mkin version used for pre-fitting: 1.2.10 +R version used for fitting: 4.4.2 +Date of fit: Fri Feb 14 08:13:13 2025 +Date of summary: Fri Feb 14 08:14:22 2025 + +Equations: +d_DMTA/dt = - ifelse(time <= tb, k1, k2) * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 3.307 s +Using 300, 100 iterations and 9 chains + +Variance model: Two-component variance function + +Starting values for degradation parameters: + DMTA_0 k1 k2 tb +98.45190 0.07525 0.02576 19.19375 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k1 k2 tb +DMTA_0 98.45 0 0 0 +k1 0.00 1 0 0 +k2 0.00 0 1 0 +tb 0.00 0 0 1 + +Starting values for error model parameters: +a.1 b.1 + 1 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 667.1 665 -323.6 + +Optimised parameters: + est. lower upper +DMTA_0 97.76571 95.81350 99.71791 +k1 0.05855 0.03080 0.08630 +k2 0.02337 0.01664 0.03010 +tb 31.09638 29.38289 32.80987 +a.1 1.08835 0.90059 1.27611 +b.1 0.02964 0.02261 0.03667 +SD.DMTA_0 2.04877 0.42553 3.67200 +SD.k1 0.59166 0.25621 0.92711 +SD.k2 0.30698 0.09561 0.51835 +SD.tb 0.01274 -0.10915 0.13464 + +Correlation: + DMTA_0 k1 k2 +k1 0.0160 +k2 -0.0070 -0.0024 +tb -0.0668 -0.0103 -0.2013 + +Random effects: + est. lower upper +SD.DMTA_0 2.04877 0.42553 3.6720 +SD.k1 0.59166 0.25621 0.9271 +SD.k2 0.30698 0.09561 0.5183 +SD.tb 0.01274 -0.10915 0.1346 + +Variance model: + est. lower upper +a.1 1.08835 0.90059 1.27611 +b.1 0.02964 0.02261 0.03667 + +Estimated disappearance times: + DT50 DT90 DT50back DT50_k1 DT50_k2 +DMTA 11.84 51.71 15.57 11.84 29.66 + +</code></pre> +<p></p> +</div> +<div class="section level3"> +<h3 id="hierarchical-model-convergence-plots">Hierarchical model convergence plots<a class="anchor" aria-label="anchor" href="#hierarchical-model-convergence-plots"></a> +</h3> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/convergence-saem-sfo-const-1.png" alt="Convergence plot for the NLHM SFO fit with constant variance" width="864"><p class="caption"> +Convergence plot for the NLHM SFO fit with constant variance +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/convergence-saem-sfo-tc-1.png" alt="Convergence plot for the NLHM SFO fit with two-component error" width="864"><p class="caption"> +Convergence plot for the NLHM SFO fit with two-component error +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/convergence-saem-fomc-const-1.png" alt="Convergence plot for the NLHM FOMC fit with constant variance" width="864"><p class="caption"> +Convergence plot for the NLHM FOMC fit with constant variance +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/convergence-saem-fomc-tc-1.png" alt="Convergence plot for the NLHM FOMC fit with two-component error" width="864"><p class="caption"> +Convergence plot for the NLHM FOMC fit with two-component error +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/convergence-saem-dfop-const-1.png" alt="Convergence plot for the NLHM DFOP fit with constant variance" width="864"><p class="caption"> +Convergence plot for the NLHM DFOP fit with constant variance +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/convergence-saem-dfop-tc-1.png" alt="Convergence plot for the NLHM DFOP fit with two-component error" width="864"><p class="caption"> +Convergence plot for the NLHM DFOP fit with two-component error +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/convergence-saem-hs-const-1.png" alt="Convergence plot for the NLHM HS fit with constant variance" width="864"><p class="caption"> +Convergence plot for the NLHM HS fit with constant variance +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_dmta_parent_files/figure-html/convergence-saem-hs-tc-1.png" alt="Convergence plot for the NLHM HS fit with two-component error" width="864"><p class="caption"> +Convergence plot for the NLHM HS fit with two-component error +</p> +</div> +</div> +<div class="section level3"> +<h3 id="session-info">Session info<a class="anchor" aria-label="anchor" href="#session-info"></a> +</h3> +<pre><code>R version 4.4.2 (2024-10-31) +Platform: x86_64-pc-linux-gnu +Running under: Debian GNU/Linux 12 (bookworm) + +Matrix products: default +BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.11.0 +LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.11.0 + +locale: + [1] LC_CTYPE=de_DE.UTF-8 LC_NUMERIC=C + [3] LC_TIME=de_DE.UTF-8 LC_COLLATE=de_DE.UTF-8 + [5] LC_MONETARY=de_DE.UTF-8 LC_MESSAGES=de_DE.UTF-8 + [7] LC_PAPER=de_DE.UTF-8 LC_NAME=C + [9] LC_ADDRESS=C LC_TELEPHONE=C +[11] LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C + +time zone: Europe/Berlin +tzcode source: system (glibc) + +attached base packages: +[1] parallel stats graphics grDevices utils datasets methods +[8] base + +other attached packages: +[1] rmarkdown_2.29 nvimcom_0.9-167 saemix_3.3 npde_3.5 +[5] knitr_1.49 mkin_1.2.10 + +loaded via a namespace (and not attached): + [1] gtable_0.3.6 jsonlite_1.8.9 dplyr_1.1.4 compiler_4.4.2 + [5] tidyselect_1.2.1 gridExtra_2.3 jquerylib_0.1.4 systemfonts_1.1.0 + [9] scales_1.3.0 textshaping_0.4.1 yaml_2.3.10 fastmap_1.2.0 +[13] lattice_0.22-6 ggplot2_3.5.1 R6_2.5.1 generics_0.1.3 +[17] lmtest_0.9-40 MASS_7.3-61 htmlwidgets_1.6.4 tibble_3.2.1 +[21] desc_1.4.3 munsell_0.5.1 bslib_0.8.0 pillar_1.9.0 +[25] rlang_1.1.4 utf8_1.2.4 cachem_1.1.0 xfun_0.49 +[29] fs_1.6.5 sass_0.4.9 cli_3.6.3 pkgdown_2.1.1 +[33] magrittr_2.0.3 digest_0.6.37 grid_4.4.2 mclust_6.1.1 +[37] lifecycle_1.0.4 nlme_3.1-166 vctrs_0.6.5 evaluate_1.0.1 +[41] glue_1.8.0 codetools_0.2-20 ragg_1.3.3 zoo_1.8-12 +[45] fansi_1.0.6 colorspace_2.1-1 pkgconfig_2.0.3 tools_4.4.2 +[49] htmltools_0.5.8.1</code></pre> +</div> +<div class="section level3"> +<h3 id="hardware-info">Hardware info<a class="anchor" aria-label="anchor" href="#hardware-info"></a> +</h3> +<pre><code>CPU model: AMD Ryzen 9 7950X 16-Core Processor</code></pre> +<pre><code>MemTotal: 64927788 kB</code></pre> +</div> +</div> + </main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2> + </nav></aside> +</div> + + + + <footer><div class="pkgdown-footer-left"> + <p>Developed by Johannes Ranke.</p> +</div> + +<div class="pkgdown-footer-right"> + <p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.1.1.</p> +</div> + + </footer> +</div> + + + + + + </body> +</html> |