aboutsummaryrefslogtreecommitdiff
path: root/vignettes/web_only
diff options
context:
space:
mode:
authorJohannes Ranke <jranke@uni-bremen.de>2019-04-04 15:42:23 +0200
committerJohannes Ranke <jranke@uni-bremen.de>2019-04-04 17:21:13 +0200
commit7a1d3d031aa23fce723ac4f4c8e4bb5d64959447 (patch)
tree00eaa46526a27656ca0cfabf976a4a65c8a06a33 /vignettes/web_only
parent7e643cf3585be1e4fb758c6bf40e807616767f5a (diff)
Direct error model fitting works
- No IRLS required - Removed optimization algorithms other than Port - Removed the dependency on FME - Fitting the error model 'obs' is much faster for the FOCUS_2006_D dataset and the FOMC_SFO model (1 second versus 3.4 seconds) - Vignettes build slower. Compiled models needs 3 minutes instead of 1.5 - For other vignettes, the trend is less clear. Some fits are faster, even for error_model = "const". FOCUS_Z is faster (34.9 s versus 44.1 s) - Standard errors and confidence intervals are slightly smaller - Removed code for plotting during the fit, as I hardly ever used it - Merged the two cost functions (using transformed and untransformed parameters) into one log-likelihood function
Diffstat (limited to 'vignettes/web_only')
-rw-r--r--vignettes/web_only/compiled_models.Rmd2
-rw-r--r--vignettes/web_only/compiled_models.html92
2 files changed, 80 insertions, 14 deletions
diff --git a/vignettes/web_only/compiled_models.Rmd b/vignettes/web_only/compiled_models.Rmd
index ae283238..26d86811 100644
--- a/vignettes/web_only/compiled_models.Rmd
+++ b/vignettes/web_only/compiled_models.Rmd
@@ -58,7 +58,7 @@ if (require(rbenchmark)) {
factor_SFO_SFO <- round(b.1["1", "relative"])
} else {
factor_SFO_SFO <- NA
- print("R package benchmark is not available")
+ print("R package rbenchmark is not available")
}
```
diff --git a/vignettes/web_only/compiled_models.html b/vignettes/web_only/compiled_models.html
index 8b4f3955..366161ee 100644
--- a/vignettes/web_only/compiled_models.html
+++ b/vignettes/web_only/compiled_models.html
@@ -11,7 +11,7 @@
<meta name="author" content="Johannes Ranke" />
-<meta name="date" content="2018-09-14" />
+<meta name="date" content="2019-04-04" />
<title>Performance benefit by using compiled model definitions in mkin</title>
@@ -1408,9 +1408,15 @@ img {
.tabbed-pane {
padding-top: 12px;
}
+.html-widget {
+ margin-bottom: 20px;
+}
button.code-folding-btn:focus {
outline: none;
}
+summary {
+ display: list-item;
+}
</style>
@@ -1418,10 +1424,71 @@ button.code-folding-btn:focus {
<div class="container-fluid main-container">
<!-- tabsets -->
+
+<style type="text/css">
+.tabset-dropdown > .nav-tabs {
+ display: inline-table;
+ max-height: 500px;
+ min-height: 44px;
+ overflow-y: auto;
+ background: white;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+}
+
+.tabset-dropdown > .nav-tabs > li.active:before {
+ content: "";
+ font-family: 'Glyphicons Halflings';
+ display: inline-block;
+ padding: 10px;
+ border-right: 1px solid #ddd;
+}
+
+.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before {
+ content: "";
+ border: none;
+}
+
+.tabset-dropdown > .nav-tabs.nav-tabs-open:before {
+ content: "";
+ font-family: 'Glyphicons Halflings';
+ display: inline-block;
+ padding: 10px;
+ border-right: 1px solid #ddd;
+}
+
+.tabset-dropdown > .nav-tabs > li.active {
+ display: block;
+}
+
+.tabset-dropdown > .nav-tabs > li > a,
+.tabset-dropdown > .nav-tabs > li > a:focus,
+.tabset-dropdown > .nav-tabs > li > a:hover {
+ border: none;
+ display: inline-block;
+ border-radius: 4px;
+}
+
+.tabset-dropdown > .nav-tabs.nav-tabs-open > li {
+ display: block;
+ float: none;
+}
+
+.tabset-dropdown > .nav-tabs > li {
+ display: none;
+}
+</style>
+
<script>
$(document).ready(function () {
window.buildTabsets("TOC");
});
+
+$(document).ready(function () {
+ $('.tabset-dropdown > .nav-tabs > li').click(function () {
+ $(this).parent().toggleClass('nav-tabs-open')
+ });
+});
</script>
<!-- code folding -->
@@ -1436,7 +1503,6 @@ $(document).ready(function () {
-
<script>
$(document).ready(function () {
@@ -1548,7 +1614,7 @@ div.tocify {
<h1 class="title toc-ignore">Performance benefit by using compiled model definitions in mkin</h1>
<h4 class="author"><em>Johannes Ranke</em></h4>
-<h4 class="date"><em>2018-09-14</em></h4>
+<h4 class="date"><em>2019-04-04</em></h4>
</div>
@@ -1580,18 +1646,18 @@ SFO_SFO &lt;- mkinmod(
factor_SFO_SFO &lt;- round(b.1[&quot;1&quot;, &quot;relative&quot;])
} else {
factor_SFO_SFO &lt;- NA
- print(&quot;R package benchmark is not available&quot;)
+ print(&quot;R package rbenchmark is not available&quot;)
}</code></pre>
<pre><code>## Loading required package: rbenchmark</code></pre>
<pre><code>## test replications elapsed relative user.self sys.self
-## 3 deSolve, compiled 3 2.180 1.000 2.179 0
-## 1 deSolve, not compiled 3 16.710 7.665 16.702 0
-## 2 Eigenvalue based 3 2.721 1.248 2.719 0
+## 3 deSolve, compiled 3 3.533 1.000 3.531 0
+## 1 deSolve, not compiled 3 46.050 13.034 46.030 0
+## 2 Eigenvalue based 3 5.068 1.434 5.066 0
## user.child sys.child
## 3 0 0
## 1 0 0
## 2 0 0</code></pre>
-<p>We see that using the compiled model is by a factor of around 8 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs.</p>
+<p>We see that using the compiled model is by a factor of around 13 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs.</p>
</div>
<div id="model-that-can-not-be-solved-with-eigenvalues" class="section level2">
<h2>Model that can not be solved with Eigenvalues</h2>
@@ -1614,14 +1680,14 @@ SFO_SFO &lt;- mkinmod(
}</code></pre>
<pre><code>## Successfully compiled differential equation model from auto-generated C code.</code></pre>
<pre><code>## test replications elapsed relative user.self sys.self
-## 2 deSolve, compiled 3 3.703 1.000 3.700 0
-## 1 deSolve, not compiled 3 34.789 9.395 34.772 0
+## 2 deSolve, compiled 3 4.934 1.000 4.931 0
+## 1 deSolve, not compiled 3 72.993 14.794 72.961 0
## user.child sys.child
## 2 0 0
## 1 0 0</code></pre>
-<p>Here we get a performance benefit of a factor of 9 using the version of the differential equation model compiled from C code!</p>
-<p>This vignette was built with mkin 0.9.47.5 on</p>
-<pre><code>## R version 3.5.1 (2018-07-02)
+<p>Here we get a performance benefit of a factor of 15 using the version of the differential equation model compiled from C code!</p>
+<p>This vignette was built with mkin 0.9.49.1 on</p>
+<pre><code>## R version 3.5.3 (2019-03-11)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Debian GNU/Linux 9 (stretch)</code></pre>
<pre><code>## CPU model: AMD Ryzen 7 1700 Eight-Core Processor</code></pre>

Contact - Imprint