From 21ea7e74dfde006407dce1a3b1be87a3645c7000 Mon Sep 17 00:00:00 2001 From: Milton Pividori Date: Sat, 6 Jan 2024 17:59:33 -0700 Subject: [PATCH] methods: add more details about the CCC and update algorithm --- content/08.01.methods.ccc.md | 110 +- .../intro/ccc_algorithm/ccc_algorithm.pdf | Bin 115084 -> 113717 bytes .../intro/ccc_algorithm/ccc_algorithm.svg | 1369 +++++++++-------- .../intro/ccc_algorithm/ccc_algorithm.tex | 41 +- 4 files changed, 823 insertions(+), 697 deletions(-) diff --git a/content/08.01.methods.ccc.md b/content/08.01.methods.ccc.md index 2f53ce6..75c530f 100644 --- a/content/08.01.methods.ccc.md +++ b/content/08.01.methods.ccc.md @@ -1,97 +1,97 @@ ## Methods -The code needed to reproduce all of our analyses and generate the figures is available in [https://github.com/greenelab/ccc](https://github.com/greenelab/ccc). -We provide scripts to download the required data and run all the steps. -A Docker image is provided to use the same runtime environment. - - -### The CCC algorithm {#sec:ccc_algo .page_break_before} - -#### Overview - -The Clustermatch Correlation Coefficient (CCC) computes a similarity value $c \in \left[0,1\right]$ between any pair of numerical or categorical features/variables $\mathbf{x}$ and $\mathbf{y}$ measured on $n$ objects. -CCC assumes that if two features $\mathbf{x}$ and $\mathbf{y}$ are similar, then the partitioning by clustering of the $n$ objects using each feature separately should match. -For example, given $\mathbf{x}=(11, 27, 32, 40)$ and $\mathbf{y}=10x=(110, 270, 320, 400)$, where $n=4$, partitioning each variable into two clusters ($k=2$) using their medians (29.5 for $\mathbf{x}$ and 295 for $\mathbf{y}$) would result in partition $\Omega^{\mathbf{x}}_{k=2}=(1, 1, 2, 2)$ for $\mathbf{x}$, and partition $\Omega^{\mathbf{y}}_{k=2}=(1, 1, 2, 2)$ for $\mathbf{y}$. -Then, the agreement between $\Omega^{\mathbf{x}}_{k=2}$ and $\Omega^{\mathbf{y}}_{k=2}$ can be computed using the adjusted Rand index (ARI) [@doi:10.1007/BF01908075] or, in theory, any other similarity measure between partitions. -In our example, it will return the maximum value (1.0 in the case of ARI). -Note that the same value of $k$ might not be the right one to find a relationship between any two features. -For instance, in the quadratic example in Figure @fig:datasets_rel, CCC returns a value of 0.36 (grouping objects in four clusters using one feature and two using the other). -If we used only two clusters instead, CCC would return a similarity value of 0.02. -Therefore, the CCC algorithm (shown below) searches for this optimal number of clusters given a maximum $k$, which is its single parameter $k_{\mathrm{max}}$. +### The Clustermatch Correlation Coefficient (CCC) {#sec:ccc_algo .page_break_before} #### Definitions -**Definition 1.1.** Given a data vector $\mathbf{x}=(x_{1},x_{2},\dots,x_{n})$, we define +**Definition 1.1.** Given a data vector $\mathbf{x}=(x_{1},x_{2},\dots,x_{n})$, if $\mathbf{x} \in \mathbb{R}^n$ then define $$\pi_{\ell} = \{i \mid \rho_\ell < x_{i} \leq \rho_{\ell+1}\}, \forall \ell \in \left[1,k\right]$$ -as a *partition* of the $n$ objects of $\mathbf{x}$ into $\left\vert\pi\right\vert=k$ clusters, where $\boldsymbol{\rho}$ is a set of $k+1$ cutpoints that define the clusters. +as a *partition* of the $n$ objects of $\mathbf{x}$ into $\left\vert\pi\right\vert=k$ clusters, where $\boldsymbol{\rho}$ is a set of $k+1$ cutpoints (e.g., quantiles) that define the clusters and $\rho_{1} = \min(\mathbf{x})$ and $\rho_{k+1} = \max(\mathbf{x})$. +If $\mathbf{x}$ is a categorical vector (i.e., with no intrinsic ordering), then a partition is defined as + +$$\pi_{c} = \{i \mid x_{i} = \mathcal{C}_{c}\}, \forall c \in \left[1,r\right]$$ + +where $\mathcal{C} = \{x_{i} | x_{i} \in \mathbf{x}\}$ is a set of unique values in $\mathbf{x}$ corresponding to the $r$ categorical values that define the clusters. **Definition 1.2.** Given two partitions $\pi$ and $\pi^{\prime}$ of $n$ objects, the *adjusted Rand Index (ARI)* [@doi:10.1007/BF01908075] is given by $$\textrm{ARI}(\pi, \pi^{\prime}) = \frac{2(n_{0}n_{1} - n_{2} n_{3})}{(n_0 + n_2)(n_2 + n_1) + (n_0 + n_3)(n_3 + n_1)},$$ -where $n_{0}$ is the number of pairs of objects that are in the same cluster in both partitions $\pi$ and $\pi^{\prime}$, $n_{1}$ is the number of pairs of objects that are in different clusters, $n_{2}$ is the number of pairs of objects that are in the same cluster in $\pi$ but in different clusters in $\pi^{\prime}$, and $n_{3}$ is the number of pairs of objects that are in different clusters in $\pi$ but in the same cluster in $\pi^{\prime}$. -Intuitively, $n_0 + n_1$ reflects the number of pairs of objects where both partitions agree, and $n_2 + n_3$ are those in which they disagree. -In the special case where all $n$ objects are in their own cluster, the ARI is undefined. +where $n_{0}$ is the number of object pairs that are in the same cluster in both partitions $\pi$ and $\pi^{\prime}$, +$n_{1}$ is the number of object pairs that are in different clusters, +$n_{2}$ is the number of object pairs that are in the same cluster in $\pi$ but in different clusters in $\pi^{\prime}$, +and $n_{3}$ is the number of object pairs that are in different clusters in $\pi$ but in the same cluster in $\pi^{\prime}$. +Intuitively, $n_0 + n_1$ reflects the number of object pairs where both partitions agree, and $n_2 + n_3$ are those in which they disagree. -**Definition 1.3.** The *Clustermatch Correlation Coefficient (CCC)* for two vectors $\mathbf{x}$ and $\mathbf{y}$, both of size $n$, is defined as the maximum ARI between all possible partitions of $\mathbf{x}$ and $\mathbf{y}$ +**Definition 1.3.** The *Clustermatch Correlation Coefficient (CCC)* for two equally-sized vectors $\mathbf{x}$ and $\mathbf{y}$ is defined as the maximum ARI between all possible partitions of $\mathbf{x}$ and $\mathbf{y}$ -$$\textrm{CCC}(\mathbf{x}, \mathbf{y}) = \max_{\substack{\pi_j \in \Pi^{\mathbf{x}} \\ \pi_l \in \Pi^{\mathbf{y}}}} \lbrace \textrm{ARI}(\pi_j, \pi_l) \rbrace, \forall \left\vert\pi\right\vert \in [2, k_{\mathrm{max}}]$$ +$$\textrm{CCC}(\mathbf{x}, \mathbf{y}) = \max \lbrace 0, \max_{\substack{\pi_j \in \Pi^{\mathbf{x}} \\ \pi_l \in \Pi^{\mathbf{y}}}} \lbrace \textrm{ARI}(\pi_j, \pi_l) \rbrace \rbrace, \forall \left\vert\pi\right\vert \in [2, k_{\mathrm{max}}]$$ where $\Pi^{\mathbf{x}}$ is a set of partitions derived from vector $\mathbf{x}$, $\Pi^{\mathbf{y}}$ is a set of partitions derived from vector $\mathbf{y}$, and $k_{\mathrm{max}}$ specifies the maximum number of clusters allowed. +The ARI has an upper bound of 1 (achieved when both partitions are identical), and although it does not have a well-defined lower bound, values equal or less than zero are achieved when partitions are independent. +Therefore, $\textrm{CCC}(\mathbf{x}, \mathbf{y}) \in \left[0,1\right]$. +In the special case where all $n$ objects in either $\mathbf{x}$ or $\mathbf{y}$ have the same value, the CCC is undefined. +The CCC has the following basic properties derived from the ARI: +1) symmetry, since $\mathrm{ARI}(\pi, \pi^{\prime}) = \mathrm{ARI}(\pi^{\prime}, \pi)$; +2) normalization, since it takes a minimum value of zero and a maximum of one since $\mathrm{ARI}(\pi, \pi) = 1$; +3) constant baseline, since the ARI is adjusted-for-chance [@doi:10.1007/BF01908075], it returns a value close to zero for independently drawn partitions, and this also holds when partitions have different number of clusters [@Vinh2010]; +this is an important property, since CCC compares partitions with different numbers of clusters, and relationships between two variables (such as linear or quadratic) might be better represented with different numbers of clusters as shown in Figure @fig:datasets_rel. -The ARI has an upper bound of 1, which is achieved when partitions are identical. -Although the ARI does not have a well-defined lower bound, values equal or less than zero are achieved when partitions are independent. +#### The maximum number of clusters $k_{\mathrm{max}}$ -* ARI is symmetric, i.e., $\mathcal{A}(\pi, \pi^{\prime}) = \mathcal{A}(\pi^{\prime}, \pi)$. -* ARI is normalized, i.e., $\mathcal{A}(\pi, \pi) = 1$. -* ARI is "adjusted-for-chance" (i.e., independently drawn partitions have an ARI of zero), which also holds when partitions have a different number of clusters [@Vinh2010]. - -#### Algorithm +The parameter $k_{\mathrm{max}}$ is the maximum number of clusters $k$ allowed for any partition derived from $\mathbf{x}$ or $\mathbf{y}$. +However, note that the same value of $k$ might not be the right one to find a relationship between any two variables. +For instance, in the quadratic example in Figure @fig:datasets_rel, CCC returns a value of 0.36 (grouping objects in four clusters using one variable and two using the other). +If we used only two clusters instead, CCC would return a similarity value of 0.02. +However, computational time increases exponentially with $k_{\mathrm{max}}$. +In addition, it is important to note that given the constant baseline property of the ARIs, the CCC returns a value close to zero for independent variables regardless of the value of $k_{\mathrm{max}}$. +As shown in Figure @fig:constant_baseline:k_max, this holds even for very large values of $k_{\mathrm{max}}$ approaching the number of objects $n$. +Therefore, $k_{\mathrm{max}}$ represents a tradeoff between the ability to capture complex patterns and the computational cost. -COSAS QUE HABIA PUESTO ANTES EN DEFINICIONES: +We found that $k_{\mathrm{max}}=10$ works well in practice, and it was used as the default maximum number of clusters across all our analyses. - using a set of quantiles $\boldsymbol{\rho}=(\rho_\ell \mid \Pr\left(x_{i}\!<\!\rho_\ell\right)\!\leq\!(\ell-1)/k)$. -For example, if $k=2$, then $\boldsymbol{\rho}=(\rho_1, \rho_2, \rho_3)$, where $\rho_1$ is the minimum value of $\mathbf{x}$, $\rho_2$ is the median, and $\rho_3$ is the maximum value of $\mathbf{x}$. -Then, $\Omega_{2,1}$ contains all values of $\mathbf{x}$ that are less than or equal to $\rho_2$, and $\Omega_2$ contains all values of $\mathbf{x}$ that are greater than $\rho_2$. -If vector $\mathbf{x}$ contains categorical values across $n$ objects, we can compute a single partition $\Omega_k$ into $k=\left\vert\mathcal{C}\right\vert$ clusters, where $\mathcal{C}=\cup_{j}\{x_{i}\}$ is a set of categorical values in $\mathbf{x}$. +#### Statistical significance +Our null hypothesis is that the variables represented by vectors $\mathbf{x}$ and $\mathbf{y}$ are independent. +To compute a $P$-value, we perform a set of permutations of values in $\mathbf{y}$ and compute the CCC between $\mathbf{x}$ and each permuted vector. +The $P$-value is the proportion of CCC values using the permuted data that are greater than or equal to the CCC value between $\mathbf{x}$ and $\mathbf{y}$. +We used 1 million permutations in all our analyses, and we adjusted the $P$-values using the Benjamini and Hochberg procedure [@doi:10.1111/j.2517-6161.1995.tb02031.x] to control the false discovery rate (FDR). -/COSAS +In our analyses, we computed a $P$-value only for a subset of gene pairs, since computing the statistical significance via permutations is computationally expensive with CCC. +For this, we selected gene pairs from the "Disagreements" group in Figure @fig:upsetplot_coefs, which contains gene pairs ranked differently by the correlation coefficients. +#### Algorithm ![ ](images/intro/ccc_algorithm/ccc_algorithm.svg "CCC algorithm"){width="75%"} -The main function of the algorithm, `ccc`, generates a list of partitionings $\Omega^{\mathbf{x}}$ and $\Omega^{\mathbf{y}}$ (lines 14 and 15), for each feature $\mathbf{x}$ and $\mathbf{y}$. -Then, it computes the ARI between each partition in $\Omega^{\mathbf{x}}$ and $\Omega^{\mathbf{y}}$ (line 16), and then it keeps the pair that generates the maximum ARI. -Finally, since ARI does not have a lower bound (it could return negative values, which in our case are not meaningful), CCC returns only values between 0 and 1 (line 17). +The main function of the algorithm, `ccc`, generates a set of partitions $\Pi^{\mathbf{x}}$ for variable $\mathbf{x}$ (line 16), and another set of partitions $\Pi^{\mathbf{y}}$ for variable $\mathbf{y}$ (line 17). +Then, it computes the ARI between each partition $\pi_j \in \Pi^{\mathbf{x}}$ and $\pi_l \in \Pi^{\mathbf{y}}$ and gets the maximum (line 18), returning either this value or zero if this is negative (line 19). -Interestingly, since CCC only needs a pair of partitions to compute a similarity value, any type of feature that can be used to perform clustering/grouping is supported. -If the feature is numerical (lines 2 to 5 in the `get_partitions` function), then quantiles are used for clustering (for example, the median generates $k=2$ clusters of objects), from $k=2$ to $k=k_{\mathrm{max}}$. -If the feature is categorical (lines 7 to 9), the categories are used to group objects together. -Consequently, since features are internally categorized into clusters, numerical and categorical variables can be naturally integrated since clusters do not need an order. +Interestingly, since CCC only needs a set of partitions to compute a correlation value, any type of variable that can be used to perform clustering is supported. +If variable $\mathbf{v}$ is numerical (lines 2 to 6 in the `get_partitions` function), then a set of partitions $\Pi$ is generated with different number of clusters. +Each partition $\pi$ is generated using a set of quantiles $\boldsymbol{\rho}$. +For example, if $k=2$, then $\boldsymbol{\rho}=(\rho_1, \rho_2, \rho_3)$, where $\rho_1$ is the minimum value of $\mathbf{v}$, $\rho_2$ is the median, and $\rho_3$ is the maximum value of $\mathbf{v}$. +Then, the first cluster $\pi_{1}$ contains all values of $\mathbf{v}$ that are less than or equal to $\rho_2$, and $\pi_2$ contains all values of $\mathbf{v}$ that are greater than $\rho_2$. +If variable $\mathbf{v}$ is categorical (lines 8 to 11), we compute a single partition $\pi$ with $k=\left\vert\mathcal{C}\right\vert$ clusters, where $\mathcal{C} = \{v_{i} | v_{i} \in \mathbf{v}\}$ is a set of unique categorical values. +Therefore, all variable types are internally represented as partitions and it is not necessary to access the original data values to compute the ARI. +Consequently, numerical and categorical variables can be naturally integrated. -COMMENT LINES when singleton clusters are removed - -For all our analyses we used $k_{\mathrm{max}}=10$. -This means that for each gene pair, 18 partitions are generated (9 for each gene, from $k=2$ to $k=10$), and 81 ARI comparisons are performed. +Our algorithm implementation uses $k_{\mathrm{max}}=10$ as the default. +This means that for a variable pair, 18 partitions are generated (9 for each variable, from $k=2$ to $k=10$), and 81 ARI comparisons are performed. Smaller values of $k_{\mathrm{max}}$ can reduce computation time, although at the expense of missing more complex/general relationships. Our examples in Figure @fig:datasets_rel suggest that using $k_{\mathrm{max}}=2$ would force CCC to find linear-only patterns, which could be a valid use case scenario where only this kind of relationships are desired. In addition, $k_{\mathrm{max}}=2$ implies that only two partitions are generated, and only one ARI comparison is performed. -In this regard, our Python implementation of CCC provides flexibility in specifying $k_{\mathrm{max}}$. +In this regard, our Python implementation provides flexibility in specifying $k_{\mathrm{max}}$. For instance, instead of the maximum $k$ (an integer), the parameter could be a custom list of integers: for example, `[2, 5, 10]` will partition the data into two, five and ten clusters. -For a single pair of features (genes in our study), generating partitions or computing their similarity can be parallelized. +Generating partitions (lines 16 and 17) or computing their similarity (line 18) can be parallelized. We used three CPU cores in our analyses to speed up the computation of CCC. -A future improved implementation of CCC could potentially use graphical processing units (GPU) to parallelize its computation further. - - -A Python implementation of CCC (optimized with `numba` [@doi:10.1145/2833157.2833162]) can be found in our Github repository [@url:https://github.com/greenelab/clustermatch-gene-expr], as well as a package published in the Python Package Index (PyPI) that can be easily installed. diff --git a/content/images/intro/ccc_algorithm/ccc_algorithm.pdf b/content/images/intro/ccc_algorithm/ccc_algorithm.pdf index 1989f9b0f25218fcc84c5ff8907a601d391b778f..389075addff61accce49fd18d08825cd30e8e096 100644 GIT binary patch delta 47182 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૰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 VnVP{dF|jbSGr^IOiOP$?{TD9T4A1}o delta 48372 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 a4JO!GsR*5*`0y-jOiXZOWTNt7aQ_QAtZ@JU diff --git a/content/images/intro/ccc_algorithm/ccc_algorithm.svg b/content/images/intro/ccc_algorithm/ccc_algorithm.svg index 456a160..fc6b43f 100644 --- a/content/images/intro/ccc_algorithm/ccc_algorithm.svg +++ b/content/images/intro/ccc_algorithm/ccc_algorithm.svg @@ -1,5 +1,5 @@ - + @@ -54,31 +54,31 @@ - + - + - + - + - + - + - + - + @@ -114,85 +114,88 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + @@ -288,28 +291,28 @@ - + - + - + - + - + - + - + - + @@ -320,12 +323,6 @@ - - - - - - @@ -348,70 +345,61 @@ - + - + - + - + - + - + - + - + + + + - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -422,1113 +410,1248 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + - - + + - - - + + + + + + + + - - - - - - - - - + + + + + + + - - + + - + - - - - - - - + + + - - - + + - - - - - - - - - - - - + + + + + + + + + + - + - + - + + - - - + - + + - + + + - - - - - - - - + + - + - + + - + - - - - - - - - - - + - - - - + - + - - - - - - - - + + + + + - + - + + + - - + - + - - + - + + - + + + - - - + - + - - + + + - + - + - + - + - - - - + - - + - - - + - + + + - + - + - - + - - - + - + - + - - - + - + + - + - + - + - + - + - + - - + - - + - + - + - + - + + - + + - + - - + - + - + - + - + + - + - + - + - + + - + - + - + - - + - - + - + - + - + - + - + - - + - + - + - + - - + - + + - + - + - + - + - + - + + - + - + - + - + - + - + - + - + + + - + - - + + + + + - + - + - + - + - + - - + - + - + - + - - - + - - - - + - - + - + - + - + - + + - + - + + - + - + - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + + - + - + - + - + + - + - + - + - + + - - + + - + - + - + - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + + - + + + + + + - + + - + + - - + + - - - - - - + - + + + + + + + - - - + + + + - - + - + - - - - - - - + - - - - + - + - + + + - + - + + - + + + + + + - - - + - + - + + + + + + + - - - - - - - + - + + + + + - + + - - - - - - - + - + + - - - - - + + + - - + + - + - - + - - - + + + + + + + - - + - + + + + + - + + - - - - - - - + - + + - - - - - + - - + - + + + - - + - + + + - + - - - + + + + + - + + - - - + - + + - - - - - + - - + + - + + - - + + + + + + + + - + + + + + + + - - + - - + - - + - - - - - - + + - - - - - - - - + + + + + + + + - - - - - - - + - + + + + - + - + + - + - + + + - - + - - - - + - + - + - - - - + + - - - + - + + + - - - + + - + - + - + - + + + + - - + + + + + + + + + + + - + - - - + - - + - + + + - + - + + - - - + - - - - - - - - - - - - + - + - + + + + - + + + + + + + + + + + - - - + - + - - + - + + + - + - + + - - - + - - - - - - - - - - - - + - + + + - + - + + + + - - - + - + - - + - + - + - - - + - - + - - + - + - + - + - + - + - + - + - + - + - + - - + - + - - + + - - - - - - + + + + + + - - - - + + + + - - + + - - + + - - + + diff --git a/content/images/intro/ccc_algorithm/ccc_algorithm.tex b/content/images/intro/ccc_algorithm/ccc_algorithm.tex index c91ea7c..0c6d3a3 100644 --- a/content/images/intro/ccc_algorithm/ccc_algorithm.tex +++ b/content/images/intro/ccc_algorithm/ccc_algorithm.tex @@ -22,53 +22,56 @@ \SetKwFunction{FPartitions}{get\_partitions} \SetKwProg{Fn}{Function}{:}{} \Fn{\FPartitions{$\vect{v}$, $k_{\mathrm{max}}$}}{ + \KwIn{\\ + $\quad \; \ \vect{v}$: feature values on $n$ objects\\ + $\quad \; \ k_{\mathrm{max}}$: maximum number of clusters \\ + } \KwOut{\\ - $\quad \; \ \Omega_{r}$: clustering with $r$ clusters over $n$ objects\\ + $\quad \; \ \Pi$: a set of partitions over $n$ objects\\ } \BlankLine \If{$\vect{v} \in \mathbb{R}^n$}{\label{alg:num} - \For{$r \leftarrow 2$ \KwTo $\min\lbrace k_{\mathrm{max}},\left\vert\vect{v}\right\vert - 1 \rbrace$}{ - $\boldsymbol{\rho} \leftarrow (\rho_\ell \mid \Pr\left(v_{i}\!<\!\rho_\ell\right)\!\leq\!(\ell-1)/r), - \!\forall \ell \in [1,r+1]$\label{alg:ref3}\; - $\Omega_{r\ell} \leftarrow \{i \mid \rho_\ell < v_{i} \leq \rho_{\ell+1}\}, \forall \ell \in \left[1,r\right]$\label{alg:ref33}\; + \For{$k \leftarrow 2$ \KwTo $\min\lbrace k_{\mathrm{max}},\left\vert\vect{v}\right\vert - 1 \rbrace$}{ + $\boldsymbol{\rho} \leftarrow (\rho_\ell \mid \Pr\left(v_{i}\!<\!\rho_\ell\right)\!\leq\!(\ell-1)/k), + \!\forall \ell \in [1,k+1]$\label{alg:ref3}\; + $\pi_{\ell} \leftarrow \{i \mid \rho_\ell < v_{i} \leq \rho_{\ell+1}\}, \forall \ell \in \left[1,k\right]$\label{alg:ref33}\; + $\Pi_{k} \leftarrow \pi$\; } } \Else{\label{alg:cat} - $\mathcal{C} \leftarrow \cup_{j}\{v_{i}\}$\;\label{alg:ref4} - $r \leftarrow \left\vert\mathcal{C}\right\vert$\;\label{alg:ref5} - $\Omega_{rc} \leftarrow \{i \mid v_{i} = \mathcal{C}_{c}\}, \forall c \in \left[1,r\right]$\; + $\mathcal{C} \leftarrow \{v_{i} | v_{i} \in \mathbf{v}\}$\;\label{alg:ref4} + $k \leftarrow \left\vert\mathcal{C}\right\vert$\;\label{alg:ref5} + $\pi_{c} \leftarrow \{i \mid v_{i} = \mathcal{C}_{c}\}, \forall c \in \left[1,k\right]$\; + $\Pi_{k} \leftarrow \pi$\; } - $\Omega \leftarrow \{\Omega_{r} \mid \left\vert\Omega_{r}\right\vert > 1\}, \forall r$\; + $\Pi \leftarrow \{\Pi_{k} \mid \left\vert\Pi_{k}\right\vert > 1\}, \forall k$\; - \KwRet{$\Omega$} + \KwRet{$\Pi$} } \; \SetKwFunction{FClustermatch}{ccc} \SetKwProg{Fn}{Function}{:}{} \Fn{\FClustermatch{$\vect{x}$, $\vect{y}$, $k_{\mathrm{max}}$}}{ - % \SetKwData{FeatureiParts}{$\pi_{i}$} - % \SetKwData{FeaturejParts}{$\pi_{j}$} - % \SetKwData{PartitionsComparison}{$\Lambda_{ij}$} \KwIn{\\ $\quad \; \ \vect{x}$: feature values on $n$ objects\\ $\quad \; \ \vect{y}$: feature values on $n$ objects\\ - $\quad \; \ k_{\mathrm{max}}$: maximum number of internal clusters \\ + $\quad \; \ k_{\mathrm{max}}$: maximum number of clusters \\ } \KwOut{\\ - $\quad \; \ c$: similarity value for $\vect{x}$ and $\vect{y}$ ($c \in \left[0,1\right]$)\\ + $\quad \; \ c$: correlation value for $\vect{x}$ and $\vect{y}$ ($c \in \left[0,1\right]$)\\ } \BlankLine %\ForEach{row $\vect{r}_i \in D$}{ - $\Omega^{\vect{x}}$ = get\_partitions($\vect{x}$, $k_{\mathrm{max}}$)\; - $\Omega^{\vect{y}}$ = get\_partitions($\vect{y}$, $k_{\mathrm{max}}$)\; + $\Pi^{\vect{x}}$ = get\_partitions($\vect{x}$, $k_{\mathrm{max}}$)\; + $\Pi^{\vect{y}}$ = get\_partitions($\vect{y}$, $k_{\mathrm{max}}$)\; % \tcp{get the maximum adjusted Rand index (A) across all clusterings} $c \leftarrow \max - \lbrace \mathcal{A}(\Omega_{p}^{\vect{x}}, \Omega_{q}^{\vect{y}}) \rbrace, - \forall p,q$ + \lbrace \textrm{ARI}(\pi_{j}, \pi_{l}) \rbrace, + \forall \pi_j \in \Pi^{\vect{x}}, \pi_l \in \Pi^{\vect{y}}$ % \forall m,n \in \left[1,M\right],\! % m \neq n$\;\label{alg:simmat}