---
title: "Bilan semaine 20 2025 : 12 mai - 16 mai"
categories: [colBiSBM, inférence, GNN]
date: 2025 05 16
---

## TOP PRIORITÉ

- Pour clustering de collections sur données réelles :
    - ~~Relâcher la pénalité pour les coupes pour proposer modèles.~~
    
    &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.
- 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

- ~~PRÉSENTATION JDS (LSD), durée introuvable, adapter en anglais les slides~~ et voir avec PB et SD.
- Quel plan ?
- Quels résultats ? Baldock, Traveset ... (sub-Doré)
- Pas la peine de préciser l'algo de clustering
- 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.

### 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

:::

### Inférence et microbes

- Lancer *colBiSBM* sur $OTU\times Sample$
- 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

## 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.


## J'ai fait

- Dé-bugger les simulations :

    - Clustering : Relancer simulations de clustering avec $M = 30$ où $M_i = 10, \forall i$. En attente retour MIGALE
    Relancer simus clustering avec VEM steps = 10 000 et plus nombreux init pour spectral. Ajouter simu clustering métriques nb sous-collections obtenues. 
    Vérifier les résultats obtenus si ARI = 0. Et augmenter la taille $M = 30$ avec $M_1 = M_2 = M_3 = 10$. ~~-> BUG, dois creuser mais juste des problèmes techniques.~~
    Le bug venait probablement d'une inadéquation entre la version de *future* et *future.callr*, les résultats temporaires sont encourageants.
    **J'ai mis les résultats dans l'article**.

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

- ~~PRÉSENTATION JDS (LSD), durée introuvable, adapter en anglais les slides~~ et voir avec PB et SD.
- Quel plan ?
- Quels résultats ? Baldock, Traveset ... (sub-Doré)

- Mettre le détails des formules et des algos pour VE et sélection de modèle en 
annexe.
- Préciser simplement que l'on utilise un algo VE et un critère type BIC.

### VGAE

- ~~Dé-bugger pourquoi `BipartiteInnerProductDecoder.forward() -> NaN`~~ -> 
**C'était parce que les features en entrée n'était pas normalisée par les 
couches de convolutions**. Les meilleurs résultats d'AUC et de précisions que 
j'obtiens par VGAE sont autour de 0.80.

### Inférence et microbes

- Human Gut Compendium télécharger et préparé les données. Mises au format 
`edgelist` et liste de matrices et extrait les infos supplémentaires.
&rarr; trop lourd en RAM pour tourner sur machine perso (optim colSBM...)
## 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. 
:::