Input/Output
Data-File: The data file is an ASCII-text file,
consists of columns where the first column is descriptor/id of the data and
followed by the data for each attributes/variables. The first row of the file
should also contains the description or header/label for each columns.
Example:
id x y
1 0
0
2 0
2
....
....
No. of attributes: Is the number of data attributes or variables in data.
Output: An
output/report file contains the analysis of data (containing
data summary, class centroids, number of iterations, summary etc.).
When the "Write separate file for each class" box is checked, the membership
of each class is written in separate files, consists
of:
~ group.txt files containing the membership at
each group/class
summary.txt containing validity measures at each class (FPI, MPE and
S)
See performance measurement.
Membership Output includes:
- membership for each data point in each class
- CI = Confusion Index, is a measure of the degree of class overlap
in attribute space (see Burrough and McDonnell, 1998, Principles of Geographical
Information Systems. Oxford University Press).
CI is calculated as CI = 1- (m[max] - m[max2])
- Statistics of membership for each class: mean, min & max
Algorithm
The Algorithm menu permits selection of the fuzzy algorithm
to be used for subsequent analyses. The choices are: fuzzy k-means, fuzzy k-means
with extragrades, and fuzzy k-means equal area.
Fuzzy k-means is based on the algorithm presented in Bezdek
(1981). See Figure 1.
Fuzzy k-means with extragrades (deGruijter
and McBratney, 1988) recognizes that some objects might not fit well in
any of the groups that are formed and places these objects in an additional
outlier group, the extragrades (see Figure 2).
deGruijter and McBratney have assumed that there will be as many samples in
the extragrade group as in a regular group.
Fuzzy k-means equal area partition the variables into
classes using the fuzzy k-means algorithm, and making sure that the area of
membership allocated to each class (group) is equal.
Fuzzy k-means with fuzzy covariance matrices (Gustafson & Kessel, 1978)
calculates the Fuzzy covariance matrix for each number of classes and use it
as distance norm.
Metric
The Metric menu permits the user to select the
norm-inducing metric (Bezdek 1981) which is to be used by the fuzzy algorithm.
The choices are: Euclidean, Diagonal or Mahalanobis.
The metric (or 'distance' measure) should be chosen with care. Euclidean should not be used where different attributes have widely varying average values and standard deviations, since large numbers in one attribute will prevail over smaller numbers in another. With the diagonal and Mahalanobis metrics, the input data are transformed before use. Choosing diagonal results in transformation of the data attributes into having equal variance. Choosing Mahalanobis results in transformation of the data set to one in which all attributes have zero mean and unit variance, and correlations between variables are taken into account.
The fuzzy algorithms use measures of distance
only when placing data points in groups. They are insensitive to direction.
A useful (although not entirely correct) analogy is to think of the algorithms
as defining circles in two-dimensional space (or spheres in three-dimensional
space, or hyperspheres in multi-dimensional space) to cover the data points.
Consequently, the performance of the algorithms on data sets showing a
markedly stratified structure (for example, data clustered in planes, or
on lines) depends critically on the choice of metric. Separations measured
by diagonal or Mahalanobis distance might be better than Euclidean distance,
for they compensate for marked departures from the (hyper-) spherical shape.
Moreover, better separations might be given when more attributes are used,
because measurements of many properties are likely to provide more distinctions
and thus greater dissociation.
For the discussion on the choice of distance-dependence metric see
Odeh
et al. (1992).
Number of Classes
The analysis will commence by separating the data into the minimum
number of classes (groups) and will terminate after separating the maximum
number of groups. It is best to conduct an analysis by examining a few
groups at a time.
Numerical Parameters
The numerical parameters chosen will affect the
operation of the fuzzy algorithm. They are grouped according to whether
they affect all three models, or whether they are related only to those
with extragrades. The following parameters apply to all models: fuzzy
exponent, random start, maximum iterations and convergence limit. The parameters
alpha tolerance difference and alpha iterations apply to fuzzy k-means with
extragrades.
Fuzzy exponent: The fuzzy exponent controls the degree of fuzziness of a classification. When it is made to (or close to) 1.0 a data point can belong to only one class, that is, the classification will be hard or non-fuzzy. If it exceeds 1.0, an individual may be given partial membership in more than one class, that is, the classification will be fuzzy. A fuzzy exponent of 1.3 works well with Euclidean distance but might need to be made smaller with Mahalanobis distance. If it is too small (i.e., too close to 1.0) the program will attempt divisions by zero and may crash. If too big, the individuals will be given equal memberships in all classes. When set near 1 (e.g., at 1.01) a hard classification is usually obtained. The value is not constrained at the upper end (see McBratney and Moore, 1985), and as it is increased the clustering becomes so fuzzy that no groups are distinguished. Different values should be explored.
Maximum iterations: The maximum Picard iterations performed. If a solution is not reached within the number of iterations shown, increase the number.
Stopping criterion: The program will judge that it has found a solution when successive iterations produce results that differ by less than the convergence limit.
Random start: The initial assignment of memberships to groups is performed randomly by the program when this option is selected.
Alpha: parameter alpha (a) determines the relative number of extragrades to intragrades. Setting a = 1 provide the fuzzy k-means (without extragrades), while a = 0 will result in classifying all the data into extragrades. If information on the value of a is known, a can be fixed to the value, otherwise iterations is performed to search for an optimal value, which is set to 1/(no_class+1).
Alpha iterations: The extragrade algorithm requires that the average membership of the outlier (or extragrades) class be the same as the average membership of the other classes. The parameter that determines outlier group membership is called alpha (a). Since the exact relationship between alpha and the outlier group membership is not known a priori, the algorithm must arrive at the correct value for alpha using an iterative procedure (Figure 2). The outer loop of the procedure serves to refine an initial estimate for alpha. With alpha fixed, the inner loop solves for the memberships in the k intragrade groups and single extragrade group. This solution is used to determine the average membership in the outlier group. If the average membership in the outlier group equals (to within a desired accuracy = difference tolerance) the average membership in all groups, the algorithm terminates. Otherwise, a new value for alpha is estimated (using earlier alpha values as a guide). The parameter alpha iterations is the maximum number of iterative alterations to alpha that the algorithm will attempt. User can see by looking at the iteration data output whether the algorithm is converging to a solution, or whether a larger number of iterations is required.
Difference tolerance: The convergence criterion for the alpha iterations.
Performance Measurement
The OFV (objective function value) decreases
monotonically with increasing number of classes and increasing value of
fuzzy exponent.
The value dJ/dphi is the derivative of OFV over
the fuzzy exponent phi
= -[(dJ/dphi) sqrt(class)]
devised by McBratney and Moore (1985)
to obtain an optimal value for phi. The
best value of phi for
a given class is at maximum of the curve when plotting -[(dJ/dphi)
sqrt(class)] vs phi. See Odeh et al.
(1992) for more details.
FPI (Fuzziness Performance Index) estimates the
degree of fuzziness generated by a specified number of classes.
MPE (Modified Partition Entropy) estimates the
degree of disorganization created by a specified number of classes.
The optimum number of classes was established
on the basis of minimising these two measures.
Fuzziness performance index (FPI) is defined
as (Roubens, 1982)
where F is the partition coefficient
Modified Partition Entropy (MPE) (Roubens,
1982):
where H is the entropy function:
Separate distance (S) (Xie and Beni, 1991)
where J2
is:
and dmin
is the separation measurement, the minimum distance between the cluster
centroids. For more definition and application of FPI (Fuzziness Performance
Index), MPE (Modified Partition Entropy), seeMcBratney
and Moore (1985) & Odeh et al.
(1992) and for seperate distance (S) see Xie
and Beni (1991). For recent paper on cluster validity see Pal
& Bezdek (1995).
Jackknife
Jackknife analysis sample some percentage of
the whole data and perform of fuzzy clustering on a class. This procedure
is repeated n (e.g. 100) times (n runs), and n
series of classes' centroids are produced. Statistics can be calculated
on the centroid. An output file containing the centroid at each run and
the membership to the 'true' centroid (using whole dataset).
The minimum number of data to be left out of
the analysis should be less than the square-root of the no. of data. (Efron,
B. and Tibshirani, R.J. 1993. An Introduction to the Bootstrap.Chapman
& Hall, NY.)
Under the 'Number of data box', enter the no.
data & the % of data need to be sampled is automatically calculated.
|
Initialize membership (U) iter = 0 Repeat {Picard iteration}
iter = iter+1
Until ||U-U'||
<= tol_crit .or. iter = Max_iter
|
Figure 1. Fuzzy k-means algorithm
|
Define 0< a <1 Initialize a Calculate required mean extragrades membership: u*req = 1 /(k+1) iter_alfa = 0 Repeat {Root Finding Loop}
Iter_alfa = Iter_alfa + 1
Initialize membership (U)
Calculate mean extragrades membership u*
Until F(a)
<= dif_tol .or. iter_alfa = Max_alfaiter
|
Figure 2. Fuzzy k-means with extragrades algorithm.