<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">
    ojs
   </journal-id>
   <journal-title-group>
    <journal-title>
     Open Journal of Statistics
    </journal-title>
   </journal-title-group>
   <issn pub-type="epub">
    2161-718X
   </issn>
   <issn publication-format="print">
    2161-7198
   </issn>
   <publisher>
    <publisher-name>
     Scientific Research Publishing
    </publisher-name>
   </publisher>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="doi">
    10.4236/ojs.2025.155021
   </article-id>
   <article-id pub-id-type="publisher-id">
    ojs-146129
   </article-id>
   <article-categories>
    <subj-group subj-group-type="heading">
     <subject>
      Articles
     </subject>
    </subj-group>
    <subj-group subj-group-type="Discipline-v2">
     <subject>
      Physics 
     </subject>
     <subject>
       Mathematics
     </subject>
    </subj-group>
   </article-categories>
   <title-group>
    Estimation of the Parameters of the Reiber’s Hyperbolic Function with the Levenberg-Marquardt Algorithm
   </title-group>
   <contrib-group>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Piotr
      </surname>
      <given-names>
       Lewczuk
      </given-names>
     </name>
    </contrib>
   </contrib-group> 
   <aff id="affnull">
    <addr-line>
     aLab for Clinical Neurochemistry, Department of Psychiatry, Universitätsklinikum Erlangen, Erlangen, Germany
    </addr-line> 
   </aff> 
   <pub-date pub-type="epub">
    <day>
     28
    </day> 
    <month>
     09
    </month>
    <year>
     2025
    </year>
   </pub-date> 
   <volume>
    15
   </volume> 
   <issue>
    05
   </issue>
   <fpage>
    391
   </fpage>
   <lpage>
    396
   </lpage>
   <history>
    <date date-type="received">
     <day>
      18,
     </day>
     <month>
      August
     </month>
     <year>
      2025
     </year>
    </date>
    <date date-type="published">
     <day>
      25,
     </day>
     <month>
      August
     </month>
     <year>
      2025
     </year> 
    </date> 
    <date date-type="accepted">
     <day>
      25,
     </day>
     <month>
      September
     </month>
     <year>
      2025
     </year> 
    </date>
   </history>
   <permissions>
    <copyright-statement>
     © Copyright 2014 by authors and Scientific Research Publishing Inc. 
    </copyright-statement>
    <copyright-year>
     2014
    </copyright-year>
    <license>
     <license-p>
      This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
     </license-p>
    </license>
   </permissions>
   <abstract>
    A hyperbolic model for the diffusion of proteins through the blood-cerebrospinal fluid (CSF) barrier revolutionized clinical neurochemistry thirty years ago. The regression curves were informally parametrized based on physiologically-driven constraints. The current paper readdresses this issue with numerical optimization for unconstrained non-linear regression, implementing the Levenberg-Marquardt Algorithm (LMA). Astonishingly similar estimates are obtained, which reconfirms the concepts of H. Reiber proposed in 1990s. The LMA is discussed in the context of other optimization algorithms.
   </abstract>
   <kwd-group> 
    <kwd>
     Cerebrospinal Fluid
    </kwd> 
    <kwd>
      Blood-CSF Barrier
    </kwd> 
    <kwd>
      Numerical Optimization
    </kwd> 
    <kwd>
      Levenberg-Marquardt Algorithm
    </kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <sec id="s1">
   <title>1. Introduction</title>
   <p>Thirty years ago, Hansotto Reiber proposed a hyperbolic model for the diffusion of proteins through the blood-cerebrospinal fluid (CSF) barrier <xref ref-type="bibr" rid="scirp.146129-1">
     [1]
    </xref>. His model revolutionized the CSF analysis and provided solid foundations for modern clinical neurochemistry. The model was theoretically derived from the laws of diffusion (the Fick’s laws, see <xref ref-type="bibr" rid="scirp.146129-2">
     [2]
    </xref>) and empirically confirmed on large-scale patient cohorts, but the parametrization of the hyperbolic functions was originally performed with laborious manual iterations due to important, physiologically-driven constraints that have to be taken into account but are difficult to formalize. Details of this procedure are discussed in <xref ref-type="bibr" rid="scirp.146129-3">
     [3]
    </xref>. In the current paper, I show how to apply a numerical optimization algorithm to find those parameters. I need to emphasize that I am not attempting to readdress theoretical derivations of the blood-CSF barrier diffusion. I am merely trying to explain the mathematical background for its optimization. Of course, virtually every statistical package today offers fast and reliable methods for non-linear regression; however, I believe that it is of paramount importance that neuroscientists interested in the CSF protein analysis understand the process of non-linear optimization and not only use commands built into a statistical software.</p>
  </sec><sec id="s2">
   <title>
    <xref ref-type="bibr" rid="scirp.146129-"></xref>2. Materials and Methods</title>
   <p>Consider function</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        f 
      </mi> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <mi>
          x 
        </mi> 
        <mo>
          ; 
        </mo> 
        <mi>
          a 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          b 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          c 
        </mi> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mfrac> 
       <mi>
         a 
       </mi> 
       <mi>
         b 
       </mi> 
      </mfrac> 
      <msqrt> 
       <mrow> 
        <msup> 
         <mi>
           x 
         </mi> 
         <mn>
           2 
         </mn> 
        </msup> 
        <mo>
          + 
        </mo> 
        <msup> 
         <mi>
           b 
         </mi> 
         <mn>
           2 
         </mn> 
        </msup> 
       </mrow> 
      </msqrt> 
      <mo>
        − 
      </mo> 
      <mi>
        c 
      </mi> 
      <mo>
        , 
      </mo> 
      <mtext>
          
      </mtext> 
      <mtext>
          
      </mtext> 
      <mi>
        x 
      </mi> 
      <mo>
        &gt; 
      </mo> 
      <mn>
        0 
      </mn> 
     </mrow> 
    </math> (1)</p>
   <p>parametrized by three positive real numbers, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       a 
     </mi> 
    </math>, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       b 
     </mi> 
    </math>, and 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       c 
     </mi> 
    </math>, which we group into a vector, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        θ 
      </mi> 
      <mo>
        = 
      </mo> 
      <msup> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mi>
            a 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            b 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            c 
          </mi> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mtext>
         T 
       </mtext> 
      </msup> 
     </mrow> 
    </math>. The first-order derivatives of this function with respect to the three parameters are:</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mfrac> 
       <mrow> 
        <mo>
          ∂ 
        </mo> 
        <mi>
          f 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mi>
            θ 
          </mi> 
          <mo>
            ; 
          </mo> 
          <mi>
            x 
          </mi> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mrow> 
        <mo>
          ∂ 
        </mo> 
        <mi>
          a 
        </mi> 
       </mrow> 
      </mfrac> 
      <mo>
        = 
      </mo> 
      <mfrac> 
       <mn>
         1 
       </mn> 
       <mi>
         b 
       </mi> 
      </mfrac> 
      <msqrt> 
       <mrow> 
        <msup> 
         <mi>
           x 
         </mi> 
         <mn>
           2 
         </mn> 
        </msup> 
        <mo>
          + 
        </mo> 
        <msup> 
         <mi>
           b 
         </mi> 
         <mn>
           2 
         </mn> 
        </msup> 
       </mrow> 
      </msqrt> 
     </mrow> 
    </math></p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mfrac> 
       <mrow> 
        <mo>
          ∂ 
        </mo> 
        <mi>
          f 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mi>
            θ 
          </mi> 
          <mo>
            ; 
          </mo> 
          <mi>
            x 
          </mi> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mrow> 
        <mo>
          ∂ 
        </mo> 
        <mi>
          b 
        </mi> 
       </mrow> 
      </mfrac> 
      <mo>
        = 
      </mo> 
      <mo>
        − 
      </mo> 
      <mi>
        a 
      </mi> 
      <msup> 
       <mi>
         x 
       </mi> 
       <mn>
         2 
       </mn> 
      </msup> 
      <msup> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msup> 
           <mi>
             b 
           </mi> 
           <mn>
             2 
           </mn> 
          </msup> 
          <msqrt> 
           <mrow> 
            <msup> 
             <mi>
               x 
             </mi> 
             <mn>
               2 
             </mn> 
            </msup> 
            <mo>
              + 
            </mo> 
            <msup> 
             <mi>
               b 
             </mi> 
             <mn>
               2 
             </mn> 
            </msup> 
           </mrow> 
          </msqrt> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mrow> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </msup> 
     </mrow> 
    </math></p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mfrac> 
       <mrow> 
        <mo>
          ∂ 
        </mo> 
        <mi>
          f 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mi>
            θ 
          </mi> 
          <mo>
            ; 
          </mo> 
          <mi>
            x 
          </mi> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mrow> 
        <mo>
          ∂ 
        </mo> 
        <mi>
          c 
        </mi> 
       </mrow> 
      </mfrac> 
      <mo>
        = 
      </mo> 
      <mo>
        − 
      </mo> 
      <mn>
        1. 
      </mn> 
     </mrow> 
    </math> (2)</p>
   <p>Now, we assume a study with 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       N 
     </mi> 
    </math> paired observations, 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <msub> 
         <mi>
           x 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           y 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
      <mo>
        , 
      </mo> 
      <mi>
        i 
      </mi> 
      <mo>
        = 
      </mo> 
      <mn>
        1 
      </mn> 
      <mo>
        , 
      </mo> 
      <mo>
        ⋯ 
      </mo> 
      <mo>
        , 
      </mo> 
      <mi>
        N 
      </mi> 
     </mrow> 
    </math>, with the vector of the explanatory variables, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       x 
     </mi> 
    </math> (e.g. albumin quotients, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         Q 
       </mi> 
       <mrow> 
        <mi>
          A 
        </mi> 
        <mi>
          l 
        </mi> 
        <mi>
          b 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math>), and the vector of the corresponding outcome variables, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       y 
     </mi> 
    </math> (e.g. IgG quotients, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         Q 
       </mi> 
       <mrow> 
        <mi>
          I 
        </mi> 
        <mi>
          g 
        </mi> 
        <mi>
          G 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math>), where a quotient is a dimensionless quantity obtained by division of the concentration of a given protein in the CSF by its concentration in the serum, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         Q 
       </mi> 
       <mi>
         X 
       </mi> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mfrac> 
       <mrow> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mrow> 
          <msub> 
           <mi>
             X 
           </mi> 
           <mrow> 
            <mi>
              C 
            </mi> 
            <mi>
              S 
            </mi> 
            <mi>
              F 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
         <mo>
           ] 
         </mo> 
        </mrow> 
       </mrow> 
       <mrow> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mrow> 
          <msub> 
           <mi>
             X 
           </mi> 
           <mrow> 
            <mi>
              S 
            </mi> 
            <mi>
              e 
            </mi> 
            <mi>
              r 
            </mi> 
            <mi>
              u 
            </mi> 
            <mi>
              m 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
         <mo>
           ] 
         </mo> 
        </mrow> 
       </mrow> 
      </mfrac> 
     </mrow> 
    </math>. Our goal is to find the vector of the parameters, 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mover accent="true"> 
      <mi>
        θ 
      </mi> 
      <mo>
        ^ 
      </mo> 
     </mover> 
    </math>, minimizing Euclidean norm of the vector of the residuals, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        r 
      </mi> 
      <mo>
        = 
      </mo> 
      <mi>
        y 
      </mi> 
      <mo>
        − 
      </mo> 
      <mover accent="true"> 
       <mi>
         y 
       </mi> 
       <mo>
         ^ 
       </mo> 
      </mover> 
     </mrow> 
    </math> or, stated equivalently, minimizing the sum of the squared vertical distances between the empirical observations, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       y 
     </mi> 
    </math>, and the model predictions, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mover accent="true"> 
      <mi>
        y 
      </mi> 
      <mo>
        ^ 
      </mo> 
     </mover> 
    </math>. This is an unconstrained optimization problem in non-linear regression<sup id="fn1">
     <xref ref-type="bibr" rid="scirp.146129-#fnr1">
      1
     </xref></sup>. Formally:</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mover accent="true"> 
       <mi>
         θ 
       </mi> 
       <mo>
         ^ 
       </mo> 
      </mover> 
      <mo>
        = 
      </mo> 
      <munder> 
       <mrow> 
        <mi>
          arg 
        </mi> 
        <mi>
          min 
        </mi> 
       </mrow> 
       <mrow> 
        <mi>
          θ 
        </mi> 
        <mo>
          ∈ 
        </mo> 
        <msubsup> 
         <mi>
           ℝ 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           3 
         </mn> 
        </msubsup> 
       </mrow> 
      </munder> 
      <msub> 
       <mrow> 
        <mrow> 
         <mo>
           ‖ 
         </mo> 
         <mi>
           r 
         </mi> 
         <mo>
           ‖ 
         </mo> 
        </mrow> 
       </mrow> 
       <mn>
         2 
       </mn> 
      </msub> 
      <mo>
        . 
      </mo> 
     </mrow> 
    </math> (3)</p>
   <p>This can be achieved, for example, with the Levenberg-Marquardt Algorithm (LMA) <xref ref-type="bibr" rid="scirp.146129-4">
     [4]
    </xref> <xref ref-type="bibr" rid="scirp.146129-5">
     [5]
    </xref>.</p>
   <p>To do so, first we define the Jacobian 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        N 
      </mi> 
      <mo>
        × 
      </mo> 
      <mn>
        3 
      </mn> 
     </mrow> 
    </math> matrix, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       J 
     </mi> 
    </math>, such that its i-th row contains the three derivatives defined in Equation (2) evaluated at the i-th explanatory variable, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         x 
       </mi> 
       <mi>
         i 
       </mi> 
      </msub> 
     </mrow> 
    </math>. We also define a dumping parameter, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       λ 
     </mi> 
    </math>. After initialization of the vector of the model parameters and the dumping parameter, in a 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <mi>
          k 
        </mi> 
        <mo>
          + 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
     </mrow> 
    </math>-th iteration of the algorithm the vector of the parameters is updated by:</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msup> 
       <mi>
         θ 
       </mi> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mi>
            k 
          </mi> 
          <mo>
            + 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </msup> 
      <mo>
        = 
      </mo> 
      <msup> 
       <mi>
         θ 
       </mi> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           k 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </msup> 
      <mo>
        + 
      </mo> 
      <msup> 
       <mi>
         h 
       </mi> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           k 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </msup> 
      <mo>
        , 
      </mo> 
     </mrow> 
    </math> (4)</p>
   <p>where</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        h 
      </mi> 
      <mo>
        = 
      </mo> 
      <msup> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msup> 
           <mi>
             J 
           </mi> 
           <mtext>
             T 
           </mtext> 
          </msup> 
          <mi>
            J 
          </mi> 
          <mo>
            + 
          </mo> 
          <mi>
            λ 
          </mi> 
          <mi>
            I 
          </mi> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mrow> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </msup> 
      <msup> 
       <mi>
         J 
       </mi> 
       <mtext>
         T 
       </mtext> 
      </msup> 
      <mi>
        r 
      </mi> 
      <mo>
        , 
      </mo> 
     </mrow> 
    </math> (5)</p>
   <p>where 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       I 
     </mi> 
    </math> is the identity matrix (for notational simplicity, the superscripts referring to the iteration step were omitted). In each step of the algorithm, the dumping parameter, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       λ 
     </mi> 
    </math>, is adjusted as follows. First, the error is evaluated at the new vector of the parameters. If the error has increased, the update is rejected and the dumping parameter is increased by some factor (say, 100). This is repeated until the error decreases below the error of the previous step. If the error has decreased as the result of the update, the updated parameters are accepted and the dumping parameter is decreased (say, by factor 100). The algorithm proceeds until convergence, which somehow reflects lack of further significant improvements (for example, when the norm of the updating vector, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       h 
     </mi> 
    </math>, gets below some predefined small positive number, say 10<sup>−</sup><sup>12</sup>).</p>
  </sec><sec id="s3">
   <title>
    <xref ref-type="bibr" rid="scirp.146129-"></xref>3. Results</title>
   <p>The algorithm was implemented in R (4.3.2)<sup id="fn2">
     <xref ref-type="bibr" rid="scirp.146129-#fnr2">
      2
     </xref></sup>. It was first tested with one hundred repetitions of simulated datasets with 10,000 paired observations each, set such way that a heteroscedastic Normal random noise (with a constant CV of 10%) was added to the deterministic hyperbolic function. The empirical bias, variation, and the Mean Square Error (all multiplied by one thousand for better readability) are reported in <xref ref-type="table" rid="table1">
     Table 1
    </xref>.</p>
   <table-wrap id="table1">
    <label>
     <xref ref-type="table" rid="table1">
      Table 1
     </xref></label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.146129-"></xref>Table 1. Results of the simulation study; the true values were: 

      <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
  
        <mi>
         
   a
  
        </mi>
  
        <mo>
         
   =
  
        </mo>
  
        <mn>
         
   0.2
  
        </mn>
 
       </mrow>

      </math>, 

      <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
  
        <mi>
         
   b
  
        </mi>
  
        <mo>
         
   =
  
        </mo>
  
        <mn>
         
   0.1
  
        </mn>
 
       </mrow>

      </math>, and 

      <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
  
        <mi>
         
   c
  
        </mi>
  
        <mo>
         
   =
  
        </mo>
  
        <mn>
         
   0.05
  
        </mn>
 
       </mrow>

      </math>.</title>
    </caption>
    <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
     <tr> 
      <td class="custom-bottom-td acenter" width="19.99%"><p style="text-align:center">Parameter</p></td> 
      <td class="custom-bottom-td acenter" width="20.00%"><p style="text-align:center">Mean</p></td> 
      <td class="custom-bottom-td acenter" width="20.00%"><p style="text-align:center">10<sup>3</sup> × Bias</p></td> 
      <td class="custom-bottom-td acenter" width="20.00%"><p style="text-align:center">10<sup>3</sup> × Var</p></td> 
      <td class="custom-bottom-td acenter" width="20.00%"><p style="text-align:center">10<sup>3</sup> × MSE</p></td> 
     </tr> 
     <tr> 
      <td class="custom-top-td acenter" width="19.99%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mover accent="true"> 
          <mi>
            a 
          </mi> 
          <mo>
            ^ 
          </mo> 
         </mover> 
        </math></p></td> 
      <td class="custom-top-td acenter" width="20.00%"><p style="text-align:center">0.1998</p></td> 
      <td class="custom-top-td acenter" width="20.00%"><p style="text-align:center">−0.1589</p></td> 
      <td class="custom-top-td acenter" width="20.00%"><p style="text-align:center">0.0337</p></td> 
      <td class="custom-top-td acenter" width="20.00%"><p style="text-align:center">0.0337</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="19.99%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mover accent="true"> 
          <mi>
            b 
          </mi> 
          <mo>
            ^ 
          </mo> 
         </mover> 
        </math></p></td> 
      <td class="acenter" width="20.00%"><p style="text-align:center">0.0999</p></td> 
      <td class="acenter" width="20.00%"><p style="text-align:center">−0.0909</p></td> 
      <td class="acenter" width="20.00%"><p style="text-align:center">0.0061</p></td> 
      <td class="acenter" width="20.00%"><p style="text-align:center">0.0061</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="19.99%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mover accent="true"> 
          <mi>
            c 
          </mi> 
          <mo>
            ^ 
          </mo> 
         </mover> 
        </math></p></td> 
      <td class="acenter" width="20.00%"><p style="text-align:center">0.0499</p></td> 
      <td class="acenter" width="20.00%"><p style="text-align:center">−0.0932</p></td> 
      <td class="acenter" width="20.00%"><p style="text-align:center">0.0250</p></td> 
      <td class="acenter" width="20.00%"><p style="text-align:center">0.0251</p></td> 
     </tr> 
    </table>
   </table-wrap>
   <p>With those results, clearly indicating that the estimates are characterized with very low bias and variance, the algorithm was applied on the real-life dataset kindly provided by H. Reiber. This dataset overlaps with the set used in his paper in 1994 to optimize the regression curve in the diagnostically most relevant region of 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         Q 
       </mi> 
       <mrow> 
        <mi>
          A 
        </mi> 
        <mi>
          l 
        </mi> 
        <mi>
          b 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        &lt; 
      </mo> 
      <mn>
        0.02 
      </mn> 
     </mrow> 
    </math>. Briefly, the samples were collected from patients aged between 0.5 and 75 years routinely diagnosed for neurologic conditions. Only subjects without intrathecal synthesis of immunoglobulins and without intracerebral haemorrhage were included in the study; CSF samples with blood contamination were excluded. The concentrations of the proteins were measured by automated nephelometry. All further details are given in <xref ref-type="bibr" rid="scirp.146129-1">
     [1]
    </xref>. With the arbitrarily chosen initial values 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msup> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mn>
           0 
         </mn> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </msup> 
      <mo>
        = 
      </mo> 
      <msup> 
       <mi>
         b 
       </mi> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mn>
           0 
         </mn> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </msup> 
      <mo>
        = 
      </mo> 
      <msup> 
       <mi>
         c 
       </mi> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mn>
           0 
         </mn> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </msup> 
      <mo>
        = 
      </mo> 
      <msup> 
       <mi>
         λ 
       </mi> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mn>
           0 
         </mn> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </msup> 
      <mo>
        = 
      </mo> 
      <mn>
        0.001 
      </mn> 
     </mrow> 
    </math>, the algorithm converged after 11 iterations and delivered the following estimates:</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mtable columnalign="left"> 
      <mtr> 
       <mtd> 
        <mover accent="true"> 
         <mi>
           a 
         </mi> 
         <mo>
           ^ 
         </mo> 
        </mover> 
        <mo>
          = 
        </mo> 
        <mn>
          0.0019425 
        </mn> 
        <mo>
          ± 
        </mo> 
        <mn>
          0.0001714 
        </mn> 
       </mtd> 
      </mtr> 
      <mtr> 
       <mtd> 
        <mover accent="true"> 
         <mi>
           b 
         </mi> 
         <mo>
           ^ 
         </mo> 
        </mover> 
        <mo>
          = 
        </mo> 
        <mn>
          0.0031210 
        </mn> 
        <mo>
          ± 
        </mo> 
        <mn>
          0.0002414 
        </mn> 
       </mtd> 
      </mtr> 
      <mtr> 
       <mtd> 
        <mover accent="true"> 
         <mi>
           c 
         </mi> 
         <mo>
           ^ 
         </mo> 
        </mover> 
        <mo>
          = 
        </mo> 
        <mn>
          0.0013078 
        </mn> 
        <mo>
          ± 
        </mo> 
        <mn>
          0.0001258 
        </mn> 
        <mo>
          , 
        </mo> 
       </mtd> 
      </mtr> 
     </mtable> 
    </math> (6)</p>
   <p>with the standard errors resulting from well-known good approximation of the covariance matrix by 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mfrac> 
       <mrow> 
        <mi>
          R 
        </mi> 
        <mi>
          S 
        </mi> 
        <mi>
          S 
        </mi> 
       </mrow> 
       <mrow> 
        <mi>
          N 
        </mi> 
        <mo>
          − 
        </mo> 
        <mi>
          p 
        </mi> 
        <mo>
          + 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </mfrac> 
      <msup> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msup> 
           <mi>
             J 
           </mi> 
           <mtext>
             T 
           </mtext> 
          </msup> 
          <mi>
            J 
          </mi> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mrow> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </msup> 
     </mrow> 
    </math> at the convergence <xref ref-type="bibr" rid="scirp.146129-6">
     [6]
    </xref>. The same estimates were obtained with different initial values, confirming robustness of the algorithm. It needs to be emphasized that the estimates published in the original paper <xref ref-type="bibr" rid="scirp.146129-1">
     [1]
    </xref> are astonishingly similar to those obtained here. <xref ref-type="fig" rid="fig1">
     Figure 1
    </xref> presents the empirical data points and the fitted hyperbolic curve.</p>
   <fig id="fig1" position="float">
    <label>Figure 1</label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.146129-"></xref>Figure 1. Empirical data from 4010 patients and the fitted hyperbolic curve.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1241965-rId93.jpeg?20250928113550" />
   </fig>
  </sec><sec id="s4">
   <title>
    <xref ref-type="bibr" rid="scirp.146129-"></xref>4. Discussion and Conclusions</title>
   <p>The function in Equation (1) is linear in 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       a 
     </mi> 
    </math> and 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       c 
     </mi> 
    </math> but non-linear in 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       b 
     </mi> 
    </math>, which makes the problem of its optimization non-linear. Several numerical optimization methods are available for fitting a non-linear model to a set of data <xref ref-type="bibr" rid="scirp.146129-7">
     [7]
    </xref>. For example, the Gradient Descent (GD) solves Equation (3) by iteratively updating the parameters of the model in the “downhill” direction of the objective function (the one to be minimized). The update in Equation (5) is replaced by:</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         h 
       </mi> 
       <mrow> 
        <mi>
          G 
        </mi> 
        <mi>
          D 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mi>
        α 
      </mi> 
      <msup> 
       <mi>
         J 
       </mi> 
       <mtext>
         T 
       </mtext> 
      </msup> 
      <mi>
        r 
      </mi> 
      <mo>
        , 
      </mo> 
     </mrow> 
    </math> (7)</p>
   <p>with the positive real number 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       α 
     </mi> 
    </math> defining the length of the step in the (steepest-)descent direction. The method is simple and computationally cheap, as it requires only the Jacobian matrix. However, this conceptual and computational simplicity comes at the cost of a large number of iterative steps required for convergence. In the current setting, a simplistic GD with non-adaptive 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        α 
      </mi> 
      <mo>
        = 
      </mo> 
      <msup> 
       <mrow> 
        <mn>
          10 
        </mn> 
       </mrow> 
       <mrow> 
        <mo>
          − 
        </mo> 
        <mn>
          5 
        </mn> 
       </mrow> 
      </msup> 
     </mrow> 
    </math> needed about 100,000 iterations to converge and turned out very sensitive to the initial values. The Gauss-Newton Algorithm (GNA) relies on the assumption that the objective function is approximately quadratic near the optimal solution. Information on this (quadratic) curvature enters the algorithm as the second-order differential equations matrix, the Hessian matrix, of which 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msup> 
       <mi>
         J 
       </mi> 
       <mtext>
         T 
       </mtext> 
      </msup> 
      <mi>
        J 
      </mi> 
     </mrow> 
    </math> is often a good approximation. This results in a rapid local convergence. The update becomes:</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         h 
       </mi> 
       <mrow> 
        <mi>
          G 
        </mi> 
        <mi>
          N 
        </mi> 
        <mi>
          A 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <msup> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msup> 
           <mi>
             J 
           </mi> 
           <mtext>
             T 
           </mtext> 
          </msup> 
          <mi>
            J 
          </mi> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mrow> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </msup> 
      <msup> 
       <mi>
         J 
       </mi> 
       <mtext>
         T 
       </mtext> 
      </msup> 
      <mi>
        r 
      </mi> 
      <mo>
        . 
      </mo> 
     </mrow> 
    </math> (8)</p>
   <p>The LMA varies the updates between the two optimization methods, taking advantages of both, by adaptation of the dumping parameter, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       λ 
     </mi> 
    </math>, in each iteration. Small values make the LMA approach the GNA (as the term 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        λ 
      </mi> 
      <mi>
        I 
      </mi> 
     </mrow> 
    </math> becomes negligible compared to 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msup> 
       <mi>
         J 
       </mi> 
       <mtext>
         T 
       </mtext> 
      </msup> 
      <mi>
        J 
      </mi> 
     </mrow> 
    </math>). For large values of 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       λ 
     </mi> 
    </math>, the LMA mimics the GD method (with 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        α 
      </mi> 
      <mo>
        ≈ 
      </mo> 
      <mrow> 
       <mn>
         1 
       </mn> 
       <mo>
         / 
       </mo> 
       <mi>
         λ 
       </mi> 
      </mrow> 
     </mrow> 
    </math>). The intuition is that if the error increases we are likely far from the minimum we are looking for; therefore, we need to increase the dumping parameter in order to turn the algorithm into a simple GD. If the error decreases, on the other hand, we are probably getting closer to the minimum and we should emphasize the information on the local curvature of the optimization function.</p>
   <p>Hyperbolic functions can be easily, yet erroneously, mixed with a linear function. Indeed, for very small, compared to 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       x 
     </mi> 
    </math>, positive 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       b 
     </mi> 
    </math> the term under the square root becomes 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msqrt> 
       <mrow> 
        <msup> 
         <mi>
           x 
         </mi> 
         <mn>
           2 
         </mn> 
        </msup> 
        <mo>
          + 
        </mo> 
        <msup> 
         <mi>
           b 
         </mi> 
         <mn>
           2 
         </mn> 
        </msup> 
       </mrow> 
      </msqrt> 
      <mo>
        ≈ 
      </mo> 
      <mi>
        x 
      </mi> 
     </mrow> 
    </math> and the hyperbolic function converges to a “linear approximation”, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mover accent="true"> 
       <mi>
         f 
       </mi> 
       <mo>
         ˜ 
       </mo> 
      </mover> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mi>
         x 
       </mi> 
       <mo>
         ) 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mfrac> 
       <mi>
         a 
       </mi> 
       <mi>
         b 
       </mi> 
      </mfrac> 
      <mi>
        x 
      </mi> 
      <mo>
        − 
      </mo> 
      <mi>
        c 
      </mi> 
     </mrow> 
    </math>. This, however, leads to an obvious problem, since for positive 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       c 
     </mi> 
    </math>, the linear function will become negative for small 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       x 
     </mi> 
    </math>, which is physiologically impossible. Further, it might be tempting to use statistical properties of the regression curve (e.g. the confidence or the prediction limits) to establish diagnostic references for the disease-related interpretations. This is not appropriate, because the confidence bands of a regression curve do not reflect the biological variability, they only show the region where the “true” curve is expected to lie. Instead, following Reiber’s idea, the upper limit of the 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         Q 
       </mi> 
       <mrow> 
        <mi>
          I 
        </mi> 
        <mi>
          g 
        </mi> 
        <mi>
          G 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math> can be defined by finding parameters of a hyperbolic function fitted to the largest empirical outcomes (stratified according to 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         Q 
       </mi> 
       <mrow> 
        <mi>
          A 
        </mi> 
        <mi>
          l 
        </mi> 
        <mi>
          b 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math>), again following the same principle as it is outlined above for the average curve. Finally, it needs to be emphasized that the diffusion model proposed by H. Reiber applies equally well to the whole range of 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         Q 
       </mi> 
       <mrow> 
        <mi>
          A 
        </mi> 
        <mi>
          l 
        </mi> 
        <mi>
          b 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        &lt; 
      </mo> 
      <mn>
        0.5 
      </mn> 
     </mrow> 
    </math> (whereas the values beyond that limit are never seen in practice) and to other proteins (IgA, IgM, prothrombin), too, and the corresponding hyperbolic curves can be analogously parametrized with the LMA outlined here.</p>
  </sec><sec id="s5">
   <title>NOTES</title>
   <p><sup id="fnr1">
     <xref ref-type="bibr" rid="scirp.146129-#fn1">
      1
     </xref></sup><xref ref-type="bibr" rid="scirp.146129-"></xref>Stringently spoken, since has to be positive for all , this is a constrained problem, requiring ; however, since empirical observations in studies this model is developed for are always strictly positive, we may omit this constrain, only checking if the estimates indeed obey .</p>
   <p><sup id="fnr2">
     <xref ref-type="bibr" rid="scirp.146129-#fn2">
      2
     </xref></sup>The code is available at <xref ref-type="bibr" rid="scirp.146129-http://creativecommons.org/licenses/by/4.0/">
     https://github.com/LewczukPiotr/Hyperbolic_Function
    </xref>.</p>
  </sec>
 </body><back>
  <ref-list>
   <title>References</title>
   <ref id="scirp.146129-ref1">
    <label>1</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Reiber, H. (1994) Flow Rate of Cerebrospinal Fluid (CSF)—A Concept Common to Normal Blood-CSF Barrier Function and to Dysfunction in Neurological Diseases. Journal of the Neurological Sciences, 122, 189-203. &gt;https://doi.org/10.1016/0022-510x(94)90298-4
    </mixed-citation>
   </ref>
   <ref id="scirp.146129-ref2">
    <label>2</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Crank, J. (1975) The Mathematics of Diffusion. 2nd Edition, Oxford University Press.
    </mixed-citation>
   </ref>
   <ref id="scirp.146129-ref3">
    <label>3</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Reiber, H., Zeman, D., Kušnierová, P., Mundwiler, E. and Bernasconi, L. (2019) Diagnostic Relevance of Free Light Chains in Cerebrospinal Fluid—The Hyperbolic Reference Range for Reliable Data Interpretation in Quotient Diagrams. Clinica Chimica Acta, 497, 153-162. &gt;https://doi.org/10.1016/j.cca.2019.07.027
    </mixed-citation>
   </ref>
   <ref id="scirp.146129-ref4">
    <label>4</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Levenberg, K. (1944) A Method for the Solution of Certain Non-Linear Problems in Least Squares. Quarterly of Applied Mathematics, 2, 164-168. &gt;https://doi.org/10.1090/qam/10666
    </mixed-citation>
   </ref>
   <ref id="scirp.146129-ref5">
    <label>5</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Marquardt, D.W. (1963) An Algorithm for Least-Squares Estimation of Nonlinear Parameters. Journal of the Society for Industrial and Applied Mathematics, 11, 431-441. &gt;https://doi.org/10.1137/0111030
    </mixed-citation>
   </ref>
   <ref id="scirp.146129-ref6">
    <label>6</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gavin, H. (2024) The Levenberg-Marquardt Algorithm for Nonlinear Least Squares Curve-Fitting Problems. &gt;https://people.duke.edu/~hpgavin/lm.pdf 
    </mixed-citation>
   </ref>
   <ref id="scirp.146129-ref7">
    <label>7</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Nocedal, J. and Wright, S.J. (2006) Numerical Optimization. 2nd Edition, Springer.
    </mixed-citation>
   </ref>
  </ref-list>
 </back>
</article>