*kf
by An Uncommon Lab

chisqbounds

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)

Inputs

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

Outputs

bounds

Bounds containing p fraction of data (e.g., [0 5.99] for 1-sided or [0.051 7.38] for 2-sided

Example

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

See Also

normalbounds

Table of Contents

  1. Inputs
  2. Outputs
  3. Example
  4. See Also