📄 students_t.qbk
字号:
[section:students_t_dist Students t Distribution]``#include <boost/math/distributions/students_t.hpp>`` namespace boost{ namespace math{ template <class RealType = double, class ``__Policy`` = ``__policy_class`` > class students_t_distribution; typedef students_t_distribution<> students_t; template <class RealType, class ``__Policy``> class students_t_distribution { typedef RealType value_type; typedef Policy policy_type; // Construct: students_t_distribution(const RealType& v); // Accessor: RealType degrees_of_freedom()const; // degrees of freedom estimation: static RealType find_degrees_of_freedom( RealType difference_from_mean, RealType alpha, RealType beta, RealType sd, RealType hint = 100); }; }} // namespaces A statistical distribution published by William Gosset in 1908. His employer, Guinness Breweries, required him to publish under a pseudonym, so he chose "Student". Given N independent measurements, let[equation students_t_dist]where /M/ is the population mean,[' ''' μ '''] is the sample mean, and /s/ is the sample variance.Student's t-distribution is defined as the distribution of the random variable t which is - very loosely - the "best" that we can do not knowing the true standard deviation of the sample. It has the PDF:[equation students_t_ref1]The Student's t-distribution takes a single parameter: the number ofdegrees of freedom of the sample. When the degrees of freedom is/one/ then this distribution is the same as the Cauchy-distribution.As the number of degrees of freedom tends towards infinity, then thisdistribution approaches the normal-distribution. The following graphillustrates how the PDF varies with the degrees of freedom [nu]:[graph students_t_pdf][h4 Member Functions] students_t_distribution(const RealType& v); Constructs a Student's t-distribution with /v/ degrees of freedom.Requires v > 0, otherwise calls __domain_error. Note that non-integral degrees of freedom are supported, and meaningful under certain circumstances. RealType degrees_of_freedom()const; Returns the number of degrees of freedom of this distribution. static RealType find_degrees_of_freedom( RealType difference_from_mean, RealType alpha, RealType beta, RealType sd, RealType hint = 100);Returns the number of degrees of freedom required to observe a significantresult in the Student's t test when the mean differs from the "true" mean by /difference_from_mean/.[variablelist[[difference_from_mean][The difference between the true mean and the sample mean that we wish to show is significant.]][[alpha][The maximum acceptable probability of rejecting the null hypothesis when it is in fact true.]][[beta][The maximum acceptable probability of failing to reject the null hypothesis when it is in fact false.]][[sd][The sample standard deviation.]][[hint][A hint for the location to start looking for the result, a good choice for this would be the sample size of a previous borderline Student's t test.]]][noteRemember that for a two-sided test, you must divide alpha by twobefore calling this function.]For more information on this function see the [@http://www.itl.nist.gov/div898/handbook/prc/section2/prc222.htm NIST Engineering Statistics Handbook]. [h4 Non-member Accessors]All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to alldistributions are supported: __usual_accessors.The domain of the random variable is \[-[infin], +[infin]\].[h4 Examples]Various [link math_toolkit.dist.stat_tut.weg.st_eg worked examples] are available illustrating the use of the Student's tdistribution.[h4 Accuracy]The normal distribution is implemented in terms of the [link math_toolkit.special.sf_beta.ibeta_function incomplete beta function]and [link math_toolkit.special.sf_beta.ibeta_inv_function it's inverses],refer to accuracy data on those functions for more information.[h4 Implementation]In the following table /v/ is the degrees of freedom of the distribution, /t/ is the random variate, /p/ is the probability and /q = 1-p/.[table[[Function][Implementation Notes]][[pdf][Using the relation: pdf = (v \/ (v + t[super 2]))[super (1+v)\/2 ] / (sqrt(v) * __beta(v\/2, 0.5)) ]][[cdf][Using the relations:p = 1 - z /iff t > 0/p = z /otherwise/where z is given by:__ibeta(v \/ 2, 0.5, v \/ (v + t[super 2])) \/ 2 ['iff v < 2t[super 2]]__ibetac(0.5, v \/ 2, t[super 2 ] / (v + t[super 2]) \/ 2 /otherwise/]][[cdf complement][Using the relation: q = cdf(-t) ]][[quantile][Using the relation: t = sign(p - 0.5) * sqrt(v * y \/ x)where:x = __ibeta_inv(v \/ 2, 0.5, 2 * min(p, q))y = 1 - xThe quantities /x/ and /y/ are both returned by __ibeta_invwithout the subtraction implied above.]][[quantile from the complement][Using the relation: t = -quantile(q)]][[mean][0]][[variance][v \/ (v - 2)]][[mode][0]][[skewness][0]][[kurtosis][3 * (v - 2) \/ (v - 4)]][[kurtosis excess][6 \/ (df - 4)]]][endsect][/section:students_t_dist Students t][/ students_t.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 + -