• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>Pareto 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.12.0">
8<link rel="up" href="../dists.html" title="Distributions">
9<link rel="prev" href="normal_dist.html" title="Normal (Gaussian) Distribution">
10<link rel="next" href="poisson_dist.html" title="Poisson 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="normal_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="poisson_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.pareto"></a><a class="link" href="pareto.html" title="Pareto Distribution">Pareto Distribution</a>
28</h4></div></div></div>
29<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">pareto</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
30<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>
31
32<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>
33          <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter 21. 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>
34<span class="keyword">class</span> <span class="identifier">pareto_distribution</span><span class="special">;</span>
35
36<span class="keyword">typedef</span> <span class="identifier">pareto_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">pareto</span><span class="special">;</span>
37
38<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 21. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
39<span class="keyword">class</span> <span class="identifier">pareto_distribution</span>
40<span class="special">{</span>
41<span class="keyword">public</span><span class="special">:</span>
42   <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
43   <span class="comment">// Constructor:</span>
44   <span class="identifier">pareto_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
45   <span class="comment">// Accessors:</span>
46   <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
47   <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
48<span class="special">};</span>
49
50<span class="special">}}</span> <span class="comment">// namespaces</span>
51</pre>
52<p>
53          The <a href="http://en.wikipedia.org/wiki/pareto_distribution" target="_top">Pareto
54          distribution</a> is a continuous distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
55          density function (pdf)</a>:
56        </p>
57<div class="blockquote"><blockquote class="blockquote"><p>
58            <span class="serif_italic">f(x; α, β) = αβ<sup>α</sup> / x<sup>α+ 1</sup></span>
59          </p></blockquote></div>
60<p>
61          For shape parameter α &gt; 0, and scale parameter β &gt; 0. If x &lt; β, the
62          pdf is zero.
63        </p>
64<p>
65          The <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Pareto
66          distribution</a> often describes the larger compared to the smaller.
67          A classic example is that 80% of the wealth is owned by 20% of the population.
68        </p>
69<p>
70          The following graph illustrates how the PDF varies with the scale parameter
71          β:
72        </p>
73<div class="blockquote"><blockquote class="blockquote"><p>
74            <span class="inlinemediaobject"><img src="../../../../graphs/pareto_pdf1.svg" align="middle"></span>
75
76          </p></blockquote></div>
77<p>
78          And this graph illustrates how the PDF varies with the shape parameter
79          α:
80        </p>
81<div class="blockquote"><blockquote class="blockquote"><p>
82            <span class="inlinemediaobject"><img src="../../../../graphs/pareto_pdf2.svg" align="middle"></span>
83
84          </p></blockquote></div>
85<h5>
86<a name="math_toolkit.dist_ref.dists.pareto.h0"></a>
87          <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.related_distributions"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.related_distributions">Related
88          distributions</a>
89        </h5>
90<h5>
91<a name="math_toolkit.dist_ref.dists.pareto.h1"></a>
92          <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.member_functions"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.member_functions">Member Functions</a>
93        </h5>
94<pre class="programlisting"><span class="identifier">pareto_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
95</pre>
96<p>
97          Constructs a <a href="http://en.wikipedia.org/wiki/pareto_distribution" target="_top">pareto
98          distribution</a> with shape <span class="emphasis"><em>shape</em></span> and scale <span class="emphasis"><em>scale</em></span>.
99        </p>
100<p>
101          Requires that the <span class="emphasis"><em>shape</em></span> and <span class="emphasis"><em>scale</em></span>
102          parameters are both greater than zero, 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">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
105</pre>
106<p>
107          Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
108        </p>
109<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
110</pre>
111<p>
112          Returns the <span class="emphasis"><em>shape</em></span> parameter of this distribution.
113        </p>
114<h5>
115<a name="math_toolkit.dist_ref.dists.pareto.h2"></a>
116          <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.non_member_accessors"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.non_member_accessors">Non-member
117          Accessors</a>
118        </h5>
119<p>
120          All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
121          functions</a> that are generic to all distributions are supported:
122          <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
123          <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
124          <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>,
125          <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>,
126          <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>,
127          <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
128          <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>,
129          <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>.
130        </p>
131<p>
132          The supported domain of the random variable is [scale, ∞].
133        </p>
134<h5>
135<a name="math_toolkit.dist_ref.dists.pareto.h3"></a>
136          <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.accuracy"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.accuracy">Accuracy</a>
137        </h5>
138<p>
139          The Pareto distribution is implemented in terms of the standard library
140          <code class="computeroutput"><span class="identifier">exp</span></code> functions plus <a class="link" href="../../powers/expm1.html" title="expm1">expm1</a> and so should have very
141          small errors, usually only a few epsilon.
142        </p>
143<p>
144          If probability is near to unity (or the complement of a probability near
145          zero) see also <a class="link" href="../../stat_tut/overview/complements.html#why_complements">why complements?</a>.
146        </p>
147<h5>
148<a name="math_toolkit.dist_ref.dists.pareto.h4"></a>
149          <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.implementation"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.implementation">Implementation</a>
150        </h5>
151<p>
152          In the following table α is the shape parameter of the distribution, and
153          β is its scale parameter, <span class="emphasis"><em>x</em></span> is the random variate,
154          <span class="emphasis"><em>p</em></span> is the probability and its complement <span class="emphasis"><em>q
155          = 1-p</em></span>.
156        </p>
157<div class="informaltable"><table class="table">
158<colgroup>
159<col>
160<col>
161</colgroup>
162<thead><tr>
163<th>
164                  <p>
165                    Function
166                  </p>
167                </th>
168<th>
169                  <p>
170                    Implementation Notes
171                  </p>
172                </th>
173</tr></thead>
174<tbody>
175<tr>
176<td>
177                  <p>
178                    pdf
179                  </p>
180                </td>
181<td>
182                  <p>
183                    Using the relation: pdf p = αβ<sup>α</sup>/x<sup>α +1</sup>
184                  </p>
185                </td>
186</tr>
187<tr>
188<td>
189                  <p>
190                    cdf
191                  </p>
192                </td>
193<td>
194                  <p>
195                    Using the relation: cdf p = 1 - (β / x)<sup>α</sup>
196                  </p>
197                </td>
198</tr>
199<tr>
200<td>
201                  <p>
202                    cdf complement
203                  </p>
204                </td>
205<td>
206                  <p>
207                    Using the relation: q = 1 - p = -(β / x)<sup>α</sup>
208                  </p>
209                </td>
210</tr>
211<tr>
212<td>
213                  <p>
214                    quantile
215                  </p>
216                </td>
217<td>
218                  <p>
219                    Using the relation: x = β / (1 - p)<sup>1/α</sup>
220                  </p>
221                </td>
222</tr>
223<tr>
224<td>
225                  <p>
226                    quantile from the complement
227                  </p>
228                </td>
229<td>
230                  <p>
231                    Using the relation: x = β / (q)<sup>1/α</sup>
232                  </p>
233                </td>
234</tr>
235<tr>
236<td>
237                  <p>
238                    mean
239                  </p>
240                </td>
241<td>
242                  <p>
243                    αβ / (β - 1)
244                  </p>
245                </td>
246</tr>
247<tr>
248<td>
249                  <p>
250                    variance
251                  </p>
252                </td>
253<td>
254                  <p>
255                    βα<sup>2</sup> / (β - 1)<sup>2</sup> (β - 2)
256                  </p>
257                </td>
258</tr>
259<tr>
260<td>
261                  <p>
262                    mode
263                  </p>
264                </td>
265<td>
266                  <p>
267                    α
268                  </p>
269                </td>
270</tr>
271<tr>
272<td>
273                  <p>
274                    skewness
275                  </p>
276                </td>
277<td>
278                  <p>
279                    Refer to <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Weisstein,
280                    Eric W. "Pareto Distribution." From MathWorld--A Wolfram
281                    Web Resource.</a>
282                  </p>
283                </td>
284</tr>
285<tr>
286<td>
287                  <p>
288                    kurtosis
289                  </p>
290                </td>
291<td>
292                  <p>
293                    Refer to <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Weisstein,
294                    Eric W. "Pareto Distribution." From MathWorld--A Wolfram
295                    Web Resource.</a>
296                  </p>
297                </td>
298</tr>
299<tr>
300<td>
301                  <p>
302                    kurtosis excess
303                  </p>
304                </td>
305<td>
306                  <p>
307                    Refer to <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Weisstein,
308                    Eric W. "pareto Distribution." From MathWorld--A Wolfram
309                    Web Resource.</a>
310                  </p>
311                </td>
312</tr>
313</tbody>
314</table></div>
315<h5>
316<a name="math_toolkit.dist_ref.dists.pareto.h5"></a>
317          <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.references"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.references">References</a>
318        </h5>
319<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
320<li class="listitem">
321              <a href="http://en.wikipedia.org/wiki/pareto_distribution" target="_top">Pareto
322              Distribution</a>
323            </li>
324<li class="listitem">
325              <a href="http://mathworld.wolfram.com/paretoDistribution.html" target="_top">Weisstein,
326              Eric W. "Pareto Distribution." From MathWorld--A Wolfram
327              Web Resource.</a>
328            </li>
329<li class="listitem">
330              Handbook of Statistical Distributions with Applications, K Krishnamoorthy,
331              ISBN 1-58488-635-8, Chapter 23, pp 257 - 267. (Note the meaning of
332              a and b is reversed in Wolfram and Krishnamoorthy).
333            </li>
334</ul></div>
335</div>
336<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
337<td align="left"></td>
338<td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar
339      Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
340      Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
341      Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
342      Daryle Walker and Xiaogang Zhang<p>
343        Distributed under the Boost Software License, Version 1.0. (See accompanying
344        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>)
345      </p>
346</div></td>
347</tr></table>
348<hr>
349<div class="spirit-nav">
350<a accesskey="p" href="normal_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="poisson_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
351</div>
352</body>
353</html>
354