Title: | Convolution-Based Linear Discriminant Analysis |
Version: | 0.1 |
Author: | Grover E. Castro Guzman [cre, aut], André Fujita [aut] |
Maintainer: | Grover E. Castro Guzman <grover@usp.br> |
Depends: | R (≥ 3.1.0) |
Description: | Contains a time series classification method that obtains a set of filters that maximize the between-class and minimize the within-class distances. |
License: | GPL (≥ 3) |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.1.0 |
Imports: | stats , MASS |
NeedsCompilation: | no |
Packaged: | 2020-06-16 14:58:26 UTC; grover |
Repository: | CRAN |
Date/Publication: | 2020-06-25 14:30:10 UTC |
cLDA classify
Description
Classify the time series and obtain the distances between the time series and the centroids of each class.
Usage
clda.classify(model, Data)
Arguments
model |
An object returned by the function |
Data |
Matrix of time series on the rows. |
Value
A list containing the predicted labels of the time series
and a matrix of distances between the time series and the centroids after applying
the filters obtained by clda.model
.
Author(s)
Grover E. Castro Guzman
André Fujita
See Also
Examples
## Generating 200 time series of length 100 with label 1
time_series_signal_1 = sin(matrix(runif(200*100),nrow = 200,ncol = 100))
time_series_error_1 = matrix(rnorm(200*100),nrow = 200,ncol = 100)
time_series_w_label_1 = time_series_signal_1 + time_series_error_1
## Generating another 200 time series of length 100 with label 2
time_series_signal_2 = cos(matrix(runif(200*100),nrow = 200,ncol = 100))
time_series_error_2 = matrix(rnorm(200*100),nrow = 200,ncol = 100)
time_series_w_label_2 = time_series_signal_2 + time_series_error_2
## Join the time series data in one matrix
time_series_data = rbind(time_series_w_label_1,time_series_w_label_2)
label_time_series = c(rep(1,200),rep(2,200))
clda_model <- clda.model(time_series_data,label_time_series)
## Create a test set
## data with label 1
Data_test_label_1 = sin(matrix(runif(50*100),nrow = 50,ncol = 100))
## data with label 2
Data_test_label_2 = cos(matrix(runif(50*100),nrow = 50,ncol = 100))
## join data into a single matrix
Data_test = rbind(Data_test_label_1,Data_test_label_2)
## obtain the labels and distances of each time series
clda.classify(clda_model,Data_test)
cLDA Model
Description
Obtains a set of filters for labeled time series data so that the between-class distances are maximized, and the within-class distances are minimized.
Usage
clda.model(Data, Labels)
Arguments
Data |
Matrix of time series on the rows. |
Labels |
Label of each time series. |
Value
A list containing the filters and their respective importance (g and eig_val), the class means (Means), the average of the class means (Mean), and the labels of each class mean (classes). The filters are the columns of the matrix g.
Author(s)
Grover E. Castro Guzman
André Fujita
Examples
## Generating 200 time series of length 100 with label 1
time_series_signal_1 = sin(matrix(runif(200*100),nrow = 200,ncol = 100))
time_series_error_1 = matrix(rnorm(200*100),nrow = 200,ncol = 100)
time_series_w_label_1 = time_series_signal_1 + time_series_error_1
## Generating another 200 time series of length 100 with label 2
time_series_signal_2 = cos(matrix(runif(200*100),nrow = 200,ncol = 100))
time_series_error_2 = matrix(rnorm(200*100),nrow = 200,ncol = 100)
time_series_w_label_2 = time_series_signal_2 + time_series_error_2
## Join the time series data in one matrix
time_series_data = rbind(time_series_w_label_1,time_series_w_label_2)
label_time_series = c(rep(1,200),rep(2,200))
## obtain the model with the given data
clda.model(time_series_data,label_time_series)