dbcsp-class: S4 class for representing DB-CSP (Distance-Based Common...

dbcsp-classR Documentation

S4 class for representing DB-CSP (Distance-Based Common Spatial Patterns)


An object of class dbcsp. 'dbcsp' stands for Distance-Based Common Spatial Patterns. The object includes the Common Spatial Patterns filter obtained with the input lists and using the distance method indicated.


If the lists of matrices X1 or X2 contain NA values, these are automatically interpolated by a linear interpolation using na.approx function. These new interpolated matrices are saved in the X1 and X2 slots of the object.

The supported distances for type are these ones:

  • Included in TSdist: infnorm, ccor, sts, lb.keogh, edr, erp, lcss, fourier, tquest, dissim, acf, pacf, ar.lpc.ceps, ar.mah, ar.mah.statistic, ar.mah.pvalue, ar.pic, cdm, cid, cor, cort, int.per, per, mindist.sax, ncd, pred, spec.glk, spec.isd, spec.llr, pdc, frechet, tam.

  • Included in parallelDist: bhjattacharyya, bray, canberra, chord, divergence, dtw, euclidean, fJaccard, geodesic, hellinger, kullback, mahalanobis, manhattan, maximum, minkowski, podani, soergel, wave, whittaker.

  • It is possible to use a custom distance. The name of the custom distance function is passed as character to the type parameter. In order to use the parallelDist custom distance option, the custom function must be defined as explained in "Details: User-defined distance functions" part of parallelDist documentation. See Examples section below.

The additional parameters for the selected distance (see TSdist, parallelDist) can be passed as parameters when creating the object, which will be saved in more slot. See Examples section below.

The output is a list containing this information (object@out):

  • vectors The projection vectors obtained after applying CSP.

  • eig The eigenvalues obtained after applying CSP.

  • proy The variance values of the projected signals obtained after applying CSP.

And if training=TRUE the following values are also saved:

  • acc The mean accuracy value obtained for training data applying cross validation.

  • used_folds List of the folds used in the cross validation.

  • folds_acc Accuracy values for each of the folds of the cross validation.

  • model The trained LDA classifier.

  • selected_q The number of vectors used when training.



list of matrices for data class 1.


list of matrices for data class 2.


integer value indicating the number of vectors used in the projection, by default q=15.


vector of two strings indicating labels names, by default names of variables X1 and X2.


string which sets the type of distance to be considered, by default type='EUCL'. See details section.


weight for the distances mixture D_mixture = w*D_euclidean + (1-w)*D_type, by default w=0.5.


logical value indicating whether to use distances mixture or not (EUCL + other), by default mixture=FALSE.


logical value indicating whether to perform the training or not.


integer value, by default fold=10. It controls the number of partitions when training. If fold==1 a train/test split is performed, with p=0.2 for test indices.


numeric value, by default seed=NULL. Set a seed to ensure reproducible results.


numeric value, by default eig.tol=1e-06, tolerance to convert distance matrix to be definite positive.




list, additional parameters to be passed to the distance methods. See details section.


list containing the output.

See Also

dbcsp, print, summary, train, selectQ, predict, plot, boxplot


# To create an instance of a class dbcsp given data from 2 classes
x <- AR.data$come[1:20]
y <- AR.data$five[1:20]
mydbcsp <- new("dbcsp", X1 = x, X2 = y)

x <- AR.data$come[1:10]
y <- AR.data$five[1:10]
fn <- function(x, y, eps=1) mean(1 - cos(x - y))*eps
mydbcsp <- new("dbcsp", X1 = x, X2 = y, type="fn", eps=0.9)

dbcsp documentation built on June 30, 2022, 5:05 p.m.