kda, pda, compare {ks}R Documentation

Kernel and parametric discriminant analysis

Description

Kernel and parametric discriminant analysis.

Usage

kda(x, x.group, Hs, y, prior.prob=NULL)
pda(x, x.group, y, prior.prob=NULL, type="quad")
compare(x.group, est.group)

Arguments

x matrix of training data values
x.group vector of group labels for training data
est.group vector of estimated group labels
y matrix of test data
Hs (stacked) matrix of bandwidth matrices
prior.prob vector of prior probabilities
type "line" = linear discriminant, "quad" = quadratic discriminant

Details

If you have prior probabilities then set prior.prob to these. Otherwise the default is prior.prob=NULL and the sample proportions are used as the estimates for the prior probabilities.

The parametric discriminant analysers use the code from the MASS library namely lda and qda for linear and quadratic discriminants.

Value

The discriminant analysers are kda and pda and these return a vector of group labels assigned via discriminant analysis. If the test data y are given then these are classified. Otherwise the training data x are classified.
The function compare creates a comparison between the true group labels x.group and the estimated ones est.group. It returns a list with fields

cross cross-classification table with the rows indicating the true group and the columns the estimated group
error misclassification rate (MR) where

MR = (number of points wrongly classified) / (total number of points)

Note that this MR is only suitable when we have test data. If we don't have test data, then the cross validated estimate is more appropriate. See Silverman (1986).

References

Silverman, B. W. (1986) Data Analysis for Statistics and Data Analysis. Chapman & Hall. London.

Simonoff, J. S. (1996) Smoothing Methods in Statistics. Springer-Verlag. New York

Venables, W.N. & Ripley, B.D. (1997) Modern Applied Statistics with S-PLUS. Springer-Verlag. New York.

See Also

kda.kde, pda.pde

Examples

library(MASS)
data(iris)
iris.mat <- rbind(iris[,,1], iris[,,2], iris[,,3])
ir <- iris.mat[,c(1,2)]
ir.gr <- iris.mat[,5]

H <- Hkda(ir, ir.gr, bw="plugin", pre="scale")
kda.gr <- kda(ir, ir.gr, H, ir)
lda.gr <- pda(ir, ir.gr, ir, type="line")
qda.gr <- pda(ir, ir.gr, ir, type="quad")

compare(kda.gr, ir.gr)
compare(qda.gr, ir.gr)
compare(lda.gr, ir.gr)

[Package ks version 1.2.1 Index]