diff options
author | Johannes Ranke <jranke@uni-bremen.de> | 2023-04-16 13:42:23 +0200 |
---|---|---|
committer | Johannes Ranke <jranke@uni-bremen.de> | 2023-04-16 13:42:23 +0200 |
commit | 34ec60f1b140d788880d84b70cb62b344f7d74b9 (patch) | |
tree | 26196c367f037b69f410363a393dad87b5bff233 /docs/dev/articles/web_only | |
parent | 99b4554a1ce657295b1358509110f3d02155a913 (diff) |
Complete rebuild of static docs
Diffstat (limited to 'docs/dev/articles/web_only')
44 files changed, 704 insertions, 223 deletions
diff --git a/docs/dev/articles/web_only/FOCUS_Z.html b/docs/dev/articles/web_only/FOCUS_Z.html index eec1ba66..979cf2c6 100644 --- a/docs/dev/articles/web_only/FOCUS_Z.html +++ b/docs/dev/articles/web_only/FOCUS_Z.html @@ -34,14 +34,14 @@ </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.2</span> + <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.3</span> </span> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li> - <a href="../../reference/index.html">Functions and data</a> + <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"> @@ -53,6 +53,9 @@ <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> @@ -60,22 +63,31 @@ <a href="../../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a> </li> <li> - <a href="../../articles/web_only/dimethenamid_2018.html">Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models</a> + <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/web_only/multistart.html">Short demo of the multistart method</a> + <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/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a> + <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/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a> + <a href="../../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a> </li> <li> - <a href="../../articles/twa.html">Calculation of time weighted average concentrations with mkin</a> + <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/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a> + <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> @@ -83,6 +95,15 @@ <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> @@ -106,13 +127,15 @@ - </header><script src="FOCUS_Z_files/accessible-code-block-0.0.1/empty-anchor.js"></script><div class="row"> + </header><div class="row"> <div class="col-md-9 contents"> <div class="page-header toc-ignore"> <h1 data-toc-skip>Example evaluation of FOCUS dataset Z</h1> - <h4 data-toc-skip class="author">Johannes Ranke</h4> + <h4 data-toc-skip class="author">Johannes +Ranke</h4> - <h4 data-toc-skip class="date">Last change 16 January 2018 (rebuilt 2022-11-24)</h4> + <h4 data-toc-skip class="date">Last change 16 January 2018 +(rebuilt 2023-04-16)</h4> <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/vignettes/web_only/FOCUS_Z.rmd" class="external-link"><code>vignettes/web_only/FOCUS_Z.rmd</code></a></small> <div class="hidden name"><code>FOCUS_Z.rmd</code></div> @@ -121,11 +144,15 @@ -<p><a href="http://www.jrwb.de" class="external-link">Wissenschaftlicher Berater, Kronacher Str. 12, 79639 Grenzach-Wyhlen, Germany</a><br><a href="http://chem.uft.uni-bremen.de/ranke" class="external-link">Privatdozent at the University of Bremen</a></p> +<p><a href="http://www.jrwb.de" class="external-link">Wissenschaftlicher Berater, Kronacher +Str. 12, 79639 Grenzach-Wyhlen, Germany</a><br><a href="http://chem.uft.uni-bremen.de/ranke" class="external-link">Privatdozent at the +University of Bremen</a></p> <div class="section level2"> <h2 id="the-data">The data<a class="anchor" aria-label="anchor" href="#the-data"></a> </h2> -<p>The following code defines the example dataset from Appendix 7 to the FOCUS kinetics report <span class="citation">(FOCUS Work Group on Degradation Kinetics 2014, 354)</span>.</p> +<p>The following code defines the example dataset from Appendix 7 to the +FOCUS kinetics report <span class="citation">(FOCUS Work Group on +Degradation Kinetics 2014, 354)</span>.</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>, quietly <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span> <span><span class="va">LOD</span> <span class="op">=</span> <span class="fl">0.5</span></span> @@ -146,7 +173,11 @@ <div class="section level2"> <h2 id="parent-and-one-metabolite">Parent and one metabolite<a class="anchor" aria-label="anchor" href="#parent-and-one-metabolite"></a> </h2> -<p>The next step is to set up the models used for the kinetic analysis. As the simultaneous fit of parent and the first metabolite is usually straightforward, Step 1 (SFO for parent only) is skipped here. We start with the model 2a, with formation and decline of metabolite Z1 and the pathway from parent directly to sink included (default in mkin).</p> +<p>The next step is to set up the models used for the kinetic analysis. +As the simultaneous fit of parent and the first metabolite is usually +straightforward, Step 1 (SFO for parent only) is skipped here. We start +with the model 2a, with formation and decline of metabolite Z1 and the +pathway from parent directly to sink included (default in mkin).</p> <div class="sourceCode" id="cb2"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">Z.2a</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span>Z0 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z1"</span><span class="op">)</span>,</span> <span> Z1 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span><span class="op">)</span><span class="op">)</span></span></code></pre></div> @@ -166,8 +197,14 @@ <span><span class="co">## k_Z1 0.48212 0.063265 7.6207 2.8154e-08 0.40341 0.5762</span></span> <span><span class="co">## f_Z0_to_Z1 1.00000 0.094764 10.5525 5.3560e-11 0.00000 1.0000</span></span> <span><span class="co">## sigma 4.80411 0.635638 7.5579 3.2592e-08 3.52677 6.0815</span></span></code></pre> -<p>As obvious from the parameter summary (the component of the summary), the kinetic rate constant from parent compound Z to sink is very small and the t-test for this parameter suggests that it is not significantly different from zero. This suggests, in agreement with the analysis in the FOCUS kinetics report, to simplify the model by removing the pathway to sink.</p> -<p>A similar result can be obtained when formation fractions are used in the model formulation:</p> +<p>As obvious from the parameter summary (the component of the summary), +the kinetic rate constant from parent compound Z to sink is very small +and the t-test for this parameter suggests that it is not significantly +different from zero. This suggests, in agreement with the analysis in +the FOCUS kinetics report, to simplify the model by removing the pathway +to sink.</p> +<p>A similar result can be obtained when formation fractions are used in +the model formulation:</p> <div class="sourceCode" id="cb9"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">Z.2a.ff</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span>Z0 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z1"</span><span class="op">)</span>,</span> <span> Z1 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span><span class="op">)</span>,</span> @@ -188,9 +225,17 @@ <span><span class="co">## k_Z1 0.48212 0.063265 7.6207 2.8154e-08 0.40341 0.5762</span></span> <span><span class="co">## f_Z0_to_Z1 1.00000 0.094764 10.5525 5.3560e-11 0.00000 1.0000</span></span> <span><span class="co">## sigma 4.80411 0.635638 7.5579 3.2592e-08 3.52677 6.0815</span></span></code></pre> -<p>Here, the ilr transformed formation fraction fitted in the model takes a very large value, and the backtransformed formation fraction from parent Z to Z1 is practically unity. Here, the covariance matrix used for the calculation of confidence intervals is not returned as the model is overparameterised.</p> -<p>A simplified model is obtained by removing the pathway to the sink. </p> -<p>In the following, we use the parameterisation with formation fractions in order to be able to compare with the results in the FOCUS guidance, and as it makes it easier to use parameters obtained in a previous fit when adding a further metabolite.</p> +<p>Here, the ilr transformed formation fraction fitted in the model +takes a very large value, and the backtransformed formation fraction +from parent Z to Z1 is practically unity. Here, the covariance matrix +used for the calculation of confidence intervals is not returned as the +model is overparameterised.</p> +<p>A simplified model is obtained by removing the pathway to the sink. +</p> +<p>In the following, we use the parameterisation with formation +fractions in order to be able to compare with the results in the FOCUS +guidance, and as it makes it easier to use parameters obtained in a +previous fit when adding a further metabolite.</p> <div class="sourceCode" id="cb16"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">Z.3</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span>Z0 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z1"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> <span> Z1 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span><span class="op">)</span>, use_of_ff <span class="op">=</span> <span class="st">"max"</span><span class="op">)</span></span></code></pre></div> @@ -209,12 +254,18 @@ <span><span class="co">## k_Z0 2.23601 0.146904 15.221 9.1477e-15 1.95354 2.5593</span></span> <span><span class="co">## k_Z1 0.48212 0.041727 11.554 4.8268e-12 0.40355 0.5760</span></span> <span><span class="co">## sigma 4.80411 0.620208 7.746 1.6110e-08 3.52925 6.0790</span></span></code></pre> -<p>As there is only one transformation product for Z0 and no pathway to sink, the formation fraction is internally fixed to unity.</p> +<p>As there is only one transformation product for Z0 and no pathway to +sink, the formation fraction is internally fixed to unity.</p> </div> <div class="section level2"> <h2 id="metabolites-z2-and-z3">Metabolites Z2 and Z3<a class="anchor" aria-label="anchor" href="#metabolites-z2-and-z3"></a> </h2> -<p>As suggested in the FOCUS report, the pathway to sink was removed for metabolite Z1 as well in the next step. While this step appears questionable on the basis of the above results, it is followed here for the purpose of comparison. Also, in the FOCUS report, it is assumed that there is additional empirical evidence that Z1 quickly and exclusively hydrolyses to Z2.</p> +<p>As suggested in the FOCUS report, the pathway to sink was removed for +metabolite Z1 as well in the next step. While this step appears +questionable on the basis of the above results, it is followed here for +the purpose of comparison. Also, in the FOCUS report, it is assumed that +there is additional empirical evidence that Z1 quickly and exclusively +hydrolyses to Z2.</p> <div class="sourceCode" id="cb23"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">Z.5</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span>Z0 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z1"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> <span> Z1 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z2"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> @@ -227,7 +278,9 @@ <div class="sourceCode" id="cb27"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="../../reference/plot.mkinfit.html">plot_sep</a></span><span class="op">(</span><span class="va">m.Z.5</span><span class="op">)</span></span></code></pre></div> <p><img src="FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png" width="700"></p> -<p>Finally, metabolite Z3 is added to the model. We use the optimised differential equation parameter values from the previous fit in order to accelerate the optimization.</p> +<p>Finally, metabolite Z3 is added to the model. We use the optimised +differential equation parameter values from the previous fit in order to +accelerate the optimization.</p> <div class="sourceCode" id="cb28"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">Z.FOCUS</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span>Z0 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z1"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> <span> Z1 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z2"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> @@ -268,13 +321,22 @@ <span><span class="co">## Z1 1.44917 4.8141</span></span> <span><span class="co">## Z2 1.53478 5.0984</span></span> <span><span class="co">## Z3 11.80986 39.2315</span></span></code></pre> -<p>This fit corresponds to the final result chosen in Appendix 7 of the FOCUS report. Confidence intervals returned by mkin are based on internally transformed parameters, however.</p> +<p>This fit corresponds to the final result chosen in Appendix 7 of the +FOCUS report. Confidence intervals returned by mkin are based on +internally transformed parameters, however.</p> </div> <div class="section level2"> <h2 id="using-the-sforb-model">Using the SFORB model<a class="anchor" aria-label="anchor" href="#using-the-sforb-model"></a> </h2> -<p>As the FOCUS report states, there is a certain tailing of the time course of metabolite Z3. Also, the time course of the parent compound is not fitted very well using the SFO model, as residues at a certain low level remain.</p> -<p>Therefore, an additional model is offered here, using the single first-order reversible binding (SFORB) model for metabolite Z3. As expected, the <span class="math inline">\(\chi^2\)</span> error level is lower for metabolite Z3 using this model and the graphical fit for Z3 is improved. However, the covariance matrix is not returned.</p> +<p>As the FOCUS report states, there is a certain tailing of the time +course of metabolite Z3. Also, the time course of the parent compound is +not fitted very well using the SFO model, as residues at a certain low +level remain.</p> +<p>Therefore, an additional model is offered here, using the single +first-order reversible binding (SFORB) model for metabolite Z3. As +expected, the <span class="math inline">\(\chi^2\)</span> error level is +lower for metabolite Z3 using this model and the graphical fit for Z3 is +improved. However, the covariance matrix is not returned.</p> <div class="sourceCode" id="cb38"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">Z.mkin.1</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span>Z0 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z1"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> <span> Z1 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z2"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> @@ -283,15 +345,18 @@ <pre><code><span><span class="co">## Temporary DLL for differentials generated and loaded</span></span></code></pre> <div class="sourceCode" id="cb40"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">m.Z.mkin.1</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinfit.html">mkinfit</a></span><span class="op">(</span><span class="va">Z.mkin.1</span>, <span class="va">FOCUS_2006_Z_mkin</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div> -<pre><code><span><span class="co">## Warning in mkinfit(Z.mkin.1, FOCUS_2006_Z_mkin, quiet = TRUE): Observations with</span></span> -<span><span class="co">## value of zero were removed from the data</span></span></code></pre> +<pre><code><span><span class="co">## Warning in mkinfit(Z.mkin.1, FOCUS_2006_Z_mkin, quiet = TRUE): Observations</span></span> +<span><span class="co">## with value of zero were removed from the data</span></span></code></pre> <div class="sourceCode" id="cb42"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="../../reference/plot.mkinfit.html">plot_sep</a></span><span class="op">(</span><span class="va">m.Z.mkin.1</span><span class="op">)</span></span></code></pre></div> <p><img src="FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png" width="700"></p> <div class="sourceCode" id="cb43"><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">m.Z.mkin.1</span>, data <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span><span class="op">$</span><span class="va">cov.unscaled</span></span></code></pre></div> <pre><code><span><span class="co">## NULL</span></span></code></pre> -<p>Therefore, a further stepwise model building is performed starting from the stage of parent and two metabolites, starting from the assumption that the model fit for the parent compound can be improved by using the SFORB model.</p> +<p>Therefore, a further stepwise model building is performed starting +from the stage of parent and two metabolites, starting from the +assumption that the model fit for the parent compound can be improved by +using the SFORB model.</p> <div class="sourceCode" id="cb45"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">Z.mkin.3</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span>Z0 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFORB"</span>, <span class="st">"Z1"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> <span> Z1 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z2"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> @@ -299,13 +364,16 @@ <pre><code><span><span class="co">## Temporary DLL for differentials generated and loaded</span></span></code></pre> <div class="sourceCode" id="cb47"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">m.Z.mkin.3</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinfit.html">mkinfit</a></span><span class="op">(</span><span class="va">Z.mkin.3</span>, <span class="va">FOCUS_2006_Z_mkin</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div> -<pre><code><span><span class="co">## Warning in mkinfit(Z.mkin.3, FOCUS_2006_Z_mkin, quiet = TRUE): Observations with</span></span> -<span><span class="co">## value of zero were removed from the data</span></span></code></pre> +<pre><code><span><span class="co">## Warning in mkinfit(Z.mkin.3, FOCUS_2006_Z_mkin, quiet = TRUE): Observations</span></span> +<span><span class="co">## with value of zero were removed from the data</span></span></code></pre> <div class="sourceCode" id="cb49"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="../../reference/plot.mkinfit.html">plot_sep</a></span><span class="op">(</span><span class="va">m.Z.mkin.3</span><span class="op">)</span></span></code></pre></div> <p><img src="FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png" width="700"></p> -<p>This results in a much better representation of the behaviour of the parent compound Z0.</p> -<p>Finally, Z3 is added as well. These models appear overparameterised (no covariance matrix returned) if the sink for Z1 is left in the models.</p> +<p>This results in a much better representation of the behaviour of the +parent compound Z0.</p> +<p>Finally, Z3 is added as well. These models appear overparameterised +(no covariance matrix returned) if the sink for Z1 is left in the +models.</p> <div class="sourceCode" id="cb50"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">Z.mkin.4</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span>Z0 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFORB"</span>, <span class="st">"Z1"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> <span> Z1 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z2"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> @@ -322,7 +390,10 @@ <div class="sourceCode" id="cb54"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="../../reference/plot.mkinfit.html">plot_sep</a></span><span class="op">(</span><span class="va">m.Z.mkin.4</span><span class="op">)</span></span></code></pre></div> <p><img src="FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png" width="700"></p> -<p>The error level of the fit, but especially of metabolite Z3, can be improved if the SFORB model is chosen for this metabolite, as this model is capable of representing the tailing of the metabolite decline phase.</p> +<p>The error level of the fit, but especially of metabolite Z3, can be +improved if the SFORB model is chosen for this metabolite, as this model +is capable of representing the tailing of the metabolite decline +phase.</p> <div class="sourceCode" id="cb55"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">Z.mkin.5</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span>Z0 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFORB"</span>, <span class="st">"Z1"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> <span> Z1 <span class="op">=</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"Z2"</span>, sink <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,</span> @@ -339,7 +410,9 @@ <div class="sourceCode" id="cb59"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="../../reference/plot.mkinfit.html">plot_sep</a></span><span class="op">(</span><span class="va">m.Z.mkin.5</span><span class="op">)</span></span></code></pre></div> <p><img src="FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png" width="700"></p> -<p>The summary view of the backtransformed parameters shows that we get no confidence intervals due to overparameterisation. As the optimized is excessively small, it seems reasonable to fix it to zero.</p> +<p>The summary view of the backtransformed parameters shows that we get +no confidence intervals due to overparameterisation. As the optimized is +excessively small, it seems reasonable to fix it to zero.</p> <div class="sourceCode" id="cb60"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">m.Z.mkin.5a</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinfit.html">mkinfit</a></span><span class="op">(</span><span class="va">Z.mkin.5</span>, <span class="va">FOCUS_2006_Z_mkin</span>,</span> <span> parms.ini <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="va">m.Z.mkin.5</span><span class="op">$</span><span class="va">bparms.ode</span><span class="op">[</span><span class="fl">1</span><span class="op">:</span><span class="fl">7</span><span class="op">]</span>,</span> @@ -352,8 +425,12 @@ <div class="sourceCode" id="cb62"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="../../reference/plot.mkinfit.html">plot_sep</a></span><span class="op">(</span><span class="va">m.Z.mkin.5a</span><span class="op">)</span></span></code></pre></div> <p><img src="FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png" width="700"></p> -<p>As expected, the residual plots for Z0 and Z3 are more random than in the case of the all SFO model for which they were shown above. In conclusion, the model is proposed as the best-fit model for the dataset from Appendix 7 of the FOCUS report.</p> -<p>A graphical representation of the confidence intervals can finally be obtained.</p> +<p>As expected, the residual plots for Z0 and Z3 are more random than in +the case of the all SFO model for which they were shown above. In +conclusion, the model is proposed as the best-fit model for the dataset +from Appendix 7 of the FOCUS report.</p> +<p>A graphical representation of the confidence intervals can finally be +obtained.</p> <div class="sourceCode" id="cb63"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="../../reference/mkinparplot.html">mkinparplot</a></span><span class="op">(</span><span class="va">m.Z.mkin.5a</span><span class="op">)</span></span></code></pre></div> <p><img src="FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png" width="700"></p> @@ -374,15 +451,22 @@ <span><span class="co">## Z1 1.5148 5.0320 NA NA NA NA NA</span></span> <span><span class="co">## Z2 1.6414 5.4526 NA NA NA NA NA</span></span> <span><span class="co">## Z3 NA NA NA NA NA 8.6636 Inf</span></span></code></pre> -<p>It is clear the degradation rate of Z3 towards the end of the experiment is very low as DT50_Z3_b2 (the second Eigenvalue of the system of two differential equations representing the SFORB system for Z3, corresponding to the slower rate constant of the DFOP model) is reported to be infinity. However, this appears to be a feature of the data.</p> +<p>It is clear the degradation rate of Z3 towards the end of the +experiment is very low as DT50_Z3_b2 (the second Eigenvalue of the +system of two differential equations representing the SFORB system for +Z3, corresponding to the slower rate constant of the DFOP model) is +reported to be infinity. However, this appears to be a feature of the +data.</p> </div> <div class="section level2"> <h2 id="references">References<a class="anchor" aria-label="anchor" href="#references"></a> </h2> <!-- vim: set foldmethod=syntax: --> -<div id="refs" class="references hanging-indent"> -<div id="ref-FOCUSkinetics2014"> -<p>FOCUS Work Group on Degradation Kinetics. 2014. <em>Generic Guidance for Estimating Persistence and Degradation Kinetics from Environmental Fate Studies on Pesticides in Eu Registration</em>. 1.1 ed. <a href="http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics" class="external-link">http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics</a>.</p> +<div id="refs" class="references csl-bib-body hanging-indent"> +<div id="ref-FOCUSkinetics2014" class="csl-entry"> +FOCUS Work Group on Degradation Kinetics. 2014. <em>Generic Guidance for +Estimating Persistence and Degradation Kinetics from Environmental Fate +Studies on Pesticides in EU Registration</em>. 1.1 ed. <a href="http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics" class="external-link">http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics</a>. </div> </div> </div> @@ -405,7 +489,7 @@ <div class="pkgdown"> <p></p> -<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> +<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer> diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png Binary files differindex be652d31..98bc135b 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png Binary files differindex bc6efaf7..33269a34 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png Binary files differindex 55c1b645..6e1877f4 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png Binary files differindex 8e63cd04..113c1b0b 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png Binary files differindex 3902e059..6b0dbc34 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png Binary files differindex be652d31..98bc135b 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png Binary files differindex 59524035..0380ba43 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png Binary files differindex d95cac25..d080a57a 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png Binary files differindex cb333a1c..3119be2d 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png Binary files differindex d87105fb..87af8874 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png Binary files differindex db807f14..1938b499 100644 --- a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png +++ b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples.html b/docs/dev/articles/web_only/NAFTA_examples.html index a054d4a1..9feecfce 100644 --- a/docs/dev/articles/web_only/NAFTA_examples.html +++ b/docs/dev/articles/web_only/NAFTA_examples.html @@ -34,14 +34,14 @@ </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.2</span> + <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.3</span> </span> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li> - <a href="../../reference/index.html">Functions and data</a> + <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"> @@ -53,6 +53,9 @@ <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> @@ -60,22 +63,31 @@ <a href="../../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a> </li> <li> - <a href="../../articles/web_only/dimethenamid_2018.html">Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models</a> + <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/web_only/multistart.html">Short demo of the multistart method</a> + <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/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a> + <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/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a> + <a href="../../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a> </li> <li> - <a href="../../articles/twa.html">Calculation of time weighted average concentrations with mkin</a> + <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/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a> + <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> @@ -83,6 +95,15 @@ <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> @@ -106,13 +127,16 @@ - </header><script src="NAFTA_examples_files/accessible-code-block-0.0.1/empty-anchor.js"></script><div class="row"> + </header><div class="row"> <div class="col-md-9 contents"> <div class="page-header toc-ignore"> - <h1 data-toc-skip>Evaluation of example datasets from Attachment 1 to the US EPA SOP for the NAFTA guidance</h1> - <h4 data-toc-skip class="author">Johannes Ranke</h4> + <h1 data-toc-skip>Evaluation of example datasets from Attachment 1 +to the US EPA SOP for the NAFTA guidance</h1> + <h4 data-toc-skip class="author">Johannes +Ranke</h4> - <h4 data-toc-skip class="date">26 February 2019 (rebuilt 2022-11-24)</h4> + <h4 data-toc-skip class="date">26 February 2019 (rebuilt +2023-04-16)</h4> <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/vignettes/web_only/NAFTA_examples.rmd" class="external-link"><code>vignettes/web_only/NAFTA_examples.rmd</code></a></small> <div class="hidden name"><code>NAFTA_examples.rmd</code></div> @@ -124,13 +148,22 @@ <div class="section level2"> <h2 id="introduction">Introduction<a class="anchor" aria-label="anchor" href="#introduction"></a> </h2> -<p>In this document, the example evaluations provided in Attachment 1 to the SOP of US EPA for using the NAFTA guidance <span class="citation">(US EPA 2015)</span> are repeated using mkin. The original evaluations reported in the attachment were performed using PestDF in version 0.8.4. Note that PestDF 0.8.13 is the version distributed at the US EPA website today (2019-02-26).</p> +<p>In this document, the example evaluations provided in Attachment 1 to +the SOP of US EPA for using the NAFTA guidance <span class="citation">(US EPA 2015)</span> are repeated using mkin. The +original evaluations reported in the attachment were performed using +PestDF in version 0.8.4. Note that PestDF 0.8.13 is the version +distributed at the US EPA website today (2019-02-26).</p> <p>The datasets are now distributed with the mkin package.</p> </div> <div class="section level2"> <h2 id="examples-where-dfop-did-not-converge-with-pestdf-0-8-4">Examples where DFOP did not converge with PestDF 0.8.4<a class="anchor" aria-label="anchor" href="#examples-where-dfop-did-not-converge-with-pestdf-0-8-4"></a> </h2> -<p>In attachment 1, it is reported that the DFOP model does not converge for these datasets when PestDF 0.8.4 was used. For all four datasets, the DFOP model can be fitted with mkin (see below). The negative half-life given by PestDF 0.8.4 for these fits appears to be the result of a bug. The results for the other two models (SFO and IORE) are the same.</p> +<p>In attachment 1, it is reported that the DFOP model does not converge +for these datasets when PestDF 0.8.4 was used. For all four datasets, +the DFOP model can be fitted with mkin (see below). The negative +half-life given by PestDF 0.8.4 for these fits appears to be the result +of a bug. The results for the other two models (SFO and IORE) are the +same.</p> <div class="section level3"> <h3 id="example-on-page-5-upper-panel">Example on page 5, upper panel<a class="anchor" aria-label="anchor" href="#example-on-page-5-upper-panel"></a> </h3> @@ -337,12 +370,15 @@ </div> </div> <div class="section level2"> -<h2 id="examples-where-the-representative-half-life-deviates-from-the-observed-dt50">Examples where the representative half-life deviates from the observed DT50<a class="anchor" aria-label="anchor" href="#examples-where-the-representative-half-life-deviates-from-the-observed-dt50"></a> +<h2 id="examples-where-the-representative-half-life-deviates-from-the-observed-dt50">Examples where the representative half-life deviates from the +observed DT50<a class="anchor" aria-label="anchor" href="#examples-where-the-representative-half-life-deviates-from-the-observed-dt50"></a> </h2> <div class="section level3"> <h3 id="example-on-page-8">Example on page 8<a class="anchor" aria-label="anchor" href="#example-on-page-8"></a> </h3> -<p>For this dataset, the IORE fit does not converge when the default starting values used by mkin for the IORE model are used. Therefore, a lower value for the rate constant is used here.</p> +<p>For this dataset, the IORE fit does not converge when the default +starting values used by mkin for the IORE model are used. Therefore, a +lower value for the rate constant is used here.</p> <div class="sourceCode" id="cb25"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">p8</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/nafta.html">nafta</a></span><span class="op">(</span><span class="va">NAFTA_SOP_Attachment</span><span class="op">[[</span><span class="st">"p8"</span><span class="op">]</span><span class="op">]</span>, parms.ini <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>k__iore_parent <span class="op">=</span> <span class="fl">1e-3</span><span class="op">)</span><span class="op">)</span></span></code></pre></div> <pre><code><span><span class="co">## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c</span></span></code></pre> @@ -445,7 +481,9 @@ <span><span class="co">## </span></span> <span><span class="co">## Representative half-life:</span></span> <span><span class="co">## [1] 101.43</span></span></code></pre> -<p>In this example, the residuals of the SFO indicate a lack of fit of this model, so even if it was an abiotic experiment, the data do not suggest a simple exponential decline.</p> +<p>In this example, the residuals of the SFO indicate a lack of fit of +this model, so even if it was an abiotic experiment, the data do not +suggest a simple exponential decline.</p> </div> <div class="section level3"> <h3 id="example-on-page-9-lower-panel">Example on page 9, lower panel<a class="anchor" aria-label="anchor" href="#example-on-page-9-lower-panel"></a> @@ -455,8 +493,8 @@ <pre><code><span><span class="co">## Warning in sqrt(diag(covar)): NaNs produced</span></span></code></pre> <pre><code><span><span class="co">## Warning in sqrt(diag(covar_notrans)): NaNs produced</span></span></code></pre> <pre><code><span><span class="co">## Warning in sqrt(1/diag(V)): NaNs produced</span></span></code></pre> -<pre><code><span><span class="co">## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is</span></span> -<span><span class="co">## doubtful</span></span></code></pre> +<pre><code><span><span class="co">## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result</span></span> +<span><span class="co">## is doubtful</span></span></code></pre> <pre><code><span><span class="co">## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c</span></span></code></pre> <pre><code><span><span class="co">## The half-life obtained from the IORE model may be used</span></span></code></pre> <div class="sourceCode" id="cb44"><pre class="downlit sourceCode r"> @@ -502,7 +540,12 @@ <span><span class="co">## </span></span> <span><span class="co">## Representative half-life:</span></span> <span><span class="co">## [1] 14.8</span></span></code></pre> -<p>Here, mkin gives a longer slow DT50 for the DFOP model (17.8 days) than PestDF (13.5 days). Presumably, this is related to the fact that PestDF gives a negative value for the proportion of the fast degradation which should be between 0 and 1, inclusive. This parameter is called f in PestDF and g in mkin. In mkin, it is restricted to the interval from 0 to 1.</p> +<p>Here, mkin gives a longer slow DT50 for the DFOP model (17.8 days) +than PestDF (13.5 days). Presumably, this is related to the fact that +PestDF gives a negative value for the proportion of the fast degradation +which should be between 0 and 1, inclusive. This parameter is called f +in PestDF and g in mkin. In mkin, it is restricted to the interval from +0 to 1.</p> </div> <div class="section level3"> <h3 id="example-on-page-10">Example on page 10<a class="anchor" aria-label="anchor" href="#example-on-page-10"></a> @@ -511,8 +554,8 @@ <code class="sourceCode R"><span><span class="va">p10</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/nafta.html">nafta</a></span><span class="op">(</span><span class="va">NAFTA_SOP_Attachment</span><span class="op">[[</span><span class="st">"p10"</span><span class="op">]</span><span class="op">]</span><span class="op">)</span></span></code></pre></div> <pre><code><span><span class="co">## Warning in sqrt(diag(covar)): NaNs produced</span></span></code></pre> <pre><code><span><span class="co">## Warning in sqrt(1/diag(V)): NaNs produced</span></span></code></pre> -<pre><code><span><span class="co">## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is</span></span> -<span><span class="co">## doubtful</span></span></code></pre> +<pre><code><span><span class="co">## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result</span></span> +<span><span class="co">## is doubtful</span></span></code></pre> <pre><code><span><span class="co">## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c</span></span></code></pre> <pre><code><span><span class="co">## The half-life obtained from the IORE model may be used</span></span></code></pre> <div class="sourceCode" id="cb53"><pre class="downlit sourceCode r"> @@ -558,7 +601,11 @@ <span><span class="co">## </span></span> <span><span class="co">## Representative half-life:</span></span> <span><span class="co">## [1] 8.86</span></span></code></pre> -<p>Here, a value below N is given for the IORE model, because the data suggests a faster decline towards the end of the experiment, which appears physically rather unlikely in the case of a photolysis study. It seems PestDF does not constrain N to values above zero, thus the slight difference in IORE model parameters between PestDF and mkin.</p> +<p>Here, a value below N is given for the IORE model, because the data +suggests a faster decline towards the end of the experiment, which +appears physically rather unlikely in the case of a photolysis study. It +seems PestDF does not constrain N to values above zero, thus the slight +difference in IORE model parameters between PestDF and mkin.</p> </div> </div> <div class="section level2"> @@ -614,13 +661,19 @@ <span><span class="co">## </span></span> <span><span class="co">## Representative half-life:</span></span> <span><span class="co">## [1] 41148170</span></span></code></pre> -<p>In this case, the DFOP fit reported for PestDF resulted in a negative value for the slower rate constant, which is not possible in mkin. The other results are in agreement.</p> +<p>In this case, the DFOP fit reported for PestDF resulted in a negative +value for the slower rate constant, which is not possible in mkin. The +other results are in agreement.</p> </div> </div> <div class="section level2"> -<h2 id="n-is-less-than-1-and-the-dfop-rate-constants-are-like-the-sfo-rate-constant">N is less than 1 and the DFOP rate constants are like the SFO rate constant<a class="anchor" aria-label="anchor" href="#n-is-less-than-1-and-the-dfop-rate-constants-are-like-the-sfo-rate-constant"></a> +<h2 id="n-is-less-than-1-and-the-dfop-rate-constants-are-like-the-sfo-rate-constant">N is less than 1 and the DFOP rate constants are like the SFO rate +constant<a class="anchor" aria-label="anchor" href="#n-is-less-than-1-and-the-dfop-rate-constants-are-like-the-sfo-rate-constant"></a> </h2> -<p>In the following three examples, the same results are obtained with mkin as reported for PestDF. As in the case on page 10, the N values below 1 are deemed unrealistic and appear to be the result of an overparameterisation.</p> +<p>In the following three examples, the same results are obtained with +mkin as reported for PestDF. As in the case on page 10, the N values +below 1 are deemed unrealistic and appear to be the result of an +overparameterisation.</p> <div class="section level3"> <h3 id="example-on-page-12-upper-panel">Example on page 12, upper panel<a class="anchor" aria-label="anchor" href="#example-on-page-12-upper-panel"></a> </h3> @@ -631,8 +684,8 @@ <pre><code><span><span class="co">## Warning in sqrt(diag(covar)): NaNs produced</span></span></code></pre> <pre><code><span><span class="co">## Warning in sqrt(diag(covar_notrans)): NaNs produced</span></span></code></pre> <pre><code><span><span class="co">## Warning in sqrt(1/diag(V)): NaNs produced</span></span></code></pre> -<pre><code><span><span class="co">## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is</span></span> -<span><span class="co">## doubtful</span></span></code></pre> +<pre><code><span><span class="co">## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result</span></span> +<span><span class="co">## is doubtful</span></span></code></pre> <pre><code><span><span class="co">## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c</span></span></code></pre> <pre><code><span><span class="co">## The half-life obtained from the IORE model may be used</span></span></code></pre> <div class="sourceCode" id="cb70"><pre class="downlit sourceCode r"> @@ -793,8 +846,8 @@ <code class="sourceCode R"><span><span class="va">p14</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/nafta.html">nafta</a></span><span class="op">(</span><span class="va">NAFTA_SOP_Attachment</span><span class="op">[[</span><span class="st">"p14"</span><span class="op">]</span><span class="op">]</span><span class="op">)</span></span></code></pre></div> <pre><code><span><span class="co">## Warning in sqrt(diag(covar)): NaNs produced</span></span></code></pre> <pre><code><span><span class="co">## Warning in sqrt(1/diag(V)): NaNs produced</span></span></code></pre> -<pre><code><span><span class="co">## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is</span></span> -<span><span class="co">## doubtful</span></span></code></pre> +<pre><code><span><span class="co">## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result</span></span> +<span><span class="co">## is doubtful</span></span></code></pre> <pre><code><span><span class="co">## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c</span></span></code></pre> <pre><code><span><span class="co">## The half-life obtained from the IORE model may be used</span></span></code></pre> <div class="sourceCode" id="cb95"><pre class="downlit sourceCode r"> @@ -840,7 +893,9 @@ <span><span class="co">## </span></span> <span><span class="co">## Representative half-life:</span></span> <span><span class="co">## [1] 6697.44</span></span></code></pre> -<p>The slower rate constant reported by PestDF is negative, which is not physically realistic, and not possible in mkin. The other fits give the same results in mkin and PestDF.</p> +<p>The slower rate constant reported by PestDF is negative, which is not +physically realistic, and not possible in mkin. The other fits give the +same results in mkin and PestDF.</p> </div> <div class="section level2"> <h2 id="n-is-less-than-1-and-dfop-fraction-parameter-is-below-zero">N is less than 1 and DFOP fraction parameter is below zero<a class="anchor" aria-label="anchor" href="#n-is-less-than-1-and-dfop-fraction-parameter-is-below-zero"></a> @@ -896,8 +951,8 @@ <code class="sourceCode R"><span><span class="va">p15b</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/nafta.html">nafta</a></span><span class="op">(</span><span class="va">NAFTA_SOP_Attachment</span><span class="op">[[</span><span class="st">"p15b"</span><span class="op">]</span><span class="op">]</span><span class="op">)</span></span></code></pre></div> <pre><code><span><span class="co">## Warning in sqrt(diag(covar)): NaNs produced</span></span></code></pre> <pre><code><span><span class="co">## Warning in sqrt(1/diag(V)): NaNs produced</span></span></code></pre> -<pre><code><span><span class="co">## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is</span></span> -<span><span class="co">## doubtful</span></span></code></pre> +<pre><code><span><span class="co">## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result</span></span> +<span><span class="co">## is doubtful</span></span></code></pre> <pre><code><span><span class="co">## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c</span></span></code></pre> <pre><code><span><span class="co">## The half-life obtained from the IORE model may be used</span></span></code></pre> <div class="sourceCode" id="cb110"><pre class="downlit sourceCode r"> @@ -943,7 +998,10 @@ <span><span class="co">## </span></span> <span><span class="co">## Representative half-life:</span></span> <span><span class="co">## [1] 71.18</span></span></code></pre> -<p>In mkin, only the IORE fit is affected (deemed unrealistic), as the fraction parameter of the DFOP model is restricted to the interval between 0 and 1 in mkin. The SFO fits give the same results for both mkin and PestDF.</p> +<p>In mkin, only the IORE fit is affected (deemed unrealistic), as the +fraction parameter of the DFOP model is restricted to the interval +between 0 and 1 in mkin. The SFO fits give the same results for both +mkin and PestDF.</p> </div> <div class="section level2"> <h2 id="the-dfop-fraction-parameter-is-greater-than-1">The DFOP fraction parameter is greater than 1<a class="anchor" aria-label="anchor" href="#the-dfop-fraction-parameter-is-greater-than-1"></a> @@ -997,20 +1055,32 @@ <span><span class="co">## </span></span> <span><span class="co">## Representative half-life:</span></span> <span><span class="co">## [1] 8.93</span></span></code></pre> -<p>In PestDF, the DFOP fit seems to have stuck in a local minimum, as mkin finds a solution with a much lower <span class="math inline">\(\chi^2\)</span> error level. As the half-life from the slower rate constant of the DFOP model is larger than the IORE derived half-life, the NAFTA recommendation obtained with mkin is to use the DFOP representative half-life of 8.9 days.</p> +<p>In PestDF, the DFOP fit seems to have stuck in a local minimum, as +mkin finds a solution with a much lower <span class="math inline">\(\chi^2\)</span> error level. As the half-life from +the slower rate constant of the DFOP model is larger than the IORE +derived half-life, the NAFTA recommendation obtained with mkin is to use +the DFOP representative half-life of 8.9 days.</p> </div> <div class="section level2"> <h2 id="conclusions">Conclusions<a class="anchor" aria-label="anchor" href="#conclusions"></a> </h2> -<p>The results obtained with mkin deviate from the results obtained with PestDF either in cases where one of the interpretive rules would apply, i.e. the IORE parameter N is less than one or the DFOP k values obtained with PestDF are equal to the SFO k values, or in cases where the DFOP model did not converge, which often lead to negative rate constants returned by PestDF.</p> -<p>Therefore, mkin appears to suitable for kinetic evaluations according to the NAFTA guidance.</p> +<p>The results obtained with mkin deviate from the results obtained with +PestDF either in cases where one of the interpretive rules would apply, +i.e. the IORE parameter N is less than one or the DFOP k values obtained +with PestDF are equal to the SFO k values, or in cases where the DFOP +model did not converge, which often lead to negative rate constants +returned by PestDF.</p> +<p>Therefore, mkin appears to suitable for kinetic evaluations according +to the NAFTA guidance.</p> </div> <div class="section level2"> <h2 class="unnumbered" id="references">References<a class="anchor" aria-label="anchor" href="#references"></a> </h2> -<div id="refs" class="references hanging-indent"> -<div id="ref-usepa2015"> -<p>US EPA. 2015. “Standard Operating Procedure for Using the NAFTA Guidance to Calculate Representative Half-Life Values and Characterizing Pesticide Degradation.”</p> +<div id="refs" class="references csl-bib-body hanging-indent"> +<div id="ref-usepa2015" class="csl-entry"> +US EPA. 2015. <span>“Standard Operating Procedure for Using the NAFTA +Guidance to Calculate Representative Half-Life Values and Characterizing +Pesticide Degradation.”</span> <a href="https://www.epa.gov/pesticide-science-and-assessing-pesticide-risks/standard-operating-procedure-using-nafta-guidance" class="external-link">https://www.epa.gov/pesticide-science-and-assessing-pesticide-risks/standard-operating-procedure-using-nafta-guidance</a>. </div> </div> </div> @@ -1033,7 +1103,7 @@ <div class="pkgdown"> <p></p> -<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> +<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer> diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png Binary files differindex 75611a70..566625ea 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png Binary files differindex 55466e47..71fc4699 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png Binary files differindex d3143afa..a1d3a084 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png Binary files differindex 3387ca69..1a6fdd03 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png Binary files differindex 62a135f2..f9b9f637 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png Binary files differindex ae4d83a4..9f7b0cc5 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png Binary files differindex b6faeff9..b5fd7d91 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png Binary files differindex 6b9ba98c..dfbc996f 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png Binary files differindex 72df855b..75ac7e5b 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png Binary files differindex 391dfb95..12a62954 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png Binary files differindex db90244b..6fd175cb 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png Binary files differindex a33372e8..856c6778 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png Binary files differindex d64ea98d..b078fb88 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png Binary files differindex 5cd6c806..a1e3bf25 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png Binary files differindex 61359ea6..c247fd4e 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png Binary files differindex 85790b1e..99d593fc 100644 --- a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png +++ b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png diff --git a/docs/dev/articles/web_only/benchmarks.html b/docs/dev/articles/web_only/benchmarks.html index a2d9f7e8..87bdd55f 100644 --- a/docs/dev/articles/web_only/benchmarks.html +++ b/docs/dev/articles/web_only/benchmarks.html @@ -135,7 +135,7 @@ Ranke</h4> <h4 data-toc-skip class="date">Last change 17 February 2023 -(rebuilt 2023-02-17)</h4> +(rebuilt 2023-04-16)</h4> <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/vignettes/web_only/benchmarks.rmd" class="external-link"><code>vignettes/web_only/benchmarks.rmd</code></a></small> <div class="hidden name"><code>benchmarks.rmd</code></div> @@ -418,6 +418,14 @@ models fitted to two datasets, i.e. eight fits for each test.</p> <td align="right">1.370</td> <td align="right">1.883</td> </tr> +<tr class="odd"> +<td align="left">Linux</td> +<td align="left">Ryzen 9 7950X</td> +<td align="left">4.2.3</td> +<td align="left">1.2.3</td> +<td align="right">1.404</td> +<td align="right">1.933</td> +</tr> </tbody> </table> </div> @@ -636,6 +644,15 @@ for each test.</p> <td align="right">2.011</td> <td align="right">1.123</td> </tr> +<tr class="odd"> +<td align="left">Linux</td> +<td align="left">Ryzen 9 7950X</td> +<td align="left">4.2.3</td> +<td align="left">1.2.3</td> +<td align="right">0.797</td> +<td align="right">2.124</td> +<td align="right">1.182</td> +</tr> </tbody> </table> </div> @@ -935,6 +952,18 @@ dataset, i.e. one fit for each test.</p> <td align="right">0.716</td> <td align="right">0.949</td> </tr> +<tr class="odd"> +<td align="left">Linux</td> +<td align="left">Ryzen 9 7950X</td> +<td align="left">4.2.3</td> +<td align="left">1.2.3</td> +<td align="right">0.432</td> +<td align="right">0.551</td> +<td align="right">0.616</td> +<td align="right">1.039</td> +<td align="right">0.734</td> +<td align="right">0.981</td> +</tr> </tbody> </table> </div> diff --git a/docs/dev/articles/web_only/compiled_models.html b/docs/dev/articles/web_only/compiled_models.html index e9d80420..e7905860 100644 --- a/docs/dev/articles/web_only/compiled_models.html +++ b/docs/dev/articles/web_only/compiled_models.html @@ -34,14 +34,14 @@ </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.2</span> + <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.3</span> </span> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li> - <a href="../../reference/index.html">Functions and data</a> + <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"> @@ -53,6 +53,9 @@ <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> @@ -60,22 +63,31 @@ <a href="../../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a> </li> <li> - <a href="../../articles/web_only/dimethenamid_2018.html">Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models</a> + <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/web_only/multistart.html">Short demo of the multistart method</a> + <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/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a> + <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/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a> + <a href="../../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a> </li> <li> - <a href="../../articles/twa.html">Calculation of time weighted average concentrations with mkin</a> + <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/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a> + <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> @@ -83,6 +95,15 @@ <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> @@ -106,13 +127,15 @@ - </header><script src="compiled_models_files/accessible-code-block-0.0.1/empty-anchor.js"></script><div class="row"> + </header><div class="row"> <div class="col-md-9 contents"> <div class="page-header toc-ignore"> - <h1 data-toc-skip>Performance benefit by using compiled model definitions in mkin</h1> - <h4 data-toc-skip class="author">Johannes Ranke</h4> + <h1 data-toc-skip>Performance benefit by using compiled model +definitions in mkin</h1> + <h4 data-toc-skip class="author">Johannes +Ranke</h4> - <h4 data-toc-skip class="date">2022-11-24</h4> + <h4 data-toc-skip class="date">2023-04-16</h4> <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/vignettes/web_only/compiled_models.rmd" class="external-link"><code>vignettes/web_only/compiled_models.rmd</code></a></small> <div class="hidden name"><code>compiled_models.rmd</code></div> @@ -124,23 +147,39 @@ <div class="section level2"> <h2 id="how-to-benefit-from-compiled-models">How to benefit from compiled models<a class="anchor" aria-label="anchor" href="#how-to-benefit-from-compiled-models"></a> </h2> -<p>When using an mkin version equal to or greater than 0.9-36 and a C compiler is available, you will see a message that the model is being compiled from autogenerated C code when defining a model using mkinmod. Starting from version 0.9.49.9, the <code><a href="../../reference/mkinmod.html">mkinmod()</a></code> function checks for presence of a compiler using</p> +<p>When using an mkin version equal to or greater than 0.9-36 and a C +compiler is available, you will see a message that the model is being +compiled from autogenerated C code when defining a model using mkinmod. +Starting from version 0.9.49.9, the <code><a href="../../reference/mkinmod.html">mkinmod()</a></code> function +checks for presence of a compiler using</p> <div class="sourceCode" id="cb1"><pre class="downlit sourceCode r"> -<code class="sourceCode R"><span><span class="fu">pkgbuild</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/pkgbuild/man/has_compiler.html" class="external-link">has_compiler</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> -<p>In previous versions, it used <code>Sys.which("gcc")</code> for this check.</p> -<p>On Linux, you need to have the essential build tools like make and gcc or clang installed. On Debian based linux distributions, these will be pulled in by installing the build-essential package.</p> -<p>On MacOS, which I do not use personally, I have had reports that a compiler is available by default.</p> -<p>On Windows, you need to install Rtools and have the path to its bin directory in your PATH variable. You do not need to modify the PATH variable when installing Rtools. Instead, I would recommend to put the line</p> +<code class="sourceCode R"><span><span class="fu">pkgbuild</span><span class="fu">::</span><span class="fu"><a href="https://r-lib.github.io/pkgbuild/reference/has_compiler.html" class="external-link">has_compiler</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> +<p>In previous versions, it used <code>Sys.which("gcc")</code> for this +check.</p> +<p>On Linux, you need to have the essential build tools like make and +gcc or clang installed. On Debian based linux distributions, these will +be pulled in by installing the build-essential package.</p> +<p>On MacOS, which I do not use personally, I have had reports that a +compiler is available by default.</p> +<p>On Windows, you need to install Rtools and have the path to its bin +directory in your PATH variable. You do not need to modify the PATH +variable when installing Rtools. Instead, I would recommend to put the +line</p> <div class="sourceCode" id="cb2"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/base/Sys.setenv.html" class="external-link">Sys.setenv</a></span><span class="op">(</span>PATH <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">"C:/Rtools/bin"</span>, <span class="fu"><a href="https://rdrr.io/r/base/Sys.getenv.html" class="external-link">Sys.getenv</a></span><span class="op">(</span><span class="st">"PATH"</span><span class="op">)</span>, sep<span class="op">=</span><span class="st">";"</span><span class="op">)</span><span class="op">)</span></span></code></pre></div> -<p>into your .Rprofile startup file. This is just a text file with some R code that is executed when your R session starts. It has to be named .Rprofile and has to be located in your home directory, which will generally be your Documents folder. You can check the location of the home directory used by R by issuing</p> +<p>into your .Rprofile startup file. This is just a text file with some +R code that is executed when your R session starts. It has to be named +.Rprofile and has to be located in your home directory, which will +generally be your Documents folder. You can check the location of the +home directory used by R by issuing</p> <div class="sourceCode" id="cb3"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/base/Sys.getenv.html" class="external-link">Sys.getenv</a></span><span class="op">(</span><span class="st">"HOME"</span><span class="op">)</span></span></code></pre></div> </div> <div class="section level2"> <h2 id="comparison-with-other-solution-methods">Comparison with other solution methods<a class="anchor" aria-label="anchor" href="#comparison-with-other-solution-methods"></a> </h2> -<p>First, we build a simple degradation model for a parent compound with one metabolite, and we remove zero values from the dataset.</p> +<p>First, we build a simple degradation model for a parent compound with +one metabolite, and we remove zero values from the dataset.</p> <div class="sourceCode" id="cb4"><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="st"><a href="https://pkgdown.jrwb.de/mkin/">"mkin"</a></span>, quietly <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span> <span><span class="va">SFO_SFO</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span></span> @@ -149,7 +188,12 @@ <pre><code><span><span class="co">## Temporary DLL for differentials generated and loaded</span></span></code></pre> <div class="sourceCode" id="cb6"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">FOCUS_D</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">FOCUS_2006_D</span>, <span class="va">value</span> <span class="op">!=</span> <span class="fl">0</span><span class="op">)</span></span></code></pre></div> -<p>We can compare the performance of the Eigenvalue based solution against the compiled version and the R implementation of the differential equations using the benchmark package. In the output of below code, the warnings about zero being removed from the FOCUS D dataset are suppressed. Since mkin version 0.9.49.11, an analytical solution is also implemented, which is included in the tests below.</p> +<p>We can compare the performance of the Eigenvalue based solution +against the compiled version and the R implementation of the +differential equations using the benchmark package. In the output of +below code, the warnings about zero being removed from the FOCUS D +dataset are suppressed. Since mkin version 0.9.49.11, an analytical +solution is also implemented, which is included in the tests below.</p> <div class="sourceCode" id="cb7"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="kw">if</span> <span class="op">(</span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">require</a></span><span class="op">(</span><span class="va"><a href="http://rbenchmark.googlecode.com" class="external-link">rbenchmark</a></span><span class="op">)</span><span class="op">)</span> <span class="op">{</span></span> <span> <span class="va">b.1</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/pkg/rbenchmark/man/benchmark.html" class="external-link">benchmark</a></span><span class="op">(</span></span> @@ -170,16 +214,20 @@ <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="st">"R package rbenchmark is not available"</span><span class="op">)</span></span> <span><span class="op">}</span></span></code></pre></div> <pre><code><span><span class="co">## test replications relative elapsed</span></span> -<span><span class="co">## 4 analytical 1 1.000 0.221</span></span> -<span><span class="co">## 3 deSolve, compiled 1 1.561 0.345</span></span> -<span><span class="co">## 2 Eigenvalue based 1 1.932 0.427</span></span> -<span><span class="co">## 1 deSolve, not compiled 1 33.629 7.432</span></span></code></pre> -<p>We see that using the compiled model is by more than a factor of 10 faster than using deSolve without compiled code.</p> +<span><span class="co">## 4 analytical 1 1.000 0.105</span></span> +<span><span class="co">## 3 deSolve, compiled 1 1.276 0.134</span></span> +<span><span class="co">## 2 Eigenvalue based 1 1.762 0.185</span></span> +<span><span class="co">## 1 deSolve, not compiled 1 21.914 2.301</span></span></code></pre> +<p>We see that using the compiled model is by more than a factor of 10 +faster than using deSolve without compiled code.</p> </div> <div class="section level2"> <h2 id="model-without-analytical-solution">Model without analytical solution<a class="anchor" aria-label="anchor" href="#model-without-analytical-solution"></a> </h2> -<p>This evaluation is also taken from the example section of mkinfit. No analytical solution is available for this system, and now Eigenvalue based solution is possible, so only deSolve using with or without compiled code is available.</p> +<p>This evaluation is also taken from the example section of mkinfit. No +analytical solution is available for this system, and now Eigenvalue +based solution is possible, so only deSolve using with or without +compiled code is available.</p> <div class="sourceCode" id="cb9"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="kw">if</span> <span class="op">(</span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">require</a></span><span class="op">(</span><span class="va"><a href="http://rbenchmark.googlecode.com" class="external-link">rbenchmark</a></span><span class="op">)</span><span class="op">)</span> <span class="op">{</span></span> <span> <span class="va">FOMC_SFO</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mkinmod.html">mkinmod</a></span><span class="op">(</span></span> @@ -200,14 +248,15 @@ <span><span class="op">}</span></span></code></pre></div> <pre><code><span><span class="co">## Temporary DLL for differentials generated and loaded</span></span></code></pre> <pre><code><span><span class="co">## test replications relative elapsed</span></span> -<span><span class="co">## 2 deSolve, compiled 1 1.000 0.482</span></span> -<span><span class="co">## 1 deSolve, not compiled 1 27.865 13.431</span></span></code></pre> -<p>Here we get a performance benefit of a factor of 28 using the version of the differential equation model compiled from C code!</p> -<p>This vignette was built with mkin 1.2.2 on</p> -<pre><code><span><span class="co">## R version 4.2.2 (2022-10-31)</span></span> +<span><span class="co">## 2 deSolve, compiled 1 1.000 0.176</span></span> +<span><span class="co">## 1 deSolve, not compiled 1 23.938 4.213</span></span></code></pre> +<p>Here we get a performance benefit of a factor of 24 using the version +of the differential equation model compiled from C code!</p> +<p>This vignette was built with mkin 1.2.3 on</p> +<pre><code><span><span class="co">## R version 4.2.3 (2023-03-15)</span></span> <span><span class="co">## Platform: x86_64-pc-linux-gnu (64-bit)</span></span> -<span><span class="co">## Running under: Debian GNU/Linux 11 (bullseye)</span></span></code></pre> -<pre><code><span><span class="co">## CPU model: AMD Ryzen 7 1700 Eight-Core Processor</span></span></code></pre> +<span><span class="co">## Running under: Debian GNU/Linux 12 (bookworm)</span></span></code></pre> +<pre><code><span><span class="co">## CPU model: AMD Ryzen 9 7950X 16-Core Processor</span></span></code></pre> </div> </div> @@ -228,7 +277,7 @@ <div class="pkgdown"> <p></p> -<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> +<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer> diff --git a/docs/dev/articles/web_only/dimethenamid_2018.html b/docs/dev/articles/web_only/dimethenamid_2018.html index ec7f54d8..eb4a11a5 100644 --- a/docs/dev/articles/web_only/dimethenamid_2018.html +++ b/docs/dev/articles/web_only/dimethenamid_2018.html @@ -34,14 +34,14 @@ </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.2</span> + <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.3</span> </span> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li> - <a href="../../reference/index.html">Functions and data</a> + <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"> @@ -53,6 +53,9 @@ <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> @@ -60,22 +63,31 @@ <a href="../../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a> </li> <li> - <a href="../../articles/web_only/dimethenamid_2018.html">Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models</a> + <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/web_only/multistart.html">Short demo of the multistart method</a> + <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/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a> + <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/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a> + <a href="../../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a> </li> <li> - <a href="../../articles/twa.html">Calculation of time weighted average concentrations with mkin</a> + <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/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a> + <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> @@ -83,6 +95,15 @@ <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> @@ -106,13 +127,16 @@ - </header><script src="dimethenamid_2018_files/accessible-code-block-0.0.1/empty-anchor.js"></script><div class="row"> + </header><div class="row"> <div class="col-md-9 contents"> <div class="page-header toc-ignore"> - <h1 data-toc-skip>Example evaluations of the dimethenamid data from 2018</h1> - <h4 data-toc-skip class="author">Johannes Ranke</h4> + <h1 data-toc-skip>Example evaluations of the dimethenamid data +from 2018</h1> + <h4 data-toc-skip class="author">Johannes +Ranke</h4> - <h4 data-toc-skip class="date">Last change 1 July 2022, built on 24 Nov 2022</h4> + <h4 data-toc-skip class="date">Last change 1 July 2022, +built on 16 Apr 2023</h4> <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/vignettes/web_only/dimethenamid_2018.rmd" class="external-link"><code>vignettes/web_only/dimethenamid_2018.rmd</code></a></small> <div class="hidden name"><code>dimethenamid_2018.rmd</code></div> @@ -121,19 +145,48 @@ -<p><a href="http://www.jrwb.de" class="external-link">Wissenschaftlicher Berater, Kronacher Str. 12, 79639 Grenzach-Wyhlen, Germany</a></p> +<p><a href="http://www.jrwb.de" class="external-link">Wissenschaftlicher Berater, Kronacher +Str. 12, 79639 Grenzach-Wyhlen, Germany</a></p> <div class="section level2"> <h2 id="introduction">Introduction<a class="anchor" aria-label="anchor" href="#introduction"></a> </h2> -<p>A first analysis of the data analysed here was presented in a recent journal article on nonlinear mixed-effects models in degradation kinetics <span class="citation">(Ranke et al. 2021)</span>. That analysis was based on the <code>nlme</code> package and a development version of the <code>saemix</code> package that was unpublished at the time. Meanwhile, version 3.0 of the <code>saemix</code> package is available from the CRAN repository. Also, it turned out that there was an error in the handling of the Borstel data in the mkin package at the time, leading to the duplication of a few data points from that soil. The dataset in the mkin package has been corrected, and the interface to <code>saemix</code> in the mkin package has been updated to use the released version.</p> -<p>This vignette is intended to present an up to date analysis of the data, using the corrected dataset and released versions of <code>mkin</code> and <code>saemix</code>.</p> +<p>A first analysis of the data analysed here was presented in a recent +journal article on nonlinear mixed-effects models in degradation +kinetics <span class="citation">(Ranke et al. 2021)</span>. That +analysis was based on the <code>nlme</code> package and a development +version of the <code>saemix</code> package that was unpublished at the +time. Meanwhile, version 3.0 of the <code>saemix</code> package is +available from the CRAN repository. Also, it turned out that there was +an error in the handling of the Borstel data in the mkin package at the +time, leading to the duplication of a few data points from that soil. +The dataset in the mkin package has been corrected, and the interface to +<code>saemix</code> in the mkin package has been updated to use the +released version.</p> +<p>This vignette is intended to present an up to date analysis of the +data, using the corrected dataset and released versions of +<code>mkin</code> and <code>saemix</code>.</p> </div> <div class="section level2"> <h2 id="data">Data<a class="anchor" aria-label="anchor" href="#data"></a> </h2> -<p>Residue data forming the basis for the endpoints derived in the conclusion on the peer review of the pesticide risk assessment of dimethenamid-P published by the European Food Safety Authority (EFSA) in 2018 <span class="citation">(EFSA 2018)</span> were transcribed from the risk assessment report <span class="citation">(Rapporteur Member State Germany, Co-Rapporteur Member State Bulgaria 2018)</span> which can be downloaded from the Open EFSA repository <a href="https://open.efsa.europa.eu" class="external-link">https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716</a>.</p> -<p>The data are <a href="https://pkgdown.jrwb.de/mkin/reference/dimethenamid_2018.html">available in the mkin package</a>. The following code (hidden by default, please use the button to the right to show it) treats the data available for the racemic mixture dimethenamid (DMTA) and its enantiomer dimethenamid-P (DMTAP) in the same way, as no difference between their degradation behaviour was identified in the EU risk assessment. 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.</p> -<p>Also, datasets observed in the same soil are merged, resulting in dimethenamid (DMTA) data from six soils.</p> +<p>Residue data forming the basis for the endpoints derived in the +conclusion on the peer review of the pesticide risk assessment of +dimethenamid-P published by the European Food Safety Authority (EFSA) in +2018 <span class="citation">(EFSA 2018)</span> were transcribed from the +risk assessment report <span class="citation">(Rapporteur Member State +Germany, Co-Rapporteur Member State Bulgaria 2018)</span> which can be +downloaded from the Open EFSA repository <a href="https://open.efsa.europa.eu" class="external-link">https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716</a>.</p> +<p>The data are <a href="https://pkgdown.jrwb.de/mkin/reference/dimethenamid_2018.html">available +in the mkin package</a>. The following code (hidden by default, please +use the button to the right to show it) treats the data available for +the racemic mixture dimethenamid (DMTA) and its enantiomer +dimethenamid-P (DMTAP) in the same way, as no difference between their +degradation behaviour was identified in the EU risk assessment. 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.</p> +<p>Also, datasets observed in the same soil are merged, resulting in +dimethenamid (DMTA) data from six soils.</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>, quietly <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</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> @@ -150,34 +203,60 @@ <div class="section level2"> <h2 id="parent-degradation">Parent degradation<a class="anchor" aria-label="anchor" href="#parent-degradation"></a> </h2> -<p>We evaluate the observed degradation of the parent compound using simple exponential decline (SFO) and biexponential decline (DFOP), using constant variance (const) and a two-component variance (tc) as error models.</p> +<p>We evaluate the observed degradation of the parent compound using +simple exponential decline (SFO) and biexponential decline (DFOP), using +constant variance (const) and a two-component variance (tc) as error +models.</p> <div class="section level3"> <h3 id="separate-evaluations">Separate evaluations<a class="anchor" aria-label="anchor" href="#separate-evaluations"></a> </h3> -<p>As a first step, to get a visual impression of the fit of the different models, we do separate evaluations for each soil using the mmkin function from the mkin package:</p> +<p>As a first step, to get a visual impression of the fit of the +different models, we do separate evaluations for each soil using the +mmkin function from the mkin package:</p> <div class="sourceCode" id="cb2"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_parent_mkin_const</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mmkin.html">mmkin</a></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">"DFOP"</span><span class="op">)</span>, <span class="va">dmta_ds</span>,</span> <span> error_model <span class="op">=</span> <span class="st">"const"</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span> <span><span class="va">f_parent_mkin_tc</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mmkin.html">mmkin</a></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">"DFOP"</span><span class="op">)</span>, <span class="va">dmta_ds</span>,</span> <span> error_model <span class="op">=</span> <span class="st">"tc"</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div> -<p>The plot of the individual SFO fits shown below suggests that at least in some datasets the degradation slows down towards later time points, and that the scatter of the residuals error is smaller for smaller values (panel to the right):</p> +<p>The plot of the individual SFO fits shown below suggests that at +least in some datasets the degradation slows down towards later time +points, and that the scatter of the residuals error is smaller for +smaller values (panel to the right):</p> <div class="sourceCode" id="cb3"><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="fu"><a href="../../reference/mixed.html">mixed</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span><span class="op">)</span><span class="op">)</span></span></code></pre></div> <p><img src="dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png" width="700"></p> -<p>Using biexponential decline (DFOP) results in a slightly more random scatter of the residuals:</p> +<p>Using biexponential decline (DFOP) results in a slightly more random +scatter of the residuals:</p> <div class="sourceCode" id="cb4"><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="fu"><a href="../../reference/mixed.html">mixed</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span><span class="op">)</span><span class="op">)</span></span></code></pre></div> <p><img src="dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png" width="700"></p> -<p>The population curve (bold line) in the above plot results from taking the mean of the individual transformed parameters, i.e. of log k1 and log k2, as well as of the logit of the g parameter of the DFOP model). Here, this procedure does not result in parameters that represent the degradation well, because in some datasets the fitted value for k2 is extremely close to zero, leading to a log k2 value that dominates the average. This is alleviated if only rate constants that pass the t-test for significant difference from zero (on the untransformed scale) are considered in the averaging:</p> +<p>The population curve (bold line) in the above plot results from +taking the mean of the individual transformed parameters, i.e. of log k1 +and log k2, as well as of the logit of the g parameter of the DFOP +model). Here, this procedure does not result in parameters that +represent the degradation well, because in some datasets the fitted +value for k2 is extremely close to zero, leading to a log k2 value that +dominates the average. This is alleviated if only rate constants that +pass the t-test for significant difference from zero (on the +untransformed scale) are considered in the averaging:</p> <div class="sourceCode" id="cb5"><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="fu"><a href="../../reference/mixed.html">mixed</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span><span class="op">)</span>, test_log_parms <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div> <p><img src="dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png" width="700"></p> -<p>While this is visually much more satisfactory, such an average procedure could introduce a bias, as not all results from the individual fits enter the population curve with the same weight. This is where nonlinear mixed-effects models can help out by treating all datasets with equally by fitting a parameter distribution model together with the degradation model and the error model (see below).</p> -<p>The remaining trend of the residuals to be higher for higher predicted residues is reduced by using the two-component error model:</p> +<p>While this is visually much more satisfactory, such an average +procedure could introduce a bias, as not all results from the individual +fits enter the population curve with the same weight. This is where +nonlinear mixed-effects models can help out by treating all datasets +with equally by fitting a parameter distribution model together with the +degradation model and the error model (see below).</p> +<p>The remaining trend of the residuals to be higher for higher +predicted residues is reduced by using the two-component error +model:</p> <div class="sourceCode" id="cb6"><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="fu"><a href="../../reference/mixed.html">mixed</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span><span class="op">)</span>, test_log_parms <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div> <p><img src="dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png" width="700"></p> -<p>However, note that in the case of using this error model, the fits to the Flaach and BBA 2.3 datasets appear to be ill-defined, indicated by the fact that they did not converge:</p> +<p>However, note that in the case of using this error model, the fits to +the Flaach and BBA 2.3 datasets appear to be ill-defined, indicated by +the fact that they did not converge:</p> <div class="sourceCode" id="cb7"><pre class="downlit sourceCode r"> <code class="sourceCode R"><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="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span><span class="op">)</span></span></code></pre></div> <pre><code><mmkin> object @@ -194,19 +273,46 @@ OK: No warnings</code></pre> <div class="section level3"> <h3 id="nonlinear-mixed-effects-models">Nonlinear mixed-effects models<a class="anchor" aria-label="anchor" href="#nonlinear-mixed-effects-models"></a> </h3> -<p>Instead of taking a model selection decision for each of the individual fits, we fit nonlinear mixed-effects models (using different fitting algorithms as implemented in different packages) and do model selection using all available data at the same time. In order to make sure that these decisions are not unduly influenced by the type of algorithm used, by implementation details or by the use of wrong control parameters, we compare the model selection results obtained with different R packages, with different algorithms and checking control parameters.</p> +<p>Instead of taking a model selection decision for each of the +individual fits, we fit nonlinear mixed-effects models (using different +fitting algorithms as implemented in different packages) and do model +selection using all available data at the same time. In order to make +sure that these decisions are not unduly influenced by the type of +algorithm used, by implementation details or by the use of wrong control +parameters, we compare the model selection results obtained with +different R packages, with different algorithms and checking control +parameters.</p> <div class="section level4"> <h4 id="nlme">nlme<a class="anchor" aria-label="anchor" href="#nlme"></a> </h4> -<p>The nlme package was the first R extension providing facilities to fit nonlinear mixed-effects models. We would like to do model selection from all four combinations of degradation models and error models based on the AIC. However, fitting the DFOP model with constant variance and using default control parameters results in an error, signalling that the maximum number of 50 iterations was reached, potentially indicating overparameterisation. Nevertheless, the algorithm converges when the two-component error model is used in combination with the DFOP model. This can be explained by the fact that the smaller residues observed at later sampling times get more weight when using the two-component error model which will counteract the tendency of the algorithm to try parameter combinations unsuitable for fitting these data.</p> +<p>The nlme package was the first R extension providing facilities to +fit nonlinear mixed-effects models. We would like to do model selection +from all four combinations of degradation models and error models based +on the AIC. However, fitting the DFOP model with constant variance and +using default control parameters results in an error, signalling that +the maximum number of 50 iterations was reached, potentially indicating +overparameterisation. Nevertheless, the algorithm converges when the +two-component error model is used in combination with the DFOP model. +This can be explained by the fact that the smaller residues observed at +later sampling times get more weight when using the two-component error +model which will counteract the tendency of the algorithm to try +parameter combinations unsuitable for fitting these data.</p> <div class="sourceCode" id="cb9"><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://svn.r-project.org/R-packages/trunk/nlme/" class="external-link">nlme</a></span><span class="op">)</span></span> <span><span class="va">f_parent_nlme_sfo_const</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlme/man/nlme.html" class="external-link">nlme</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span><span class="op">)</span></span> <span><span class="co"># f_parent_nlme_dfop_const <- nlme(f_parent_mkin_const["DFOP", ])</span></span> <span><span class="va">f_parent_nlme_sfo_tc</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlme/man/nlme.html" class="external-link">nlme</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span><span class="op">)</span></span> <span><span class="va">f_parent_nlme_dfop_tc</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlme/man/nlme.html" class="external-link">nlme</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span><span class="op">)</span></span></code></pre></div> -<p>Note that a certain degree of overparameterisation is also indicated by a warning obtained when fitting DFOP with the two-component error model (‘false convergence’ in the ‘LME step’ in iteration 3). However, as this warning does not occur in later iterations, and specifically not in the last of the 6 iterations, we can ignore this warning.</p> -<p>The model comparison function of the nlme package can directly be applied to these fits showing a much lower AIC for the DFOP model fitted with the two-component error model. Also, the likelihood ratio test indicates that this difference is significant as the p-value is below 0.0001.</p> +<p>Note that a certain degree of overparameterisation is also indicated +by a warning obtained when fitting DFOP with the two-component error +model (‘false convergence’ in the ‘LME step’ in iteration 3). However, +as this warning does not occur in later iterations, and specifically not +in the last of the 5 iterations, we can ignore this warning.</p> +<p>The model comparison function of the nlme package can directly be +applied to these fits showing a much lower AIC for the DFOP model fitted +with the two-component error model. Also, the likelihood ratio test +indicates that this difference is significant as the p-value is below +0.0001.</p> <div class="sourceCode" id="cb10"><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> <span> <span class="va">f_parent_nlme_sfo_const</span>, <span class="va">f_parent_nlme_sfo_tc</span>, <span class="va">f_parent_nlme_dfop_tc</span></span> @@ -215,7 +321,10 @@ OK: No warnings</code></pre> f_parent_nlme_sfo_const 1 5 796.60 811.82 -393.30 f_parent_nlme_sfo_tc 2 6 798.60 816.86 -393.30 1 vs 2 0.00 0.998 f_parent_nlme_dfop_tc 3 10 671.91 702.34 -325.96 2 vs 3 134.69 <.0001</code></pre> -<p>In addition to these fits, attempts were also made to include correlations between random effects by using the log Cholesky parameterisation of the matrix specifying them. The code used for these attempts can be made visible below.</p> +<p>In addition to these fits, attempts were also made to include +correlations between random effects by using the log Cholesky +parameterisation of the matrix specifying them. The code used for these +attempts can be made visible below.</p> <div class="sourceCode" id="cb12"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_parent_nlme_sfo_const_logchol</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlme/man/nlme.html" class="external-link">nlme</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span>,</span> <span> random <span class="op">=</span> <span class="fu">nlme</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/nlme/man/pdLogChol.html" class="external-link">pdLogChol</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">DMTA_0</span> <span class="op">~</span> <span class="fl">1</span>, <span class="va">log_k_DMTA</span> <span class="op">~</span> <span class="fl">1</span><span class="op">)</span><span class="op">)</span><span class="op">)</span></span> @@ -226,8 +335,12 @@ f_parent_nlme_dfop_tc 3 10 671.91 702.34 -325.96 2 vs 3 134.69 <.0001 <span><span class="va">f_parent_nlme_dfop_tc_logchol</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlme/man/nlme.html" class="external-link">nlme</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span>,</span> <span> random <span class="op">=</span> <span class="fu">nlme</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/nlme/man/pdLogChol.html" class="external-link">pdLogChol</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">DMTA_0</span> <span class="op">~</span> <span class="fl">1</span>, <span class="va">log_k1</span> <span class="op">~</span> <span class="fl">1</span>, <span class="va">log_k2</span> <span class="op">~</span> <span class="fl">1</span>, <span class="va">g_qlogis</span> <span class="op">~</span> <span class="fl">1</span><span class="op">)</span><span class="op">)</span><span class="op">)</span></span> <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_parent_nlme_dfop_tc</span>, <span class="va">f_parent_nlme_dfop_tc_logchol</span><span class="op">)</span></span></code></pre></div> -<p>While the SFO variants converge fast, the additional parameters introduced by this lead to convergence warnings for the DFOP model. The model comparison clearly show that adding correlations between random effects does not improve the fits.</p> -<p>The selected model (DFOP with two-component error) fitted to the data assuming no correlations between random effects is shown below.</p> +<p>While the SFO variants converge fast, the additional parameters +introduced by this lead to convergence warnings for the DFOP model. The +model comparison clearly show that adding correlations between random +effects does not improve the fits.</p> +<p>The selected model (DFOP with two-component error) fitted to the data +assuming no correlations between random effects is shown below.</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_parent_nlme_dfop_tc</span><span class="op">)</span></span></code></pre></div> <p><img src="dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png" width="700"></p> @@ -235,8 +348,16 @@ f_parent_nlme_dfop_tc 3 10 671.91 702.34 -325.96 2 vs 3 134.69 <.0001 <div class="section level4"> <h4 id="saemix">saemix<a class="anchor" aria-label="anchor" href="#saemix"></a> </h4> -<p>The saemix package provided the first Open Source implementation of the Stochastic Approximation to the Expectation Maximisation (SAEM) algorithm. SAEM fits of degradation models can be conveniently performed using an interface to the saemix package available in current development versions of the mkin package.</p> -<p>The corresponding SAEM fits of the four combinations of degradation and error models are fitted below. As there is no convergence criterion implemented in the saemix package, the convergence plots need to be manually checked for every fit. We define control settings that work well for all the parent data fits shown in this vignette.</p> +<p>The saemix package provided the first Open Source implementation of +the Stochastic Approximation to the Expectation Maximisation (SAEM) +algorithm. SAEM fits of degradation models can be conveniently performed +using an interface to the saemix package available in current +development versions of the mkin package.</p> +<p>The corresponding SAEM fits of the four combinations of degradation +and error models are fitted below. As there is no convergence criterion +implemented in the saemix package, the convergence plots need to be +manually checked for every fit. We define control settings that work +well for all the parent data fits shown in this vignette.</p> <div class="sourceCode" id="cb14"><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">saemix</span><span class="op">)</span></span> <span><span class="va">saemix_control</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/pkg/saemix/man/saemixControl.html" class="external-link">saemixControl</a></span><span class="op">(</span>nbiter.saemix <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">800</span>, <span class="fl">300</span><span class="op">)</span>, nb.chains <span class="op">=</span> <span class="fl">15</span>,</span> @@ -245,19 +366,23 @@ f_parent_nlme_dfop_tc 3 10 671.91 702.34 -325.96 2 vs 3 134.69 <.0001 <span> print <span class="op">=</span> <span class="cn">FALSE</span>, save <span class="op">=</span> <span class="cn">FALSE</span>, save.graphs <span class="op">=</span> <span class="cn">FALSE</span>, displayProgress <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span> <span><span class="va">saemix_control_10k</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/pkg/saemix/man/saemixControl.html" class="external-link">saemixControl</a></span><span class="op">(</span>nbiter.saemix <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">10000</span>, <span class="fl">300</span><span class="op">)</span>, nb.chains <span class="op">=</span> <span class="fl">15</span>,</span> <span> print <span class="op">=</span> <span class="cn">FALSE</span>, save <span class="op">=</span> <span class="cn">FALSE</span>, save.graphs <span class="op">=</span> <span class="cn">FALSE</span>, displayProgress <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></code></pre></div> -<p>The convergence plot for the SFO model using constant variance is shown below.</p> +<p>The convergence plot for the SFO model using constant variance is +shown below.</p> <div class="sourceCode" id="cb15"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_parent_saemix_sfo_const</span> <span class="op"><-</span> <span class="fu">mkin</span><span class="fu">::</span><span class="fu"><a href="../../reference/saem.html">saem</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>,</span> <span> control <span class="op">=</span> <span class="va">saemix_control</span>, transformations <span class="op">=</span> <span class="st">"saemix"</span><span class="op">)</span></span> <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_parent_saemix_sfo_const</span><span class="op">$</span><span class="va">so</span>, plot.type <span class="op">=</span> <span class="st">"convergence"</span><span class="op">)</span></span></code></pre></div> <p><img src="dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_const-1.png" width="700"></p> -<p>Obviously the selected number of iterations is sufficient to reach convergence. This can also be said for the SFO fit using the two-component error model.</p> +<p>Obviously the selected number of iterations is sufficient to reach +convergence. This can also be said for the SFO fit using the +two-component error model.</p> <div class="sourceCode" id="cb16"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_parent_saemix_sfo_tc</span> <span class="op"><-</span> <span class="fu">mkin</span><span class="fu">::</span><span class="fu"><a href="../../reference/saem.html">saem</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>,</span> <span> control <span class="op">=</span> <span class="va">saemix_control</span>, transformations <span class="op">=</span> <span class="st">"saemix"</span><span class="op">)</span></span> <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_parent_saemix_sfo_tc</span><span class="op">$</span><span class="va">so</span>, plot.type <span class="op">=</span> <span class="st">"convergence"</span><span class="op">)</span></span></code></pre></div> <p><img src="dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png" width="700"></p> -<p>When fitting the DFOP model with constant variance (see below), parameter convergence is not as unambiguous.</p> +<p>When fitting the DFOP model with constant variance (see below), +parameter convergence is not as unambiguous.</p> <div class="sourceCode" id="cb17"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_parent_saemix_dfop_const</span> <span class="op"><-</span> <span class="fu">mkin</span><span class="fu">::</span><span class="fu"><a href="../../reference/saem.html">saem</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>,</span> <span> control <span class="op">=</span> <span class="va">saemix_control</span>, transformations <span class="op">=</span> <span class="st">"saemix"</span><span class="op">)</span></span> @@ -284,13 +409,21 @@ DMTA_0 97.99583 96.50079 99.4909 k1 0.06377 0.03432 0.0932 k2 0.00848 0.00444 0.0125 g 0.95701 0.91313 1.0009 -a.1 1.82141 1.65974 1.9831 -SD.DMTA_0 1.64787 0.45779 2.8379 +a.1 1.82141 1.65122 1.9916 +SD.DMTA_0 1.64787 0.45772 2.8380 SD.k1 0.57439 0.24731 0.9015 -SD.k2 0.03296 -2.50143 2.5673 -SD.g 1.10266 0.32371 1.8816</code></pre> -<p>While the other parameters converge to credible values, the variance of k2 (<code>omega2.k2</code>) converges to a very small value. The printout of the <code>saem.mmkin</code> model shows that the estimated standard deviation of k2 across the population of soils (<code>SD.k2</code>) is ill-defined, indicating overparameterisation of this model.</p> -<p>When the DFOP model is fitted with the two-component error model, we also observe that the estimated variance of k2 becomes very small, while being ill-defined, as illustrated by the excessive confidence interval of <code>SD.k2</code>.</p> +SD.k2 0.03296 -2.50195 2.5679 +SD.g 1.10266 0.32369 1.8816</code></pre> +<p>While the other parameters converge to credible values, the variance +of k2 (<code>omega2.k2</code>) converges to a very small value. The +printout of the <code>saem.mmkin</code> model shows that the estimated +standard deviation of k2 across the population of soils +(<code>SD.k2</code>) is ill-defined, indicating overparameterisation of +this model.</p> +<p>When the DFOP model is fitted with the two-component error model, we +also observe that the estimated variance of k2 becomes very small, while +being ill-defined, as illustrated by the excessive confidence interval +of <code>SD.k2</code>.</p> <div class="sourceCode" id="cb20"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_parent_saemix_dfop_tc</span> <span class="op"><-</span> <span class="fu">mkin</span><span class="fu">::</span><span class="fu"><a href="../../reference/saem.html">saem</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>,</span> <span> control <span class="op">=</span> <span class="va">saemix_control</span>, transformations <span class="op">=</span> <span class="st">"saemix"</span><span class="op">)</span></span> @@ -325,9 +458,21 @@ SD.DMTA_0 2.06075 0.4187 3.7028 SD.k1 0.59357 0.2561 0.9310 SD.k2 0.00292 -10.2960 10.3019 SD.g 1.05725 0.3808 1.7337</code></pre> -<p>Doubling the number of iterations in the first phase of the algorithm leads to a slightly lower likelihood, and therefore to slightly higher AIC and BIC values. With even more iterations, the algorithm stops with an error message. This is related to the variance of k2 approximating zero and has been submitted as a <a href="https://github.com/saemixdevelopment/saemixextension/issues/29" class="external-link">bug to the saemix package</a>, as the algorithm does not converge in this case.</p> -<p>An alternative way to fit DFOP in combination with the two-component error model is to use the model formulation with transformed parameters as used per default in mkin. When using this option, convergence is slower, but eventually the algorithm stops as well with the same error message.</p> -<p>The four combinations (SFO/const, SFO/tc, DFOP/const and DFOP/tc) and the version with increased iterations can be compared using the model comparison function of the saemix package:</p> +<p>Doubling the number of iterations in the first phase of the algorithm +leads to a slightly lower likelihood, and therefore to slightly higher +AIC and BIC values. With even more iterations, the algorithm stops with +an error message. This is related to the variance of k2 approximating +zero and has been submitted as a <a href="https://github.com/saemixdevelopment/saemixextension/issues/29" class="external-link">bug +to the saemix package</a>, as the algorithm does not converge in this +case.</p> +<p>An alternative way to fit DFOP in combination with the two-component +error model is to use the model formulation with transformed parameters +as used per default in mkin. When using this option, convergence is +slower, but eventually the algorithm stops as well with the same error +message.</p> +<p>The four combinations (SFO/const, SFO/tc, DFOP/const and DFOP/tc) and +the version with increased iterations can be compared using the model +comparison function of the saemix package:</p> <div class="sourceCode" id="cb23"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">AIC_parent_saemix</span> <span class="op"><-</span> <span class="fu">saemix</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/saemix/man/compare.saemix.html" class="external-link">compare.saemix</a></span><span class="op">(</span></span> <span> <span class="va">f_parent_saemix_sfo_const</span><span class="op">$</span><span class="va">so</span>,</span> @@ -346,7 +491,10 @@ SFO tc 798.38 797.13 DFOP const 705.75 703.88 DFOP tc 665.65 663.57 DFOP tc more iterations 665.88 663.80</code></pre> -<p>In order to check the influence of the likelihood calculation algorithms implemented in saemix, the likelihood from Gaussian quadrature is added to the best fit, and the AIC values obtained from the three methods are compared.</p> +<p>In order to check the influence of the likelihood calculation +algorithms implemented in saemix, the likelihood from Gaussian +quadrature is added to the best fit, and the AIC values obtained from +the three methods are compared.</p> <div class="sourceCode" id="cb27"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_parent_saemix_dfop_tc</span><span class="op">$</span><span class="va">so</span> <span class="op"><-</span></span> <span> <span class="fu">saemix</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/saemix/man/llgq.saemix.html" class="external-link">llgq.saemix</a></span><span class="op">(</span><span class="va">f_parent_saemix_dfop_tc</span><span class="op">$</span><span class="va">so</span><span class="op">)</span></span> @@ -358,9 +506,19 @@ DFOP tc more iterations 665.88 663.80</code></pre> <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="va">AIC_parent_saemix_methods</span><span class="op">)</span></span></code></pre></div> <pre><code> is gq lin 665.65 665.68 665.11 </code></pre> -<p>The AIC values based on importance sampling and Gaussian quadrature are very similar. Using linearisation is known to be less accurate, but still gives a similar value.</p> -<p>In order to illustrate that the comparison of the three method depends on the degree of convergence obtained in the fit, the same comparison is shown below for the fit using the defaults for the number of iterations and the number of MCMC chains.</p> -<p>When using OpenBlas for linear algebra, there is a large difference in the values obtained with Gaussian quadrature, so the larger number of iterations makes a lot of difference. When using the LAPACK version coming with Debian Bullseye, the AIC based on Gaussian quadrature is almost the same as the one obtained with the other methods, also when using defaults for the fit.</p> +<p>The AIC values based on importance sampling and Gaussian quadrature +are very similar. Using linearisation is known to be less accurate, but +still gives a similar value.</p> +<p>In order to illustrate that the comparison of the three method +depends on the degree of convergence obtained in the fit, the same +comparison is shown below for the fit using the defaults for the number +of iterations and the number of MCMC chains.</p> +<p>When using OpenBlas for linear algebra, there is a large difference +in the values obtained with Gaussian quadrature, so the larger number of +iterations makes a lot of difference. When using the LAPACK version +coming with Debian Bullseye, the AIC based on Gaussian quadrature is +almost the same as the one obtained with the other methods, also when +using defaults for the fit.</p> <div class="sourceCode" id="cb29"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_parent_saemix_dfop_tc_defaults</span> <span class="op"><-</span> <span class="fu">mkin</span><span class="fu">::</span><span class="fu"><a href="../../reference/saem.html">saem</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span><span class="op">)</span></span> <span><span class="va">f_parent_saemix_dfop_tc_defaults</span><span class="op">$</span><span class="va">so</span> <span class="op"><-</span></span> @@ -378,7 +536,9 @@ DFOP tc more iterations 665.88 663.80</code></pre> <div class="section level3"> <h3 id="comparison">Comparison<a class="anchor" aria-label="anchor" href="#comparison"></a> </h3> -<p>The following table gives the AIC values obtained with both backend packages using the same control parameters (800 iterations burn-in, 300 iterations second phase, 15 chains).</p> +<p>The following table gives the AIC values obtained with both backend +packages using the same control parameters (800 iterations burn-in, 300 +iterations second phase, 15 chains).</p> <div class="sourceCode" id="cb31"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">AIC_all</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span></span> <span> check.names <span class="op">=</span> <span class="cn">FALSE</span>,</span> @@ -390,7 +550,7 @@ DFOP tc more iterations 665.88 663.80</code></pre> <span> saemix_is <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="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span><span class="va">f_parent_saemix_sfo_const</span><span class="op">$</span><span class="va">so</span>, <span class="va">f_parent_saemix_sfo_tc</span><span class="op">$</span><span class="va">so</span>,</span> <span> <span class="va">f_parent_saemix_dfop_const</span><span class="op">$</span><span class="va">so</span>, <span class="va">f_parent_saemix_dfop_tc</span><span class="op">$</span><span class="va">so</span><span class="op">)</span>, <span class="va">AIC</span>, method <span class="op">=</span> <span class="st">"is"</span><span class="op">)</span></span> <span><span class="op">)</span></span> -<span><span class="fu">kable</span><span class="op">(</span><span class="va">AIC_all</span><span class="op">)</span></span></code></pre></div> +<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="va">AIC_all</span><span class="op">)</span></span></code></pre></div> <table class="table"> <thead><tr class="header"> <th align="left">Degradation model</th> @@ -418,7 +578,7 @@ DFOP tc more iterations 665.88 663.80</code></pre> <td align="left">DFOP</td> <td align="left">const</td> <td align="right">NA</td> -<td align="right">671.98</td> +<td align="right">709.26</td> <td align="right">705.75</td> </tr> <tr class="even"> @@ -435,21 +595,33 @@ DFOP tc more iterations 665.88 663.80</code></pre> <div class="section level2"> <h2 id="conclusion">Conclusion<a class="anchor" aria-label="anchor" href="#conclusion"></a> </h2> -<p>A more detailed analysis of the dimethenamid dataset confirmed that the DFOP model provides the most appropriate description of the decline of the parent compound in these data. On the other hand, closer inspection of the results revealed that the variability of the k2 parameter across the population of soils is ill-defined. This coincides with the observation that this parameter cannot robustly be quantified for some of the soils.</p> -<p>Regarding the regulatory use of these data, it is claimed that an improved characterisation of the mean parameter values across the population is obtained using the nonlinear mixed-effects models presented here. However, attempts to quantify the variability of the slower rate constant of the biphasic decline of dimethenamid indicate that the data are not sufficient to characterise this variability to a satisfactory precision.</p> +<p>A more detailed analysis of the dimethenamid dataset confirmed that +the DFOP model provides the most appropriate description of the decline +of the parent compound in these data. On the other hand, closer +inspection of the results revealed that the variability of the k2 +parameter across the population of soils is ill-defined. This coincides +with the observation that this parameter cannot robustly be quantified +for some of the soils.</p> +<p>Regarding the regulatory use of these data, it is claimed that an +improved characterisation of the mean parameter values across the +population is obtained using the nonlinear mixed-effects models +presented here. However, attempts to quantify the variability of the +slower rate constant of the biphasic decline of dimethenamid indicate +that the data are not sufficient to characterise this variability to a +satisfactory precision.</p> </div> <div class="section level2"> <h2 id="session-info">Session Info<a class="anchor" aria-label="anchor" href="#session-info"></a> </h2> <div class="sourceCode" id="cb32"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/utils/sessionInfo.html" class="external-link">sessionInfo</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> -<pre><code>R version 4.2.2 (2022-10-31) +<pre><code>R version 4.2.3 (2023-03-15) Platform: x86_64-pc-linux-gnu (64-bit) -Running under: Debian GNU/Linux 11 (bullseye) +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.13.so +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 @@ -463,38 +635,44 @@ attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: -[1] saemix_3.2 npde_3.2 nlme_3.1-160 mkin_1.2.2 knitr_1.41 +[1] saemix_3.2 npde_3.3 nlme_3.1-162 mkin_1.2.3 knitr_1.42 loaded via a namespace (and not attached): - [1] deSolve_1.34 zoo_1.8-11 tidyselect_1.2.0 xfun_0.35 - [5] bslib_0.4.1 purrr_0.3.5 lattice_0.20-45 colorspace_2.0-3 - [9] vctrs_0.5.1 generics_0.1.3 htmltools_0.5.3 yaml_2.3.6 -[13] utf8_1.2.2 rlang_1.0.6 pkgdown_2.0.6 jquerylib_0.1.4 -[17] pillar_1.8.1 glue_1.6.2 DBI_1.1.3 lifecycle_1.0.3 -[21] stringr_1.4.1 munsell_0.5.0 gtable_0.3.1 ragg_1.2.4 -[25] codetools_0.2-18 memoise_2.0.1 evaluate_0.18 fastmap_1.1.0 -[29] lmtest_0.9-40 parallel_4.2.2 fansi_1.0.3 highr_0.9 -[33] scales_1.2.1 cachem_1.0.6 desc_1.4.2 jsonlite_1.8.3 -[37] systemfonts_1.0.4 fs_1.5.2 textshaping_0.3.6 gridExtra_2.3 -[41] ggplot2_3.4.0 digest_0.6.30 stringi_1.7.8 dplyr_1.0.10 -[45] grid_4.2.2 rprojroot_2.0.3 cli_3.4.1 tools_4.2.2 -[49] magrittr_2.0.3 sass_0.4.3 tibble_3.1.8 pkgconfig_2.0.3 -[53] assertthat_0.2.1 rmarkdown_2.18 R6_2.5.1 mclust_6.0.0 -[57] compiler_4.2.2 </code></pre> + [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 gtable_0.3.3 lattice_0.21-8 pkgconfig_2.0.3 +[17] rlang_1.1.0 DBI_1.1.3 cli_3.6.1 yaml_2.3.7 +[21] parallel_4.2.3 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 level2"> <h2 id="references">References<a class="anchor" aria-label="anchor" href="#references"></a> </h2> <!-- vim: set foldmethod=syntax: --> -<div id="refs" class="references hanging-indent"> -<div id="ref-efsa_2018_dimethenamid"> -<p>EFSA. 2018. “Peer Review of the Pesticide Risk Assessment of the Active Substance Dimethenamid-P.” <em>EFSA Journal</em> 16 (4): 5211.</p> +<div id="refs" class="references csl-bib-body hanging-indent"> +<div id="ref-efsa_2018_dimethenamid" class="csl-entry"> +EFSA. 2018. <span>“Peer Review of the Pesticide Risk Assessment of the +Active Substance Dimethenamid-p.”</span> <em>EFSA Journal</em> 16: 5211. </div> -<div id="ref-ranke2021"> -<p>Ranke, Johannes, Janina Wöltjen, Jana Schmidt, and Emmanuelle Comets. 2021. “Taking Kinetic Evaluations of Degradation Data to the Next Level with Nonlinear Mixed-Effects Models.” <em>Environments</em> 8 (8). <a href="https://doi.org/10.3390/environments8080071" class="external-link">https://doi.org/10.3390/environments8080071</a>.</p> +<div id="ref-ranke2021" class="csl-entry"> +Ranke, Johannes, Janina Wöltjen, Jana Schmidt, and Emmanuelle Comets. +2021. <span>“Taking Kinetic Evaluations of Degradation Data to the Next +Level with Nonlinear Mixed-Effects Models.”</span> <em>Environments</em> +8 (8). <a href="https://doi.org/10.3390/environments8080071" class="external-link">https://doi.org/10.3390/environments8080071</a>. </div> -<div id="ref-dimethenamid_rar_2018_b8"> -<p>Rapporteur Member State Germany, Co-Rapporteur Member State Bulgaria. 2018. “Renewal Assessment Report Dimethenamid-P Volume 3 - B.8 Environmental fate and behaviour, Rev. 2 - November 2017.” <a href="https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716" class="external-link">https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716</a>.</p> +<div id="ref-dimethenamid_rar_2018_b8" class="csl-entry"> +Rapporteur Member State Germany, Co-Rapporteur Member State Bulgaria. +2018. <span>“<span class="nocase">Renewal Assessment Report +Dimethenamid-P Volume 3 - B.8 Environmental fate and behaviour, Rev. 2 - +November 2017</span>.”</span> <a href="https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716" class="external-link">https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716</a>. </div> </div> </div> @@ -517,7 +695,7 @@ loaded via a namespace (and not attached): <div class="pkgdown"> <p></p> -<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> +<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer> diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png Binary files differindex 4999e72c..505072ce 100644 --- a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png +++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png Binary files differindex b59764b1..505072ce 100644 --- a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png +++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png Binary files differindex da7ceeb6..0dd4da39 100644 --- a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png +++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png Binary files differindex 467c3c1a..0ed7448d 100644 --- a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png +++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png Binary files differindex 800c320b..d941f3e6 100644 --- a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png +++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png Binary files differindex 4d2dc94e..a799b14c 100644 --- a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png +++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png diff --git a/docs/dev/articles/web_only/multistart.html b/docs/dev/articles/web_only/multistart.html index fd05f340..d3d9d76d 100644 --- a/docs/dev/articles/web_only/multistart.html +++ b/docs/dev/articles/web_only/multistart.html @@ -34,14 +34,14 @@ </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.2</span> + <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.3</span> </span> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li> - <a href="../../reference/index.html">Functions and data</a> + <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"> @@ -53,6 +53,9 @@ <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> @@ -60,22 +63,31 @@ <a href="../../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a> </li> <li> - <a href="../../articles/web_only/dimethenamid_2018.html">Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models</a> + <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/web_only/multistart.html">Short demo of the multistart method</a> + <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/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a> + <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/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a> + <a href="../../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a> </li> <li> - <a href="../../articles/twa.html">Calculation of time weighted average concentrations with mkin</a> + <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/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a> + <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> @@ -83,6 +95,15 @@ <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> @@ -106,13 +127,15 @@ - </header><script src="multistart_files/accessible-code-block-0.0.1/empty-anchor.js"></script><div class="row"> + </header><div class="row"> <div class="col-md-9 contents"> <div class="page-header toc-ignore"> <h1 data-toc-skip>Short demo of the multistart method</h1> - <h4 data-toc-skip class="author">Johannes Ranke</h4> + <h4 data-toc-skip class="author">Johannes +Ranke</h4> - <h4 data-toc-skip class="date">Last change 26 September 2022 (rebuilt 2022-11-24)</h4> + <h4 data-toc-skip class="date">Last change 26 September 2022 +(rebuilt 2023-04-16)</h4> <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/vignettes/web_only/multistart.rmd" class="external-link"><code>vignettes/web_only/multistart.rmd</code></a></small> <div class="hidden name"><code>multistart.rmd</code></div> @@ -121,7 +144,8 @@ -<p>The dimethenamid data from 2018 from seven soils is used as example data in this vignette.</p> +<p>The dimethenamid data from 2018 from seven soils is used as example +data in this vignette.</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="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> @@ -133,34 +157,44 @@ <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 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> <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="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>First, we check the DFOP model with the two-component error model and random effects for all degradation parameters.</p> +<p>First, we check the DFOP model with the two-component error model and +random effects for all degradation parameters.</p> <div class="sourceCode" id="cb2"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_mmkin</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/mmkin.html">mmkin</a></span><span class="op">(</span><span class="st">"DFOP"</span>, <span class="va">dmta_ds</span>, error_model <span class="op">=</span> <span class="st">"tc"</span>, cores <span class="op">=</span> <span class="fl">7</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span> <span><span class="va">f_saem_full</span> <span class="op"><-</span> <span class="fu"><a href="../../reference/saem.html">saem</a></span><span class="op">(</span><span class="va">f_mmkin</span><span class="op">)</span></span> <span><span class="fu"><a href="../../reference/illparms.html">illparms</a></span><span class="op">(</span><span class="va">f_saem_full</span><span class="op">)</span></span></code></pre></div> <pre><code><span><span class="co">## [1] "sd(log_k2)"</span></span></code></pre> -<p>We see that not all variability parameters are identifiable. The <code>illparms</code> function tells us that the confidence interval for the standard deviation of ‘log_k2’ includes zero. We check this assessment using multiple runs with different starting values.</p> +<p>We see that not all variability parameters are identifiable. The +<code>illparms</code> function tells us that the confidence interval for +the standard deviation of ‘log_k2’ includes zero. We check this +assessment using multiple runs with different starting values.</p> <div class="sourceCode" id="cb4"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_saem_full_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_full</span>, n <span class="op">=</span> <span class="fl">16</span>, cores <span class="op">=</span> <span class="fl">16</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_full_multi</span><span class="op">)</span></span></code></pre></div> <p><img src="multistart_files/figure-html/unnamed-chunk-3-1.png" width="700"></p> -<p>This confirms that the variance of k2 is the most problematic parameter, so we reduce the parameter distribution model by removing the intersoil variability for k2.</p> +<p>This confirms that the variance of k2 is the most problematic +parameter, so we reduce the parameter distribution model by removing the +intersoil variability for k2.</p> <div class="sourceCode" id="cb5"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="va">f_saem_reduced</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_full</span>, no_random_effect <span class="op">=</span> <span class="st">"log_k2"</span><span class="op">)</span></span> <span><span class="fu"><a href="../../reference/illparms.html">illparms</a></span><span class="op">(</span><span class="va">f_saem_reduced</span><span class="op">)</span></span> <span><span class="va">f_saem_reduced_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_reduced</span>, n <span class="op">=</span> <span class="fl">16</span>, cores <span class="op">=</span> <span class="fl">16</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_reduced_multi</span>, lpos <span class="op">=</span> <span class="st">"topright"</span><span class="op">)</span></span></code></pre></div> <p><img src="multistart_files/figure-html/unnamed-chunk-4-1.png" width="700"></p> -<p>The results confirm that all remaining parameters can be determined with sufficient certainty.</p> -<p>We can also analyse the log-likelihoods obtained in the multiple runs:</p> +<p>The results confirm that all remaining parameters can be determined +with sufficient certainty.</p> +<p>We can also analyse the log-likelihoods obtained in the multiple +runs:</p> <div class="sourceCode" id="cb6"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="../../reference/llhist.html">llhist</a></span><span class="op">(</span><span class="va">f_saem_reduced_multi</span><span class="op">)</span></span></code></pre></div> <p><img src="multistart_files/figure-html/unnamed-chunk-5-1.png" width="700"></p> -<p>The parameter histograms can be further improved by excluding the result with the low likelihood.</p> +<p>The parameter histograms can be further improved by excluding the +result with the low likelihood.</p> <div class="sourceCode" id="cb7"><pre class="downlit sourceCode r"> <code class="sourceCode R"><span><span class="fu"><a href="../../reference/parplot.html">parplot</a></span><span class="op">(</span><span class="va">f_saem_reduced_multi</span>, lpos <span class="op">=</span> <span class="st">"topright"</span>, llmin <span class="op">=</span> <span class="op">-</span><span class="fl">326</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><span class="op">)</span></span></code></pre></div> <p><img src="multistart_files/figure-html/unnamed-chunk-6-1.png" width="700"></p> -<p>We can use the <code>anova</code> method to compare the models, including a likelihood ratio test if the models are nested.</p> +<p>We can use the <code>anova</code> method to compare the models, +including a likelihood ratio test if the models are nested.</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_full</span>, <span class="fu"><a href="../../reference/multistart.html">best</a></span><span class="op">(</span><span class="va">f_saem_reduced_multi</span><span class="op">)</span>, test <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></code></pre></div> <pre><code><span><span class="co">## Data: 155 observations of 1 variable(s) grouped in 6 datasets</span></span> @@ -168,7 +202,9 @@ <span><span class="co">## npar AIC BIC Lik Chisq Df Pr(>Chisq)</span></span> <span><span class="co">## best(f_saem_reduced_multi) 9 663.69 661.82 -322.85 </span></span> <span><span class="co">## f_saem_full 10 669.77 667.69 -324.89 0 1 1</span></span></code></pre> -<p>While AIC and BIC are lower for the reduced model, the likelihood ratio test does not indicate a significant difference between the fits.</p> +<p>While AIC and BIC are lower for the reduced model, the likelihood +ratio test does not indicate a significant difference between the +fits.</p> </div> <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar"> @@ -186,7 +222,7 @@ <div class="pkgdown"> <p></p> -<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> +<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer> diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png Binary files differindex 13bdb94b..8f514227 100644 --- a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png +++ b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-4-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-4-1.png Binary files differindex 56147ae2..8135d270 100644 --- a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-4-1.png +++ b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-4-1.png diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-5-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-5-1.png Binary files differindex f0b89dba..f0270537 100644 --- a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-5-1.png +++ b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-5-1.png diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-6-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-6-1.png Binary files differindex c57c247f..b1582557 100644 --- a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-6-1.png +++ b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-6-1.png diff --git a/docs/dev/articles/web_only/saem_benchmarks.html b/docs/dev/articles/web_only/saem_benchmarks.html index 551b34d4..66740a11 100644 --- a/docs/dev/articles/web_only/saem_benchmarks.html +++ b/docs/dev/articles/web_only/saem_benchmarks.html @@ -135,7 +135,7 @@ Ranke</h4> <h4 data-toc-skip class="date">Last change 17 February 2023 -(rebuilt 2023-02-17)</h4> +(rebuilt 2023-04-16)</h4> <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/vignettes/web_only/saem_benchmarks.rmd" class="external-link"><code>vignettes/web_only/saem_benchmarks.rmd</code></a></small> <div class="hidden name"><code>saem_benchmarks.rmd</code></div> @@ -393,6 +393,16 @@ systems. All trademarks belong to their respective owners.</p> <td align="right">2.010</td> <td align="right">2.088</td> </tr> +<tr class="even"> +<td align="left">Ryzen 9 7950X</td> +<td align="left">Linux</td> +<td align="left">1.2.3</td> +<td align="left">3.2</td> +<td align="right">1.389</td> +<td align="right">2.300</td> +<td align="right">1.880</td> +<td align="right">2.355</td> +</tr> </tbody> </table> <p>Two-component error fits for SFO, DFOP, SFORB and HS.</p> @@ -458,6 +468,16 @@ systems. All trademarks belong to their respective owners.</p> <td align="right">3.307</td> <td align="right">3.460</td> </tr> +<tr class="even"> +<td align="left">Ryzen 9 7950X</td> +<td align="left">Linux</td> +<td align="left">1.2.3</td> +<td align="left">3.2</td> +<td align="right">2.300</td> +<td align="right">3.075</td> +<td align="right">3.206</td> +<td align="right">3.471</td> +</tr> </tbody> </table> </div> @@ -515,6 +535,14 @@ systems. All trademarks belong to their respective owners.</p> <td align="right">11.796</td> <td align="right">216.012</td> </tr> +<tr class="even"> +<td align="left">Ryzen 9 7950X</td> +<td align="left">Linux</td> +<td align="left">1.2.3</td> +<td align="left">3.2</td> +<td align="right">12.951</td> +<td align="right">294.082</td> +</tr> </tbody> </table> </div> @@ -566,6 +594,13 @@ systems. All trademarks belong to their respective owners.</p> <td align="left">3.2</td> <td align="right">392.364</td> </tr> +<tr class="even"> +<td align="left">Ryzen 9 7950X</td> +<td align="left">Linux</td> +<td align="left">1.2.3</td> +<td align="left">3.2</td> +<td align="right">477.297</td> +</tr> </tbody> </table> </div> |