Return the boundaries containing 100% p
points drawn from a
chi-squared distribution with r
degrees of freedom. The region can be
1-sided, such that 100% p
values are less than the upper bound or
2-sided, such that 100% p
values are between the lower and upper
bounds.
bounds = chisqbounds(r, p)
bounds = chisqbounds(r, p, sidedness)
r | Degrees of freedom (positive integer) (e.g., 2) |
---|---|
p | Fraction of data within bounds (e.g., 0.95 for 95%) |
s | 1 for 1-sided (default) or 2 for 2-sided region |
bounds | Bounds containing p fraction of data (e.g., [0 5.99] for 1-sided or [0.051 7.38] for 2-sided |
---|
We'll make sure that the theoretical and empircal bounds match up reasonably well for some random draws.
% Generate 10,000 samples from a 2 degree of freedom chi^2 distribution.
n = 10000;
x = sum(randn(2, n).^2, 1);
% Get the theoretical 95% 1-sided bound.
b = chisqbounds(2, 0.95, 1);
% See what percentage of the data are within bounds.
sum(x < b(2)) / n
% Get the theoretical 95% 2-sided bounds.
b = chisqbounds(2, 0.95, 2);
% See what percentage of the data are within bounds.
sum(b(1) < x & x < b(2)) / n
ans =
0.9477
ans =
0.9472
*kf
v1.0.3