---
title: "Bilan semaine 21 2025 : 26 mai - 30 mai"
categories: [colBiSBM, inférence, GNN]
date: 2025 05 23
---

## TOP PRIORITÉ

- ✅ Corriger pour les simus dans l'article : écrire $N = \#\text{ de répétitions}$ 
- Pour clustering de collections sur données réelles :    
    &rarr; L'intuition de Pierre semble être confirmé, les dissimilarités semblent arrêter de varier sensiblement pour de grandes valeurs $(Q_1,Q_2)$.
    - Faire le `hclust` avec diverses distances et voir si les coupes proposées diffèrent sensiblement
    - Si plusieurs clustering possibles les tester et sélectionner le 
    meilleur
    - Ré-ajuster les bonnes partitions.
- Idée de Sophie : alterner descendant et ascendant &rarr; prometteur aussi
- Pour les deux propositions données simulées tester diverses distances.


- Dé-bugger les simulations :

    - Inférence : Relancer simus d'inférence avec n = 240 pour voir si la qualité augmenter (se rassurer). En fait on est déjà à 240, j'ai relancé avec M = 4 au lieu de M = 2.
    En attente résultats MIGALE -> BUG, dois creuser mais juste des problèmes techniques -> Visiblement il y a d'autres problèmes que juste le plan de parallélisation.

- Vérifier si problème de version tidyverse pour vapply sur l'**inférence**.

- Si problème de parallélisation vient de pb de version *future.callr* le signaler à MIGALE. 

### Présentations LSD, JdS et ML@Aussois

- ✅ A l'oral pourquoi des réseaux : car de plus en plus disponibles et idée derrière, la structure fonctionnelle permet de comprendre les caractéristiques de l'écosystème décrit
- ✅ Chercher des réfs pour les méthodes (Hoff Latent Position Model, Nowicki pour LBM, une review pour les métriques voir thèses St Clair et Emré)
- ✅ Sur slide méthodes différencier métriques micro et macro et dire oralement que nous méso
- ❎ Indiquer sur une slide le problème de support pour $\pi\rho$ à faire s'il y a 
le temps.
- ✅ Résultats sur les réseaux Baldock, regarder le positionnement par bloc des 
espèces communes, regarder les probas d'appartenance aux blocs par espèces 
communes et par réseau ➡️ Bourdons
- ✅ Intégrer les retours de Sophie
- Attente retours Pierre

### Applications

- Kmeans sur la densité des réseaux subdoré pour pré-partitionner et *clusteriser*.
Car densités déséquilibrées.

:::{#ref-kmeans-vae}

- Faire GNN-VAE Doré et sub-Doré avec kmeans et clustering sur l'espace latent
J'ai commencé à regarder un peu

:::

- Comparer les perfs du VAE sur Baldock avec colBiSBM par exemple

### Inférence et microbes

- Lancer *colBiSBM* sur $OTU\times Sample$ &rarr; problème du chargement en mémoire des données à voir
- Se renseigner techniques d'inférence de réseaux : 
    - covariance (base corrélation et seuil)
    - GraphicalLASSO
    - Co-occurence
- Lancer *colSBM* sur $OTU\times OTU$
- Creuser [TabNet](https://raw.githubusercontent.com/cregouby/R-toulouse-tabnet/main/Tabnet_RR2023_fr_pdf.pdf) de Christophe Regouby et 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
- Demander à JA si elle connaît des réseaux d'interactions connus par les experts (idée d'intégrer une connaissance experte et de voir les différences de structure par rapport à celle attendue)
- 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*}

## A discuter

## A faire

### Inférence

- Papier pour comprendre données 
    - ~~Faust et al.~~
    - Abdill et al.
    - Bashan et al.

- pbs : variance, bcp de zero, covariables, offset et taxonomie (Reseaux arretes differents niveaux : Genre, OTU ...)

> Combine networks at different taxonomic levels

- Inférence + GREMLINS

### Rédaction article

- Relire intro St Clair
- S'inspirer structure pour mon intro
- Trouver biblio intro
- Rédiger l'intro
- Dire résultats nettement meilleurs et variabilités inférieures.

## A continuer

### Applications

- Idée Sophie: Regarder clustering de données plantes-pollinisateur selon gradient d'urbanisation

> Sophie a fait une appli qui marche bien et va dans le sens de l'analyse faite
(à savoir pas d'effet du gradien d'urbanisation). À continuer pour l'intégrer dans l'article !

### Axe inférence

- Lire biblio fournie Julie, Inférence de réseaux : co-occurence

> J'ai lu Faust et al. 
> Je lis Abdill et al.

## Repoussés ou abandonnés
:::{.callout-note collapse="true"}
## Déplier pour voir
 - Résultats simus NA **Erreur pour certaines conditions** : Pour NA robustness générer `nb_rep` collections de taille $M=2$ et prélever 
$\epsilon_{max}n_r n_c$ liens à retirer puis pour les $\epsilon < \epsilon_{max}$ prélever dans la liste des indices afin d'avoir des perturbations emboitées.
Il faut que j'ajoute un mécanisme pour reprendre des conditions qui ont plantés et que je skip dans le future_lapply les conditions déjà traitées (pour avoir la même seed quand je vais exécuter le code). 
Implémenté les missing steps.

> Je n'arrive pas à comprendre les erreurs qui arrivent 

- Lire Biological Networks -  François Képès

- Regarder les applications pour les collections de réseaux recommender system *Pas pertinents et trop gros*

:::{#lst-reco-systems lst-cap="Recommender systems data"}
Par exemple :

- [Liste de recommendation data](https://cseweb.ucsd.edu/~jmcauley/datasets.html)
:::


### Papier plus multi-applications
- Données d'Elisa herbivore ?
- Données urbanisations ?

### Autour de l'article et du package

- Créer des vignettes illustrant par exemple des cas de simulations. **Possible de mettre l'exemple d'application de Sophie sur les réseaux avec gradient d'urbanisation**.

### Simulations article

- Comparer sur clustering unipartite avec versions symétriser des par blocs des matrices d'adjacences.

- Corriger structure de simus :
    - Pour noisy $\alpha$ : 
        - Logit pour envoyer la gaussienne vers (0,1)
        - Beta contrainte dans (0,1)
    - Pour noisy links : Générer `nb_clustering` collections de taille M puis prélever $\epsilon_{max}n_r n_c$ liens à inverser puis pour les $\epsilon < \epsilon_{max}$ prélever dans la liste des indices afin d'avoir des perturbations emboitées. 
:::