Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / math / doc / html / math_toolkit / dist_ref / dists / nc_t_dist.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Noncentral T Distribution</title>
5 <link rel="stylesheet" href="../../../math.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../../index.html" title="Math Toolkit 2.11.0">
8 <link rel="up" href="../dists.html" title="Distributions">
9 <link rel="prev" href="nc_f_dist.html" title="Noncentral F Distribution">
10 <link rel="next" href="normal_dist.html" title="Normal (Gaussian) Distribution">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="nc_f_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="normal_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h4 class="title">
27 <a name="math_toolkit.dist_ref.dists.nc_t_dist"></a><a class="link" href="nc_t_dist.html" title="Noncentral T Distribution">Noncentral T
28         Distribution</a>
29 </h4></div></div></div>
30 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
31 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
32
33 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
34           <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;20.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a>   <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
35 <span class="keyword">class</span> <span class="identifier">non_central_t_distribution</span><span class="special">;</span>
36
37 <span class="keyword">typedef</span> <span class="identifier">non_central_t_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_t</span><span class="special">;</span>
38
39 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;20.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
40 <span class="keyword">class</span> <span class="identifier">non_central_t_distribution</span>
41 <span class="special">{</span>
42 <span class="keyword">public</span><span class="special">:</span>
43    <span class="keyword">typedef</span> <span class="identifier">RealType</span>  <span class="identifier">value_type</span><span class="special">;</span>
44    <span class="keyword">typedef</span> <span class="identifier">Policy</span>    <span class="identifier">policy_type</span><span class="special">;</span>
45
46    <span class="comment">// Constructor:</span>
47    <span class="identifier">non_central_t_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">delta</span><span class="special">);</span>
48
49    <span class="comment">// Accessor to degrees_of_freedom parameter v:</span>
50    <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
51
52    <span class="comment">// Accessor to non-centrality parameter delta:</span>
53    <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
54 <span class="special">};</span>
55
56 <span class="special">}}</span> <span class="comment">// namespaces</span>
57 </pre>
58 <p>
59           The noncentral T distribution is a generalization of the <a class="link" href="students_t_dist.html" title="Students t Distribution">Students
60           t Distribution</a>. Let X have a normal distribution with mean &#948; and variance
61           1, and let <span class="emphasis"><em>&#957; S<sup>2</sup></em></span> have a chi-squared distribution with
62           degrees of freedom &#957;. Assume that X and S<sup>2</sup> are independent. The distribution
63           of <span class="serif_italic">t<sub>&#957;</sub>(&#948;)=X/S</span> is called a noncentral
64           t distribution with degrees of freedom &#957; and noncentrality parameter &#948;.
65         </p>
66 <p>
67           This gives the following PDF:
68         </p>
69 <div class="blockquote"><blockquote class="blockquote"><p>
70             <span class="inlinemediaobject"><img src="../../../../equations/nc_t_ref1.svg"></span>
71
72           </p></blockquote></div>
73 <p>
74           where <span class="serif_italic"><sub>1</sub>F<sub>1</sub>(a;b;x)</span> is a confluent hypergeometric
75           function.
76         </p>
77 <p>
78           The following graph illustrates how the distribution changes for different
79           values of &#957; and &#948;:
80         </p>
81 <div class="blockquote"><blockquote class="blockquote"><p>
82             <span class="inlinemediaobject"><img src="../../../../graphs/nc_t_pdf.svg" align="middle"></span>
83
84           </p></blockquote></div>
85 <div class="blockquote"><blockquote class="blockquote"><p>
86             <span class="inlinemediaobject"><img src="../../../../graphs/nc_t_cdf.svg" align="middle"></span>
87
88           </p></blockquote></div>
89 <h5>
90 <a name="math_toolkit.dist_ref.dists.nc_t_dist.h0"></a>
91           <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_t_dist.member_functions"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist_ref.dists.nc_t_dist.member_functions">Member
92           Functions</a>
93         </h5>
94 <pre class="programlisting"><span class="identifier">non_central_t_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">delta</span><span class="special">);</span>
95 </pre>
96 <p>
97           Constructs a non-central t distribution with degrees of freedom parameter
98           <span class="emphasis"><em>v</em></span> and non-centrality parameter <span class="emphasis"><em>delta</em></span>.
99         </p>
100 <p>
101           Requires <span class="emphasis"><em>v</em></span> &gt; 0 (including positive infinity) and
102           finite <span class="emphasis"><em>delta</em></span>, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
103         </p>
104 <pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
105 </pre>
106 <p>
107           Returns the parameter <span class="emphasis"><em>v</em></span> from which this object was
108           constructed.
109         </p>
110 <pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
111 </pre>
112 <p>
113           Returns the non-centrality parameter <span class="emphasis"><em>delta</em></span> from which
114           this object was constructed.
115         </p>
116 <h5>
117 <a name="math_toolkit.dist_ref.dists.nc_t_dist.h1"></a>
118           <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_t_dist.non_member_accessors"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist_ref.dists.nc_t_dist.non_member_accessors">Non-member
119           Accessors</a>
120         </h5>
121 <p>
122           All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
123           functions</a> that are generic to all distributions are supported:
124           <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
125           <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
126           <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
127           <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
128           <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
129           <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
130           <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
131           <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
132         </p>
133 <p>
134           The domain of the random variable is [-&#8734;, +&#8734;].
135         </p>
136 <h5>
137 <a name="math_toolkit.dist_ref.dists.nc_t_dist.h2"></a>
138           <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_t_dist.accuracy"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist_ref.dists.nc_t_dist.accuracy">Accuracy</a>
139         </h5>
140 <p>
141           The following table shows the peak errors (in units of <a href="http://en.wikipedia.org/wiki/Machine_epsilon" target="_top">epsilon</a>)
142           found on various platforms with various floating-point types. Unless otherwise
143           specified, any floating-point type that is narrower than the one shown
144           will have <a class="link" href="../../relative_error.html#math_toolkit.relative_error.zero_error">effectively
145           zero error</a>.
146         </p>
147 <div class="table">
148 <a name="math_toolkit.dist_ref.dists.nc_t_dist.table_non_central_t_CDF"></a><p class="title"><b>Table&#160;5.8.&#160;Error rates for non central t CDF</b></p>
149 <div class="table-contents"><table class="table" summary="Error rates for non central t CDF">
150 <colgroup>
151 <col>
152 <col>
153 <col>
154 <col>
155 <col>
156 </colgroup>
157 <thead><tr>
158 <th>
159                 </th>
160 <th>
161                   <p>
162                     GNU C++ version 7.1.0<br> linux<br> double
163                   </p>
164                 </th>
165 <th>
166                   <p>
167                     GNU C++ version 7.1.0<br> linux<br> long double
168                   </p>
169                 </th>
170 <th>
171                   <p>
172                     Sun compiler version 0x5150<br> Sun Solaris<br> long double
173                   </p>
174                 </th>
175 <th>
176                   <p>
177                     Microsoft Visual C++ version 14.1<br> Win32<br> double
178                   </p>
179                 </th>
180 </tr></thead>
181 <tbody>
182 <tr>
183 <td>
184                   <p>
185                     Non Central T
186                   </p>
187                 </td>
188 <td>
189                   <p>
190                     <span class="blue">Max = 0.796&#949; (Mean = 0.0691&#949;)</span><br>
191                     <br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max
192                     = 5.28e+15&#949; (Mean = 8.49e+14&#949;) <a class="link" href="../../logs_and_tables/logs.html#errors_GNU_C_version_7_1_0_linux_double_non_central_t_CDF_Rmath_3_2_3_Non_Central_T">And
193                     other failures.</a>)</span>
194                   </p>
195                 </td>
196 <td>
197                   <p>
198                     <span class="blue">Max = 139&#949; (Mean = 31&#949;)</span>
199                   </p>
200                 </td>
201 <td>
202                   <p>
203                     <span class="blue">Max = 145&#949; (Mean = 30.9&#949;)</span>
204                   </p>
205                 </td>
206 <td>
207                   <p>
208                     <span class="blue">Max = 135&#949; (Mean = 32.1&#949;)</span>
209                   </p>
210                 </td>
211 </tr>
212 <tr>
213 <td>
214                   <p>
215                     Non Central T (small non-centrality)
216                   </p>
217                 </td>
218 <td>
219                   <p>
220                     <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
221                     3.2.3:</em></span> Max = 2.09e+03&#949; (Mean = 244&#949;))
222                   </p>
223                 </td>
224 <td>
225                   <p>
226                     <span class="blue">Max = 3.86&#949; (Mean = 1.4&#949;)</span>
227                   </p>
228                 </td>
229 <td>
230                   <p>
231                     <span class="blue">Max = 9.15&#949; (Mean = 2.13&#949;)</span>
232                   </p>
233                 </td>
234 <td>
235                   <p>
236                     <span class="blue">Max = 6.17&#949; (Mean = 1.45&#949;)</span>
237                   </p>
238                 </td>
239 </tr>
240 <tr>
241 <td>
242                   <p>
243                     Non Central T (large parameters)
244                   </p>
245                 </td>
246 <td>
247                   <p>
248                     <span class="blue">Max = 257&#949; (Mean = 72.1&#949;)</span><br> <br>
249                     (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 2.46&#949; (Mean = 0.657&#949;))
250                   </p>
251                 </td>
252 <td>
253                   <p>
254                     <span class="blue">Max = 5.26e+05&#949; (Mean = 1.48e+05&#949;)</span>
255                   </p>
256                 </td>
257 <td>
258                   <p>
259                     <span class="blue">Max = 5.24e+05&#949; (Mean = 1.47e+05&#949;)</span>
260                   </p>
261                 </td>
262 <td>
263                   <p>
264                     <span class="blue">Max = 286&#949; (Mean = 62.8&#949;)</span>
265                   </p>
266                 </td>
267 </tr>
268 </tbody>
269 </table></div>
270 </div>
271 <br class="table-break"><div class="table">
272 <a name="math_toolkit.dist_ref.dists.nc_t_dist.table_non_central_t_CDF_complement"></a><p class="title"><b>Table&#160;5.9.&#160;Error rates for non central t CDF complement</b></p>
273 <div class="table-contents"><table class="table" summary="Error rates for non central t CDF complement">
274 <colgroup>
275 <col>
276 <col>
277 <col>
278 <col>
279 <col>
280 </colgroup>
281 <thead><tr>
282 <th>
283                 </th>
284 <th>
285                   <p>
286                     GNU C++ version 7.1.0<br> linux<br> double
287                   </p>
288                 </th>
289 <th>
290                   <p>
291                     GNU C++ version 7.1.0<br> linux<br> long double
292                   </p>
293                 </th>
294 <th>
295                   <p>
296                     Sun compiler version 0x5150<br> Sun Solaris<br> long double
297                   </p>
298                 </th>
299 <th>
300                   <p>
301                     Microsoft Visual C++ version 14.1<br> Win32<br> double
302                   </p>
303                 </th>
304 </tr></thead>
305 <tbody>
306 <tr>
307 <td>
308                   <p>
309                     Non Central T
310                   </p>
311                 </td>
312 <td>
313                   <p>
314                     <span class="blue">Max = 0.707&#949; (Mean = 0.0497&#949;)</span><br>
315                     <br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max
316                     = 6.19e+15&#949; (Mean = 6.72e+14&#949;) <a class="link" href="../../logs_and_tables/logs.html#errors_GNU_C_version_7_1_0_linux_double_non_central_t_CDF_complement_Rmath_3_2_3_Non_Central_T">And
317                     other failures.</a>)</span>
318                   </p>
319                 </td>
320 <td>
321                   <p>
322                     <span class="blue">Max = 201&#949; (Mean = 31.7&#949;)</span>
323                   </p>
324                 </td>
325 <td>
326                   <p>
327                     <span class="blue">Max = 340&#949; (Mean = 43.2&#949;)</span>
328                   </p>
329                 </td>
330 <td>
331                   <p>
332                     <span class="blue">Max = 154&#949; (Mean = 32.1&#949;)</span>
333                   </p>
334                 </td>
335 </tr>
336 <tr>
337 <td>
338                   <p>
339                     Non Central T (small non-centrality)
340                   </p>
341                 </td>
342 <td>
343                   <p>
344                     <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
345                     3.2.3:</em></span> Max = 1.87e+03&#949; (Mean = 263&#949;))
346                   </p>
347                 </td>
348 <td>
349                   <p>
350                     <span class="blue">Max = 10.5&#949; (Mean = 2.13&#949;)</span>
351                   </p>
352                 </td>
353 <td>
354                   <p>
355                     <span class="blue">Max = 10.5&#949; (Mean = 2.39&#949;)</span>
356                   </p>
357                 </td>
358 <td>
359                   <p>
360                     <span class="blue">Max = 4.6&#949; (Mean = 1.63&#949;)</span>
361                   </p>
362                 </td>
363 </tr>
364 <tr>
365 <td>
366                   <p>
367                     Non Central T (large parameters)
368                   </p>
369                 </td>
370 <td>
371                   <p>
372                     <span class="blue">Max = 478&#949; (Mean = 96.3&#949;)</span><br> <br>
373                     (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 2.24&#949; (Mean = 0.945&#949;))
374                   </p>
375                 </td>
376 <td>
377                   <p>
378                     <span class="blue">Max = 9.79e+05&#949; (Mean = 1.97e+05&#949;)</span>
379                   </p>
380                 </td>
381 <td>
382                   <p>
383                     <span class="blue">Max = 9.79e+05&#949; (Mean = 1.97e+05&#949;)</span>
384                   </p>
385                 </td>
386 <td>
387                   <p>
388                     <span class="blue">Max = 227&#949; (Mean = 50.4&#949;)</span>
389                   </p>
390                 </td>
391 </tr>
392 </tbody>
393 </table></div>
394 </div>
395 <br class="table-break"><div class="caution"><table border="0" summary="Caution">
396 <tr>
397 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
398 <th align="left">Caution</th>
399 </tr>
400 <tr><td align="left" valign="top"><p>
401             The complexity of the current algorithm is dependent upon &#948;<sup>2</sup>: consequently
402             the time taken to evaluate the CDF increases rapidly for &#948; &gt; 500, likewise
403             the accuracy decreases rapidly for very large &#948;.
404           </p></td></tr>
405 </table></div>
406 <p>
407           Accuracy for the quantile and PDF functions should be broadly similar.
408           The <span class="emphasis"><em>mode</em></span> is determined numerically and cannot in principal
409           be more accurate than the square root of floating-point type FPT epsilon,
410           accessed using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">epsilon</span><span class="special">&lt;</span><span class="identifier">FPT</span><span class="special">&gt;()</span></code>.
411           For 64-bit <code class="computeroutput"><span class="keyword">double</span></code>, epsilon
412           is about 1e-16, so the fractional accuracy is limited to 1e-8.
413         </p>
414 <h5>
415 <a name="math_toolkit.dist_ref.dists.nc_t_dist.h3"></a>
416           <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_t_dist.tests"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist_ref.dists.nc_t_dist.tests">Tests</a>
417         </h5>
418 <p>
419           There are two sets of tests of this distribution:
420         </p>
421 <p>
422           Basic sanity checks compare this implementation to the test values given
423           in "Computing discrete mixtures of continuous distributions: noncentral
424           chisquare, noncentral t and the distribution of the square of the sample
425           multiple correlation coefficient." Denise Benton, K. Krishnamoorthy,
426           Computational Statistics &amp; Data Analysis 43 (2003) 249-267.
427         </p>
428 <p>
429           Accuracy checks use test data computed with this implementation and arbitary
430           precision interval arithmetic: this test data is believed to be accurate
431           to at least 50 decimal places.
432         </p>
433 <p>
434           The cases of large (or infinite) &#957; and/or large &#948; has received special treatment
435           to avoid catastrophic loss of accuracy. New tests have been added to confirm
436           the improvement achieved.
437         </p>
438 <p>
439           From Boost 1.52, degrees of freedom &#957; can be +&#8734;
440 when the normal distribution
441           located at &#948;
442 (equivalent to the central Student's t distribution) is used
443           in place for accuracy and speed.
444         </p>
445 <h5>
446 <a name="math_toolkit.dist_ref.dists.nc_t_dist.h4"></a>
447           <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_t_dist.implementation"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist_ref.dists.nc_t_dist.implementation">Implementation</a>
448         </h5>
449 <p>
450           The CDF is computed using a modification of the method described in "Computing
451           discrete mixtures of continuous distributions: noncentral chisquare, noncentral
452           t and the distribution of the square of the sample multiple correlation
453           coefficient." Denise Benton, K. Krishnamoorthy, Computational Statistics
454           &amp; Data Analysis 43 (2003) 249-267.
455         </p>
456 <p>
457           This uses the following formula for the CDF:
458         </p>
459 <div class="blockquote"><blockquote class="blockquote"><p>
460             <span class="inlinemediaobject"><img src="../../../../equations/nc_t_ref2.svg"></span>
461
462           </p></blockquote></div>
463 <p>
464           Where I<sub>x</sub>(a,b) is the incomplete beta function, and &#934;(x) is the normal CDF
465           at x.
466         </p>
467 <p>
468           Iteration starts at the largest of the Poisson weighting terms (at i =
469           &#948;<sup>2</sup> / 2) and then proceeds in both directions as per Benton and Krishnamoorthy's
470           paper.
471         </p>
472 <p>
473           Alternatively, by considering what happens when t = &#8734;, we have x = 1, and
474           therefore I<sub>x</sub>(a,b) = 1 and:
475         </p>
476 <div class="blockquote"><blockquote class="blockquote"><p>
477             <span class="inlinemediaobject"><img src="../../../../equations/nc_t_ref3.svg"></span>
478
479           </p></blockquote></div>
480 <p>
481           From this we can easily show that:
482         </p>
483 <div class="blockquote"><blockquote class="blockquote"><p>
484             <span class="inlinemediaobject"><img src="../../../../equations/nc_t_ref4.svg"></span>
485
486           </p></blockquote></div>
487 <p>
488           and therefore we have a means to compute either the probability or its
489           complement directly without the risk of cancellation error. The crossover
490           criterion for choosing whether to calculate the CDF or its complement is
491           the same as for the <a class="link" href="nc_beta_dist.html" title="Noncentral Beta Distribution">Noncentral
492           Beta Distribution</a>.
493         </p>
494 <p>
495           The PDF can be computed by a very similar method using:
496         </p>
497 <div class="blockquote"><blockquote class="blockquote"><p>
498             <span class="inlinemediaobject"><img src="../../../../equations/nc_t_ref5.svg"></span>
499
500           </p></blockquote></div>
501 <p>
502           Where I<sub>x</sub><sup>'</sup>(a,b) is the derivative of the incomplete beta function.
503         </p>
504 <p>
505           For both the PDF and CDF we switch to approximating the distribution by
506           a Student's t distribution centred on &#948; when &#957; is very large. The crossover
507           location appears to be when &#948;/(4&#957;) &lt; &#949;, this location was estimated by
508           inspection of equation 2.6 in "A Comparison of Approximations To Percentiles
509           of the Noncentral t-Distribution". H. Sahai and M. M. Ojeda, Revista
510           Investigacion Operacional Vol 21, No 2, 2000, page 123.
511         </p>
512 <p>
513           Equation 2.6 is a Fisher-Cornish expansion by Eeden and Johnson. The second
514           term includes the ratio &#948;/(4&#957;), so when this term become negligible, this
515           and following terms can be ignored, leaving just Student's t distribution
516           centred on &#948;.
517         </p>
518 <p>
519           This was also confirmed by experimental testing.
520         </p>
521 <p>
522           See also
523         </p>
524 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
525 <li class="listitem">
526               "Some Approximations to the Percentage Points of the Noncentral
527               t-Distribution". C. van Eeden. International Statistical Review,
528               29, 4-31.
529             </li>
530 <li class="listitem">
531               "Continuous Univariate Distributions". N.L. Johnson, S. Kotz
532               and N. Balkrishnan. 1995. John Wiley and Sons New York.
533             </li>
534 </ul></div>
535 <p>
536           The quantile is calculated via the usual <a class="link" href="../../roots_noderiv.html" title="Root Finding Without Derivatives">root-finding
537           without derivatives</a> method with the initial guess taken as the quantile
538           of a normal approximation to the noncentral T.
539         </p>
540 <p>
541           There is no closed form for the mode, so this is computed via functional
542           maximisation of the PDF.
543         </p>
544 <p>
545           The remaining functions (mean, variance etc) are implemented using the
546           formulas given in Weisstein, Eric W. "Noncentral Student's t-Distribution."
547           From MathWorld--A Wolfram Web Resource. <a href="http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html" target="_top">http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html</a>
548           and in the <a href="http://reference.wolfram.com/mathematica/ref/NoncentralStudentTDistribution.html" target="_top">Mathematica
549           documentation</a>.
550         </p>
551 <p>
552           Some analytic properties of noncentral distributions (particularly unimodality,
553           and monotonicity of their modes) are surveyed and summarized by:
554         </p>
555 <p>
556           Andrea van Aubel &amp; Wolfgang Gawronski, Applied Mathematics and Computation,
557           141 (2003) 3-12.
558         </p>
559 </div>
560 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
561 <td align="left"></td>
562 <td align="right"><div class="copyright-footer">Copyright &#169; 2006-2019 Nikhar
563       Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
564       Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
565       R&#229;de, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
566       Daryle Walker and Xiaogang Zhang<p>
567         Distributed under the Boost Software License, Version 1.0. (See accompanying
568         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
569       </p>
570 </div></td>
571 </tr></table>
572 <hr>
573 <div class="spirit-nav">
574 <a accesskey="p" href="nc_f_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="normal_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
575 </div>
576 </body>
577 </html>