📄 non_members.qbk
字号:
[section:nmp Non-Member Properties]Properties that are common to all distributions are accessed via non-member getter functions. This allows more of these functions to be added over timeas the need arises. Unfortunately the literature uses many different andconfusing names to refer to a rather small number of actual concepts; referto the [link concept_index concept index] to find the property you want by the name you are most familiar with. Or use the [link function_index function index]to go straight to the function you want if you already know its name.[h4 [#function_index]Function Index]* [link math.dist.cdf cdf].* [link math.dist.ccdf cdf complement].* [link math.dist.chf chf].* [link math.dist.hazard hazard].* __kurtosis.* __kurtosis_excess* __mean.* [link math.dist.median median].* __mode.* [link math.dist.pdf pdf].* [link math.dist.range range].* [link math.dist.quantile quantile].* [link math.dist.quantile_c quantile from the complement].* __skewness.* [link math.dist.sd standard_deviation].* [link math.dist.support support].* __variance.[h4 [#concept_index]Conceptual Index]* __ccdf.* __cdf.* __chf.* [link cdf_inv Inverse Cumulative Distribution Function].* [link survival_inv Inverse Survival Function].* __hazard* [link lower_critical Lower Critical Value].* __kurtosis.* __kurtosis_excess* __mean.* [link math.dist.median median].* __mode.* [link cdfPQ P].* [link percent Percent Point Function].* __pdf.* [link pmf Probability Mass Function].* [link math.dist.range range].* [link cdfPQ Q].* __quantile.* [link math.dist.quantile_c Quantile from the complement of the probability].* __skewness.* __sd* [link survival Survival Function].* [link math.dist.support support].* [link upper_critical Upper Critical Value].* __variance.[h4 [#math.dist.cdf]Cumulative Distribution Function] template <class RealType, class ``__Policy``> RealType cdf(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x); The __cdf is the probability that the variable takes a value less than or equal to x. It is equivalentto the integral from -infinity to x of the __pdf.This function may return a __domain_error if the random variable is outsidethe defined range for the distribution.For example the following graph shows the cdf for thenormal distribution:[$../graphs/cdf.png][h4 [#math.dist.ccdf]Complement of the Cumulative Distribution Function] template <class Distribution, class RealType> RealType cdf(const ``['Unspecified-Complement-Type]``<Distribution, RealType>& comp); The complement of the __cdf is the probability that the variable takes a value greater than x. It is equivalentto the integral from x to infinity of the __pdf, or 1 minus the __cdf of x. This is also known as the survival function.This function may return a __domain_error if the random variable is outsidethe defined range for the distribution.In this library, it is obtained by wrapping the arguments to the `cdf`function in a call to `complement`, for example: // standard normal distribution object: boost::math::normal norm; // print survival function for x=2.0: std::cout << cdf(complement(norm, 2.0)) << std::endl;For example the following graph shows the __complement of the cdf for thenormal distribution:[$../graphs/survival.png]See __why_complements for why the complement is useful and when it should be used.[h4 [#math.dist.hazard]Hazard Function] template <class RealType, class ``__Policy``> RealType hazard(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x);Returns the __hazard of /x/ and distibution /dist/.This function may return a __domain_error if the random variable is outsidethe defined range for the distribution.[equation hazard][cautionSome authors refer to this as the conditional failure density function rather than the hazard function.][h4 [#math.dist.chf]Cumulative Hazard Function] template <class RealType, class ``__Policy``> RealType chf(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x);Returns the __chf of /x/ and distibution /dist/.This function may return a __domain_error if the random variable is outsidethe defined range for the distribution.[equation chf][caution Some authors refer to this as simply the "Hazard Function".][h4 [#math.dist.mean]mean] template<class RealType, class ``__Policy``> RealType mean(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist); Returns the mean of the distribution /dist/.This function may return a __domain_error if the distribution does not havea defined mean (for example the Cauchy distribution).[h4 [#math.dist.median]median] template<class RealType, class ``__Policy``> RealType median(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist); Returns the median of the distribution /dist/.[h4 [#math.dist.mode]mode] template<class RealType, ``__Policy``> RealType mode(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist); Returns the mode of the distribution /dist/.This function may return a __domain_error if the distribution does not havea defined mode.[h4 [#math.dist.pdf]Probability Density Function] template <class RealType, class ``__Policy``> RealType pdf(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x); For a continuous function, the probability density function (pdf) returns the probability that the variate has the value x. Since for continuous distributions the probability at a single point is actually zero, the probability is better expressed as the integral of the pdf between two points:see the __cdf.For a discrete distribution, the pdf is the probability that the variate takes the value x.This function may return a __domain_error if the random variable is outsidethe defined range for the distribution.For example for a standard normal distribution the pdf looks like this:[$../graphs/pdf.png][h4 [#math.dist.range]range] template<class RealType, class ``__Policy``> std::pair<RealType, RealType> range(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist); Returns the valid range of the random variable over distribution /dist/.[h4 [#math.dist.quantile]Quantile] template <class RealType, class ``__Policy``> RealType quantile(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& p); The quantile is best viewed as the inverse of the __cdf, it returnsa value /x/ such that `cdf(dist, x) == p`.This is also known as the /percent point function/, or a /percentile/, it isalso the same as calculating the ['lower critical value] of a distribution.This function returns a __domain_error if the probability lies outside [0,1].The function may return an __overflow_error if there is no finite valuethat has the specified probability.The following graph shows the quantile function for a standard normaldistribution:[$../graphs/quantile.png][h4 [#math.dist.quantile_c]Quantile from the complement of the probability.][link complements complements] template <class Distribution, class RealType> RealType quantile(const ``['Unspecified-Complement-Type]``<Distribution, RealType>& comp); This is the inverse of the __ccdf. It is calculated by wrappingthe arguments in a call to the quantile function in a call to/complement/. For example: // define a standard normal distribution: boost::math::normal norm; // print the value of x for which the complement // of the probability is 0.05: std::cout << quantile(complement(norm, 0.05)) << std::endl;The function computes a value /x/ such that`cdf(complement(dist, x)) == q` where /q/ is complement of theprobability.[link why_complements Why complements?]This function is also called the inverse survival function, and is thesame as calculating the ['upper critical value] of a distribution.This function returns a __domain_error if the probablity lies outside [0,1].The function may return an __overflow_error if there is no finite valuethat has the specified probability.The following graph show the inverse survival function for the normaldistribution:[$../graphs/survival_inv.png][h4 [#math.dist.sd]Standard Deviation] template <class RealType, class ``__Policy``> RealType standard_deviation(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist); Returns the standard deviation of distribution /dist/. This function may return a __domain_error if the distribution does not havea defined standard deviation.[h4 [#math.dist.support]support] template<class RealType, class ``__Policy``> std::pair<RealType, RealType> support(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist); Returns the supported range of random variable over the distribution /dist/.The distribution is said to be 'supported' over a range that is[@http://en.wikipedia.org/wiki/Probability_distribution "the smallest closed set whose complement has probability zero"].Non-mathematicians might say it means the 'interesting' smallest rangeof random variate x that has the cdf going from zero to unity.Outside are uninteresting zones where the pdf is zero, and the cdf zero or unity.[h4 [#math.dist.variance]Variance] template <class RealType, class ``__Policy``> RealType variance(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist); Returns the variance of the distribution /dist/.This function may return a __domain_error if the distribution does not havea defined variance.[h4 [#math.dist.skewness]Skewness] template <class RealType, class ``__Policy``> RealType skewness(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist); Returns the skewness of the distribution /dist/.This function may return a __domain_error if the distribution does not havea defined skewness.[h4 [#math.dist.kurtosis]Kurtosis] template <class RealType, class ``__Policy``> RealType kurtosis(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist); Returns the 'proper' kurtosis (normalized fourth moment) of the distribution /dist/.kertosis = [beta][sub 2][space]= [mu][sub 4][space] / [mu][sub 2][super 2]Where [mu][sub i][space] is the i'th central moment of the distribution, andin particular [mu][sub 2][space] is the variance of the distribution.The kurtosis is a measure of the "peakedness" of a distribution.Note that the literature definition of kurtosis is confusing.The definition used here is that used by for example[@http://mathworld.wolfram.com/Kurtosis.html Wolfram MathWorld](that includes a table of formulae for kurtosis excess for various distributions)but NOT the definition of[@http://en.wikipedia.org/wiki/Kurtosis kurtosis used by Wikipedia]which treats "kurtosis" and "kurtosis excess" as the same quantity. kurtosis_excess = 'proper' kurtosis - 3This subtraction of 3 is convenient so that the ['kurtosis excess]of a normal distribution is zero.This function may return a __domain_error if the distribution does not havea defined kurtosis.'Proper' kurtosis can have a value from zero to + infinity.[h4 [#math.dist.kurtosis_excess]Kurtosis excess] template <class RealType, ``__Policy``> RealType kurtosis_excess(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist); Returns the kurtosis excess of the distribution /dist/.kurtosis excess = [gamma][sub 2][space]= [mu][sub 4][space] / [mu][sub 2][super 2][space]- 3 = kurtosis - 3Where [mu][sub i][space] is the i'th central moment of the distribution, andin particular [mu][sub 2][space] is the variance of the distribution.The kurtosis excess is a measure of the "peakedness" of a distribution, and is more widely used than the "kurtosis proper". It is defined so thatthe kurtosis excess of a normal distribution is zero.This function may return a __domain_error if the distribution does not havea defined kurtosis excess.Kurtosis excess can have a value from -2 to + infinity. kurtosis = kurtosis_excess +3; The kurtosis excess of a normal distribution is zero.[h4 [#cdfPQ]P and Q]The terms P and Q are sometimes used to refer to the __cdfand its [link math.dist.ccdf complement] respectively.Lowercase p and q are sometimes used to refer to the values returnedby these functions.[h4 [#percent]Percent Point Function]The percent point function, also known as the percentile, is the same asthe __quantile.[h4 [#cdf_inv]Inverse CDF Function.]The inverse of the cumulative distribution function, is the same as the __quantile.[h4 [#survival_inv]Inverse Survival Function.]The inverse of the survival function, is the same as computing the [link math.dist.quantile_c quantilefrom the complement of the probability].[h4 [#pmf]Probability Mass Function]The Probability Mass Function is the same as the __pdf.The term Mass Function is usually applied to discrete distributions,while the term __pdf applies to continuous distributions.[h4 [#lower_critical]Lower Critical Value.]The lower critical value calculates the value of the random variablegiven the area under the left tail of the distribution. It is equivalent to calculating the __quantile.[h4 [#upper_critical]Upper Critical Value.]The upper critical value calculates the value of the random variablegiven the area under the right tail of the distribution. It is equivalent to calculating the [link math.dist.quantile_c quantile from the complement of theprobability].[h4 [#survival]Survival Function]Refer to the __ccdf.[endsect][/section:nmp Non-Member Properties][/ non_members.qbk Copyright 2006 John Maddock and Paul A. Bristow. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt).]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -