]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/math/doc/distributions/chi_squared.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / math / doc / distributions / chi_squared.qbk
CommitLineData
7c673cae
FG
1[section:chi_squared_dist Chi Squared Distribution]
2
3``#include <boost/math/distributions/chi_squared.hpp>``
4
5 namespace boost{ namespace math{
6
7 template <class RealType = double,
8 class ``__Policy`` = ``__policy_class`` >
9 class chi_squared_distribution;
10
11 typedef chi_squared_distribution<> chi_squared;
12
13 template <class RealType, class ``__Policy``>
14 class chi_squared_distribution
15 {
16 public:
17 typedef RealType value_type;
18 typedef Policy policy_type;
19
20 // Constructor:
21 chi_squared_distribution(RealType i);
22
23 // Accessor to parameter:
24 RealType degrees_of_freedom()const;
25
26 // Parameter estimation:
27 static RealType find_degrees_of_freedom(
28 RealType difference_from_mean,
29 RealType alpha,
30 RealType beta,
31 RealType sd,
32 RealType hint = 100);
33 };
34
35 }} // namespaces
36
37The Chi-Squared distribution is one of the most widely used distributions
38in statistical tests. If [chi][sub i][space] are [nu][space]
39independent, normally distributed
40random variables with means [mu][sub i][space] and variances [sigma][sub i][super 2],
41then the random variable:
42
43[equation chi_squ_ref1]
44
45is distributed according to the Chi-Squared distribution.
46
47The Chi-Squared distribution is a special case of the gamma distribution
48and has a single parameter [nu][space] that specifies the number of degrees of
49freedom. The following graph illustrates how the distribution changes
50for different values of [nu]:
51
52[graph chi_squared_pdf]
53
54[h4 Member Functions]
55
56 chi_squared_distribution(RealType v);
57
58Constructs a Chi-Squared distribution with /v/ degrees of freedom.
59
60Requires v > 0, otherwise calls __domain_error.
61
62 RealType degrees_of_freedom()const;
63
64Returns the parameter /v/ from which this object was constructed.
65
66 static RealType find_degrees_of_freedom(
67 RealType difference_from_variance,
68 RealType alpha,
69 RealType beta,
70 RealType variance,
71 RealType hint = 100);
72
73Estimates the sample size required to detect a difference from a nominal
74variance in a Chi-Squared test for equal standard deviations.
75
76[variablelist
77[[difference_from_variance][The difference from the assumed nominal variance
78 that is to be detected: Note that the sign of this value is critical, see below.]]
79[[alpha][The maximum acceptable risk of rejecting the null hypothesis when it is
80 in fact true.]]
81[[beta][The maximum acceptable risk of falsely failing to reject the null hypothesis.]]
82[[variance][The nominal variance being tested against.]]
83[[hint][An optional hint on where to start looking for a result: the current sample
84 size would be a good choice.]]
85]
86
87Note that this calculation works with /variances/ and not /standard deviations/.
88
89The sign of the parameter /difference_from_variance/ is important: the Chi
90Squared distribution is asymmetric, and the caller must decide in advance
91whether they are testing for a variance greater than a nominal value (positive
92/difference_from_variance/) or testing for a variance less than a nominal value
93(negative /difference_from_variance/). If the latter, then obviously it is
94a requirement that `variance + difference_from_variance > 0`, since no sample
95can have a negative variance!
96
97This procedure uses the method in Diamond, W. J. (1989).
98Practical Experiment Designs, Van-Nostrand Reinhold, New York.
99
100See also section on Sample sizes required in
101[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc232.htm the NIST Engineering Statistics Handbook, Section 7.2.3.2].
102
103[h4 Non-member Accessors]
104
105All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
106that are generic to all distributions are supported: __usual_accessors.
107
108(We have followed the usual restriction of the mode to degrees of freedom >= 2,
109but note that the maximum of the pdf is actually zero for degrees of freedom from 2 down to 0,
110and provide an extended definition that would avoid a discontinuity in the mode
111as alternative code in a comment).
112
113The domain of the random variable is \[0, +[infin]\].
114
115[h4 Examples]
116
117Various [link math_toolkit.stat_tut.weg.cs_eg worked examples]
118are available illustrating the use of the Chi Squared Distribution.
119
120[h4 Accuracy]
121
122The Chi-Squared distribution is implemented in terms of the
123[link math_toolkit.sf_gamma.igamma incomplete gamma functions]:
124please refer to the accuracy data for those functions.
125
126[h4 Implementation]
127
128In the following table /v/ is the number of degrees of freedom of the distribution,
129/x/ is the random variate, /p/ is the probability, and /q = 1-p/.
130
131[table
132[[Function][Implementation Notes]]
133[[pdf][Using the relation: pdf = __gamma_p_derivative(v / 2, x / 2) / 2 ]]
134[[cdf][Using the relation: p = __gamma_p(v / 2, x / 2) ]]
135[[cdf complement][Using the relation: q = __gamma_q(v / 2, x / 2) ]]
136[[quantile][Using the relation: x = 2 * __gamma_p_inv(v / 2, p) ]]
137[[quantile from the complement][Using the relation: x = 2 * __gamma_q_inv(v / 2, p) ]]
138[[mean][v]]
139[[variance][2v]]
140[[mode][v - 2 (if v >= 2)]]
141[[skewness][2 * sqrt(2 / v) == sqrt(8 / v)]]
142[[kurtosis][3 + 12 / v]]
143[[kurtosis excess][12 / v]]
144]
145
146[h4 References]
147
148* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm NIST Exploratory Data Analysis]
149* [@http://en.wikipedia.org/wiki/Chi-square_distribution Chi-square distribution]
150* [@http://mathworld.wolfram.com/Chi-SquaredDistribution.html Weisstein, Eric W. "Chi-Squared Distribution." From MathWorld--A Wolfram Web Resource.]
151
152
153[endsect][/section:chi_squared_dist Chi Squared]
154
155[/ chi_squared.qbk
156 Copyright 2006 John Maddock and Paul A. Bristow.
157 Distributed under the Boost Software License, Version 1.0.
158 (See accompanying file LICENSE_1_0.txt or copy at
159 http://www.boost.org/LICENSE_1_0.txt).
160]
161