Kernel discriminant analysis for 1- to d-dimensional data.
kda(x, x.group, Hs, hs, prior.prob=NULL, gridsize, xmin, xmax, supp=3.7,
eval.points, binned=FALSE, bgridsize, w, compute.cont=TRUE, approx.cont=TRUE,
kde.flag=TRUE)
Hkda(x, x.group, Hstart, bw="plugin", ...)
Hkda.diag(x, x.group, bw="plugin", ...)
hkda(x, x.group, bw="plugin", ...)# S3 method for kda
predict(object, ..., x)
compare(x.group, est.group, by.group=FALSE)
compare.kda.cv(x, x.group, bw="plugin", prior.prob=NULL, Hstart, by.group=FALSE,
verbose=FALSE, recompute=FALSE, ...)
compare.kda.diag.cv(x, x.group, bw="plugin", prior.prob=NULL, by.group=FALSE,
verbose=FALSE, recompute=FALSE, ...)
matrix of training data values
vector of group labels for training data
(stacked) matrix of bandwidth matrices/vector of scalar
bandwidths. If these are missing, Hkda
or hkda
is called by default.
vector of prior probabilities
vector of grid sizes
vector of minimum/maximum values for grid
effective support for standard normal
vector or matrix of points at which estimate is evaluated
flag for binned estimation. Default is FALSE.
vector of binning grid sizes
vector of weights. Not yet implemented.
flag for computing 1% to 99% probability contour levels. Default is TRUE.
flag for computing approximate probability contour levels. Default is TRUE.
flag for computing KDE on grid. Default is TRUE.
object of class kda
bandwidth: "plugin" = plug-in, "lscv" = LSCV, "scv" = SCV
(stacked) matrix of initial bandwidth matrices, used in numerical optimisation
vector of estimated group labels
flag to give results also within each group
flag for printing progress information. Default is FALSE.
flag for recomputing the bandwidth matrix after excluding the i-th data item
--For kde.flag=TRUE
, a kernel discriminant analysis is an object of class kda
which is a list with fields
list of data points, one for each group label
list of density estimates at eval.points
, one for each group label
vector or list of points that the estimate is evaluated at, one for each group label
vector of bandwidths (1-d only)
stacked matrix of bandwidth matrices or vector of bandwidths
flag for estimation on a grid
flag for binned estimation
weights
prior probabilities
group labels - same as input
estimated group labels. If the test data
eval.points
are given then these are classified. Otherwise
the training data x
are classified.
--The compare functions create a comparison between the true group labels x.group and the estimated ones. It returns a list with fields
cross-classification table with the rows indicating the true group and the columns the estimated group
misclassification rate (MR)
If by.group=FALSE then only the total MR rate is given. If it is set to TRUE, then the MR rates for each class are also given (estimated number in group divided by true number).
If the bandwidths Hs
are missing from kda
, then the
default bandwidths are the plug-in selectors Hkda(, bw="plugin")
.
Likewise for missing hs
. Valid options for bw
are "plugin"
, "lscv"
and "scv"
which in turn call
Hpi
, Hlscv
and Hscv
.
The effective support, binning, grid size, grid range, positive
parameters are the same as kde
.
If prior probabilities are known then set prior.prob
to these.
Otherwise prior.prob=NULL
uses the sample
proportions as estimates of the prior probabilities.
As of ks 1.8.11, kda.kde
has been subsumed
into kda
, so all prior calls to kda.kde
can be replaced
by kda
. To reproduce the previous behaviour of kda
, the
command is kda(, kde.flag=FALSE)
.
Simonoff, J. S. (1996) Smoothing Methods in Statistics. Springer-Verlag. New York
# NOT RUN {
set.seed(8192)
x <- c(rnorm.mixt(n=100, mus=1), rnorm.mixt(n=100, mus=-1))
x.gr <- rep(c(1,2), times=c(100,100))
y <- c(rnorm.mixt(n=100, mus=1), rnorm.mixt(n=100, mus=-1))
kda.gr <- kda(x, x.gr, eval.points=y)
compare(kda.gr$x.group, kda.gr$x.group.est, by.group=TRUE)
predict(kda.gr, x=0)
## See other examples in ? plot.kda
# }
Run the code above in your browser using DataLab