From 95178837d3f91e84837628446b5fd468179af2b9 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Tue, 4 Jun 2019 15:09:28 +0200 Subject: Additional algorithm "d_c", more tests, docs The new algorithm tries direct optimization of the likelihood, as well as a three step procedure. In this way, we consistently get the model with the highest likelihood for SFO, DFOP and HS for all 12 new test datasets. --- DESCRIPTION | 4 +- NEWS.md | 8 +- R/mkinfit.R | 117 ++++--- _pkgdown.yml | 2 + build.log | 9 + check.log | 14 +- data/experimental_data_for_UBA_2019.rda | Bin 8445 -> 8076 bytes docs/articles/FOCUS_D.html | 14 +- docs/articles/FOCUS_D_files/figure-html/plot-1.png | Bin 98398 -> 97716 bytes .../FOCUS_D_files/figure-html/plot_2-1.png | Bin 14288 -> 14220 bytes docs/articles/FOCUS_L.html | 60 ++-- .../figure-html/unnamed-chunk-10-1.png | Bin 29148 -> 29061 bytes .../figure-html/unnamed-chunk-12-1.png | Bin 54995 -> 54890 bytes .../figure-html/unnamed-chunk-13-1.png | Bin 22098 -> 22017 bytes .../figure-html/unnamed-chunk-15-1.png | Bin 38711 -> 38623 bytes .../figure-html/unnamed-chunk-4-1.png | Bin 23493 -> 23429 bytes .../figure-html/unnamed-chunk-5-1.png | Bin 14858 -> 14826 bytes .../figure-html/unnamed-chunk-6-1.png | Bin 23962 -> 23884 bytes .../figure-html/unnamed-chunk-8-1.png | Bin 27981 -> 27887 bytes .../figure-html/unnamed-chunk-9-1.png | Bin 28407 -> 28307 bytes docs/articles/index.html | 4 +- docs/articles/mkin.html | 6 +- .../mkin_files/figure-html/unnamed-chunk-2-1.png | Bin 114726 -> 113885 bytes docs/articles/twa.html | 6 +- docs/articles/web_only/FOCUS_Z.html | 6 +- .../figure-html/FOCUS_2006_Z_fits_1-1.png | Bin 85592 -> 84962 bytes .../figure-html/FOCUS_2006_Z_fits_10-1.png | Bin 128674 -> 127841 bytes .../figure-html/FOCUS_2006_Z_fits_11-1.png | Bin 127674 -> 127069 bytes .../figure-html/FOCUS_2006_Z_fits_11a-1.png | Bin 96502 -> 95832 bytes .../figure-html/FOCUS_2006_Z_fits_11b-1.png | Bin 22316 -> 22086 bytes .../figure-html/FOCUS_2006_Z_fits_2-1.png | Bin 86198 -> 85657 bytes .../figure-html/FOCUS_2006_Z_fits_3-1.png | Bin 85812 -> 85239 bytes .../figure-html/FOCUS_2006_Z_fits_5-1.png | Bin 101996 -> 101416 bytes .../figure-html/FOCUS_2006_Z_fits_6-1.png | Bin 128979 -> 128185 bytes .../figure-html/FOCUS_2006_Z_fits_7-1.png | Bin 128634 -> 127782 bytes .../figure-html/FOCUS_2006_Z_fits_9-1.png | Bin 108437 -> 107730 bytes docs/articles/web_only/NAFTA_examples.html | 103 +++--- .../NAFTA_examples_files/figure-html/p10-1.png | Bin 53933 -> 53828 bytes .../NAFTA_examples_files/figure-html/p11-1.png | Bin 51316 -> 51210 bytes .../NAFTA_examples_files/figure-html/p12a-1.png | Bin 54573 -> 54489 bytes .../NAFTA_examples_files/figure-html/p12b-1.png | Bin 47194 -> 47070 bytes .../NAFTA_examples_files/figure-html/p13-1.png | Bin 51486 -> 51343 bytes .../NAFTA_examples_files/figure-html/p14-1.png | Bin 54036 -> 53898 bytes .../NAFTA_examples_files/figure-html/p15a-1.png | Bin 51194 -> 51113 bytes .../NAFTA_examples_files/figure-html/p15b-1.png | Bin 53096 -> 52979 bytes .../NAFTA_examples_files/figure-html/p16-1.png | Bin 62542 -> 62414 bytes .../NAFTA_examples_files/figure-html/p5a-1.png | Bin 55386 -> 55286 bytes .../NAFTA_examples_files/figure-html/p5b-1.png | Bin 53549 -> 53505 bytes .../NAFTA_examples_files/figure-html/p6-1.png | Bin 54945 -> 54907 bytes .../NAFTA_examples_files/figure-html/p7-1.png | Bin 66786 -> 66710 bytes .../NAFTA_examples_files/figure-html/p8-1.png | Bin 61538 -> 61400 bytes .../NAFTA_examples_files/figure-html/p9a-1.png | Bin 53061 -> 53005 bytes .../NAFTA_examples_files/figure-html/p9b-1.png | Bin 50009 -> 49914 bytes docs/articles/web_only/benchmarks.html | 140 ++++---- docs/articles/web_only/compiled_models.html | 20 +- docs/authors.html | 4 +- docs/index.html | 4 +- docs/news/index.html | 16 +- docs/pkgdown.yml | 2 +- docs/reference/AIC.mmkin.html | 4 +- docs/reference/CAKE_export.html | 4 +- docs/reference/DFOP.solution-1.png | Bin 19459 -> 19369 bytes docs/reference/DFOP.solution.html | 4 +- docs/reference/Extract.mmkin.html | 4 +- docs/reference/FOCUS_2006_DFOP_ref_A_to_B.html | 4 +- docs/reference/FOCUS_2006_FOMC_ref_A_to_F.html | 4 +- docs/reference/FOCUS_2006_HS_ref_A_to_F.html | 4 +- docs/reference/FOCUS_2006_SFO_ref_A_to_F.html | 4 +- docs/reference/FOCUS_2006_datasets.html | 4 +- docs/reference/FOMC.solution-1.png | Bin 18710 -> 18630 bytes docs/reference/FOMC.solution.html | 4 +- docs/reference/HS.solution-1.png | Bin 18994 -> 18893 bytes docs/reference/HS.solution.html | 4 +- docs/reference/IORE.solution-1.png | Bin 18751 -> 18668 bytes docs/reference/IORE.solution.html | 4 +- docs/reference/NAFTA_SOP_2015-1.png | Bin 41438 -> 41379 bytes docs/reference/NAFTA_SOP_2015.html | 4 +- docs/reference/NAFTA_SOP_Attachment-1.png | Bin 42265 -> 42204 bytes docs/reference/NAFTA_SOP_Attachment.html | 4 +- docs/reference/SFO.solution-1.png | Bin 18757 -> 18661 bytes docs/reference/SFO.solution.html | 4 +- docs/reference/SFORB.solution-1.png | Bin 20255 -> 20190 bytes docs/reference/SFORB.solution.html | 4 +- docs/reference/add_err-1.png | Bin 89826 -> 89500 bytes docs/reference/add_err-2.png | Bin 51200 -> 51024 bytes docs/reference/add_err-3.png | Bin 52617 -> 52523 bytes docs/reference/add_err.html | 4 +- docs/reference/endpoints.html | 4 +- docs/reference/experimental_data_for_UBA-1.png | Bin 0 -> 92900 bytes docs/reference/experimental_data_for_UBA.html | 223 ++++++++++++ docs/reference/geometric_mean.html | 4 +- docs/reference/ilr.html | 4 +- docs/reference/index.html | 16 +- docs/reference/logLik.mkinfit.html | 4 +- docs/reference/logistic.solution-1.png | Bin 63411 -> 63262 bytes docs/reference/logistic.solution-2.png | Bin 29229 -> 29139 bytes docs/reference/logistic.solution.html | 4 +- docs/reference/max_twa_parent.html | 4 +- docs/reference/mccall81_245T-1.png | Bin 58660 -> 58349 bytes docs/reference/mccall81_245T.html | 4 +- docs/reference/mkin_long_to_wide.html | 4 +- docs/reference/mkin_wide_to_long.html | 4 +- docs/reference/mkinds.html | 4 +- docs/reference/mkinerrmin.html | 4 +- docs/reference/mkinerrplot-1.png | Bin 35936 -> 35440 bytes docs/reference/mkinerrplot.html | 4 +- docs/reference/mkinfit.html | 205 ++++++----- docs/reference/mkinmod.html | 6 +- docs/reference/mkinparplot-1.png | Bin 16549 -> 16467 bytes docs/reference/mkinparplot.html | 4 +- docs/reference/mkinplot.html | 4 +- docs/reference/mkinpredict.html | 10 +- docs/reference/mkinresplot-1.png | Bin 14892 -> 14863 bytes docs/reference/mkinresplot.html | 4 +- docs/reference/mkinsub.html | 4 +- docs/reference/mmkin-1.png | Bin 97607 -> 97412 bytes docs/reference/mmkin-2.png | Bin 88226 -> 88000 bytes docs/reference/mmkin-3.png | Bin 85737 -> 85371 bytes docs/reference/mmkin-4.png | Bin 63315 -> 62975 bytes docs/reference/mmkin-5.png | Bin 57623 -> 57465 bytes docs/reference/mmkin.html | 8 +- docs/reference/nafta-1.png | Bin 41438 -> 41379 bytes docs/reference/nafta.html | 4 +- docs/reference/plot.mkinfit-1.png | Bin 45207 -> 45157 bytes docs/reference/plot.mkinfit-2.png | Bin 52884 -> 52842 bytes docs/reference/plot.mkinfit-3.png | Bin 51737 -> 51545 bytes docs/reference/plot.mkinfit-4.png | Bin 43712 -> 43670 bytes docs/reference/plot.mkinfit-5.png | Bin 59934 -> 59560 bytes docs/reference/plot.mkinfit-6.png | Bin 65811 -> 65273 bytes docs/reference/plot.mkinfit.html | 10 +- docs/reference/plot.mmkin-1.png | Bin 34389 -> 34273 bytes docs/reference/plot.mmkin-2.png | Bin 34725 -> 34629 bytes docs/reference/plot.mmkin-3.png | Bin 25445 -> 25550 bytes docs/reference/plot.mmkin-4.png | Bin 37126 -> 38129 bytes docs/reference/plot.mmkin.html | 8 +- docs/reference/plot.nafta.html | 4 +- docs/reference/print.mkinds.html | 4 +- docs/reference/print.mkinmod.html | 4 +- docs/reference/print.nafta.html | 4 +- docs/reference/schaefer07_complex_case-1.png | Bin 55662 -> 55626 bytes docs/reference/schaefer07_complex_case.html | 4 +- docs/reference/sigma_twocomp.html | 4 +- docs/reference/summary.mkinfit.html | 10 +- docs/reference/synthetic_data_for_UBA.html | 11 +- docs/reference/test_data_from_UBA_2014-1.png | Bin 53388 -> 53086 bytes docs/reference/test_data_from_UBA_2014-2.png | Bin 69105 -> 68670 bytes docs/reference/test_data_from_UBA_2014.html | 4 +- docs/reference/transform_odeparms.html | 4 +- man/mkinerrplot.Rd | 2 + man/mkinfit.Rd | 40 +++ man/plot.mkinfit.Rd | 2 + test.log | 386 ++++++++++++++++++++- tests/testthat/AIC_exp_d_3.out | 0 tests/testthat/FOCUS_2006_D.csf | 2 +- tests/testthat/test_error_models.R | 115 +++--- vignettes/mkin_benchmarks.rda | Bin 797 -> 874 bytes 156 files changed, 1233 insertions(+), 528 deletions(-) create mode 100644 docs/reference/experimental_data_for_UBA-1.png create mode 100644 docs/reference/experimental_data_for_UBA.html create mode 100644 tests/testthat/AIC_exp_d_3.out diff --git a/DESCRIPTION b/DESCRIPTION index 66d22a95..03a1c9dd 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Package: mkin Type: Package Title: Kinetic Evaluation of Chemical Degradation Data -Version: 0.9.49.4 -Date: 2019-05-23 +Version: 0.9.49.5 +Date: 2019-06-04 Authors@R: c(person("Johannes", "Ranke", role = c("aut", "cre", "cph"), email = "jranke@uni-bremen.de", comment = c(ORCID = "0000-0003-4371-6538")), diff --git a/NEWS.md b/NEWS.md index 7ee35676..0a2b3300 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,8 +1,10 @@ -# mkin 0.9.49.4 (2019-05-23) +# mkin 0.9.49.5 (2019-06-04) -- Direct minimization of the negative log-likelihood for non-constant error models (two-component and variance by variable). In the case the error model is constant variance, least squares is used as this is more stable +- Several algorithms for minimization of the negative log-likelihood for non-constant error models (two-component and variance by variable). In the case the error model is constant variance, least squares is used as this is more stable. The default algorithm tries direct minimization and a three step procedure, and returns the model with the highest likelihood. -- The argument 'reweight.method' to mkinfit and mmkin is now obsolete, use 'error_model' instead +- The argument 'reweight.method' to mkinfit and mmkin is now obsolete, use 'error_model' and 'error_model_algorithm' instead + +- Add a test that checks if we get the best known AIC for parent only fits to 12 test datasets. Add these test datasets for this purpose. - New function 'mkinerrplot'. This function is also used for residual plots in 'plot.mmkin' if the argument 'resplot = "errmod"' is given, and in 'plot.mkinfit' if 'show_errplot' is set to TRUE. diff --git a/R/mkinfit.R b/R/mkinfit.R index e0a0e525..33e13d8e 100644 --- a/R/mkinfit.R +++ b/R/mkinfit.R @@ -34,7 +34,7 @@ mkinfit <- function(mkinmod, observed, quiet = FALSE, atol = 1e-8, rtol = 1e-10, n.outtimes = 100, error_model = c("const", "obs", "tc"), - error_model_algorithm = c("direct", "twostep", "threestep", "fourstep", "IRLS"), + error_model_algorithm = c("d_3", "direct", "twostep", "threestep", "fourstep", "IRLS"), reweight.tol = 1e-8, reweight.max.iter = 10, trace_parms = FALSE, ...) @@ -442,77 +442,102 @@ mkinfit <- function(mkinmod, observed, fit_time <- system.time({ degparms <- c(state.ini.optim, transparms.optim) - if (err_mod == "const" | error_model_algorithm != "direct") { + if (err_mod == "const") { if (!quiet) message("Ordinary least squares optimisation") fit <- nlminb(degparms, nlogLik, control = control, lower = lower[names(degparms)], upper = upper[names(degparms)], OLS = TRUE, ...) degparms <- fit$par + # Get the maximum likelihood estimate for sigma at the optimum parameter values data_errmod$residual <- data_errmod$value.observed - data_errmod$value.predicted sigma_mle <- sqrt(sum(data_errmod$residual^2)/nrow(data_errmod)) - if (err_mod == "const") { - errparms <- c(sigma = sigma_mle) - } - + errparms <- c(sigma = sigma_mle) nlogLik.current <- nlogLik(c(degparms, errparms), OLS = FALSE) fit$logLik <- - nlogLik.current - } - if (error_model_algorithm %in% c("threestep", "fourstep")) { - if (!quiet) message("Optimising the error model") - fit <- nlminb(errparms, nlogLik, control = control, - lower = lower[names(errparms)], - upper = upper[names(errparms)], - fixed_degparms = degparms, ...) - errparms <- fit$par - } - if (error_model_algorithm == "fourstep") { - if (!quiet) message("Optimising the degradation model") - fit <- nlminb(degparms, nlogLik, control = control, - lower = lower[names(degparms)], - upper = upper[names(degparms)], - fixed_errparms = errparms, ...) - degparms <- fit$par - } - if (error_model_algorithm %in% c("direct", "twostep", "threestep", "fourstep") & - err_mod != "const") { - if (!quiet) message("Optimising the complete model") - parms.start <- c(degparms, errparms) - fit <- nlminb(parms.start, nlogLik, - lower = lower[names(parms.start)], - upper = upper[names(parms.start)], - control = control, ...) - fit$logLik <- - nlogLik.current - } - if (err_mod != "const" & error_model_algorithm == "IRLS") { - reweight.diff <- 1 - n.iter <- 0 - errparms_last <- errparms - - while (reweight.diff > reweight.tol & - n.iter < reweight.max.iter) { + } else { + if (error_model_algorithm == "d_3") { + if (!quiet) message("Directly optimising the complete model") + parms.start <- c(degparms, errparms) + fit_direct <- nlminb(parms.start, nlogLik, + lower = lower[names(parms.start)], + upper = upper[names(parms.start)], + control = control, ...) + fit_direct$logLik <- - nlogLik.current + nlogLik.current <- Inf # reset to avoid conflict with the OLS step + } + if (error_model_algorithm != "direct") { + if (!quiet) message("Ordinary least squares optimisation") + fit <- nlminb(degparms, nlogLik, control = control, + lower = lower[names(degparms)], + upper = upper[names(degparms)], OLS = TRUE, ...) + degparms <- fit$par + # Get the maximum likelihood estimate for sigma at the optimum parameter values + data_errmod$residual <- data_errmod$value.observed - data_errmod$value.predicted + sigma_mle <- sqrt(sum(data_errmod$residual^2)/nrow(data_errmod)) + nlogLik.current <- nlogLik(c(degparms, errparms), OLS = FALSE) + fit$logLik <- - nlogLik.current + } + if (error_model_algorithm %in% c("threestep", "fourstep", "d_3")) { if (!quiet) message("Optimising the error model") fit <- nlminb(errparms, nlogLik, control = control, lower = lower[names(errparms)], upper = upper[names(errparms)], fixed_degparms = degparms, ...) errparms <- fit$par - + } + if (error_model_algorithm == "fourstep") { if (!quiet) message("Optimising the degradation model") fit <- nlminb(degparms, nlogLik, control = control, lower = lower[names(degparms)], upper = upper[names(degparms)], fixed_errparms = errparms, ...) degparms <- fit$par - - reweight.diff <- dist(rbind(errparms, errparms_last)) + } + if (error_model_algorithm %in% c("direct", "twostep", "threestep", + "fourstep", "d_3")) { + if (!quiet) message("Optimising the complete model") + parms.start <- c(degparms, errparms) + fit <- nlminb(parms.start, nlogLik, + lower = lower[names(parms.start)], + upper = upper[names(parms.start)], + control = control, ...) + fit$logLik <- - nlogLik.current + if (error_model_algorithm == "d_3" && fit_direct$logLik > fit$logLik) { + fit <- fit_direct + } + } + if (err_mod != "const" & error_model_algorithm == "IRLS") { + reweight.diff <- 1 + n.iter <- 0 errparms_last <- errparms - fit$par <- c(fit$par, errparms) - nlogLik.current <- nlogLik(c(degparms, errparms), OLS = FALSE) - fit$logLik <- - nlogLik.current + while (reweight.diff > reweight.tol & + n.iter < reweight.max.iter) { + + if (!quiet) message("Optimising the error model") + fit <- nlminb(errparms, nlogLik, control = control, + lower = lower[names(errparms)], + upper = upper[names(errparms)], + fixed_degparms = degparms, ...) + errparms <- fit$par + + if (!quiet) message("Optimising the degradation model") + fit <- nlminb(degparms, nlogLik, control = control, + lower = lower[names(degparms)], + upper = upper[names(degparms)], + fixed_errparms = errparms, ...) + degparms <- fit$par + + reweight.diff <- dist(rbind(errparms, errparms_last)) + errparms_last <- errparms + + fit$par <- c(fit$par, errparms) + nlogLik.current <- nlogLik(c(degparms, errparms), OLS = FALSE) + fit$logLik <- - nlogLik.current + } } } diff --git a/_pkgdown.yml b/_pkgdown.yml index e98469cd..04f46649 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -18,6 +18,7 @@ reference: - summary.mkinfit - mkinresplot - mkinparplot + - mkinerrplot - endpoints - mkinerrmin - logLik.mkinfit @@ -39,6 +40,7 @@ reference: - mccall81_245T - schaefer07_complex_case - synthetic_data_for_UBA_2014 + - experimental_data_for_UBA_2019 - test_data_from_UBA_2014 - mkinds - print.mkinds diff --git a/build.log b/build.log index 976d27d4..4ba4d2cc 100644 --- a/build.log +++ b/build.log @@ -1 +1,10 @@ * checking for file ‘./DESCRIPTION’ ... OK +* preparing ‘mkin’: +* checking DESCRIPTION meta-information ... OK +* installing the package to build vignettes +* creating vignettes ... OK +* checking for LF line-endings in source and make files and shell scripts +* checking for empty or unneeded directories +* looking to see if a ‘data/datalist’ file should be added +* building ‘mkin_0.9.49.5.tar.gz’ + diff --git a/check.log b/check.log index 49ba0af6..c31c3b2c 100644 --- a/check.log +++ b/check.log @@ -5,7 +5,7 @@ * using options ‘--no-tests --as-cran’ * checking for file ‘mkin/DESCRIPTION’ ... OK * checking extension type ... Package -* this is package ‘mkin’ version ‘0.9.49.4’ +* this is package ‘mkin’ version ‘0.9.49.5’ * package encoding: UTF-8 * checking CRAN incoming feasibility ... Note_to_CRAN_maintainers Maintainer: ‘Johannes Ranke ’ @@ -56,7 +56,11 @@ Maintainer: ‘Johannes Ranke ’ * checking data for ASCII and uncompressed saves ... OK * checking installed files from ‘inst/doc’ ... OK * checking files in ‘vignettes’ ... OK -* checking examples ... OK +* checking examples ... NOTE +Examples with CPU or elapsed time > 5s + user system elapsed +plot.mkinfit 9.307 0.084 9.396 +mkinerrplot 9.150 0.076 9.229 * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... SKIPPED * checking for unstated dependencies in vignettes ... OK @@ -65,5 +69,9 @@ Maintainer: ‘Johannes Ranke ’ * checking PDF version of manual ... OK * DONE -Status: OK +Status: 1 NOTE +See + ‘/home/jranke/git/mkin/mkin.Rcheck/00check.log’ +for details. + diff --git a/data/experimental_data_for_UBA_2019.rda b/data/experimental_data_for_UBA_2019.rda index 46b5de20..eb3e482e 100644 Binary files a/data/experimental_data_for_UBA_2019.rda and b/data/experimental_data_for_UBA_2019.rda differ diff --git a/docs/articles/FOCUS_D.html b/docs/articles/FOCUS_D.html index ba694065..698ccebc 100644 --- a/docs/articles/FOCUS_D.html +++ b/docs/articles/FOCUS_D.html @@ -30,7 +30,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -88,7 +88,7 @@

Example evaluation of FOCUS Example Dataset D

Johannes Ranke

-

2019-05-08

+

2019-06-04

@@ -166,10 +166,10 @@

A comprehensive report of the results is obtained using the summary method for mkinfit objects.

summary(fit)
-
## mkin version used for fitting:    0.9.49.4 
+
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Wed May  8 20:52:27 2019 
-## Date of summary: Wed May  8 20:52:27 2019 
+## Date of fit:     Tue Jun  4 15:03:18 2019 
+## Date of summary: Tue Jun  4 15:03:18 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - k_parent_sink * parent - k_parent_m1 * parent
@@ -177,7 +177,7 @@
 ## 
 ## Model predictions using solution type deSolve 
 ## 
-## Fitted using 389 model solutions performed in 0.998 s
+## Fitted using 389 model solutions performed in 0.978 s
 ## 
 ## Error model:
 ## Constant variance 
@@ -305,7 +305,7 @@
 
 
 
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/articles/FOCUS_D_files/figure-html/plot-1.png b/docs/articles/FOCUS_D_files/figure-html/plot-1.png index 0cd6596d..fc1142ab 100644 Binary files a/docs/articles/FOCUS_D_files/figure-html/plot-1.png and b/docs/articles/FOCUS_D_files/figure-html/plot-1.png differ diff --git a/docs/articles/FOCUS_D_files/figure-html/plot_2-1.png b/docs/articles/FOCUS_D_files/figure-html/plot_2-1.png index 64da1d2e..97c61a16 100644 Binary files a/docs/articles/FOCUS_D_files/figure-html/plot_2-1.png and b/docs/articles/FOCUS_D_files/figure-html/plot_2-1.png differ diff --git a/docs/articles/FOCUS_L.html b/docs/articles/FOCUS_L.html index 6771bf63..75b2cf10 100644 --- a/docs/articles/FOCUS_L.html +++ b/docs/articles/FOCUS_L.html @@ -30,7 +30,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -88,7 +88,7 @@

Example evaluation of FOCUS Laboratory Data L1 to L3

Johannes Ranke

-

2019-05-08

+

2019-06-04

@@ -112,17 +112,17 @@

Since mkin version 0.9-32 (July 2014), we can use shorthand notation like "SFO" for parent only degradation models. The following two lines fit the model and produce the summary report of the model fit. This covers the numerical analysis given in the FOCUS report.

m.L1.SFO <- mkinfit("SFO", FOCUS_2006_L1_mkin, quiet = TRUE)
 summary(m.L1.SFO)
-
## mkin version used for fitting:    0.9.49.4 
+
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Wed May  8 20:52:29 2019 
-## Date of summary: Wed May  8 20:52:29 2019 
+## Date of fit:     Tue Jun  4 15:03:20 2019 
+## Date of summary: Tue Jun  4 15:03:20 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - k_parent_sink * parent
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 133 model solutions performed in 0.276 s
+## Fitted using 133 model solutions performed in 0.28 s
 ## 
 ## Error model:
 ## Constant variance 
@@ -213,10 +213,10 @@
 
## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
## Warning in cov2cor(ans$cov.unscaled): diag(.) had 0 or NA entries; non-
 ## finite result is doubtful
-
## mkin version used for fitting:    0.9.49.4 
+
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Wed May  8 20:52:31 2019 
-## Date of summary: Wed May  8 20:52:31 2019 
+## Date of fit:     Tue Jun  4 15:03:22 2019 
+## Date of summary: Tue Jun  4 15:03:22 2019 
 ## 
 ## 
 ## Warning: Optimisation did not converge:
@@ -317,17 +317,17 @@
      main = "FOCUS L2 - FOMC")

summary(m.L2.FOMC, data = FALSE)
-
## mkin version used for fitting:    0.9.49.4 
+
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Wed May  8 20:52:32 2019 
-## Date of summary: Wed May  8 20:52:32 2019 
+## Date of fit:     Tue Jun  4 15:03:23 2019 
+## Date of summary: Tue Jun  4 15:03:23 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 239 model solutions performed in 0.483 s
+## Fitted using 239 model solutions performed in 0.484 s
 ## 
 ## Error model:
 ## Constant variance 
@@ -392,10 +392,10 @@
      main = "FOCUS L2 - DFOP")

summary(m.L2.DFOP, data = FALSE)
-
## mkin version used for fitting:    0.9.49.4 
+
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Wed May  8 20:52:33 2019 
-## Date of summary: Wed May  8 20:52:33 2019 
+## Date of fit:     Tue Jun  4 15:03:25 2019 
+## Date of summary: Tue Jun  4 15:03:25 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) *
@@ -404,7 +404,7 @@
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 572 model solutions performed in 1.185 s
+## Fitted using 572 model solutions performed in 1.193 s
 ## 
 ## Error model:
 ## Constant variance 
@@ -491,10 +491,10 @@
 

The objects returned by mmkin are arranged like a matrix, with models as a row index and datasets as a column index.

We can extract the summary and plot for e.g. the DFOP fit, using square brackets for indexing which will result in the use of the summary and plot functions working on mkinfit objects.

summary(mm.L3[["DFOP", 1]])
-
## mkin version used for fitting:    0.9.49.4 
+
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Wed May  8 20:52:35 2019 
-## Date of summary: Wed May  8 20:52:35 2019 
+## Date of fit:     Tue Jun  4 15:03:26 2019 
+## Date of summary: Tue Jun  4 15:03:27 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) *
@@ -503,7 +503,7 @@
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 373 model solutions performed in 0.768 s
+## Fitted using 373 model solutions performed in 0.767 s
 ## 
 ## Error model:
 ## Constant variance 
@@ -596,17 +596,17 @@
 

The \(\chi^2\) error level of 3.3% as well as the plot suggest that the SFO model fits very well. The error level at which the \(\chi^2\) test passes is slightly lower for the FOMC model. However, the difference appears negligible.

summary(mm.L4[["SFO", 1]], data = FALSE)
-
## mkin version used for fitting:    0.9.49.4 
+
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Wed May  8 20:52:36 2019 
-## Date of summary: Wed May  8 20:52:37 2019 
+## Date of fit:     Tue Jun  4 15:03:27 2019 
+## Date of summary: Tue Jun  4 15:03:28 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - k_parent_sink * parent
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 142 model solutions performed in 0.289 s
+## Fitted using 142 model solutions performed in 0.288 s
 ## 
 ## Error model:
 ## Constant variance 
@@ -660,17 +660,17 @@
 ##        DT50 DT90
 ## parent  106  352
summary(mm.L4[["FOMC", 1]], data = FALSE)
-
## mkin version used for fitting:    0.9.49.4 
+
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Wed May  8 20:52:36 2019 
-## Date of summary: Wed May  8 20:52:37 2019 
+## Date of fit:     Tue Jun  4 15:03:28 2019 
+## Date of summary: Tue Jun  4 15:03:28 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 224 model solutions performed in 0.45 s
+## Fitted using 224 model solutions performed in 0.449 s
 ## 
 ## Error model:
 ## Constant variance 
@@ -769,7 +769,7 @@
 
 
 
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-10-1.png b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-10-1.png index cc28c092..32fef506 100644 Binary files a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-10-1.png and b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-10-1.png differ diff --git a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-12-1.png b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-12-1.png index 46d85b73..f23a4c97 100644 Binary files a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-12-1.png and b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-12-1.png differ diff --git a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-13-1.png b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-13-1.png index ac326b45..ed6a781d 100644 Binary files a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-13-1.png and b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-13-1.png differ diff --git a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-15-1.png b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-15-1.png index 62b2ceb3..2e5071d9 100644 Binary files a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-15-1.png and b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-15-1.png differ diff --git a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-4-1.png b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-4-1.png index 1a9c8457..04bee502 100644 Binary files a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-4-1.png and b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-4-1.png differ diff --git a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-5-1.png b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-5-1.png index 93beb55f..86af1cf9 100644 Binary files a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-5-1.png and b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-5-1.png differ diff --git a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-6-1.png b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-6-1.png index 3dd8565c..16235059 100644 Binary files a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-6-1.png and b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-6-1.png differ diff --git a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-8-1.png b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-8-1.png index 8d6531ea..0bfac9e2 100644 Binary files a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-8-1.png and b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-8-1.png differ diff --git a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-9-1.png b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-9-1.png index a5e75b70..d194c676 100644 Binary files a/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-9-1.png and b/docs/articles/FOCUS_L_files/figure-html/unnamed-chunk-9-1.png differ diff --git a/docs/articles/index.html b/docs/articles/index.html index eb2d55ef..c2982f4b 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -60,7 +60,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -145,7 +145,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/articles/mkin.html b/docs/articles/mkin.html index c274696c..09b1b8ea 100644 --- a/docs/articles/mkin.html +++ b/docs/articles/mkin.html @@ -30,7 +30,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -88,7 +88,7 @@

Introduction to mkin

Johannes Ranke

-

2019-05-08

+

2019-06-04

@@ -243,7 +243,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/articles/mkin_files/figure-html/unnamed-chunk-2-1.png b/docs/articles/mkin_files/figure-html/unnamed-chunk-2-1.png index 29ae1c43..751a79e1 100644 Binary files a/docs/articles/mkin_files/figure-html/unnamed-chunk-2-1.png and b/docs/articles/mkin_files/figure-html/unnamed-chunk-2-1.png differ diff --git a/docs/articles/twa.html b/docs/articles/twa.html index 9f660fab..ede27942 100644 --- a/docs/articles/twa.html +++ b/docs/articles/twa.html @@ -30,7 +30,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -88,7 +88,7 @@

Calculation of time weighted average concentrations with mkin

Johannes Ranke

-

2019-05-08

+

2019-06-04

@@ -139,7 +139,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/articles/web_only/FOCUS_Z.html b/docs/articles/web_only/FOCUS_Z.html index 9184fad5..555400df 100644 --- a/docs/articles/web_only/FOCUS_Z.html +++ b/docs/articles/web_only/FOCUS_Z.html @@ -30,7 +30,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -88,7 +88,7 @@

Example evaluation of FOCUS dataset Z

Johannes Ranke

-

2019-05-08

+

2019-06-04

@@ -377,7 +377,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png index 0880ca60..471db177 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png differ diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png index 1a92365e..3c983f21 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png differ diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png index debf3cb8..0e0a78a9 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png differ diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png index 89020a0a..d7dd85a5 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png differ diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png index 8188c4cf..7764f4e2 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png differ diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png index 8e13b498..d24b8a40 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png differ diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png index 7d490baa..dd8c1e0a 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png differ diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png index 4916ee4d..45a32027 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png differ diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png index a11e0092..18832ed2 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png differ diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png index 292c0690..0d3b4d1a 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png differ diff --git a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png index acd197f2..898e6190 100644 Binary files a/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png and b/docs/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples.html b/docs/articles/web_only/NAFTA_examples.html index 4d9e9b2d..7f3cc76b 100644 --- a/docs/articles/web_only/NAFTA_examples.html +++ b/docs/articles/web_only/NAFTA_examples.html @@ -30,7 +30,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -88,7 +88,7 @@

Evaluation of example datasets from Attachment 1 to the US EPA SOP for the NAFTA guidance

Johannes Ranke

-

2019-05-08

+

2019-06-04

@@ -308,16 +308,11 @@ Example on page 8

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.

p8 <- nafta(NAFTA_SOP_Attachment[["p8"]], parms.ini = c(k__iore_parent_sink = 1e-3))
-
## Warning in summary.mkinfit(x): Could not calculate correlation; no
-## covariance matrix
-
-## Warning in summary.mkinfit(x): Could not calculate correlation; no
-## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p8)
+
plot(p8)

-
print(p8)
+
print(p8)
## Sums of squares:
 ##       SFO      IORE      DFOP 
 ## 1996.9408  444.9237  547.5616 
@@ -327,11 +322,10 @@
 ## 
 ## Parameters:
 ## $SFO
-##                     Estimate Pr(>t) Lower Upper
-## parent_0            88.16549     NA    NA    NA
-## k__iore_parent_sink  0.00100     NA    NA    NA
-## k_parent_sink        0.00803     NA    NA    NA
-## sigma                7.44786     NA    NA    NA
+##               Estimate   Pr(>t)    Lower    Upper
+## parent_0      88.16549 6.53e-29 83.37344 92.95754
+## k_parent_sink  0.00803 1.67e-13  0.00674  0.00957
+## sigma          7.44786 4.17e-10  5.66209  9.23363
 ## 
 ## $IORE
 ##                     Estimate   Pr(>t)    Lower    Upper
@@ -341,13 +335,12 @@
 ## sigma               3.52e+00 5.36e-10 2.67e+00 4.36e+00
 ## 
 ## $DFOP
-##                     Estimate Pr(>t) Lower Upper
-## parent_0            95.70619     NA    NA    NA
-## k__iore_parent_sink  0.00100     NA    NA    NA
-## k1                   0.02500     NA    NA    NA
-## k2                   0.00273     NA    NA    NA
-## g                    0.58835     NA    NA    NA
-## sigma                3.90001     NA    NA    NA
+##          Estimate   Pr(>t)    Lower    Upper
+## parent_0 95.70619 8.99e-32 91.87941 99.53298
+## k1        0.02500 5.25e-04  0.01422  0.04394
+## k2        0.00273 6.84e-03  0.00125  0.00597
+## g         0.58835 2.84e-06  0.36595  0.77970
+## sigma     3.90001 6.94e-10  2.96260  4.83741
 ## 
 ## 
 ## DTx values:
@@ -366,12 +359,12 @@
 

Example on page 9, upper panel

-
p9a <- nafta(NAFTA_SOP_Attachment[["p9a"]])
+
p9a <- nafta(NAFTA_SOP_Attachment[["p9a"]])
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p9a)
+
plot(p9a)

-
print(p9a)
+
print(p9a)
## Sums of squares:
 ##       SFO      IORE      DFOP 
 ## 839.35238  88.57064   9.93363 
@@ -415,7 +408,7 @@
 

Example on page 9, lower panel

-
p9b <- nafta(NAFTA_SOP_Attachment[["p9b"]])
+
p9b <- nafta(NAFTA_SOP_Attachment[["p9b"]])
## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
## Warning in sqrt(diag(covar_notrans)): NaNs wurden erzeugt
## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
@@ -423,9 +416,9 @@ ## finite result is doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p9b)
+
plot(p9b)

-
print(p9b)
+
print(p9b)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 35.64867 23.22334 35.64867 
@@ -469,12 +462,12 @@
 

Example on page 10

-
p10 <- nafta(NAFTA_SOP_Attachment[["p10"]])
+
p10 <- nafta(NAFTA_SOP_Attachment[["p10"]])
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p10)
+
plot(p10)

-
print(p10)
+
print(p10)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 899.4089 336.4348 899.4089 
@@ -522,12 +515,12 @@
 

Example on page 11

-
p11 <- nafta(NAFTA_SOP_Attachment[["p11"]])
+
p11 <- nafta(NAFTA_SOP_Attachment[["p11"]])
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p11)
+
plot(p11)

-
print(p11)
+
print(p11)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 579.6805 204.7932 144.7783 
@@ -576,14 +569,14 @@
 

Example on page 12, upper panel

-
p12a <- nafta(NAFTA_SOP_Attachment[["p12a"]])
+
p12a <- nafta(NAFTA_SOP_Attachment[["p12a"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
 ## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p12a)
+
plot(p12a)

-
print(p12a)
+
print(p12a)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 695.4440 220.0685 695.4440 
@@ -626,7 +619,7 @@
 

Example on page 12, lower panel

-
p12b <- nafta(NAFTA_SOP_Attachment[["p12b"]])
+
p12b <- nafta(NAFTA_SOP_Attachment[["p12b"]])
## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
## Warning in qt(alpha/2, rdf): NaNs wurden erzeugt
## Warning in qt(1 - alpha/2, rdf): NaNs wurden erzeugt
@@ -637,9 +630,9 @@ ## finite result is doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p12b)
+
plot(p12b)

-
print(p12b)
+
print(p12b)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 58.90242 19.06353 58.90242 
@@ -682,16 +675,16 @@
 

Example on page 13

-
p13 <- nafta(NAFTA_SOP_Attachment[["p13"]])
+
p13 <- nafta(NAFTA_SOP_Attachment[["p13"]])
## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
## Warning in cov2cor(ans$cov.unscaled): diag(.) had 0 or NA entries; non-
 ## finite result is doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p13)
+
plot(p13)

-
print(p13)
+
print(p13)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 174.5971 142.3951 174.5971 
@@ -735,16 +728,16 @@
 

DT50 not observed in the study and DFOP problems in PestDF

-
p14 <- nafta(NAFTA_SOP_Attachment[["p14"]])
+
p14 <- nafta(NAFTA_SOP_Attachment[["p14"]])
## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
## Warning in cov2cor(ans$cov.unscaled): diag(.) had 0 or NA entries; non-
 ## finite result is doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p14)
+
plot(p14)

-
print(p14)
+
print(p14)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 48.43249 28.67746 27.26248 
@@ -788,7 +781,7 @@
 

N is less than 1 and DFOP fraction parameter is below zero

-
p15a <- nafta(NAFTA_SOP_Attachment[["p15a"]])
+
p15a <- nafta(NAFTA_SOP_Attachment[["p15a"]])
## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
## Warning in sqrt(diag(covar_notrans)): NaNs wurden erzeugt
## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
@@ -796,9 +789,9 @@ ## finite result is doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p15a)
+
plot(p15a)

-
print(p15a)
+
print(p15a)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 245.5248 135.0132 245.5248 
@@ -837,16 +830,16 @@
 ## 
 ## Representative half-life:
 ## [1] 41.33
-
p15b <- nafta(NAFTA_SOP_Attachment[["p15b"]])
+
p15b <- nafta(NAFTA_SOP_Attachment[["p15b"]])
## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
## Warning in cov2cor(ans$cov.unscaled): diag(.) had 0 or NA entries; non-
 ## finite result is doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p15b)
+
plot(p15b)

-
print(p15b)
+
print(p15b)
## Sums of squares:
 ##       SFO      IORE      DFOP 
 ## 106.91629  68.55574 106.91629 
@@ -890,14 +883,14 @@
 

The DFOP fraction parameter is greater than 1

-
p16 <- nafta(NAFTA_SOP_Attachment[["p16"]])
+
p16 <- nafta(NAFTA_SOP_Attachment[["p16"]])
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The representative half-life of the IORE model is longer than the one corresponding
## to the terminal degradation rate found with the DFOP model.
## The representative half-life obtained from the DFOP model may be used
-
plot(p16)
+
plot(p16)

-
print(p16)
+
print(p16)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 3831.804 2062.008 1550.980 
@@ -1010,7 +1003,7 @@
 
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png index f84439e8..291b48e1 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png index 2f659bca..149cf24c 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png index 0b7a5d9f..85ea5f4e 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png index e68c8c83..0ae354c4 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png index 3f92349c..d0f89858 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png index 396828c3..84b53d01 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png index 110d26dc..a09b2e3d 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png index 776aeb36..5a51714c 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png index f7bd1704..36999356 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png index ee8350cc..596a33b2 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png index fd3e94ee..e6f9716e 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png index 87a06b4b..f8576168 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png index 3d667442..ef5e72ed 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png index c47a10b5..fa8621e7 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png index 870d6b98..aac3600b 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png differ diff --git a/docs/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png b/docs/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png index 57bf4014..cb52aecd 100644 Binary files a/docs/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png and b/docs/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png differ diff --git a/docs/articles/web_only/benchmarks.html b/docs/articles/web_only/benchmarks.html index a53f1927..43f8d238 100644 --- a/docs/articles/web_only/benchmarks.html +++ b/docs/articles/web_only/benchmarks.html @@ -30,7 +30,7 @@ mkin - 0.9.49.4 + 0.9.49.5
@@ -88,7 +88,7 @@

Benchmark timings for mkin on various systems

Johannes Ranke

-

2019-05-08

+

2019-06-04

@@ -115,32 +115,32 @@ }
# Parent only
 t1 <- system.time(mmkin_bench(c("SFO", "FOMC", "DFOP", "HS"), list(FOCUS_2006_C, FOCUS_2006_D)))[["elapsed"]]
-t2 <- system.time(mmkin_bench(c("SFO", "FOMC", "DFOP", "HS"), list(FOCUS_2006_C, FOCUS_2006_D), error_model = "tc"))[["elapsed"]]
-
-# One metabolite
-SFO_SFO <- mkinmod(
-  parent = mkinsub("SFO", "m1"),
-  m1 = mkinsub("SFO"))
+t2 <- system.time(mmkin_bench(c("SFO", "FOMC", "DFOP", "HS"), list(FOCUS_2006_C, FOCUS_2006_D), error_model = "tc"))[["elapsed"]]
+
## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...): Optimisation did not converge:
+## iteration limit reached without convergence (10)
+
## Successfully compiled differential equation model from auto-generated C code.
- -
## Successfully compiled differential equation model from auto-generated C code.
-
DFOP_SFO <- mkinmod(
+
 
## Successfully compiled differential equation model from auto-generated C code.
-
t3 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_2006_D)))[["elapsed"]]
+ +
## Successfully compiled differential equation model from auto-generated C code.
+
t3 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_2006_D)))[["elapsed"]]
+
## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
+## Observations with value of zero were removed from the data
## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
-## Observations with value of zero were removed from the data
-
-## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
 ## Observations with value of zero were removed from the data
 
 ## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
 ## Observations with value of zero were removed from the data
-
t4 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(subset(FOCUS_2006_D, value != 0)), error_model = "tc"))[["elapsed"]]
-t5 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_2006_D), error_model = "obs"))[["elapsed"]]
+
t4 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(subset(FOCUS_2006_D, value != 0)), error_model = "tc"))[["elapsed"]]
+t5 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_2006_D), error_model = "obs"))[["elapsed"]]
## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
 ## Observations with value of zero were removed from the data
 
@@ -149,117 +149,131 @@
 
 ## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
 ## Observations with value of zero were removed from the data
-
# Two metabolites, synthetic data
-m_synth_SFO_lin <- mkinmod(parent = mkinsub("SFO", "M1"),
-                           M1 = mkinsub("SFO", "M2"),
-                           M2 = mkinsub("SFO"),
-                           use_of_ff = "max", quiet = TRUE)
-
-m_synth_DFOP_par <- mkinmod(parent = mkinsub("DFOP", c("M1", "M2")),
-                           M1 = mkinsub("SFO"),
-                           M2 = mkinsub("SFO"),
-                           use_of_ff = "max", quiet = TRUE)
-
-SFO_lin_a <- synthetic_data_for_UBA_2014[[1]]$data
-
-DFOP_par_c <- synthetic_data_for_UBA_2014[[12]]$data
-
-t6 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a)))["elapsed"]
-t7 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c)))["elapsed"]
-
-t8 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a), error_model = "tc"))["elapsed"]
-t9 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c), error_model = "tc"))["elapsed"]
-
-t10 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a), error_model = "obs"))["elapsed"]
-t11 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c), error_model = "obs"))["elapsed"]
-
-mkin_benchmarks[system_string, paste0("t", 1:11)] <- c(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11)
-mkin_benchmarks
+
# Two metabolites, synthetic data
+m_synth_SFO_lin <- mkinmod(parent = mkinsub("SFO", "M1"),
+                           M1 = mkinsub("SFO", "M2"),
+                           M2 = mkinsub("SFO"),
+                           use_of_ff = "max", quiet = TRUE)
+
+m_synth_DFOP_par <- mkinmod(parent = mkinsub("DFOP", c("M1", "M2")),
+                           M1 = mkinsub("SFO"),
+                           M2 = mkinsub("SFO"),
+                           use_of_ff = "max", quiet = TRUE)
+
+SFO_lin_a <- synthetic_data_for_UBA_2014[[1]]$data
+
+DFOP_par_c <- synthetic_data_for_UBA_2014[[12]]$data
+
+t6 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a)))["elapsed"]
+t7 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c)))["elapsed"]
+
+t8 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a), error_model = "tc"))["elapsed"]
+t9 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c), error_model = "tc"))["elapsed"]
+
+t10 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a), error_model = "obs"))["elapsed"]
+t11 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c), error_model = "obs"))["elapsed"]
+
+mkin_benchmarks[system_string, paste0("t", 1:11)] <- c(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11)
+mkin_benchmarks
##                                                                                                       CPU
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 AMD Ryzen 7 1700 Eight-Core Processor
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 AMD Ryzen 7 1700 Eight-Core Processor
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 AMD Ryzen 7 1700 Eight-Core Processor
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 AMD Ryzen 7 1700 Eight-Core Processor
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 AMD Ryzen 7 1700 Eight-Core Processor
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 AMD Ryzen 7 1700 Eight-Core Processor
 ##                                                                        OS
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 Linux
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 Linux
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 Linux
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 Linux
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 Linux
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 Linux
 ##                                                                         mkin
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 0.9.48.1
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 0.9.49.1
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 0.9.49.2
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 0.9.49.3
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 0.9.49.4
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 0.9.49.5
 ##                                                                        t1
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 3.610
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 8.184
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 7.064
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 7.296
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 5.792
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 5.936
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 5.805
 ##                                                                         t2
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 11.019
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 22.889
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 12.558
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 21.239
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 17.398
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 20.545
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 35.748
 ##                                                                        t3
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 3.764
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 4.649
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 4.786
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 4.510
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.427
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.446
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 4.403
 ##                                                                         t4
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 14.347
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 13.789
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2  8.461
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 13.805
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 16.104
-##                                                                        t5
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 9.495
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 6.395
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 5.675
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 7.386
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 7.527
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 15.335
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 30.613
+##                                                                         t5
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1  9.495
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1  6.395
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2  5.675
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3  7.386
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4  6.002
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 10.309
 ##                                                                        t6
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 2.623
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 2.542
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 2.723
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 2.643
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 2.541
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 2.635
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 2.546
 ##                                                                        t7
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 4.587
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 4.128
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 4.478
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 4.374
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.308
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.259
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 4.214
 ##                                                                        t8
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 7.525
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 4.632
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 4.862
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3  7.02
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.775
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.737
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 7.871
 ##                                                                         t9
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 16.621
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1  8.171
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2  7.618
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 11.124
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 11.116
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4  7.763
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 15.738
 ##                                                                       t10
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 8.576
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 3.676
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 3.579
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 5.388
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 5.063
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 3.427
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 7.763
 ##                                                                        t11
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 31.267
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1  5.636
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2  5.574
 ## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3  7.365
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4  7.784
-
save(mkin_benchmarks, file = "~/git/mkin/vignettes/mkin_benchmarks.rda")
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 5.626 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 10.527
+
save(mkin_benchmarks, file = "~/git/mkin/vignettes/mkin_benchmarks.rda")
@@ -281,7 +295,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/articles/web_only/compiled_models.html b/docs/articles/web_only/compiled_models.html index f296c8a4..f3062c66 100644 --- a/docs/articles/web_only/compiled_models.html +++ b/docs/articles/web_only/compiled_models.html @@ -30,7 +30,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -88,7 +88,7 @@

Performance benefit by using compiled model definitions in mkin

Johannes Ranke

-

2019-05-08

+

2019-06-04

@@ -163,9 +163,9 @@ ## Warning in mkinfit(SFO_SFO, FOCUS_2006_D, solution_type = "deSolve", quiet ## = TRUE): Observations with value of zero were removed from the data
##                    test replications elapsed relative user.self sys.self
-## 3     deSolve, compiled            3   3.131    1.000     3.129        0
-## 1 deSolve, not compiled            3  28.306    9.041    28.290        0
-## 2      Eigenvalue based            3   4.361    1.393     4.358        0
+## 3     deSolve, compiled            3   3.053    1.000     3.052        0
+## 1 deSolve, not compiled            3  28.457    9.321    28.442        0
+## 2      Eigenvalue based            3   4.296    1.407     4.293        0
 ##   user.child sys.child
 ## 3          0         0
 ## 1          0         0
@@ -214,16 +214,16 @@
 ## Warning in mkinfit(FOMC_SFO, FOCUS_2006_D, quiet = TRUE): Observations with
 ## value of zero were removed from the data
##                    test replications elapsed relative user.self sys.self
-## 2     deSolve, compiled            3   5.023    1.000     5.021        0
-## 1 deSolve, not compiled            3  53.267   10.605    53.235        0
+## 2     deSolve, compiled            3   4.828    1.000     4.825        0
+## 1 deSolve, not compiled            3  53.153   11.009    53.125        0
 ##   user.child sys.child
 ## 2          0         0
 ## 1          0         0

Here we get a performance benefit of a factor of 11 using the version of the differential equation model compiled from C code!

-

This vignette was built with mkin 0.9.49.4 on

+

This vignette was built with mkin 0.9.49.5 on

## R version 3.6.0 (2019-04-26)
 ## Platform: x86_64-pc-linux-gnu (64-bit)
-## Running under: Debian GNU/Linux 9 (stretch)
+## Running under: Debian GNU/Linux 10 (buster)
## CPU model: AMD Ryzen 7 1700 Eight-Core Processor
@@ -247,7 +247,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/authors.html b/docs/authors.html index 9d47c66a..61f965ce 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -60,7 +60,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -151,7 +151,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/index.html b/docs/index.html index 2f494511..e3f3b376 100644 --- a/docs/index.html +++ b/docs/index.html @@ -37,7 +37,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -205,7 +205,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/news/index.html b/docs/news/index.html index 11414ed3..df6d53db 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -60,7 +60,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -122,13 +122,14 @@ -
+

-mkin 0.9.49.4 (2019-05-08) Unreleased +mkin 0.9.49.5 (2019-06-04) Unreleased

    -
  • Direct minimization of the negative log-likelihood for non-constant error models (two-component and variance by variable). In the case the error model is constant variance, least squares is used as this is more stable

  • -
  • The argument ‘reweight.method’ to mkinfit and mmkin is now obsolete, use ‘error_model’ instead

  • +
  • Several algorithms for minimization of the negative log-likelihood for non-constant error models (two-component and variance by variable). In the case the error model is constant variance, least squares is used as this is more stable. The default algorithm tries direct minimization and a three step procedure, and returns the model with the highest likelihood.

  • +
  • The argument ‘reweight.method’ to mkinfit and mmkin is now obsolete, use ‘error_model’ and ‘error_model_algorithm’ instead

  • +
  • Add a test that checks if we get the best known AIC for parent only fits to 12 test datasets. Add these test datasets for this purpose.

  • New function ‘mkinerrplot’. This function is also used for residual plots in ‘plot.mmkin’ if the argument ‘resplot = “errmod”’ is given, and in ‘plot.mkinfit’ if ‘show_errplot’ is set to TRUE.

  • Remove dependency on FME, only use nlminb for optimisation

  • Use the numDeriv package to calculate hessians

  • @@ -136,6 +137,7 @@
  • The code for manual weighting was removed

  • The fitting time reported in the summary now includes the calculation of the hessians

  • Adapt tests

  • +
  • Fix an error in the FOCUS chi2 error level calculations that occurred if parameters were specified in parms.ini that were not in the model. A warning was already issued, but when fitting via mmkin this could easily go unnoticed.

@@ -696,7 +698,7 @@

Contents

-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index eda9c58f..db7859c8 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -1,5 +1,5 @@ pandoc: 2.2.1 -pkgdown: 1.3.0.9000 +pkgdown: 1.3.0 pkgdown_sha: ~ articles: FOCUS_D: FOCUS_D.html diff --git a/docs/reference/AIC.mmkin.html b/docs/reference/AIC.mmkin.html index c797567c..a5626847 100644 --- a/docs/reference/AIC.mmkin.html +++ b/docs/reference/AIC.mmkin.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5
@@ -201,7 +201,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/CAKE_export.html b/docs/reference/CAKE_export.html index e4ed9cda..5db220ee 100644 --- a/docs/reference/CAKE_export.html +++ b/docs/reference/CAKE_export.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -232,7 +232,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/DFOP.solution-1.png b/docs/reference/DFOP.solution-1.png index 0fbc1da1..a2d75ccc 100644 Binary files a/docs/reference/DFOP.solution-1.png and b/docs/reference/DFOP.solution-1.png differ diff --git a/docs/reference/DFOP.solution.html b/docs/reference/DFOP.solution.html index 335c3a80..edfa70d3 100644 --- a/docs/reference/DFOP.solution.html +++ b/docs/reference/DFOP.solution.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -199,7 +199,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/Extract.mmkin.html b/docs/reference/Extract.mmkin.html index 652dfee0..1d1da50e 100644 --- a/docs/reference/Extract.mmkin.html +++ b/docs/reference/Extract.mmkin.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -229,7 +229,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/FOCUS_2006_DFOP_ref_A_to_B.html b/docs/reference/FOCUS_2006_DFOP_ref_A_to_B.html index 047a5f4d..b1165f1d 100644 --- a/docs/reference/FOCUS_2006_DFOP_ref_A_to_B.html +++ b/docs/reference/FOCUS_2006_DFOP_ref_A_to_B.html @@ -67,7 +67,7 @@ in this fit." /> mkin - 0.9.49.4 + 0.9.49.5 @@ -187,7 +187,7 @@ in this fit.

-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/FOCUS_2006_FOMC_ref_A_to_F.html b/docs/reference/FOCUS_2006_FOMC_ref_A_to_F.html index cc3560ed..03a15a5a 100644 --- a/docs/reference/FOCUS_2006_FOMC_ref_A_to_F.html +++ b/docs/reference/FOCUS_2006_FOMC_ref_A_to_F.html @@ -67,7 +67,7 @@ in this fit." /> mkin - 0.9.49.4 + 0.9.49.5 @@ -186,7 +186,7 @@ in this fit.

-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/FOCUS_2006_HS_ref_A_to_F.html b/docs/reference/FOCUS_2006_HS_ref_A_to_F.html index 5f6fc197..6046ec88 100644 --- a/docs/reference/FOCUS_2006_HS_ref_A_to_F.html +++ b/docs/reference/FOCUS_2006_HS_ref_A_to_F.html @@ -67,7 +67,7 @@ in this fit." /> mkin - 0.9.49.4 + 0.9.49.5 @@ -187,7 +187,7 @@ in this fit.

-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/FOCUS_2006_SFO_ref_A_to_F.html b/docs/reference/FOCUS_2006_SFO_ref_A_to_F.html index 45d00237..278425f6 100644 --- a/docs/reference/FOCUS_2006_SFO_ref_A_to_F.html +++ b/docs/reference/FOCUS_2006_SFO_ref_A_to_F.html @@ -67,7 +67,7 @@ in this fit." /> mkin - 0.9.49.4 + 0.9.49.5 @@ -185,7 +185,7 @@ in this fit.

-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/FOCUS_2006_datasets.html b/docs/reference/FOCUS_2006_datasets.html index 2b060f47..0d29deb2 100644 --- a/docs/reference/FOCUS_2006_datasets.html +++ b/docs/reference/FOCUS_2006_datasets.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -183,7 +183,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/FOMC.solution-1.png b/docs/reference/FOMC.solution-1.png index 127f3085..aa41a253 100644 Binary files a/docs/reference/FOMC.solution-1.png and b/docs/reference/FOMC.solution-1.png differ diff --git a/docs/reference/FOMC.solution.html b/docs/reference/FOMC.solution.html index 90a4810c..69c0a9ef 100644 --- a/docs/reference/FOMC.solution.html +++ b/docs/reference/FOMC.solution.html @@ -67,7 +67,7 @@ The form given here differs slightly from the original reference by Gustafson mkin - 0.9.49.4 + 0.9.49.5 @@ -213,7 +213,7 @@ The form given here differs slightly from the original reference by Gustafson
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/HS.solution-1.png b/docs/reference/HS.solution-1.png index 4dc42c31..ae056d9b 100644 Binary files a/docs/reference/HS.solution-1.png and b/docs/reference/HS.solution-1.png differ diff --git a/docs/reference/HS.solution.html b/docs/reference/HS.solution.html index 1365e23f..e14f80ec 100644 --- a/docs/reference/HS.solution.html +++ b/docs/reference/HS.solution.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -200,7 +200,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/IORE.solution-1.png b/docs/reference/IORE.solution-1.png index d8b6e8e3..00e28460 100644 Binary files a/docs/reference/IORE.solution-1.png and b/docs/reference/IORE.solution-1.png differ diff --git a/docs/reference/IORE.solution.html b/docs/reference/IORE.solution.html index c67c2a37..ca0db0bb 100644 --- a/docs/reference/IORE.solution.html +++ b/docs/reference/IORE.solution.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -214,7 +214,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/NAFTA_SOP_2015-1.png b/docs/reference/NAFTA_SOP_2015-1.png index bcf5d12c..9025f2bb 100644 Binary files a/docs/reference/NAFTA_SOP_2015-1.png and b/docs/reference/NAFTA_SOP_2015-1.png differ diff --git a/docs/reference/NAFTA_SOP_2015.html b/docs/reference/NAFTA_SOP_2015.html index 84341a17..5b4ac227 100644 --- a/docs/reference/NAFTA_SOP_2015.html +++ b/docs/reference/NAFTA_SOP_2015.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -214,7 +214,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/NAFTA_SOP_Attachment-1.png b/docs/reference/NAFTA_SOP_Attachment-1.png index a40cb689..19da6da7 100644 Binary files a/docs/reference/NAFTA_SOP_Attachment-1.png and b/docs/reference/NAFTA_SOP_Attachment-1.png differ diff --git a/docs/reference/NAFTA_SOP_Attachment.html b/docs/reference/NAFTA_SOP_Attachment.html index 76d91c40..1af62530 100644 --- a/docs/reference/NAFTA_SOP_Attachment.html +++ b/docs/reference/NAFTA_SOP_Attachment.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -211,7 +211,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/SFO.solution-1.png b/docs/reference/SFO.solution-1.png index 9e6bd786..b0b854bb 100644 Binary files a/docs/reference/SFO.solution-1.png and b/docs/reference/SFO.solution-1.png differ diff --git a/docs/reference/SFO.solution.html b/docs/reference/SFO.solution.html index 2eb3a9b0..483869c4 100644 --- a/docs/reference/SFO.solution.html +++ b/docs/reference/SFO.solution.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -188,7 +188,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/SFORB.solution-1.png b/docs/reference/SFORB.solution-1.png index 6739fe6b..cd58caec 100644 Binary files a/docs/reference/SFORB.solution-1.png and b/docs/reference/SFORB.solution-1.png differ diff --git a/docs/reference/SFORB.solution.html b/docs/reference/SFORB.solution.html index f2743fe4..b49700f8 100644 --- a/docs/reference/SFORB.solution.html +++ b/docs/reference/SFORB.solution.html @@ -67,7 +67,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -205,7 +205,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/add_err-1.png b/docs/reference/add_err-1.png index 61f00d9b..fb369053 100644 Binary files a/docs/reference/add_err-1.png and b/docs/reference/add_err-1.png differ diff --git a/docs/reference/add_err-2.png b/docs/reference/add_err-2.png index 2fab0ee4..df843300 100644 Binary files a/docs/reference/add_err-2.png and b/docs/reference/add_err-2.png differ diff --git a/docs/reference/add_err-3.png b/docs/reference/add_err-3.png index 06f877c2..298f2ebd 100644 Binary files a/docs/reference/add_err-3.png and b/docs/reference/add_err-3.png differ diff --git a/docs/reference/add_err.html b/docs/reference/add_err.html index 63aa358c..4ce43f9f 100644 --- a/docs/reference/add_err.html +++ b/docs/reference/add_err.html @@ -65,7 +65,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -253,7 +253,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/endpoints.html b/docs/reference/endpoints.html index 5f419781..c180dce2 100644 --- a/docs/reference/endpoints.html +++ b/docs/reference/endpoints.html @@ -66,7 +66,7 @@ with the advantage that the SFORB model can also be used for metabolites." /> mkin - 0.9.49.4 + 0.9.49.5 @@ -194,7 +194,7 @@ with the advantage that the SFORB model can also be used for metabolites.

-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/experimental_data_for_UBA-1.png b/docs/reference/experimental_data_for_UBA-1.png new file mode 100644 index 00000000..d3880fea Binary files /dev/null and b/docs/reference/experimental_data_for_UBA-1.png differ diff --git a/docs/reference/experimental_data_for_UBA.html b/docs/reference/experimental_data_for_UBA.html new file mode 100644 index 00000000..3e8d20ef --- /dev/null +++ b/docs/reference/experimental_data_for_UBA.html @@ -0,0 +1,223 @@ + + + + + + + + +Experimental datasets used for development and testing of error models — experimental_data_for_UBA_2019 • mkin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+
+ + +
+ +

The 12 datasets were extracted from active substance evaluation dossiers published + by EFSA. Kinetic evaluations shown for these datasets are intended to illustrate + and advance error model specifications. The fact that these data and some + results are shown here do not imply a license to use them in the context of + pesticide registrations, as the use of the data may be constrained by + data protection regulations.

+ +
+ +
experimental_data_for_UBA_2019
+ +

Format

+ +

A list containing twelve datasets as an R6 class defined by mkinds, + each containing, among others, the following components

+
title

The name of the dataset, e.g. Soil 1

+
data

A data frame with the data in the form expected by mkinfit

+
+ +

Source

+ +

Ranke (2019) Documentation of results obtained for the error model expertise + written for the German Umweltbundesamt.

+ + +

Examples

+
+# Model definitions +sfo_sfo <- mkinmod( + parent = mkinsub("SFO", to = "A1"), + A1 = mkinsub("SFO"), + use_of_ff = "max" +)
#> Successfully compiled differential equation model from auto-generated C code.
+dfop_sfo <- mkinmod( + parent = mkinsub("DFOP", to = "A1"), + A1 = mkinsub("SFO"), + use_of_ff = "max" +)
#> Successfully compiled differential equation model from auto-generated C code.
+sfo_sfo_sfo <- mkinmod( + parent = mkinsub("SFO", to = "A1"), + A1 = mkinsub("SFO", to = "A2"), + A2 = mkinsub("SFO"), + use_of_ff = "max" +)
#> Successfully compiled differential equation model from auto-generated C code.
+dfop_sfo_sfo <- mkinmod( + parent = mkinsub("DFOP", to = "A1"), + A1 = mkinsub("SFO", to = "A2"), + A2 = mkinsub("SFO"), + use_of_ff = "max" +)
#> Successfully compiled differential equation model from auto-generated C code.
d_1_2 <- lapply(experimental_data_for_UBA_2019[1:2], function(x) x$data) +names(d_1_2) <- paste("Soil", 1:2) + + +f_1_2_tc <- mmkin(list("DFOP-SFO-SFO" = dfop_sfo_sfo), d_1_2, error_model = "tc") + +plot(f_1_2_tc, resplot = "errmod")
+
+
+ +
+ +
+ + +
+

Site built with pkgdown 1.3.0.

+
+
+
+ + + + + + diff --git a/docs/reference/geometric_mean.html b/docs/reference/geometric_mean.html index 908aa8cc..286b40d4 100644 --- a/docs/reference/geometric_mean.html +++ b/docs/reference/geometric_mean.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -174,7 +174,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/ilr.html b/docs/reference/ilr.html index 0a18d535..3eac2872 100644 --- a/docs/reference/ilr.html +++ b/docs/reference/ilr.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -196,7 +196,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/index.html b/docs/reference/index.html index 42028d60..c5ac0d72 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -60,7 +60,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -194,6 +194,12 @@

Function to plot the confidence intervals obtained using mkinfit

+ +

mkinerrplot()

+ +

Function to plot squared residuals and the error model for an mkin object

+ +

endpoints()

@@ -306,6 +312,12 @@

Synthetic datasets for one parent compound with two metabolites

+ +

experimental_data_for_UBA_2019

+ +

Experimental datasets used for development and testing of error models

+ +

test_data_from_UBA_2014

@@ -529,7 +541,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/logLik.mkinfit.html b/docs/reference/logLik.mkinfit.html index 0184d573..a6cf4867 100644 --- a/docs/reference/logLik.mkinfit.html +++ b/docs/reference/logLik.mkinfit.html @@ -69,7 +69,7 @@ The total number of estimated parameters returned with the value mkin - 0.9.49.4 + 0.9.49.5 @@ -205,7 +205,7 @@ The total number of estimated parameters returned with the value
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/logistic.solution-1.png b/docs/reference/logistic.solution-1.png index 0aaa520b..b9fb891c 100644 Binary files a/docs/reference/logistic.solution-1.png and b/docs/reference/logistic.solution-1.png differ diff --git a/docs/reference/logistic.solution-2.png b/docs/reference/logistic.solution-2.png index d1831a46..752fd9d4 100644 Binary files a/docs/reference/logistic.solution-2.png and b/docs/reference/logistic.solution-2.png differ diff --git a/docs/reference/logistic.solution.html b/docs/reference/logistic.solution.html index 3b45b14f..cee169d2 100644 --- a/docs/reference/logistic.solution.html +++ b/docs/reference/logistic.solution.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -242,7 +242,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/max_twa_parent.html b/docs/reference/max_twa_parent.html index 33c5ee4f..ad19853d 100644 --- a/docs/reference/max_twa_parent.html +++ b/docs/reference/max_twa_parent.html @@ -67,7 +67,7 @@ guidance." /> mkin - 0.9.49.4 + 0.9.49.5 @@ -196,7 +196,7 @@ guidance.

-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mccall81_245T-1.png b/docs/reference/mccall81_245T-1.png index 859f315a..b9a42571 100644 Binary files a/docs/reference/mccall81_245T-1.png and b/docs/reference/mccall81_245T-1.png differ diff --git a/docs/reference/mccall81_245T.html b/docs/reference/mccall81_245T.html index 1db9a9d9..1af77f6b 100644 --- a/docs/reference/mccall81_245T.html +++ b/docs/reference/mccall81_245T.html @@ -65,7 +65,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -237,7 +237,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkin_long_to_wide.html b/docs/reference/mkin_long_to_wide.html index 7d0ad2fc..6f0d5376 100644 --- a/docs/reference/mkin_long_to_wide.html +++ b/docs/reference/mkin_long_to_wide.html @@ -65,7 +65,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -208,7 +208,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkin_wide_to_long.html b/docs/reference/mkin_wide_to_long.html index 4fc0e2ed..869c4586 100644 --- a/docs/reference/mkin_wide_to_long.html +++ b/docs/reference/mkin_wide_to_long.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -186,7 +186,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkinds.html b/docs/reference/mkinds.html index 2c01be70..89f40abf 100644 --- a/docs/reference/mkinds.html +++ b/docs/reference/mkinds.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -176,7 +176,7 @@ in order to be compatible with mkinfit

-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkinerrmin.html b/docs/reference/mkinerrmin.html index 3ebea1e4..8fd09215 100644 --- a/docs/reference/mkinerrmin.html +++ b/docs/reference/mkinerrmin.html @@ -64,7 +64,7 @@ chi-squared test as defined in the FOCUS kinetics report from 2006." /> mkin - 0.9.49.4 + 0.9.49.5 @@ -211,7 +211,7 @@ chi-squared test as defined in the FOCUS kinetics report from 2006.

-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkinerrplot-1.png b/docs/reference/mkinerrplot-1.png index 9c663646..476edc49 100644 Binary files a/docs/reference/mkinerrplot-1.png and b/docs/reference/mkinerrplot-1.png differ diff --git a/docs/reference/mkinerrplot.html b/docs/reference/mkinerrplot.html index 66da40b5..a0201963 100644 --- a/docs/reference/mkinerrplot.html +++ b/docs/reference/mkinerrplot.html @@ -68,7 +68,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -238,7 +238,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkinfit.html b/docs/reference/mkinfit.html index bfca44fc..8cabcb21 100644 --- a/docs/reference/mkinfit.html +++ b/docs/reference/mkinfit.html @@ -71,7 +71,7 @@ Per default, parameters in the kinetic models are internally transformed in mkin - 0.9.49.4 + 0.9.49.5 @@ -163,6 +163,8 @@ Per default, parameters in the kinetic models are internally transformed in quiet = FALSE, atol = 1e-8, rtol = 1e-10, n.outtimes = 100, error_model = c("const", "obs", "tc"), + error_model_algorithm = c("d_3", "direct", "twostep", "threestep", "fourstep", "IRLS"), + reweight.tol = 1e-8, reweight.max.iter = 10, trace_parms = FALSE, ...)

Arguments

@@ -321,6 +323,41 @@ Per default, parameters in the kinetic models are internally transformed in errors follow a lognormal distribution for large values, not a normal distribution as assumed by this method.

+ + error_model_algorithm +

If the error model is "const", the error model algorithm is ignored, + because no special algorithm is needed and unweighted (also known as + ordinary) least squares fitting can be applied.

+

The default algorithm "d_3" will directly minimize the negative + log-likelihood and - independently - also use the three step algorithm + described below. The fit with the higher likelihood is returned.

+

The algorithm "direct" will directly minimize the negative + log-likelihood.

+

The algorithm "twostep" will minimize the negative log-likelihood + after an initial unweighted leas squares optimisation step.

+

The algorithm "threestep" starts with unweighted least squares, + then optimizes only the error model using the degradation model + parameters found, and then minimizes the negative log-likelihood + with free degradation and error model parameters.

+

The algorithm "fourstep" starts with unweighted least squares, + then optimizes only the error model using the degradation model + parameters found, then optimizes the degradation model again + with fixed error model parameters, and finally minimizes the negative + log-likelihood with free degradation and error model parameters.

+

The algorithm "IRLS" starts with unweighted least squares, + and then iterates optimization of the error model parameters and subsequent + optimization of the degradation model using those error model parameters, + until the error model parameters converge.

+ + + reweight.tol +

Tolerance for the convergence criterion calculated from the error model + parameters in IRLS fits.

+ + + reweight.max.iter +

Maximum number of iterations in IRLS fits.

+ trace_parms

Should a trace of the parameter values be listed?

@@ -360,17 +397,17 @@ Per default, parameters in the kinetic models are internally transformed in

Examples

# Use shorthand notation for parent only degradation fit <- mkinfit("FOMC", FOCUS_2006_C, quiet = TRUE) -summary(fit)
#> mkin version used for fitting: 0.9.49.4 +summary(fit)
#> mkin version used for fitting: 0.9.49.5 #> R version used for fitting: 3.6.0 -#> Date of fit: Wed May 8 20:50:50 2019 -#> Date of summary: Wed May 8 20:50:50 2019 +#> Date of fit: Tue Jun 4 15:01:15 2019 +#> Date of summary: Tue Jun 4 15:01:15 2019 #> #> Equations: #> d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent #> #> Model predictions using solution type analytical #> -#> Fitted using 222 model solutions performed in 0.456 s +#> Fitted using 222 model solutions performed in 0.461 s #> #> Error model: #> Constant variance @@ -443,7 +480,7 @@ Per default, parameters in the kinetic models are internally transformed in m1 = mkinsub("SFO"))
#> Successfully compiled differential equation model from auto-generated C code.
# Fit the model to the FOCUS example dataset D using defaults print(system.time(fit <- mkinfit(SFO_SFO, FOCUS_2006_D, solution_type = "eigen", quiet = TRUE)))
#> Warning: Observations with value of zero were removed from the data
#> User System verstrichen -#> 1.488 0.000 1.488
coef(fit)
#> NULL
#> $ff +#> 1.521 0.000 1.526
coef(fit)
#> NULL
#> $ff #> parent_sink parent_m1 m1_sink #> 0.485524 0.514476 1.000000 #> @@ -515,7 +552,7 @@ Per default, parameters in the kinetic models are internally transformed in #> Sum of squared residuals at call 126: 371.2134 #> Sum of squared residuals at call 135: 371.2134 #> Negative log-likelihood at call 145: 97.22429
#> Optimisation successfully terminated.
#> User System verstrichen -#> 1.086 0.000 1.087
coef(fit.deSolve)
#> NULL
endpoints(fit.deSolve)
#> $ff +#> 1.093 0.000 1.093
coef(fit.deSolve)
#> NULL
endpoints(fit.deSolve)
#> $ff #> parent_sink parent_m1 m1_sink #> 0.485524 0.514476 1.000000 #> @@ -545,10 +582,10 @@ Per default, parameters in the kinetic models are internally transformed in fit.SFORB_SFO <- mkinfit(SFORB_SFO, FOCUS_2006_D, parms.ini = fit.SFORB$bparms.ode, quiet = TRUE)
#> Warning: Observations with value of zero were removed from the data
# Weighted fits, including IRLS SFO_SFO.ff <- mkinmod(parent = mkinsub("SFO", "m1"), - m1 = mkinsub("SFO"), use_of_ff = "max")
#> Successfully compiled differential equation model from auto-generated C code.
f.noweight <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, quiet = TRUE)
#> Warning: Observations with value of zero were removed from the data
summary(f.noweight)
#> mkin version used for fitting: 0.9.49.4 + m1 = mkinsub("SFO"), use_of_ff = "max")
#> Successfully compiled differential equation model from auto-generated C code.
f.noweight <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, quiet = TRUE)
#> Warning: Observations with value of zero were removed from the data
summary(f.noweight)
#> mkin version used for fitting: 0.9.49.5 #> R version used for fitting: 3.6.0 -#> Date of fit: Wed May 8 20:51:06 2019 -#> Date of summary: Wed May 8 20:51:06 2019 +#> Date of fit: Tue Jun 4 15:01:31 2019 +#> Date of summary: Tue Jun 4 15:01:31 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -556,7 +593,7 @@ Per default, parameters in the kinetic models are internally transformed in #> #> Model predictions using solution type deSolve #> -#> Fitted using 421 model solutions performed in 1.082 s +#> Fitted using 421 model solutions performed in 1.096 s #> #> Error model: #> Constant variance @@ -663,10 +700,10 @@ Per default, parameters in the kinetic models are internally transformed in #> 100 m1 31.04 31.98163 -9.416e-01 #> 100 m1 33.13 31.98163 1.148e+00 #> 120 m1 25.15 28.78984 -3.640e+00 -#> 120 m1 33.31 28.78984 4.520e+00
f.obs <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, error_model = "obs", quiet = TRUE)
#> Warning: Observations with value of zero were removed from the data
summary(f.obs)
#> mkin version used for fitting: 0.9.49.4 +#> 120 m1 33.31 28.78984 4.520e+00
f.obs <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, error_model = "obs", quiet = TRUE)
#> Warning: Observations with value of zero were removed from the data
summary(f.obs)
#> mkin version used for fitting: 0.9.49.5 #> R version used for fitting: 3.6.0 -#> Date of fit: Wed May 8 20:51:08 2019 -#> Date of summary: Wed May 8 20:51:08 2019 +#> Date of fit: Tue Jun 4 15:01:34 2019 +#> Date of summary: Tue Jun 4 15:01:34 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -674,19 +711,19 @@ Per default, parameters in the kinetic models are internally transformed in #> #> Model predictions using solution type deSolve #> -#> Fitted using 758 model solutions performed in 1.971 s +#> Fitted using 979 model solutions performed in 2.603 s #> #> Error model: #> Variance unique to each observed variable #> #> Starting values for parameters to be optimised: -#> value type -#> parent_0 100.7500 state -#> k_parent 0.1000 deparm -#> k_m1 0.1001 deparm -#> f_parent_to_m1 0.5000 deparm -#> sigma_parent 3.0000 error -#> sigma_m1 3.0000 error +#> value type +#> parent_0 100.750000 state +#> k_parent 0.100000 deparm +#> k_m1 0.100100 deparm +#> f_parent_to_m1 0.500000 deparm +#> sigma_parent 3.398909 error +#> sigma_m1 2.857157 error #> #> Starting values for the transformed parameters actually optimised: #> value lower upper @@ -694,8 +731,8 @@ Per default, parameters in the kinetic models are internally transformed in #> log_k_parent -2.302585 -Inf Inf #> log_k_m1 -2.301586 -Inf Inf #> f_parent_ilr_1 0.000000 -Inf Inf -#> sigma_parent 3.000000 0 Inf -#> sigma_m1 3.000000 0 Inf +#> sigma_parent 3.398909 0 Inf +#> sigma_m1 2.857157 0 Inf #> #> Fixed parameter values: #> value type @@ -715,14 +752,14 @@ Per default, parameters in the kinetic models are internally transformed in #> parent_0 1.00000 0.51078 -0.19133 -0.59997 0.035670 #> log_k_parent 0.51078 1.00000 -0.37458 -0.59239 0.069833 #> log_k_m1 -0.19133 -0.37458 1.00000 0.74398 -0.026158 -#> f_parent_ilr_1 -0.59997 -0.59239 0.74398 1.00000 -0.041368 +#> f_parent_ilr_1 -0.59997 -0.59239 0.74398 1.00000 -0.041369 #> sigma_parent 0.03567 0.06983 -0.02616 -0.04137 1.000000 -#> sigma_m1 -0.03385 -0.06627 0.02482 0.03925 -0.004628 +#> sigma_m1 -0.03385 -0.06627 0.02482 0.03926 -0.004628 #> sigma_m1 #> parent_0 -0.033847 #> log_k_parent -0.066265 -#> log_k_m1 0.024821 -#> f_parent_ilr_1 0.039255 +#> log_k_m1 0.024823 +#> f_parent_ilr_1 0.039256 #> sigma_parent -0.004628 #> sigma_m1 1.000000 #> @@ -786,17 +823,17 @@ Per default, parameters in the kinetic models are internally transformed in #> 21 m1 46.44 41.65115 4.789e+00 #> 35 m1 41.22 43.29465 -2.075e+00 #> 35 m1 37.95 43.29465 -5.345e+00 -#> 50 m1 41.19 41.19948 -9.481e-03 +#> 50 m1 41.19 41.19948 -9.479e-03 #> 50 m1 40.01 41.19948 -1.189e+00 -#> 75 m1 40.09 36.44036 3.650e+00 -#> 75 m1 33.85 36.44036 -2.590e+00 -#> 100 m1 31.04 31.98774 -9.477e-01 -#> 100 m1 33.13 31.98774 1.142e+00 -#> 120 m1 25.15 28.80430 -3.654e+00 -#> 120 m1 33.31 28.80430 4.506e+00
f.tc <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, error_model = "tc", quiet = TRUE)
#> Warning: Observations with value of zero were removed from the data
summary(f.tc)
#> mkin version used for fitting: 0.9.49.4 +#> 75 m1 40.09 36.44035 3.650e+00 +#> 75 m1 33.85 36.44035 -2.590e+00 +#> 100 m1 31.04 31.98773 -9.477e-01 +#> 100 m1 33.13 31.98773 1.142e+00 +#> 120 m1 25.15 28.80429 -3.654e+00 +#> 120 m1 33.31 28.80429 4.506e+00
f.tc <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, error_model = "tc", quiet = TRUE)
#> Warning: Observations with value of zero were removed from the data
summary(f.tc)
#> mkin version used for fitting: 0.9.49.5 #> R version used for fitting: 3.6.0 -#> Date of fit: Wed May 8 20:51:11 2019 -#> Date of summary: Wed May 8 20:51:11 2019 +#> Date of fit: Tue Jun 4 15:01:43 2019 +#> Date of summary: Tue Jun 4 15:01:43 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -804,28 +841,28 @@ Per default, parameters in the kinetic models are internally transformed in #> #> Model predictions using solution type deSolve #> -#> Fitted using 821 model solutions performed in 3.29 s +#> Fitted using 2289 model solutions performed in 9.499 s #> #> Error model: #> Two-component variance function #> #> Starting values for parameters to be optimised: -#> value type -#> parent_0 100.7500 state -#> k_parent 0.1000 deparm -#> k_m1 0.1001 deparm -#> f_parent_to_m1 0.5000 deparm -#> sigma_low 0.1000 error -#> rsd_high 0.1000 error +#> value type +#> parent_0 1.007500e+02 state +#> k_parent 1.000000e-01 deparm +#> k_m1 1.001000e-01 deparm +#> f_parent_to_m1 5.000000e-01 deparm +#> sigma_low 5.641148e-03 error +#> rsd_high 8.430766e-02 error #> #> Starting values for the transformed parameters actually optimised: -#> value lower upper -#> parent_0 100.750000 -Inf Inf -#> log_k_parent -2.302585 -Inf Inf -#> log_k_m1 -2.301586 -Inf Inf -#> f_parent_ilr_1 0.000000 -Inf Inf -#> sigma_low 0.100000 0 Inf -#> rsd_high 0.100000 0 Inf +#> value lower upper +#> parent_0 100.750000000 -Inf Inf +#> log_k_parent -2.302585093 -Inf Inf +#> log_k_m1 -2.301585593 -Inf Inf +#> f_parent_ilr_1 0.000000000 -Inf Inf +#> sigma_low 0.005641148 0 Inf +#> rsd_high 0.084307660 0 Inf #> #> Fixed parameter values: #> value type @@ -856,7 +893,7 @@ Per default, parameters in the kinetic models are internally transformed in #> Estimate t value Pr(>t) Lower Upper #> parent_0 1.007e+02 38.4300 1.180e-28 95.400000 1.061e+02 #> k_parent 1.006e-01 112.8000 1.718e-43 0.098760 1.024e-01 -#> k_m1 5.167e-03 10.9500 1.172e-12 0.004290 6.223e-03 +#> k_m1 5.167e-03 10.9500 1.171e-12 0.004290 6.223e-03 #> f_parent_to_m1 5.084e-01 26.0100 2.146e-23 0.468600 5.481e-01 #> sigma_low 3.050e-03 0.6314 2.661e-01 -0.006786 1.289e-02 #> rsd_high 7.928e-02 8.4170 6.418e-10 0.060100 9.847e-02 @@ -879,18 +916,18 @@ Per default, parameters in the kinetic models are internally transformed in #> #> Data: #> time variable observed predicted residual -#> 0 parent 99.46 100.73433 -1.274329 -#> 0 parent 102.04 100.73433 1.305671 -#> 1 parent 93.50 91.09750 2.402495 -#> 1 parent 92.50 91.09750 1.402495 -#> 3 parent 63.23 74.50140 -11.271403 -#> 3 parent 68.99 74.50140 -5.511403 -#> 7 parent 52.32 49.82880 2.491205 -#> 7 parent 55.13 49.82880 5.301205 -#> 14 parent 27.27 24.64809 2.621909 -#> 14 parent 26.64 24.64809 1.991909 -#> 21 parent 11.50 12.19231 -0.692315 -#> 21 parent 11.64 12.19231 -0.552315 +#> 0 parent 99.46 100.73434 -1.274339 +#> 0 parent 102.04 100.73434 1.305661 +#> 1 parent 93.50 91.09751 2.402486 +#> 1 parent 92.50 91.09751 1.402486 +#> 3 parent 63.23 74.50141 -11.271410 +#> 3 parent 68.99 74.50141 -5.511410 +#> 7 parent 52.32 49.82880 2.491201 +#> 7 parent 55.13 49.82880 5.301201 +#> 14 parent 27.27 24.64809 2.621908 +#> 14 parent 26.64 24.64809 1.991908 +#> 21 parent 11.50 12.19232 -0.692315 +#> 21 parent 11.64 12.19232 -0.552315 #> 35 parent 2.85 2.98327 -0.133266 #> 35 parent 2.91 2.98327 -0.073266 #> 50 parent 0.69 0.66013 0.029874 @@ -899,24 +936,24 @@ Per default, parameters in the kinetic models are internally transformed in #> 75 parent 0.06 0.05344 0.006562 #> 1 m1 4.84 4.88645 -0.046451 #> 1 m1 5.64 4.88645 0.753549 -#> 3 m1 12.91 13.22867 -0.318668 -#> 3 m1 12.96 13.22867 -0.268668 -#> 7 m1 22.97 25.36416 -2.394164 -#> 7 m1 24.47 25.36416 -0.894164 -#> 14 m1 41.69 37.00974 4.680265 -#> 14 m1 33.21 37.00974 -3.799735 -#> 21 m1 44.37 41.90133 2.468670 -#> 21 m1 46.44 41.90133 4.538670 -#> 35 m1 41.22 43.45691 -2.236914 -#> 35 m1 37.95 43.45691 -5.506914 -#> 50 m1 41.19 41.34199 -0.151988 -#> 50 m1 40.01 41.34199 -1.331988 -#> 75 m1 40.09 36.61471 3.475290 -#> 75 m1 33.85 36.61471 -2.764710 -#> 100 m1 31.04 32.20083 -1.160830 -#> 100 m1 33.13 32.20083 0.929170 -#> 120 m1 25.15 29.04131 -3.891312 -#> 120 m1 33.31 29.04131 4.268688
+#> 3 m1 12.91 13.22867 -0.318669 +#> 3 m1 12.96 13.22867 -0.268669 +#> 7 m1 22.97 25.36417 -2.394166 +#> 7 m1 24.47 25.36417 -0.894166 +#> 14 m1 41.69 37.00974 4.680263 +#> 14 m1 33.21 37.00974 -3.799737 +#> 21 m1 44.37 41.90133 2.468669 +#> 21 m1 46.44 41.90133 4.538669 +#> 35 m1 41.22 43.45691 -2.236913 +#> 35 m1 37.95 43.45691 -5.506913 +#> 50 m1 41.19 41.34199 -0.151985 +#> 50 m1 40.01 41.34199 -1.331985 +#> 75 m1 40.09 36.61471 3.475295 +#> 75 m1 33.85 36.61471 -2.764705 +#> 100 m1 31.04 32.20082 -1.160823 +#> 100 m1 33.13 32.20082 0.929177 +#> 120 m1 25.15 29.04130 -3.891304 +#> 120 m1 33.31 29.04130 4.268696
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkinmod.html b/docs/reference/mkinmod.html index 51be5465..2c5f056e 100644 --- a/docs/reference/mkinmod.html +++ b/docs/reference/mkinmod.html @@ -68,7 +68,7 @@ For the definition of model types and their parameters, the equations given mkin - 0.9.49.4 + 0.9.49.5 @@ -234,7 +234,7 @@ For the definition of model types and their parameters, the equations given SFO_SFO <- mkinmod( parent = mkinsub("SFO", "m1"), m1 = mkinsub("SFO"), verbose = TRUE)
#> Compilation argument: -#> /usr/lib/R/bin/R CMD SHLIB file4bbd307f8763.c 2> file4bbd307f8763.c.err.txt +#> /usr/lib/R/bin/R CMD SHLIB filebbe6b539c4f.c 2> filebbe6b539c4f.c.err.txt #> Program source: #> 1: #include <R.h> #> 2: @@ -291,7 +291,7 @@ For the definition of model types and their parameters, the equations given
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkinparplot-1.png b/docs/reference/mkinparplot-1.png index 65918d53..d4259579 100644 Binary files a/docs/reference/mkinparplot-1.png and b/docs/reference/mkinparplot-1.png differ diff --git a/docs/reference/mkinparplot.html b/docs/reference/mkinparplot.html index 8cfb9374..71fd6245 100644 --- a/docs/reference/mkinparplot.html +++ b/docs/reference/mkinparplot.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -177,7 +177,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkinplot.html b/docs/reference/mkinplot.html index 0c8ee269..5ac632c8 100644 --- a/docs/reference/mkinplot.html +++ b/docs/reference/mkinplot.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -172,7 +172,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkinpredict.html b/docs/reference/mkinpredict.html index 8e2e307b..f339b26a 100644 --- a/docs/reference/mkinpredict.html +++ b/docs/reference/mkinpredict.html @@ -65,7 +65,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -328,17 +328,17 @@ c(parent = 100, m1 = 0), seq(0, 20, by = 0.1), solution_type = "eigen")[201,]))
#> time parent m1 #> 201 20 4.978707 27.46227
#> User System verstrichen -#> 0.003 0.000 0.004
system.time( +#> 0.003 0.000 0.003
system.time( print(mkinpredict(SFO_SFO, c(k_parent_m1 = 0.05, k_parent_sink = 0.1, k_m1_sink = 0.01), c(parent = 100, m1 = 0), seq(0, 20, by = 0.1), solution_type = "deSolve")[201,]))
#> time parent m1 #> 201 20 4.978707 27.46227
#> User System verstrichen -#> 0.002 0.000 0.001
system.time( +#> 0.002 0.000 0.002
system.time( print(mkinpredict(SFO_SFO, c(k_parent_m1 = 0.05, k_parent_sink = 0.1, k_m1_sink = 0.01), c(parent = 100, m1 = 0), seq(0, 20, by = 0.1), solution_type = "deSolve", use_compiled = FALSE)[201,]))
#> time parent m1 #> 201 20 4.978707 27.46227
#> User System verstrichen -#> 0.021 0.000 0.021
+#> 0.021 0.000 0.022
# Predict from a fitted model f <- mkinfit(SFO_SFO, FOCUS_2006_C)
#> Ordinary least squares optimisation
#> Sum of squared residuals at call 1: 552.5739 #> Sum of squared residuals at call 3: 552.5739 @@ -397,7 +397,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkinresplot-1.png b/docs/reference/mkinresplot-1.png index 344561de..d29181c3 100644 Binary files a/docs/reference/mkinresplot-1.png and b/docs/reference/mkinresplot-1.png differ diff --git a/docs/reference/mkinresplot.html b/docs/reference/mkinresplot.html index ab3b35b4..45722db4 100644 --- a/docs/reference/mkinresplot.html +++ b/docs/reference/mkinresplot.html @@ -66,7 +66,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -224,7 +224,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mkinsub.html b/docs/reference/mkinsub.html index b87ceca4..4d81f639 100644 --- a/docs/reference/mkinsub.html +++ b/docs/reference/mkinsub.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -203,7 +203,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/mmkin-1.png b/docs/reference/mmkin-1.png index 9d86a2df..328cec9b 100644 Binary files a/docs/reference/mmkin-1.png and b/docs/reference/mmkin-1.png differ diff --git a/docs/reference/mmkin-2.png b/docs/reference/mmkin-2.png index 59d293d5..5e264309 100644 Binary files a/docs/reference/mmkin-2.png and b/docs/reference/mmkin-2.png differ diff --git a/docs/reference/mmkin-3.png b/docs/reference/mmkin-3.png index a947ac65..0a58a86b 100644 Binary files a/docs/reference/mmkin-3.png and b/docs/reference/mmkin-3.png differ diff --git a/docs/reference/mmkin-4.png b/docs/reference/mmkin-4.png index 89048ea3..9d8c0931 100644 Binary files a/docs/reference/mmkin-4.png and b/docs/reference/mmkin-4.png differ diff --git a/docs/reference/mmkin-5.png b/docs/reference/mmkin-5.png index 0c81649c..29206932 100644 Binary files a/docs/reference/mmkin-5.png and b/docs/reference/mmkin-5.png differ diff --git a/docs/reference/mmkin.html b/docs/reference/mmkin.html index 3e297eb3..a830646f 100644 --- a/docs/reference/mmkin.html +++ b/docs/reference/mmkin.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -194,8 +194,8 @@ time_1 <- system.time(fits.4 <- mmkin(models, datasets, cores = 1, quiet = TRUE)) time_default
#> User System verstrichen -#> 0.048 0.024 5.085
time_1
#> User System verstrichen -#> 19.074 0.004 19.089
+#> 0.046 0.032 5.094
time_1
#> User System verstrichen +#> 19.798 0.004 19.814
endpoints(fits.0[["SFO_lin", 2]])
#> $ff #> parent_M1 parent_sink M1_M2 M1_sink #> 0.7340481 0.2659519 0.7505684 0.2494316 @@ -240,7 +240,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/nafta-1.png b/docs/reference/nafta-1.png index bcf5d12c..9025f2bb 100644 Binary files a/docs/reference/nafta-1.png and b/docs/reference/nafta-1.png differ diff --git a/docs/reference/nafta.html b/docs/reference/nafta.html index a9ee2f76..e0c3c0e2 100644 --- a/docs/reference/nafta.html +++ b/docs/reference/nafta.html @@ -65,7 +65,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -244,7 +244,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/plot.mkinfit-1.png b/docs/reference/plot.mkinfit-1.png index f70e9e31..0fe3c263 100644 Binary files a/docs/reference/plot.mkinfit-1.png and b/docs/reference/plot.mkinfit-1.png differ diff --git a/docs/reference/plot.mkinfit-2.png b/docs/reference/plot.mkinfit-2.png index 6facce0f..84bec348 100644 Binary files a/docs/reference/plot.mkinfit-2.png and b/docs/reference/plot.mkinfit-2.png differ diff --git a/docs/reference/plot.mkinfit-3.png b/docs/reference/plot.mkinfit-3.png index b53b3134..557046da 100644 Binary files a/docs/reference/plot.mkinfit-3.png and b/docs/reference/plot.mkinfit-3.png differ diff --git a/docs/reference/plot.mkinfit-4.png b/docs/reference/plot.mkinfit-4.png index 70a936ee..60203c3d 100644 Binary files a/docs/reference/plot.mkinfit-4.png and b/docs/reference/plot.mkinfit-4.png differ diff --git a/docs/reference/plot.mkinfit-5.png b/docs/reference/plot.mkinfit-5.png index 2e208996..36fcff6a 100644 Binary files a/docs/reference/plot.mkinfit-5.png and b/docs/reference/plot.mkinfit-5.png differ diff --git a/docs/reference/plot.mkinfit-6.png b/docs/reference/plot.mkinfit-6.png index 1da876b4..ad2ffa8c 100644 Binary files a/docs/reference/plot.mkinfit-6.png and b/docs/reference/plot.mkinfit-6.png differ diff --git a/docs/reference/plot.mkinfit.html b/docs/reference/plot.mkinfit.html index 7bfc17f6..5cab42fd 100644 --- a/docs/reference/plot.mkinfit.html +++ b/docs/reference/plot.mkinfit.html @@ -68,7 +68,7 @@ If the current plot device is a tikz device, mkin - 0.9.49.4 + 0.9.49.5 @@ -269,9 +269,9 @@ plot_sep(fit, sep_obs = TRUE, show_residuals = TRUE, show_errmin = TRUE, …

Examples

-
# One parent compound, one metabolite, both single first order, path from -# parent to sink included -SFO_SFO <- mkinmod(parent = mkinsub("SFO", "m1", full = "Parent"), +
# One parent compound, one metabolite, both single first order, path from +# parent to sink included +
SFO_SFO <- mkinmod(parent = mkinsub("SFO", "m1", full = "Parent"), m1 = mkinsub("SFO", full = "Metabolite M1" ))
#> Successfully compiled differential equation model from auto-generated C code.
fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE, error_model = "tc")
#> Warning: Observations with value of zero were removed from the data
plot(fit)
plot(fit, show_residuals = TRUE)
plot(fit, show_errplot = TRUE)
# Show the observed variables separately plot(fit, sep_obs = TRUE, lpos = c("topright", "bottomright"))
@@ -306,7 +306,7 @@ plot_sep(fit, sep_obs = TRUE, show_residuals = TRUE, show_errmin = TRUE, …
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/plot.mmkin-1.png b/docs/reference/plot.mmkin-1.png index 03d334f7..8cf969c9 100644 Binary files a/docs/reference/plot.mmkin-1.png and b/docs/reference/plot.mmkin-1.png differ diff --git a/docs/reference/plot.mmkin-2.png b/docs/reference/plot.mmkin-2.png index 25ed01cc..45d67b55 100644 Binary files a/docs/reference/plot.mmkin-2.png and b/docs/reference/plot.mmkin-2.png differ diff --git a/docs/reference/plot.mmkin-3.png b/docs/reference/plot.mmkin-3.png index 7f32afe2..47cd7eec 100644 Binary files a/docs/reference/plot.mmkin-3.png and b/docs/reference/plot.mmkin-3.png differ diff --git a/docs/reference/plot.mmkin-4.png b/docs/reference/plot.mmkin-4.png index b03dffb2..44037bb4 100644 Binary files a/docs/reference/plot.mmkin-4.png and b/docs/reference/plot.mmkin-4.png differ diff --git a/docs/reference/plot.mmkin.html b/docs/reference/plot.mmkin.html index 3037ca24..0b626d1b 100644 --- a/docs/reference/plot.mmkin.html +++ b/docs/reference/plot.mmkin.html @@ -67,7 +67,7 @@ If the current plot device is a tikz device, mkin - 0.9.49.4 + 0.9.49.5 @@ -197,8 +197,8 @@ If the current plot device is a tikz device,
# Only use one core not to offend CRAN checks fits <- mmkin(c("FOMC", "HS"), list("FOCUS B" = FOCUS_2006_B, "FOCUS C" = FOCUS_2006_C), # named list for titles - cores = 1, quiet = TRUE, error_model = "tc") - plot(fits[, "FOCUS C"])
plot(fits["FOMC", ])
+ cores = 1, quiet = TRUE, error_model = "tc")
#> Warning: Optimisation did not converge: +#> iteration limit reached without convergence (10)
plot(fits[, "FOCUS C"])
plot(fits["FOMC", ])
# We can also plot a single fit, if we like the way plot.mmkin works, but then the plot # height should be smaller than the plot width (this is not possible for the html pages # generated by pkgdown, as far as I know). @@ -227,7 +227,7 @@ If the current plot device is a tikz device,
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/plot.nafta.html b/docs/reference/plot.nafta.html index 1aa4485a..fdc6e0ac 100644 --- a/docs/reference/plot.nafta.html +++ b/docs/reference/plot.nafta.html @@ -67,7 +67,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -187,7 +187,7 @@ plot(x, legend = FALSE, main = "auto", …)
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/print.mkinds.html b/docs/reference/print.mkinds.html index 2cc112aa..7c401533 100644 --- a/docs/reference/print.mkinds.html +++ b/docs/reference/print.mkinds.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -165,7 +165,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/print.mkinmod.html b/docs/reference/print.mkinmod.html index d09b629e..4ca7631b 100644 --- a/docs/reference/print.mkinmod.html +++ b/docs/reference/print.mkinmod.html @@ -63,7 +63,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -186,7 +186,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/print.nafta.html b/docs/reference/print.nafta.html index 28847afe..10afb77d 100644 --- a/docs/reference/print.nafta.html +++ b/docs/reference/print.nafta.html @@ -65,7 +65,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -177,7 +177,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/schaefer07_complex_case-1.png b/docs/reference/schaefer07_complex_case-1.png index 49967dc9..34356613 100644 Binary files a/docs/reference/schaefer07_complex_case-1.png and b/docs/reference/schaefer07_complex_case-1.png differ diff --git a/docs/reference/schaefer07_complex_case.html b/docs/reference/schaefer07_complex_case.html index 09f6d1e2..50e07d37 100644 --- a/docs/reference/schaefer07_complex_case.html +++ b/docs/reference/schaefer07_complex_case.html @@ -65,7 +65,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -216,7 +216,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/sigma_twocomp.html b/docs/reference/sigma_twocomp.html index 265c7d1f..b73b81f4 100644 --- a/docs/reference/sigma_twocomp.html +++ b/docs/reference/sigma_twocomp.html @@ -68,7 +68,7 @@ This is the error model used for example by Werner et al. (1978). The model mkin - 0.9.49.4 + 0.9.49.5 @@ -195,7 +195,7 @@ This is the error model used for example by Werner et al. (1978). The model
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/summary.mkinfit.html b/docs/reference/summary.mkinfit.html index b3151da1..ffe1edb1 100644 --- a/docs/reference/summary.mkinfit.html +++ b/docs/reference/summary.mkinfit.html @@ -66,7 +66,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -209,10 +209,10 @@

Examples

-
summary(mkinfit(mkinmod(parent = mkinsub("SFO")), FOCUS_2006_A, quiet = TRUE))
#> mkin version used for fitting: 0.9.49.4 +
summary(mkinfit(mkinmod(parent = mkinsub("SFO")), FOCUS_2006_A, quiet = TRUE))
#> mkin version used for fitting: 0.9.49.5 #> R version used for fitting: 3.6.0 -#> Date of fit: Wed May 8 20:52:12 2019 -#> Date of summary: Wed May 8 20:52:12 2019 +#> Date of fit: Tue Jun 4 15:03:02 2019 +#> Date of summary: Tue Jun 4 15:03:02 2019 #> #> Equations: #> d_parent/dt = - k_parent_sink * parent @@ -307,7 +307,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/synthetic_data_for_UBA.html b/docs/reference/synthetic_data_for_UBA.html index 2c2623e4..4a7ca728 100644 --- a/docs/reference/synthetic_data_for_UBA.html +++ b/docs/reference/synthetic_data_for_UBA.html @@ -40,7 +40,7 @@ Variance component 'a' is based on a normal distribution with standard deviation Variance component 'c' is based on the error model from Rocke and Lorenzato (1995), with the minimum standard deviation (for small y values) of 0.5, and a proportionality constant of 0.07 for the increase of the standard deviation with y. Note that this is a simplified version - of the error model proposed by Rocke and Lorenzato (1995), as in their model the error of the + of the error model proposed by Rocke and Lorenzato (1995), as in their model the error of the measured values approximates lognormal distribution for high values, whereas we are using normally distributed error components all along. Initial concentrations for metabolites and all values where adding the variance component resulted @@ -78,7 +78,7 @@ Compare also the code in the example section to see the degradation models." /> mkin - 0.9.49.4 + 0.9.49.5 @@ -151,7 +151,7 @@ Compare also the code in the example section to see the degradation models." /> Variance component 'c' is based on the error model from Rocke and Lorenzato (1995), with the minimum standard deviation (for small y values) of 0.5, and a proportionality constant of 0.07 for the increase of the standard deviation with y. Note that this is a simplified version - of the error model proposed by Rocke and Lorenzato (1995), as in their model the error of the + of the error model proposed by Rocke and Lorenzato (1995), as in their model the error of the measured values approximates lognormal distribution for high values, whereas we are using normally distributed error components all along.

Initial concentrations for metabolites and all values where adding the variance component resulted @@ -253,7 +253,8 @@ add_err = function(d, sdfunc, LOD = 0.1, reps = 2, seed = 123456789) return(d_NA) } -# The following is the two-component model of Rocke and Lorenzato (1995) +# The following is the simplified version of the two-component model of Rocke +# and Lorenzato (1995) sdfunc_twocomp = function(value, sd_low, rsd_high) { sqrt(sd_low^2 + value^2 * rsd_high^2) } @@ -304,7 +305,7 @@ summary(fit)

-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/test_data_from_UBA_2014-1.png b/docs/reference/test_data_from_UBA_2014-1.png index a9aeea21..fc05f896 100644 Binary files a/docs/reference/test_data_from_UBA_2014-1.png and b/docs/reference/test_data_from_UBA_2014-1.png differ diff --git a/docs/reference/test_data_from_UBA_2014-2.png b/docs/reference/test_data_from_UBA_2014-2.png index f6c91bff..b0dfdd5a 100644 Binary files a/docs/reference/test_data_from_UBA_2014-2.png and b/docs/reference/test_data_from_UBA_2014-2.png differ diff --git a/docs/reference/test_data_from_UBA_2014.html b/docs/reference/test_data_from_UBA_2014.html index bc988340..e40d320f 100644 --- a/docs/reference/test_data_from_UBA_2014.html +++ b/docs/reference/test_data_from_UBA_2014.html @@ -64,7 +64,7 @@ mkin - 0.9.49.4 + 0.9.49.5 @@ -231,7 +231,7 @@
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/docs/reference/transform_odeparms.html b/docs/reference/transform_odeparms.html index 7e05480e..bf134334 100644 --- a/docs/reference/transform_odeparms.html +++ b/docs/reference/transform_odeparms.html @@ -71,7 +71,7 @@ The transformation of sets of formation fractions is fragile, as it supposes mkin - 0.9.49.4 + 0.9.49.5 @@ -293,7 +293,7 @@ The transformation of sets of formation fractions is fragile, as it supposes
-

Site built with pkgdown 1.3.0.9000.

+

Site built with pkgdown 1.3.0.

diff --git a/man/mkinerrplot.Rd b/man/mkinerrplot.Rd index 4cbb5eb7..3b557b0a 100644 --- a/man/mkinerrplot.Rd +++ b/man/mkinerrplot.Rd @@ -68,8 +68,10 @@ \code{\link{mkinplot}}, for a way to plot the data and the fitted lines of the mkinfit object. } \examples{ +\dontrun{ model <- mkinmod(parent = mkinsub("SFO", "m1"), m1 = mkinsub("SFO")) fit <- mkinfit(model, FOCUS_2006_D, error_model = "tc", quiet = TRUE) mkinerrplot(fit) } +} \keyword{ hplot } diff --git a/man/mkinfit.Rd b/man/mkinfit.Rd index 78a53ee0..975eace8 100644 --- a/man/mkinfit.Rd +++ b/man/mkinfit.Rd @@ -31,6 +31,8 @@ mkinfit(mkinmod, observed, quiet = FALSE, atol = 1e-8, rtol = 1e-10, n.outtimes = 100, error_model = c("const", "obs", "tc"), + error_model_algorithm = c("d_3", "direct", "twostep", "threestep", "fourstep", "IRLS"), + reweight.tol = 1e-8, reweight.max.iter = 10, trace_parms = FALSE, ...) } \arguments{ @@ -171,6 +173,44 @@ mkinfit(mkinmod, observed, errors follow a lognormal distribution for large values, not a normal distribution as assumed by this method. } + \item{error_model_algorithm}{ + If the error model is "const", the error model algorithm is ignored, + because no special algorithm is needed and unweighted (also known as + ordinary) least squares fitting can be applied. + + The default algorithm "d_3" will directly minimize the negative + log-likelihood and - independently - also use the three step algorithm + described below. The fit with the higher likelihood is returned. + + The algorithm "direct" will directly minimize the negative + log-likelihood. + + The algorithm "twostep" will minimize the negative log-likelihood + after an initial unweighted leas squares optimisation step. + + The algorithm "threestep" starts with unweighted least squares, + then optimizes only the error model using the degradation model + parameters found, and then minimizes the negative log-likelihood + with free degradation and error model parameters. + + The algorithm "fourstep" starts with unweighted least squares, + then optimizes only the error model using the degradation model + parameters found, then optimizes the degradation model again + with fixed error model parameters, and finally minimizes the negative + log-likelihood with free degradation and error model parameters. + + The algorithm "IRLS" starts with unweighted least squares, + and then iterates optimization of the error model parameters and subsequent + optimization of the degradation model using those error model parameters, + until the error model parameters converge. + } + \item{reweight.tol}{ + Tolerance for the convergence criterion calculated from the error model + parameters in IRLS fits. + } + \item{reweight.max.iter}{ + Maximum number of iterations in IRLS fits. + } \item{trace_parms}{ Should a trace of the parameter values be listed? } diff --git a/man/plot.mkinfit.Rd b/man/plot.mkinfit.Rd index 9514c5e5..5e20ad90 100644 --- a/man/plot.mkinfit.Rd +++ b/man/plot.mkinfit.Rd @@ -115,6 +115,7 @@ plot_sep(fit, sep_obs = TRUE, show_residuals = TRUE, show_errmin = TRUE, \dots) \examples{ # One parent compound, one metabolite, both single first order, path from # parent to sink included +\dontrun{ SFO_SFO <- mkinmod(parent = mkinsub("SFO", "m1", full = "Parent"), m1 = mkinsub("SFO", full = "Metabolite M1" )) fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE, error_model = "tc") @@ -136,6 +137,7 @@ plot_sep(fit, lpos = c("topright", "bottomright")) plot(fit, sep_obs = TRUE, show_errplot = TRUE, lpos = c("topright", "bottomright"), show_errmin = TRUE) } +} \author{ Johannes Ranke } diff --git a/test.log b/test.log index 0fcca094..30196966 100644 --- a/test.log +++ b/test.log @@ -2,28 +2,396 @@ Loading mkin Testing mkin ✔ | OK F W S | Context ⠏ | 0 | Export dataset for reading into CAKE ✔ | 1 | Export dataset for reading into CAKE - ⠏ | 0 | Error model fitting ⠋ | 1 | Error model fitting ⠹ | 3 | Error model fitting ⠸ | 4 | Error model fitting ⠼ | 5 | Error model fitting ⠴ | 6 | Error model fitting ⠧ | 8 | Error model fitting ⠏ | 10 | Error model fitting ⠋ | 11 | Error model fitting ✔ | 12 | Error model fitting [214.1 s] - ⠏ | 0 | Calculation of FOCUS chi2 error levels ⠋ | 1 | Calculation of FOCUS chi2 error levels ⠹ | 3 | Calculation of FOCUS chi2 error levels ✔ | 3 | Calculation of FOCUS chi2 error levels [2.3 s] + ⠏ | 0 | Error model fitting ⠋ | 1 | Error model fitting ⠹ | 3 | Error model fitting ⠸ | 4 | Error model fitting ⠼ | 5 | Error model fitting ⠴ | 6 | Error model fitting ⠧ | 8 | Error model fitting ⠏ | 10 | Error model fitting ⠋ | 10 1 | Error model fitting ⠋ | 10 1 | Error model fitting ⠋ | 10 1 | Error model fitting ⠋ | 10 1 | Error model fitting ⠋ | 10 1 | Error model fitting ⠋ | 10 1 | Error model fitting ⠋ | 11 | Error model fittingSum of squared residuals at call 1: 1590.602 +Sum of squared residuals at call 3: 1590.601 +Sum of squared residuals at call 5: 999.7593 +Sum of squared residuals at call 7: 999.7513 +Sum of squared residuals at call 8: 979.5713 +Sum of squared residuals at call 9: 948.3366 +Sum of squared residuals at call 10: 855.9518 +Sum of squared residuals at call 13: 836.4547 +Sum of squared residuals at call 14: 836.4547 +Sum of squared residuals at call 16: 836.422 +Sum of squared residuals at call 19: 836.422 +Sum of squared residuals at call 23: 836.422 +Sum of squared residuals at call 24: 836.422 +Negative log-likelihood at call 30: 65.71278 + ⠹ | 13 | Error model fittingNegative log-likelihood at call 1: 4104.4 +Negative log-likelihood at call 2: 4104.4 +Negative log-likelihood at call 4: 4104.399 +Negative log-likelihood at call 6: 85.79717 +Negative log-likelihood at call 11: 72.50327 +Negative log-likelihood at call 12: 72.50327 +Negative log-likelihood at call 17: 71.79809 +Negative log-likelihood at call 22: 71.10373 +Negative log-likelihood at call 26: 71.10373 +Negative log-likelihood at call 27: 70.84093 +Negative log-likelihood at call 29: 70.84093 +Negative log-likelihood at call 32: 70.64538 +Negative log-likelihood at call 37: 70.64538 +Negative log-likelihood at call 38: 70.33707 +Negative log-likelihood at call 40: 70.33707 +Negative log-likelihood at call 42: 70.33707 +Negative log-likelihood at call 43: 69.89484 +Negative log-likelihood at call 48: 69.05915 +Negative log-likelihood at call 53: 67.99547 +Negative log-likelihood at call 56: 67.99547 +Negative log-likelihood at call 58: 66.59808 +Negative log-likelihood at call 63: 66.59808 +Negative log-likelihood at call 64: 66.2343 +Negative log-likelihood at call 65: 66.23429 +Negative log-likelihood at call 68: 66.23428 +Negative log-likelihood at call 69: 65.67228 +Negative log-likelihood at call 70: 65.67228 +Negative log-likelihood at call 73: 65.67227 +Negative log-likelihood at call 74: 65.33106 +Negative log-likelihood at call 79: 65.31005 +Negative log-likelihood at call 80: 65.31005 +Negative log-likelihood at call 81: 65.31005 +Negative log-likelihood at call 83: 65.31004 +Negative log-likelihood at call 84: 65.17731 +Negative log-likelihood at call 85: 65.17731 +Negative log-likelihood at call 89: 65.16821 +Negative log-likelihood at call 94: 65.13357 +Negative log-likelihood at call 96: 65.13357 +Negative log-likelihood at call 98: 65.13357 +Negative log-likelihood at call 99: 65.08107 +Negative log-likelihood at call 104: 64.86685 +Negative log-likelihood at call 105: 64.86685 +Negative log-likelihood at call 109: 64.50332 +Negative log-likelihood at call 112: 64.50332 +Negative log-likelihood at call 114: 64.10889 +Negative log-likelihood at call 119: 63.57448 +Negative log-likelihood at call 120: 63.57448 +Negative log-likelihood at call 123: 63.57448 +Negative log-likelihood at call 124: 63.5456 +Negative log-likelihood at call 127: 63.5456 +Negative log-likelihood at call 129: 63.48903 +Negative log-likelihood at call 131: 63.48903 +Negative log-likelihood at call 135: 63.47608 +Negative log-likelihood at call 140: 63.47181 +Negative log-likelihood at call 141: 63.47181 +Negative log-likelihood at call 145: 63.4714 +Negative log-likelihood at call 146: 63.4714 +Negative log-likelihood at call 151: 63.4714 +Negative log-likelihood at call 152: 63.4714 +Negative log-likelihood at call 160: 63.4714 +Negative log-likelihood at call 169: 63.4714 + ⠸ | 14 | Error model fittingSum of squared residuals at call 1: 1590.602 +Sum of squared residuals at call 3: 1590.601 +Sum of squared residuals at call 5: 999.7593 +Sum of squared residuals at call 7: 999.7513 +Sum of squared residuals at call 8: 979.5713 +Sum of squared residuals at call 9: 948.3366 +Sum of squared residuals at call 10: 855.9518 +Sum of squared residuals at call 13: 836.4547 +Sum of squared residuals at call 14: 836.4547 +Sum of squared residuals at call 16: 836.422 +Sum of squared residuals at call 19: 836.422 +Sum of squared residuals at call 23: 836.422 +Sum of squared residuals at call 24: 836.422 +Negative log-likelihood at call 32: 7208.014 +Negative log-likelihood at call 34: 7208.013 +Negative log-likelihood at call 36: 132.2815 +Negative log-likelihood at call 41: 75.57291 +Negative log-likelihood at call 42: 75.57291 +Negative log-likelihood at call 45: 75.57291 +Negative log-likelihood at call 47: 73.57761 +Negative log-likelihood at call 52: 70.3766 +Negative log-likelihood at call 57: 68.75449 +Negative log-likelihood at call 62: 68.50149 +Negative log-likelihood at call 64: 68.50149 +Negative log-likelihood at call 66: 68.50146 +Negative log-likelihood at call 67: 68.2035 +Negative log-likelihood at call 71: 68.2035 +Negative log-likelihood at call 72: 68.13162 +Negative log-likelihood at call 77: 67.94078 +Negative log-likelihood at call 78: 67.60889 +Negative log-likelihood at call 80: 67.60889 +Negative log-likelihood at call 83: 66.72645 +Negative log-likelihood at call 88: 65.66209 +Negative log-likelihood at call 93: 64.79703 +Negative log-likelihood at call 98: 64.6745 +Negative log-likelihood at call 101: 64.6745 +Negative log-likelihood at call 102: 64.6745 +Negative log-likelihood at call 103: 64.60902 +Negative log-likelihood at call 108: 64.56616 +Negative log-likelihood at call 113: 64.55458 +Negative log-likelihood at call 117: 64.55458 +Negative log-likelihood at call 119: 64.50796 +Negative log-likelihood at call 121: 64.50796 +Negative log-likelihood at call 124: 64.41361 +Negative log-likelihood at call 129: 64.2052 +Negative log-likelihood at call 134: 63.92264 +Negative log-likelihood at call 139: 63.66033 +Negative log-likelihood at call 140: 63.66033 +Negative log-likelihood at call 142: 63.66033 +Negative log-likelihood at call 144: 63.55606 +Negative log-likelihood at call 146: 63.55606 +Negative log-likelihood at call 149: 63.48537 +Negative log-likelihood at call 150: 63.48537 +Negative log-likelihood at call 154: 63.47183 +Negative log-likelihood at call 156: 63.47183 +Negative log-likelihood at call 157: 63.47183 +Negative log-likelihood at call 159: 63.47141 +Negative log-likelihood at call 160: 63.47141 +Negative log-likelihood at call 162: 63.47141 +Negative log-likelihood at call 164: 63.4714 +Negative log-likelihood at call 165: 63.4714 +Negative log-likelihood at call 168: 63.4714 +Negative log-likelihood at call 172: 63.4714 +Negative log-likelihood at call 173: 63.4714 +Negative log-likelihood at call 181: 63.4714 +Negative log-likelihood at call 182: 63.4714 +Negative log-likelihood at call 191: 63.4714 + ⠼ | 15 | Error model fittingSum of squared residuals at call 1: 1590.602 +Sum of squared residuals at call 3: 1590.601 +Sum of squared residuals at call 5: 999.7593 +Sum of squared residuals at call 7: 999.7513 +Sum of squared residuals at call 8: 979.5713 +Sum of squared residuals at call 9: 948.3366 +Sum of squared residuals at call 10: 855.9518 +Sum of squared residuals at call 13: 836.4547 +Sum of squared residuals at call 14: 836.4547 +Sum of squared residuals at call 16: 836.422 +Sum of squared residuals at call 19: 836.422 +Sum of squared residuals at call 23: 836.422 +Sum of squared residuals at call 24: 836.422 +Negative log-likelihood at call 32: 7208.013 +Negative log-likelihood at call 34: 164.0572 +Negative log-likelihood at call 37: 139.4622 +Negative log-likelihood at call 40: 138.9749 +Negative log-likelihood at call 43: 134.4266 +Negative log-likelihood at call 46: 108.9584 +Negative log-likelihood at call 49: 98.97929 +Negative log-likelihood at call 52: 91.49458 +Negative log-likelihood at call 55: 87.49741 +Negative log-likelihood at call 57: 87.49741 +Negative log-likelihood at call 58: 85.29177 +Negative log-likelihood at call 61: 84.23711 +Negative log-likelihood at call 64: 83.76617 +Negative log-likelihood at call 67: 83.53472 +Negative log-likelihood at call 70: 83.33848 +Negative log-likelihood at call 73: 83.00488 +Negative log-likelihood at call 76: 82.06707 +Negative log-likelihood at call 77: 82.06707 +Negative log-likelihood at call 79: 75.48058 +Negative log-likelihood at call 82: 69.27829 +Negative log-likelihood at call 85: 66.14308 +Negative log-likelihood at call 86: 66.14306 +Negative log-likelihood at call 90: 65.73421 +Negative log-likelihood at call 91: 65.73421 +Negative log-likelihood at call 94: 65.71278 +Negative log-likelihood at call 98: 65.71278 +Negative log-likelihood at call 99: 65.71278 +Negative log-likelihood at call 127: 65.71278 + ⠴ | 16 | Error model fittingSum of squared residuals at call 1: 1590.602 +Sum of squared residuals at call 3: 1590.601 +Sum of squared residuals at call 5: 999.7593 +Sum of squared residuals at call 7: 999.7513 +Sum of squared residuals at call 8: 979.5713 +Sum of squared residuals at call 9: 948.3366 +Sum of squared residuals at call 10: 855.9518 +Sum of squared residuals at call 13: 836.4547 +Sum of squared residuals at call 14: 836.4547 +Sum of squared residuals at call 16: 836.422 +Sum of squared residuals at call 19: 836.422 +Sum of squared residuals at call 23: 836.422 +Sum of squared residuals at call 24: 836.422 +Negative log-likelihood at call 32: 7208.013 +Negative log-likelihood at call 34: 164.0572 +Negative log-likelihood at call 37: 139.4622 +Negative log-likelihood at call 40: 138.9749 +Negative log-likelihood at call 43: 134.4266 +Negative log-likelihood at call 46: 108.9584 +Negative log-likelihood at call 49: 98.97929 +Negative log-likelihood at call 52: 91.49458 +Negative log-likelihood at call 55: 87.49741 +Negative log-likelihood at call 57: 87.49741 +Negative log-likelihood at call 58: 85.29177 +Negative log-likelihood at call 61: 84.23711 +Negative log-likelihood at call 64: 83.76617 +Negative log-likelihood at call 67: 83.53472 +Negative log-likelihood at call 70: 83.33848 +Negative log-likelihood at call 73: 83.00488 +Negative log-likelihood at call 76: 82.06707 +Negative log-likelihood at call 77: 82.06707 +Negative log-likelihood at call 79: 75.48058 +Negative log-likelihood at call 82: 69.27829 +Negative log-likelihood at call 85: 66.14308 +Negative log-likelihood at call 86: 66.14306 +Negative log-likelihood at call 90: 65.73421 +Negative log-likelihood at call 91: 65.73421 +Negative log-likelihood at call 94: 65.71278 +Negative log-likelihood at call 98: 65.71278 +Negative log-likelihood at call 99: 65.71278 +Negative log-likelihood at call 132: 65.71278 + ⠦ | 17 | Error model fittingSum of squared residuals at call 1: 1590.602 +Sum of squared residuals at call 3: 1590.601 +Sum of squared residuals at call 5: 999.7593 +Sum of squared residuals at call 7: 999.7513 +Sum of squared residuals at call 8: 979.5713 +Sum of squared residuals at call 9: 948.3366 +Sum of squared residuals at call 10: 855.9518 +Sum of squared residuals at call 13: 836.4547 +Sum of squared residuals at call 14: 836.4547 +Sum of squared residuals at call 16: 836.422 +Sum of squared residuals at call 19: 836.422 +Sum of squared residuals at call 23: 836.422 +Sum of squared residuals at call 24: 836.422 +Negative log-likelihood at call 32: 7208.013 +Negative log-likelihood at call 34: 164.0572 +Negative log-likelihood at call 37: 139.4622 +Negative log-likelihood at call 40: 138.9749 +Negative log-likelihood at call 43: 134.4266 +Negative log-likelihood at call 46: 108.9584 +Negative log-likelihood at call 49: 98.97929 +Negative log-likelihood at call 52: 91.49458 +Negative log-likelihood at call 55: 87.49741 +Negative log-likelihood at call 57: 87.49741 +Negative log-likelihood at call 58: 85.29177 +Negative log-likelihood at call 61: 84.23711 +Negative log-likelihood at call 64: 83.76617 +Negative log-likelihood at call 67: 83.53472 +Negative log-likelihood at call 70: 83.33848 +Negative log-likelihood at call 73: 83.00488 +Negative log-likelihood at call 76: 82.06707 +Negative log-likelihood at call 77: 82.06707 +Negative log-likelihood at call 79: 75.48058 +Negative log-likelihood at call 82: 69.27829 +Negative log-likelihood at call 85: 66.14308 +Negative log-likelihood at call 86: 66.14306 +Negative log-likelihood at call 90: 65.73421 +Negative log-likelihood at call 91: 65.73421 +Negative log-likelihood at call 94: 65.71278 +Negative log-likelihood at call 98: 65.71278 +Negative log-likelihood at call 99: 65.71278 +Negative log-likelihood at call 118: 65.71278 +Negative log-likelihood at call 134: 65.71278 + ⠧ | 18 | Error model fittingNegative log-likelihood at call 1: 4104.4 +Negative log-likelihood at call 2: 4104.4 +Negative log-likelihood at call 4: 4104.399 +Negative log-likelihood at call 6: 85.79717 +Negative log-likelihood at call 11: 72.50327 +Negative log-likelihood at call 12: 72.50327 +Negative log-likelihood at call 17: 71.79809 +Negative log-likelihood at call 22: 71.10373 +Negative log-likelihood at call 26: 71.10373 +Negative log-likelihood at call 27: 70.84093 +Negative log-likelihood at call 29: 70.84093 +Negative log-likelihood at call 32: 70.64538 +Negative log-likelihood at call 37: 70.64538 +Negative log-likelihood at call 38: 70.33707 +Negative log-likelihood at call 40: 70.33707 +Negative log-likelihood at call 42: 70.33707 +Negative log-likelihood at call 43: 69.89484 +Negative log-likelihood at call 48: 69.05915 +Negative log-likelihood at call 53: 67.99547 +Negative log-likelihood at call 56: 67.99547 +Negative log-likelihood at call 58: 66.59808 +Negative log-likelihood at call 63: 66.59808 +Negative log-likelihood at call 64: 66.2343 +Negative log-likelihood at call 65: 66.23429 +Negative log-likelihood at call 68: 66.23428 +Negative log-likelihood at call 69: 65.67228 +Negative log-likelihood at call 70: 65.67228 +Negative log-likelihood at call 73: 65.67227 +Negative log-likelihood at call 74: 65.33106 +Negative log-likelihood at call 79: 65.31005 +Negative log-likelihood at call 80: 65.31005 +Negative log-likelihood at call 81: 65.31005 +Negative log-likelihood at call 83: 65.31004 +Negative log-likelihood at call 84: 65.17731 +Negative log-likelihood at call 85: 65.17731 +Negative log-likelihood at call 89: 65.16821 +Negative log-likelihood at call 94: 65.13357 +Negative log-likelihood at call 96: 65.13357 +Negative log-likelihood at call 98: 65.13357 +Negative log-likelihood at call 99: 65.08107 +Negative log-likelihood at call 104: 64.86685 +Negative log-likelihood at call 105: 64.86685 +Negative log-likelihood at call 109: 64.50332 +Negative log-likelihood at call 112: 64.50332 +Negative log-likelihood at call 114: 64.10889 +Negative log-likelihood at call 119: 63.57448 +Negative log-likelihood at call 120: 63.57448 +Negative log-likelihood at call 123: 63.57448 +Negative log-likelihood at call 124: 63.5456 +Negative log-likelihood at call 127: 63.5456 +Negative log-likelihood at call 129: 63.48903 +Negative log-likelihood at call 131: 63.48903 +Negative log-likelihood at call 135: 63.47608 +Negative log-likelihood at call 140: 63.47181 +Negative log-likelihood at call 141: 63.47181 +Negative log-likelihood at call 145: 63.4714 +Negative log-likelihood at call 146: 63.4714 +Negative log-likelihood at call 151: 63.4714 +Negative log-likelihood at call 152: 63.4714 +Negative log-likelihood at call 160: 63.4714 +Negative log-likelihood at call 169: 63.4714 +Sum of squared residuals at call 179: 1590.602 +Sum of squared residuals at call 181: 1590.601 +Sum of squared residuals at call 183: 999.7593 +Sum of squared residuals at call 185: 999.7513 +Sum of squared residuals at call 186: 979.5713 +Sum of squared residuals at call 187: 948.3366 +Sum of squared residuals at call 188: 855.9518 +Sum of squared residuals at call 191: 836.4547 +Sum of squared residuals at call 192: 836.4547 +Sum of squared residuals at call 194: 836.422 +Sum of squared residuals at call 197: 836.422 +Sum of squared residuals at call 201: 836.422 +Sum of squared residuals at call 202: 836.422 +Negative log-likelihood at call 210: 7208.013 +Negative log-likelihood at call 212: 164.0572 +Negative log-likelihood at call 215: 139.4622 +Negative log-likelihood at call 218: 138.9749 +Negative log-likelihood at call 221: 134.4266 +Negative log-likelihood at call 224: 108.9584 +Negative log-likelihood at call 227: 98.97929 +Negative log-likelihood at call 230: 91.49458 +Negative log-likelihood at call 233: 87.49741 +Negative log-likelihood at call 235: 87.49741 +Negative log-likelihood at call 236: 85.29177 +Negative log-likelihood at call 239: 84.23711 +Negative log-likelihood at call 242: 83.76617 +Negative log-likelihood at call 245: 83.53472 +Negative log-likelihood at call 248: 83.33848 +Negative log-likelihood at call 251: 83.00488 +Negative log-likelihood at call 254: 82.06707 +Negative log-likelihood at call 255: 82.06707 +Negative log-likelihood at call 257: 75.48058 +Negative log-likelihood at call 260: 69.27829 +Negative log-likelihood at call 263: 66.14308 +Negative log-likelihood at call 264: 66.14306 +Negative log-likelihood at call 268: 65.73421 +Negative log-likelihood at call 269: 65.73421 +Negative log-likelihood at call 272: 65.71278 +Negative log-likelihood at call 276: 65.71278 +Negative log-likelihood at call 277: 65.71278 +Negative log-likelihood at call 305: 65.71278 + ⠇ | 19 | Error model fitting ⠏ | 20 | Error model fitting ✔ | 20 | Error model fitting [506.4 s] + ⠏ | 0 | Calculation of FOCUS chi2 error levels ⠋ | 1 | Calculation of FOCUS chi2 error levels ⠹ | 3 | Calculation of FOCUS chi2 error levels ⠼ | 5 | Calculation of FOCUS chi2 error levels ✔ | 5 | Calculation of FOCUS chi2 error levels [3.6 s] ⠏ | 0 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠋ | 1 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠙ | 2 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠸ | 4 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠇ | 9 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ✔ | 13 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [3.8 s] ⠏ | 0 | Test fitting the decline of metabolites from their maximum ⠋ | 1 | Test fitting the decline of metabolites from their maximum ⠹ | 3 | Test fitting the decline of metabolites from their maximum ⠼ | 5 | Test fitting the decline of metabolites from their maximum ✔ | 6 | Test fitting the decline of metabolites from their maximum [0.9 s] ⠏ | 0 | Fitting the logistic model ⠋ | 1 | Fitting the logistic model ✔ | 1 | Fitting the logistic model [0.9 s] ⠏ | 0 | Test dataset class mkinds used in gmkin ✔ | 1 | Test dataset class mkinds used in gmkin - ⠏ | 0 | Special cases of mkinfit calls ⠋ | 1 | Special cases of mkinfit calls ⠇ | 9 | Special cases of mkinfit calls ⠏ | 10 | Special cases of mkinfit calls ⠋ | 11 | Special cases of mkinfit calls ⠙ | 12 | Special cases of mkinfit calls ✔ | 12 | Special cases of mkinfit calls [2.9 s] + ⠏ | 0 | Special cases of mkinfit calls ⠋ | 1 | Special cases of mkinfit calls ⠇ | 9 | Special cases of mkinfit calls ⠏ | 10 | Special cases of mkinfit calls ⠋ | 11 | Special cases of mkinfit calls ⠙ | 12 | Special cases of mkinfit calls ✔ | 12 | Special cases of mkinfit calls [2.7 s] ⠏ | 0 | mkinmod model generation and printing ⠇ | 9 | mkinmod model generation and printing ✔ | 9 | mkinmod model generation and printing [0.2 s] ⠏ | 0 | Model predictions with mkinpredict ⠋ | 1 | Model predictions with mkinpredict ✔ | 3 | Model predictions with mkinpredict [0.3 s] ⠏ | 0 | Evaluations according to 2015 NAFTA guidance ⠙ | 2 | Evaluations according to 2015 NAFTA guidance ⠇ | 9 | Evaluations according to 2015 NAFTA guidance ⠏ | 10 | Evaluations according to 2015 NAFTA guidance ⠴ | 16 | Evaluations according to 2015 NAFTA guidance ✔ | 16 | Evaluations according to 2015 NAFTA guidance [4.1 s] - ⠏ | 0 | Fitting of parent only models ⠋ | 1 | Fitting of parent only models ⠙ | 2 | Fitting of parent only models ⠹ | 3 | Fitting of parent only models ⠸ | 4 | Fitting of parent only models ⠼ | 5 | Fitting of parent only models ⠴ | 6 | Fitting of parent only models ⠦ | 7 | Fitting of parent only models ⠧ | 8 | Fitting of parent only models ⠇ | 9 | Fitting of parent only models ⠏ | 10 | Fitting of parent only models ⠋ | 11 | Fitting of parent only models ⠙ | 12 | Fitting of parent only models ⠹ | 13 | Fitting of parent only models ⠴ | 16 | Fitting of parent only models ⠧ | 18 | Fitting of parent only models ⠏ | 20 | Fitting of parent only models ✔ | 21 | Fitting of parent only models [40.1 s] - ⠏ | 0 | Calculation of maximum time weighted average concentrations (TWAs) ⠋ | 1 | Calculation of maximum time weighted average concentrations (TWAs) ⠙ | 2 | Calculation of maximum time weighted average concentrations (TWAs) ⠹ | 3 | Calculation of maximum time weighted average concentrations (TWAs) ⠸ | 4 | Calculation of maximum time weighted average concentrations (TWAs) ✔ | 4 | Calculation of maximum time weighted average concentrations (TWAs) [2.3 s] + ⠏ | 0 | Fitting of parent only models ⠋ | 1 | Fitting of parent only models ⠙ | 2 | Fitting of parent only models ⠹ | 3 | Fitting of parent only models ⠸ | 4 | Fitting of parent only models ⠼ | 5 | Fitting of parent only models ⠴ | 6 | Fitting of parent only models ⠦ | 7 | Fitting of parent only models ⠧ | 8 | Fitting of parent only models ⠇ | 9 | Fitting of parent only models ⠏ | 10 | Fitting of parent only models ⠋ | 11 | Fitting of parent only models ⠙ | 12 | Fitting of parent only models ⠹ | 13 | Fitting of parent only models ⠴ | 16 | Fitting of parent only models ⠧ | 18 | Fitting of parent only models ⠏ | 20 | Fitting of parent only models ✔ | 21 | Fitting of parent only models [40.9 s] + ⠏ | 0 | Calculation of maximum time weighted average concentrations (TWAs) ⠋ | 1 | Calculation of maximum time weighted average concentrations (TWAs) ⠙ | 2 | Calculation of maximum time weighted average concentrations (TWAs) ⠹ | 3 | Calculation of maximum time weighted average concentrations (TWAs) ⠸ | 4 | Calculation of maximum time weighted average concentrations (TWAs) ✔ | 4 | Calculation of maximum time weighted average concentrations (TWAs) [2.2 s] ⠏ | 0 | Summary ✔ | 1 | Summary ⠏ | 0 | Plotting ⠹ | 3 | Plotting ✔ | 4 | Plotting [0.3 s] ⠏ | 0 | AIC calculation ✔ | 2 | AIC calculation - ⠏ | 0 | Complex test case from Schaefer et al. (2007) Piacenza paper ⠋ | 1 | Complex test case from Schaefer et al. (2007) Piacenza paper ✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [5.2 s] - ⠏ | 0 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠋ | 1 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠹ | 3 | Results for synthetic data established in expertise for UBA (Ranke 2014) ✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [7.0 s] + ⠏ | 0 | Complex test case from Schaefer et al. (2007) Piacenza paper ⠋ | 1 | Complex test case from Schaefer et al. (2007) Piacenza paper ✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [5.4 s] + ⠏ | 0 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠋ | 1 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠹ | 3 | Results for synthetic data established in expertise for UBA (Ranke 2014) ✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [7.2 s] ══ Results ═════════════════════════════════════════════════════════════════════ -Duration: 289.7 s +Duration: 584.3 s -OK: 115 +OK: 125 Failed: 0 Warnings: 0 Skipped: 0 diff --git a/tests/testthat/AIC_exp_d_3.out b/tests/testthat/AIC_exp_d_3.out new file mode 100644 index 00000000..e69de29b diff --git a/tests/testthat/FOCUS_2006_D.csf b/tests/testthat/FOCUS_2006_D.csf index da2e2fbe..43215ec4 100644 --- a/tests/testthat/FOCUS_2006_D.csf +++ b/tests/testthat/FOCUS_2006_D.csf @@ -5,7 +5,7 @@ Description: MeasurementUnits: % AR TimeUnits: days Comments: Created using mkin::CAKE_export -Date: 2019-05-08 +Date: 2019-06-04 Optimiser: IRLS [Data] diff --git a/tests/testthat/test_error_models.R b/tests/testthat/test_error_models.R index c656f7d2..6bb93d48 100644 --- a/tests/testthat/test_error_models.R +++ b/tests/testthat/test_error_models.R @@ -178,84 +178,49 @@ test_that("Reweighting method 'tc' produces reasonable variance estimates", { expect_true(all(abs(tcf_met_2_15_tc_error_model_errors) < 0.10)) }) -test_that("The two-component error model finds the best known AIC values for parent models", { +test_that("The different error model fitting methods work for parent fits", { skip_on_cran() - library(parallel) - source("~/git/mkin/R/mkinfit.R") - source("~/git/mkin/R/mmkin.R") - f_9 <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data) - f_9 <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, - error_model = "tc", error_model_algorithm = "direct") - f_9 <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, - error_model = "tc", error_model_algorithm = "twostep") - f_9 <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, - error_model = "tc", error_model_algorithm = "threestep") - f_9 <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, - error_model = "tc", error_model_algorithm = "fourstep") - f_9 <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, - error_model = "tc", error_model_algorithm = "IRLS") - f_9 <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, - error_model = "tc", error_model_algorithm = "d_3") - AIC(f_9) - f_10 <- mkinfit("DFOP", experimental_data_for_UBA_2019[[10]]$data, - error_model = "tc", error_model_algorithm = "IRLS") - f_tc_exp_direct <- mmkin(c("SFO", "DFOP", "HS"), - lapply(experimental_data_for_UBA_2019, function(x) x$data), - error_model = "tc", - error_model_algorithm = "direct", - quiet = TRUE) - f_tc_exp_twostep <- mmkin(c("SFO", "DFOP", "HS"), - lapply(experimental_data_for_UBA_2019, function(x) x$data), - error_model = "tc", - error_model_algorithm = "twostep", - quiet = TRUE) - f_tc_exp_threestep <- mmkin(c("SFO", "DFOP", "HS"), - lapply(experimental_data_for_UBA_2019, function(x) x$data), - error_model = "tc", - error_model_algorithm = "threestep", - quiet = TRUE) - f_tc_exp_fourstep <- mmkin(c("SFO", "DFOP", "HS"), - lapply(experimental_data_for_UBA_2019, function(x) x$data), - error_model = "tc", - error_model_algorithm = "fourstep", - quiet = TRUE) - f_tc_exp_IRLS <- mmkin(c("SFO", "DFOP", "HS"), + + f_9_OLS <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, + quiet = TRUE) + expect_equivalent(round(AIC(f_9_OLS), 2), 137.43) + + f_9_direct <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, + error_model = "tc", error_model_algorithm = "direct", quiet = TRUE) + expect_equivalent(round(AIC(f_9_direct), 2), 134.94) + + f_9_twostep <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, + error_model = "tc", error_model_algorithm = "twostep", quiet = TRUE) + expect_equivalent(round(AIC(f_9_twostep), 2), 134.94) + + f_9_threestep <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, + error_model = "tc", error_model_algorithm = "threestep", quiet = TRUE) + expect_equivalent(round(AIC(f_9_threestep), 2), 139.43) + + f_9_fourstep <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, + error_model = "tc", error_model_algorithm = "fourstep", quiet = TRUE) + expect_equivalent(round(AIC(f_9_fourstep), 2), 139.43) + + f_9_IRLS <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, + error_model = "tc", error_model_algorithm = "IRLS", quiet = TRUE) + expect_equivalent(round(AIC(f_9_IRLS), 2), 139.43) + + f_9_d_3 <- mkinfit("SFO", experimental_data_for_UBA_2019[[9]]$data, + error_model = "tc", error_model_algorithm = "d_3", quiet = TRUE) + expect_equivalent(round(AIC(f_9_d_3), 2), 134.94) +}) + +test_that("The default error model algorithm finds the best known AIC values for parent fits", { + f_tc_exp_d_3 <- mmkin(c("SFO", "DFOP", "HS"), lapply(experimental_data_for_UBA_2019, function(x) x$data), error_model = "tc", - error_model_algorithm = "IRLS", + error_model_algorithm = "d_3", quiet = TRUE) - AIC_exp_direct <- lapply(f_tc_exp_direct, AIC) - AIC_exp_direct <- lapply(AIC_exp_direct, round, 1) - dim(AIC_exp_direct) <- dim(f_tc_exp_direct) - dimnames(AIC_exp_direct) <- dimnames(f_tc_exp_direct) - - AIC_exp_twostep <- lapply(f_tc_exp_twostep, AIC) - AIC_exp_twostep <- lapply(AIC_exp_twostep, round, 1) - dim(AIC_exp_twostep) <- dim(f_tc_exp_twostep) - dimnames(AIC_exp_twostep) <- dimnames(f_tc_exp_twostep) - - AIC_exp_threestep <- lapply(f_tc_exp_threestep, AIC) - AIC_exp_threestep <- lapply(AIC_exp_threestep, round, 1) - dim(AIC_exp_threestep) <- dim(f_tc_exp_threestep) - dimnames(AIC_exp_threestep) <- dimnames(f_tc_exp_threestep) - - AIC_exp_fourstep <- lapply(f_tc_exp_fourstep, AIC) - AIC_exp_fourstep <- lapply(AIC_exp_fourstep, round, 1) - dim(AIC_exp_fourstep) <- dim(f_tc_exp_fourstep) - dimnames(AIC_exp_fourstep) <- dimnames(f_tc_exp_fourstep) - - AIC_exp_IRLS <- lapply(f_tc_exp_IRLS, AIC) - AIC_exp_IRLS <- lapply(AIC_exp_IRLS, round, 1) - dim(AIC_exp_IRLS) <- dim(f_tc_exp_IRLS) - dimnames(AIC_exp_IRLS) <- dimnames(f_tc_exp_IRLS) - - AIC_exp <- lapply(f_tc_exp, AIC) - dim(AIC_exp) <- dim(f_tc_exp) - dimnames(AIC_exp) <- dimnames(f_tc_exp) - unlist(AIC_exp["SFO", c(9, 11, 12)]) - expect_equivalent(round(unlist(AIC_exp["SFO", c(9, 11, 12)]), 1), - c(134.9, 125.5, 82.0)) -}) - + AIC_exp_d_3 <- lapply(f_tc_exp_d_3, AIC) + AIC_exp_d_3 <- lapply(AIC_exp_d_3, round, 1) + dim(AIC_exp_d_3) <- dim(f_tc_exp_d_3) + dimnames(AIC_exp_d_3) <- dimnames(f_tc_exp_d_3) + expect_known_output(AIC_exp_d_3, "AIC_exp_d_3.out") +}) diff --git a/vignettes/mkin_benchmarks.rda b/vignettes/mkin_benchmarks.rda index e7a1bed1..3e160a06 100644 Binary files a/vignettes/mkin_benchmarks.rda and b/vignettes/mkin_benchmarks.rda differ -- cgit v1.2.1