skda: Sparse (Multicategory) Kernel Discriminant Analysis for...

Description Usage Arguments Value Author(s) References See Also Examples

View source: R/skdarcode.r

Description

This function implements the sparse (multicategory) kernel discriminant analysis with function skda with cvskda to tune regularization parameter via cross validation. The other function predprob predicts the conditional class probability.

Usage

1
skda(x,y, tau, method="Bayes")

Arguments

x

a matrix ( n X p ) that contains predictors.

y

a vector that contains the categorical response coded as 1, 2, ..., K.

tau

a positive number that is the regularization parameter.

method

method (mle or Bayes) to be used in the KDA classifier.

Value

lam

the SKDA solution of size p X 1.

phat

the predicted conditional class probabilities of size n X K.

Author(s)

L. A. Stefanski, Y. Wu, and K. White

References

L. A. Stefanski, Y. Wu, and K. White (2013) Variable selection in nonparametric classification via measurement error model selection likelihoods Journal of the American Statistical Association, ??, ???-???.

See Also

predprob, cvskda

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
        # a binary example
          rm(list=ls())
          n=200
          p=20
          r=0.8
          x=matrix(rnorm(n*p,mean=0,sd=1),n,p)
          y=rbinom(n,1,0.5)
          x[,3]=x[,3]+(2*y-1)*r
          x[,11]=x[,11]+(2*y-1)*r

          y=y+1

          ind1=which(y>1.5)
          ind0=which(y<1.5)
          plot(-4:4, -4:4, type = "n")
          points(x[ind1, 3], x[ind1,11],col="blue")
          points(x[ind0, 3], x[ind0,11],col="red")
          lam=skda(x,y,3)$lam
          



        # a three-class example
          rm(list=ls())
          n=200
          p=20
          r=2
          x=matrix(rnorm(n*p,mean=0,sd=1),n,p)
          y=ceiling(runif(n,0,3))
          thetas=c(0, 2*pi/3, 4*pi/3)
          x[,3]=x[,3]+r*cos(thetas[y])
          x[,11]=x[,11]+r*sin(thetas[y])

          ind1=which(y==1)
          ind2=which(y==2)
          ind3=which(y==3)

          plot(-6:6, -6:6, type = "n")
          points(x[ind1, 3], x[ind1,11],col="blue")
          points(x[ind2, 3], x[ind2,11],col="red")
          points(x[ind3, 3], x[ind3,11],col="black")
          lam=skda(x,y,3)$lam

skda documentation built on May 30, 2017, 5:44 a.m.

Related to skda in skda...