aboutsummaryrefslogblamecommitdiff
path: root/docs/dev/reference/saem.html
blob: 26f4c3e37bf773954e9b9526e73ccd9ded56d094 (plain) (tree)










































                                                                                                                                                                                                             

                                                                                







































































































                                                                                                                                                                                                    

                                                                                                         























































                                                                                                                                                                                                                                                                                                                                                                                   

                                                                                                                             








                                                                                                                                                    


                                                                                                 









                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
                                    

                               
                                                             


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
                                    

                               
                                                                                                                                                                                                                                                                                                                                     
                                                              
                                    

                               
                                                                                                                                                                                                                                                                                                                                     
                                                              
                                    

                               
                                                             
                                                                                                       






                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      


                                                                                                                                                                                                                                                                                                                    
                                    

                               
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    


                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                 













                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
                                    

                               
                                                                                                                                                                                                                                                                                                                                      
                                                              
                                    

                               






















































































                                                                                                                                                                                                                                                                                                                     

                                                                                                  

                                                                                 




























                                                                                
<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html lang="en">
  <head>
  <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Fit nonlinear mixed models with SAEM — saem • mkin</title>


<!-- jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<!-- Bootstrap -->

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous" />

<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script>

<!-- bootstrap-toc -->
<link rel="stylesheet" href="../bootstrap-toc.css">
<script src="../bootstrap-toc.js"></script>

<!-- Font Awesome icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous" />

<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script>

<!-- headroom.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script>

<!-- pkgdown -->
<link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script>




<meta property="og:title" content="Fit nonlinear mixed models with SAEM — saem" />
<meta property="og:description" content="This function uses saemix::saemix() as a backend for fitting nonlinear mixed
effects models created from mmkin row objects using the Stochastic Approximation
Expectation Maximisation algorithm (SAEM)." />


<meta name="robots" content="noindex">

<!-- mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>

<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->



  </head>

  <body data-spy="scroll" data-target="#toc">
    <div class="container template-reference-topic">
      <header>
      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <span class="navbar-brand">
        <a class="navbar-link" href="../index.html">mkin</a>
        <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">0.9.50.4</span>
      </span>
    </div>

    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li>
  <a href="../reference/index.html">Functions and data</a>
</li>
<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
    Articles
     
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu" role="menu">
    <li>
      <a href="../articles/mkin.html">Introduction to mkin</a>
    </li>
    <li>
      <a href="../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a>
    </li>
    <li>
      <a href="../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a>
    </li>
    <li>
      <a href="../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a>
    </li>
    <li>
      <a href="../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a>
    </li>
    <li>
      <a href="../articles/twa.html">Calculation of time weighted average concentrations with mkin</a>
    </li>
    <li>
      <a href="../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a>
    </li>
    <li>
      <a href="../articles/web_only/benchmarks.html">Some benchmark timings</a>
    </li>
  </ul>
</li>
<li>
  <a href="../news/index.html">News</a>
</li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li>
  <a href="https://github.com/jranke/mkin/">
    <span class="fab fa fab fa-github fa-lg"></span>
     
  </a>
</li>
      </ul>
      
    </div><!--/.nav-collapse -->
  </div><!--/.container -->
</div><!--/.navbar -->

      

      </header>

<div class="row">
  <div class="col-md-9 contents">
    <div class="page-header">
    <h1>Fit nonlinear mixed models with SAEM</h1>
    <small class="dont-index">Source: <a href='https://github.com/jranke/mkin/blob/master/R/saemix.R'><code>R/saemix.R</code></a></small>
    <div class="hidden name"><code>saem.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>This function uses <code><a href='https://rdrr.io/pkg/saemix/man/saemix.html'>saemix::saemix()</a></code> as a backend for fitting nonlinear mixed
effects models created from <a href='mmkin.html'>mmkin</a> row objects using the Stochastic Approximation
Expectation Maximisation algorithm (SAEM).</p>
    </div>

    <pre class="usage"><span class='fu'>saem</span><span class='op'>(</span><span class='va'>object</span>, <span class='va'>control</span>, <span class='va'>...</span><span class='op'>)</span>

<span class='co'># S3 method for mmkin</span>
<span class='fu'>saem</span><span class='op'>(</span>
  <span class='va'>object</span>,
  control <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/list.html'>list</a></span><span class='op'>(</span>displayProgress <span class='op'>=</span> <span class='cn'>FALSE</span>, print <span class='op'>=</span> <span class='cn'>FALSE</span>, save <span class='op'>=</span> <span class='cn'>FALSE</span>, save.graphs <span class='op'>=</span>
    <span class='cn'>FALSE</span><span class='op'>)</span>,
  cores <span class='op'>=</span> <span class='fl'>1</span>,
  verbose <span class='op'>=</span> <span class='cn'>FALSE</span>,
  suppressPlot <span class='op'>=</span> <span class='cn'>TRUE</span>,
  <span class='va'>...</span>
<span class='op'>)</span>

<span class='fu'>saemix_model</span><span class='op'>(</span><span class='va'>object</span>, cores <span class='op'>=</span> <span class='fl'>1</span>, verbose <span class='op'>=</span> <span class='cn'>FALSE</span>, <span class='va'>...</span><span class='op'>)</span>

<span class='fu'>saemix_data</span><span class='op'>(</span><span class='va'>object</span>, verbose <span class='op'>=</span> <span class='cn'>FALSE</span>, <span class='va'>...</span><span class='op'>)</span></pre>

    <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2>
    <table class="ref-arguments">
    <colgroup><col class="name" /><col class="desc" /></colgroup>
    <tr>
      <th>object</th>
      <td><p>An <a href='mmkin.html'>mmkin</a> row object containing several fits of the same
<a href='mkinmod.html'>mkinmod</a> model to different datasets</p></td>
    </tr>
    <tr>
      <th>control</th>
      <td><p>Passed to <a href='https://rdrr.io/pkg/saemix/man/saemix.html'>saemix::saemix</a></p></td>
    </tr>
    <tr>
      <th>...</th>
      <td><p>Further parameters passed to <a href='https://rdrr.io/pkg/saemix/man/saemixData.html'>saemix::saemixData</a>
and <a href='https://rdrr.io/pkg/saemix/man/saemixModel.html'>saemix::saemixModel</a>.</p></td>
    </tr>
    <tr>
      <th>cores</th>
      <td><p>The number of cores to be used for multicore processing using
<code><a href='https://rdrr.io/r/parallel/mclapply.html'>parallel::mclapply()</a></code>. Using more than 1 core is experimental and may
lead to uncontrolled forking, apparently depending on the BLAS version
used.</p></td>
    </tr>
    <tr>
      <th>verbose</th>
      <td><p>Should we print information about created objects?</p></td>
    </tr>
    <tr>
      <th>suppressPlot</th>
      <td><p>Should we suppress any plotting that is done
by the saemix function?</p></td>
    </tr>
    </table>

    <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2>

    <p>An S3 object of class 'saem.mmkin', containing the fitted
<a href='https://rdrr.io/pkg/saemix/man/SaemixObject-class.html'>saemix::SaemixObject</a> as a list component named 'so'.</p>
<p>An <a href='https://rdrr.io/pkg/saemix/man/SaemixModel-class.html'>saemix::SaemixModel</a> object.</p>
<p>An <a href='https://rdrr.io/pkg/saemix/man/SaemixData-class.html'>saemix::SaemixData</a> object.</p>
    <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>

    <p>An mmkin row object is essentially a list of mkinfit objects that have been
obtained by fitting the same model to a list of datasets using <a href='mkinfit.html'>mkinfit</a>.</p>
<p>Starting values for the fixed effects (population mean parameters, argument
psi0 of <code><a href='https://rdrr.io/pkg/saemix/man/saemixModel.html'>saemix::saemixModel()</a></code> are the mean values of the parameters found
using <a href='mmkin.html'>mmkin</a>.</p>
    <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2>

    <div class='dont-index'><p><a href='summary.saem.mmkin.html'>summary.saem.mmkin</a></p></div>

    <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
    <pre class="examples"><div class='input'><span class='co'># \dontrun{</span>
<span class='va'>ds</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/r/base/lapply.html'>lapply</a></span><span class='op'>(</span><span class='va'>experimental_data_for_UBA_2019</span><span class='op'>[</span><span class='fl'>6</span><span class='op'>:</span><span class='fl'>10</span><span class='op'>]</span>,
 <span class='kw'>function</span><span class='op'>(</span><span class='va'>x</span><span class='op'>)</span> <span class='fu'><a href='https://rdrr.io/r/base/subset.html'>subset</a></span><span class='op'>(</span><span class='va'>x</span><span class='op'>$</span><span class='va'>data</span><span class='op'>[</span><span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span><span class='st'>"name"</span>, <span class='st'>"time"</span>, <span class='st'>"value"</span><span class='op'>)</span><span class='op'>]</span><span class='op'>)</span><span class='op'>)</span>
<span class='fu'><a href='https://rdrr.io/r/base/names.html'>names</a></span><span class='op'>(</span><span class='va'>ds</span><span class='op'>)</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/r/base/paste.html'>paste</a></span><span class='op'>(</span><span class='st'>"Dataset"</span>, <span class='fl'>6</span><span class='op'>:</span><span class='fl'>10</span><span class='op'>)</span>
<span class='va'>f_mmkin_parent_p0_fixed</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mmkin.html'>mmkin</a></span><span class='op'>(</span><span class='st'>"FOMC"</span>, <span class='va'>ds</span>, cores <span class='op'>=</span> <span class='fl'>1</span>,
  state.ini <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span>parent <span class='op'>=</span> <span class='fl'>100</span><span class='op'>)</span>, fixed_initials <span class='op'>=</span> <span class='st'>"parent"</span>, quiet <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
<span class='va'>f_saem_p0_fixed</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent_p0_fixed</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
#&gt; [1] "Mon Nov  9 09:03:11 2020"
#&gt; ....
#&gt;     Minimisation finished
#&gt; [1] "Mon Nov  9 09:03:13 2020"</div><div class='input'>
<span class='va'>f_mmkin_parent</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mmkin.html'>mmkin</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span><span class='st'>"SFO"</span>, <span class='st'>"FOMC"</span>, <span class='st'>"DFOP"</span><span class='op'>)</span>, <span class='va'>ds</span>, quiet <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
<span class='va'>f_saem_sfo</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent</span><span class='op'>[</span><span class='st'>"SFO"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
#&gt; [1] "Mon Nov  9 09:03:14 2020"
#&gt; ....
#&gt;     Minimisation finished
#&gt; [1] "Mon Nov  9 09:03:16 2020"</div><div class='input'><span class='va'>f_saem_fomc</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent</span><span class='op'>[</span><span class='st'>"FOMC"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
#&gt; [1] "Mon Nov  9 09:03:16 2020"
#&gt; ....
#&gt;     Minimisation finished
#&gt; [1] "Mon Nov  9 09:03:18 2020"</div><div class='input'><span class='va'>f_saem_dfop</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent</span><span class='op'>[</span><span class='st'>"DFOP"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
#&gt; [1] "Mon Nov  9 09:03:19 2020"
#&gt; ....
#&gt;     Minimisation finished
#&gt; [1] "Mon Nov  9 09:03:22 2020"</div><div class='input'>
<span class='co'># The returned saem.mmkin object contains an SaemixObject, therefore we can use</span>
<span class='co'># functions from saemix</span>
<span class='kw'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='op'>(</span><span class='va'>saemix</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'>Package saemix, version 3.1.9000</span>
#&gt; <span class='message'>  please direct bugs, questions and feedback to emmanuelle.comets@inserm.fr</span></div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/compare.saemix.html'>compare.saemix</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/r/base/list.html'>list</a></span><span class='op'>(</span><span class='va'>f_saem_sfo</span><span class='op'>$</span><span class='va'>so</span>, <span class='va'>f_saem_fomc</span><span class='op'>$</span><span class='va'>so</span>, <span class='va'>f_saem_dfop</span><span class='op'>$</span><span class='va'>so</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Likelihoods computed by importance sampling </div><div class='output co'>#&gt;        AIC      BIC
#&gt; 1 624.2428 622.2900
#&gt; 2 467.7644 465.0305
#&gt; 3 491.3541 487.8391</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/plot-SaemixObject-method.html'>plot</a></span><span class='op'>(</span><span class='va'>f_saem_fomc</span><span class='op'>$</span><span class='va'>so</span>, plot.type <span class='op'>=</span> <span class='st'>"convergence"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Plotting convergence plots</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/plot-SaemixObject-method.html'>plot</a></span><span class='op'>(</span><span class='va'>f_saem_fomc</span><span class='op'>$</span><span class='va'>so</span>, plot.type <span class='op'>=</span> <span class='st'>"individual.fit"</span><span class='op'>)</span>
</div><div class='img'><img src='saem-1.png' alt='' width='700' height='433' /></div><div class='output co'>#&gt; Plotting individual fits</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/plot-SaemixObject-method.html'>plot</a></span><span class='op'>(</span><span class='va'>f_saem_fomc</span><span class='op'>$</span><span class='va'>so</span>, plot.type <span class='op'>=</span> <span class='st'>"npde"</span><span class='op'>)</span>
</div><div class='img'><img src='saem-2.png' alt='' width='700' height='433' /></div><div class='output co'>#&gt; Simulating data using nsim = 1000 simulated datasets
#&gt; Computing WRES and npde .
#&gt; Plotting npde</div><div class='img'><img src='saem-3.png' alt='' width='700' height='433' /></div><div class='output co'>#&gt; ---------------------------------------------
#&gt; Distribution of npde:
#&gt;            mean= -0.01736   (SE= 0.098 )
#&gt;        variance= 0.8562   (SE= 0.13 )
#&gt;        skewness= 0.513 
#&gt;        kurtosis= 1.202 
#&gt; ---------------------------------------------
#&gt; 
#&gt; Statistical tests
#&gt;   Wilcoxon signed rank test  : 0.652
#&gt;   Fisher variance test       : 0.338
#&gt;   SW test of normality       : 0.0757 .
#&gt; Global adjusted p-value      : 0.227
#&gt; ---
#&gt; Signif. codes: '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 
#&gt; ---------------------------------------------</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/plot-SaemixObject-method.html'>plot</a></span><span class='op'>(</span><span class='va'>f_saem_fomc</span><span class='op'>$</span><span class='va'>so</span>, plot.type <span class='op'>=</span> <span class='st'>"vpc"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Performing simulations under the model.
#&gt; Plotting VPC
#&gt; Method used for VPC: binning by quantiles on X , dividing into the following intervals
#&gt;   Interval  Centered.On
#&gt; 1 (-1,3]      1.3      
#&gt; 2 (3,8]       7.4      
#&gt; 3 (8,14]     13.2      
#&gt; 4 (14,21]    20.5      
#&gt; 5 (21,37.7]  29.5      
#&gt; 6 (37.7,60]  50.4      
#&gt; 7 (60,90]    76.6      
#&gt; 8 (90,120]  109.0      
#&gt; 9 (120,180] 156.0      </div><div class='img'><img src='saem-4.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='va'>f_mmkin_parent_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/r/stats/update.html'>update</a></span><span class='op'>(</span><span class='va'>f_mmkin_parent</span>, error_model <span class='op'>=</span> <span class='st'>"tc"</span><span class='op'>)</span>
<span class='va'>f_saem_fomc_tc</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent_tc</span><span class='op'>[</span><span class='st'>"FOMC"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
#&gt; [1] "Mon Nov  9 09:03:24 2020"
#&gt; ....
#&gt;     Minimisation finished
#&gt; [1] "Mon Nov  9 09:03:29 2020"</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/compare.saemix.html'>compare.saemix</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/r/base/list.html'>list</a></span><span class='op'>(</span><span class='va'>f_saem_fomc</span><span class='op'>$</span><span class='va'>so</span>, <span class='va'>f_saem_fomc_tc</span><span class='op'>$</span><span class='va'>so</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Likelihoods computed by importance sampling </div><div class='output co'>#&gt;        AIC      BIC
#&gt; 1 467.7644 465.0305
#&gt; 2 469.4862 466.3617</div><div class='input'>
<span class='va'>sfo_sfo</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mkinmod.html'>mkinmod</a></span><span class='op'>(</span>parent <span class='op'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span><span class='op'>(</span><span class='st'>"SFO"</span>, <span class='st'>"A1"</span><span class='op'>)</span>,
  A1 <span class='op'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span><span class='op'>(</span><span class='st'>"SFO"</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'>Successfully compiled differential equation model from auto-generated C code.</span></div><div class='input'><span class='va'>fomc_sfo</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mkinmod.html'>mkinmod</a></span><span class='op'>(</span>parent <span class='op'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span><span class='op'>(</span><span class='st'>"FOMC"</span>, <span class='st'>"A1"</span><span class='op'>)</span>,
  A1 <span class='op'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span><span class='op'>(</span><span class='st'>"SFO"</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'>Successfully compiled differential equation model from auto-generated C code.</span></div><div class='input'><span class='va'>dfop_sfo</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mkinmod.html'>mkinmod</a></span><span class='op'>(</span>parent <span class='op'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span><span class='op'>(</span><span class='st'>"DFOP"</span>, <span class='st'>"A1"</span><span class='op'>)</span>,
  A1 <span class='op'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span><span class='op'>(</span><span class='st'>"SFO"</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'>Successfully compiled differential equation model from auto-generated C code.</span></div><div class='input'><span class='co'># The following fit uses analytical solutions for SFO-SFO and DFOP-SFO,</span>
<span class='co'># and compiled ODEs for FOMC, both are fast</span>
<span class='va'>f_mmkin</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mmkin.html'>mmkin</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/r/base/list.html'>list</a></span><span class='op'>(</span>
    <span class='st'>"SFO-SFO"</span> <span class='op'>=</span> <span class='va'>sfo_sfo</span>, <span class='st'>"FOMC-SFO"</span> <span class='op'>=</span> <span class='va'>fomc_sfo</span>, <span class='st'>"DFOP-SFO"</span> <span class='op'>=</span> <span class='va'>dfop_sfo</span><span class='op'>)</span>,
  <span class='va'>ds</span>, quiet <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
<span class='co'># These take about five seconds each on this system, as we use</span>
<span class='co'># analytical solutions written for saemix. When using the analytical</span>
<span class='co'># solutions written for mkin this took around four minutes</span>
<span class='va'>f_saem_sfo_sfo</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin</span><span class='op'>[</span><span class='st'>"SFO-SFO"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
#&gt; [1] "Mon Nov  9 09:03:31 2020"
#&gt; ....
#&gt;     Minimisation finished
#&gt; [1] "Mon Nov  9 09:03:36 2020"</div><div class='input'><span class='va'>f_saem_dfop_sfo</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
#&gt; [1] "Mon Nov  9 09:03:37 2020"
#&gt; ....
#&gt;     Minimisation finished
#&gt; [1] "Mon Nov  9 09:03:46 2020"</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/summary-methods.html'>summary</a></span><span class='op'>(</span><span class='va'>f_saem_dfop_sfo</span>, data <span class='op'>=</span> <span class='cn'>FALSE</span><span class='op'>)</span>
</div><div class='output co'>#&gt; saemix version used for fitting:      3.1.9000 
#&gt; mkin version used for pre-fitting:  0.9.50.4 
#&gt; R version used for fitting:         4.0.3 
#&gt; Date of fit:     Mon Nov  9 09:03:47 2020 
#&gt; Date of summary: Mon Nov  9 09:03:47 2020 
#&gt; 
#&gt; Equations:
#&gt; d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
#&gt;            time)) / (g * exp(-k1 * time) + (1 - g) * exp(-k2 * time)))
#&gt;            * parent
#&gt; d_A1/dt = + f_parent_to_A1 * ((k1 * g * exp(-k1 * time) + k2 * (1 - g)
#&gt;            * exp(-k2 * time)) / (g * exp(-k1 * time) + (1 - g) *
#&gt;            exp(-k2 * time))) * parent - k_A1 * A1
#&gt; 
#&gt; Data:
#&gt; 170 observations of 2 variable(s) grouped in 5 datasets
#&gt; 
#&gt; Model predictions using solution type analytical 
#&gt; 
#&gt; Fitted in 9.758 s using 300, 100 iterations
#&gt; 
#&gt; Variance model: Constant variance 
#&gt; 
#&gt; Mean of starting values for individual parameters:
#&gt;        parent_0        log_k_A1 f_parent_qlogis          log_k1          log_k2 
#&gt;      93.8101519      -9.7647455      -0.9711148      -1.8799371      -4.2708142 
#&gt;        g_qlogis 
#&gt;       0.1356441 
#&gt; 
#&gt; Fixed degradation parameter values:
#&gt; None
#&gt; 
#&gt; Results:
#&gt; 
#&gt; Likelihood computed by importance sampling
#&gt;        AIC      BIC    logLik
#&gt;   841.3208 836.2435 -407.6604
#&gt; 
#&gt; Optimised, transformed parameters with symmetric confidence intervals:
#&gt;                          est.     lower      upper
#&gt; parent_0        93.7514328489 91.113651 96.3892150
#&gt; log_k_A1        -6.1262333211 -8.432492 -3.8199749
#&gt; f_parent_qlogis -0.9739851652 -1.371984 -0.5759863
#&gt; log_k1          -2.4818388836 -3.746899 -1.2167788
#&gt; log_k2          -3.6138616567 -5.294149 -1.9335743
#&gt; g_qlogis        -0.0004613666 -1.063179  1.0622564
#&gt; 
#&gt; Correlation: 
#&gt;                 prnt_0 lg__A1 f_prn_ log_k1 log_k2
#&gt; log_k_A1        -0.013                            
#&gt; f_parent_qlogis -0.025  0.050                     
#&gt; log_k1           0.030  0.000 -0.005              
#&gt; log_k2           0.013  0.005 -0.003  0.037       
#&gt; g_qlogis        -0.068 -0.016  0.011 -0.181 -0.181
#&gt; 
#&gt; Random effects:
#&gt;                         est.      lower     upper
#&gt; SD.parent_0        2.7857084  0.7825105 4.7889063
#&gt; SD.log_k_A1        2.1412505  0.4425207 3.8399803
#&gt; SD.f_parent_qlogis 0.4463087  0.1609059 0.7317116
#&gt; SD.log_k1          1.4097204  0.5240566 2.2953842
#&gt; SD.log_k2          1.8739067  0.6979362 3.0498773
#&gt; SD.g_qlogis        0.4559301 -0.8149852 1.7268453
#&gt; 
#&gt; Variance model:
#&gt;         est.    lower    upper
#&gt; a.1 1.882757 1.665681 2.099832
#&gt; 
#&gt; Backtransformed parameters with asymmetric confidence intervals:
#&gt;                        est.        lower       upper
#&gt; parent_0       93.751432849 9.111365e+01 96.38921497
#&gt; k_A1            0.002184795 2.176784e-04  0.02192835
#&gt; f_parent_to_A1  0.274086887 2.022995e-01  0.35985666
#&gt; k1              0.083589373 2.359079e-02  0.29618269
#&gt; k2              0.026947583 5.020885e-03  0.14463032
#&gt; g               0.499884658 2.567024e-01  0.74312150
#&gt; 
#&gt; Resulting formation fractions:
#&gt;                 ff
#&gt; parent_A1   0.2741
#&gt; parent_sink 0.7259
#&gt; 
#&gt; Estimated disappearance times:
#&gt;          DT50    DT90 DT50back DT50_k1 DT50_k2
#&gt; parent  13.91   60.89    18.33   8.292   25.72
#&gt; A1     317.26 1053.91       NA      NA      NA</div><div class='input'>
<span class='co'># Using a single core, the following takes about 6 minutes, using 10 cores</span>
<span class='co'># it is slower instead of faster</span>
<span class='co'>#f_saem_fomc &lt;- saem(f_mmkin["FOMC-SFO", ], cores = 1)</span>
<span class='co'># }</span>
</div></pre>
  </div>
  <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
    <nav id="toc" data-toggle="toc" class="sticky-top">
      <h2 data-toc-skip>Contents</h2>
    </nav>
  </div>
</div>


      <footer>
      <div class="copyright">
  <p>Developed by Johannes Ranke.</p>
</div>

<div class="pkgdown">
  <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.6.1.</p>
</div>

      </footer>
   </div>

  


  </body>
</html>


Contact - Imprint