aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJohannes Ranke <jranke@uni-bremen.de>2020-05-07 22:13:33 +0200
committerJohannes Ranke <jranke@uni-bremen.de>2020-05-07 22:14:19 +0200
commit92bd33824bde6b6b21bfc7e30953092a74d3cce5 (patch)
treebb2e08ef15d8a4f4f7b04cf4f5312ec861ec1d1c /tests
parent67c8163487e776e9a378c9dfcd39c74f6e6bc507 (diff)
Another overhaul of analytical solutions
Still in preparation for analytical solutions of coupled models
Diffstat (limited to 'tests')
-rw-r--r--tests/testthat/FOCUS_2006_D.csf2
-rw-r--r--tests/testthat/SFO_SFO_printed.txt6
-rw-r--r--tests/testthat/summary_DFOP_FOCUS_C.txt5
-rw-r--r--tests/testthat/summary_DFOP_FOCUS_D_deSolve.txt70
-rw-r--r--tests/testthat/summary_DFOP_FOCUS_D_eigen.txt60
-rw-r--r--tests/testthat/test_SFORB.R8
-rw-r--r--tests/testthat/test_nlme.R12
7 files changed, 90 insertions, 73 deletions
diff --git a/tests/testthat/FOCUS_2006_D.csf b/tests/testthat/FOCUS_2006_D.csf
index fa96de74..7c29ab46 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: 2020-05-06
+Date: 2020-05-07
Optimiser: IRLS
[Data]
diff --git a/tests/testthat/SFO_SFO_printed.txt b/tests/testthat/SFO_SFO_printed.txt
index d0402fc0..a3a04be2 100644
--- a/tests/testthat/SFO_SFO_printed.txt
+++ b/tests/testthat/SFO_SFO_printed.txt
@@ -1,5 +1,5 @@
<mkinmod> model generated with
-Use of formation fractions $use_of_ff: min
+Use of formation fractions $use_of_ff: max
Specification $spec:
$parent
$type: SFO; $to: m1; $sink: TRUE
@@ -7,5 +7,5 @@ $m1
$type: SFO; $sink: TRUE
Coefficient matrix $coefmat available
Differential equations:
-d_parent/dt = - k_parent_sink * parent - k_parent_m1 * parent
-d_m1/dt = + k_parent_m1 * parent - k_m1_sink * m1
+d_parent/dt = - k_parent * parent
+d_m1/dt = + f_parent_to_m1 * k_parent * parent - k_m1 * m1
diff --git a/tests/testthat/summary_DFOP_FOCUS_C.txt b/tests/testthat/summary_DFOP_FOCUS_C.txt
index 14e00f62..4f96c8d3 100644
--- a/tests/testthat/summary_DFOP_FOCUS_C.txt
+++ b/tests/testthat/summary_DFOP_FOCUS_C.txt
@@ -33,6 +33,11 @@ g_ilr 0.000000 -Inf Inf
Fixed parameter values:
None
+Results:
+
+ AIC BIC logLik
+ 29.02372 30.00984 -9.511861
+
Optimised, transformed parameters with symmetric confidence intervals:
Estimate Std. Error Lower Upper
parent_0 85.0000 0.66620 83.1500 86.8500
diff --git a/tests/testthat/summary_DFOP_FOCUS_D_deSolve.txt b/tests/testthat/summary_DFOP_FOCUS_D_deSolve.txt
index 66ab9348..fe697794 100644
--- a/tests/testthat/summary_DFOP_FOCUS_D_deSolve.txt
+++ b/tests/testthat/summary_DFOP_FOCUS_D_deSolve.txt
@@ -4,8 +4,8 @@ Date of fit: Dummy date for testing
Date of summary: Dummy date for testing
Equations:
-d_parent/dt = - k_parent_sink * parent - k_parent_m1 * parent
-d_m1/dt = + k_parent_m1 * parent - k_m1_sink * m1
+d_parent/dt = - k_parent * parent
+d_m1/dt = + f_parent_to_m1 * k_parent * parent - k_m1 * m1
Model predictions using solution type deSolve
@@ -16,30 +16,35 @@ Error model: Constant variance
Error model algorithm: OLS
Starting values for parameters to be optimised:
- value type
-parent_0 100.7500 state
-k_parent_sink 0.1000 deparm
-k_parent_m1 0.1001 deparm
-k_m1_sink 0.1002 deparm
+ value type
+parent_0 100.7500 state
+k_parent 0.1000 deparm
+k_m1 0.1001 deparm
+f_parent_to_m1 0.5000 deparm
Starting values for the transformed parameters actually optimised:
- value lower upper
-parent_0 100.750000 -Inf Inf
-log_k_parent_sink -2.302585 -Inf Inf
-log_k_parent_m1 -2.301586 -Inf Inf
-log_k_m1_sink -2.300587 -Inf Inf
+ 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
Fixed parameter values:
value type
m1_0 0 state
+Results:
+
+ AIC BIC logLik
+ 204.4486 212.6365 -97.22429
+
Optimised, transformed parameters with symmetric confidence intervals:
- Estimate Std. Error Lower Upper
-parent_0 99.600 1.57000 96.400 102.800
-log_k_parent_sink -3.038 0.07626 -3.193 -2.883
-log_k_parent_m1 -2.980 0.04033 -3.062 -2.898
-log_k_m1_sink -5.248 0.13320 -5.518 -4.977
-sigma 3.126 0.35850 2.396 3.855
+ Estimate Std. Error Lower Upper
+parent_0 99.60000 1.57000 96.40000 102.8000
+log_k_parent -2.31600 0.04087 -2.39900 -2.2330
+log_k_m1 -5.24800 0.13320 -5.51800 -4.9770
+f_parent_ilr_1 0.04096 0.06312 -0.08746 0.1694
+sigma 3.12600 0.35850 2.39600 3.8550
Parameter correlation:
NULL
@@ -48,24 +53,23 @@ Backtransformed parameters:
Confidence intervals for internally transformed parameters are asymmetric.
t-test (unrealistically) based on the assumption of normal distribution
for estimators of untransformed parameters.
- Estimate t value Pr(>t) Lower Upper
-parent_0 99.600000 63.430 2.298e-36 96.400000 1.028e+02
-k_parent_sink 0.047920 13.110 6.126e-15 0.041030 5.596e-02
-k_parent_m1 0.050780 24.800 3.269e-23 0.046780 5.512e-02
-k_m1_sink 0.005261 7.510 6.165e-09 0.004012 6.898e-03
-sigma 3.126000 8.718 2.235e-10 2.396000 3.855e+00
+ Estimate t value Pr(>t) Lower Upper
+parent_0 99.600000 63.430 2.298e-36 96.400000 1.028e+02
+k_parent 0.098700 24.470 4.955e-23 0.090820 1.073e-01
+k_m1 0.005261 7.510 6.165e-09 0.004012 6.898e-03
+f_parent_to_m1 0.514500 23.070 3.104e-22 0.469100 5.596e-01
+sigma 3.126000 8.718 2.235e-10 2.396000 3.855e+00
FOCUS Chi2 error levels in percent:
err.min n.optim df
All data 6.398 4 15
-parent 6.827 3 6
-m1 4.490 1 9
+parent 6.459 2 7
+m1 4.690 2 8
Resulting formation fractions:
ff
-parent_sink 0.4855
parent_m1 0.5145
-m1_sink 1.0000
+parent_sink 0.4855
Estimated disappearance times:
DT50 DT90
@@ -78,10 +82,10 @@ Data:
0 parent 102.04 99.59848 2.442e+00
1 parent 93.50 90.23787 3.262e+00
1 parent 92.50 90.23787 2.262e+00
- 3 parent 63.23 74.07320 -1.084e+01
- 3 parent 68.99 74.07320 -5.083e+00
- 7 parent 52.32 49.91207 2.408e+00
- 7 parent 55.13 49.91207 5.218e+00
+ 3 parent 63.23 74.07319 -1.084e+01
+ 3 parent 68.99 74.07319 -5.083e+00
+ 7 parent 52.32 49.91206 2.408e+00
+ 7 parent 55.13 49.91206 5.218e+00
14 parent 27.27 25.01257 2.257e+00
14 parent 26.64 25.01257 1.627e+00
21 parent 11.50 12.53462 -1.035e+00
@@ -91,7 +95,7 @@ Data:
50 parent 0.69 0.71624 -2.624e-02
50 parent 0.63 0.71624 -8.624e-02
75 parent 0.05 0.06074 -1.074e-02
- 75 parent 0.06 0.06074 -7.382e-04
+ 75 parent 0.06 0.06074 -7.381e-04
1 m1 4.84 4.80296 3.704e-02
1 m1 5.64 4.80296 8.370e-01
3 m1 12.91 13.02400 -1.140e-01
diff --git a/tests/testthat/summary_DFOP_FOCUS_D_eigen.txt b/tests/testthat/summary_DFOP_FOCUS_D_eigen.txt
index 1626c5da..6ddbc1ab 100644
--- a/tests/testthat/summary_DFOP_FOCUS_D_eigen.txt
+++ b/tests/testthat/summary_DFOP_FOCUS_D_eigen.txt
@@ -4,8 +4,8 @@ Date of fit: Dummy date for testing
Date of summary: Dummy date for testing
Equations:
-d_parent/dt = - k_parent_sink * parent - k_parent_m1 * parent
-d_m1/dt = + k_parent_m1 * parent - k_m1_sink * m1
+d_parent/dt = - k_parent * parent
+d_m1/dt = + f_parent_to_m1 * k_parent * parent - k_m1 * m1
Model predictions using solution type eigen
@@ -16,30 +16,35 @@ Error model: Constant variance
Error model algorithm: OLS
Starting values for parameters to be optimised:
- value type
-parent_0 100.7500 state
-k_parent_sink 0.1000 deparm
-k_parent_m1 0.1001 deparm
-k_m1_sink 0.1002 deparm
+ value type
+parent_0 100.7500 state
+k_parent 0.1000 deparm
+k_m1 0.1001 deparm
+f_parent_to_m1 0.5000 deparm
Starting values for the transformed parameters actually optimised:
- value lower upper
-parent_0 100.750000 -Inf Inf
-log_k_parent_sink -2.302585 -Inf Inf
-log_k_parent_m1 -2.301586 -Inf Inf
-log_k_m1_sink -2.300587 -Inf Inf
+ 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
Fixed parameter values:
value type
m1_0 0 state
+Results:
+
+ AIC BIC logLik
+ 204.4486 212.6365 -97.22429
+
Optimised, transformed parameters with symmetric confidence intervals:
- Estimate Std. Error Lower Upper
-parent_0 99.600 1.57000 96.400 102.800
-log_k_parent_sink -3.038 0.07626 -3.193 -2.883
-log_k_parent_m1 -2.980 0.04033 -3.062 -2.898
-log_k_m1_sink -5.248 0.13320 -5.518 -4.977
-sigma 3.126 0.35850 2.396 3.855
+ Estimate Std. Error Lower Upper
+parent_0 99.60000 1.57000 96.40000 102.8000
+log_k_parent -2.31600 0.04087 -2.39900 -2.2330
+log_k_m1 -5.24800 0.13320 -5.51800 -4.9770
+f_parent_ilr_1 0.04096 0.06312 -0.08746 0.1694
+sigma 3.12600 0.35850 2.39600 3.8550
Parameter correlation:
NULL
@@ -48,24 +53,23 @@ Backtransformed parameters:
Confidence intervals for internally transformed parameters are asymmetric.
t-test (unrealistically) based on the assumption of normal distribution
for estimators of untransformed parameters.
- Estimate t value Pr(>t) Lower Upper
-parent_0 99.600000 63.430 2.298e-36 96.400000 1.028e+02
-k_parent_sink 0.047920 13.110 6.126e-15 0.041030 5.596e-02
-k_parent_m1 0.050780 24.800 3.269e-23 0.046780 5.512e-02
-k_m1_sink 0.005261 7.510 6.165e-09 0.004012 6.898e-03
-sigma 3.126000 8.718 2.235e-10 2.396000 3.855e+00
+ Estimate t value Pr(>t) Lower Upper
+parent_0 99.600000 63.430 2.298e-36 96.400000 1.028e+02
+k_parent 0.098700 24.470 4.955e-23 0.090820 1.073e-01
+k_m1 0.005261 7.510 6.165e-09 0.004012 6.898e-03
+f_parent_to_m1 0.514500 23.070 3.104e-22 0.469100 5.596e-01
+sigma 3.126000 8.718 2.235e-10 2.396000 3.855e+00
FOCUS Chi2 error levels in percent:
err.min n.optim df
All data 6.398 4 15
-parent 6.827 3 6
-m1 4.490 1 9
+parent 6.459 2 7
+m1 4.690 2 8
Resulting formation fractions:
ff
-parent_sink 0.4855
parent_m1 0.5145
-m1_sink 1.0000
+parent_sink 0.4855
Estimated disappearance times:
DT50 DT90
diff --git a/tests/testthat/test_SFORB.R b/tests/testthat/test_SFORB.R
index ad9881a8..4fb736ec 100644
--- a/tests/testthat/test_SFORB.R
+++ b/tests/testthat/test_SFORB.R
@@ -15,16 +15,20 @@ test_that("Fitting the SFORB model is equivalent to fitting DFOP", {
use_of_ff = "max", quiet = TRUE)
SFORB_SFO <- mkinmod(parent = mkinsub("SFORB", "M1"),
M1 = mkinsub("SFO"),
+ use_of_ff = "min", quiet = TRUE)
+ SFORB_SFO_ff <- mkinmod(parent = mkinsub("SFORB", "M1"),
+ M1 = mkinsub("SFO"),
use_of_ff = "max", quiet = TRUE)
- SFORB_SFO$coefmat
-
f_dfop_sfo <- mkinfit(DFOP_SFO, DFOP_par_c, quiet = TRUE)
f_sforb_sfo <- mkinfit(SFORB_SFO, DFOP_par_c, quiet = TRUE)
+ f_sforb_sfo_ff <- mkinfit(SFORB_SFO_ff, DFOP_par_c, quiet = TRUE)
f_sforb_sfo_eigen <- mkinfit(SFORB_SFO, DFOP_par_c, solution_type = "eigen", quiet = TRUE)
expect_equivalent(endpoints(f_sforb_sfo)$distimes, endpoints(f_dfop_sfo)$distimes,
tolerance = 1e-6)
+ expect_equivalent(endpoints(f_sforb_sfo_ff)$distimes, endpoints(f_dfop_sfo)$distimes,
+ tolerance = 1e-6)
expect_equivalent(endpoints(f_sforb_sfo_eigen)$distimes, endpoints(f_dfop_sfo)$distimes,
tolerance = 1e-6)
})
diff --git a/tests/testthat/test_nlme.R b/tests/testthat/test_nlme.R
index e5e19c60..31fb19de 100644
--- a/tests/testthat/test_nlme.R
+++ b/tests/testthat/test_nlme.R
@@ -2,20 +2,21 @@ context("Nonlinear mixed-effects models")
library(nlme)
+sampling_times = c(0, 1, 3, 7, 14, 28, 60, 90, 120)
+
test_that("nlme_function works correctly", {
- sampling_times = c(0, 1, 3, 7, 14, 28, 60, 90, 120)
m_SFO <- mkinmod(parent = mkinsub("SFO"))
d_SFO_1 <- mkinpredict(m_SFO,
- c(k_parent_sink = 0.1),
+ c(k_parent = 0.1),
c(parent = 98), sampling_times)
d_SFO_1_long <- mkin_wide_to_long(d_SFO_1, time = "time")
d_SFO_2 <- mkinpredict(m_SFO,
- c(k_parent_sink = 0.05),
+ c(k_parent = 0.05),
c(parent = 102), sampling_times)
d_SFO_2_long <- mkin_wide_to_long(d_SFO_2, time = "time")
d_SFO_3 <- mkinpredict(m_SFO,
- c(k_parent_sink = 0.02),
+ c(k_parent = 0.02),
c(parent = 103), sampling_times)
d_SFO_3_long <- mkin_wide_to_long(d_SFO_3, time = "time")
@@ -33,7 +34,6 @@ test_that("nlme_function works correctly", {
# The following assignment was introduced for nlme as evaluated by testthat
# to find the function
assign("nlme_f", nlme_f, pos = globalenv())
- assign("sampling_times", sampling_times, pos = globalenv())
m_nlme_raw <- nlme(value ~ SSasymp(time, 0, parent_0, log_k_parent_sink),
data = grouped_data,
@@ -101,7 +101,7 @@ test_that("nlme_function works correctly in other cases", {
SFO <- mkinmod(parent = mkinsub("SFO"))
pred_sfo <- function(k) {
mkinpredict(SFO,
- c(k_parent_sink = k),
+ c(k_parent = k),
c(parent = 100),
sampling_times)
}

Contact - Imprint