R: Linear dimension reduction for classification

discrproj {fpc} | R Documentation

## Linear dimension reduction for classification

### Description

An interface for ten methods of linear dimension reduction in order to separate the groups optimally in the projected data. Includes classical discriminant coordinates, methods to project differences in mean and covariance structure, asymmetric methods (separation of a homogeneous class from a heterogeneous one), local neighborhood-based methods and methods based on robust covariance matrices.

### Usage

     discrproj(x, clvecd, method="dc", clnum=NULL, ignorepoints=FALSE,
               ignorenum=0, ...)

### Arguments

`x` | the data matrix; a numerical object which can be coerced to a matrix.
`clvecd` | vector of class numbers which can be coerced into integers; length must equal `nrow(xd)`.
`method` | one of "dc" usual discriminant coordinates, see `discrcoord`, "bc" Bhattacharyya coordinates, first coordinate showing mean differences, second showing covariance matrix differences, see `batcoord`, "vbc" variance dominated Bhattacharyya coordinates, see `batcoord`, "mvdc" added meana and variance differences optimizing coordinates, see `mvdcoord`, "adc" asymmetric discriminant coordinates, see `adcoord`, "awc" asymmetric discriminant coordinates with weighted observations, see `awcoord`, "arc" asymmetric discriminant coordinates with weighted observations and robust MCD-covariance matrix, see `awcoord`, "nc" neighborhood based coordinates, see `ncoord`, "wnc" neighborhood based coordinates with weighted neighborhoods, see `ncoord`, "anc" asymmetric neighborhood based coordinates, see `ancoord`. Note that "bc", "vbc", "adc", "awc", "arc" and "anc" assume that there are only two classes.
`clnum` | integer. Number of the class which is attempted to plot homogeneously by "asymmetric methods", which are the methods assuming that there are only two classes, as indicated above.
`ignorepoints` | logical. If `TRUE`, points with label `ignorenum` in `clvecd` are ignored in the computation for `method` and are only projected afterwards onto the resulting units. If `pch=NULL`, the plot symbol for these points is "N".
`ignorenum` | one of the potential values of the components of `clvecd`. Only has effect if `ignorepoints=TRUE`, see above.
`...` | additional parameters passed to the projection methods.

### Value

`discrproj` returns the output of the chosen projection method, which is a list with at least the components `ev, units, proj`. For detailed informations see the help pages of the projection methods.

`ev` | eigenvalues in descending order, usually indicating portion of information in the corresponding direction.
`units` | columns are coordinates of projection basis vectors. New points `x` can be projected onto the projection basis vectors by `x %*% units`
`proj` | projections of `xd` onto `units`.

### Author(s)

Christian Hennig c.hennig@ucl.ac.uk http://www.homepages.ucl.ac.uk/~ucakche/

### References

Hennig, C. (2004) Asymmetric linear dimension reduction for classification. Journal of Computational and Graphical Statistics 13, 930-945 .

Hennig, C. (2005) A method for visual cluster validation. In: Weihs, C. and Gaul, W. (eds.): Classification - The Ubiquitous Challenge. Springer, Heidelberg 2005, 153-160.

Seber, G. A. F. (1984). Multivariate Observations. New York: Wiley.

Fukunaga (1990). Introduction to Statistical Pattern Recognition (2nd ed.). Boston: Academic Press.

### See Also

`discrcoord`, `batcoord`, `mvdcoord`, `adcoord`, `awcoord`, `ncoord`, `ancoord`.

`rFace` for generation of the example data used below.

### Examples

    set.seed(4634)
    face <- rFace(300,dMoNo=2,dNoEy=0,p=3)
    grface <- as.integer(attr(face,"grouping"))

    # The abs in the following is there to unify the output,
    # because eigenvectors are defined only up to their sign.
    # Statistically it doesn't make sense to compute absolute values.
    round(abs(discrproj(face,grface, method="nc")$units),digits=2)
    round(abs(discrproj(face,grface, method="wnc")$units),digits=2)
    round(abs(discrproj(face,grface, clnum=1, method="arc")$units),digits=2)

[Package fpc version 2.1-10 Index]