0% found this document useful (0 votes)
39 views

A Comparative Analysis On Feature Extraction and Classification of EEG Signal For Brain-Computer Interface Applications

The document compares different feature extraction and classification methods for EEG signals in brain-computer interfaces. It implements various combinations of pre-processing, feature extraction, and classification methods on a publicly available EEG dataset to classify four motor imagery tasks. The best performing combination is identified through a comparative analysis. Various time and frequency domain features and classifiers like LDA and SVM are evaluated. The analysis finds that time domain features classified with LDA provide the best performance for real-time BCI systems.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

A Comparative Analysis On Feature Extraction and Classification of EEG Signal For Brain-Computer Interface Applications

The document compares different feature extraction and classification methods for EEG signals in brain-computer interfaces. It implements various combinations of pre-processing, feature extraction, and classification methods on a publicly available EEG dataset to classify four motor imagery tasks. The best performing combination is identified through a comparative analysis. Various time and frequency domain features and classifiers like LDA and SVM are evaluated. The analysis finds that time domain features classified with LDA provide the best performance for real-time BCI systems.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

DUJASE Vol.

4(2) 83-89, 2018 (January & July)

A Comparative Analysis on Feature Extraction and Classification of EEG Signal


for Brain-Computer Interface Applications
Mohammed Nowaz Rabbani Chowdhury and Subrata Kumar Aditya
Department of Electrical and Electronic Engineering, University of Dhaka, Dhaka-1000, Bangladesh
E-mail: [email protected], [email protected]
Received on 03.05.18. Accepted for publication on 08.08.18
ABSTRACT
Classification of EEG signal for Brain-Computer Interface (BCI) applications consists of three stages: Pre-
processing; Feature extraction and Classification. There are different methods implemented in these stages found in
existing literature. However, the performance of the methods has been measured on different datasets which made
the results incomparable to each other. To address this problem, in this paper, different combination of feature
extraction and classification methods has been implemented to classify a well known dataset (dataset 2A, BCI
Competition IV) so that a comparative analysis can be made based on identical platform to find out the best
combination of methods. In the pre-processing step, the EEG data was band-pass filtered to remove the artifacts and
Common Spatial Pattern (CSP) was applied to increase the discriminativity of the data. Two types of features: Time
Domain Parameters (TDP) and Adaptive Auto-Regressive (AAR) parameters were extracted from the pre-processed
EEG signal. The features were classified using two types of classifiers: Linear Discriminant Analysis (LDA) and
Support Vector Machine (SVM). A comparative analysis has been conducted to identify the best combination of
feature and classifier. The analysis reveals that, TDP features classified using LDA classifier provides best
performance and hence demands application in real time BCI system.

Keywords: Brain-Computer Interface (BCI), Time Domain Parameters (TDP), Adaptive Auto-Regressive Parameters (AAR),
Linear Discriminant Analysis (LDA), Support Vector Machine (SVM)

1. Introduction these stages. Hence, selection of best algorithms in each of


these stages is very important in BCI design.
Brain-Computer Interface (BCI) provides the only way of
communication for the people affected by motor
disabilities. More formally, BCI is a communication system
that doesn„t require any peripheral muscular activity.
Indeed, BCI systems enable a subject to send commands to
an electronic device only by means of brain activity [1].
Not only as the communication tool for the people with
motor disabilities, BCIs also have a wide range of other
applications. Some of these are videogames and virtual Fig. 1: Structure of a BCI system based on EEG
reality, creative expression, access to internet etc [2]. There are different pre-processing methods for signal
In order to control through BCI, the user must produce enhancement in BCI designs found in literature such as
different brain activity patterns that will be identified by the common average referencing (CAR), surface laplacian (SL),
system and translated into commands. There is a variety of independent component analysis (ICA), common spatial
invasive and non-invasive techniques to measure the brain
patterns (CSP) and principle component analysis (PCA) [5].
activity. The non-invasive techniques can be EEG, MEG,
PET or fMRI. The invasive technique can be ECoG [3]. CSP enhance the spatial resolution of EEG signals and hence
However, among all of the invasive and non-invasive the separability between classes can be increased. Also,
techniques, due to its easy implementation facility, high selection of optimal spatial filter can reduced the
time resolution, real time availability and price constraints, dimensionality of EEG data [6].
most of the BCI systems use EEG as the measurement
technique of brain activity [4]. One of the important stages in BCI design is the selection of
features used to classify the EEG signal. There are different
To identify the measured brain activity patterns, a BCI
types of features used in BCI systems based on neurological
system relies on an identification algorithm. The goal of
this identification algorithm is to automatically estimate the mechanisms used in those systems. However, BCI systems
class of data. Usually, the identification algorithm consists based on sensorimotor activities (ERD/ERS) uses spectral
of three stages as shown in Fig 1: Pre-processing (enhance parameters (e.g. band power), auto-regressive parameters
the separability of classes), Feature extraction (extract (AR), adaptive-auto-regressive (AAR) parameters, multivariate
features of the patterns) and classification (classify the AAR, time-frequency (TF) features, wavelet packets, time
features to identify the classes). The performance of the domain parameters etc. as features [5].
BCI system readily depends on the methods implemented in
84 Mohammed Nowaz Rabbani Chowdhury and Subrata Kumar Aditya

However, the most important stage of a BCI design is the


selection of classification algorithm. There is variety of
classifiers found in literature to classify the EEG data for
BCI systems. Some of them are different variations of
neural-networks (NN), LDA, Quadratic discriminant
analysis (QDA), support vector machine (SVM), k-nearest
neighborhood (kNN), Bayesian classifiers etc. It was found
in the literature that different classifiers performed well
with different features [5].
However, one problem with previous research works
concerning BCI systems is that very often the performance
of the methods are measured using different procedures or
different EEG data sets. This makes the obtained results
incomparable to each other. To address this problem, in this
paper, different methods of pre-processing, feature Fig. 2: (a) Electrode montage for EEG channels (b) Electrode
extraction and classification was implemented to montage for EOG channels
automatically classify four class motor imagery
2.2 Pre-processing
(imagination of left hand, right hand, both feet and tongue
movement) EEG signal. Then, the best combination of At first, the EEG signal was pre-processed to remove the
methods of the three stages was identified as the best EOG artifacts. To increase the separability between classes
algorithm according to a comparative analysis between and to reduce the dimensionality of the data, spatial filtering
them. was implemented in this step.
2. Materials and Methods 2.2.1 Band-pass filtering to remove EOG artifacts
2.1 Data Set During the recording of dataset used in this research, the
non-physiological artifact such as line frequency noise was
The BCI data used in this research work is the Dataset 2a of suppressed using a notch filter of 50 Hz. For the purpose of
BCI Competition IV. The data set consists of EEG data removing the EOG artifacts (due to eye blinking or rolling)
from 9 subjects while they were performing four different
EOG data of three channels is provided also. However,
motor imagery tasks [7]:
there may be EMG artifacts present due to the movement of
1. Movement imaginary of left hand (Class 1) head, body or facial muscles. There is no information
provided about EMG artifacts in the dataset. EOG artifacts
2. Movement imaginary of right hand (Class 2) have wide frequency range, but they are maximal in 0-4Hz
3. Movement imaginary of both feet (Class 3) range. EMG artifacts are maximal in the range above 30 Hz
[8]. However, the neurological phenomenon utilized in this
4. Movement imaginary of tongue (Class 4) research is Event Related De-synchronization/Synchronization
There were two sessions for recording data from each (ERD/ERS) which is prominent in (8-13 Hz) and (13-
subject. These sessions were taken place at different days. 30 Hz) band. Hence, there is no overlapping of artifacts
with the neurological phenomenon. Therefore, band-pass
Each session consists of 6 runs and they are separated by
filtering can be an efficient tool to remove the artifacts.
short breaks. Each run consists of 48 trials (12 for each Hence, the data was filtered using a fifth order digital
class. Hence, 4 × 12 = 48 trials). Hence, in each session Butterworth filter with the pass-band of 7-30 Hz.
there are 72 trials for each class and 288 trials in total.
After, band-pass filtering, as there is no EOG artifacts
There are 22 EEG channels in the data set. Also, 3 presents in the data, the 3 EOG channels was removed and
monopolar EOG channel are included to deal with eye hence the dimensionality has been reduced to 22 channels
movement artifacts. The duration of each trial is 7.5s with with 1875 data points for each trial.
250 Hz sampling rate. Hence, the dimension of the raw 2.2.2 Common Spatial Pattern (CSP)
dataset for each trial is 25 channels with 1875 data points. To increase the discriminativity between classes and to
The electrode montage for EEG and EOG channels has reduce dimensionality of the data Common Spatial Pattern
been given in Fig 2. (CSP) was implemented on the band-pass filtered EEG
data. Also, as the EOG artifacts were removed, the EOG
According to the rules of BCI Competition IV, data from channels were also removed from the data.
one session (for each subject) should be used as training set
and other session has to be used as test set. In this research CSP is a technique to analyze multi-channel EEG data
based on recordings from two or more than two classes. It
work, the test set was kept completely hidden until the final
maximizes the variance of the spatially filtered signal under
evaluation experiment. All the analysis was done using the one class and minimizes it for other class. Since variance of
training set.
A Comparative Analysis on Feature Extraction and Classification of EEG Signal for Brain-Computer Interface Applications 85

band pass filtered signals is equal to the band power, CSP Where, is called update co-efficient and has an important
increases the discrimination of mental states that are effect in the performance of TDP as features in BCI.
characterized by ERD/ERS [9].
However, it has been shown in result section that, the
Let, is the multichannel EEG data of N optimal value of k is 5. Hence, the size of the feature vector
channels and T sample points with { } is the set of is 40 for TDP features.
classes. CSP finds a linear transformation with
2.3.2 Adaptive Auto-Regressive (AAR) parameters
such that,
The AAR method is appropriate for on-line and single trial
(1) analysis of the time varying EEG spectrum. When there is
When , there is no reduction of dimensionality. Only no averaging of an ensemble of recordings, AAR method is
the discriminativity will be increased. On the other hand, very useful to extract features from EEG signal for BCI
for dimensionality reduction is also provided along classifiers [11].
with increased discrimination between classes. Columns of An Auto-Regressive model is useful for describing the
is represented by where, . stochastic behavior of an EEG time series. This can be
Each columns of is called a spatial filter. described as,
However, to calculate the transformation matrix , two (4)
covariance matrices are estimated for two classes. Then
optimized value of is computed by simultaneous with, { } (5)
diagonalization of the two covariance matrices. Where, is a zero-mean-Gaussian-noise process with
However, the simultaneous diagonalization problem can be variance . The index is an integer number and
solved using generalized eigenvalue problem and the describes discrete, equidistance time points. Here, is the
dimensionality reduction can be implemented by selecting model order and AR parameters of an AR
the spatial filters with smallest/largest eigenvalues. model can be used as features.
As the dataset used in this research indicates the However, to consider non-stationarity of the EEG signal,
implementation of multiclass CSP, Joint Approximate the AR parameters are allowed to vary in time and hence
Diagonalization (JAD) was used to solve the multiclass these time-varying parameters are known as AAR
problem [9]. parameters. Hence the model is changed to represent by
following equation.
However, to implement CSP along with dimensionality
reduction scheme, in this paper, L was taken to 8 and hence, (6)
the dimensionality of the processed dataset reduced to 8
spatial filtered channels with 1875 data points. The AAR parameters were estimated using scalar Kalman
filtering.
2.3 Feature extraction
However, it has been shown in result section that, the
In this research, two different types of features were optimal value of AAR model order is 6 and hence the size
extracted from the pre-processed EEG data. One of them is of the feature vector is 48 for AAR features.
time domain feature; another is based on time series
analysis. These are: Time Domain Parameters (TDP) and 2.4 Classification
Adaptive Auto-Regressive parameters (AAR). To classify each trial of the multichannel EEG data or in
These features for different classes show different other words predicting class label for each trial, the
discriminative properties which is useful for a classifier (at extracted features were fed to a classifier. The performance
the next step) to classify the data. of a BCI system significantly depends on which type of
classifier is used. In this research, two different types of
2.3.1 Time Domain Parameters (TDP) classifiers were used to classify the EEG features extracted.
Time Domain Parameters (TDP) was first introduced in These are: Linear Discriminant Analysis (LDA) and
[10], and considered as more generalized representation of Support Vector Machine (SVM).
Hjorth Parameters. TDPs are obtained by calculating the 2.4.1 Linear Discriminant Analysis (LDA)
variances of derivatives of the signal with different order.
For each order of derivatives a TDP can be obtained as, Linear Discriminant Analysis (LDA) is a generalization of
Fisher's linear discriminant, and used in statistics, pattern
( ) (2) recognition and machine learning to find a linear
combination of features that characterizes or separates two
However, for better performance, the parameters are or more classes of objects or events [12].
smoothed using an IIR filter by implementing the following
Let, [ ] is the feature vector of EEG data
expression.
of M different classes represented by the set
(3)
86 Mohammed Nowaz Rabbani Chowdhury and Subrata Kumar Aditya

{ }. Then, the discriminant functions are evaluation criteria have been proposed [14]. In this research
represented as, work, the Cohen‟s kappa co-efficient was applied to
evaluate the performance of the classifiers with different
(7) features.
Where, At first, a confusion matrix as shown in Table 1 was
The classification is done as: calculated from the output of the classifier, where the rows
represent the true classes and the columns represent the
If, ; ; Then, ; Otherwise, predicted classes by the classifier.
Table 1. Example of a Confusion Matrix for M=4 classes
Then training of the classifier is done using one-vs-rest
scheme by calculating the optimal value of the weight Class 1 2 3 4 Total
vector using Equation 8 for the discriminant function 1 63 4 2 3 72
expressed in Equation 7. 2 2 67 2 1 72
3 5 3 58 6 72
̂ ̅ ̅ (8) 4 2 3 3 64 72
Total 72 77 65 74 288
Where, ̅ = Mean value of the data of the class for which
to be calculated; ̅ = Mean value of the data for rest of the Then, the classification accuracy can be calculated as
classes; = pooled covariance matrix of two classes; follows.

2.4.2 Support Vector Machine (SVM) (11)
SVM classifies linearly separable two class data by ∑ ∑
Where,
constructing an optimal hyperplane so that the margin of
separation between the two classes is maximized [13]. Finally, the Cohen‟s kappa co-efficient, was calculated
[ ] is the feature vector of EEG data as,
Let,
for two different classes and which are linearly (12)
separable. Then, the mathematical representation of the
hyperplane separating the two classes can be represented as, Where, (Overall agreement);
(9) ∑
(Chance agreement);
Where, is the weight vector and is the bias. Then, for a
given weight vector bias , the separation between the 2.6 Optimization of performance parameters
closest data point (known as support vector) and the The performance parameters (e.g. update co-efficient u and
hyperplane representing by Equation 9 is called the margin no. of derivatives k for TDP, update co-efficient UC and
of separation, . The training of SVM is nothing but finding model order p for AAR, kernel-width σ for SVM) were
an optimal value of and bias so that is maximized. optimized using cross-validation. However, it is important
This is done by solving an optimization problem by the to notice that during cross-validation only the training set
method of Lagrange multipliers. However, for the data was used.
which are not linearly separable, a non-linear mapping to
higher dimensional space is necessary. To execute the non- In this process, for each of the different values of the
linear mapping, inner product kernels are used in SVM. parameter, the 8-fold cross-validation was implemented by
These kernels are of different types such as polynomial dividing the training set of each subject into 8 subsets, 7 of
kernel, radial-basis function (RBF) kernel etc. In this them were used for training and the rest of the subset was
research, RBF kernel was used which can be expressed as, used for test. The process is repeated for 8 times, every time
with different subset as test set. Finally, average value of
( ‖ ‖ ) (10) kappa was calculated. In this way, the value of the
parameter with highest kappa was chosen as optimal value.
The parameter is called kernel width and it has a
significant effect on the performance of the classifier. 3. Results and Discussion

However, as the EEG data classified in this research 3.1 Optimized Performance parameters
consists of more than two classes, one-vs-one scheme of As stated earlier, the performance parameters were optimized
SVM was implemented [13]. using crossvalidation. These results are presented below.
2.5 Evaluation Figure 3 represents the variation of crossvalidation kappa, k
To analyze the performance of BCI systems, some with the change of update coefficient, u for TDP feature
evaluation criteria must be applied. The most popular is extraction. As seen in the figure, crossvalidation kappa
accuracy. However, because of some strict prerequisites, decreases with the increase of u and the optimal value of u
accuracy is not always a suitable criterion, and other was found 0.0045.
A Comparative Analysis on Feature Extraction and Classification of EEG Signal for Brain-Computer Interface Applications 87

Figure 5 represents the variation of crossvalidation kappa


with the change of AAR update coefficient, and model
order, . The figure suggests that, selection of above
0.01 decreases the kappa drastically and also a model order
of 4 reduces the performance. However, selection of higher
order model doesn‟t increase the kappa; rather it may
increase the computation burden. However, combination of
and of 0.004 & 6 respectively gives the highest peak
and hence these values were taken as optimal value.
Figure 6 shows the variation of crossvalidation kappa with the
change of the kernel width, for SVM. It can be seen that,
kappa increases with the increase of beyond a certain level
and then it becomes saturated. The optimal value of is 4.

0.7

Crossvalidation kappa
0.6
0.5
Fig. 3: Change of Crossvalidation kappa with update coefficient, u
for TDP features. 0.4
0.3
0.2
0.1
0
0 2 4 6 8
SVM Kernel width

Fig. 6: A plot of Crossvalidation kappa vs Kernel width, .

A summary of all the optimal values of performance


parameters has been given in Table 2.
Table 2. The optimal value of performance parameters.

Fig. 4: Variation of Crossvalidation kappa with no. of derivatives, Parameter Name Optimal
as TDP features. Value
AAR Update Coefficient, & Model Order, 0.004 & 6
Figure 4 represents the variation of crossvalidation kappa
Update Coefficient to extract TDP features, 0.0045
with no. of derivatives, used for TDP feature extraction No. of derivatives extracted as TDP features, 5
and the optimal value is 5. It‟s important to note that, SVM Kernel Width, 4
inclusion of higher order of derivatives causes an increase
3.2 Final Experiment Results on Test Set
of processing time for TDP feature extraction.
Finally, after selection of optimized parameters, these
parameters were used in corresponding methods to classify
0.6 EEG trials of test set. In these final experiments, the
0.4- corresponding classifiers were trained using the
Cross Validation kappa

0.6 corresponding features extracted from the training set and


0.4
0.2- then were tested using the corresponding features extracted
0.2 0.4 from test set for each subject. Then, the kappa or accuracy
values of test set for all the 9 subjects were averaged to get
Model Order

0 0-0.2 the mean kappa/ accuracy.


0.0…
0.0…
0

1
0.01

There are three different combinations of features and


0.05
0.2

classifiers were tested in this paper:


Update Coefficient
1) Features: AAR; Classifier: LDA
Fig. 5: Surface plot of cross validation kappa with the change of 2) Features: TDP; Classifier: SVM
and for AAR features. 3) Features: TDP; Classifier: LDA
88 Mohammed Nowaz Rabbani Chowdhury and Subrata Kumar Aditya

A comparison of performance for each of these 4. Conclusion


combinations has been presented on Figure 7.
In this research, to classify four class motor imagery EEG
signal, two types of features: TDP and AAR were extracted.
The extracted features were classified using two types
classifiers: LDA and SVM. Before extracting the features,
the EEG data were pre-processed using band-pass filtering
and CSP. The performance parameters of all of these
methods were optimized using crossvalidation. Among the
two types of features, best kappa was achieved by TDP
features classified using LDA classifier. This suggests the
usefulness of these methods (Features: TDP; Classifier:
LDA) with improved algorithm in real time BCI system.
References
1. Kübler, A., Kotchoubey, B., Kaiser, J., Wolpaw, J. R., &
Birbaumer, N. (2001). Brain–computer communication:
Unlocking the locked in. Psychological bulletin, 127(3), 358.
2. L´ecuyer, A., Lotte, F., Reilly, R.B., Leeb, R., Hirose, M. &
Slater, M. (2008). Brain-computer interfaces, virtual reality,
and videogames. Computer, 41(10), 66–72.
Fig. 7: Comparison of classification performance between the 3. Hwang, H.-J., Kim, S., Choi, S. & Im, C.-H. (2013). EEG-
methods implemented. Based Brain-Computer Interfaces: A Thorough Literature
Survey Internatinal Journal of Human–Computer
From the figure, it is seen that, best kappa (0.54) is Interaction, 29, 814-826.
achieved by LDA classifier with TDP features. The kappa
value for AAR features is significantly less than kappa 4. Al-ani, T., & Trad, D. (2010). Signal processing and
classification approaches for brain-computer interface.
value for TDP features with any combination of classifiers.
INTECH Open Access Publisher.
Also, it was found during the experiment that, it takes much
longer time extract AAR features. 5. Bashashati, A., Fatourechi, M., Ward, R. K., & Birch, G. E.
(2007). A survey of signal processing algorithms in brain–
Table 3 shows the subject-wise comparison of kappa/ computer interfaces based on electrical brain signals. Journal
accuracy for each combination of features and classifiers of Neural engineering, 4(2), R32.
implemented. It can be noticed from the table that, the mean
6. Blanchard, G., & Blankertz, B. (2004). BCI competition
kappa value decreased by the fact that, all of the methods 2003-data set IIa: spatial patterns of self-controlled brain
show poor performance to classify the EEG data of subject rhythm modulations. IEEE Transactions on Biomedical
2, 5 & 6. This is due to the fact that, BCI illiteracy (inability Engineering, 51(6), 1062-1066.
to use the BCI system) presents in the EEG data of these
subjects which can be confirmed by comparing the results 7. Brunner, C., Leeb, R., Muller-Putz, G.R., Schlogl, A. &
Pfurtscheller, G. “BCI Competition 2008 – Graz data set A”
with BCI Competition IV for the dataset [15]. http://www.bbci.de/competition/iv/desc_2a.pdf
Table 3. Subject-wise comparison of implemented methods.
8. Fatourechi, M., Bashashati, A., Ward, R. K., & Birch, G. E.
Classifier: Classifier: Classifier: (2007). EMG and EOG artifacts in brain computer interface
Method LDA LDA SVM systems: A survey. Clinical neurophysiology, 118(3), 480-
494.
Feature: Feature: Feature:
AAR TDP TDP 9. Grosse-Wentrup, M., & Buss, M. (2008). Multiclass common
Subject Acc. Kap Acc. Kap Acc. Kap spatial patterns and information theoretic feature
(%) ( ) (%) ( ) (%) ( ) extraction. IEEE transactions on Biomedical
Engineering, 55(8), 1991-2000.
Subject 1 76.87 0.69 83.99 0.79 82.21 0.76
Subject 2 49.12 0.32 54.77 0.40 49.82 0.33 10. Vidaurre, C., Krämer, N., Blankertz, B., & Schlögl, A.
Subject 3 63.00 0.51 78.02 0.71 75.09 0.67 (2009). Time domain parameters as a feature for EEG-based
brain–computer interfaces. Neural Networks, 22(9), 1313-
Subject 4 47.37 0.30 59.65 0.46 53.95 0.39 1319.
Subject 5 39.49 0.19 46.74 0.29 35.14 0.13
11. Schlögl, A. (2000). The electroencephalogram and the
Subject 6 43.26 0.24 52.56 0.37 46.98 0.29
adaptive autoregressive model: theory and applications.
Subject 7 67.15 0.56 72.56 0.64 69.31 0.59 Aachen: Shaker.
Subject 8 60.89 0.48 69.00 0.59 69.74 0.60
12. Johnson, R. A., & Wichern, D. W. (2007). Applied
Subject 9 62.12 0.49 70.45 0.61 68.56 0.58
Multivariate Statistical Analysis.: Pearson Prentice
Mean 56.58 0.42 65.30 0.54 61.20 0.48 Hall. Upper Saddle River, NJ.
Acc./kap
A Comparative Analysis on Feature Extraction and Classification of EEG Signal for Brain-Computer Interface Applications 89

13. Haykin, S. S., Haykin, S. S., Haykin, S. S., & Haykin, S. S. 15. BCI Competition IV: Results. [online] Available at:
(2009). Neural networks and learning machines (Vol. 3). http://www.bbci.de/competition/iv/results/index.html
Upper Saddle River, NJ, USA:: Pearson. [Accessed 22 Aug. 2018].
14. Schlogl, A., Kronegg, J., Huggins, J., & Mason, S. (2007). 19
evaluation criteria for bci research. Toward brain-computer
interfacing.
90 Mohammed Nowaz Rabbani Chowdhury and Subrata Kumar Aditya

You might also like