README.md (4123B)
1 <!-- 2 3 @license Apache-2.0 4 5 Copyright (c) 2018 The Stdlib Authors. 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18 19 --> 20 21 # Logarithm of Probability Density Function 22 23 > Evaluate the natural logarithm of the probability density function (PDF) for a [lognormal][lognormal-distribution] distribution. 24 25 <section class="intro"> 26 27 The [probability density function][pdf] (PDF) for a [lognormal][lognormal-distribution] random variable is 28 29 <!-- <equation class="equation" label="eq:pdf" align="center" raw="f(x;\mu,\sigma) = \frac{1}{x\sqrt{2\pi\sigma^2}} e^{-\frac{\left(\ln x-\mu\right)^2}{2\sigma^2}}" alt="Probability density function (PDF) for a lognormal distribution."> --> 30 31 <div class="equation" align="center" data-raw-text="f(x;\mu,\sigma) = \frac{1}{x\sqrt{2\pi\sigma^2}} e^{-\frac{\left(\ln x-\mu\right)^2}{2\sigma^2}}" data-equation="eq:pdf"> 32 <img src="https://cdn.jsdelivr.net/gh/stdlib-js/stdlib@591cf9d5c3a0cd3c1ceec961e5c49d73a68374cb/lib/node_modules/@stdlib/stats/base/dists/lognormal/logpdf/docs/img/equation_pdf.svg" alt="Probability density function (PDF) for a lognormal distribution."> 33 <br> 34 </div> 35 36 <!-- </equation> --> 37 38 where `mu` is the location parameter and `sigma > 0` is the scale parameter. According to the definition, the _natural logarithm_ of a random variable from a 39 [lognormal distribution][lognormal-distribution] follows a [normal distribution][normal-distribution]. 40 41 </section> 42 43 <!-- /.intro --> 44 45 <section class="usage"> 46 47 ## Usage 48 49 ```javascript 50 var logpdf = require( '@stdlib/stats/base/dists/lognormal/logpdf' ); 51 ``` 52 53 #### logpdf( x, mu, sigma ) 54 55 Evaluates the natural logarithm of the [probability density function][pdf] (PDF) for a [lognormal][lognormal-distribution] distribution with parameters `mu` (location parameter) and `sigma` (scale parameter). 56 57 ```javascript 58 var y = logpdf( 2.0, 0.0, 1.0 ); 59 // returns ~-1.852 60 61 y = logpdf( 1.0, 0.0, 1.0 ); 62 // returns ~-0.919 63 64 y = logpdf( 1.0, 3.0, 1.0 ); 65 // returns ~-5.419 66 ``` 67 68 If provided `NaN` as any argument, the function returns `NaN`. 69 70 ```javascript 71 var y = logpdf( NaN, 0.0, 1.0 ); 72 // returns NaN 73 74 y = logpdf( 0.0, NaN, 1.0 ); 75 // returns NaN 76 77 y = logpdf( 0.0, 0.0, NaN ); 78 // returns NaN 79 ``` 80 81 If provided `sigma <= 0`, the function returns `NaN`. 82 83 ```javascript 84 var y = logpdf( 2.0, 0.0, -1.0 ); 85 // returns NaN 86 87 y = logpdf( 2.0, 0.0, 0.0 ); 88 // returns NaN 89 ``` 90 91 #### logpdf.factory( mu, sigma ) 92 93 Returns a function for evaluating the natural logarithm of the [probability density function][pdf] (PDF) of a [lognormal][lognormal-distribution] distribution with parameters `mu` (location parameter) and `sigma` (scale parameter). 94 95 ```javascript 96 var mylogpdf = logpdf.factory( 4.0, 2.0 ); 97 var y = mylogpdf( 10.0 ); 98 // returns ~-4.275 99 100 y = mylogpdf( 2.0 ); 101 // returns ~-3.672 102 ``` 103 104 </section> 105 106 <!-- /.usage --> 107 108 <section class="examples"> 109 110 ## Examples 111 112 <!-- eslint no-undef: "error" --> 113 114 ```javascript 115 var randu = require( '@stdlib/random/base/randu' ); 116 var logpdf = require( '@stdlib/stats/base/dists/lognormal/logpdf' ); 117 118 var sigma; 119 var mu; 120 var x; 121 var y; 122 var i; 123 124 for ( i = 0; i < 10; i++ ) { 125 x = randu() * 10.0; 126 mu = (randu() * 10.0) - 5.0; 127 sigma = randu() * 20.0; 128 y = logpdf( x, mu, sigma ); 129 console.log( 'x: %d, µ: %d, σ: %d, ln(f(x;µ,σ)): %d', x.toFixed( 4 ), mu.toFixed( 4 ), sigma.toFixed( 4 ), y.toFixed( 4 ) ); 130 } 131 ``` 132 133 </section> 134 135 <!-- /.examples --> 136 137 <section class="links"> 138 139 [lognormal-distribution]: https://en.wikipedia.org/wiki/Lognormal_distribution 140 141 [normal-distribution]: https://en.wikipedia.org/wiki/Normal_distribution 142 143 [pdf]: https://en.wikipedia.org/wiki/Probability_density_function 144 145 </section> 146 147 <!-- /.links -->