diff options
author | Johannes Ranke <jranke@uni-bremen.de> | 2023-04-20 20:17:12 +0200 |
---|---|---|
committer | Johannes Ranke <jranke@uni-bremen.de> | 2023-04-20 20:17:12 +0200 |
commit | 7b7c4bf493ba15824ea43bed764661678b4aca03 (patch) | |
tree | 48de1e32327c36ee49fc476dc76ece8397ab55c6 /docs/articles/prebuilt/2022_dmta_parent.html | |
parent | 842998b688037c007d8876d7e1110c929fe2374c (diff) | |
parent | 9ae42bd20bc2543a94cf1581ba9820c2f9e3afbd (diff) |
Merge branch 'v1.2.3_pkgdown'
Diffstat (limited to 'docs/articles/prebuilt/2022_dmta_parent.html')
-rw-r--r-- | docs/articles/prebuilt/2022_dmta_parent.html | 2223 |
1 files changed, 2223 insertions, 0 deletions
diff --git a/docs/articles/prebuilt/2022_dmta_parent.html b/docs/articles/prebuilt/2022_dmta_parent.html new file mode 100644 index 00000000..378a7e8e --- /dev/null +++ b/docs/articles/prebuilt/2022_dmta_parent.html @@ -0,0 +1,2223 @@ +<!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"> +<!-- 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-default" data-toggle="tooltip" data-placement="bottom" title="Released 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 20 April 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.3 +R version used for fitting: 4.2.3 +Date of fit: Thu Apr 20 14:07:09 2023 +Date of summary: Thu Apr 20 14:07:10 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.175 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.3 +R version used for fitting: 4.2.3 +Date of fit: Thu Apr 20 14:07:02 2023 +Date of summary: Thu Apr 20 14:08:16 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.3 +R version used for fitting: 4.2.3 +Date of fit: Thu Apr 20 14:07:03 2023 +Date of summary: Thu Apr 20 14:08:16 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.398 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.3 +R version used for fitting: 4.2.3 +Date of fit: Thu Apr 20 14:07:02 2023 +Date of summary: Thu Apr 20 14:08:16 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.398 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.3 +R version used for fitting: 4.2.3 +Date of fit: Thu Apr 20 14:07:04 2023 +Date of summary: Thu Apr 20 14:08:16 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 3.044 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.3 +R version used for fitting: 4.2.3 +Date of fit: Thu Apr 20 14:07:02 2023 +Date of summary: Thu Apr 20 14:08:16 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.838 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.3 +R version used for fitting: 4.2.3 +Date of fit: Thu Apr 20 14:07:04 2023 +Date of summary: Thu Apr 20 14:08:16 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.297 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.3 +R version used for fitting: 4.2.3 +Date of fit: Thu Apr 20 14:07:03 2023 +Date of summary: Thu Apr 20 14:08:16 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.972 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.3 +R version used for fitting: 4.2.3 +Date of fit: Thu Apr 20 14:07:04 2023 +Date of summary: Thu Apr 20 14:08:16 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.378 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.3 (2023-03-15) +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 + +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.42 mkin_1.2.3 + +loaded via a namespace (and not attached): + [1] highr_0.10 pillar_1.9.0 bslib_0.4.2 compiler_4.2.3 + [5] jquerylib_0.1.4 tools_4.2.3 mclust_6.0.0 digest_0.6.31 + [9] tibble_3.2.1 jsonlite_1.8.4 evaluate_0.20 memoise_2.0.1 +[13] lifecycle_1.0.3 nlme_3.1-162 gtable_0.3.3 lattice_0.21-8 +[17] pkgconfig_2.0.3 rlang_1.1.0 DBI_1.1.3 cli_3.6.1 +[21] yaml_2.3.7 pkgdown_2.0.7 xfun_0.38 fastmap_1.1.1 +[25] gridExtra_2.3 dplyr_1.1.1 stringr_1.5.0 generics_0.1.3 +[29] desc_1.4.2 fs_1.6.1 vctrs_0.6.1 sass_0.4.5 +[33] systemfonts_1.0.4 tidyselect_1.2.0 rprojroot_2.0.3 lmtest_0.9-40 +[37] grid_4.2.3 glue_1.6.2 R6_2.5.1 textshaping_0.3.6 +[41] fansi_1.0.4 rmarkdown_2.21 purrr_1.0.1 ggplot2_3.4.2 +[45] magrittr_2.0.3 codetools_0.2-19 scales_1.2.1 htmltools_0.5.5 +[49] colorspace_2.1-0 ragg_1.2.5 utf8_1.2.3 stringi_1.7.12 +[53] munsell_0.5.0 cachem_1.0.7 zoo_1.8-12 </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: 64936316 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> |