these-recap-hebdo/suivi/2025-33/2025-33.qmd
Louis 1824a9ca8c
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Ajout avancées
2025-08-13 20:09:03 +02:00

437 lines
No EOL
19 KiB
Text

---
title: "Bilan semaine 33 2025 : 11 août - 15 août"
categories: [colBiSBM, inférence, GNN]
date: 2025-08-14
date-modified: last-modified
bibliography: references.bib
---
## TODO List
- Pour clustering de collections sur données ~~réelles~~ :
→ L'intuition de Pierre semble être confirmé, les dissimilarités semblent arrêter de varier sensiblement pour de grandes valeurs $(Q_1,Q_2)$.
- ❓Je n'arrive plus à reproduire le bug pour l'inférence...
- 😫 bug encore. S'assurer que ça marche et relancer
- ⌛ **En fait je donne tous les degrés donc le GNN a juste à retrouver les arêtes non vues**.Revérifier que j'entraîne correctement le VGAE car résultats de généralisation trop bons sur les autres réseaux Doré, ce qui est étonnant
Pour corriger cet effet :
- Donner la matrice identité comme features
- Corriger les degrés calculés.
- ✅ Ajouter au tableau comparatif sep BiSBM
- ✅ Pour s'assurer que colBiSBM marche, il faut comparer avec une proportion de :
- *Missing links*, ie des faux zéros
- *NA* en *Missing at random (MAR)*
![](figs/auc-model.png)
- Faible performances de l'inférence :
- Vérifier que les conditions d'identifiabilité des modèles fautifs sont bien remplies.
- Récupérer des jeux de paramètres et essayer de reproduire les résultats.
- Clustering sur Doré :
- ✅ Désaggréger les réseaux et relancer le clustering sur certains auteurs.
- Regarder pour les couples date+nom les études et le nombre de réseaux analysables (Possible demander à Élisa)
- ⌛ Chamberlain et al semble intéressant à regarder !
- Clusteriser sur la base des noms et voir parmi les réseaux Européens (désagrégés ?)
- Si M > 10, alors voir si je retrouve les mêmes résultats que dans les études.
- Regarder les codes Mangal database pour $\delta$
- Voir $\delta$ mais additif
:::{.callout-note}
### $\delta$ additif Bernoulli
En Bernoulli pas de forme analytique non plus :
Pour $\alpha_{qr}$:
$$ \sum_{m=1}^M \sum_{i=1}^{n_1^m} \sum_{j=1}^{n_2^m} \tau_{iq}^{1,m}\tau_{jr}^{2,m}(\frac{X_{ij}^m}{\alpha_{qr}} + \frac{(1-X_{ij}^m)}{\alpha_{qr} + \delta_m -1}) = 0$$
$$\Leftrightarrow \sum_m \frac{e^m_{qr}}{\alpha_{qr}} + \frac{1}{\alpha_{qr}+\delta_m-1} (n^m_{qr}-e^m_{qr}) = 0$$
Et pour $\delta_m$:
$$ \sum_{i=1}^{n_1^m} \sum_{j=1}^{n_2^m} \sum_{q=1}^{Q_1} \sum_{r=1}^{Q_2} \tau_{iq}^{1,m}\tau_{jr}^{2,m}(\frac{X_{ij}^m}{\delta_{m}} + \frac{(1-X_{ij}^m)}{\alpha_{qr} + \delta_m -1}) = 0$$
:::
:::{.callout-note}
### $\delta$ additif Poisson
Forme analytique mais risque de confusion ?
$$\widehat{\delta_m} = \frac{\sum_{q,r} e^m_{qr}}{\sum_{q,r} n^m_{qr}},~\widehat{\alpha_{qr}} = \frac{\sum_{m} e^m_{qr}}{\sum_{m} n^m_{qr}} $$
:::
- Regarder la liste des cours du MathSV et de l'Université Paris-Saclay.
- Inférence finie mais résultats pas fous:
<table class="table" style="font-size: 10px; margin-left: auto; margin-right: auto;">
<caption style="font-size: initial !important;">The proportion of dataset where the correct number of blocks is selected.</caption>
<thead>
<tr>
<th style="empty-cells: hide;border-bottom:hidden;" colspan="1"></th>
<th style="border-bottom:hidden;padding-bottom:0; padding-left:0px;padding-right:0px;text-align: center; " colspan="6"><div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; ">iid</div></th>
<th style="border-bottom:hidden;padding-bottom:0; padding-left:0px;padding-right:0px;text-align: center; " colspan="6"><div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; ">$\pi$</div></th>
<th style="border-bottom:hidden;padding-bottom:0; padding-left:0px;padding-right:0px;text-align: center; " colspan="6"><div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; ">$\rho$</div></th>
<th style="border-bottom:hidden;padding-bottom:0; padding-left:0px;padding-right:0px;text-align: center; " colspan="6"><div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; ">$\pi\rho$</div></th>
</tr>
<tr>
<th style="text-align:right;"> $\epsilon_{\alpha}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} \lt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} = 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} \gt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} \lt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} = 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} \gt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} \lt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} = 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} \gt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} \lt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} = 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} \gt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} \lt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} = 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} \gt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} \lt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} = 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} \gt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} \lt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} = 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_1} \gt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} \lt 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} = 4}$ </th>
<th style="text-align:left;"> $\bm{1}_{\widehat{Q_2} \gt 4}$ </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right;"> 0.00 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
</tr>
<tr>
<td style="text-align:right;"> 0.03 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
</tr>
<tr>
<td style="text-align:right;"> 0.06 </td>
<td style="text-align:left;"> 0.19 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.81 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.24 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.76 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.02 $\pm$ 0.01 </td>
<td style="text-align:left;"> 0.33 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0.65 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0.26 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.74 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.17 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.83 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.02 $\pm$ 0.01 </td>
<td style="text-align:left;"> 0.2 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.78 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.06 $\pm$ 0.02 </td>
<td style="text-align:left;"> 0.87 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.06 $\pm$ 0.02 </td>
<td style="text-align:left;"> 0.01 $\pm$ 0.01 </td>
<td style="text-align:left;"> 0.88 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.11 $\pm$ 0.03 </td>
</tr>
<tr>
<td style="text-align:right;"> 0.09 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.94 $\pm$ 0.02 </td>
<td style="text-align:left;"> 0.06 $\pm$ 0.02 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.91 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.09 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.1 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.9 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.13 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.87 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.87 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.13 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.87 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.13 $\pm$ 0.03 </td>
</tr>
<tr>
<td style="text-align:right;"> 0.12 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.94 $\pm$ 0.02 </td>
<td style="text-align:left;"> 0.06 $\pm$ 0.02 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.91 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.09 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.26 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.74 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.3 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.7 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.84 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.16 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.83 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.17 $\pm$ 0.04 </td>
</tr>
<tr>
<td style="text-align:right;"> 0.15 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.85 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.15 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.86 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.14 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.34 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0.66 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.3 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.7 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.81 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.19 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.8 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.2 $\pm$ 0.04 </td>
</tr>
<tr>
<td style="text-align:right;"> 0.18 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.87 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.13 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.84 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.16 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.36 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0.64 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.35 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0.65 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.87 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.13 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.82 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.18 $\pm$ 0.04 </td>
</tr>
<tr>
<td style="text-align:right;"> 0.21 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.92 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.08 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.89 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.11 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.4 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0.6 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.39 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0.61 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.84 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.16 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.84 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.16 $\pm$ 0.04 </td>
</tr>
<tr>
<td style="text-align:right;"> 0.24 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.88 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.12 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.85 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.15 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.47 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0.53 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 1 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.99 $\pm$ 0.01 </td>
<td style="text-align:left;"> 0.01 $\pm$ 0.01 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.4 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0.6 $\pm$ 0.05 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.85 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0.15 $\pm$ 0.03 </td>
<td style="text-align:left;"> 0 </td>
<td style="text-align:left;"> 0.82 $\pm$ 0.04 </td>
<td style="text-align:left;"> 0.18 $\pm$ 0.04 </td>
</tr>
</tbody>
</table>
- ⌛ **Plutôt regarder pour introduire un modèle $\delta$-colBiSBM**.
- Ajouter le produit par $\delta$ là où nécessaire
- Ajouter les modèles $\delta$, $\delta\pi, \dots$ et les blocs conditionnels
- Ajouter les tests unitaires adéquats et les vérifier
- Regarder *Largest gap* sur réseaux Doré
- Essayer *clustering* sur `supinfo`
- Homogénéiser notations dans les supplementaries
:::{#ref-kmeans-vae}
- Faire GNN-VAE Doré et sub-Doré avec kmeans et clustering sur l'espace latent
J'ai commencé à regarder un peu
:::
- Creuser et explorer avec easy16s !
### Inférence et microbes
- Lancer *colBiSBM* sur $OTU\times Sample$ &rarr; problème du chargement en mémoire des données à voir
- Lancer *colSBM* sur $OTU\times OTU$
- TabNet pratiquer les [exercices](https://github.com/cregouby/Tutoriel_torch)
- Regarder **SPARTA** Rennes
- Lire Papiers compositional data (Aitchison et al. intro)
- Lire article multi-niveaux Saint-Clair
- Ecrire et étudier les modèles pour différents niveaux taxonomiques.
\begin{align*}
i \rightarrow &~N^1_i \subseteq N^2_i \subseteq N^3_i & \text{Taxonomie}\\
Z^0_i \overset{?}{=} & Z^1_i \overset{?}{=} Z^2_i \overset{?}{=} Z^3_i & \text{Groupes fonctionnels}
\end{align*}
#### Causalité
Plus sur le temps long, à regarder
- GT causalité
- Daria Bystrova lire présentation @bystrovaCausalDiscovery (Meek rules, V-structure)
## Biblio à faire
- Regarder Transport optimal graphes bipartite.
- HDR VB, chapitre de modèle à blocs latents, bcp travaillé sur bipartite
OT, comparaison clustering, adaption ARI, *Largest Gap*
## Lectures en cours 📚
### OT
- ⌛ @mazeletUnsupervisedLearningOptimal Intéressant pour le transport optimal entre graphes de tailles différentes | Regarder si regularization entropique ne marche pas bien pour le graphe.
- ⌛ @nennaLecture2Entropic Pour comprendre le problème d'OT régularisé pour l'entropie.
- ⌛ @nennaLecture1Monge
### Inférence de graphes
- ⌛ @aitchisonStatisticalAnalysisCompositional1982a, en cours
- ❗📖 @payneFiniteMixturesMultivariate2023 sur MixMPLN
### Causalité
- ❗📖 @bystrovaCausalDiscovery
### Largest Gaps
- ❗📖 @braultFastConsistentAlgorithm2023
- ❗📖 @channarondClassificationEstimationStochastic2012 le papier qui introduit le *Largest Gaps*
## A discuter
### Congés P&S
### Thèse
- Faire préz CSI
- Faire rapport CSI
### Interprétation écologiques résultats de Baldock
- ⌛ Point avec Elisa, **oui on relance**
### Inférence
- pbs : variance, bcp de zero, covariables, offset et taxonomie (Reseaux arretes differents niveaux : Genre, OTU ...)
> Combine networks at different taxonomic levels
- Inférence + GREMLINS