A COMPARATIVE STUDY OF ICA ALGORITHMS FOR ECG SIGNAL PROCESSING Mohammad Sarfraz, Dr Francis Li University of Salford, School of Computing, Science & Engineering Newton Building, University of Salford, Greater Manchester M5 4WT Email:
[email protected] Abstract- Electro Cardiogram (ECG) signals are affected by
various kinds of noise and artifacts that may hide important information of interest. Independent component analysis is a new technique suitable for separating independent component from ECG complexes. This paper compares the various Independent Component Analysis (ICA) algorithms with respect to their capability to remove noise from ECG. The data bases of ECG samples attributing to different beat types were sampled from MIT-BIH arrhythmia database for experiment. We compare the signal to noise ratio (SNR) improvement in the real ECG data with different ICA algorithms also we compare the SNR for simulated ECG signal on matlab; giving the selection choice of various ICA algorithms for different database. Index Terms – Independent component analysis (ICA), Signal to noise ratio (SNR), and Electro Cardiogram (ECG)
1. INTRODUCTION Electro Cardiogram (ECG) is the recording of the electrical activity generated by heart. Various cardiac diseases, such as ischemia, arrhythmia or atrial fibrillation, can be identified by changes in ECG signal morphology. Unfortunately, the occurrence of noise and artifacts from various ECG sources can make insignificant the extrapolation and analysis of the main ECG cycles, viz. QRS complexes, P and T waves. The most common artifacts are baseline wander, power-line interference, muscle activity contamination, and motion related signal changes [1].A large number of signal processing techniques have been developed and used in ECG, fetal and maternal ECG studies, viz. principal component analysis, autoregressive modeling and adaptive filtering methods [1]. These methods tend to maximally improve the signal noise ratio (SNR) for better ECG interpretation and classification. In order to get an optimal performance and morphological understanding, some additional processing methods are required as preprocessing steps before the actual application, such as band pass filtering, derivative filters and statistical corrections. The use of algorithms for multichannel analysis of ECG signals for artifact and noise reduction has drawn
increasing attention in the last three decades. The use of sensors to measure patient movements in various active noise cancellation schemes is widely reviewed. But low correlation values between sensor outputs and motion artifacts limit the use of conventional adaptive filtering techniques. Many single channel filtering algorithms and methods have been proposed to remove noise and artifacts efficiently [1]. This paper discuss about the scope of applications of ICA for removal of noise from ECG. We tested the performance of 5 common ICA algorithms on real and simulated ECG data and studied their comparative performance by measuring improved SNR of ECG
2. INDEPENDENT COMPONENT ANALYSIS Independent component analysis (ICA) is a signal processing method whose aim is to describe a set of random variables as linear combination of statistically independent component variables. In the definitions, the observed m-dimensional random vector is denoted by X = (x1,……,xm)T the first and most general definition is as follows: Definition 1 (General definition) ICA of the random vector X consists of finding a linear transform s = Wx so that the components si are as independent as possible, in the sense of maximizing some function F (s1,...,sm) that measures independence. This definition is the most general in the sense that no assumptions on the data are made, which is in contrast to the definitions below. Of course, this definition is also quite vague as one must also define a measure of independence for the si. Assume that at time instant t the observed m random variables x1(t), …, xm(t) are modeled as the linear combination of n random variables 1(t), …, sn(t). The mixing model is written as x(t) = As(t) (1) where x(t)=[ x1(t), …, xm(t)]T, s(t)=[s1(t), …, sn(t)]T, and the elements aij (i=1,..,m, j=1,…,n ) in matrix A are some real coefficients. The signals s1(t), …, sn(t), called source signals, are assumed to be mutually independent. Both of the independent components in s(t) and the coefficients of the mixing matrix A are unknown. The objective of ICA technique is to estimate both unknowns from the observed x(t)
with appropriately assumptions on the source distributions. The initial step to estimate the ICA bases is whitening, which is a transformation such that the measurements are made uncorrelated and has unit-variance. Estimation of the independent components relies on measuring the nongaussianity of different vectors within the subspace of the whitened signals. The maximization of the non-gaussianity leads to the identification of independent components [2].
Figure 1: mixing and seperation system. (A) represent mixing matrix and (B) represents the unmixing matrix. Classification of ICA algorithms - Algorithms for ICA can loosely be classified in two categories. One category contains adaptive algorithms generally based on stochastic gradient methods and implemented in neural networks. Adaptive algorithms may also be based either on optimization of cumulant-based contrast functions, or on “estimating equations” involving nonlinear distortions of the output. The neural adaptive algorithms exhibit slow convergence and their convergence heavily depends on the correct choice of the learning rate parameters. The second category relies on batch computation optimizing some relevant criterion functions. Generally, they imply complex matrix operations. Alternative classification is based on the nature of the ICA implementations: deterministic algorithms like JADE, and stochastic algorithms, such as BS Infomax or FastICA [6, 7] . We briefly present hereafter these algorithms employed throughout the experiments for both artificially generated and real EEG time series [3]. 3. ICA ALGORITHMS FPICA (Fixed-Point ICA): Fixed Point or Fast ICA algorithm has been originally developed and implemented by Aapo Hyvärinen and Erkki Oja, [4] The FastICA learning rule finds a direction, i.e. a unit vector w such that the projection wTx maximizes nongaussianity. Nongaussianity is heremeasured by the approximation of negentropy J (wTx). Recall that the variance of wTx must here be constrained to unity; for whitened data this is equivalent to constraining the norm of w to be unity. Some remarkable features of the FastICA algorithm stem from its simplicity in implementation, high accuracy, and fast convergence to local extrema of the contrast function [4, 6, 7]. EFICA (Efficient Variant of FastICA): EFICA algorithm has been developed and implemented by Z. Koldovský, P. Tichavský and E. Oja: The proposed algorithm, called for brevity “Efficient FastICA” combines the idea of the generalized symmetric FastICA with an adaptive choice of the function g. The algorithm consists of two steps: (1) original symmetric FastICA with the test of saddle points, and (2) a
refinement. The refinement utilizes different nonlinearities adaptively chosen based on outcome of step 1. The purpose of the step 1 is to quickly and reliably get the primary estimates of the original signals. In this step therefore, the optional nonlinearity in the original symmetric [4,8,9]. ThinICA Algorithm: Thin algorithm of Independent component Analysis (ThinICA) has been developed by Sergio Cruces and Andrzej Cichocki [10]. The Thin ICA algorithm is able to extract simultaneously arbitrary number of components specified by the user. The algorithm is based on criteria that jointly perform maximization of several cumulants of the outputs and/or second order time delay covariance matrices. This employed contrast function combines the robustness of the joint approximate diagonalization techniques with the flexibility of the methods for blind signal extraction. Its maximization leads to hierarchical and simultaneous ICA extraction algorithms which are respectively based on the thin QR and thin SVD factorizations. The Thin ICA algorithm can be regarded as hierarchical/simultaneous extensions of the fast fixed point algorithms [4,610]. ERICA - Equivariant Robust ICA - based on Cumulants ERICA Algorithm - Equivariant Robust Independent Component Analysis algorithm (which is asymptotically equivariant in the presence of Gaussian noise) has been developed by Sergio Cruces, Luis Castedo and Andrzej Cichocki. This algorithm separates the signals from m mixture of n sources (with non-zero kurtosis) in the presence of Gaussian noise. This algorithm is a quasi-Newton iteration that will converge to a saddle point with locally isotropic convergence, regardless of the distributions of the sources. The use of prewhitening is not necessary for this algorithm to converge [4, 11]. UNICA - Unbiased quasi Newton algorithm UNICA Algorithm (Unbiased qNewton algorithm for Independent Component Analysis) has been developed by Sergio Cruces, Andrzej Cichocki and Luis Castedo. UNICA is used to extract a specified number of independent components performing unbiased ICA in the presence of correlated Gaussian noise in the mixture. The algorithm performs a quasi-Newton iteration for the estimation of the mixing system with a minimum variance distortion response criterion which eliminates from the outputs the interfering components and all the noise that is outside the extracted signal subspace [4, 12]. 4. NOISE IN ECG The ECG is often contaminated by noise and artifacts9 that can be within the frequency band of interest and can manifest with similar morphologies as the ECG itself. Broadly speaking, ECG contaminants can be classified as:[5] 1. Power line interference: 50 ±0.2 Hz mains noise (or 60 Hz in many data sets10) with an amplitude of up to 50% of full scale deflection (FSD), the Peak-to-peak ECG amplitude; 2. Electrode pop or contact noise: Loss of contact between the electrode and the skin manifesting as sharp changes with
saturation at FSD levels for periods of around 1 second on the ECG (usually due to an electrode being nearly or completely pulled off); 3. Patient–electrode motion artifacts: Movement of the electrode away from the contact area on the skin, leading to variations in the impedance between the electrode and skin causing potential variations in the ECG and usually manifesting themselves as rapid (but continuous) baseline jumps or complete saturation for up to 0.5 second; 4. Electromyographic (EMG) noise: Electrical activity due to muscle contractions lasting around 50 ms between dc and 10,000 Hz with an average amplitude of 10% FSD level; 5. Baseline drift: Usually from respiration with amplitude of around 15% FSD at frequencies drifting between 0.15 and 0.3 Hz; 6. Data collecting device noise: Artifacts generated by the signal processing hardware, such as signal saturation; 7. Electrosurgical noise: Noise generated by other medical equipment present in the patient care environment at frequencies between 100 kHz and 1MHz, lasting for approximately 1 and 10 seconds; 8. Quantization noise and aliasing; 9. Signal processing artifacts (e.g., Gibbs oscillations). Although each of these contaminants can be reduced by judicious use of hardware and experimental setup, it is impossible to remove all contaminants. Therefore, it is important to quantify the nature of the noise in a particular data set and choose an appropriate algorithm suited to the contaminants as well as the intended application [5].
We created random noise and created a mixture by random mixing matrix, so we obtain two sources from that like two channel ECG data with each source having a part of other source. We then applied 5 ICA algorithms to separate two signals and compared their SNR improvement. In the second case we used real ECG data from MIT-BIH database. The recordings were digitized at 360 samples per second per channel with 11-bit resolution over a 10 mV range. The MITBIH Arrhythmia Database contains 48 half-hour excerpts of two-channel ambulatory ECG recordings, obtained from 47 subjects studied by the BIH Arrhythmia Laboratory. Two data files were taken for consideration in our study were 104.dat and 105.dat. In the real dataset we already have two channel real ECG and each channel signal having a part of the other signal. Now assuming the output signal from the ICA algorithm to be a pure one we compared it with that of source signal and calculated SNR improvement, various algorithm performed differently on different database, indicating about selection of algorithms for database to be important for analysis. 6.
RESULTS
Source 1
Source 2
1
2 1.5
0.5
1 0.5
0
0
100
200
300
400
0
0
100
Seperated 1
200
300
400
300
400
Seperated 2
8
0 -1
6
-2
5. SIMULATION In this paper we compare the performance of 5 ICA algorithms for improvement of signal to noise ratio of ECG signals. In the first case we used simulated ECG signal using Fourier series according to which any periodic functions which satisfy dirichlet’s condition can be expressed as a series of scaled magnitudes of sin and cos terms of frequencies which occur as a multiple of fundamental frequency. ECG signal is periodic with fundamental frequency determined by the heartbeat. It also satisfies the dirichlet’s conditions.
4
2
-3
0
100
200
300
400
-4
0
100
200
Fig. 2. Simulated ECG with random noise Algorithms THINICA FPICA EFPICA UNICA
S1-Y1
S2-Y2
S1-Y2
S2-Y1
0.9407
2.4034
1.7933
11.0184
2.4846
4.1232
9.839
15.831
0.8002
2.4352
1.9037
10.6493
2.4846
4.1232
9.839
15.831
ERICA
1.4382 2.4011 1.592 12.3207 Table.1. SNR Improvement with Simulated Data Source 1
Source 2
1300
1100
1200
1050
1100
1000
1000
950
900
0
1000
2000
3000
4000
900
0
1000
Seperated 1
2000
3000
4000
Seperated 2
-34
95
-36
90
-38 85
-40 -42
Fig. 1. Simulated ECG
0
1000
2000
3000
4000
80
0
1000
Fig. 3. Real ECG data 104.
2000
3000
4000
Algorithms S1-Y1 S2-Y2 S1-Y2 THINICA 1524.1 .524.1- 75.512 FPICA .57442 1.57414 455252 EFPICA 157242 115215. 457474 UNICA .57442 1.57417 455252 ERICA 15245. 1.51244 157514 Table.2. SNR Improvement with Real Data 104 Source 1 1200
1200
1100
1000
1000
0
1000
2000
3000
4000
900
0
Seperated 1 -35
0
-40
-5
-45
-10
-50
1000
2000
3000
2000
3000
4000
[1]
4000
[3]
Seperated 2
5
0
1000
REFERENCES
[2]
Source 2
1400
800
S2-Y1 1451.25 .5.7151754422 .5.71514572.4
[4] 0
1000
2000
3000
4000
Fig. 4. Real ECG data 105. Algorithms S1-Y1 S2-Y2 S1-Y2 THINICA 751442 457457 45754. FPICA 25.122 4751777 .5.27. EFPICA 454.42 .57722 455.71 UNICA 25.47. 47557.4 .5.777 ERICA 45.424 454577 4514.7 Table.3. SNR Improvement with Real Data 105
[5] S2-Y1 457.41 .52415 45..5. .5247. 4577.1
[6] [7] [8]
[9]
[10] Fig. 5. SNR improvement of various ICA algorithms.
7. CONCLUSION The analysis of SNR is very essential for evaluating the ECG signal before interpreting the ECG of a subject, SNR of various ICA algorithms was calculated and results of both simulated and real data were studies, different algorithms have different performance on real and simulated data, FastICA have performed generally well on both real and simulated data. While EFPICA have highest SNR improvement for 104 data. This proves that selection of ICA algorithms greatly affect SNR improvement in ECG , so analysis has to preselect the algorithms to get best results.
[11] [12]
M.P.S. Chawla, PCA and ICA processing methods for removal of artifacts and noise in electrocardiograms: A survey and comparison, Applied Soft Computing, Volume 11, Issue 2, The Impact of Soft Computing for the Progress of Artificial Intelligence, Pages 2216-2226,March 2011. Kuan-To Chou and Sung-Nien Yu. 2008. Categorizing Heartbeats by Independent Component Analysis and Support Vector Machines. Eighth International Conference on Intelligent Systems Design and Applications - Volume 01 (ISDA '08), Vol. 1. IEEE Computer Society, Washington, DC, USA, 599-602,2008. Radu Mutihac and Radu Cristian Mutihac “A comparative study of independent component Analysis algorithms for electroencephalography”, Romanian reports in physics, vol. 59, no. 3, p. 831–860, 2007 A. Cichocki, S. Amari, Adaptive Blind Signal and Image Processing: Learning Algorithms and Applications, Wiley, 2003. Reisner A., Clifford G.D. and Mark, R.G. The Physiological Basis of the Electrocardiogram Ch1 in: Clifford G.D., Azuaje, F., McSharry P.E. (Eds): Advanced Methods and Tools for ECG Analysis. Artech House Publishing, October 2006. A. Hyvärinen and E. Oja, A Fast Fixed-Point Algorithm for Independent Component Analysis, Neural Computation, 9(7):1483-1492, 1997. A. Hyvärinen, Fast and Robust Fixed-Point Algorithms for Independent Component Analysis, IEEE Transactions on Neural Networks 10(3):626-634, 1999. Z. Koldovský, P. Tichavský and E. Oja, Efficient Variant of Algorithm FastICA for Independent Component Analysis Attaining the Cramér-Rao Lower Bound, IEEE Trans. on Neural Networks, vol. 17, no. 5, pp. 1265- 1277, September 2006. P. Tichavský, Z. Koldovský and E. Oja, Performance Analysis of the FastICA Algorithm and Cramér-Rao Bounds for Linear Independent Component Analysis, IEEE Trans. on Signal Processing, Vol. 54, No.4, April 2006. S. Cruces, A. Cichocki, Combining blind source extraction with joint approximate diagonalization: Thin Algorithms for ICA, Proc. of the Fourth Symposium on Independent Component Analysis and Blind Signal Separation, Japan, pp. 463-469, 2003. S. Cruces, L. Castedo, A. Cichocki, Robust blind source separation algorithms using cumulants, Neurocomputing, vol. 49, pp. 87-117, 2002. S. Cruces, A. Cichocki, L. Castedo, Blind Source Extraction in Gaussian Noise, In proceedings of the 2nd International Workshop on Independent Component Analysis and Blind Signal Separation (ICA'2000), pp. 63-68, Helsinki, Finland, June 2000.