Modified Possibilistic Fuzzy C-Means Algorithm for Clustering Incomplete Data Sets

Possibilistic fuzzy c-means (PFCM) algorithm is a reliable algorithm has been proposed to deal the weakness of two popular algorithms for clustering, fuzzy c-means (FCM) and possibilistic c-means (PCM). PFCM algorithm deals with the weaknesses of FCM in handling noise sensitivity and the weaknesses of PCM in the case of coincidence clusters. However, the PFCM algorithm can be only applied to cluster complete data sets. Therefore, in this study, we propose a modification of the PFCM algorithm that can be applied to incomplete data sets clustering. We modified the PFCM algorithm to OCSPFCM and NPSPFCM algorithms and measured performance on three things: 1) accuracy percentage, 2) a number of iterations to termination, and 3) centroid errors. Based on the results that both algorithms have the potential for clustering incomplete data sets. However, the performance of the NPSPFCM algorithm is better than the OCSPFCM algorithm for clustering incomplete data sets.


Introduction
Incomplete data sets are common in the real world.Incomplete data sets can be caused by failures during data collection, the problem of merging data from various data sources, data cleaning or data transfer problems [1].The main problem faced when trying to cluster incomplete data sets is the existing clustering algorithm cannot be used for clustering incomplete data sets.Popular clustering algorithms included fuzzy c-means (FCM) [2] and possibilistic c-means (PCM) [3], which can only be used for complete data sets.Bezdek and Hathaway [4] have developed FCM algorithm to deal with the problem of clustering data sets contain missing values.They proposed whole data strategy fuzzy c-means (WDSFCM) to deal with incomplete data sets clustering problems by removing features that contain missing values and running standard FCM algorithms on the remaining data that have become complete data sets.However, WDSFCM produces biased clustering results when the missing values are large.
Dixon [5] proposed partial distance strategy (PDS) algorithm to deal with incomplete data sets in clustering by calculates a partial distance (squared euclidean) using all the values available at the data points containing missing values and then scaling this quantity by the reciprocal of the component proportion used.Bezdek and Hathaway [4] modified FCM using PDS to deal with clustering incomplete data sets known as the PDSFCM algorithm.WDSFCM and PDSFCM algorithms do not impute missing values or in other words, do not get estimates of missing values after the clustering process.
The following two algorithms, which were also proposed by Bezdek and Hathaway in [4] have imputed missing values.They modified the FCM algorithm using the optimal completion strategy (OCS) and the nearest prototype strategy (NPS), each of which is referred to as the OCSFCM and NPSFCM algorithms.The optimal completion strategy fuzzy c-means (OCSFCM) algorithm estimates missing values by considering missing values as an additional variable and partitioning the data together with optimizing the value of the FCM objective function.The nearest prototype strategy fuzzy c-means (NPSFCM) algorithm estimates missing values using the prototype cluster closest to itself in each iteration step.So the difference between OCSFCM and NPSFCM algorithms lies in how to update the imputation for missing values at each iteration step.
In another paper, Bezdek et al. [6] also introduced the possibilistic fuzzy c-means (PFCM) algorithm.The PFCM algorithm corrects the shortcomings of the FCM and PCM algorithms by overcoming noise sensitivity and the possibility of the occurrence of coincidental clusters, respectively.However, the PFCM algorithm also has disadvantages like those of FCM and PCM algorithms, which can be only used for clustering complete data sets.Therefore, in this study we propose a modification of PFCM algorithm so that it can be applied to incomplete data sets.Incomplete data sets are overcome by a strategy adapted from Bezdek and Hathaway [4], using the optimal completion strategy (OCS) and the nearest prototype strategy (NPS).This modification of the PFCM algorithm uses OCS as the OCSPFCM algorithm.While the modification of the PFCM algorithm uses the NPS, we term as the NPSPFCM algorithm.This paper will describe the PFCM algorithm for clustering complete data sets in Section 2. In Section 3, a modification of the PFCM algorithm for clustering incomplete data sets is explained.In Section 4, we describe the experimental setup.In Section 5, experimental results on real world and artificial data sets are shown and we discuss the results, and Section 6 is the conclusion of this study.

Possibilistic Fuzzy C-Means (PFCM) Algorithm of Complete Data Sets
Suppose unlabeled data sets Here n states the number of data points and s states dimension each of data point.The purpose of clustering X into c clusters is achieved by minimizing the following objective functions [6].
Here α(α > 0) states the importance level of fuzzy membership degree (u ik ).Equation ( 1) is subject to c i=1 u ik = 1 constraints.Krishnapuram and Keller [3] relaxed this constrain become c i=1 u ik ≥ 1, so that it would be better in reflecting the typical of x k to the i-th cluster.t ik states possibilistic membership degree of x k to the i-th cluster.So β(β > 0) states the importance level of possibilistic membership degree (t ik ).d 2 ik = x k − v i states the Euclidean distance of the j-th data to i-th cluster centre vector.V = (v 1 , v 2 , • • • , v c ) states cluster centre vector, v i ∈ R s and δ i > 0 is the typical of possibilistic.Here m > 1 and τ > 1 are weighting exponent.
Basically determining of the u ik , t ik and v i must be done simultaneously.However, in this study we determined numerically using the recursive method.So that we can choose which values will be initiated to calculate the other values.Here, we chose initiate v i to calculate u ik and t ik .

Possibilistic Fuzzy C-Means (PFCM) Algorithm
In this study, the complete data sets is clustered use the possibilistic fuzzy c-means (PFCM) algorithm proposed by Bezdek et al. [6].The PFCM algorithm is described as follows.
Step I: Fix m > 1, τ > 1, > 0 and 1 < c < n.Pick v (0) ∈ R s , v (0) can be chosen randomly from Step II: Calculate fuzzy membership degree (u ik ) which minimize the objective function J m,τ using the following Step III: Calculate possibilistic typical (δ i ) which minimizes the objective function J m,τ using the following Step IV: Calculate possibilistic membership degree (t ik ) which minimizes the objective function J m,τ using the following Step V: Update cluster centre (v i ) which minimizes the objective function J m,τ using the following Step VI: Compare v The clustering result of the complete data set will be a base for evaluating the performance of the modified PFCM algorithm (see Section 4).

Possibilistic Fuzzy C-Means (PFCM) Algorithm of Incomplete Data Sets
As explained earlier, PFCM algorithm cannot be used to cluster incomplete data sets or data sets that contain missing values.Therefore, in this section the PFCM is modified so that it can be used to cluster incomplete data set.Given incomplete data sets Y = {y 1 , y 2 , • • • , y n } ⊂ R p (p = n × s), with y 2 = (2.35,?, 1.32, ?, 3.44) T ∈ R 5 .y 22 and y 24 are missing values.The question is how to cluster Y ?Therefore, a modification of the PFCM algorithm is proposed to clustering data sets similar like Y .The notation that will be used throughout follows.Let y = k th s-dimensional data vector, for 1 ≤ k ≤ n; y kj = j th feature value of the k th data point vector, for 1

Optimal Completion Strategy Possibilistic Fuzzy C-Means (OCSPFCM) Algorithm
The OCSPFCM algorithm is the first modification of the PFCM algorithm that we proposed for clustering incomplete data sets, the explanation is as follows.
Step I: Step II: Calculate fuzzy membership degree (u ik ) which minimize the objective function J m,τ using the following Step III: Calculate possibilistic typical (δ i ) which minimizes the objective function J m,τ using the following Step IV: Calculate possibilistic membership degree (t ik ) which minimizes the objective function J m,τ using the following Step V: Update cluster centre (v i ) which minimizes the objective function J m,τ using the following Step VI: Compare v If true, then stop.Otherwise, go to Step VII.
Step VII: Update Y M which minimize the objective function J m,τ , for each y kj ∈ Y M using the following Now set l = l + 1 and return to Step II.
Based on seven steps of the OCSPFCM algorithm described above, basicly Step I to Step VI are the PFCM algorithm.
The difference is only on the process of missing values imputation which is done by initiating their with a random values that is available in the data sets (Step I).Then we update these values on Step VII by the sum of the fuzzy membership degrees and the possibilistic membership degrees multiplied by one of the values exist on the cluster center vector as shown in Equation 10.

Nearest Prototype Strategy Possibilistic Fuzzy C-Means (NPSPFCM) Algorithm
The NPSPFCM algorithm is the second modification of the PFCM algorithm that we proposed for clustering incomplete data sets.In general, the clustering process using the NPSPFCM algorithm similar to the OCSPFCM algorithm.The difference is only in Step VII, i.e. we update the missing values imputation by one value available on the nearest cluster center vector to itself.
Step VII of the NPSPFCM algorithm is defined as follows.
Step VII: Update Y (l) M which minimize the objective function J m,τ , for each y kj ∈ Y M using the following where

Experimental Setup
In this study, we evaluated and demonstrated the potential of a modified PFCM algorithm for clustering incomplete data sets.The stages of the experiment are as follows.First, we cluster complete data sets using the PFCM algorithm to obtain the distribution of data points in the actual cluster.The result of this stage is used as a base in evaluating the performance of OCSPFCM and NPSPFCM algorithms.To obtain the optimal number of clusters in a complete data set, we use a cluster validity index.The cluster validity index used is the Xie-Beni index shown in Equation (12).A validity index is a measure used to determine the optimal number of clusters.We used the Xie-Beni index by reason of the partition coefficient (PC) and classification entropy (CE) index ignore cluster center and data in the index calculation.Whereas the cluster center and data are two basic things involved in the process of clustering based on fuzzy clustering rule [7].The optimal number of clusters are indicated by the smallest Xie-Beni index value.Xie and Beni [8] propose the cluster validity index as follows.
The second stage taken is the complete data sets are made contain the missing values.In this study, the performance of OCSPFCM and NPSPFCM algorithms is evaluated on real world and artificial data sets.The real world data sets used is iris [9] and wine [10] data sets downloaded from http://archive.ics.uci.edu/ml[11].The third stage is complete data sets that have been become incomplete data sets is clustered using OCSPFCM and NPSPFCM algorithms.The performance of OCSPFCM and NPSPFCM algorithms in clustering incomplete data sets are evaluated in three ways: the percentage accuracy of each data point being on the correct cluster member, number of iterations to termination, and centroid errors.The formula used to calculate the percentage of accuracy is as follows [12].
Where a is the number of data points clustered correctly, and n is the total number of data points.In this study, the centroid errors are the magnitude of the error of cluster center for incomplete data sets clustered using OCSPFCM and NPSPFCM algorithms when compared to the cluster center of complete data sets clustered using the PFCM algorithm.
In some applications, information about the cluster center is important to know the data point partitioning in the cluster [1].Therefore, we also evaluate the two algorithms by calculating the centroid errors at each level of the missing values percentage.Euclid distance formula is used to calculate the centroid errors.Then this centroid errors (ce) are averaged using the following formula: Where ce i is the i-th centroid error.

Experimental Results and Discussions
In accordance with the experimental setup, the first thing to do is to cluster the complete data sets using the PFCM algorithm with the Xie-Beni index as cluster validity index.The result obtained indicate that the smallest Xie-Beni index value for each data sets is in the two clusters.This means that the optimal number of clusters to the complete iris data sets is two clusters.This result in line with the results obtained by Pakhira et al. [13] with the Davies-Bouldin (DB) index and the Dunn's index [14] as the cluster validity index.Similarly, for the complete wine data sets, the optimal number of clusters obtained with the two clusters.This result is in line with the results obtained by Zhang et al. [15] with the MPC index and the MPA index [16] as cluster validity index.For artificial data sets I and II, the optimal number of clusters obtained in the two clusters as well.This corresponds to the data sets of two components generated using Gaussian mixture distribution.Details of those cluster results shown in Table 1.  1 shows for complete iris data sets, 50 data points to be members of the first cluster, and 100 data points become members of the second cluster.For complete wine data sets, 78 data points become members of the first cluster, and 100 data points become members of the second cluster.For complete artificial data sets I, 494 data points become members of the first cluster and 506 data points become members of the second cluster.While, for complete artificial data sets II, 510 data points become members of the first cluster and 490 data points become members of the second cluster.These results will be a base to evaluate the performance of the modified PFCM algorithm that we are proposing.Due to differences in the percentage of accuracy, number of iterations to termination, and centroid errors in every experiment, and to gain a representative result, we conducted 30 experiments for each thing that evaluated.So that each of the three things that are evaluated will have 30 values.The average of the 30 values is the value that will be used to represent the percentage of accuracy, number of iterations to termination, and centroid errors, respectively.

Experiment on Iris Data Sets
The results of the complete iris data sets cluster by the PFCM algorithm is used as a base to evaluate the performance of the OCSPFCM and NPSPFCM algorithms on iris data sets experiment.The first evaluation is the percentage of accuracy.
Figure 2 shows the average accuracy percentage for iris data sets using OCSPFCM and NPSPFCM algorithms.For missing values of below 15%, the OCSPFCM algorithm is an accuracy percentage above 90%.However, at the number of missing values between 20% to 30%, the OCSPFCM algorithm only obtained an accuracy percentage of above 80% and a maximum is 86%.The NPSPFCM algorithm is an accuracy percentage above 90% for all the missing values tested, expect for the 30% missing values with an accuracy of 89.13%.The percentage of accuracy shows a significant difference at above 20% of the total missing value.Figure 2 also shows that the greater the number of missing values, the lower the percentage accuracy.The decrease in the percentage of accuracy is caused by update the missing value imputation falls far from the value that should be.So that the data points that contain the missing values previously Figure 2: The average accuracy percentage on iris data sets being a member of the inappropriate cluster.80% of accuracy percentage on the OCSPFCM algorithm means that with a 30% missing value, there are 130 data points out of a total of 150 data points being members of the right cluster.Instead, there are 20 data points that be members of the inappropriate cluster.While 89.13% of accuracy percentage on the NPSPFCM algorithm means 134 data points are members of the right cluster.In contrast, there are 16 data points that be members of the inappropriate cluster.
Figure 3: The average number of iterations to termination on iris data sets Figure 3 shows the number of iterations to termination needed by OCSPFCM and NPSPFCM algorithms on the iris data sets.Figures 2 and 3 show the behavior that is inversely proportional to the percentage of accuracy and the number of iterations.The percentage of accuracy decreases inversely with an increase in the number of iterations needed to terminate.An increase in the number of missing values caused an increase in the number of iterations as well.In other words, the greater the number of missing values, the more iterations needed to termination.
Figure 4 shows the average centroid errors for iris data sets using OCSPFCM and NPSPFCM algorithms.We can see that the difference in centroid errors between the OCSPFCM algorithm and NPSPFCM begins significantly at the 20% missing values.The shift of the cluster center is closely related to the process of updating the missing values imputation.The algorithm updates the missing value imputation falls far from the actual value, which occurrence a cluster center error.Figure 4 also shows that the process of updating the missing values imputation by the NPSPFCM algorithm has smaller cluster center (centroid) errors compared to the OCSPFCM algorithm.

Experiment on Wine Data Sets
In the wine data set, evaluations related to the percentage accuracy, the number of iterations, and centroid errors of the OCSPFCM and NPSPFCM algorithms are respectively shown in Figures 5, 6, and 7.
Figure 5: The average accuracy percentage on wine data sets Figure 5 shows the average of accuracy percentage of the OCSPFCM and NPSPFCM algorithms in the wine data sets.The OCSPFCM algorithm shows the percentage of accuracy above 90% (for the number of missing values 5% and 10%), above 80% (for the number of missing values 15%, 20%, and 25%), and 74.72% (for 30% missing value).Whereas the NPSPFCM algorithm shows an accuracy percentage above 90% for all levels of missing values, except for a 30% level of missing value with an accuracy of 89.89%.Both those algorithms produced a percentage of accuracy that decreases along with the greater percentage of missing value.In the OCSPFCM algorithm, the percentage of accuracy is 74.72% means that with a 30% missing values there are 133 data points out of a total of 178 data points being members of the right cluster.Conversely, there are 45 data points that being members of the inappropriate cluster.In the NPSPFCM algorithm, the percentage of accuracy is 89.89% means that there are 160 data points out of a total of 178 data points being members of the correct cluster at the 30% missing value level.In contrast, there are 18 data points that are members of the inappropriate cluster.
Figure 6 shows the average number of iterations to termination on wine data sets using the OCSPFCM and NPSPFCM algorithms.In general, the number of iterations of the two algorithms increases with the upward in the number of missing values.The NPSPFCM algorithm provided a number of more efficient iterations than the OCSPFCM algorithm to termination.Figure 6: The average number of iterations to termination on wine data sets Figure 7: The average centroid errors on wine data sets Figure 7 shows the average centroid errors in wine data sets using the OCSPFCM and NPSPFCM algorithms.Based on figure 7, we can see a greater centroid error on the OCSPFCM algorithm than the NPSPFCM algorithm at all levels of the total missing values, except at the level of 15% the missing values, NPSPFCM gives a greater centroid errors.

Experiment on Artificial Data Sets I
In the artificial data set I, evaluations related to the percentage of accuracy, number of iterations, and centroid error of the OCSPFCM and NPSPFCM algorithms are respectively shown in Figures 8, 9, and 10.
Figure 8 shows the accuracy percentage of the OCSPFCM and NPSPFCM algorithms on the artificial data sets I.The OCSPFCM algorithm below 20% of the missing values gives an accuracy percentage above 90%.This result is higher than what obtained in the iris data sets, where the OCSPFCM algorithm gives an accuracy percentage above 90% at 15% missing value.As for the NPSPFCM algorithm, the performance is similar in the iris data sets for all missing value levels, the NPSPFCM algorithm gives an accuracy percentage above 90%, except for 30% missing values, with accuracy percentage is 88.86%.This 88.86% accuracy percentage value on the NPSPFCM algorithm means that with 30% missing values there are 886 data points out of a total of 1000 data points that are members of the right cluster.Instead, there are 114 data points that are members of the cluster that is not right.While on the OCSPFCM algorithm, 84.90% means that there are 849 data points out of a total of 1000 data points being members of the right cluster.In contrast, there are 151 data points that are members of the inappropriate cluster.In general, both algorithms have a percentage of accuracy that decreases with an increasing number of missing values.Although there is a change in the number of iterations between the two algorithms.In general, the number of iterations required by the two algorithms to terminate relatively similar at each level of the missing value.
Figure 10 shows the average centroid errors of the NPSPFCM algorithm which is smaller than the OCSPFCM algorithm.This is the implication of the process of updating the imputation of missing values by the NPSPFCM algorithm which gives a smaller cluster center (centroid) error than the OCSPFCM algorithm.In other words, the cluster center generated by the NPSPFCM algorithm falls closer to the base centroid used in the complete artificial data sets I.

Experiment on Artificial Data Sets II
In the artificial data sets II, evaluations related to the percentage of accuracy, the number of iterations, and the centroid errors of the OCSPFCM and NPSPFCM algorithms are respectively shown in Figures 11,12,and 13. Figure 11 shows the average of accuracy percentage in the OCSPFCM and NPSPFCM algorithms in the artificial data sets II.Both algorithms provide accuracy percentages above 95% for all missing values percentage levels, which is an accurate value.For the 30% missing value, the OCSPFCM and NPSPFCM algorithms show an accuracy percentage of 95.30% and 97.57%, respectively.That means for the OCSPFCM algorithm there are available 953 data points out of a total of 1000 data points that members of the right cluster.Instead, there are 47 data points that members of an inappropriate cluster.Whereas in the NPSPFCM algorithm there are 975 data points that members of the right cluster.Instead, there are 25 data points that members of an inappropriate cluster.Figure 12 shows the number of iterations is more efficient provided by the NPSPFCM algorithm.In addition to more efficient iterations, the NPSPFCM algorithm also provides a higher percentage of accuracy as shown in Figure 11.It was also inversely shown in Figures 11 and 12, which is the percentage of accuracy that decreases and the number of iterations increases with an increasing number of missing values.
Figure 13: The average centroid errors on artificial data sets II In addition to the higher percentage of accuracy and the number of iterations that more efficient, the NPSPFCM algorithm also produced smaller centroid errors compared to the OCSPFCM algorithm as shown in Figure 13.
The OCSPFCM and NPSPFCM algorithms provide accuracy percentages significantly different for the number of features almost the same, but significantly different in the number of data points as shown in Figure 5 and 11.However, we also find different results result in the iris data sets experiment shown in Figure 2 and the experiment in the artificial data sets I as shown in Figure 8, that the addition of the number of data points does not significantly affect the acquisition of the percentage of accuracy.Therefore, we can conclude that the OCSPFCM and NPSPFCM algorithms provide a more accurate percentage of accuracy in data sets with a greater number of data points and features.While data sets with a smaller number of features, although the addition of data points becomes larger, the two algorithms do not provide a significant increase in the percentage of accuracy.
The performance of the NPSPFCM algorithm on the number of iterations to termination in all data sets is also always more efficient than the OCSPFCM algorithm, except for the artificial data sets I whose number of iterations was alternately larger.But in general, the number of iterations to termination in the artificial data sets I give a relatively equal number of iterations between the OCSPFCM and NPSPFCM algorithms.The excellence of the NPSPFCM algorithm in the efficiency of the number of iterations is due to the NPSPFCM algorithm updating the imputation of the missing values using one of the values available at the cluster center vector nearest to itself.This accelerates the convergence of cluster centers directly, or v < faster achieved on the NPSPFCM algorithm than OCSPFCM algorithm.Whereas in the OCSPFCM algorithm, the imputation of the missing values updated using the sum of the degrees of fuzzy membership with the possibilistic of membership degrees then multiplied by one of the values available in the existing cluster center vector.From this, we understood that the value used to update the missing value may be one of the values of the cluster center which is not the cluster center where the imputation of the missing value is.So this causes the slow convergence of cluster centers.
Finally, we have evaluated the performance of OCSPFCM and NPSPFCM algorithms on centroid errors in each data sets.The results obtained the centroid errors of the NPSPFCM algorithm on all data sets are always smaller than the OCSPFCM algorithm, except for the wine data sets.However, generally the NPSPFCM algorithm always gives a smaller centroid errors in the wine data sets.The smaller centroid errors in the NPSPFCM algorithm can be interpreted as the ability of the NPSPFCM algorithm to produce cluster centers on incomplete data set with a 'location' not far from cluster centers of the complete data set.This is the implication of the process of updating the imputation of the missing values, where the NPSPFCM algorithm produces value not far from the value that should be.This is also the reason why the NPSPFCM algorithm obtains a more accurate percentage of accuracy and the number of iterations to termination more efficiently.

Conclusions
In this paper, we have presented the potential and performance modification of the PFCM algorithm for clustering incomplete data sets.The modification of the PFCM algorithm, we call as OCSPFCM and NPSPFCM algorithms.This paper divided into three stages.In the first stage, we conducted a clustering of complete data sets using the PFCM algorithm.The cluster results obtained at this stage become a base in evaluating the performance of the OSCPFCM and NPSPFCM algorithms.We evaluated the performance of the two algorithms on three ways: accuracy percentage, a number of iterations to termination, and centroid errors.In the second stage, the complete data sets were made into an incomplete data set, in this case, the data set contains the missing values with the predetermined percentage.In the third stage, we clustered incomplete data sets using the OCSPFCM and NPSPFCM algorithms.The results showed both algorithms have the potential to clustering incomplete data sets.However, the NPSPFCM algorithm has better performance than the OCSPFCM algorithm based on three things that are evaluated.Furthermore, the modification of the PFCM algorithm proposed in this paper can provide knowledge in the algorithm for incomplete data sets clustering.
and d 2 ck = y k − v c .Now set l = l + 1 and return to Step II.
data sets consist of 150 data points with 4 features per data point.In matrix form, iris data sets have a size of [150×4].Wine data sets consist of 178 data points with 13 features per data point.In matrix form, wine data sets have a size [178×13].While the artificial data sets used is the artificial data sets generated using the Gaussian mixture distribution rule.We generate artificial data sets with two components.Artificial data sets I consists of 1000 data points with 2 features per data point.In matrix form, artificial data sets I have a size [1000×2].A scatter plot of artificial data set I shown in Figure 1.Artificial data sets II consists of 1000 data points with 14 features per data point.In matrix form, artificial data set II have a size [1000×14].The rows and columns of the data sets matrix represent the number of data points and features, respectively.Complete iris, wine, artificial data set I and II are made contain missing values with predetermined percentages.The percentage of the number of missing values for each data sets is 5%, 10%, 15%, 20%, 25%, and 30%, respectively.We make complete data sets contains missing values by a random way.The value to be used as the missing values are chosen randomly in the column vector direction (feature) of matrix data sets.

Figure 1 :
Figure 1: Artificial data sets I

Figure 4 :
Figure 4: The average centroid errors on iris data sets

Figure 8 :Figure 9 :
Figure 8: The average accuracy percentage on artificial data sets I

Figure 10 :Figure 11 :
Figure 10: The average centroid errors on artificial data sets I

Table 1 :
The number of data points for each cluster on complete data sets