Abstract
Background
In many cases biomedical data sets contain outliers that make it difficult to achieve reliable knowledge discovery. Data analysis without removing outliers could lead to wrong results and provide misleading information.
Results
We propose a new outlier detection method based on KullbackLeibler (KL) divergence. The original concept of KL divergence was designed as a measure of distance between two distributions. Stemming from that, we extend it to biological sample outlier detection by forming sample sets composed of nearest neighbors. KL divergence is defined between two sample sets with and without the test sample. To handle the nonlinearity of sample distribution, original data is mapped into a higher feature space. We address the singularity problem due to small sample size during KL divergence calculation. Kernel functions are applied to avoid direct use of mapping functions. The performance of the proposed method is demonstrated on a synthetic data set, two public microarray data sets, and a mass spectrometry data set for liver cancer study. Comparative studies with Mahalanobis distance based method and oneclass support vector machine (SVM) are reported showing that the proposed method performs better in finding outliers.
Conclusion
Our idea was derived from Markov blanket algorithm that is a feature selection method based on KL divergence. That is, while Markov blanket algorithm removes redundant and irrelevant features, our proposed method detects outliers. Compared to other algorithms, our proposed method shows better or comparable performance for small sample and highdimensional biological data. This indicates that the proposed method can be used to detect outliers in biological data sets.
Background
Outlier detection is an active research area that has many applications such as network intrusion detection [1], fraud detection [2] and biomedical data analysis [3]. In particular, outliers caused from instrument error or human error in the biomedical data analysis such as biomarker selection and disease diagnosis could deeply degrade the performance of the data analysis. Therefore, prior to the analysis, during preprocessing it is imperative to remove outliers to prevent wrong results. To detect such anomalous observations from normal ones, data mining techniques are widely used.
Outlier detection has been studied by researchers using a diversity of approaches. Statistical methods often view objects that are located relatively far from the center of the data distribution as outliers. Several distance measures were implemented. The Mahalanobis distance is the most commonly used multivariate outlier criterion. Based on Akaike's Information Criterion (AIC), Kadota et al. developed a method for detecting outliers, which is free from a significance level [4]. Knorr and Ng introduced a distancebased approach in which outliers are those objects for which there are less than k points within a given threshold in the input data set [5,6]. Angiulli et al. proposed a distancebased outlier detection method which finds the top outliers and provides a subset of the data set, called outlier detection solving set, that can be used to predict if new unseen objects are outliers [7]. Distancebased strategies are advantageous since model learning is not required. As an alternative, clustering algorithms can be used for outlier detection in which objects that do not belong to any cluster are regarded as outliers. Wang and Chiang proposed an effective cluster validity measure with outlier detection and cluster merging strategies for support vector clustering (SVC) [8]. The validity measure is capable of finding suitable values for the kernel parameter and soft margin constant. Based on these parameters, SVC algorithm can identify the ideal cluster number and increase robustness to outliers and noises. Schölkopf proposed a method of adapting support vector machine (SVM) to oneclass classification problems [9]. Manevitz and Yousef presented two versions using the oneclass SVM, both of which can identify outliers: Schölkopf's method and their proposed suggestion [10]. In such methods, after mapping the original samples into a feature space using an appropriate kernel function, the origin is referred to as the second class. In the feature space, samples close to the origin or lying on the standard subspace such as axes are regarded as outliers. Bandyopadhyay and Santra applied a genetic algorithm to the outlier detection problem in a lower dimensional space of a given data set, dividing these spaces into grids and efficiently computing the sparsity factor of the grid [11]. Aggarwal and Yu studied the problem of outlier detection for highdimensional data, which works by finding lower dimensional projections [12]. Malossini et al. proposed two methods for detecting potential labeling errors: Classificationstability algorithm (CLstability) and LeaveOneOutErrorsensitivity algorithm (LOOEsensitivity) [13]. In CLstability, the stability of the classification of a sample is evaluated with a small perturbation of the other samples. LOOEsensitivity was derived from the fact that if a sample is mislabeled, flipping the label of the sample should improve the prediction power.
In this paper, we propose a new outlier detection method based on KL divergence [14]. Due to the possible nonlinearity of data structure, we deal with this problem in a higher feature space rather than the original space. Several issues arise after data mapping such as singularity because of small sample size versus high feature dimension. We address the computational issues and show the effectiveness of the proposed approach, KL divergence for outlier detection (KLOD).
Methods
Markov blanket
Markov blanket algorithm proposed by Koller and Sahami is a crossentropy based technique to identify redundant and irrelevant features [15]. Let F be a full set of features and M ⊆ F be a subset of features which does not contain feature F_{i}. Then, M is called a Markov blanket for F_{i }if F_{i }is conditionally independent of F  M{F_{i}} given M. Generally, the Markov blanket M_{i }of F_{i }is defined as a subset of features that consists of some features that have the highest Pearson correlation with F_{i}. To evaluate the closeness between F_{i }and its Markov blanket M_{i}, the following expected crossentropy Δ is estimated:
where f_{Mi }and f_{i }are feature values to M_{i }and F_{i}, respectively, c is the class label, and D(..) represents the crossentropy (a.k.a. KullbackLeibler divergence). For each feature, Δ value is computed and a feature with the smallest Δ value is eliminated from the whole feature set. With the remaining features, the procedure is repeated until a predefined number of features remains.
KullbackLeibler (KL) divergence
KL divergence, widely used in information theory, is adopted in Markov blanket as a core component. As shown in Markov blanket, KL divergence represents a measure of the distance between two probability distributions [16], i.e., for two probability densities p(x) and q(x), the KLdivergence is defined as
Suppose that (μ, Σ) is a multivariate Gaussian distribution defined as
where x ∈ and Σ is the determinant of covariance matrix Σ. Given two different probability density functions, p(x) = _{1}(μ_{1}, Σ_{1}) and q(x) = _{2}(μ_{2}, Σ_{2}), the KL divergence is defined as
Concept of KL divergence for outlier detection (KLOD)
In Markov blanket, based on KL divergence, after calculating Δ value of Eq. (1) for each feature, a feature with the lowest Δ value is considered to be the most redundant. Using KL divergence, our new outlier detection method, called KLOD, employs similar strategy to the Markov blanket, i.e., while Markov blanket algorithm detects redundant and irrelevant features, our method identifies outliers. In KLOD, each sample x_{i }has a sample set that consists of t samples close to the x_{i}. To calculate the distance between samples, Euclidean metric is used. More specifically, we define two sample sets, i.e., S_{1 }and S_{2}: S_{2 }is a sample set close to x_{i }in Euclidean distance and the other set S_{1 }consists of x_{i }and all samples in S_{2}. The similarity, (S_{1}S_{2}), between S_{1 }and S_{2 }for each sample can be measured by using KL divergence, where 1 ≤ i ≤ n and n is the total number of samples in the data set. Intuitively, in our strategy, a sample x_{i }with the largest D is regarded as an outlier.
Given a data set with nonlinear data structure, if we model the linearity for the data set, it will cause our strategy to fail. Here, we focus on modeling the nonlinearity. Accordingly, with a mapping function ϕ, the original space is mapped into a higher dimensional feature space. Let and denote the two sample sets in the feature space in which we compute the similarity D() between and . For each sample, its D() is calculated. A sample which has the largest D() is referred to as an outlier.
Please see an example in Figure 1. However, the calculation leads to several important issues to be considered, such as kernel trick, singularity problem, and calculation of KL divergence in the feature space. In the following sections, we will describe them.
Figure 1. Outlier detection in a high feature space. Suppose that the red dot is a real outlier which is the farthest one from the majority of data. (a) in the original space, x_{1 }is regarded as an outlier. (b) in the higher feature space, x_{2 }is correctly detected as an outlier.
Kernel function
Suppose that {x_{1}, x_{2}, ⋯ x_{n}} are the given samples in the original space. After mapping the samples into a higher feature space by a nonlinear mapping function ϕ, the samples in the feature space are observed as Φ_{mxn }= [ϕ(x_{1}), ϕ (x_{2}), ⋯, ϕ (x_{n})] where m is the number of features. Denote K as follows:
The calculation can be performed using kernel trick, i.e., the ijth element, ϕ (x_{i})^{T}ϕ (x_{j}), of the K matrix can be computed as a kernel function k(x_{i}, x_{j}). In literatures, the polynomial kernel and the Gaussian kernel are the most widely used kernel functions. In this study, the Gaussian kernel function is used:
where σ controls the kernel width. Similar to Eq. (6), we define K_{ij }as follows:
where if i ≠ j, Φ_{i }and Φ_{j }are different sample sets in the feature space; if i = j, K_{ij }is equivalent to the definition of K. Indeed, the feature space and the mapping function may not be explicitly known. However, once the kernel function is known, we can easily deal with the nonlinear mapping problem by replacing the mapping functions by the kernel functions.
KL divergence equation is composed of mean and covariance components. The mean and the covariance matrix in the feature space are estimated as
where and = [1, 1, ⋯, 1]. Then, an m × n matrix W is denoted as
Singularity problem
The covariance matrix in Eq. (10) is rankdeficient due to the small number of samples against the number of features. This problem, called singularity problem, makes it impossible to calculate the inverse of the covariance matrix. To overcome the problem, several methods have been proposed. In this study, we make use of a simple regularized approximation in which some positive constant values are added to the diagonal elements of the covariance matrix [17]. Therefore, the modified covariance matrix is of full rank, hence nonsingular. Let C denote
where R = JJ^{T}, ρ > 0, and I_{m }is an identity matrix. In this study, ρ = 1 is used. Then, the inversion of the matrix C can be computed by using Woodbury formula:
where B = JM^{1}J^{T }and M = ρI_{n }+ W^{T}W = ρ I_{n }+ J^{T}Φ^{T}ΦJ = ρI_{n }+ J^{T}KJ.
Definition (Woodbury formula): Let A be a square r × r invertible matrix, where U and V are two r × k matrices with k ≤ r. Assume that a k × k matrix Σ = I_{k }+ β V^{T}A^{1}U, in which I_{k }denotes a k × k identity matrix and β is an arbitrary scalar, is invertible. Then
Calculation of KL divergence
Suppose that and are two sample sets in the feature space as mentioned in section. We know that the covariance matrices for both sets are singular. Let C_{1 }and C_{2 }denote the approximated covariance matrices for and , respectively, where the size of is one larger than that of . Also, let μ_{1 }and μ_{2 }be mean matrices for and , respectively. Therefore, KL divergence for and is expressed as follows:
The KL divergence above is composed of three terms, i.e.,
It should be noted that as shown in Eq. (9), Eq. (12) and Eq. (13), μ_{i}, C_{i }and (i = 1 or 2) have mapping functions rather than kernel functions.
Here, we will show how each term can be expressed by kernel functions instead of mapping functions. The first term consists of four subterms,
Substituting Eq. (9) and Eq. (13) into each subterm , we have
As a result of the effort, all mapping functions in the first term are replaced with kernel functions. Before dealing with the second term, we want to introduce the following three properties of determinant that are essential in the calculation of the second term.
Properties of determinant
(a) If A is an rbyr matrix, detdA = detdI_{r}A = d^{r}detA.
(b) If A and B are kbyr matrices, detI_{k }+ AB^{T} = detI_{r }+ B^{T}A.
(c) If A is invertible, detA^{1} = 1/detA.
In the second term, we should compute the determinant of C(C_{1 }or C_{2}). Instead of directly calculating the determinant of C, we try to obtain it through the determinant of C^{1}. That is,
where Q = ΦB. Here, by property (c), we can easily calculate C, i.e.,
By taking logarithm of C, we have
Note that the size of is one larger than that of . If the size of is k, the size of becomes k + 1.
Now we have the second term composed of kernel functions:
The third term can be replaced with kernel functions using properties of trace:
Successfully, we substitute all mapping functions in the three terms of KL divergence by kernel functions so that we can calculate KL divergence between two sample sets in the feature space.
Results and discussion
To evaluate the performance of KLOD method, we performed several experiments using a synthetic data, two gene expression data sets, and a highresolution mass spectrometry data. To obtain unbiased results, all experiments were repeated 30 times with 10fold cross validation (CV) and the performance was averaged. The performance of KLOD was compared with oneclass SVM and Mahalanobis distance based outlier detection methods. Given n samples, the Mahalanobis distance for each multivariate sample x_{i }is as follows:
where Σ and μ are the sample covariance matrix and sample mean vector, respectively. Samples with a large Mahalanobis distance are regarded as outliers.
Results on synthetic data
First, using a synthetic data, we evaluated KLOD to see the ability in detecting outliers. The synthetic data consists of 100 samples, denoted as N, each of which has 100 features generated from a mixture of Gaussian (0, I). In addition, two sample sets called quasioutlier set Q and perfect outlier set P were produced, each of which has 10 samples with 100 features, which were generated from a mixture of Gaussian (0, I) and (2, I), respectively. It is noted that Q was created from the same distribution as N. Here, we corrupted Q by changing the values in some features. To do so, some features from each sample in P were randomly selected. The values of the selected features replaced those of features randomly selected from the corresponding sample in Q. Finally, we merged N and Q, which were used as a synthetic data. Figure 2 illustrates an example of generating the synthetic data. In this experiment, we tested KLOD changing the number of corrupted features from 10 to 30 increasing by 2 and the size of a set, denoted as t, that consists of close samples of each sample from 5 to 20 increasing by 5. With the synthetic data, we measured how accurate our method is in identifying outliers in a way that the number of real outliers is counted out of the first 10 samples detected by KLOD.
Figure 2. Generation of a synthetic data. This example shows a way used in this study to generate a synthetic data.
Figure 3 shows the experimental results. When the number of noisy features increases, the accuracy shows a tendency to increase as well. It should be noted that for all set sizes, when the number of noisy features is 18, an accuracy of over 90% was obtained. Particularly, for t = 10, 15 and 20, when the number of noisy features is 30, an accuracy of 100% was achieved.
Figure 3. Accuracy of detecting outliers on a synthetic data. The data consists of 100 normal samples and 10 outliers, each having 100 features.
Performance evaluation after outlier removal
Before introducing the outlier removal for real biomedical data, we first introduce the performance evaluation metric we will use which is PCA (principal component analysis) + LDA (linear discriminant analysis). LDA maps the data into a very low dimensionality of c 1, where c is the number of classes. In the reduced space, a simple matching procedure is used for classification. However, in order to guarantee a nondegenerate result from LDA, before the LDA task, the dimensionality of the data must be reduced to at most n  c where n is the number of samples. Principal component analysis (PCA) is often used in the analysis of high dimensional data set. PCA performs a transformation of the original space into a lower dimensional space with little or no information loss while maximally preserving variance.
Lilien et al. used the PCA+LDA method in the analysis of mass spectrometry data sets [18]. In this framework, the PCA dimensionalityreduced samples are projected by LDA onto a hyperplane in the way of maximizing the betweenclass variance and minimizing the withinclass variance of the projected samples. To evaluate the performance after outlier removal in our experiments, we employed the PCA+LDA strategy.
Results on gene expression data sets
In this study, two public microarray data sets were used.
• The leukemia data set covers two types of acute leukemia: 47 acute lymphoblastic leukemia (ALL) samples and 25 acute myeloid leukemia (AML) samples with 7,129 genes. The data set is publicly available at http://www.broad.mit.edu/cgibin/cancer/datasets.cgi/ webcite[19].
• The colon data set contains 40 tumor and 22 normal colon tissues with 2,000 genes. The data set is available at http://microarray.princeton.edu/oncology/ webcite[20].
In experiments with the two microarray data sets, specificity, sensitivity, and accuracy were measured using PCA+LDA classification strategy after removing outliers detected by KLOD with t = 10, Mahalanobis distance based method, and oneclass SVM. We define the specificity as the ratio of correctly classified negatives to the actual number of negatives. For leukemia and colon microarray data sets, negatives are ALL and normal samples, respectively. For KLOD and Mahalanobis distance based method, the performance was measured after removing a sample having the largest distance from each class at each iteration. If the prediction rate (specificity or sensitivity) decreases more than a threshold γ compared to the prediction rate before the outlier removal, we stop the outlier detection in the corresponding class. In this study, we used γ = 0.5%. In contrast, for oneclass SVM, after excluding all samples regarded as outliers in each class, the performance was assessed.
Table 1 shows the experimental results obtained using leukemia and colon microarray data sets. For the leukemia data set, KLOD achieved the best accuracy with 9 outliers (2 ALL and 7 AML samples).
Table 1. Performance after outlier detection in leukemia and colon data sets.
Mahalanobis distance based method and oneclass SVM found 14 and 12 outliers, respectively. For the colon data set, KLOD found 6 outliers (1 normal and 5 tumor samples) with 84.95% specificity, 94.43% sensitivity, and 91.25% accuracy. It should be noted that the performance of Mahalanobis distance based method was degraded in terms of sensitivity and accuracy compared to the performance obtained using all samples without outlier removal, suggesting that outliers detected by Mahalanobis distance based method are unlikely to be real ones.
Results on mass spectrometry data
To evaluate the effectiveness of KLOD, we also used a public mass spectrometry data for liver cancer study that consists of 201 spectra containing hepatocellular carcinoma (HCC) (78), cirrhosis (51), and health (72) [3]. From http://microarray.georgetown.edu/ressomlab/ webcite, we downloaded the binned spectra that have 23,846 peaks for each spectrum. To test outlier detection methods, only cirrhosis and HCC spectra were used as in [3]. By using ttest with the significance level of 0.05 in cirrhosis and HCC spectra, we selected 10,682 peaks. That is, the top 10,682 peaks selected by ttest with cirrhosis and HCC spectra were used in outlier detection methods. The same way as performed with the microarray data sets was employed. Here cirrhosis samples are regarded as negatives. As shown in Table 2, KLOD obtained slightly higher performance with the smallest number of outliers than Mahalanobis distance based method and oneclass SVM. From the results in experiments using mass spectrometry and microarray data sets, it seems that oneclass SVM detects more outliers than KLOD and Mahalanobis distance based method.
Table 2. Performance after outlier detection in liver cancer mass spectrometry data.
Conclusion
We proposed a new outlier detection method based on KL divergence called KLOD. Our idea was derived from Markov blanket algorithm where redundant and irrelevant features are removed based on KL divergence. We tackled the outlier detection problem in a higher feature space after mapping the original data. The mapping leads to several issues. In particular, we showed how to calculate KL divergence in the higher feature space by using the properties of determinant and trace of matrix. To asses the usefulness of KLOD, we used a synthetic data and real life data sets. Compared to Mahalanobis distance based method and oneclass SVM, KLOD achieved higher or comparable performance.
Competing interests
The authors declare that they have no competing interests.
Authors' contributions
JHO performed data analysis and wrote the manuscript. JG supervised the project and edited the paper.
Acknowledgements
This work was supported in part by NSF under grants IIS0612152 and IIS0612214.
This article has been published as part of BMC Bioinformatics Volume 10 Supplement 4, 2009: Proceedings of the IEEE International Conference on Bioinformatics and Biomedicine (BIBM) 2008. The full contents of the supplement are available online at http://www.biomedcentral.com/14712105/10?issue=S4.
References

Lee W, Stolfo S, Mok K: Mining audit data to build intrusion detection models.
Proc Int Conf Knowledge Discovery and Data Mining (KDD 1998) 1998, 6672.

Ressom H, Varghese R, Drake S, Hortin G, AbdelHamid M, et al.: Peak selection from MALDITOF mass spectra using ant colony optimization.
Bioinformatics 2007, 23:619626. PubMed Abstract  Publisher Full Text

Kadota K, Tominaga D, Akiyama Y, Takahashi K: Detecting outlying samples in microarray data: A critical assessment of the effect of outliers on sample classification.

Knorr E, Ng R: Algorithms for mining distancebased outliers in large datasets.
Proc Int Conf Very Large Databases (VLDB 1998) 1998, 392403.

Knorr E, Ng R, Tucakov V: Distancebased outlier: algorithms and applications.
Proc Int Conf Very Large Databases (VLDB 2000) 2000, 237253.

Angiulli F, Basta S, Pizzuti C: Distancebased detection and prediction of outliers.
IEEE Trans on Knowledge and Data Engineering 2006, 18:145160.

Wang JS, Chiang JC: A cluster validity measure with outlier detection for support vector clustering.
IEEE Trans on Systems, Man, and Cybernetics, Part B 2008, 38:7889.

Schölkopf B, Platt J, ShaweTaylor J, Smola A, Williamson R: Estimating the support of a highdimensional distribution.
Neural Computation 2001, 13:14431471. PubMed Abstract  Publisher Full Text

Manevitz L, Yousef M: Oneclass SVMs for document classification.

Bandyopadhyay S, Santra S: A genetic approach for efficient outlier detection in projected space.

Aggarwal C, Yu P: Outlier detection for high dimensional data.

Malossini A, Blanzieri E, Ng R: Detecting potential labeling errors in microarrays by data perturbation.
Bioinformatics 2006, 22:21142121. PubMed Abstract  Publisher Full Text

Oh J, Gao J, Rosenblatt K: Biological data outlier detection based on KullbackLeibler divergence.
Proc IEEE Int Conf on Bioinformatics and Biomedicine (BIBM 2008) 2008, 249254.

Tumminello M, Lillo F, Mantegna R: KullbackLeibler distance as a measure of the information filtered from multivariate data.

Zhou S, Chellappa R: From sample similarity to ensemble similarity: probabilistic distance measures in reproducing kernel Hilbert space.
IEEE Trans on Pattern Analysis and Machine Intelligence 2006, 28:917929.

Lilien R, Farid H, Donald B: Probabilistic disease classification of expressiondependent proteomic data from mass spectrometry of human serum.
Journal of Computational Biology 2003, 10:925946. PubMed Abstract  Publisher Full Text

Golub T, Slonim D, Tamayo P, Huard C, Gaasenbeek M, et al.: Molecular classification of cancer: class discovery and class prediction by gene expression monitoring.
Science 1999, 286:531537. PubMed Abstract  Publisher Full Text

Alon U, Barkai N, Notterman D, Gish K, Ybarra S, et al.: Broad patterns of gene expression revealed by clustering analysis of tumor and normal colon tissues probed by oligonucleotide arrays.
Proc Natl Acad Sci U S A 1999, 96:67456750. PubMed Abstract  Publisher Full Text  PubMed Central Full Text