Computes Bhattacharyya discriminant projection coordinates as described in Fukunaga (1990), p. 455 ff.
batcoord(xd, clvecd, clnum=1, dom="mean")
batvarcoord(xd, clvecd, clnum=1)
batcoord
returns a list with the components ev, rev,
units, proj
. batvarcoord
returns a list with the components
ev, rev, units, proj, W, S1, S2
.
vector of eigenvalues. If dom="mean"
, then first eigenvalue
from discrcoord
. Further eigenvalues are of
\(S_1^{-1}S_2\), where \(S_i\) is the covariance matrix of class
i. For batvarcoord
or
if dom="variance"
, all eigenvalues come from
\(S_1^{-1}S_2\) and are ordered by rev
.
for batcoord
:
vector of projected Bhattacharyya distances (Fukunaga
(1990), p. 99). Determine quality of the projection coordinates.
For batvarcoord
: vector of amount of projected difference in
variances.
columns are coordinates of projection basis vectors.
New points x
can be projected onto the projection basis vectors
by x %*% units
.
projections of xd
onto units
.
matrix \(S_1^{-1}S_2\).
covariance matrix of the first class.
covariance matrix of the second class.
the data matrix; a numerical object which can be coerced to a matrix.
integer or logical vector of class numbers; length must equal
nrow(xd)
.
integer, one of the values of clvecd
, if this is
an integer vector. Bhattacharyya projections can only be computed if
there are only two classes in the dataset. clnum
is the number
of one of the two classes. All the points indicated by other values
of clvecd
are interpreted as the second class.
string. dom="mean"
means that the discriminant
coordinate for the group means is computed as the first projection
direction by
discrcoord
(option pool="equal"
; both classes
have the same weight for computing the within-class covariance
matrix). Then the data is projected into a subspace orthogonal
(w.r.t. the within-class covariance) to the
discriminant coordinate, and the projection coordinates to maximize
the differences in variance are computed.
dom="variance"
means that the projection coordinates
maximizing the difference in variances are computed. Then they are
ordered with respect to the Bhattacharyya distance, which takes also
the mean differences into account. Both procedures are implemented
as described in Fukunaga (1990).
Christian Hennig christian.hennig@unibo.it https://www.unibo.it/sitoweb/christian.hennig/en/
batvarcoord
computes the optimal projection coordinates with
respect to the difference in variances. batcoord
combines the
differences in mean and variance as explained for the argument dom
.
Fukunaga, K. (1990). Introduction to Statistical Pattern Recognition (2nd ed.). Boston: Academic Press.
plotcluster
for straight forward discriminant plots.
discrcoord
for discriminant coordinates.
rFace
for generation of the example data used below.
set.seed(4634)
face <- rFace(600,dMoNo=2,dNoEy=0)
grface <- as.integer(attr(face,"grouping"))
bcf2 <- batcoord(face,grface==2)
plot(bcf2$proj,col=1+(grface==2))
bcfv2 <- batcoord(face,grface==2,dom="variance")
plot(bcfv2$proj,col=1+(grface==2))
bcfvv2 <- batvarcoord(face,grface==2)
plot(bcfvv2$proj,col=1+(grface==2))
Run the code above in your browser using DataLab