From b6027bbd157734e1c7f8c3ba6373451f5c85fc38 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Wed, 5 Jun 2019 15:16:59 +0200 Subject: Add error model algorithm to output --- R/mkinfit.R | 27 ++++++--- docs/articles/FOCUS_D.html | 13 +++-- docs/articles/FOCUS_L.html | 77 ++++++++++++++------------ docs/articles/mkin.html | 2 +- docs/articles/twa.html | 2 +- docs/articles/web_only/FOCUS_Z.html | 2 +- docs/articles/web_only/NAFTA_examples.html | 2 +- docs/articles/web_only/benchmarks.html | 24 ++++---- docs/articles/web_only/compiled_models.html | 12 ++-- docs/reference/Extract.mmkin.html | 8 +-- docs/reference/experimental_data_for_UBA.html | 66 +++++++++++++++++++++- docs/reference/mkinfit.html | 50 +++++++++-------- docs/reference/mkinmod.html | 2 +- docs/reference/mkinpredict.html | 6 +- docs/reference/mmkin.html | 4 +- docs/reference/summary.mkinfit.html | 11 ++-- vignettes/mkin_benchmarks.rda | Bin 874 -> 876 bytes 17 files changed, 198 insertions(+), 110 deletions(-) diff --git a/R/mkinfit.R b/R/mkinfit.R index 60697cb1..2af4e493 100644 --- a/R/mkinfit.R +++ b/R/mkinfit.R @@ -506,18 +506,23 @@ mkinfit <- function(mkinmod, observed, control = control, ...) fit$logLik <- - nlogLik.current + d_3_messages = c( + same = "Direct fitting and three-step fitting yield approximately the same likelihood", + threestep = "Three-step fitting yielded a higher likelihood than direct fitting", + direct = "Direct fitting yielded a higher likelihood than three-step fitting") if (error_model_algorithm == "d_3") { rel_diff <- abs((fit_direct$logLik - fit$logLik))/-mean(c(fit_direct$logLik, fit$logLik)) if (rel_diff < 0.0001) { - if (!quiet) { - message("Direct fitting and three-step fitting yield approximately the same likelihood") - } + if (!quiet) message(d_3_messages["same"]) + fit$d_3_message <- d_3_messages["same"] } else { if (fit$logLik > fit_direct$logLik) { - if (!quiet) message("Three-step fitting yielded a higher likelihood than direct fitting") + if (!quiet) message(d_3_messages["threestep"]) + fit$d_3_message <- d_3_messages["threestep"] } else { - if (!quiet) message("Direct fitting yielded a higher likelihood than three-step fitting") + if (!quiet) message(d_3_messages["direct"]) fit <- fit_direct + fit$d_3_message <- d_3_messages["direct"] } } } @@ -553,6 +558,7 @@ mkinfit <- function(mkinmod, observed, } } } + fit$error_model_algorithm <- error_model_algorithm # We include the error model in the parameter uncertainty analysis, also # for constant variance, to get a confidence interval for it @@ -725,6 +731,7 @@ summary.mkinfit <- function(object, data = TRUE, distimes = TRUE, alpha = 0.05, solution_type = object$solution_type, warning = object$warning, use_of_ff = object$mkinmod$use_of_ff, + error_model_algorithm = object$error_model_algorithm, df = c(p, rdf), cov.unscaled = covar, err_mod = object$err_mod, @@ -763,8 +770,9 @@ summary.mkinfit <- function(object, data = TRUE, distimes = TRUE, alpha = 0.05, ep <- endpoints(object) if (length(ep$ff) != 0) ans$ff <- ep$ff - if(distimes) ans$distimes <- ep$distimes - if(length(ep$SFORB) != 0) ans$SFORB <- ep$SFORB + if (distimes) ans$distimes <- ep$distimes + if (length(ep$SFORB) != 0) ans$SFORB <- ep$SFORB + if (!is.null(object$d_3_message)) ans$d_3_message <- object$d_3_message class(ans) <- c("summary.mkinfit", "summary.modFit") return(ans) } @@ -794,12 +802,15 @@ print.summary.mkinfit <- function(x, digits = max(3, getOption("digits") - 3), . cat("\nFitted using", x$calls, "model solutions performed in", x$time[["elapsed"]], "s\n") - cat("\nError model:\n") + cat("\nError model: ") cat(switch(x$err_mod, const = "Constant variance", obs = "Variance unique to each observed variable", tc = "Two-component variance function"), "\n") + cat("\nError model algorithm:", x$error_model_algorithm, "\n") + if (!is.null(x$d_3_message)) cat(x$d_3_message, "\n") + cat("\nStarting values for parameters to be optimised:\n") print(x$start) diff --git a/docs/articles/FOCUS_D.html b/docs/articles/FOCUS_D.html index 698ccebc..be1f40f5 100644 --- a/docs/articles/FOCUS_D.html +++ b/docs/articles/FOCUS_D.html @@ -88,7 +88,7 @@

Example evaluation of FOCUS Example Dataset D

Johannes Ranke

-

2019-06-04

+

2019-06-05

@@ -168,8 +168,8 @@
summary(fit)
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Tue Jun  4 15:03:18 2019 
-## Date of summary: Tue Jun  4 15:03:18 2019 
+## Date of fit:     Wed Jun  5 15:10:49 2019 
+## Date of summary: Wed Jun  5 15:10:50 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - k_parent_sink * parent - k_parent_m1 * parent
@@ -177,10 +177,11 @@
 ## 
 ## Model predictions using solution type deSolve 
 ## 
-## Fitted using 389 model solutions performed in 0.978 s
+## Fitted using 389 model solutions performed in 0.984 s
 ## 
-## Error model:
-## Constant variance 
+## Error model: Constant variance 
+## 
+## Error model algorithm: d_3 
 ## 
 ## Starting values for parameters to be optimised:
 ##                    value   type
diff --git a/docs/articles/FOCUS_L.html b/docs/articles/FOCUS_L.html
index 75b2cf10..4388edd2 100644
--- a/docs/articles/FOCUS_L.html
+++ b/docs/articles/FOCUS_L.html
@@ -88,7 +88,7 @@
       

Example evaluation of FOCUS Laboratory Data L1 to L3

Johannes Ranke

-

2019-06-04

+

2019-06-05

@@ -114,18 +114,19 @@ summary(m.L1.SFO)
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Tue Jun  4 15:03:20 2019 
-## Date of summary: Tue Jun  4 15:03:20 2019 
+## Date of fit:     Wed Jun  5 15:10:52 2019 
+## Date of summary: Wed Jun  5 15:10:52 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - k_parent_sink * parent
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 133 model solutions performed in 0.28 s
+## Fitted using 133 model solutions performed in 0.277 s
 ## 
-## Error model:
-## Constant variance 
+## Error model: Constant variance 
+## 
+## Error model algorithm: d_3 
 ## 
 ## Starting values for parameters to be optimised:
 ##                   value   type
@@ -215,8 +216,8 @@
 ## finite result is doubtful
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Tue Jun  4 15:03:22 2019 
-## Date of summary: Tue Jun  4 15:03:22 2019 
+## Date of fit:     Wed Jun  5 15:10:54 2019 
+## Date of summary: Wed Jun  5 15:10:54 2019 
 ## 
 ## 
 ## Warning: Optimisation did not converge:
@@ -228,10 +229,11 @@
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 899 model solutions performed in 1.868 s
+## Fitted using 899 model solutions performed in 1.877 s
+## 
+## Error model: Constant variance 
 ## 
-## Error model:
-## Constant variance 
+## Error model algorithm: d_3 
 ## 
 ## Starting values for parameters to be optimised:
 ##              value   type
@@ -319,18 +321,19 @@
 
summary(m.L2.FOMC, data = FALSE)
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Tue Jun  4 15:03:23 2019 
-## Date of summary: Tue Jun  4 15:03:23 2019 
+## Date of fit:     Wed Jun  5 15:10:55 2019 
+## Date of summary: Wed Jun  5 15:10:55 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.484 s
+## Fitted using 239 model solutions performed in 0.492 s
 ## 
-## Error model:
-## Constant variance 
+## Error model: Constant variance 
+## 
+## Error model algorithm: d_3 
 ## 
 ## Starting values for parameters to be optimised:
 ##              value   type
@@ -394,8 +397,8 @@
 
summary(m.L2.DFOP, data = FALSE)
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Tue Jun  4 15:03:25 2019 
-## Date of summary: Tue Jun  4 15:03:25 2019 
+## Date of fit:     Wed Jun  5 15:10:56 2019 
+## Date of summary: Wed Jun  5 15:10:56 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) *
@@ -404,10 +407,11 @@
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 572 model solutions performed in 1.193 s
+## Fitted using 572 model solutions performed in 1.183 s
+## 
+## Error model: Constant variance 
 ## 
-## Error model:
-## Constant variance 
+## Error model algorithm: d_3 
 ## 
 ## Starting values for parameters to be optimised:
 ##              value   type
@@ -493,8 +497,8 @@
 
summary(mm.L3[["DFOP", 1]])
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Tue Jun  4 15:03:26 2019 
-## Date of summary: Tue Jun  4 15:03:27 2019 
+## Date of fit:     Wed Jun  5 15:10:58 2019 
+## Date of summary: Wed Jun  5 15:10:58 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) *
@@ -503,10 +507,11 @@
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 373 model solutions performed in 0.767 s
+## Fitted using 373 model solutions performed in 0.773 s
 ## 
-## Error model:
-## Constant variance 
+## Error model: Constant variance 
+## 
+## Error model algorithm: d_3 
 ## 
 ## Starting values for parameters to be optimised:
 ##              value   type
@@ -598,8 +603,8 @@
 
summary(mm.L4[["SFO", 1]], data = FALSE)
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Tue Jun  4 15:03:27 2019 
-## Date of summary: Tue Jun  4 15:03:28 2019 
+## Date of fit:     Wed Jun  5 15:10:59 2019 
+## Date of summary: Wed Jun  5 15:10:59 2019 
 ## 
 ## Equations:
 ## d_parent/dt = - k_parent_sink * parent
@@ -608,8 +613,9 @@
 ## 
 ## Fitted using 142 model solutions performed in 0.288 s
 ## 
-## Error model:
-## Constant variance 
+## Error model: Constant variance 
+## 
+## Error model algorithm: d_3 
 ## 
 ## Starting values for parameters to be optimised:
 ##                  value   type
@@ -662,18 +668,19 @@
 
summary(mm.L4[["FOMC", 1]], data = FALSE)
## mkin version used for fitting:    0.9.49.5 
 ## R version used for fitting:       3.6.0 
-## Date of fit:     Tue Jun  4 15:03:28 2019 
-## Date of summary: Tue Jun  4 15:03:28 2019 
+## Date of fit:     Wed Jun  5 15:10:59 2019 
+## Date of summary: Wed Jun  5 15:10:59 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.449 s
+## Fitted using 224 model solutions performed in 0.453 s
+## 
+## Error model: Constant variance 
 ## 
-## Error model:
-## Constant variance 
+## Error model algorithm: d_3 
 ## 
 ## Starting values for parameters to be optimised:
 ##              value   type
diff --git a/docs/articles/mkin.html b/docs/articles/mkin.html
index 09b1b8ea..5977d642 100644
--- a/docs/articles/mkin.html
+++ b/docs/articles/mkin.html
@@ -88,7 +88,7 @@
       

Introduction to mkin

Johannes Ranke

-

2019-06-04

+

2019-06-05

diff --git a/docs/articles/twa.html b/docs/articles/twa.html index ede27942..f98026e7 100644 --- a/docs/articles/twa.html +++ b/docs/articles/twa.html @@ -88,7 +88,7 @@

Calculation of time weighted average concentrations with mkin

Johannes Ranke

-

2019-06-04

+

2019-06-05

diff --git a/docs/articles/web_only/FOCUS_Z.html b/docs/articles/web_only/FOCUS_Z.html index 555400df..542deb14 100644 --- a/docs/articles/web_only/FOCUS_Z.html +++ b/docs/articles/web_only/FOCUS_Z.html @@ -88,7 +88,7 @@

Example evaluation of FOCUS dataset Z

Johannes Ranke

-

2019-06-04

+

2019-06-05

diff --git a/docs/articles/web_only/NAFTA_examples.html b/docs/articles/web_only/NAFTA_examples.html index 7f3cc76b..4cd16437 100644 --- a/docs/articles/web_only/NAFTA_examples.html +++ b/docs/articles/web_only/NAFTA_examples.html @@ -88,7 +88,7 @@

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

Johannes Ranke

-

2019-06-04

+

2019-06-05

diff --git a/docs/articles/web_only/benchmarks.html b/docs/articles/web_only/benchmarks.html index 43f8d238..507bdb61 100644 --- a/docs/articles/web_only/benchmarks.html +++ b/docs/articles/web_only/benchmarks.html @@ -88,7 +88,7 @@

Benchmark timings for mkin on various systems

Johannes Ranke

-

2019-06-04

+

2019-06-05

@@ -202,77 +202,77 @@ ## 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.936 -## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 5.805 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 5.828 ## 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 20.545 -## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 35.748 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 35.869 ## 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.446 -## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 4.403 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 4.412 ## 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 15.335 -## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 30.613 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 30.497 ## 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 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 10.329 ## 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.635 -## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 2.546 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 2.548 ## 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.259 -## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 4.214 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 4.192 ## 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.737 -## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 7.871 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 7.827 ## 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 7.763 -## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 15.738 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 15.653 ## 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 3.427 -## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 7.763 +## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 7.762 ## 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 5.626 -## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 10.527
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.5 10.512
save(mkin_benchmarks, file = "~/git/mkin/vignettes/mkin_benchmarks.rda")
diff --git a/docs/articles/web_only/compiled_models.html b/docs/articles/web_only/compiled_models.html index f3062c66..5f0301fc 100644 --- a/docs/articles/web_only/compiled_models.html +++ b/docs/articles/web_only/compiled_models.html @@ -88,7 +88,7 @@

Performance benefit by using compiled model definitions in mkin

Johannes Ranke

-

2019-06-04

+

2019-06-05

@@ -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.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
+## 3     deSolve, compiled            3   3.041    1.000     3.039        0
+## 1 deSolve, not compiled            3  28.429    9.349    28.415        0
+## 2      Eigenvalue based            3   4.291    1.411     4.288        0
 ##   user.child sys.child
 ## 3          0         0
 ## 1          0         0
@@ -214,8 +214,8 @@
 ## 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   4.828    1.000     4.825        0
-## 1 deSolve, not compiled            3  53.153   11.009    53.125        0
+## 2     deSolve, compiled            3   4.927    1.000     4.924        0
+## 1 deSolve, not compiled            3  53.138   10.785    53.108        0
 ##   user.child sys.child
 ## 2          0         0
 ## 1          0         0
diff --git a/docs/reference/Extract.mmkin.html b/docs/reference/Extract.mmkin.html index 1d1da50e..37c0b361 100644 --- a/docs/reference/Extract.mmkin.html +++ b/docs/reference/Extract.mmkin.html @@ -172,16 +172,16 @@ cores = 1, quiet = TRUE) fits["FOMC", ]
#> dataset #> model B C -#> FOMC List,36 List,36 +#> FOMC List,37 List,37 #> attr(,"class") #> [1] "mmkin"
fits[, "B"]
#> dataset #> model B -#> SFO List,36 -#> FOMC List,36 +#> SFO List,37 +#> FOMC List,37 #> attr(,"class") #> [1] "mmkin"
fits["SFO", "B"]
#> dataset #> model B -#> SFO List,36 +#> SFO List,37 #> attr(,"class") #> [1] "mmkin"
head( diff --git a/docs/reference/experimental_data_for_UBA.html b/docs/reference/experimental_data_for_UBA.html index 3e8d20ef..bb94fd11 100644 --- a/docs/reference/experimental_data_for_UBA.html +++ b/docs/reference/experimental_data_for_UBA.html @@ -37,7 +37,30 @@ 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." /> + data protection regulations. +Preprocessing of data was performed based on the recommendations of the FOCUS + kinetics workgroup (FOCUS, 2014) as described below. +Datasets 1 and 2 are from the Renewal Assessment Report (RAR) for imazamox + (France, 2015, p. 15). For setting values reported as zero, an LOQ of 0.1 + was assumed. Metabolite residues reported for day zero were added to the + parent compound residues. +Datasets 3 and 4 are from the Renewal Assessment Report (RAR) for isofetamid + (Belgium, 2014, p. 8) and show the data for two different radiolabels. For + dataset 4, the value given for the metabolite in the day zero sampling + in replicate B was added to the parent compound, following the respective + FOCUS recommendation. +Dataset 5 is from the Renewal Assessment Report (RAR) for ethofumesate + (Austria, 2015, p. 16). +Datasets 6 to 10 are from the Renewal Assessment Report (RAR) for glyphosate + (Germany, 2013a, pages 8, 28, 50, 51). For the initial sampling, + the residues given for the metabolite were added to the parent + value, following the recommendation of the FOCUS kinetics workgroup. +Dataset 11 is from the Renewal Assessment Report (RAR) for 2,4-D + (Germany, 2013b, p. 644). Values reported as zero were set to NA, with + the exception of the day three sampling of metabolite A2, which was set + to one half of the LOD reported to be 1% AR. +Dataset 12 is from the Renewal Assessment Report (RAR) for thifensulfuron-methyl + (United Kingdom, 2014, p. 81)." /> @@ -139,6 +162,29 @@ 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.

+

Preprocessing of data was performed based on the recommendations of the FOCUS + kinetics workgroup (FOCUS, 2014) as described below.

+

Datasets 1 and 2 are from the Renewal Assessment Report (RAR) for imazamox + (France, 2015, p. 15). For setting values reported as zero, an LOQ of 0.1 + was assumed. Metabolite residues reported for day zero were added to the + parent compound residues.

+

Datasets 3 and 4 are from the Renewal Assessment Report (RAR) for isofetamid + (Belgium, 2014, p. 8) and show the data for two different radiolabels. For + dataset 4, the value given for the metabolite in the day zero sampling + in replicate B was added to the parent compound, following the respective + FOCUS recommendation.

+

Dataset 5 is from the Renewal Assessment Report (RAR) for ethofumesate + (Austria, 2015, p. 16).

+

Datasets 6 to 10 are from the Renewal Assessment Report (RAR) for glyphosate + (Germany, 2013a, pages 8, 28, 50, 51). For the initial sampling, + the residues given for the metabolite were added to the parent + value, following the recommendation of the FOCUS kinetics workgroup.

+

Dataset 11 is from the Renewal Assessment Report (RAR) for 2,4-D + (Germany, 2013b, p. 644). Values reported as zero were set to NA, with + the exception of the day three sampling of metabolite A2, which was set + to one half of the LOD reported to be 1% AR.

+

Dataset 12 is from the Renewal Assessment Report (RAR) for thifensulfuron-methyl + (United Kingdom, 2014, p. 81).

@@ -154,8 +200,24 @@

Source

-

Ranke (2019) Documentation of results obtained for the error model expertise + +

Austria (2015). Ethofumesate Renewal Assessment Report Volume 3 Annex B.8 (AS)

+

Belgium (2014). Isofetamid (IKF-5411) Draft Assessment Report Volume 3 Annex B.8 (AS)

+

France (2015). Imazamox Draft Renewal Assessment Report Volume 3 Annex B.8 (AS)

+

FOCUS (2014) “Generic guidance for Estimating Persistence and + Degradation Kinetics from Environmental Fate Studies on Pesticides in EU + Registration” Report of the FOCUS Work Group on Degradation Kinetics, + Version 1.1, 18 December 2014 + http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics

+

Germany (2013a). Renewal Assessment Report Glyphosate Volume 3 Annex B.8: Environmental Fate + and Behaviour

+

Germany (2013b). Renewal Assessment Report 2,4-D Volume 3 Annex B.8: Fate and behaviour in the + environment

+

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

+

United Kingdom (2014). Thifensulfuron-methyl - Annex B.8 (Volume 3) to the Report and Proposed + Decision of the United Kingdom made to the European Commission under Regulation (EC) No. + 1141/2010 for renewal of an active substance

Examples

diff --git a/docs/reference/mkinfit.html b/docs/reference/mkinfit.html index 8cabcb21..700b6805 100644 --- a/docs/reference/mkinfit.html +++ b/docs/reference/mkinfit.html @@ -399,18 +399,19 @@ Per default, parameters in the kinetic models are internally transformed in fit <- mkinfit("FOMC", FOCUS_2006_C, quiet = TRUE) summary(fit)
#> mkin version used for fitting: 0.9.49.5 #> R version used for fitting: 3.6.0 -#> Date of fit: Tue Jun 4 15:01:15 2019 -#> Date of summary: Tue Jun 4 15:01:15 2019 +#> Date of fit: Wed Jun 5 15:08:20 2019 +#> Date of summary: Wed Jun 5 15:08:20 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.461 s +#> Fitted using 222 model solutions performed in 0.469 s #> -#> Error model: -#> Constant variance +#> Error model: Constant variance +#> +#> Error model algorithm: d_3 #> #> Starting values for parameters to be optimised: #> value type @@ -480,7 +481,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.521 0.000 1.526
coef(fit)
#> NULL
#> $ff +#> 1.579 0.000 1.581
coef(fit)
#> NULL
#> $ff #> parent_sink parent_m1 m1_sink #> 0.485524 0.514476 1.000000 #> @@ -552,7 +553,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.093 0.000 1.093
coef(fit.deSolve)
#> NULL
endpoints(fit.deSolve)
#> $ff +#> 1.159 0.000 1.160
coef(fit.deSolve)
#> NULL
endpoints(fit.deSolve)
#> $ff #> parent_sink parent_m1 m1_sink #> 0.485524 0.514476 1.000000 #> @@ -584,8 +585,8 @@ Per default, parameters in the kinetic models are internally transformed in 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.5 #> R version used for fitting: 3.6.0 -#> Date of fit: Tue Jun 4 15:01:31 2019 -#> Date of summary: Tue Jun 4 15:01:31 2019 +#> Date of fit: Wed Jun 5 15:08:36 2019 +#> Date of summary: Wed Jun 5 15:08:36 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -593,10 +594,11 @@ 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.096 s +#> Fitted using 421 model solutions performed in 1.181 s +#> +#> Error model: Constant variance #> -#> Error model: -#> Constant variance +#> Error model algorithm: d_3 #> #> Starting values for parameters to be optimised: #> value type @@ -702,8 +704,8 @@ Per default, parameters in the kinetic models are internally transformed in #> 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.5 #> R version used for fitting: 3.6.0 -#> Date of fit: Tue Jun 4 15:01:34 2019 -#> Date of summary: Tue Jun 4 15:01:34 2019 +#> Date of fit: Wed Jun 5 15:08:39 2019 +#> Date of summary: Wed Jun 5 15:08:39 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -711,10 +713,12 @@ Per default, parameters in the kinetic models are internally transformed in #> #> Model predictions using solution type deSolve #> -#> Fitted using 979 model solutions performed in 2.603 s +#> Fitted using 979 model solutions performed in 2.672 s #> -#> Error model: -#> Variance unique to each observed variable +#> Error model: Variance unique to each observed variable +#> +#> Error model algorithm: d_3 +#> Direct fitting and three-step fitting yield approximately the same likelihood #> #> Starting values for parameters to be optimised: #> value type @@ -832,8 +836,8 @@ Per default, parameters in the kinetic models are internally transformed in #> 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: Tue Jun 4 15:01:43 2019 -#> Date of summary: Tue Jun 4 15:01:43 2019 +#> Date of fit: Wed Jun 5 15:08:50 2019 +#> Date of summary: Wed Jun 5 15:08:50 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -841,10 +845,12 @@ Per default, parameters in the kinetic models are internally transformed in #> #> Model predictions using solution type deSolve #> -#> Fitted using 2289 model solutions performed in 9.499 s +#> Fitted using 2289 model solutions performed in 10.959 s +#> +#> Error model: Two-component variance function #> -#> Error model: -#> Two-component variance function +#> Error model algorithm: d_3 +#> Direct fitting and three-step fitting yield approximately the same likelihood #> #> Starting values for parameters to be optimised: #> value type diff --git a/docs/reference/mkinmod.html b/docs/reference/mkinmod.html index 2c5f056e..ddab656c 100644 --- a/docs/reference/mkinmod.html +++ b/docs/reference/mkinmod.html @@ -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 filebbe6b539c4f.c 2> filebbe6b539c4f.c.err.txt +#> /usr/lib/R/bin/R CMD SHLIB file50a55c3108b2.c 2> file50a55c3108b2.c.err.txt #> Program source: #> 1: #include <R.h> #> 2: diff --git a/docs/reference/mkinpredict.html b/docs/reference/mkinpredict.html index f339b26a..7e71ec27 100644 --- a/docs/reference/mkinpredict.html +++ b/docs/reference/mkinpredict.html @@ -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.003
system.time( +#> 0.004 0.000 0.004
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.002
system.time( +#> 0.003 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.022
+#> 0.022 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 diff --git a/docs/reference/mmkin.html b/docs/reference/mmkin.html index a830646f..61a029fc 100644 --- a/docs/reference/mmkin.html +++ b/docs/reference/mmkin.html @@ -194,8 +194,8 @@ time_1 <- system.time(fits.4 <- mmkin(models, datasets, cores = 1, quiet = TRUE)) time_default
#> User System verstrichen -#> 0.046 0.032 5.094
time_1
#> User System verstrichen -#> 19.798 0.004 19.814
+#> 0.038 0.050 6.779
time_1
#> User System verstrichen +#> 27.209 0.004 27.278
endpoints(fits.0[["SFO_lin", 2]])
#> $ff #> parent_M1 parent_sink M1_M2 M1_sink #> 0.7340481 0.2659519 0.7505684 0.2494316 diff --git a/docs/reference/summary.mkinfit.html b/docs/reference/summary.mkinfit.html index ffe1edb1..68b36542 100644 --- a/docs/reference/summary.mkinfit.html +++ b/docs/reference/summary.mkinfit.html @@ -211,18 +211,19 @@

Examples

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: Tue Jun 4 15:03:02 2019 -#> Date of summary: Tue Jun 4 15:03:02 2019 +#> Date of fit: Wed Jun 5 15:10:34 2019 +#> Date of summary: Wed Jun 5 15:10:34 2019 #> #> Equations: #> d_parent/dt = - k_parent_sink * parent #> #> Model predictions using solution type analytical #> -#> Fitted using 131 model solutions performed in 0.266 s +#> Fitted using 131 model solutions performed in 0.268 s #> -#> Error model: -#> Constant variance +#> Error model: Constant variance +#> +#> Error model algorithm: d_3 #> #> Starting values for parameters to be optimised: #> value type diff --git a/vignettes/mkin_benchmarks.rda b/vignettes/mkin_benchmarks.rda index 3e160a06..17cf86ce 100644 Binary files a/vignettes/mkin_benchmarks.rda and b/vignettes/mkin_benchmarks.rda differ -- cgit v1.2.1