<!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.0"> <title>Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P • mkin</title> <!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../../bootstrap-toc.css"> <script src="../../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"> <!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../../pkgdown.css" rel="stylesheet"> <script src="../../pkgdown.js"></script><meta property="og:title" content="Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P"> <meta property="og:description" content="mkin"> <meta name="robots" content="noindex"> <!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> <body data-spy="scroll" data-target="#toc"> <div class="container template-article"> <header><div class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <span class="navbar-brand"> <a class="navbar-link" href="../../index.html">mkin</a> <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.3</span> </span> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li> <a href="../../reference/index.html">Reference</a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> Articles <span class="caret"></span> </a> <ul class="dropdown-menu" role="menu"> <li> <a href="../../articles/mkin.html">Introduction to mkin</a> </li> <li class="divider"> </li> <li class="dropdown-header">Example evaluations with (generalised) nonlinear least squares</li> <li> <a href="../../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a> </li> <li> <a href="../../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a> </li> <li> <a href="../../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a> </li> <li class="divider"> </li> <li class="dropdown-header">Example evaluations with hierarchical models (nonlinear mixed-effects models)</li> <li> <a href="../../articles/prebuilt/2022_dmta_parent.html">Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P</a> </li> <li> <a href="../../articles/prebuilt/2022_dmta_pathway.html">Testing hierarchical pathway kinetics with residue data on dimethenamid and dimethenamid-P</a> </li> <li> <a href="../../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a> </li> <li> <a href="../../articles/web_only/dimethenamid_2018.html">Comparison of saemix and nlme evaluations of dimethenamid data from 2018</a> </li> <li> <a href="../../articles/web_only/multistart.html">Short demo of the multistart method</a> </li> <li class="divider"> </li> <li class="dropdown-header">Performance</li> <li> <a href="../../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a> </li> <li> <a href="../../articles/web_only/benchmarks.html">Benchmark timings for mkin</a> </li> <li> <a href="../../articles/web_only/saem_benchmarks.html">Benchmark timings for saem.mmkin</a> </li> <li class="divider"> </li> <li class="dropdown-header">Miscellaneous</li> <li> <a href="../../articles/twa.html">Calculation of time weighted average concentrations with mkin</a> </li> <li> <a href="../../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a> </li> </ul> </li> <li> <a href="../../news/index.html">News</a> </li> </ul> <ul class="nav navbar-nav navbar-right"> <li> <a href="https://github.com/jranke/mkin/" class="external-link"> <span class="fab fa-github fa-lg"></span> </a> </li> </ul> </div> <!--/.nav-collapse --> </div> <!--/.container --> </div> <!--/.navbar --> </header><div class="row"> <div class="col-md-9 contents"> <div class="page-header toc-ignore"> <h1 data-toc-skip>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 17 Februar 2023</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="hidden 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.3. 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">C</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">C</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.4</td> <td align="right">718.8</td> <td align="right">-352.2</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.5</td> <td align="right">663.4</td> <td align="right">-322.8</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="37%"> <col width="6%"> <col width="8%"> <col width="8%"> <col width="9%"> <col width="9%"> <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.8</td> <td align="right">661.9</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.5</td> <td align="right">663.4</td> <td align="right">-322.8</td> <td align="right">0.2809</td> <td align="right">1</td> <td align="right">0.5961</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.2 mkin version used for pre-fitting: 1.2.2 R version used for fitting: 4.2.2 Date of fit: Sat Jan 28 11:22:51 2023 Date of summary: Sat Jan 28 11:22:52 2023 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.74 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.759266 0.087034 0.009933 0.930827 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.76 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.8 661.9 -322.9 Optimised parameters: est. lower upper DMTA_0 98.228939 96.285869 100.17201 k1 0.064063 0.033477 0.09465 k2 0.008297 0.005824 0.01077 g 0.953821 0.914328 0.99331 a.1 1.068479 0.869538 1.26742 b.1 0.029424 0.022406 0.03644 SD.DMTA_0 2.030437 0.404824 3.65605 SD.k1 0.594692 0.256660 0.93272 SD.g 1.006754 0.361327 1.65218 Correlation: DMTA_0 k1 k2 k1 0.0218 k2 0.0556 0.0355 g -0.0516 -0.0284 -0.2800 Random effects: est. lower upper SD.DMTA_0 2.0304 0.4048 3.6560 SD.k1 0.5947 0.2567 0.9327 SD.g 1.0068 0.3613 1.6522 Variance model: est. lower upper a.1 1.06848 0.86954 1.26742 b.1 0.02942 0.02241 0.03644 Estimated disappearance times: DT50 DT90 DT50back DT50_k1 DT50_k2 DMTA 11.45 41.4 12.46 10.82 83.54</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.2 mkin version used for pre-fitting: 1.2.2 R version used for fitting: 4.2.2 Date of fit: Sat Jan 28 11:22:44 2023 Date of summary: Sat Jan 28 11:23:57 2023 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.982 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.2 mkin version used for pre-fitting: 1.2.2 R version used for fitting: 4.2.2 Date of fit: Sat Jan 28 11:22:46 2023 Date of summary: Sat Jan 28 11:23:57 2023 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.39 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.703157 98.84049 k_DMTA 0.056638 0.029110 0.08417 a.1 2.660081 2.230398 3.08976 b.1 0.001665 -0.006911 0.01024 SD.DMTA_0 1.545520 0.145035 2.94601 SD.k_DMTA 0.606422 0.262274 0.95057 Correlation: DMTA_0 k_DMTA 0.0169 Random effects: est. lower upper SD.DMTA_0 1.5455 0.1450 2.9460 SD.k_DMTA 0.6064 0.2623 0.9506 Variance model: est. lower upper a.1 2.660081 2.230398 3.08976 b.1 0.001665 -0.006911 0.01024 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.2 mkin version used for pre-fitting: 1.2.2 R version used for fitting: 4.2.2 Date of fit: Sat Jan 28 11:22:45 2023 Date of summary: Sat Jan 28 11:23:57 2023 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.552 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.8746 34.8816 190.868 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.2 mkin version used for pre-fitting: 1.2.2 R version used for fitting: 4.2.2 Date of fit: Sat Jan 28 11:22:46 2023 Date of summary: Sat Jan 28 11:23:57 2023 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.764 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.4 718.8 -352.2 Optimised parameters: est. lower upper DMTA_0 98.99136 97.26011 100.72261 alpha 5.86312 2.57485 9.15138 beta 88.55571 29.20889 147.90254 a.1 1.51063 1.24384 1.77741 b.1 0.02824 0.02040 0.03609 SD.DMTA_0 1.57436 -0.04867 3.19739 SD.alpha 0.59871 0.17132 1.02611 SD.beta 0.72994 0.22849 1.23139 Correlation: DMTA_0 alpha alpha -0.1363 beta -0.1414 0.2542 Random effects: est. lower upper SD.DMTA_0 1.5744 -0.04867 3.197 SD.alpha 0.5987 0.17132 1.026 SD.beta 0.7299 0.22849 1.231 Variance model: est. lower upper a.1 1.51063 1.2438 1.77741 b.1 0.02824 0.0204 0.03609 Estimated disappearance times: DT50 DT90 DT50back DMTA 11.11 42.6 12.82 </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.2 mkin version used for pre-fitting: 1.2.2 R version used for fitting: 4.2.2 Date of fit: Sat Jan 28 11:22:45 2023 Date of summary: Sat Jan 28 11:23:57 2023 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.649 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.573898 99.61106 k1 0.062499 0.030336 0.09466 k2 0.009065 -0.005133 0.02326 g 0.948967 0.862079 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.2 mkin version used for pre-fitting: 1.2.2 R version used for fitting: 4.2.2 Date of fit: Sat Jan 28 11:22:46 2023 Date of summary: Sat Jan 28 11:23:57 2023 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.288 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.759266 0.087034 0.009933 0.930827 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.76 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.5 663.4 -322.8 Optimised parameters: est. lower upper DMTA_0 98.377019 96.447952 100.30609 k1 0.064843 0.034607 0.09508 k2 0.008895 0.006368 0.01142 g 0.949696 0.903815 0.99558 a.1 1.065241 0.865754 1.26473 b.1 0.029340 0.022336 0.03634 SD.DMTA_0 2.007754 0.387982 3.62753 SD.k1 0.580473 0.250286 0.91066 SD.k2 0.006105 -4.920337 4.93255 SD.g 1.097149 0.412779 1.78152 Correlation: DMTA_0 k1 k2 k1 0.0235 k2 0.0595 0.0424 g -0.0470 -0.0278 -0.2731 Random effects: est. lower upper SD.DMTA_0 2.007754 0.3880 3.6275 SD.k1 0.580473 0.2503 0.9107 SD.k2 0.006105 -4.9203 4.9325 SD.g 1.097149 0.4128 1.7815 Variance model: est. lower upper a.1 1.06524 0.86575 1.26473 b.1 0.02934 0.02234 0.03634 Estimated disappearance times: DT50 DT90 DT50back DT50_k1 DT50_k2 DMTA 11.36 41.32 12.44 10.69 77.92 </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.2 mkin version used for pre-fitting: 1.2.2 R version used for fitting: 4.2.2 Date of fit: Sat Jan 28 11:22:45 2023 Date of summary: Sat Jan 28 11:23:57 2023 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 2.006 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.2 mkin version used for pre-fitting: 1.2.2 R version used for fitting: 4.2.2 Date of fit: Sat Jan 28 11:22:46 2023 Date of summary: Sat Jan 28 11:23:57 2023 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.267 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.76570 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.88590 1.29080 b.1 0.02964 0.02257 0.03671 SD.DMTA_0 2.04877 0.42607 3.67147 SD.k1 0.59166 0.25621 0.92711 SD.k2 0.30698 0.09561 0.51835 SD.tb 0.01274 -0.10914 0.13462 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.42607 3.6715 SD.k1 0.59166 0.25621 0.9271 SD.k2 0.30698 0.09561 0.5183 SD.tb 0.01274 -0.10914 0.1346 Variance model: est. lower upper a.1 1.08835 0.88590 1.29080 b.1 0.02964 0.02257 0.03671 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.2.2 Patched (2022-11-10 r83330) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Debian GNU/Linux bookworm/sid Matrix products: default BLAS: /usr/lib/x86_64-linux-gnu/openblas-serial/libblas.so.3 LAPACK: /usr/lib/x86_64-linux-gnu/openblas-serial/libopenblas-r0.3.21.so 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 attached base packages: [1] parallel stats graphics grDevices utils datasets methods [8] base other attached packages: [1] saemix_3.2 npde_3.3 knitr_1.41 mkin_1.2.2 loaded via a namespace (and not attached): [1] deSolve_1.34 zoo_1.8-11 tidyselect_1.2.0 xfun_0.35 [5] bslib_0.4.2 purrr_1.0.0 lattice_0.20-45 colorspace_2.0-3 [9] vctrs_0.5.1 generics_0.1.3 htmltools_0.5.4 yaml_2.3.6 [13] utf8_1.2.2 rlang_1.0.6 pkgdown_2.0.7 jquerylib_0.1.4 [17] pillar_1.8.1 glue_1.6.2 DBI_1.1.3 lifecycle_1.0.3 [21] stringr_1.5.0 munsell_0.5.0 gtable_0.3.1 ragg_1.2.4 [25] codetools_0.2-18 memoise_2.0.1 evaluate_0.19 fastmap_1.1.0 [29] lmtest_0.9-40 fansi_1.0.3 highr_0.9 scales_1.2.1 [33] cachem_1.0.6 desc_1.4.2 jsonlite_1.8.4 systemfonts_1.0.4 [37] fs_1.5.2 textshaping_0.3.6 gridExtra_2.3 ggplot2_3.4.0 [41] digest_0.6.31 stringi_1.7.8 dplyr_1.0.10 grid_4.2.2 [45] rprojroot_2.0.3 cli_3.5.0 tools_4.2.2 magrittr_2.0.3 [49] sass_0.4.4 tibble_3.1.8 pkgconfig_2.0.3 assertthat_0.2.1 [53] rmarkdown_2.19 R6_2.5.1 mclust_6.0.0 nlme_3.1-161 [57] compiler_4.2.2 </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: 64940452 kB</code></pre> </div> </div> </div> <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar"> <nav id="toc" data-toggle="toc"><h2 data-toc-skip>Contents</h2> </nav> </div> </div> <footer><div class="copyright"> <p></p> <p>Developed by Johannes Ranke.</p> </div> <div class="pkgdown"> <p></p> <p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer> </div> </body> </html>