Tutorials › Multi-Omics Data Integration › Bayesian Generative Models for Joint Multi-Omics Clustering

Bayesian Integrative Clustering · Tutorial 261 of 597

Bayesian Generative Models for Joint Multi-Omics Clustering

Learn how to specify a Bayesian mixture model in which each sample has a latent cluster and each omics block contributes cluster-specific observations.

Advanced 10 min read

What You'll Learn

  • Define latent cluster assignments, cluster weights, and block-specific parameters in a generative model.
  • Factor the complete-data joint likelihood without confusing it with a conditional likelihood.
  • Marginalize unknown cluster labels to obtain the observed-data likelihood.
  • Interpret posterior cluster probabilities conditional on fixed parameters.
  • Integrate over parameter uncertainty and identify assumptions and failure modes.

Why a Generative Model for Joint Clustering?

A multi-omics clustering analysis asks whether samples can be grouped according to patterns across several measured blocks, such as RNA and protein profiles. A Bayesian generative model makes the assumptions behind that grouping explicit: it describes how a cluster is selected for each sample and how observations from each block arise conditional on that cluster. This matters because the resulting clusters depend not only on the observed measurements, but also on the model’s representation of their joint behavior.

Here the basic model has a fixed number \(K\) of clusters and \(B\) measured blocks for each of \(n\) matched samples. The focus is the model’s structure and probability calculations, not a particular choice of likelihood or prior family.

Definition: Let \(y_{ib}\) denote the observed data for sample \(i\) in block \(b\), and let \(\mathbf{Y}=\{y_{ib}:i=1,\ldots,n;\ b=1,\ldots,B\}\). The latent assignment \(z_i\in\{1,\ldots,K\}\) identifies sample \(i\)'s cluster. The cluster weights are \(\boldsymbol{\pi}=(\pi_1,\ldots,\pi_K)\), where \(\pi_k\geq 0\) and \(\sum_{k=1}^{K}\pi_k=1\). The parameter \(\theta_{kb}\) specifies the distribution of block \(b\) in cluster \(k\), with probability mass function or density \(g_b(\,\cdot\mid\theta_{kb})\).

Model Specification and Assumptions

The basic generative construction has three stages. First, draw the shared cluster weights and cluster-specific parameters from a prior \(p(\boldsymbol{\pi},\boldsymbol{\theta})\), where \(\boldsymbol{\theta}\) collects all \(\theta_{kb}\). Second, draw a cluster label for each sample, \(z_i\mid\boldsymbol{\pi}\sim\operatorname{Categorical}(\boldsymbol{\pi})\). Third, generate each block observation for that sample from the distribution associated with its label. This formulation assumes that all blocks for sample \(i\) use the same \(z_i\).

For the simple likelihood factorization used here, assume that samples are independent conditional on the model parameters and their labels, and that the blocks are independent conditional on a sample’s label and the parameters. Thus, for a fixed label \(z_i=k\), the contribution of sample \(i\) is the product of its block-specific contributions. These are modeling assumptions, not consequences of having collected several data types. Real blocks can retain dependence after conditioning on cluster, so the adequacy of this factorization must be assessed rather than presumed. The earlier material on factor models offers a different way to represent cross-block structure; it does not make this mixture assumption automatic.

A prior is needed for the unknown weights and profile parameters. A proper joint prior is a straightforward choice for this formulation; it need not factor into independent priors for \(\boldsymbol{\pi}\) and \(\boldsymbol{\theta}\). The posterior is defined when the observed-data normalizing probability or density is finite and positive. The model below treats \(K\) as fixed; it does not specify a prior on the number of clusters.

Model: Under the stated conditional independence assumptions, the complete-data joint likelihood and the two separate conditional distributions are
$$ p(\mathbf{Y},\mathbf{z}\mid\boldsymbol{\pi},\boldsymbol{\theta}) =\prod_{i=1}^{n}\left[ \pi_{z_i}\prod_{b=1}^{B}g_b(y_{ib}\mid\theta_{z_i b}) \right], \qquad p(\mathbf{Y}\mid\mathbf{z},\boldsymbol{\theta}) =\prod_{i=1}^{n}\prod_{b=1}^{B}g_b(y_{ib}\mid\theta_{z_i b}), \qquad p(\mathbf{z}\mid\boldsymbol{\pi}) =\prod_{i=1}^{n}\pi_{z_i}. $$

The distinction among these expressions is essential. Given \(\mathbf{z}\), the conditional likelihood for \(\mathbf{Y}\) contains block likelihoods, but it does not contain the probabilities of the labels. The label probabilities belong to \(p(\mathbf{z}\mid\boldsymbol{\pi})\). Their product with the conditional likelihood is the complete-data joint likelihood.

Worked Example: Computing the Complete-Data Joint Probability

Consider two matched samples, two blocks, and two clusters. Suppose \(\boldsymbol{\pi}=(0.6,0.4)\), the specified labels are \(z_1=1\) and \(z_2=2\), and the four observed block outcomes have the following cluster-specific probability masses: \(g_1(y_{11}\mid\theta_{11})=0.10\), \(g_2(y_{12}\mid\theta_{12})=0.20\), \(g_1(y_{21}\mid\theta_{21})=0.25\), and \(g_2(y_{22}\mid\theta_{22})=0.30\). Treat these as hypothetical categorical outcomes under fixed parameters.

The conditional probability of the observations given the labels and parameters is \(p(\mathbf{Y}\mid\mathbf{z},\boldsymbol{\theta})=(0.10)(0.20)(0.25)(0.30)=0.0015\). The probability of the specified labels is \(p(\mathbf{z}\mid\boldsymbol{\pi})=(0.6)(0.4)=0.24\). Therefore the complete-data joint probability is

$$ p(\mathbf{Y},\mathbf{z}\mid\boldsymbol{\pi},\boldsymbol{\theta}) =(0.6)(0.4)(0.10)(0.20)(0.25)(0.30) =(0.24)(0.0015)=0.00036. $$

This is the joint probability of these observations and these labels at the specified parameter values. It is not the conditional likelihood of the observations given the labels: that likelihood is \(0.0015\). The distinction matters when computing a posterior for the labels or comparing possible labelings.

Marginalizing the Unknown Labels

The labels are unobserved. To find the likelihood of the data for fixed parameters, sum the complete-data joint likelihood over every possible label vector. Because the assignments are independent across samples conditional on \(\boldsymbol{\pi}\), this sum can be rearranged into a product of sample-specific sums.

$$ \begin{aligned} p(\mathbf{Y}\mid\boldsymbol{\pi},\boldsymbol{\theta}) &=\sum_{\mathbf{z}}p(\mathbf{Y},\mathbf{z}\mid\boldsymbol{\pi},\boldsymbol{\theta})\\ &=\sum_{z_1=1}^{K}\cdots\sum_{z_n=1}^{K} \prod_{i=1}^{n}\left[\pi_{z_i}\prod_{b=1}^{B}g_b(y_{ib}\mid\theta_{z_i b})\right]\\ &=\prod_{i=1}^{n}\sum_{k=1}^{K} \pi_k\prod_{b=1}^{B}g_b(y_{ib}\mid\theta_{kb}). \end{aligned} $$

For the last equality, each factor in the product depends only on the corresponding \(z_i\). Distributing the sums over \(z_1,\ldots,z_n\) therefore gives one sum for each sample. This is a marginal likelihood conditional on fixed parameters: the uncertainty about each label has been summed out, but uncertainty about \(\boldsymbol{\pi}\) and \(\boldsymbol{\theta}\) has not.

Result: For fixed parameters, the posterior probability that sample \(i\) belongs to cluster \(k\) is proportional to its cluster weight times the product of its block-specific likelihoods:
$$ P(z_i=k\mid\mathbf{Y},\boldsymbol{\pi},\boldsymbol{\theta}) = \frac{\pi_k\prod_{b=1}^{B}g_b(y_{ib}\mid\theta_{kb})} {\sum_{\ell=1}^{K}\pi_\ell\prod_{b=1}^{B}g_b(y_{ib}\mid\theta_{\ell b})}. $$

The denominator sums the unnormalized contributions over all possible clusters, so the probabilities are nonnegative and sum to one. These probabilities condition on fixed parameters. In a full Bayesian analysis, the posterior for a label also reflects uncertainty about the parameters by averaging over their posterior distribution.

Worked Example: Marginalizing a Sample’s Cluster Label

For one hypothetical sample with two categorical block outcomes, suppose the fixed weights are \(\pi_1=0.7\) and \(\pi_2=0.3\). The products of the two block likelihoods are \(0.20\times0.40=0.08\) for cluster 1 and \(0.50\times0.60=0.30\) for cluster 2.

The observed-data probability, with the unknown label marginalized, is

$$ p(y_{i1},y_{i2}\mid\boldsymbol{\pi},\boldsymbol{\theta}) =(0.7)(0.08)+(0.3)(0.30) =0.056+0.090=0.146. $$

The posterior probability of cluster 1, conditional on these fixed parameters, is \(0.056/0.146=0.3836\). The corresponding probability for cluster 2 is \(0.090/0.146=0.6164\). They sum to one, and cluster 2 has the larger posterior probability for this sample under the specified model. This conclusion is conditional on the illustrative weights, likelihoods, and independence assumption.

Bayesian Inference Also Averages Over Parameters

Writing a Bayesian model requires specifying a prior as well as a likelihood. With the joint prior \(p(\boldsymbol{\pi},\boldsymbol{\theta})\), the posterior distribution is proportional to the prior times the complete-data joint likelihood if labels are included, or to the prior times the label-marginalized likelihood if they are not. The marginal evidence sums over labels and integrates over parameters:

$$ p(\mathbf{Y})= \sum_{\mathbf{z}}\int p(\mathbf{Y},\mathbf{z}\mid\boldsymbol{\pi},\boldsymbol{\theta}) p(\boldsymbol{\pi},\boldsymbol{\theta}) \,d\boldsymbol{\pi}\,d\boldsymbol{\theta}, \qquad p(\boldsymbol{\pi},\boldsymbol{\theta}\mid\mathbf{Y}) \propto p(\mathbf{Y}\mid\boldsymbol{\pi},\boldsymbol{\theta}) p(\boldsymbol{\pi},\boldsymbol{\theta}). $$

The integral notation includes a sum for discrete parameters where needed. This marginalization is why a Bayesian posterior is not generally obtained by inserting a single estimated parameter value into the fixed-parameter label formula. The prior and likelihood together determine how uncertainty in weights and profiles affects the result.

Worked Example: Integrating Over Two Parameter Possibilities

Suppose a one-sample, one-block mixture has known weights \((0.5,0.5)\), while the component parameters have one of two possible configurations, \(H_A\) or \(H_B\), each with prior probability \(0.5\). For the observed categorical outcome \(y\), the component likelihoods under \(H_A\) are \(0.20\) and \(0.04\), and under \(H_B\) they are \(0.06\) and \(0.02\).

First calculate the mixture likelihood under each configuration: \(p(y\mid H_A)=(0.5)(0.20)+(0.5)(0.04)=0.12\), while \(p(y\mid H_B)=(0.5)(0.06)+(0.5)(0.02)=0.04\). Bayes’ rule then gives

$$ P(H_A\mid y) = \frac{p(y\mid H_A)P(H_A)} {p(y\mid H_A)P(H_A)+p(y\mid H_B)P(H_B)} = \frac{(0.12)(0.5)}{(0.12)(0.5)+(0.04)(0.5)} =0.75. $$

Thus, under this hypothetical prior and likelihood, the posterior probability of configuration \(H_A\) is \(0.75\). This calculation integrates the uncertainty between the two parameter possibilities rather than treating either configuration as known in advance.

Diagnostics, Alternatives, and Limitations

The factorization is useful because it clarifies how evidence from several blocks contributes to a cluster assignment: each block supplies a likelihood term, and the cluster weight supplies a prior contribution to the label. But a product can give a misleadingly strong impression of evidence if blocks remain dependent after conditioning on cluster, or if one block’s likelihood is poorly calibrated. The product formula is justified only under the stated model, not merely because the blocks are recorded in separate files.

Useful checks include inspecting whether the model reproduces block-specific patterns and cross-block relationships, checking for samples with extremely concentrated or nearly uniform assignment probabilities, and assessing sensitivity to plausible changes in prior and likelihood assumptions. An assignment probability near one is not proof that the sample has a uniquely correct biological class; it may instead reflect a restrictive model, misspecified likelihood, or overly influential block.

ApproachWhat it representsTrade-off
Joint mixture modelOne sample-level label contributes to the likelihood for every block.Combines evidence across blocks, but depends on the shared-label and likelihood assumptions.
Separate clustering by blockEach block is analyzed without a joint sample-level mixture likelihood.Can reveal block-specific structure, but does not itself provide a single joint posterior assignment.
Concatenation with one likelihoodMeasurements are stacked and treated within a single chosen data model.May be convenient, but can obscure block-specific scales and observation types if the likelihood does not suit every block.

The basic formulation also has limits. It assumes a fixed \(K\), represents within-cluster block distributions through the chosen \(g_b\), and does not automatically handle missing blocks or residual dependence. A cluster-specific profile can summarize a group without establishing that its members share a causal mechanism. The model is a probabilistic description of observed data, not by itself a causal analysis.

Common Mistakes

  • Putting label probabilities in the conditional likelihood. The expression \(p(\mathbf{Y}\mid\mathbf{z},\boldsymbol{\theta})\) does not include \(\pi_{z_i}\). Those factors belong to \(p(\mathbf{z}\mid\boldsymbol{\pi})\), or to the complete-data joint likelihood.
  • Using a sum where a product is required across blocks. Under the stated conditional independence model, a sample’s block likelihoods multiply within each cluster; the sum is over the alternative clusters.
  • Calling a fixed-parameter probability a full Bayesian posterior. \(P(z_i=k\mid\mathbf{Y},\boldsymbol{\pi},\boldsymbol{\theta})\) conditions on parameter values. A posterior that accounts for parameter uncertainty averages over their posterior distribution.
  • Reading model assumptions as empirical facts. Conditional independence and a shared label across blocks must be defended and checked; they do not follow from the data format.
Key takeaway: A joint Bayesian mixture combines a prior probability for each sample’s latent label with cluster-specific likelihood contributions from its omics blocks. Keep the complete-data joint likelihood, the conditional likelihood, and the label-marginalized likelihood distinct.

Check Your Understanding

Answer each question, then check the brief solutions below.

  1. For one sample, two clusters, and two blocks, write the unnormalized posterior weight for cluster 2 conditional on fixed parameters.
  2. Suppose one sample has cluster weights \(0.4\) and \(0.6\), and block-likelihood products \(0.5\) and \(0.2\). Find the marginal probability of its observations under the fixed parameters.
  3. In the complete-data joint likelihood, where do the factors \(\pi_{z_i}\) appear?
  4. Name one assumption that permits multiplying the block likelihoods, and give one reason it might fail.

Solutions. (1) The unnormalized weight is \(\pi_2g_1(y_{i1}\mid\theta_{21})g_2(y_{i2}\mid\theta_{22})\). (2) The marginal probability is \((0.4)(0.5)+(0.6)(0.2)=0.20+0.12=0.32\). (3) They appear in \(p(\mathbf{z}\mid\boldsymbol{\pi})\) and hence in \(p(\mathbf{Y},\mathbf{z}\mid\boldsymbol{\pi},\boldsymbol{\theta})\), not in \(p(\mathbf{Y}\mid\mathbf{z},\boldsymbol{\theta})\). (4) The model assumes blocks are conditionally independent given the sample’s cluster and parameters. Residual cross-block dependence after conditioning can violate that assumption.

Clinical Biostats