Tutorials › Multi-Omics Data Integration › Why SNF Exchanges Information Across Networks

Similarity Network Fusion and Kernel Methods · Tutorial 329 of 597

Why SNF Exchanges Information Across Networks

Learn how SNF transfers cross-view evidence through local neighborhoods, why its update excludes the view being updated, and how to interpret and check the resulting matrix.

Advanced 13 min read

What You'll Learn

  • Express the cross-view consensus for a view as the average of the other views’ transition matrices.
  • Derive the entrywise interpretation of the SNF sandwich update.
  • Explain how local neighborhoods affect the transfer of evidence between views.
  • Quantify how including the current view changes the update.
  • Check when row normalization is needed and what it does to the updated matrix.
  • Recognize limits of cross-view exchange, including redundant or conflicting views.

Why the Update Exchanges Information

A similarity network from one omics view describes relationships among the same patients using that view’s measurements. Another view may support, weaken, or redirect those relationships. Similarity Network Fusion (SNF) allows these networks to exchange evidence iteratively: when updating one view, it uses the other views’ current transition matrices, then passes that evidence through the updating view’s local neighborhoods.

This exchange is not a direct average of all network edges. The current view helps determine where cross-view evidence is sampled, while the other views supply the evidence being sampled. The distinction matters: it helps explain both the structure of the update and why the view being updated is left out of its cross-view average.

Definition: For \(m\) views, let \(P^{(v)}\) be the current row-transition matrix for view \(v\), and let \(S^{(v)}\) be its local affinity matrix. The cross-view consensus for updating view \(v\) is $$ Q^{(-v)}=\frac{1}{m-1}\sum_{\substack{u=1\\u\ne v}}^m P^{(u)}. $$ The raw SNF update is $$ R^{(v)}=S^{(v)}Q^{(-v)}S^{(v)T}. $$ When every row sum of \(R^{(v)}\) is positive, the updated transition matrix is obtained by normalizing each row: $$ P_{\mathrm{new}}^{(v)}{}_{ij}= \frac{R^{(v)}_{ij}}{\sum_{\ell=1}^n R^{(v)}_{i\ell}}. $$

Here, \(n\) is the number of patients, \(T\) denotes transpose, and \(m\) is the number of views. As established in the earlier material on SNF transition and local affinity matrices, \(P^{(u)}\) describes transition weights and \(S^{(v)}\) encodes view \(v\)’s local affinities. The update assumes that the matrices refer to the same patients in the same order, their entries are nonnegative, and the rows of the transition and local-affinity matrices are normalized as required by the implementation. There must be at least two views for \(Q^{(-v)}\) to be defined, and every row being normalized must have a positive sum.

What the Matrix Product Means

The matrix product has an entrywise interpretation that makes the exchange mechanism precise: $$ R^{(v)}_{ij} =\sum_{a=1}^n\sum_{b=1}^n S^{(v)}_{ia}\,Q^{(-v)}_{ab}\,S^{(v)}_{jb}. $$ For the pair of patients \(i,j\), this expression combines cross-view weights \(Q^{(-v)}_{ab}\) for pairs of patients \(a,b\), weighted by how strongly \(a\) is connected locally to \(i\) and \(b\) to \(j\) in view \(v\). Thus the cross-view network is smoothed over the updating view’s local neighborhoods at both endpoints.

If each row of \(S^{(v)}\) is a probability distribution, \(S^{(v)}_{ia}\) can be read as a weight assigned to patient \(a\) when considering the neighborhood of \(i\). The raw score \(R^{(v)}_{ij}\) then aggregates cross-view evidence over pairs of such neighborhood members. It is a weighted aggregation, not a claim that a literal two-step patient-level causal or probabilistic process occurred.

Row normalization is important because the sandwich product need not have unit row sums. In particular, row-stochastic \(S^{(v)}\) need not also be column-stochastic. The final row normalization puts each updated row back on a transition scale, provided its sum is positive. It can change the relative scale of entries across different rows, so an entry of the normalized matrix should be interpreted as a within-row transition weight, not as an unnormalized measure of total evidence.

Worked Example: Neighborhoods Smooth Cross-View Evidence

Suppose three hypothetical patients have a cross-view consensus matrix $$ Q^{(-1)}= \begin{pmatrix} 0.6&0.3&0.1\\ 0.3&0.4&0.3\\ 0.1&0.3&0.6 \end{pmatrix}, $$ and view 1 has local affinity matrix $$ S^{(1)}= \begin{pmatrix} 0.5&0.5&0\\ 0.5&0&0.5\\ 0&0.5&0.5 \end{pmatrix}. $$ Both matrices are nonnegative, symmetric, and have rows summing to one, so the raw update will also have rows summing to one. Consider the updated score linking patients 1 and 3.

Patient 1’s local weights are \(0.5\) on patients 1 and 2; patient 3’s are \(0.5\) on patients 2 and 3. Therefore, $$ R^{(1)}_{13} =(0.5)(0.5)(Q^{(-1)}_{12}+Q^{(-1)}_{13}+Q^{(-1)}_{22}+Q^{(-1)}_{23}) $$ $$ =0.25(0.3+0.1+0.4+0.3)=0.275. $$ The direct cross-view consensus entry for patients 1 and 3 is only \(Q^{(-1)}_{13}=0.1\). The updated value is larger because the neighborhood aggregation also incorporates evidence for pairs involving patients 2. The result is not simply a replacement of the view 1 edge by the consensus edge.

For a check on the full calculation, the raw updated matrix is $$ R^{(1)}= \begin{pmatrix} 0.400&0.325&0.275\\ 0.325&0.350&0.325\\ 0.275&0.325&0.400 \end{pmatrix}. $$ Each row sums to one, so row normalization leaves this matrix unchanged. This holds here because both matrices are symmetric and row-stochastic, and hence also column-stochastic; it is not guaranteed for every implementation’s local affinity matrix.

Why Exclude the View Being Updated?

The purpose of the update is to import information from other views. If \(P^{(v)}\) were included in the consensus, the update would partly feed the current view’s own transition pattern back into itself. This direct self-contribution can make the update less responsive to cross-view information. Excluding it gives a leave-one-view-out consensus: the evidence source is the collection of views other than \(v\), while \(S^{(v)}\) still determines how that evidence is locally filtered.

The difference can be written exactly. Let \(Q_{\mathrm{all}}=m^{-1}\sum_{u=1}^m P^{(u)}\) be the incorrect all-view average. Then $$ Q_{\mathrm{all}}=\frac{1}{m}P^{(v)}+\frac{m-1}{m}Q^{(-v)}. $$ The current view contributes a fraction \(1/m\) directly, and the leave-one-out consensus contributes a fraction \((m-1)/m\). This changes the matrix being passed through \(S^{(v)}\); it is not just a notational change.

Worked Example: The Effect of Leaving One View Out

Consider three hypothetical views with transition matrices $$ P^{(1)}= \begin{pmatrix} 0.5&0.4&0.1\\ 0.4&0.5&0.1\\ 0.1&0.1&0.8 \end{pmatrix},\quad P^{(2)}= \begin{pmatrix} 0.6&0.1&0.3\\ 0.1&0.8&0.1\\ 0.3&0.1&0.6 \end{pmatrix},\quad P^{(3)}= \begin{pmatrix} 0.2&0.5&0.3\\ 0.5&0.2&0.3\\ 0.3&0.3&0.4 \end{pmatrix}. $$ Each matrix is nonnegative and row-stochastic. To update view 1, the correct consensus is the average of views 2 and 3: $$ Q^{(-1)}_{12}=\frac{P^{(2)}_{12}+P^{(3)}_{12}}{2} =\frac{0.1+0.5}{2}=0.3. $$ For a focused comparison, take \(S^{(1)}=I\), the identity matrix. In this special case, the sandwich operation leaves its input unchanged, so the updated entry \(P^{(1)}_{\mathrm{new},12}\) is \(0.3\).

If the current view were wrongly included, the corresponding entry of the all-view average would be $$ (Q_{\mathrm{all}})_{12} =\frac{P^{(1)}_{12}+P^{(2)}_{12}+P^{(3)}_{12}}{3} =\frac{0.4+0.1+0.5}{3} =\frac{1}{3}\mathrel{\approx}0.333. $$ The erroneous value is pulled toward view 1’s own entry \(0.4\), rather than representing only the other views. The identity choice isolates this averaging effect; with a non-identity local affinity matrix, both versions would additionally be smoothed through view 1’s neighborhoods.

Row Normalization in a Non-Symmetric Case

It is useful to distinguish the raw sandwich product from the normalized transition update. Even when each row of \(S^{(v)}\) and \(Q^{(-v)}\) sums to one, row sums of \(S^{(v)}Q^{(-v)}S^{(v)T}\) need not equal one if \(S^{(v)}\) is not column-stochastic. The next example shows the calculation and why normalization is part of the update.

Worked Example: Normalizing the Raw Update

For two hypothetical patients, let $$ S^{(1)}= \begin{pmatrix} 1&0\\ 0.5&0.5 \end{pmatrix}, \qquad Q^{(-1)}= \begin{pmatrix} 0.8&0.2\\ 0.2&0.8 \end{pmatrix}. $$ Both matrices are nonnegative and row-stochastic, and all raw-update row sums will be positive. First, $$ S^{(1)}Q^{(-1)} = \begin{pmatrix} 0.8&0.2\\ 0.5&0.5 \end{pmatrix}, \qquad S^{(1)T}= \begin{pmatrix} 1&0.5\\ 0&0.5 \end{pmatrix}. $$ Thus $$ R^{(1)}=S^{(1)}Q^{(-1)}S^{(1)T} = \begin{pmatrix} 0.8&0.5\\ 0.5&0.5 \end{pmatrix}. $$ The first row sum is \(0.8+0.5=1.3\), whereas the second row sum is \(0.5+0.5=1.0\). Normalizing row 1 gives \((0.8/1.3,\,0.5/1.3)\), approximately \((0.615,\,0.385)\); row 2 remains \((0.500,\,0.500)\). The normalized rows are transition weights, but their normalization does not make the matrix symmetric.

Assumptions, Diagnostics, and Alternatives

The update is most interpretable when every view describes the same patients, matrix indices use the same patient ordering, and all supplied entries are finite and nonnegative. The transition matrices should have positive row sums and be normalized according to the chosen SNF convention. For the local aggregation interpretation, rows of \(S^{(v)}\) should also give valid nonnegative weights. A row of the raw update with sum zero cannot be normalized; it signals that the input affinities or neighborhood support do not provide any positive update for that row.

Several checks help identify an update that is not behaving as intended:

  • Check dimensions and patient order. Matrices must have the same dimensions and correspond to the same subjects in the same order. A mismatched order combines unrelated patients’ entries.
  • Check signs and row sums. The matrices should be nonnegative, and transition rows should sum to one within numerical tolerance. After the raw update, inspect row sums before normalizing, then confirm the normalized rows sum to one.
  • Check for zero rows or non-finite values. A zero raw-update row makes row normalization undefined; missing or infinite values can also invalidate the matrix products.
  • Compare cross-view and updated patterns. If the updated matrix scarcely responds to other views, check whether the cross-view consensus is being calculated with the current view mistakenly included, or whether the inputs are nearly redundant.
  • Check for a dominant view or conflicting views. An average assigns equal weight to each included view, but equal weights do not imply equal information quality. A noisy or highly redundant view can still influence the consensus.

A direct average of the other transition matrices would transfer cross-view information without using the updating view’s neighborhood structure. The SNF sandwich instead smooths that evidence according to the local affinity matrix. Conversely, using only the current view would preserve its own structure but exchange no information at all. These approaches answer different questions: the average pools views directly, while the SNF update combines cross-view evidence with view-specific local organization.

The update does not guarantee that views agree, that the fused network reflects a biological truth, or that an edge is causal. Strong correlation among views can make their contributions redundant; substantial disagreement can make the average less representative of any one view. And because the local affinities shape how evidence is transferred, the update’s result depends on those affinities as well as on the other views’ transition matrices. It is a defined integration operation, not an automatic correction for poor inputs or a proof of biological validity.

Common Mistake

A common mistake is to say, “The update averages every network, including the one being updated, and then smooths that average.” That reasoning confuses a leave-one-view-out exchange with self-reinforcement. For view \(v\), the correct input is \(Q^{(-v)}\), the average over \(u\ne v\); the local matrix \(S^{(v)}\) is then applied on both sides of that consensus. Including \(P^{(v)}\) changes the input and weakens the distinction between imported evidence and the view’s own current pattern.

Key takeaway: SNF exchanges information by smoothing the average of the other views’ transition matrices through the updating view’s local affinities. Excluding the current view keeps that cross-view input separate from the view’s own existing transition pattern.

Check Your Understanding

Answer each question, then compare with the short solutions below.

  1. For four views, which matrices contribute to \(Q^{(-2)}\), and what is the divisor?
  2. In \(R^{(v)}_{ij}=\sum_{a,b}S^{(v)}_{ia}Q^{(-v)}_{ab}S^{(v)}_{jb}\), what role do the two factors involving \(S^{(v)}\) play?
  3. Suppose \(P^{(1)}_{12}=0.2\), \(P^{(2)}_{12}=0.6\), and \(P^{(3)}_{12}=0.4\). What is the correct consensus entry for updating view 1? What would the all-view average give?
  4. Why can a raw sandwich update need row normalization even if both input matrices have rows summing to one?

Solutions. (1) Average \(P^{(1)},P^{(3)},P^{(4)}\), dividing their sum by \(3\). (2) They weight cross-view evidence over local neighbors of patients \(i\) and \(j\), respectively. (3) The correct entry is \((0.6+0.4)/2=0.5\); the all-view average is \((0.2+0.6+0.4)/3=0.4\), which includes view 1’s own value. (4) Row-stochastic \(S^{(v)}\) need not be column-stochastic, so the sandwich product’s row sums are not guaranteed to equal one.

Clinical Biostats