<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Aggregation based on intervals as similarity measure for hierarchical clustering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Noelia Rico</string-name>
          <email>noeliarico@uniovi.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pedro Huidobro</string-name>
          <email>huidobropedro@uniovi.es</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Irene Díaz</string-name>
          <email>sirene@uniovi.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Susana Montes</string-name>
          <email>montes@uniovi.es</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Computer Science, University of Oviedo</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. of Statistics and Operational Research, University of Oviedo</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Hierarchical clustering algorithms create groups of objects in a data set based on their similarity. This similarity is commonly measured by a distance function, which makes the resulting groups dependent on the distance function used and also the technique employed to merge the clusters. In this work, we propose to transform the objects to a representation where each variable is defined by an interval. Using this representation, we define a new method that measures the similarity of the objects variable by variable based on the overlapping of their intervals, instead of using a distance function. The results obtained for each variable are later passed to an aggregation function, which allows comparing the similarity between the pairs of clusters. An example of algorithm is proposed in this work using a binary function to check the overlapping and aggregating its results with the average function. Finally, the method is compared with other approaches by means of two examples.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;hierarchical clustering</kwd>
        <kwd>interval data</kwd>
        <kwd>aggregation function</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Clustering methods define how to create groups of objects (also known as clusters) in a data
set. The aim is that the groups contain the most similar objects and, at the same time, they
are as diferent as possible from the objects in other groups [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Hierarchical clustering is an
aglomerative algorithm that starts assuming that each object belongs to an individual cluster.
Then, it performs pairwise comparisons between all the clusters of the data set in order to
measure their similarity. This comparison allows us to determine the two most similar ones,
which are grouped together into a single cluster. The pairwise comparison between clusters is
repeated sequentially until all the objects are merged into one single cluster [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The result of the
hierarchical clustering algorithm is commonly represented as a tree graph of the groups called
dendrogram. Usually, the number of clusters to be obtained is determined once the complete
dendrogram is built. Therefore, to define the objects in each cluster, the tree is cut at the level
corresponding to the desired number of clusters.
      </p>
      <p>
        In the process of creating the groups, classical approaches treat the clusters as points and
measure their similarity by using point-based distances such as the Euclidean distance. In this
work, we propose to transform the data in order to represent the clusters as intervals. In the
literature, some methods based on intervals can be found. For instance, Galdino and Maciel [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
consider some arithmetic operations between intervals in order to define the Euclidean distance
as an interval. On the other hand, Ramos-Guajardo [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] proposes some methods based on the
Jaccard index and on statistical hypothesis tests. However, with this interval representation,
we propose the use of a function that measures the degree of coincidence between two objects
in each variable and an aggregation function in order to determine the clusters that should be
merged together in each level of the tree. These two key points allow modeling uncertainty by
allowing intervals to represent not only the objects but also their neighborhood, which could
be very useful, for example, in case the data set contains noisy data.
      </p>
      <p>This paper is organized as follows. Section 2 gives an overview of the clustering problem and
the transformation we apply for an interval-based approach. Section 3 details the two key points
introduced into the hierarchical clustering algorithm for creating the clusters using intervals
and also presents the proposed algorithm. A comparison with other approaches is presented in
Section 4 by means of two examples. Conclusions of this work can be found in the final section.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Clustering using intervals</title>
      <p>Let us consider a data set X where each object  ∈ X is defined by  variables such that
 = {1 , ..., } with  ∈ R, 1 ≤  ≤ . The aim of any clustering algorithm is to group
these objects into  diferent clusters  such that each object belongs uniquely to one cluster
and 1 ∪ · · · ∪   = X. As the number of clusters is usually unknown beforehand, hierarchical
clustering algorithms use a binary tree structure of  levels that groups the objects in X from
the bottom of the tree to the top. Therefore, the algorithm defines for each level ℓ of the tree,
with 1 ≤ ℓ ≤ , a set of clusters Cℓ = {ℓ1, . . . , ℓℓ}. Following this, the root of the generated
tree C1 (which is the last level reached by the algorithm) contains one single cluster with all
the elements in X. On the other hand, the bottom level (where the algorithm starts) contains
the leaves of the tree, this is, a set of clusters that has as many clusters as objects in the data set,
since each of the clusters contains a single object of X. As the tree is built from the bottom (i.e.
ℓ equal to the number of objects in X) to the top (i.e. ℓ = 1), in each iteration the clusters in
level ℓ are almost the same than the clusters in level ℓ + 1, varying only in the two clusters of
ℓ + 1 that are substituted by one in ℓ, corresponding to the cluster generated after merging two
most similar clusters in ℓ + 1 into one single cluster in ℓ. The process is repeated iteratively
until the root of the tree is reached. After the tree is obtained, the clusters for any number  of
diferent clusters can be determined by cutting the tree at the corresponding level.</p>
      <p>
        Taking into account that the clustering algorithm seeks for creating groups of similar objects,
it is necessary to define how the similarity between the objects is measured. This is usually
done by means of a distance function and many variations have been proposed in the literature
[
        <xref ref-type="bibr" rid="ref5 ref6 ref7">5, 6, 7</xref>
        ], although the Euclidean distance is usually the one used in practice. There are three
diferent cases for which the measure must be defined:
• Distance between two objects  (,  ) : ,  ∈ X.
• Distance between an object and a cluster  (, ℓ ) :  ∈ X , ℓ ∈ Cℓ.
      </p>
      <p>• Distance between two clusters  (ℓ, ℓ ) : ℓ, ℓ ∈ Cℓ.</p>
      <p>
        However, as hierarchical clustering algorithms consider that each object belongs to its own
cluster in the first iteration (i.e. the bottom of the tree), all three types of distances could
be generalized as  (ℓ, ℓ ). How the distance between two clusters is computed is usually
referred to as linkage method. Depending on the linkage method chosen, the algorithm will
result in diferent sets of clusters [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Many linkage methods have been defined in the literature.
The most popular ones are the listed below accompanied by the explanation on how they define
the similarity between two clusters:
• single: the distance between the closest points of the clusters.
• complete: the distance between the furthest points of the clusters.
• average: the distance between all the points of the clusters and then compute the average.
• centroid: calculates the centroid of each cluster (i.e. for each variable the average of all
the points that belong to the cluster) and computes the distance between the two clusters
using their centroids.
      </p>
      <p>To sum up, this means that each linkage method represents the cluster by choosing a diferent
object of the cluster. Then, using this object as a representation of the cluster, the distance is
computed pairwisely and the closest ones are merged together.</p>
      <p>In this work, we propose to identify the clusters using intervals instead of one single point.
For defining a measure of similarity, we keep in mind the original methods and how the distance
between two objects is a particular case of the distance between two clusters. Then, we propose
a new hierarchical clustering method based on intervals that substitutes the linkage method
by an interval-based function and an aggregation function. By using this method, the distance
involving clusters of intervals can be computed by components applying a function  to each
variable and then using an aggregation function  in order to obtain a single value that allows
comparing the clusters pairwisely. This comparison is necessary in order to establish which
two of the clusters are the most similar and consequently should be merged together into a
single cluster.</p>
      <p>In order to identify the objects of the data set with an interval-based representation, each
object  ∈ X is turned into an object  ∈ Y such that each component  of the object is
transformed into a degenerated interval  = [, ], where  =  = . Notice that this
is a particular case of a cluster, therefore any cluster can be defined as ℓ = {ℓ1, . . . , ℓ}
where ℓ = [ℓ, ℓ] with 1 ≤  ≤ . The data set Y with the transformed representation of
all the objects in X is given as input to the clustering algorithm.</p>
      <p>Whenever two clusters are merged together, and therefore contain more than one object
of the data set, the new cluster is created taking from the two clusters merged the lowest
and the greatest endpoints for the interval that represents each variable. Formally, given
two clusters ℓ and ℓ , the resulting cluster ℓ− 1ℎ = {ℓ− 1ℎ1, . . . , ℓ− 1ℎ} is built such that
ℓ− 1ℎ = [min{ℓ, ℓ}, max{ℓ, ℓ}], 1 ≤  ≤ .</p>
    </sec>
    <sec id="sec-3">
      <title>3. Proposed algorithm</title>
      <p>The first step in order to obtain an algorithm based on this interval approach is to define the
function  used to measure the similarity between two intervals [, ], [, ] ⊆
this function could be defined in multiple forms, here we consider a binary basic approach so
R. Although
the following function  is used to determine whether there is overlapping between the two
intervals:
 ([, ], [, ]) =
︂{
1
0
otherwise.
if [, ] ∩ [, ] ̸= ∅
is possible to obtain the vector ⃗ℓ</p>
      <p>The algorithm starts by applying the function  (ℓ, ℓ) to each component of the clusters
ℓ, ℓ ∈ Cℓ such that ℓ is equal to the number of objects in X and 1 ≤  ≤ . By doing this, it
,ℓ = (ℓ1
,ℓ
, . . . , 
ℓ
,ℓ
). This vector gives an intuition
about what we call the degree of coincidence between the two objects.
a single value that eases this pairwise comparison, the elements of ⃗ℓ</p>
      <p>After ⃗ℓ
,ℓ has been calculated for all pairs of objects, these must be compared. To obtain
,ℓ are aggregated by
means of an aggregation function (⃗ℓ
). For this work, as a first approach, we define

simply as the average of the elements in ⃗, such that:</p>
      <p>,ℓ
(⃗ℓ
,ℓ ) =
1 ∑︁ ℓ
 =1
,ℓ .</p>
      <p>The two clusters ℓ, ℓ with the greatest value of (⃗ℓ
,ℓ ) are merged together into a
cluster.
interval ℓ is transformed into:</p>
      <p>Notice that, using this basic function, in case that none of the elements of the objects are
equal, the overlapping between the initial vectors will be 0 so none of the objects could be
grouped together. To solve this, the neighborhood of the interval in each component will be
considered taking into account the range of each variable in the original data set. Formally, we
can define the vector ⃗ of  elements, which associates each value  with the -th variable of
the data set using the range of the variable in the initial data set X. Prior to the execution of the
clustering the algorithm, the percentage of the variable that will be considered for this update
is set using , which determines the amount that the interval will be extended in case that there
is no overlapping, such that  = (max∈X() −
min∈X()) × .</p>
      <p>Using the coeficient
, when there is no overlapping between any of the intervals, the</p>
      <p>ℓ = [ℓ − , ℓ + ].</p>
      <p>The resulting algorithm obtained from the considerations explained is shown in Algorithm 3.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Comparison with classical approaches</title>
      <p>In order to illustrate the method, an example for a toy data set is presented below.
Example 4.1. Let us consider the one-dimensional data set of five objects X = {5, 7, 46, 81, 92}.</p>
      <p>
        In order to apply the proposed method, first of all, it is necessary to transform the data set X
into an interval data set Y by using degenerated intervals. Therefore, the transformed data set
Y = {[
        <xref ref-type="bibr" rid="ref5 ref5">5, 5</xref>
        ], [
        <xref ref-type="bibr" rid="ref7 ref7">7, 7</xref>
        ], [46, 46], [81, 81], [92, 92]} is obtained. Also, it is necessary to compute the
weight that will be used for updating the intervals when there is no overlapping. In this case,
as there is only one variable, only one value must be computed. We define  = 0.01 so, taking
into account the range [
        <xref ref-type="bibr" rid="ref5">5, 92</xref>
        ] of the variable, the weight 1 can be computed such that 1 =
(92 − 5) × 0.01 = 0.87. This value will be used whenever there is no overlapping between the
objects, so the intervals are augmented in their extremes until some overlap is found. The first step
is to compare the objects pairwisely by applying the function  to compare the intervals associated
with each variable. The results are shown below:
1 = [
        <xref ref-type="bibr" rid="ref5 ref5">5, 5</xref>
        ]
2 = [
        <xref ref-type="bibr" rid="ref7 ref7">7, 7</xref>
        ] 3 = [46, 46] 4 = [81, 81] 5 = [92, 92]
      </p>
      <p>
        0 0 0 0
2 = [
        <xref ref-type="bibr" rid="ref7 ref7">7, 7</xref>
        ] 0 0 0
3 = [46, 46] 0 0
      </p>
      <p>
        4 = [81, 81] 0
C5 = {51 = {[
        <xref ref-type="bibr" rid="ref5 ref5">5, 5</xref>
        ]}, 52 = {[
        <xref ref-type="bibr" rid="ref7 ref7">7, 7</xref>
        ]}, 53 = {[46, 46]}, 54 = {[81, 81]}, 55 = {[92, 92]}},
as this is the set containing the leaves at the bottom of the tree, which corresponds to level ℓ = 5
for this data set of five objects. Henceforth, this notation will be used in order to be consistent in
all the iterations of the example.
      </p>
      <p>As there are no overlapping between any of the objects, the extremes of the intervals must be
updated using 1. The new intervals obtained after subtracting 1 to the left extreme of the
interval and adding 1 to the right extreme of the interval are shown below:</p>
      <p>After this update, there is an overlapping between the clusters 51 and 52. Therefore, these two
clusters are merged together in the next iteration, creating in the upper level of the tree ℓ = 4 the
cluster 41. The interval takes the lowest value of the left limit and the greatest value of the right
limit of the two clusters that are merged, therefore, 41 = {[3.26, 8.74]}.</p>
      <p>The representation of the clusters in the next iteration is given by the set of intervals C4, which
contains all the previous intervals and the new cluster created. This set can be defined as:
C4 = {41 = {[3.26, 8.74]}, 42 = {[44.26, 47.74]}, 43 = {[79.26, 82.74]}, 44 = {[90.26, 93.74]}}.</p>
      <p>After the creation of this new cluster, it is again necessary to update the intervals to increase
their extremes until they overlap and a new cluster can be created. As shown in the comparison
below, in the first iteration there is no overlap:
41 = [3.26, 8.74]
Therefore, 1 must be iteratively applied and after five times, the following clusters are obtained:
41 = [− 1.09, 13.09]
12 3 4 5</p>
      <p>According to the values obtained at this point, it is necessary to merge the clusters 43 and 44,
which contains the objects 4 and 5 respectively, obtaining the following clusters for the next
iteration, must be merged, which corresponds with the following situation in ℓ = 3:
12 3 4 5</p>
      <p>Following this procedure and increasing the range of the intervals iteratively using 1, the
following overlapping is obtained:</p>
      <p>12 3 4 5
Meaning that these are merged together making the two following clusters in ℓ = 2:
12 3 4 5</p>
      <p>The last iteration will conclude the method by merging the two remaining clusters together in
the root of the tree representation, with one single cluster that contains all the objects in the data
set.</p>
      <p>On the other hand, for creating the groups using the classical linkage methods, it is necessary to
perform a pairwise comparison of the objects in X to compute their distance. The results obtained
from this comparison are shown below:</p>
      <p>Using this, when the single linkage method is employed, the clusters obtained are the same as
the ones with our method (left dendrogram). However, when the complete, average or centroid
linkage methods are considered the results are diferent (right dendrogram).</p>
      <p>1 2
3
4 5
1 2
3
4 5</p>
      <p>The one-dimensional version of the algorithm yields the same results that the single linkage
method using Euclidean distance. Intuitively, it is natural that in one dimension the results
are the same than using this binary function as, the closer the objects are, the sooner they will
overlap. However, the single method is only equivalent to our method in the case of objects
with one dimension. A counterexample showing that this is not the case when the number of
variables increases is shown below.</p>
      <p>Example 4.2. Here we present a counterexample using a data set where the objects are defined
with two variables: age and height. This shows that our method is diferent from single linkage
using Euclidean distance in the case when the number of the variables is greater than one. Let us
consider the following data set (left) and the corresponding pairwise distance between the objects
of the data set (right):
1
2
3</p>
      <p>According to the Euclidean distance, the most similar objects in the bottom level of the tree (i.e.
ℓ = 3) are 1 and 2. This means that these two objects are merged into one single cluster 21 in
the upper level ℓ = 2. Then, the third object 3 will be merged with this cluster in an upper level of
the tree, creating the single cluster in the root 11 that contains all the objects. On the other hand,
with our method, we obtain a diferent result. First of all, let us transform the data set into a data
set Y of degenerated intervals (shown below on the table). The individual results of each pairwise
comparison of the objects after applying the function  to each variable are shown in the tables
below. Then, the aggregation function is applied to each pairwise comparison, such that the table
Average is obtained. The objects 1 and 3 are the most similar according to the first approach so
these would be merged together first.</p>
      <p>So using this method, on the contrary to what happened using the single linkage method with the
Euclidean distance, the objects 1 and 3, (which represent the original 1 and 3) form 21. This
makes the clusters in ℓ = 2 be diferent than the ones obtained before.</p>
      <p>As illustrated in the previous examples, classical methods based on distances require
comparing all the pairs of objects in the cluster. On the contrary, with the proposed method, this
matrix is reduced in each step which benefits the implementation of the algorithm as well as its
suitability to be applied in practice to large problems. Furthermore, using the basic function 
that we are considering in this work, the Boolean matrix used is more eficient and less memory
space is needed to store the comparison.</p>
      <p>1
2
3</p>
      <p>Age
[10,10]
[11,11]
[10,10]</p>
      <p>Height
[140,140]
[150,150]
[170,170]
1
1</p>
      <p>1
Age
2 3
0
2
1
0</p>
      <p>Height
2 3
0
2
0
0</p>
      <p>Average
2
0
2
3
1/2
0</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion and future work</title>
      <p>In this work, a new hierarchical clustering method based on grouping intervals has been
proposed. This method provides an approach that uses a coincidence function as well as an
aggregation function, which means that can be extended by changing these parts in order to
explore diferent properties of the created groups. Future work will include the exploration of
diferent aggregation functions in order to create the groups.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>This research has been partially supported by Spanish MINECO projects TIN2017-87600-P
(Noelia Rico and Irene Díz) and PGC2018-098623-B-I00 (Pedro Huidobro and Susana Montes).
Pedro Huidobro and Noelia Rico are alspp supported by the Severo Ochoa predoctoral grant
program by the Principality of Asturias (PA-20-PF-BP19-169 and PA-20-PF-BP19-167,
respectively).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Rokach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Maimon</surname>
          </string-name>
          ,
          <article-title>Clustering methods, in: Data mining and knowledge discovery handbook</article-title>
          , Springer,
          <year>2005</year>
          , pp.
          <fpage>321</fpage>
          -
          <lpage>352</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S. C.</given-names>
            <surname>Johnson</surname>
          </string-name>
          , Hierarchical clustering schemes,
          <source>Psychometrika</source>
          <volume>32</volume>
          (
          <year>1967</year>
          )
          <fpage>241</fpage>
          -
          <lpage>254</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Galdino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Maciel</surname>
          </string-name>
          ,
          <article-title>Hierarchical cluster analysis of interval-valued data using width of range euclidean distance</article-title>
          ,
          <source>in: 2019 IEEE Latin American Conference on Computational Intelligence (LA-CCI)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . doi:
          <volume>10</volume>
          .1109/LA-CCI47412.
          <year>2019</year>
          .
          <volume>9036754</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A. B.</given-names>
            <surname>Ramos-Guajardo</surname>
          </string-name>
          ,
          <article-title>A hierarchical clustering method for random intervals based on a similarity measure</article-title>
          , Computational Statistics (
          <year>2021</year>
          )
          <fpage>1</fpage>
          -
          <lpage>33</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C. C.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. W.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. Y.</given-names>
            <surname>Hsiao</surname>
          </string-name>
          ,
          <article-title>A hybrid method for estimating the euclidean distance between two vectors</article-title>
          ,
          <source>in: First International Symposium on Cyber Worlds</source>
          ,
          <year>2002</year>
          . Proceedings.,
          <year>2002</year>
          , pp.
          <fpage>183</fpage>
          -
          <lpage>190</lpage>
          . doi:
          <volume>10</volume>
          .1109/CW.
          <year>2002</year>
          .
          <volume>1180878</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Lustig</surname>
          </string-name>
          ,
          <article-title>Angle-average for the powers of the distance between two separated vectors</article-title>
          ,
          <source>Molecular Physics</source>
          <volume>65</volume>
          (
          <year>1988</year>
          )
          <fpage>175</fpage>
          -
          <lpage>179</lpage>
          . doi:
          <volume>10</volume>
          .1080/00268978800100931.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>I.</given-names>
            <surname>Olkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pukelsheim</surname>
          </string-name>
          ,
          <article-title>The distance between two random vectors with given dispersion matrices</article-title>
          ,
          <source>Linear Algebra and its Applications</source>
          <volume>48</volume>
          (
          <year>1982</year>
          )
          <fpage>257</fpage>
          -
          <lpage>263</lpage>
          . doi:https://doi.org/ 10.1016/
          <fpage>0024</fpage>
          -
          <lpage>3795</lpage>
          (
          <issue>82</issue>
          )
          <fpage>90112</fpage>
          -
          <lpage>4</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>F.</given-names>
            <surname>Murtagh</surname>
          </string-name>
          ,
          <article-title>A survey of recent advances in hierarchical clustering algorithms</article-title>
          ,
          <source>The computer journal 26</source>
          (
          <year>1983</year>
          )
          <fpage>354</fpage>
          -
          <lpage>359</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>