# Idées autour de l’inclusion de la phylogénie

phylogénie
graphes
lbm
sbm
Auteur·rice
Affiliation

Louis Lacoste

MIA Paris-Saclay, INRAE, AgroParisTech, Université Paris-Saclay

Date de publication

11 mai 2026

Modifié

11 mai 2026

# 1 Contexte de l’inclusion de la phylogénie dans l’estimation de la structure des interactions

Dans le 3e axe de ma thèse nous souhaitons inclure de l’information phylogénétique dans l’estimation de la structure des réseaux d’interaction microbiens.

1. Ces réseaux se présentent sous la forme de matrice des comptages hautement rectangulaire, c’est-à-dire avec un grand nombre de microorganismes et, en comparaison, peu d’échantillons (de sols, d’aliments, de patients…). Cette haute dimensionnalité met en échec les méthodes classiques non concues pour gérer autant de noeuds (SBM). Il s’agit donc d’un premier enjeu

2. Les données de comptages de ces matrices sont compositionnelles : la profondeur de séquençage (le nombre de séquences lues) étant finie, cela implique une dépendance entre les comptages observés. Si une séquence est surexprimée par rapport aux autres, alors que l’abondance réelle des autres n’a pas changée, les comptages observés des autres séquences vont diminuer. Voir la note sur les données compositionnelles.

Données compositionelles

Soit N la profondeur de séquençage, \forall s \in \{1,\dots,s\}, n_s le nombre réel de fois où la séquence s est présente, t = \sum_s n_s la somme des séquences totale. Les comptages observés o_s pour la séquence s sont o_s = \dfrac{n_s}{N}, et on a \sum_{s} o_s = \dfrac{1}{N} \sum_{s} n_s par construction.

Et donc à pour un S quelconque on a o_S = \dfrac{t}{N} - \sum_{s, s\neq S} o_s et donc une contrainte sur les o_s.

Diverses autres enjeux se posent quand on considère ce type de données. Par exemple, l’arbre phylogénétique peut ne pas être directement accessible, ou bien être dominé par un certain clade. Il peut aussi exploser en nombre d’individu à chaque niveau (à relier au point 1).

## 1.1 Formalisme commun

Dans la suite, nous considèrerons \mathcal{T} l’arbre ayant L niveaux, indexés de l = 0,\dots,L avec 0 la racine commune et L les feuilles de l’arbre.

Y la matrice de bi-adjacence encodant le graphe et modélisant les interactions, de taille n_1\times n_2.

V, X les matrices de covariable sur les noeuds en ligne et en colonnes de Y. V est de taille n_1 \times d et X est de taille n_2 \times p

# 2 SBM (ou LBM) Séquentiel

## 2.1 Formalisation de l’idée

Ici on utilise l’arbre phylogénétique afin d’initialiser l’EM variationnel du niveau suivant.

Concrètement, on ajuste un LBM au niveau l, sur la matrice de comptage aggrégées à ce niveau Y^l, ce qui donne des probabilités variationnelles \pmb{\tau}^{1,l},\pmb{\tau}^{2,l} qui sont de tailles respectives n_{1,l} \times Q_{l} et n_{2,l} \times R_{l}.

Puis pour tout individu u\in \text{Child}(i), on initialise ses probas \widetilde{\tau}^{1,l+1}_u = \tau^{1,l}_u + \varepsilon_{u}, avec \varepsilon_u \sim \mathcal{N}_{Q_l}(0,\sigma^2) et on renormalise \tau^{1,l+1}_{u} = \dfrac{\widetilde{\tau}^{1,l+1}_u}{\sum_q \widetilde{\tau}^{1,l+1}_{u,q}}. On ajoute une perturbation afin de ne pas rester bloqué sur le point fixe précédent et de pouvoir donc obtenir les \tau^{1,l+1} à l’issue de l’optimisation.

## 2.2 Limites de l’approche

Le passage d’information selon l’arbre nous semble intuitivement être une bonne approche et les résultats que nous avons obtenues indique qu’un peu d’information semble passer mais il faut aller profondément dans l’arbre et alors on rencontre le problème du coût computationnel. En effet cette méthode ne diminue pas le coût en calcul puisqu’elle calcule un LBM à chacun des L niveaux, au mieux elle donne un point d’initialisation intelligent mais cela semble difficilement applicable à des données réelles.

# 3 SBM et LBM avec covariables sur les noeuds

Ce modèle visent à intégrer des covariables de noeuds comme modificateurs des probabilités a priori d’appartenance aux groupes. Pour la phylogénie, en passant par une MDS ou une autre méthode permettant à partir des distances phylogénétique d’obtenir des “positions” ou des covariables, cela permettrait d’injecter l’a priori phylogénétique dans l’estimation de la structure du réseau.

## 3.1 Formalisation du modèle

Toujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:

\begin{align*} Z_i &\sim \mathcal{M}(1; \pi_1, \dots, \pi_Q), \sum_{q=1}^{Q} \pi_q = 1\\ W_j &\sim \mathcal{M}(1; \rho_1^j, \dots, \rho_R^j), \sum_{r=1}^{R} \rho_r^j = 1\\ Y_{i,j}&\mid Z_i = q, W_j = r \sim \mathcal{F}(\alpha_{qr}) \end{align*}

Voici pour les probas pour les individus en colonne de la matrice d’adjacence : \begin{align*} \pmb{\beta}_{r}& = \begin{pmatrix} \beta_{r,0}\\ \vdots\\ \beta_{r,p} \end{pmatrix}, & X_{j,\bullet} = \begin{pmatrix} 1 = x_{0,j} & x_{1,j} & \dots & x_{p,j} \end{pmatrix}\\ X_{j,\bullet} \pmb{\beta}_r& = \beta_{r,0} x_{0,j} + \beta_{r,1} x_{1,j} + \dots + \beta_{r,p} x_{p,j} & \approx \log(\rho_r^j) \\ B & = \begin{pmatrix} \pmb{\beta}_1 \dots \pmb{\beta}_r \dots \pmb{\beta}_R \end{pmatrix} & X_{j,\bullet}B \approx \log(\pmb{\rho}^j) \\ X B & \approx \log((\pmb{\rho}^j)_{j=1,\dots,n_2}) = \log(\pmb{\Rho})\\ \end{align*} avec les \beta, B qui désigne donc les coefficient de la combinaison linéaire et X les covariables des individus (taille n_2\times p, p covariables).

Et pour les probas en lignes du LBM : \begin{align*} \pmb{\gamma}_{q}& = \begin{pmatrix} \gamma_{q,0}\\ \vdots\\ \gamma_{q,d} \end{pmatrix}, & V_{i,\bullet} = \begin{pmatrix} 1 = v_{0,i} & v_{1,i} & \dots & v_{d,i} \end{pmatrix}\\ V_{i,\bullet} \pmb{\gamma}_q & = \gamma_{q,0} v_{0,i} + \gamma_{q,1} v_{1,i} + \dots + \gamma_{q,d} v_{d,i} & \approx \log(\pi_q^i) \\ \Gamma & = \begin{pmatrix} \gamma_1 \dots \pmb{\gamma}_q \dots \pmb{\gamma}_Q \end{pmatrix} & V_{i,\bullet} \Gamma \approx \log(\pmb{\pi}^i) \\ V \Gamma & \approx \log((\pmb{\pi}^i)_{i=1,\dots,n_1}) = \log(\pmb{\Pi}) \end{align*} avec les \gamma, G qui désigne donc les coefficient de la combinaison linéaire et V les covariables des individus (taille n_1\times d, d covariables).

## 3.2 Preuve de l’identifiabilité

Soient B,B^{\prime} avec B_{\bullet,R} = B^{\prime}_{\bullet,R} = \vec{0}_{p+1} et X de rang plein tel que X^{\top}X soit inversible.

\begin{align*} &\sigma(XB) = \sigma(XB^{\prime})\\ &\implies \exists C = \begin{pmatrix}c_1 \\ \vdots \\ c_j \\ \vdots \\ c_{n_2}\end{pmatrix} \in \mathbb{R}^{n_2}, X B = X B^{\prime} + C \pmb{1}_{R}^{\top} \\ &\implies \exists C \in \mathbb{R}^{n_2}, (X B)_{j,r} = (X B^{\prime})_{j,r} + (C \pmb{1}_{R}^{\top})_{j,r} \\ &\implies \exists C \in \mathbb{R}^{n_2}, \forall r\in\{1\dots,R\}, \forall j\in\{1,\dots,n_2\}, \sum_{k=1}^{p+1} x_{j,k} \beta_{k,r} = \sum_{k=1}^{p+1} x_{j,k} \beta^{\prime}_{k,r} + c_j\\ &\implies \exists C \in \mathbb{R}^{n_2}, \forall j\in\{1,\dots,n_2\}, \sum_{k=1}^{p+1} x_{j,k} \beta_{k,R} = \sum_{k=1}^{p+1} x_{j,k} \beta^{\prime}_{k,R} + c_j \\ &\implies \exists C \in \mathbb{R}^{n_2}, \forall j\in\{1,\dots,n_2\}, \sum_{k=1}^{p+1} x_{j,k} \times 0 = \sum_{k=1}^{p+1} x_{j,k} \times 0 + c_j \\ &\implies \exists C \in \mathbb{R}^{n_2}, \forall j\in\{1,\dots,n_2\}, 0 = 0 + c_j \implies c_j = 0 \\ &\implies C = \begin{pmatrix} 0 \\ \vdots \\ 0 \end{pmatrix} \text{and thus}, XB = XB^{\prime} \\ & \implies (X^{\top} X)^{-1}X^{\top} X B = (X^{\top} X)^{-1}X^{\top} X B^{\prime} \implies B=B^{\prime} \end{align*}

## 3.3 Inférence

Inférence variationnelle donc \ell(Y;\pmb{\theta}) \geq \mathcal{J}(\mathcal{R},\pmb{\theta}) avec

\mathcal{J}(\mathcal{R},\pmb{\theta})= \sum_{i = 1}^{n_1}\sum_{j=1}^{n_2}\sum_{q \in \mathcal{Q}_1} \sum_{r \in \mathcal{Q}_2} \tau_{iq}^{1} \tau_{jr}^{2} \log f(Y_{ij}; \alpha_{qr}) + \sum_{i=1}^{n_1} \sum_{q \in \mathcal{Q}_1} \tau_{iq}^{1} \log \pi_{\color{black}q} + \sum_{j=1}^{n_2} \sum_{r \in \mathcal{Q}_2} \tau_{jr}^{2} \log \rho_{\color{black}r} \\ - \sum_{i=1}^{n_1} \tau_{iq}^{1} \log \tau_{iq}^{1} - \sum_{j=1}^{n_2} \tau_{jr}^{2} \log \tau_{jr}^{2}

Avec \rho_r^j = \frac{\exp{\beta_r X_j}}{\sum_{s=1}^{R} \exp{\beta_s X_j}} = \sigma(\pmb{\beta} \pmb{X})_{r,j}, où \sigma désigne le softmax. Et sous la contrainte d’identifiabilité que l’un des (\beta_r)_{r=1,\dots,R} soit nul, ici \beta_R = 0.

La partie pertinente de l’ELBO devient: P((\beta_r)_{r=1,\dots,R}, (X_j)_{j=1,\dots,n_2}, (\tau_{jr})_{\substack{j=1,\dots,n_2\\r=1,\dots,R}} ) = \sum_{j=1}^{n_2} \sum_{r=1}^{R} [\tau_{jr} (\beta_r X_j - \log (\sum_{s=1}^{R} \exp{\beta_s X_j}))] \tag{1}

Et on obtient la dérivée partielle par rapport à \beta_t comme: \begin{align*} \dfrac{\partial P}{\partial \beta_t}&((\beta_r)_{r=1,\dots,R}, (X_j)_{j=1,\dots,n_2}, (\tau_{jr})_{\substack{j=1,\dots,n_2\\r=1,\dots,R}} ) = \sum_{j=1}^{n_2} \biggl[ \tau_{jt} X_j - \frac{X_j \exp{\beta_t X_j}}{\sum_{s=1}^{R} \exp{\beta_s X_j}} \biggr]\\ & = \sum_{j=1}^{n_2} \biggl[\bigl(\tau_{jt} - \sigma(\pmb{\beta} \pmb{X})_{t,j}\bigr) X_j\biggr] = \sum_{j=1}^{n_2} \biggl[\bigl(\tau_{jt} - \rho_t^j \bigr) X_j\biggr] \end{align*}

## 3.4 Implémentation

J’ai implémenté tout ça dans un fork de blockmodels. Ce fork est disponible ici et en cours de relecture par JBL.

Pour les détails techniques, j’ai ré-écrit la gestion des memberships en R pour passer les covariables et coefficients nécessaires aux calculs. J’ai implémenté une descente de gradient en utilisant un algorithme de type BFGS pour l’optimisation des coefficients de la combinaison linéaire. Et enfin j’ai intégré plusieurs choses dans le package R sbm:

1. La gestion des covariables de noeuds
2. Le support des valeurs manquantes

## 3.5 La suite

Maintenant, Sophie et Pierre gèrent la rédaction de vignettes et de simulations autour de ces fonctionnalités.

Nous attendons de voir si l’on trouve un jeu de données adaptées pour cette méthode.

Limites : Ce modèle ne permet pas le passage à l’échelle pour les gros réseaux que représentent les matrices de comptage.

# 4 LBM avec dépendance latente entre les probabilités a priori

## 4.1 Formalisation du modèle

Pierre a proposé que l’on pose une structure latente sur les \pmb{Z}. C’est à dire \begin{align*} & P \sim \mathcal{N}_{n_1, K-1} (O_{n_1, K-1}, \Sigma, \sigma^2 Id_{K-1}), \\ \forall i \in \{1,\dots,n_1\}, & Z_i \mid P_i \overset{ind}{\sim} \mathop{\mathrm{Cat}}_{K} ({\mathop{\mathrm{ilr}}}^{-1}(P_i) = \pi_{1:K}^{(i)}), \\ \forall j \in \{1,\dots,n_2\}, & W_j \overset{iid}{\sim} \mathop{\mathrm{Cat}}_R (\rho_{1:R}),\\ \forall i,j \in \{1,\dots,n_1\}\times\{1,\dots,n_2\}, & Y_{ij} \mid Z_i = k, W_j = r \overset{ind}{\sim} \mathcal{F}(\alpha_{qr}), \end{align*} avec \Sigma, la matrice de variance-covariance déterminée en fonction de l’apparentement (phylogénétique) des noeuds.

Le DAG simplifié du modèle

# 5 Échantillonnage selon l’arbre

Afin d’affronter le coût computationnel que représente l’ajustement

# 6 Latent Position Model (LPM) avec phylogénie des représentations latentes selon la phylogénie

## 6.1 Classique

## 6.2 Deep LPM

Possibilité d’utilisé un encodeur qui soit un réseau de neurones et de bénéficier de tous les décodeurs de la littérature LPM. Quel est le lien avec le VGAE ? Avantage de passage à l’échelle??