wolffd@0
|
1 % CONF2MAHAL - Translates a confidence interval to a Mahalanobis
|
wolffd@0
|
2 % distance. Consider a multivariate Gaussian
|
wolffd@0
|
3 % distribution of the form
|
wolffd@0
|
4 %
|
wolffd@0
|
5 % p(x) = 1/sqrt((2 * pi)^d * det(C)) * exp((-1/2) * MD(x, m, inv(C)))
|
wolffd@0
|
6 %
|
wolffd@0
|
7 % where MD(x, m, P) is the Mahalanobis distance from x
|
wolffd@0
|
8 % to m under P:
|
wolffd@0
|
9 %
|
wolffd@0
|
10 % MD(x, m, P) = (x - m) * P * (x - m)'
|
wolffd@0
|
11 %
|
wolffd@0
|
12 % A particular Mahalanobis distance k identifies an
|
wolffd@0
|
13 % ellipsoid centered at the mean of the distribution.
|
wolffd@0
|
14 % The confidence interval associated with this ellipsoid
|
wolffd@0
|
15 % is the probability mass enclosed by it. Similarly,
|
wolffd@0
|
16 % a particular confidence interval uniquely determines
|
wolffd@0
|
17 % an ellipsoid with a fixed Mahalanobis distance.
|
wolffd@0
|
18 %
|
wolffd@0
|
19 % If X is an d dimensional Gaussian-distributed vector,
|
wolffd@0
|
20 % then the Mahalanobis distance of X is distributed
|
wolffd@0
|
21 % according to the Chi-squared distribution with d
|
wolffd@0
|
22 % degrees of freedom. Thus, the Mahalanobis distance is
|
wolffd@0
|
23 % determined by evaluating the inverse cumulative
|
wolffd@0
|
24 % distribution function of the chi squared distribution
|
wolffd@0
|
25 % up to the confidence value.
|
wolffd@0
|
26 %
|
wolffd@0
|
27 % Usage:
|
wolffd@0
|
28 %
|
wolffd@0
|
29 % m = conf2mahal(c, d);
|
wolffd@0
|
30 %
|
wolffd@0
|
31 % Inputs:
|
wolffd@0
|
32 %
|
wolffd@0
|
33 % c - the confidence interval
|
wolffd@0
|
34 % d - the number of dimensions of the Gaussian distribution
|
wolffd@0
|
35 %
|
wolffd@0
|
36 % Outputs:
|
wolffd@0
|
37 %
|
wolffd@0
|
38 % m - the Mahalanobis radius of the ellipsoid enclosing the
|
wolffd@0
|
39 % fraction c of the distribution's probability mass
|
wolffd@0
|
40 %
|
wolffd@0
|
41 % See also: MAHAL2CONF
|
wolffd@0
|
42
|
wolffd@0
|
43 % Copyright (C) 2002 Mark A. Paskin
|
wolffd@0
|
44 %
|
wolffd@0
|
45 % This program is free software; you can redistribute it and/or modify
|
wolffd@0
|
46 % it under the terms of the GNU General Public License as published by
|
wolffd@0
|
47 % the Free Software Foundation; either version 2 of the License, or
|
wolffd@0
|
48 % (at your option) any later version.
|
wolffd@0
|
49 %
|
wolffd@0
|
50 % This program is distributed in the hope that it will be useful, but
|
wolffd@0
|
51 % WITHOUT ANY WARRANTY; without even the implied warranty of
|
wolffd@0
|
52 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
wolffd@0
|
53 % General Public License for more details.
|
wolffd@0
|
54 %
|
wolffd@0
|
55 % You should have received a copy of the GNU General Public License
|
wolffd@0
|
56 % along with this program; if not, write to the Free Software
|
wolffd@0
|
57 % Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
wolffd@0
|
58 % USA.
|
wolffd@0
|
59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
wolffd@0
|
60 function m = conf2mahal(c, d)
|
wolffd@0
|
61
|
wolffd@0
|
62 m = chi2inv(c, d); |