<!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.5</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 19 Mai 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.5. 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.5
R version used for fitting: 4.3.0
Date of fit: Fri May 19 18:14:27 2023
Date of summary: Fri May 19 18:14:28 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 4.477 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.5
R version used for fitting: 4.3.0
Date of fit: Fri May 19 18:14:19 2023
Date of summary: Fri May 19 18:15:34 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 1.091 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.5
R version used for fitting: 4.3.0
Date of fit: Fri May 19 18:14:21 2023
Date of summary: Fri May 19 18:15:34 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.517 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.5
R version used for fitting: 4.3.0
Date of fit: Fri May 19 18:14:20 2023
Date of summary: Fri May 19 18:15:34 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.25 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.5
R version used for fitting: 4.3.0
Date of fit: Fri May 19 18:14:21 2023
Date of summary: Fri May 19 18:15:34 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.666 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.5
R version used for fitting: 4.3.0
Date of fit: Fri May 19 18:14:20 2023
Date of summary: Fri May 19 18:15:34 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.639 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.5
R version used for fitting: 4.3.0
Date of fit: Fri May 19 18:14:22 2023
Date of summary: Fri May 19 18:15:34 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.435 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.5
R version used for fitting: 4.3.0
Date of fit: Fri May 19 18:14:20 2023
Date of summary: Fri May 19 18:15:34 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 1.946 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.5
R version used for fitting: 4.3.0
Date of fit: Fri May 19 18:14:22 2023
Date of summary: Fri May 19 18:15:34 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.626 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.3.0 (2023-04-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 12 (bookworm)
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; LAPACK version 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] saemix_3.2 npde_3.3 knitr_1.42 mkin_1.2.5
loaded via a namespace (and not attached):
[1] sass_0.4.6 utf8_1.2.3 generics_0.1.3 stringi_1.7.12
[5] lattice_0.21-8 digest_0.6.31 magrittr_2.0.3 evaluate_0.21
[9] grid_4.3.0 fastmap_1.1.1 rprojroot_2.0.3 jsonlite_1.8.4
[13] DBI_1.1.3 mclust_6.0.0 gridExtra_2.3 purrr_1.0.1
[17] fansi_1.0.4 scales_1.2.1 codetools_0.2-19 textshaping_0.3.6
[21] jquerylib_0.1.4 cli_3.6.1 rlang_1.1.1 munsell_0.5.0
[25] cachem_1.0.8 yaml_2.3.7 tools_4.3.0 memoise_2.0.1
[29] dplyr_1.1.2 colorspace_2.1-0 ggplot2_3.4.2 vctrs_0.6.2
[33] R6_2.5.1 zoo_1.8-12 lifecycle_1.0.3 stringr_1.5.0
[37] fs_1.6.2 ragg_1.2.5 pkgconfig_2.0.3 desc_1.4.2
[41] pkgdown_2.0.7 bslib_0.4.2 pillar_1.9.0 gtable_0.3.3
[45] glue_1.6.2 systemfonts_1.0.4 highr_0.10 xfun_0.39
[49] tibble_3.2.1 lmtest_0.9-40 tidyselect_1.2.0 htmltools_0.5.5
[53] nlme_3.1-162 rmarkdown_2.21 compiler_4.3.0 </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: 64925476 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>