diff --git a/index.html b/index.html index 7800117..92d8622 100644 --- a/index.html +++ b/index.html @@ -194,7 +194,7 @@ window.Quarto = {
  • Journaux
  • -
    Catégories
    Tous (23)
    colBiSBM (23)
    GNN (16)
    inférence (18)
    +
    Catégories
    Tous (24)
    colBiSBM (24)
    GNN (17)
    inférence (19)
    @@ -224,14 +224,14 @@ window.Quarto = {
    Date de publication
    -

    5 janvier 2026

    +

    6 février 2026

    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    @@ -263,7 +263,41 @@ Agenda

    Journaux

    -
    +
    + + + +
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +

    Baldock iid

    diff --git a/listings.json b/listings.json index 148abe6..e80a25e 100644 --- a/listings.json +++ b/listings.json @@ -2,6 +2,7 @@ { "listing": "/index.html", "items": [ + "/suivi/2026-6/2026-6.html", "/suivi/2025-51/2025-51.html", "/suivi/2025-50/2025-50.html", "/suivi/2025-45/2025-45.html", diff --git a/search.json b/search.json index 02f5c62..0fd750e 100644 --- a/search.json +++ b/search.json @@ -11,7 +11,7 @@ "href": "index.html#journaux", "title": "Journal suivi de la thèse", "section": "Journaux", - "text": "Journaux\n\n\n\n\n\n\n\n\n\n\nBilan semaine 51 2025 : 15 décembre - 19 décembre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n19 déc. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 50 2025 : 08 décembre - 12 décembre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n12 déc. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 45 2025 : 03 novembre - 06 novembre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n3 nov. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 44 2025 : 27 octobre - 31 octobre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n27 oct. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 43 2025 : 20 octobre - 24 octobre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n20 oct. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 38 2025 : 15 septembre - 19 septembre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n19 sept. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 35 2025 : 25 août - 29 août\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n29 août 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 33 2025 : 11 août - 15 août\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n14 août 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 29 2025 : 15 juillet - 18 juillet\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n15 juil. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 28 2025 : 07 juillet - 11 juillet\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n7 juil. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 27 2025 : 30 juin - 4 juillet\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n30 juin 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 25 2025 : 16 juin - 20 juin\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n20 juin 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 24 2025 : 10 juin - 13 juin\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n13 juin 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 22 2025 : 26 mai - 30 mai\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n28 mai 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 21 2025 : 26 mai - 30 mai\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n23 mai 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 20 2025 : 12 mai - 16 mai\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n16 mai 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 19 2025 : 5 mai - 9 mai\n\n\n\ncolBiSBM\n\ninférence\n\n\n\n\n\n\n\n\n\n9 mai 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 18 2025 : 28 avril - 2 mai\n\n\n\ncolBiSBM\n\ninférence\n\n\n\n\n\n\n\n\n\n2 mai 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 17 2025 : 24 avril - 25 avril\n\n\n\ncolBiSBM\n\n\n\n\n\n\n\n\n\n25 avr. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 16 2025\n\n\n\ncolBiSBM\n\n\n\n\n\n\n\n\n\n18 avr. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 15 2025 : 31 mars-4 avril\n\n\n\ncolBiSBM\n\n\n\n\n\n\n\n\n\n4 avr. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 14 2025 : 24-28 mars\n\n\n\ncolBiSBM\n\n\n\n\n\n\n\n\n\n28 mars 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 13 2025 : 17-21 mars\n\n\n\ncolBiSBM\n\n\n\n\n\n\n\n\n\n17 mars 2025\n\n\nLouis Lacoste\n\n\n\n\n\nAucun article correspondant" + "text": "Journaux\n\n\n\n\n\n\n\n\n\n\nBilan semaine 6 2026 : 02 février - 06 février\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n6 févr. 2026\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 51 2025 : 15 décembre - 19 décembre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n19 déc. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 50 2025 : 08 décembre - 12 décembre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n12 déc. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 45 2025 : 03 novembre - 06 novembre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n3 nov. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 44 2025 : 27 octobre - 31 octobre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n27 oct. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 43 2025 : 20 octobre - 24 octobre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n20 oct. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 38 2025 : 15 septembre - 19 septembre\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n19 sept. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 35 2025 : 25 août - 29 août\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n29 août 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 33 2025 : 11 août - 15 août\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n14 août 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 29 2025 : 15 juillet - 18 juillet\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n15 juil. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 28 2025 : 07 juillet - 11 juillet\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n7 juil. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 27 2025 : 30 juin - 4 juillet\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n30 juin 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 25 2025 : 16 juin - 20 juin\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n20 juin 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 24 2025 : 10 juin - 13 juin\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n13 juin 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 22 2025 : 26 mai - 30 mai\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n28 mai 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 21 2025 : 26 mai - 30 mai\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n23 mai 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 20 2025 : 12 mai - 16 mai\n\n\n\ncolBiSBM\n\ninférence\n\nGNN\n\n\n\n\n\n\n\n\n\n16 mai 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 19 2025 : 5 mai - 9 mai\n\n\n\ncolBiSBM\n\ninférence\n\n\n\n\n\n\n\n\n\n9 mai 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 18 2025 : 28 avril - 2 mai\n\n\n\ncolBiSBM\n\ninférence\n\n\n\n\n\n\n\n\n\n2 mai 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 17 2025 : 24 avril - 25 avril\n\n\n\ncolBiSBM\n\n\n\n\n\n\n\n\n\n25 avr. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 16 2025\n\n\n\ncolBiSBM\n\n\n\n\n\n\n\n\n\n18 avr. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 15 2025 : 31 mars-4 avril\n\n\n\ncolBiSBM\n\n\n\n\n\n\n\n\n\n4 avr. 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 14 2025 : 24-28 mars\n\n\n\ncolBiSBM\n\n\n\n\n\n\n\n\n\n28 mars 2025\n\n\nLouis Lacoste\n\n\n\n\n\n\n\n\n\n\n\n\nBilan semaine 13 2025 : 17-21 mars\n\n\n\ncolBiSBM\n\n\n\n\n\n\n\n\n\n17 mars 2025\n\n\nLouis Lacoste\n\n\n\n\n\nAucun article correspondant" }, { "objectID": "suivi/2025-45/2025-45.html", @@ -336,68 +336,68 @@ "text": "A discuter\n\nCongés P&S\n\n\nThèse\n\nFaire préz CSI\nFaire rapport CSI\n\n\n\nInterprétation écologiques résultats de Baldock\n\n⌛ Point avec Elisa, oui on relance\n\n\n\nInférence\n\npbs : variance, bcp de zero, covariables, offset et taxonomie (Reseaux arretes differents niveaux : Genre, OTU …)\n\n\nCombine networks at different taxonomic levels\n\n\nInférence + GREMLINS" }, { - "objectID": "suivi/2025-14/2025-14.html", - "href": "suivi/2025-14/2025-14.html", - "title": "Bilan semaine 14 2025 : 24-28 mars", + "objectID": "suivi/2026-6/2026-6.html", + "href": "suivi/2026-6/2026-6.html", + "title": "Bilan semaine 6 2026 : 02 février - 06 février", "section": "", - "text": "Relire intro St Clair\nS’inspirer structure pour mon intro\nTrouver biblio intro\nRédiger l’intro\nAgrandir la collection d’application, pas seulement Baldock mais aussi Trojelsgaard par ex\nLire les papiers de Baldock Traveset Souza Cordeniz Trojelsgaard et Gibson\nPrésenter le réseau Afrique du Sud dès l’intro des réseaux anglais de Baldock\nCorriger structure de simus :\n\nPour noisy \\alpha :\n\nLogit pour envoyer la gaussienne vers (0,1)\nBeta contrainte dans (0,1)\n\nPour 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.\n\nRédiger et modifier les cadres de simulations dans le papier pour qu’ils soient raccord avec les données obtenues.\nLancer clustering iid ascendant sur données sub-Doré.\nVérifier si les Baldock anglais ont des espèces en communs “Do they involve common species?”." + "text": "Petites opérations sur les OTUs (regarder la matrice dans les yeux):\n\nRanger les OTUs par variances (i.e. sd(OTU_j))\n\nHMC sur-dispersés (au-dessus bissectrice)\nEnterotype phyloseq sous-disp\n\nRegarder la proportion de 1. taxon rares, 2. zeros.\nFaire des coupures selon niveaux taxonomiques et regarder si \\mathbb{V}_{\\text{intra}} \\approx \\mathbb{V}_{\\text{inter}}\nBonus: faire ça dans qmd et voir si forge permet gitlab pages\n\n✅ Faire tourner un LBM sur Human Gut et voir si ça plante sinon, ça plante, la ram est surchargée.\n\nTODO Faire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.\n\n✅ Avec blockmodels, codé un LBM-Séquentiel. Des différences contrastées…\n⌛ Prendre jeu de données exemple de phyloseq :\n\n✅ 😞 enterotype tourne mais pas bon résultats (semble deux blocs échantillons mais pas vu par le modèle).\n✅ des jeux de données de Mahendra ne tourne pas (phase forward interminable).\n\nRelire Peixoto (2014)\n\nRegarder les gens qui citent les travaux de Peixoto\n\nImplémentation blockmodels LBM avec covariables sur proportions (voir Équation 1)\n\n\n\n\n\n\n\nIdées\n\n\n\n\nTravailler sur Fungus Tree network\n🔍Demander à PB et SD : Comparaison covar prop avec GREMLINS multipartite sur (log(dist_phylo), fungus-tree)\nTrouver manière de faire un compromis : \\ell(Y,Z,W;\\theta) - \\lambda d(C(W),C_0) avec C(W) le clustering seulement sur la base de la structure LBM et C_0 le clustering de l’arbre. Problème d est une distance entre partition, comment optimiser dessus ?\n⌛ Mise à jour partielle des \\tau : ce qui pose soucis c’est les gros calculs matriciels (c’est vraiment vrai?). Donc sorte de “stochastic” VEM où on update seulement une partie des \\tau à chaque itération. Et échantillonnage stratifié selon l’arbre ?\n\n⌛ Simulations avec n_2 croissant lancée sur Migale\nRéimplementé VE Bernoulli dans colSBM pour Bipartite et début implémentation Stochastic VE. En fait le problème des calculs matriciels Y\\times(\\tau^{(1)})^{\\top} (n_2^2) donc besoin de sous-échantillonner les noeuds de l’autre dimension à mettre à jour.\n\n\n\n\n\nClustering unipartite j’ai cassé une fonction de distance à vérifier et réparer\nCodes pour le papier :\n\nNettoyer les scripts\nFaire un joli README\n❓Faire des notebooks\n\nRéussir à reproduire résultat de Abramov et al. (s. d.)\nMaitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC\nMaitriser SparCC\n👶 (délégué à Mona) Clustering sur Doré :\n\nAjouter Chao1 et 2, colonne par colonne (site par site), et faire indice moyen et la variance.\n\n\n\n\n\n⌛ En préparation d’un fichier (réu avec JBL à 10h45 le 06/02/2026).\n\n\n\n\\begin{align*}\n\\pmb{\\beta}_{r}& = \\begin{pmatrix}\n \\beta_{r,0}\\\\\n \\vdots\\\\\n \\beta_{r,p}\n\\end{pmatrix}, & X_j = \\begin{pmatrix}\n 1\\\\\n x_{1}\\\\\n \\vdots\\\\\n x_p\n\\end{pmatrix}\\\\\n\\pmb{\\beta}_r^{\\top}X_j& = \\beta_{r,0} + \\beta_{r,1} x_{1} + \\dots + \\beta_{r,p} x_p & \\approx \\log(\\rho_r^j) \\\\\n\\pmb{B} & = \\begin{pmatrix}\n\\pmb{\\beta}_1 \\dots \\pmb{\\beta}_r \\dots \\pmb{\\beta}_Q\n\\end{pmatrix} & \\pmb{B}^{\\top} X_j \\approx \\log(\\pmb{\\rho}^j) \\\\\n\\pmb{B}^{\\top} \\pmb{X} & \\approx \\log((\\pmb{\\rho}^j)_{j=1,\\dots,n_2}) = \\log(\\pmb{\\Rho})\n\n\\end{align*}\nToujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:\n\\begin{align*}\nZ_i &\\sim \\mathcal{M}(1; \\pi_1, \\dots, \\pi_Q), \\sum_{q=1}^{Q} \\pi_q = 1\\\\\nW_j &\\sim \\mathcal{M}(1; \\rho_1^j, \\dots, \\rho_R^j), \\sum_{r=1}^{R} \\rho_r^j = 1\\\\\nY_{i,j}&\\mid Z_i = q, W_j = r \\sim \\mathcal{F}(\\alpha_{qr})\n\\end{align*}\nInférence variationnelle donc \\ell(Y;\\pmb{\\theta}) \\geq \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) avec\n\n\\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})\n + \\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} \\\\\n - \\sum_{i=1}^{n_1} \\tau_{iq}^{1} \\log \\tau_{iq}^{1} - \\sum_{j=1}^{n_2} \\tau_{jr}^{2} \\log \\tau_{jr}^{2}\n\n\n\nAvec \\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. Mais il y a besoin de poser une contrainte sur l’un des (\\beta_r)_{r=1,\\dots,R}, ici \\beta_R = 0.\nLa partie pertinente de l’ELBO devient: \n 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}))]\n\\tag{1}\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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]\\\\\n& = \\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]\n\\end{align*}\n\n\n\n\n\nLire article multi-niveaux Saint-Clair\n🆕 🔎 Trouver des papiers:\n\nLBM Negative Binomial\nNetwork inference through sample comparison\n\nIdée des groupes sur la base de distance phylogénétique:\n\nEn train de comprendre les distances que phyloseq permet de calculer sur notre exemple\nEn train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html\nParametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)\nLire Papier UniFrac\n\n\n\n\n\n\neasy16s : se renseigner sur\n\n\\alpha, \\beta diversité\nHeatmap\n\nRegarder SPARTA Rennes\nEcrire et étudier les modèles pour différents niveaux taxonomiques.\n🆕 Regarder NetComi\n🆕 Regarder OneNet car aggrégation plus robuste\n🆕 Réfléchir sens d’aggréger les données ou de les diviser\n\n\n\n\n\nLancer colBiSBM sur OTU\\times Sample → problème du chargement en mémoire des données à voir\nLancer colSBM sur OTU\\times OTU\nTabNet pratiquer les exercices\n🆕 SparCC à différent niveaux\n🆕 SBM à différent niveaux\n🆕⌛ Tree-PLN à différents niveaux\n\n\n\n\nPlus sur le temps long, à regarder\n\nGT causalité\nDaria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)" }, { - "objectID": "suivi/2025-14/2025-14.html#a-faire", - "href": "suivi/2025-14/2025-14.html#a-faire", - "title": "Bilan semaine 14 2025 : 24-28 mars", + "objectID": "suivi/2026-6/2026-6.html#todo-list", + "href": "suivi/2026-6/2026-6.html#todo-list", + "title": "Bilan semaine 6 2026 : 02 février - 06 février", "section": "", - "text": "Relire intro St Clair\nS’inspirer structure pour mon intro\nTrouver biblio intro\nRédiger l’intro\nAgrandir la collection d’application, pas seulement Baldock mais aussi Trojelsgaard par ex\nLire les papiers de Baldock Traveset Souza Cordeniz Trojelsgaard et Gibson\nPrésenter le réseau Afrique du Sud dès l’intro des réseaux anglais de Baldock\nCorriger structure de simus :\n\nPour noisy \\alpha :\n\nLogit pour envoyer la gaussienne vers (0,1)\nBeta contrainte dans (0,1)\n\nPour 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.\n\nRédiger et modifier les cadres de simulations dans le papier pour qu’ils soient raccord avec les données obtenues.\nLancer clustering iid ascendant sur données sub-Doré.\nVérifier si les Baldock anglais ont des espèces en communs “Do they involve common species?”." + "text": "Petites opérations sur les OTUs (regarder la matrice dans les yeux):\n\nRanger les OTUs par variances (i.e. sd(OTU_j))\n\nHMC sur-dispersés (au-dessus bissectrice)\nEnterotype phyloseq sous-disp\n\nRegarder la proportion de 1. taxon rares, 2. zeros.\nFaire des coupures selon niveaux taxonomiques et regarder si \\mathbb{V}_{\\text{intra}} \\approx \\mathbb{V}_{\\text{inter}}\nBonus: faire ça dans qmd et voir si forge permet gitlab pages\n\n✅ Faire tourner un LBM sur Human Gut et voir si ça plante sinon, ça plante, la ram est surchargée.\n\nTODO Faire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.\n\n✅ Avec blockmodels, codé un LBM-Séquentiel. Des différences contrastées…\n⌛ Prendre jeu de données exemple de phyloseq :\n\n✅ 😞 enterotype tourne mais pas bon résultats (semble deux blocs échantillons mais pas vu par le modèle).\n✅ des jeux de données de Mahendra ne tourne pas (phase forward interminable).\n\nRelire Peixoto (2014)\n\nRegarder les gens qui citent les travaux de Peixoto\n\nImplémentation blockmodels LBM avec covariables sur proportions (voir Équation 1)\n\n\n\n\n\n\n\nIdées\n\n\n\n\nTravailler sur Fungus Tree network\n🔍Demander à PB et SD : Comparaison covar prop avec GREMLINS multipartite sur (log(dist_phylo), fungus-tree)\nTrouver manière de faire un compromis : \\ell(Y,Z,W;\\theta) - \\lambda d(C(W),C_0) avec C(W) le clustering seulement sur la base de la structure LBM et C_0 le clustering de l’arbre. Problème d est une distance entre partition, comment optimiser dessus ?\n⌛ Mise à jour partielle des \\tau : ce qui pose soucis c’est les gros calculs matriciels (c’est vraiment vrai?). Donc sorte de “stochastic” VEM où on update seulement une partie des \\tau à chaque itération. Et échantillonnage stratifié selon l’arbre ?\n\n⌛ Simulations avec n_2 croissant lancée sur Migale\nRéimplementé VE Bernoulli dans colSBM pour Bipartite et début implémentation Stochastic VE. En fait le problème des calculs matriciels Y\\times(\\tau^{(1)})^{\\top} (n_2^2) donc besoin de sous-échantillonner les noeuds de l’autre dimension à mettre à jour.\n\n\n\n\n\nClustering unipartite j’ai cassé une fonction de distance à vérifier et réparer\nCodes pour le papier :\n\nNettoyer les scripts\nFaire un joli README\n❓Faire des notebooks\n\nRéussir à reproduire résultat de Abramov et al. (s. d.)\nMaitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC\nMaitriser SparCC\n👶 (délégué à Mona) Clustering sur Doré :\n\nAjouter Chao1 et 2, colonne par colonne (site par site), et faire indice moyen et la variance.\n\n\n\n\n\n⌛ En préparation d’un fichier (réu avec JBL à 10h45 le 06/02/2026).\n\n\n\n\\begin{align*}\n\\pmb{\\beta}_{r}& = \\begin{pmatrix}\n \\beta_{r,0}\\\\\n \\vdots\\\\\n \\beta_{r,p}\n\\end{pmatrix}, & X_j = \\begin{pmatrix}\n 1\\\\\n x_{1}\\\\\n \\vdots\\\\\n x_p\n\\end{pmatrix}\\\\\n\\pmb{\\beta}_r^{\\top}X_j& = \\beta_{r,0} + \\beta_{r,1} x_{1} + \\dots + \\beta_{r,p} x_p & \\approx \\log(\\rho_r^j) \\\\\n\\pmb{B} & = \\begin{pmatrix}\n\\pmb{\\beta}_1 \\dots \\pmb{\\beta}_r \\dots \\pmb{\\beta}_Q\n\\end{pmatrix} & \\pmb{B}^{\\top} X_j \\approx \\log(\\pmb{\\rho}^j) \\\\\n\\pmb{B}^{\\top} \\pmb{X} & \\approx \\log((\\pmb{\\rho}^j)_{j=1,\\dots,n_2}) = \\log(\\pmb{\\Rho})\n\n\\end{align*}\nToujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:\n\\begin{align*}\nZ_i &\\sim \\mathcal{M}(1; \\pi_1, \\dots, \\pi_Q), \\sum_{q=1}^{Q} \\pi_q = 1\\\\\nW_j &\\sim \\mathcal{M}(1; \\rho_1^j, \\dots, \\rho_R^j), \\sum_{r=1}^{R} \\rho_r^j = 1\\\\\nY_{i,j}&\\mid Z_i = q, W_j = r \\sim \\mathcal{F}(\\alpha_{qr})\n\\end{align*}\nInférence variationnelle donc \\ell(Y;\\pmb{\\theta}) \\geq \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) avec\n\n\\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})\n + \\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} \\\\\n - \\sum_{i=1}^{n_1} \\tau_{iq}^{1} \\log \\tau_{iq}^{1} - \\sum_{j=1}^{n_2} \\tau_{jr}^{2} \\log \\tau_{jr}^{2}\n\n\n\nAvec \\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. Mais il y a besoin de poser une contrainte sur l’un des (\\beta_r)_{r=1,\\dots,R}, ici \\beta_R = 0.\nLa partie pertinente de l’ELBO devient: \n 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}))]\n\\tag{1}\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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]\\\\\n& = \\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]\n\\end{align*}\n\n\n\n\n\nLire article multi-niveaux Saint-Clair\n🆕 🔎 Trouver des papiers:\n\nLBM Negative Binomial\nNetwork inference through sample comparison\n\nIdée des groupes sur la base de distance phylogénétique:\n\nEn train de comprendre les distances que phyloseq permet de calculer sur notre exemple\nEn train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html\nParametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)\nLire Papier UniFrac\n\n\n\n\n\n\neasy16s : se renseigner sur\n\n\\alpha, \\beta diversité\nHeatmap\n\nRegarder SPARTA Rennes\nEcrire et étudier les modèles pour différents niveaux taxonomiques.\n🆕 Regarder NetComi\n🆕 Regarder OneNet car aggrégation plus robuste\n🆕 Réfléchir sens d’aggréger les données ou de les diviser\n\n\n\n\n\nLancer colBiSBM sur OTU\\times Sample → problème du chargement en mémoire des données à voir\nLancer colSBM sur OTU\\times OTU\nTabNet pratiquer les exercices\n🆕 SparCC à différent niveaux\n🆕 SBM à différent niveaux\n🆕⌛ Tree-PLN à différents niveaux\n\n\n\n\nPlus sur le temps long, à regarder\n\nGT causalité\nDaria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)" }, { - "objectID": "suivi/2025-14/2025-14.html#jai-fait", - "href": "suivi/2025-14/2025-14.html#jai-fait", - "title": "Bilan semaine 14 2025 : 24-28 mars", - "section": "J’ai fait", - "text": "J’ai fait\n\nCorriger structure de simus :\n\nPour NA robustness\n\nDéfinir dans la section 3 :\n\n\nRemark that for iid-colBiSBM, \\pi_q, \\rho_r > 0, and thus the blocks exist and are represented in all networks. For the other models, some blocks may not exist in some networks and this is why \\pi_q^m, \\rho_r^m \\geq 0. Using S^{(1)} and S^{(2)} we can define the restricted parameters for each network and we denote them as \\widetilde{\\bm{\\pi}}^m, \\widetilde{\\bm{\\rho}}^m and \\widetilde{\\bm{\\alpha}}^m. The restrictions thus indicate the blocks that are represented in the network m.\n\n\nÉcrire la partie preuve pour identif \\pi-colBiSBM et \\rho-colBiSBM. Identif : \\pi et \\rho en attente retours Pierre et Sophie\nSaint-Clair va passer colSBM sous GrossSBM\nAgrandir la collection d’application, pas seulement Baldock mais aussi Trojelsgaard par ex : Collection agrandie avec Baldock Traveset Souza Cordeniz Trojelsgaard et Gibson, en attente MIGALE. Clustering instable" - }, - { - "objectID": "suivi/2025-14/2025-14.html#a-continuer", - "href": "suivi/2025-14/2025-14.html#a-continuer", - "title": "Bilan semaine 14 2025 : 24-28 mars", - "section": "A continuer", - "text": "A continuer\n\nRé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 en attente des résultats MIGALE.\nPour sub doré en attente MIGALE augmenter le nbre de répèt de la procédure." - }, - { - "objectID": "suivi/2025-50/2025-50.html", - "href": "suivi/2025-50/2025-50.html", - "title": "Bilan semaine 50 2025 : 08 décembre - 12 décembre", - "section": "", - "text": "⚠️ IL Y A UNE TYPO SUR LE SIGNE DE L’ENTROPIE POUR LE PAPIER: - \\mathcal{H} au lieu de +\\mathcal{H}\nCodes pour le papier :\n\nNettoyer les scripts\nFaire un joli README\n❓Faire des notebooks\n\nFaire tourner clustering sur Trojelsgaard\nRéussir à reproduire résultat de Abramov et al. (s. d.)\nMaitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC\nMaitriser SparCC\nFaire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.\nClustering unipartite j’ai cassé une fonction de distance à vérifier et réparer\nPour clustering de collections sur données réelles :\n→ L’intuition de Pierre semble être confirmé, les dissimilarités semblent arrêter de varier sensiblement pour de grandes valeurs (Q_1,Q_2).\n👶 (délégué à Mona) Clustering sur Doré :\n\nRegarder pour les couples date+nom les études et le nombre de réseaux analysables (Possible demander à Élisa)\n\n⌛ Chamberlain et al semble intéressant à regarder ! Voir le Rmarkdown\n\nClusteriser sur la base des noms et voir parmi les réseaux Européens (désagrégés ?)\nSi M > 10, alors voir si je retrouve les mêmes résultats que dans les études.\nRegarder Largest gap sur réseaux Doré\n⌛ Essayer clustering sur supinfo\n\nCAH et Kmeans tendent vers faire K = 13 clusters sur les supinfos\nEnrichir avec des métriques sur les réseaux (nestedness, connectance autres ?)\nDemander à Elisa pour la signification des métadonnées\nDemander à Elisa une fois vu cohérences de groupe voir pour interprétation écologiques ?\nAlgo de clustering sur les groupes trouvés\n\n\n\n\n\n\n\nToujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:\n\\begin{align*}\nZ_i &\\sim \\mathcal{M}(1; \\pi_1, \\dots, \\pi_Q), \\sum_{q=1}^{Q} \\pi_q = 1\\\\\nW_j &\\sim \\mathcal{M}(1; \\rho_1^j, \\dots, \\rho_R^j), \\sum_{r=1}^{R} \\rho_r^j = 1\\\\\nY_{i,j}&\\mid Z_i = q, W_j = r \\sim \\mathcal{F}(\\alpha_{qr})\n\\end{align*}\nInférence variationnelle donc \\ell(Y;\\pmb{\\theta}) \\geq \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) avec\n\n\\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})\n + \\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} \\\\\n - \\sum_{i=1}^{n_1} \\tau_{iq}^{1} \\log \\tau_{iq}^{1} - \\sum_{j=1}^{n_2} \\tau_{jr}^{2} \\log \\tau_{jr}^{2}\n\nPlusieurs possibilités pour la définition de \\rho_r^j\n\n\nDénominateur pas correct, ne somme pas à 1.\n\\rho_r^j = \\frac{\\exp{\\beta_r X_j\\mathbf{1}_{\\{r\\neq R\\}}}}{1+\\sum_{s=1}^{R-1} \\beta_s X_j}, \\beta_R = 0 et \\rho_R^{j} = \\frac{1}{1+\\sum_{s=1}^{R-1} \\beta_s X_j} (pas de compréhension intuitive)\nLa partie pertinente de l’ELBO devient: \n 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 \\mathbb{1}_{r\\neq R} - \\log (1+\\sum_{s=1}^{R-1} \\beta_s X_j))]\n\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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}{1+\\sum_{s=1}^{R-1} \\exp{\\beta_s X_j}} \\biggr]\\\\\n& = \\sum_{j=1}^{n_2} \\biggl[\\bigl(\\tau_{jt} - \\frac{1}{1+\\sum_{s=1}^{R-1} \\beta_s X_j} \\bigr) X_j\\biggr] = \\sum_{j=1}^{n_2} \\biggl[\\bigl(\\tau_{jt} - \\rho_R^j \\bigr) X_j\\biggr]\n\\end{align*}\n❓ Gradient mesure l’écart entre probas a posteriori et la proba a priori du groupe de référence ?\nConclusion: Il manque l’exponentielle cette formulation ne somme pas à 1.\n\n\n\nAvec \\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. Mais il y a besoin de poser une contrainte sur l’un des (\\beta_r)_{r=1,\\dots,R}, ici \\beta_R = 0.\nLa partie pertinente de l’ELBO devient: \n 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}))]\n\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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]\\\\\n& = \\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]\n\\end{align*}\n\n\n\n\n\nLire article multi-niveaux Saint-Clair\n🆕 🔎 Trouver des papiers:\n\nLBM Negative Binomial\nNetwork inference through sample comparison\n\nIdée des groupes sur la base de distance phylogénétique:\n\nEn train de comprendre les distances que phyloseq permet de calculer sur notre exemple\nEn train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html\nParametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)\nLire Papier UniFrac\n\n\n\n\n\n\neasy16s : se renseigner sur\n\n\\alpha, \\beta diversité\nHeatmap\n\nRegarder SPARTA Rennes\nEcrire et étudier les modèles pour différents niveaux taxonomiques.\n🆕 Regarder NetComi\n🆕 Regarder OneNet car aggrégation plus robuste\n🆕 Réfléchir sens d’aggréger les données ou de les diviser\n\n\n\n\n\nLancer colBiSBM sur OTU\\times Sample → problème du chargement en mémoire des données à voir\nLancer colSBM sur OTU\\times OTU\nTabNet pratiquer les exercices\n🆕 SparCC à différent niveaux\n🆕 SBM à différent niveaux\n🆕⌛ Tree-PLN à différents niveaux\n\n\n\n\nPlus sur le temps long, à regarder\n\nGT causalité\nDaria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)" - }, - { - "objectID": "suivi/2025-50/2025-50.html#todo-list", - "href": "suivi/2025-50/2025-50.html#todo-list", - "title": "Bilan semaine 50 2025 : 08 décembre - 12 décembre", - "section": "", - "text": "⚠️ IL Y A UNE TYPO SUR LE SIGNE DE L’ENTROPIE POUR LE PAPIER: - \\mathcal{H} au lieu de +\\mathcal{H}\nCodes pour le papier :\n\nNettoyer les scripts\nFaire un joli README\n❓Faire des notebooks\n\nFaire tourner clustering sur Trojelsgaard\nRéussir à reproduire résultat de Abramov et al. (s. d.)\nMaitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC\nMaitriser SparCC\nFaire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.\nClustering unipartite j’ai cassé une fonction de distance à vérifier et réparer\nPour clustering de collections sur données réelles :\n→ L’intuition de Pierre semble être confirmé, les dissimilarités semblent arrêter de varier sensiblement pour de grandes valeurs (Q_1,Q_2).\n👶 (délégué à Mona) Clustering sur Doré :\n\nRegarder pour les couples date+nom les études et le nombre de réseaux analysables (Possible demander à Élisa)\n\n⌛ Chamberlain et al semble intéressant à regarder ! Voir le Rmarkdown\n\nClusteriser sur la base des noms et voir parmi les réseaux Européens (désagrégés ?)\nSi M > 10, alors voir si je retrouve les mêmes résultats que dans les études.\nRegarder Largest gap sur réseaux Doré\n⌛ Essayer clustering sur supinfo\n\nCAH et Kmeans tendent vers faire K = 13 clusters sur les supinfos\nEnrichir avec des métriques sur les réseaux (nestedness, connectance autres ?)\nDemander à Elisa pour la signification des métadonnées\nDemander à Elisa une fois vu cohérences de groupe voir pour interprétation écologiques ?\nAlgo de clustering sur les groupes trouvés\n\n\n\n\n\n\n\nToujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:\n\\begin{align*}\nZ_i &\\sim \\mathcal{M}(1; \\pi_1, \\dots, \\pi_Q), \\sum_{q=1}^{Q} \\pi_q = 1\\\\\nW_j &\\sim \\mathcal{M}(1; \\rho_1^j, \\dots, \\rho_R^j), \\sum_{r=1}^{R} \\rho_r^j = 1\\\\\nY_{i,j}&\\mid Z_i = q, W_j = r \\sim \\mathcal{F}(\\alpha_{qr})\n\\end{align*}\nInférence variationnelle donc \\ell(Y;\\pmb{\\theta}) \\geq \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) avec\n\n\\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})\n + \\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} \\\\\n - \\sum_{i=1}^{n_1} \\tau_{iq}^{1} \\log \\tau_{iq}^{1} - \\sum_{j=1}^{n_2} \\tau_{jr}^{2} \\log \\tau_{jr}^{2}\n\nPlusieurs possibilités pour la définition de \\rho_r^j\n\n\nDénominateur pas correct, ne somme pas à 1.\n\\rho_r^j = \\frac{\\exp{\\beta_r X_j\\mathbf{1}_{\\{r\\neq R\\}}}}{1+\\sum_{s=1}^{R-1} \\beta_s X_j}, \\beta_R = 0 et \\rho_R^{j} = \\frac{1}{1+\\sum_{s=1}^{R-1} \\beta_s X_j} (pas de compréhension intuitive)\nLa partie pertinente de l’ELBO devient: \n 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 \\mathbb{1}_{r\\neq R} - \\log (1+\\sum_{s=1}^{R-1} \\beta_s X_j))]\n\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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}{1+\\sum_{s=1}^{R-1} \\exp{\\beta_s X_j}} \\biggr]\\\\\n& = \\sum_{j=1}^{n_2} \\biggl[\\bigl(\\tau_{jt} - \\frac{1}{1+\\sum_{s=1}^{R-1} \\beta_s X_j} \\bigr) X_j\\biggr] = \\sum_{j=1}^{n_2} \\biggl[\\bigl(\\tau_{jt} - \\rho_R^j \\bigr) X_j\\biggr]\n\\end{align*}\n❓ Gradient mesure l’écart entre probas a posteriori et la proba a priori du groupe de référence ?\nConclusion: Il manque l’exponentielle cette formulation ne somme pas à 1.\n\n\n\nAvec \\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. Mais il y a besoin de poser une contrainte sur l’un des (\\beta_r)_{r=1,\\dots,R}, ici \\beta_R = 0.\nLa partie pertinente de l’ELBO devient: \n 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}))]\n\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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]\\\\\n& = \\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]\n\\end{align*}\n\n\n\n\n\nLire article multi-niveaux Saint-Clair\n🆕 🔎 Trouver des papiers:\n\nLBM Negative Binomial\nNetwork inference through sample comparison\n\nIdée des groupes sur la base de distance phylogénétique:\n\nEn train de comprendre les distances que phyloseq permet de calculer sur notre exemple\nEn train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html\nParametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)\nLire Papier UniFrac\n\n\n\n\n\n\neasy16s : se renseigner sur\n\n\\alpha, \\beta diversité\nHeatmap\n\nRegarder SPARTA Rennes\nEcrire et étudier les modèles pour différents niveaux taxonomiques.\n🆕 Regarder NetComi\n🆕 Regarder OneNet car aggrégation plus robuste\n🆕 Réfléchir sens d’aggréger les données ou de les diviser\n\n\n\n\n\nLancer colBiSBM sur OTU\\times Sample → problème du chargement en mémoire des données à voir\nLancer colSBM sur OTU\\times OTU\nTabNet pratiquer les exercices\n🆕 SparCC à différent niveaux\n🆕 SBM à différent niveaux\n🆕⌛ Tree-PLN à différents niveaux\n\n\n\n\nPlus sur le temps long, à regarder\n\nGT causalité\nDaria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)" - }, - { - "objectID": "suivi/2025-50/2025-50.html#a-discuter", - "href": "suivi/2025-50/2025-50.html#a-discuter", - "title": "Bilan semaine 50 2025 : 08 décembre - 12 décembre", + "objectID": "suivi/2026-6/2026-6.html#a-discuter", + "href": "suivi/2026-6/2026-6.html#a-discuter", + "title": "Bilan semaine 6 2026 : 02 février - 06 février", "section": "A discuter", "text": "A discuter\n\n🆕 Voir pour des Réseaux / GDR ou aller\n🆕 Chercher des cours à suivre" }, { - "objectID": "suivi/2025-50/2025-50.html#biblio-à-faire", - "href": "suivi/2025-50/2025-50.html#biblio-à-faire", - "title": "Bilan semaine 50 2025 : 08 décembre - 12 décembre", + "objectID": "suivi/2026-6/2026-6.html#biblio-à-faire", + "href": "suivi/2026-6/2026-6.html#biblio-à-faire", + "title": "Bilan semaine 6 2026 : 02 février - 06 février", "section": "Biblio à faire", "text": "Biblio à faire\n\nRegarder Transport optimal graphes bipartite." }, { - "objectID": "suivi/2025-50/2025-50.html#lectures-en-cours", - "href": "suivi/2025-50/2025-50.html#lectures-en-cours", - "title": "Bilan semaine 50 2025 : 08 décembre - 12 décembre", + "objectID": "suivi/2026-6/2026-6.html#lectures-en-cours", + "href": "suivi/2026-6/2026-6.html#lectures-en-cours", + "title": "Bilan semaine 6 2026 : 02 février - 06 février", "section": "Lectures en cours 📚", "text": "Lectures en cours 📚\n\nHDR Vincent Brault\n\n⌛ Chap 2 : Creuser l’idée de maximiser l’énergie libre, très intéressant regarder le critère CARI et lire Robert et al 2021. Actuellement p32 du manuscrit\nChap 3\n\n\n\nOT\n\n⌛ Mazelet, Flamary, et Thirion (s. d.) Intéressant pour le transport optimal entre graphes de tailles différentes | Regarder si regularization entropique ne marche pas bien pour le graphe.\n⌛ Nenna (s. d.b) Pour comprendre le problème d’OT régularisé pour l’entropie.\n⌛ Nenna (s. d.a)\n\n\n\nInférence de graphes\n\n⌛ Aitchison (1982), en cours\n❗📖 Payne et al. (2023) sur MixMPLN\n\n\n\nCausalité\n\n❗📖 Bystrova (s. d.)\n\n\n\nLargest Gaps\n\n❗📖 Brault et Channarond (2023)\n❗📖 Channarond, Daudin, et Robin (2012) le papier qui introduit le Largest Gaps" }, + { + "objectID": "suivi/2025-18/2025-18.html", + "href": "suivi/2025-18/2025-18.html", + "title": "Bilan semaine 18 2025 : 28 avril - 2 mai", + "section": "", + "text": "Lire biblio fournie Julie, Inférence de réseaux : co-occurence\nPapier pour comprendre données\npbs : variance, bcp de zero, covariables, offset et taxonomie (Reseaux arretes differents niveaux : Genre, OTU …)\n\n\nCombine networks at different taxonomic levels\n\n\nInférence + GREMLINS\n\n\n\n\n\nRelire intro St Clair\nS’inspirer structure pour mon intro\nTrouver biblio intro\nRédiger l’intro\nRegarder les applications pour les collections de réseaux recommender system\nLire les papiers de Baldock Traveset Souza Cordeniz Trojelsgaard et Gibson\nDire résultats nettement meilleurs et variabilités inférieures.\nIntégrer les retours de Sophie\n\n\n\n\n\nComparer sur clustering unipartite avec versions symétriser des par blocs des matrices d’adjacences.\nCorriger structure de simus :\n\nPour noisy \\alpha :\n\nLogit pour envoyer la gaussienne vers (0,1)\nBeta contrainte dans (0,1)\n\nPour 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.\n\n\n\n\n\n\nKmeans sur la densité des réseaux subdoré pour pré-partitionner et clusteriser. Car densités déséquilibrées.\n\n\n\n\n\n\nCré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." + }, + { + "objectID": "suivi/2025-18/2025-18.html#a-faire", + "href": "suivi/2025-18/2025-18.html#a-faire", + "title": "Bilan semaine 18 2025 : 28 avril - 2 mai", + "section": "", + "text": "Lire biblio fournie Julie, Inférence de réseaux : co-occurence\nPapier pour comprendre données\npbs : variance, bcp de zero, covariables, offset et taxonomie (Reseaux arretes differents niveaux : Genre, OTU …)\n\n\nCombine networks at different taxonomic levels\n\n\nInférence + GREMLINS\n\n\n\n\n\nRelire intro St Clair\nS’inspirer structure pour mon intro\nTrouver biblio intro\nRédiger l’intro\nRegarder les applications pour les collections de réseaux recommender system\nLire les papiers de Baldock Traveset Souza Cordeniz Trojelsgaard et Gibson\nDire résultats nettement meilleurs et variabilités inférieures.\nIntégrer les retours de Sophie\n\n\n\n\n\nComparer sur clustering unipartite avec versions symétriser des par blocs des matrices d’adjacences.\nCorriger structure de simus :\n\nPour noisy \\alpha :\n\nLogit pour envoyer la gaussienne vers (0,1)\nBeta contrainte dans (0,1)\n\nPour 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.\n\n\n\n\n\n\nKmeans sur la densité des réseaux subdoré pour pré-partitionner et clusteriser. Car densités déséquilibrées.\n\n\n\n\n\n\nCré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." + }, + { + "objectID": "suivi/2025-18/2025-18.html#jai-fait", + "href": "suivi/2025-18/2025-18.html#jai-fait", + "title": "Bilan semaine 18 2025 : 28 avril - 2 mai", + "section": "J’ai fait", + "text": "J’ai fait\n\nJdS\n\ncolDEM CSE\n\n\n\nClustering exhaustif Baldock\n\nLe clustering de toutes les 52 partitions s’est fait en 5h30 ! (Mémoïsation)\nPour iid la meilleure partition avec BICL=-9466.911 contre BICL_{algo} = -9466.873 \\pm 0.02205 trouvé avec l’algo \nPour \\pi\\rho la meilleure partition avec BICL = -9497.92 contre BICL_{algo} =-9497.92 \\pm 0.00009" + }, + { + "objectID": "suivi/2025-18/2025-18.html#a-continuer", + "href": "suivi/2025-18/2025-18.html#a-continuer", + "title": "Bilan semaine 18 2025 : 28 avril - 2 mai", + "section": "A continuer", + "text": "A continuer\n\nRé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 en attente des résultats MIGALE.\nLire Biological Networks - François Képès\nRelancer 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\n\n\nApplications\n\nIdée Sophie: Regarder clustering de données plantes-pollinisateur selon gradient d’urbanisation\n\n\nSophie 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 !\n\n\n\nSimulations article\n\nRelancer 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." + }, { "objectID": "suivi/2025-21/2025-21.html", "href": "suivi/2025-21/2025-21.html", @@ -441,32 +441,67 @@ "text": "Repoussés ou abandonnés\n\n\n\n\n\n\nDéplier pour voir\n\n\n\n\n\n\nRé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.\n\n\nJe n’arrive pas à comprendre les erreurs qui arrivent\n\n\nLire Biological Networks - François Képès\nRegarder les applications pour les collections de réseaux recommender system Pas pertinents et trop gros\n\n\n\n\nListing 1: Recommender systems data\n\n\nPar exemple :\n\nListe de recommendation data\n\n\n\n\n\nPapier plus multi-applications\n\nDonnées d’Elisa herbivore ?\nDonnées urbanisations ?\n\n\n\nAutour de l’article et du package\n\nCré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.\n\n\n\nSimulations article\n\nComparer sur clustering unipartite avec versions symétriser des par blocs des matrices d’adjacences.\nCorriger structure de simus :\n\nPour noisy \\alpha :\n\nLogit pour envoyer la gaussienne vers (0,1)\nBeta contrainte dans (0,1)\n\nPour 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." }, { - "objectID": "suivi/2025-18/2025-18.html", - "href": "suivi/2025-18/2025-18.html", - "title": "Bilan semaine 18 2025 : 28 avril - 2 mai", + "objectID": "suivi/2025-50/2025-50.html", + "href": "suivi/2025-50/2025-50.html", + "title": "Bilan semaine 50 2025 : 08 décembre - 12 décembre", "section": "", - "text": "Lire biblio fournie Julie, Inférence de réseaux : co-occurence\nPapier pour comprendre données\npbs : variance, bcp de zero, covariables, offset et taxonomie (Reseaux arretes differents niveaux : Genre, OTU …)\n\n\nCombine networks at different taxonomic levels\n\n\nInférence + GREMLINS\n\n\n\n\n\nRelire intro St Clair\nS’inspirer structure pour mon intro\nTrouver biblio intro\nRédiger l’intro\nRegarder les applications pour les collections de réseaux recommender system\nLire les papiers de Baldock Traveset Souza Cordeniz Trojelsgaard et Gibson\nDire résultats nettement meilleurs et variabilités inférieures.\nIntégrer les retours de Sophie\n\n\n\n\n\nComparer sur clustering unipartite avec versions symétriser des par blocs des matrices d’adjacences.\nCorriger structure de simus :\n\nPour noisy \\alpha :\n\nLogit pour envoyer la gaussienne vers (0,1)\nBeta contrainte dans (0,1)\n\nPour 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.\n\n\n\n\n\n\nKmeans sur la densité des réseaux subdoré pour pré-partitionner et clusteriser. Car densités déséquilibrées.\n\n\n\n\n\n\nCré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." + "text": "⚠️ IL Y A UNE TYPO SUR LE SIGNE DE L’ENTROPIE POUR LE PAPIER: - \\mathcal{H} au lieu de +\\mathcal{H}\nCodes pour le papier :\n\nNettoyer les scripts\nFaire un joli README\n❓Faire des notebooks\n\nFaire tourner clustering sur Trojelsgaard\nRéussir à reproduire résultat de Abramov et al. (s. d.)\nMaitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC\nMaitriser SparCC\nFaire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.\nClustering unipartite j’ai cassé une fonction de distance à vérifier et réparer\nPour clustering de collections sur données réelles :\n→ L’intuition de Pierre semble être confirmé, les dissimilarités semblent arrêter de varier sensiblement pour de grandes valeurs (Q_1,Q_2).\n👶 (délégué à Mona) Clustering sur Doré :\n\nRegarder pour les couples date+nom les études et le nombre de réseaux analysables (Possible demander à Élisa)\n\n⌛ Chamberlain et al semble intéressant à regarder ! Voir le Rmarkdown\n\nClusteriser sur la base des noms et voir parmi les réseaux Européens (désagrégés ?)\nSi M > 10, alors voir si je retrouve les mêmes résultats que dans les études.\nRegarder Largest gap sur réseaux Doré\n⌛ Essayer clustering sur supinfo\n\nCAH et Kmeans tendent vers faire K = 13 clusters sur les supinfos\nEnrichir avec des métriques sur les réseaux (nestedness, connectance autres ?)\nDemander à Elisa pour la signification des métadonnées\nDemander à Elisa une fois vu cohérences de groupe voir pour interprétation écologiques ?\nAlgo de clustering sur les groupes trouvés\n\n\n\n\n\n\n\nToujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:\n\\begin{align*}\nZ_i &\\sim \\mathcal{M}(1; \\pi_1, \\dots, \\pi_Q), \\sum_{q=1}^{Q} \\pi_q = 1\\\\\nW_j &\\sim \\mathcal{M}(1; \\rho_1^j, \\dots, \\rho_R^j), \\sum_{r=1}^{R} \\rho_r^j = 1\\\\\nY_{i,j}&\\mid Z_i = q, W_j = r \\sim \\mathcal{F}(\\alpha_{qr})\n\\end{align*}\nInférence variationnelle donc \\ell(Y;\\pmb{\\theta}) \\geq \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) avec\n\n\\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})\n + \\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} \\\\\n - \\sum_{i=1}^{n_1} \\tau_{iq}^{1} \\log \\tau_{iq}^{1} - \\sum_{j=1}^{n_2} \\tau_{jr}^{2} \\log \\tau_{jr}^{2}\n\nPlusieurs possibilités pour la définition de \\rho_r^j\n\n\nDénominateur pas correct, ne somme pas à 1.\n\\rho_r^j = \\frac{\\exp{\\beta_r X_j\\mathbf{1}_{\\{r\\neq R\\}}}}{1+\\sum_{s=1}^{R-1} \\beta_s X_j}, \\beta_R = 0 et \\rho_R^{j} = \\frac{1}{1+\\sum_{s=1}^{R-1} \\beta_s X_j} (pas de compréhension intuitive)\nLa partie pertinente de l’ELBO devient: \n 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 \\mathbb{1}_{r\\neq R} - \\log (1+\\sum_{s=1}^{R-1} \\beta_s X_j))]\n\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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}{1+\\sum_{s=1}^{R-1} \\exp{\\beta_s X_j}} \\biggr]\\\\\n& = \\sum_{j=1}^{n_2} \\biggl[\\bigl(\\tau_{jt} - \\frac{1}{1+\\sum_{s=1}^{R-1} \\beta_s X_j} \\bigr) X_j\\biggr] = \\sum_{j=1}^{n_2} \\biggl[\\bigl(\\tau_{jt} - \\rho_R^j \\bigr) X_j\\biggr]\n\\end{align*}\n❓ Gradient mesure l’écart entre probas a posteriori et la proba a priori du groupe de référence ?\nConclusion: Il manque l’exponentielle cette formulation ne somme pas à 1.\n\n\n\nAvec \\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. Mais il y a besoin de poser une contrainte sur l’un des (\\beta_r)_{r=1,\\dots,R}, ici \\beta_R = 0.\nLa partie pertinente de l’ELBO devient: \n 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}))]\n\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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]\\\\\n& = \\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]\n\\end{align*}\n\n\n\n\n\nLire article multi-niveaux Saint-Clair\n🆕 🔎 Trouver des papiers:\n\nLBM Negative Binomial\nNetwork inference through sample comparison\n\nIdée des groupes sur la base de distance phylogénétique:\n\nEn train de comprendre les distances que phyloseq permet de calculer sur notre exemple\nEn train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html\nParametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)\nLire Papier UniFrac\n\n\n\n\n\n\neasy16s : se renseigner sur\n\n\\alpha, \\beta diversité\nHeatmap\n\nRegarder SPARTA Rennes\nEcrire et étudier les modèles pour différents niveaux taxonomiques.\n🆕 Regarder NetComi\n🆕 Regarder OneNet car aggrégation plus robuste\n🆕 Réfléchir sens d’aggréger les données ou de les diviser\n\n\n\n\n\nLancer colBiSBM sur OTU\\times Sample → problème du chargement en mémoire des données à voir\nLancer colSBM sur OTU\\times OTU\nTabNet pratiquer les exercices\n🆕 SparCC à différent niveaux\n🆕 SBM à différent niveaux\n🆕⌛ Tree-PLN à différents niveaux\n\n\n\n\nPlus sur le temps long, à regarder\n\nGT causalité\nDaria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)" }, { - "objectID": "suivi/2025-18/2025-18.html#a-faire", - "href": "suivi/2025-18/2025-18.html#a-faire", - "title": "Bilan semaine 18 2025 : 28 avril - 2 mai", + "objectID": "suivi/2025-50/2025-50.html#todo-list", + "href": "suivi/2025-50/2025-50.html#todo-list", + "title": "Bilan semaine 50 2025 : 08 décembre - 12 décembre", "section": "", - "text": "Lire biblio fournie Julie, Inférence de réseaux : co-occurence\nPapier pour comprendre données\npbs : variance, bcp de zero, covariables, offset et taxonomie (Reseaux arretes differents niveaux : Genre, OTU …)\n\n\nCombine networks at different taxonomic levels\n\n\nInférence + GREMLINS\n\n\n\n\n\nRelire intro St Clair\nS’inspirer structure pour mon intro\nTrouver biblio intro\nRédiger l’intro\nRegarder les applications pour les collections de réseaux recommender system\nLire les papiers de Baldock Traveset Souza Cordeniz Trojelsgaard et Gibson\nDire résultats nettement meilleurs et variabilités inférieures.\nIntégrer les retours de Sophie\n\n\n\n\n\nComparer sur clustering unipartite avec versions symétriser des par blocs des matrices d’adjacences.\nCorriger structure de simus :\n\nPour noisy \\alpha :\n\nLogit pour envoyer la gaussienne vers (0,1)\nBeta contrainte dans (0,1)\n\nPour 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.\n\n\n\n\n\n\nKmeans sur la densité des réseaux subdoré pour pré-partitionner et clusteriser. Car densités déséquilibrées.\n\n\n\n\n\n\nCré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." + "text": "⚠️ IL Y A UNE TYPO SUR LE SIGNE DE L’ENTROPIE POUR LE PAPIER: - \\mathcal{H} au lieu de +\\mathcal{H}\nCodes pour le papier :\n\nNettoyer les scripts\nFaire un joli README\n❓Faire des notebooks\n\nFaire tourner clustering sur Trojelsgaard\nRéussir à reproduire résultat de Abramov et al. (s. d.)\nMaitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC\nMaitriser SparCC\nFaire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.\nClustering unipartite j’ai cassé une fonction de distance à vérifier et réparer\nPour clustering de collections sur données réelles :\n→ L’intuition de Pierre semble être confirmé, les dissimilarités semblent arrêter de varier sensiblement pour de grandes valeurs (Q_1,Q_2).\n👶 (délégué à Mona) Clustering sur Doré :\n\nRegarder pour les couples date+nom les études et le nombre de réseaux analysables (Possible demander à Élisa)\n\n⌛ Chamberlain et al semble intéressant à regarder ! Voir le Rmarkdown\n\nClusteriser sur la base des noms et voir parmi les réseaux Européens (désagrégés ?)\nSi M > 10, alors voir si je retrouve les mêmes résultats que dans les études.\nRegarder Largest gap sur réseaux Doré\n⌛ Essayer clustering sur supinfo\n\nCAH et Kmeans tendent vers faire K = 13 clusters sur les supinfos\nEnrichir avec des métriques sur les réseaux (nestedness, connectance autres ?)\nDemander à Elisa pour la signification des métadonnées\nDemander à Elisa une fois vu cohérences de groupe voir pour interprétation écologiques ?\nAlgo de clustering sur les groupes trouvés\n\n\n\n\n\n\n\nToujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:\n\\begin{align*}\nZ_i &\\sim \\mathcal{M}(1; \\pi_1, \\dots, \\pi_Q), \\sum_{q=1}^{Q} \\pi_q = 1\\\\\nW_j &\\sim \\mathcal{M}(1; \\rho_1^j, \\dots, \\rho_R^j), \\sum_{r=1}^{R} \\rho_r^j = 1\\\\\nY_{i,j}&\\mid Z_i = q, W_j = r \\sim \\mathcal{F}(\\alpha_{qr})\n\\end{align*}\nInférence variationnelle donc \\ell(Y;\\pmb{\\theta}) \\geq \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) avec\n\n\\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})\n + \\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} \\\\\n - \\sum_{i=1}^{n_1} \\tau_{iq}^{1} \\log \\tau_{iq}^{1} - \\sum_{j=1}^{n_2} \\tau_{jr}^{2} \\log \\tau_{jr}^{2}\n\nPlusieurs possibilités pour la définition de \\rho_r^j\n\n\nDénominateur pas correct, ne somme pas à 1.\n\\rho_r^j = \\frac{\\exp{\\beta_r X_j\\mathbf{1}_{\\{r\\neq R\\}}}}{1+\\sum_{s=1}^{R-1} \\beta_s X_j}, \\beta_R = 0 et \\rho_R^{j} = \\frac{1}{1+\\sum_{s=1}^{R-1} \\beta_s X_j} (pas de compréhension intuitive)\nLa partie pertinente de l’ELBO devient: \n 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 \\mathbb{1}_{r\\neq R} - \\log (1+\\sum_{s=1}^{R-1} \\beta_s X_j))]\n\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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}{1+\\sum_{s=1}^{R-1} \\exp{\\beta_s X_j}} \\biggr]\\\\\n& = \\sum_{j=1}^{n_2} \\biggl[\\bigl(\\tau_{jt} - \\frac{1}{1+\\sum_{s=1}^{R-1} \\beta_s X_j} \\bigr) X_j\\biggr] = \\sum_{j=1}^{n_2} \\biggl[\\bigl(\\tau_{jt} - \\rho_R^j \\bigr) X_j\\biggr]\n\\end{align*}\n❓ Gradient mesure l’écart entre probas a posteriori et la proba a priori du groupe de référence ?\nConclusion: Il manque l’exponentielle cette formulation ne somme pas à 1.\n\n\n\nAvec \\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. Mais il y a besoin de poser une contrainte sur l’un des (\\beta_r)_{r=1,\\dots,R}, ici \\beta_R = 0.\nLa partie pertinente de l’ELBO devient: \n 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}))]\n\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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]\\\\\n& = \\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]\n\\end{align*}\n\n\n\n\n\nLire article multi-niveaux Saint-Clair\n🆕 🔎 Trouver des papiers:\n\nLBM Negative Binomial\nNetwork inference through sample comparison\n\nIdée des groupes sur la base de distance phylogénétique:\n\nEn train de comprendre les distances que phyloseq permet de calculer sur notre exemple\nEn train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html\nParametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)\nLire Papier UniFrac\n\n\n\n\n\n\neasy16s : se renseigner sur\n\n\\alpha, \\beta diversité\nHeatmap\n\nRegarder SPARTA Rennes\nEcrire et étudier les modèles pour différents niveaux taxonomiques.\n🆕 Regarder NetComi\n🆕 Regarder OneNet car aggrégation plus robuste\n🆕 Réfléchir sens d’aggréger les données ou de les diviser\n\n\n\n\n\nLancer colBiSBM sur OTU\\times Sample → problème du chargement en mémoire des données à voir\nLancer colSBM sur OTU\\times OTU\nTabNet pratiquer les exercices\n🆕 SparCC à différent niveaux\n🆕 SBM à différent niveaux\n🆕⌛ Tree-PLN à différents niveaux\n\n\n\n\nPlus sur le temps long, à regarder\n\nGT causalité\nDaria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)" }, { - "objectID": "suivi/2025-18/2025-18.html#jai-fait", - "href": "suivi/2025-18/2025-18.html#jai-fait", - "title": "Bilan semaine 18 2025 : 28 avril - 2 mai", + "objectID": "suivi/2025-50/2025-50.html#a-discuter", + "href": "suivi/2025-50/2025-50.html#a-discuter", + "title": "Bilan semaine 50 2025 : 08 décembre - 12 décembre", + "section": "A discuter", + "text": "A discuter\n\n🆕 Voir pour des Réseaux / GDR ou aller\n🆕 Chercher des cours à suivre" + }, + { + "objectID": "suivi/2025-50/2025-50.html#biblio-à-faire", + "href": "suivi/2025-50/2025-50.html#biblio-à-faire", + "title": "Bilan semaine 50 2025 : 08 décembre - 12 décembre", + "section": "Biblio à faire", + "text": "Biblio à faire\n\nRegarder Transport optimal graphes bipartite." + }, + { + "objectID": "suivi/2025-50/2025-50.html#lectures-en-cours", + "href": "suivi/2025-50/2025-50.html#lectures-en-cours", + "title": "Bilan semaine 50 2025 : 08 décembre - 12 décembre", + "section": "Lectures en cours 📚", + "text": "Lectures en cours 📚\n\nHDR Vincent Brault\n\n⌛ Chap 2 : Creuser l’idée de maximiser l’énergie libre, très intéressant regarder le critère CARI et lire Robert et al 2021. Actuellement p32 du manuscrit\nChap 3\n\n\n\nOT\n\n⌛ Mazelet, Flamary, et Thirion (s. d.) Intéressant pour le transport optimal entre graphes de tailles différentes | Regarder si regularization entropique ne marche pas bien pour le graphe.\n⌛ Nenna (s. d.b) Pour comprendre le problème d’OT régularisé pour l’entropie.\n⌛ Nenna (s. d.a)\n\n\n\nInférence de graphes\n\n⌛ Aitchison (1982), en cours\n❗📖 Payne et al. (2023) sur MixMPLN\n\n\n\nCausalité\n\n❗📖 Bystrova (s. d.)\n\n\n\nLargest Gaps\n\n❗📖 Brault et Channarond (2023)\n❗📖 Channarond, Daudin, et Robin (2012) le papier qui introduit le Largest Gaps" + }, + { + "objectID": "suivi/2025-14/2025-14.html", + "href": "suivi/2025-14/2025-14.html", + "title": "Bilan semaine 14 2025 : 24-28 mars", + "section": "", + "text": "Relire intro St Clair\nS’inspirer structure pour mon intro\nTrouver biblio intro\nRédiger l’intro\nAgrandir la collection d’application, pas seulement Baldock mais aussi Trojelsgaard par ex\nLire les papiers de Baldock Traveset Souza Cordeniz Trojelsgaard et Gibson\nPrésenter le réseau Afrique du Sud dès l’intro des réseaux anglais de Baldock\nCorriger structure de simus :\n\nPour noisy \\alpha :\n\nLogit pour envoyer la gaussienne vers (0,1)\nBeta contrainte dans (0,1)\n\nPour 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.\n\nRédiger et modifier les cadres de simulations dans le papier pour qu’ils soient raccord avec les données obtenues.\nLancer clustering iid ascendant sur données sub-Doré.\nVérifier si les Baldock anglais ont des espèces en communs “Do they involve common species?”." + }, + { + "objectID": "suivi/2025-14/2025-14.html#a-faire", + "href": "suivi/2025-14/2025-14.html#a-faire", + "title": "Bilan semaine 14 2025 : 24-28 mars", + "section": "", + "text": "Relire intro St Clair\nS’inspirer structure pour mon intro\nTrouver biblio intro\nRédiger l’intro\nAgrandir la collection d’application, pas seulement Baldock mais aussi Trojelsgaard par ex\nLire les papiers de Baldock Traveset Souza Cordeniz Trojelsgaard et Gibson\nPrésenter le réseau Afrique du Sud dès l’intro des réseaux anglais de Baldock\nCorriger structure de simus :\n\nPour noisy \\alpha :\n\nLogit pour envoyer la gaussienne vers (0,1)\nBeta contrainte dans (0,1)\n\nPour 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.\n\nRédiger et modifier les cadres de simulations dans le papier pour qu’ils soient raccord avec les données obtenues.\nLancer clustering iid ascendant sur données sub-Doré.\nVérifier si les Baldock anglais ont des espèces en communs “Do they involve common species?”." + }, + { + "objectID": "suivi/2025-14/2025-14.html#jai-fait", + "href": "suivi/2025-14/2025-14.html#jai-fait", + "title": "Bilan semaine 14 2025 : 24-28 mars", "section": "J’ai fait", - "text": "J’ai fait\n\nJdS\n\ncolDEM CSE\n\n\n\nClustering exhaustif Baldock\n\nLe clustering de toutes les 52 partitions s’est fait en 5h30 ! (Mémoïsation)\nPour iid la meilleure partition avec BICL=-9466.911 contre BICL_{algo} = -9466.873 \\pm 0.02205 trouvé avec l’algo \nPour \\pi\\rho la meilleure partition avec BICL = -9497.92 contre BICL_{algo} =-9497.92 \\pm 0.00009" + "text": "J’ai fait\n\nCorriger structure de simus :\n\nPour NA robustness\n\nDéfinir dans la section 3 :\n\n\nRemark that for iid-colBiSBM, \\pi_q, \\rho_r > 0, and thus the blocks exist and are represented in all networks. For the other models, some blocks may not exist in some networks and this is why \\pi_q^m, \\rho_r^m \\geq 0. Using S^{(1)} and S^{(2)} we can define the restricted parameters for each network and we denote them as \\widetilde{\\bm{\\pi}}^m, \\widetilde{\\bm{\\rho}}^m and \\widetilde{\\bm{\\alpha}}^m. The restrictions thus indicate the blocks that are represented in the network m.\n\n\nÉcrire la partie preuve pour identif \\pi-colBiSBM et \\rho-colBiSBM. Identif : \\pi et \\rho en attente retours Pierre et Sophie\nSaint-Clair va passer colSBM sous GrossSBM\nAgrandir la collection d’application, pas seulement Baldock mais aussi Trojelsgaard par ex : Collection agrandie avec Baldock Traveset Souza Cordeniz Trojelsgaard et Gibson, en attente MIGALE. Clustering instable" }, { - "objectID": "suivi/2025-18/2025-18.html#a-continuer", - "href": "suivi/2025-18/2025-18.html#a-continuer", - "title": "Bilan semaine 18 2025 : 28 avril - 2 mai", + "objectID": "suivi/2025-14/2025-14.html#a-continuer", + "href": "suivi/2025-14/2025-14.html#a-continuer", + "title": "Bilan semaine 14 2025 : 24-28 mars", "section": "A continuer", - "text": "A continuer\n\nRé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 en attente des résultats MIGALE.\nLire Biological Networks - François Képès\nRelancer 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\n\n\nApplications\n\nIdée Sophie: Regarder clustering de données plantes-pollinisateur selon gradient d’urbanisation\n\n\nSophie 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 !\n\n\n\nSimulations article\n\nRelancer 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." + "text": "A continuer\n\nRé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 en attente des résultats MIGALE.\nPour sub doré en attente MIGALE augmenter le nbre de répèt de la procédure." }, { "objectID": "suivi/2025-28/2025-28.html", @@ -634,14 +669,14 @@ "href": "suivi/2025-51/2025-51.html", "title": "Bilan semaine 51 2025 : 15 décembre - 19 décembre", "section": "", - "text": "✅ C’est fait Passer version article flat dans Gitlab du papier et nettoyer au minimum sur une branche clean.\n✅ Corrigée !⚠️ IL Y A UNE TYPO SUR LE SIGNE DE L’ENTROPIE POUR LE PAPIER: - \\mathcal{H} au lieu de +\\mathcal{H}\nFaire tourner clustering sur Trojelsgaard\nPetites opérations sur les OTUs (regarder la matrice dans les yeux):\n\nRanger les OTUs par variances (i.e. sd(OTU_j))\n✅ Dans un RMD sur Human Microbiome Compendium Dessiner les graphiques : \\mathbb{V}[OTU] = f(\\mathbb{E}[OTU]), \\frac{\\mathbb{V}[OTU]}{\\mathbb{E}[OTU]^2} = f(\\mathbb{E}[OTU]) et \\frac{\\mathbb{V}[OTU]}{\\mathbb{E}[OTU]} = f(\\mathbb{E}[OTU]) (\\approx 1) si les données suivent une loi de Poisson.\n\nHMC sur-dispersés (au-dessus bissectrice)\nEnterotype phyloseq sous-disp\n\nRegarder la proportion de 1. taxon rares, 2. zeros.\nFaire des coupures selon niveaux taxonomiques et regarder si \\mathbb{V}_{\\text{intra}} \\approx \\mathbb{V}_{\\text{inter}}\nBonus: faire ça dans qmd et voir si forge permet gitlab pages\n\n✅ Faire tourner un LBM sur Human Gut et voir si ça plante sinon, ça plante, la ram est surchargée.\n\n⌛ Je tente avec SparseBM de JBL sur Python\nFaire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.\n\nIncreasing size : \n⌛ Prendre jeu de données exemple de phyloseq :\n\n✅ 😞 enterotype tourne mais pas bon résultats (semble deux blocs échantillons mais pas vu par le modèle).\n🕑 des jeux de données de Mahendra ne tourne pas (phase forward interminable).\n\nRelire Peixoto (2014)\n\nRegarder les gens qui citent les travaux de Peixoto\n\nImplémentation blockmodels LBM avec covariables sur proportions (voir Équation 1)\n\n\n\n\n\n\n\nIdées\n\n\n\n\nTravailler sur Fungus Tree network\nComparaison covar prop avec GREMLINS multipartite sur (log(dist_phylo), fungus-tree)\nTrouver manière de faire un compromis : \\ell(Y,Z,W;\\theta) - \\lambda d(C(W),C_0) avec C(W) le clustering seulement sur la base de la structure LBM et C_0 le clustering de l’arbre. Problème d est une distance entre partition, comment optimiser dessus ?\n⌛ Mise à jour partielle des \\tau : ce qui pose soucis c’est les gros calculs matriciels (c’est vraiment vrai?). Donc sorte de “stochastic” VEM où on update seulement une partie des \\tau à chaque itération. Et échantillonnage stratifié selon l’arbre ?\n\n⌛ Simulations avec n_2 croissant lancée sur Migale\nRéimplementé VE Bernoulli dans colSBM pour Bipartite et début implémentation Stochastic VE. En fait le problème des calculs matriciels Y\\times(\\tau^{(1)})^{\\top} (n_2^2) donc besoin de sous-échantillonner les noeuds de l’autre dimension à mettre à jour.\n\n✅ Inutile car besoin du primal Chercher à formuler le problème dual (s’il existe?) de l’optimisation du LBM. Peut-être possible d’aller plus vite alors ? Équation 2\n\n\n\n\nClustering unipartite j’ai cassé une fonction de distance à vérifier et réparer\nCodes pour le papier :\n\nNettoyer les scripts\nFaire un joli README\n❓Faire des notebooks\n\nRéussir à reproduire résultat de Abramov et al. (s. d.)\nMaitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC\nMaitriser SparCC\n👶 (délégué à Mona) Clustering sur Doré :\n\nRegarder pour les couples date+nom les études et le nombre de réseaux analysables (Possible demander à Élisa)\n\n⌛ Chamberlain et al semble intéressant à regarder ! Voir le Rmarkdown\n\nClusteriser sur la base des noms et voir parmi les réseaux Européens (désagrégés ?)\nSi M > 10, alors voir si je retrouve les mêmes résultats que dans les études.\nRegarder Largest gap sur réseaux Doré\n⌛ Essayer clustering sur supinfo\n\nCAH et Kmeans tendent vers faire K = 13 clusters sur les supinfos\nEnrichir avec des métriques sur les réseaux (nestedness, connectance autres ?)\nDemander à Elisa pour la signification des métadonnées\nDemander à Elisa une fois vu cohérences de groupe voir pour interprétation écologiques ?\nAlgo de clustering sur les groupes trouvés\n\n\n\n\n\n\n\nToujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:\n\\begin{align*}\nZ_i &\\sim \\mathcal{M}(1; \\pi_1, \\dots, \\pi_Q), \\sum_{q=1}^{Q} \\pi_q = 1\\\\\nW_j &\\sim \\mathcal{M}(1; \\rho_1^j, \\dots, \\rho_R^j), \\sum_{r=1}^{R} \\rho_r^j = 1\\\\\nY_{i,j}&\\mid Z_i = q, W_j = r \\sim \\mathcal{F}(\\alpha_{qr})\n\\end{align*}\nInférence variationnelle donc \\ell(Y;\\pmb{\\theta}) \\geq \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) avec\n\n\\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})\n + \\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} \\\\\n - \\sum_{i=1}^{n_1} \\tau_{iq}^{1} \\log \\tau_{iq}^{1} - \\sum_{j=1}^{n_2} \\tau_{jr}^{2} \\log \\tau_{jr}^{2}\n\nPlusieurs possibilités pour la définition de \\rho_r^j\n\n\nAvec \\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. Mais il y a besoin de poser une contrainte sur l’un des (\\beta_r)_{r=1,\\dots,R}, ici \\beta_R = 0.\nLa partie pertinente de l’ELBO devient: \n 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}))]\n\\tag{1}\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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]\\\\\n& = \\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]\n\\end{align*}\n\n\n\n\nLes distributions variationnelles sont définies par :\n\nq(Z,W)\n=\n\\prod_{i=1}^{n_1} q_i(Z_i)\n\\prod_{j=1}^{n_2} q_j(W_j),\n\navec \nq_i(Z_i=q)=\\tau_{iq}^{(1)},\n\\qquad\nq_j(W_j=r)=\\tau_{jr}^{(2)}.\n\nLes contraintes de normalisation sont : \n\\sum_{q=1}^Q \\tau_{iq}^{(1)} = 1,\n\\qquad\n\\sum_{r=1}^R \\tau_{jr}^{(2)} = 1.\n\n\n\n\nLe lagrangien du problème variationnel s’écrit : \n\\mathcal{L}\\!\\left(\n\\tau^{(1)},\\tau^{(2)},(\\lambda_i)_{i=1}^{n_1},(\\mu_j)_{j=1}^{n_2}\n\\right)\n=\n\\mathcal{J}(\\mathcal{R},\\pmb{\\theta})\n+\n\\sum_{i=1}^{n_1} \\lambda_i\n\\left(1-\\sum_{q=1}^Q \\tau_{iq}^{(1)}\\right)\n+\n\\sum_{j=1}^{n_2} \\mu_j\n\\left(1-\\sum_{r=1}^R \\tau_{jr}^{(2)}\\right),\n où \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) désigne la borne inférieure variationnelle associée au modèle et aux paramètres \\Theta.\n\n\n\n\nEn dérivant le lagrangien par rapport aux variables variationnelles \\tau^{(1)} et \\tau^{(2)}, puis en égalisant à zéro, on obtient les équations de point fixe suivantes :\n\n\\tau_{iq}^{(1)}\n\\propto\n\\pi_q^{(t)}\n\\prod_{j=1}^{n_2}\n\\prod_{r=1}^{R}\nf\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)^{\\tau_{jr}^{(2),(t+1)}},\n\\quad\n\\forall i=1,\\dots,n_1,\\;\nq=1,\\dots,Q,\n\n\n\\tau_{jr}^{(2)}\n\\propto\n\\rho_r^{(t)}\n\\prod_{i=1}^{n_1}\n\\prod_{q=1}^{Q}\nf\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)^{\\tau_{iq}^{(1),(t+1)}},\n\\quad\n\\forall j=1,\\dots,n_2,\\;\nr=1,\\dots,R,\n où :\n\n\\pi_q^{(t)} et \\rho_r^{(t)} sont les proportions de classes,\nf(\\cdot;\\alpha_{qr}) est la loi d’émission du modèle,\n\\alpha_{qr}^{(t)} désigne les paramètres de bloc à l’itération t.\n\n\n\n\n\nLes constantes de normalisation associées sont données par :\n\nT^{(1),(t)}_i\n=\n\\sum_{q=1}^{Q}\n\\pi_q^{(t)}\n\\exp\\!\\left(\n\\sum_{j=1}^{n_2}\n\\sum_{r=1}^{R}\n\\tau_{jr}^{(2)}\n\\log f\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)\n\\right),\n\n\nT^{(2),(t)}_j\n=\n\\sum_{r=1}^{R}\n\\rho_r^{(t)}\n\\exp\\!\\left(\n\\sum_{i=1}^{n_1}\n\\sum_{q=1}^{Q}\n\\tau_{iq}^{(1)}\n\\log f\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)\n\\right).\n\nAinsi, les mises à jour normalisées s’écrivent : \n\\tau_{iq}^{(1)} = \\frac{1}{T^{(1),(t)}_i}(\\cdots),\n\\qquad\n\\tau_{jr}^{(2)} = \\frac{1}{T^{(2),(t)}_j}(\\cdots).\n\n\n\n\n\nLes multiplicateurs de Lagrange s’identifient alors à : \n\\lambda_i = -\\log T^{(1),(t)}_i - 1,\n\\qquad\n\\mu_j = -\\log T^{(2),(t)}_j - 1,\n\\tag{2} et le problème dual consiste à minimiser une somme de fonctions de log-partition, ce qui montre que l’algorithme VEM réalise implicitement une descente sur le dual.\n\n\n\n\n\nLire article multi-niveaux Saint-Clair\n🆕 🔎 Trouver des papiers:\n\nLBM Negative Binomial\nNetwork inference through sample comparison\n\nIdée des groupes sur la base de distance phylogénétique:\n\nEn train de comprendre les distances que phyloseq permet de calculer sur notre exemple\nEn train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html\nParametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)\nLire Papier UniFrac\n\n\n\n\n\n\neasy16s : se renseigner sur\n\n\\alpha, \\beta diversité\nHeatmap\n\nRegarder SPARTA Rennes\nEcrire et étudier les modèles pour différents niveaux taxonomiques.\n🆕 Regarder NetComi\n🆕 Regarder OneNet car aggrégation plus robuste\n🆕 Réfléchir sens d’aggréger les données ou de les diviser\n\n\n\n\n\nLancer colBiSBM sur OTU\\times Sample → problème du chargement en mémoire des données à voir\nLancer colSBM sur OTU\\times OTU\nTabNet pratiquer les exercices\n🆕 SparCC à différent niveaux\n🆕 SBM à différent niveaux\n🆕⌛ Tree-PLN à différents niveaux\n\n\n\n\nPlus sur le temps long, à regarder\n\nGT causalité\nDaria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)" + "text": "✅ C’est fait Passer version article flat dans Gitlab du papier et nettoyer au minimum sur une branche clean.\n✅ Corrigée !⚠️ IL Y A UNE TYPO SUR LE SIGNE DE L’ENTROPIE POUR LE PAPIER: - \\mathcal{H} au lieu de +\\mathcal{H}\n✅ Faire tourner clustering sur Trojelsgaard. Fait mais ne sépare personne.\nPetites opérations sur les OTUs (regarder la matrice dans les yeux):\n\nRanger les OTUs par variances (i.e. sd(OTU_j))\n✅ Dans un RMD sur Human Microbiome Compendium Dessiner les graphiques : \\mathbb{V}[OTU] = f(\\mathbb{E}[OTU]), \\frac{\\mathbb{V}[OTU]}{\\mathbb{E}[OTU]^2} = f(\\mathbb{E}[OTU]) et \\frac{\\mathbb{V}[OTU]}{\\mathbb{E}[OTU]} = f(\\mathbb{E}[OTU]) (\\approx 1) si les données suivent une loi de Poisson.\n\nHMC sur-dispersés (au-dessus bissectrice)\nEnterotype phyloseq sous-disp\n\nRegarder la proportion de 1. taxon rares, 2. zeros.\nFaire des coupures selon niveaux taxonomiques et regarder si \\mathbb{V}_{\\text{intra}} \\approx \\mathbb{V}_{\\text{inter}}\nBonus: faire ça dans qmd et voir si forge permet gitlab pages\n\n✅ Faire tourner un LBM sur Human Gut et voir si ça plante sinon, ça plante, la ram est surchargée.\n\n❎⌛ Je tente avec SparseBM de JBL sur Python. Ne gère pas le Poisson\nFaire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.\n\nIncreasing size : \n⌛ Prendre jeu de données exemple de phyloseq :\n\n✅ 😞 enterotype tourne mais pas bon résultats (semble deux blocs échantillons mais pas vu par le modèle).\n🕑 des jeux de données de Mahendra ne tourne pas (phase forward interminable).\n\nRelire Peixoto (2014)\n\nRegarder les gens qui citent les travaux de Peixoto\n\nImplémentation blockmodels LBM avec covariables sur proportions (voir Équation 1)\n\n\n\n\n\n\n\nIdées\n\n\n\n\nTravailler sur Fungus Tree network\nComparaison covar prop avec GREMLINS multipartite sur (log(dist_phylo), fungus-tree)\nTrouver manière de faire un compromis : \\ell(Y,Z,W;\\theta) - \\lambda d(C(W),C_0) avec C(W) le clustering seulement sur la base de la structure LBM et C_0 le clustering de l’arbre. Problème d est une distance entre partition, comment optimiser dessus ?\n⌛ Mise à jour partielle des \\tau : ce qui pose soucis c’est les gros calculs matriciels (c’est vraiment vrai?). Donc sorte de “stochastic” VEM où on update seulement une partie des \\tau à chaque itération. Et échantillonnage stratifié selon l’arbre ?\n\n⌛ Simulations avec n_2 croissant lancée sur Migale\nRéimplementé VE Bernoulli dans colSBM pour Bipartite et début implémentation Stochastic VE. En fait le problème des calculs matriciels Y\\times(\\tau^{(1)})^{\\top} (n_2^2) donc besoin de sous-échantillonner les noeuds de l’autre dimension à mettre à jour.\n\n✅ Inutile car besoin du primal Chercher à formuler le problème dual (s’il existe?) de l’optimisation du LBM. Peut-être possible d’aller plus vite alors ? Équation 2\n\n\n\n\nClustering unipartite j’ai cassé une fonction de distance à vérifier et réparer\nCodes pour le papier :\n\nNettoyer les scripts\nFaire un joli README\n❓Faire des notebooks\n\nRéussir à reproduire résultat de Abramov et al. (s. d.)\nMaitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC\nMaitriser SparCC\n👶 (délégué à Mona) Clustering sur Doré :\n\nRegarder pour les couples date+nom les études et le nombre de réseaux analysables (Possible demander à Élisa)\n\n⌛ Chamberlain et al semble intéressant à regarder ! Voir le Rmarkdown\n\nClusteriser sur la base des noms et voir parmi les réseaux Européens (désagrégés ?)\nSi M > 10, alors voir si je retrouve les mêmes résultats que dans les études.\nRegarder Largest gap sur réseaux Doré\n⌛ Essayer clustering sur supinfo\n\nCAH et Kmeans tendent vers faire K = 13 clusters sur les supinfos\nEnrichir avec des métriques sur les réseaux (nestedness, connectance autres ?)\nDemander à Elisa pour la signification des métadonnées\nDemander à Elisa une fois vu cohérences de groupe voir pour interprétation écologiques ?\nAlgo de clustering sur les groupes trouvés\n\n\n\n\n\n\n\nToujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:\n\\begin{align*}\nZ_i &\\sim \\mathcal{M}(1; \\pi_1, \\dots, \\pi_Q), \\sum_{q=1}^{Q} \\pi_q = 1\\\\\nW_j &\\sim \\mathcal{M}(1; \\rho_1^j, \\dots, \\rho_R^j), \\sum_{r=1}^{R} \\rho_r^j = 1\\\\\nY_{i,j}&\\mid Z_i = q, W_j = r \\sim \\mathcal{F}(\\alpha_{qr})\n\\end{align*}\nInférence variationnelle donc \\ell(Y;\\pmb{\\theta}) \\geq \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) avec\n\n\\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})\n + \\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} \\\\\n - \\sum_{i=1}^{n_1} \\tau_{iq}^{1} \\log \\tau_{iq}^{1} - \\sum_{j=1}^{n_2} \\tau_{jr}^{2} \\log \\tau_{jr}^{2}\n\nPlusieurs possibilités pour la définition de \\rho_r^j\n\n\nAvec \\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. Mais il y a besoin de poser une contrainte sur l’un des (\\beta_r)_{r=1,\\dots,R}, ici \\beta_R = 0.\nLa partie pertinente de l’ELBO devient: \n 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}))]\n\\tag{1}\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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]\\\\\n& = \\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]\n\\end{align*}\n\n\n\n\nLes distributions variationnelles sont définies par :\n\nq(Z,W)\n=\n\\prod_{i=1}^{n_1} q_i(Z_i)\n\\prod_{j=1}^{n_2} q_j(W_j),\n\navec \nq_i(Z_i=q)=\\tau_{iq}^{(1)},\n\\qquad\nq_j(W_j=r)=\\tau_{jr}^{(2)}.\n\nLes contraintes de normalisation sont : \n\\sum_{q=1}^Q \\tau_{iq}^{(1)} = 1,\n\\qquad\n\\sum_{r=1}^R \\tau_{jr}^{(2)} = 1.\n\n\n\n\nLe lagrangien du problème variationnel s’écrit : \n\\mathcal{L}\\!\\left(\n\\tau^{(1)},\\tau^{(2)},(\\lambda_i)_{i=1}^{n_1},(\\mu_j)_{j=1}^{n_2}\n\\right)\n=\n\\mathcal{J}(\\mathcal{R},\\pmb{\\theta})\n+\n\\sum_{i=1}^{n_1} \\lambda_i\n\\left(1-\\sum_{q=1}^Q \\tau_{iq}^{(1)}\\right)\n+\n\\sum_{j=1}^{n_2} \\mu_j\n\\left(1-\\sum_{r=1}^R \\tau_{jr}^{(2)}\\right),\n où \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) désigne la borne inférieure variationnelle associée au modèle et aux paramètres \\Theta.\n\n\n\n\nEn dérivant le lagrangien par rapport aux variables variationnelles \\tau^{(1)} et \\tau^{(2)}, puis en égalisant à zéro, on obtient les équations de point fixe suivantes :\n\n\\tau_{iq}^{(1)}\n\\propto\n\\pi_q^{(t)}\n\\prod_{j=1}^{n_2}\n\\prod_{r=1}^{R}\nf\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)^{\\tau_{jr}^{(2),(t+1)}},\n\\quad\n\\forall i=1,\\dots,n_1,\\;\nq=1,\\dots,Q,\n\n\n\\tau_{jr}^{(2)}\n\\propto\n\\rho_r^{(t)}\n\\prod_{i=1}^{n_1}\n\\prod_{q=1}^{Q}\nf\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)^{\\tau_{iq}^{(1),(t+1)}},\n\\quad\n\\forall j=1,\\dots,n_2,\\;\nr=1,\\dots,R,\n où :\n\n\\pi_q^{(t)} et \\rho_r^{(t)} sont les proportions de classes,\nf(\\cdot;\\alpha_{qr}) est la loi d’émission du modèle,\n\\alpha_{qr}^{(t)} désigne les paramètres de bloc à l’itération t.\n\n\n\n\n\nLes constantes de normalisation associées sont données par :\n\nT^{(1),(t)}_i\n=\n\\sum_{q=1}^{Q}\n\\pi_q^{(t)}\n\\exp\\!\\left(\n\\sum_{j=1}^{n_2}\n\\sum_{r=1}^{R}\n\\tau_{jr}^{(2)}\n\\log f\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)\n\\right),\n\n\nT^{(2),(t)}_j\n=\n\\sum_{r=1}^{R}\n\\rho_r^{(t)}\n\\exp\\!\\left(\n\\sum_{i=1}^{n_1}\n\\sum_{q=1}^{Q}\n\\tau_{iq}^{(1)}\n\\log f\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)\n\\right).\n\nAinsi, les mises à jour normalisées s’écrivent : \n\\tau_{iq}^{(1)} = \\frac{1}{T^{(1),(t)}_i}(\\cdots),\n\\qquad\n\\tau_{jr}^{(2)} = \\frac{1}{T^{(2),(t)}_j}(\\cdots).\n\n\n\n\n\nLes multiplicateurs de Lagrange s’identifient alors à : \n\\lambda_i = -\\log T^{(1),(t)}_i - 1,\n\\qquad\n\\mu_j = -\\log T^{(2),(t)}_j - 1,\n\\tag{2} et le problème dual consiste à minimiser une somme de fonctions de log-partition, ce qui montre que l’algorithme VEM réalise implicitement une descente sur le dual.\n\n\n\n\n\nLire article multi-niveaux Saint-Clair\n🆕 🔎 Trouver des papiers:\n\nLBM Negative Binomial\nNetwork inference through sample comparison\n\nIdée des groupes sur la base de distance phylogénétique:\n\nEn train de comprendre les distances que phyloseq permet de calculer sur notre exemple\nEn train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html\nParametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)\nLire Papier UniFrac\n\n\n\n\n\n\neasy16s : se renseigner sur\n\n\\alpha, \\beta diversité\nHeatmap\n\nRegarder SPARTA Rennes\nEcrire et étudier les modèles pour différents niveaux taxonomiques.\n🆕 Regarder NetComi\n🆕 Regarder OneNet car aggrégation plus robuste\n🆕 Réfléchir sens d’aggréger les données ou de les diviser\n\n\n\n\n\nLancer colBiSBM sur OTU\\times Sample → problème du chargement en mémoire des données à voir\nLancer colSBM sur OTU\\times OTU\nTabNet pratiquer les exercices\n🆕 SparCC à différent niveaux\n🆕 SBM à différent niveaux\n🆕⌛ Tree-PLN à différents niveaux\n\n\n\n\nPlus sur le temps long, à regarder\n\nGT causalité\nDaria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)" }, { "objectID": "suivi/2025-51/2025-51.html#todo-list", "href": "suivi/2025-51/2025-51.html#todo-list", "title": "Bilan semaine 51 2025 : 15 décembre - 19 décembre", "section": "", - "text": "✅ C’est fait Passer version article flat dans Gitlab du papier et nettoyer au minimum sur une branche clean.\n✅ Corrigée !⚠️ IL Y A UNE TYPO SUR LE SIGNE DE L’ENTROPIE POUR LE PAPIER: - \\mathcal{H} au lieu de +\\mathcal{H}\nFaire tourner clustering sur Trojelsgaard\nPetites opérations sur les OTUs (regarder la matrice dans les yeux):\n\nRanger les OTUs par variances (i.e. sd(OTU_j))\n✅ Dans un RMD sur Human Microbiome Compendium Dessiner les graphiques : \\mathbb{V}[OTU] = f(\\mathbb{E}[OTU]), \\frac{\\mathbb{V}[OTU]}{\\mathbb{E}[OTU]^2} = f(\\mathbb{E}[OTU]) et \\frac{\\mathbb{V}[OTU]}{\\mathbb{E}[OTU]} = f(\\mathbb{E}[OTU]) (\\approx 1) si les données suivent une loi de Poisson.\n\nHMC sur-dispersés (au-dessus bissectrice)\nEnterotype phyloseq sous-disp\n\nRegarder la proportion de 1. taxon rares, 2. zeros.\nFaire des coupures selon niveaux taxonomiques et regarder si \\mathbb{V}_{\\text{intra}} \\approx \\mathbb{V}_{\\text{inter}}\nBonus: faire ça dans qmd et voir si forge permet gitlab pages\n\n✅ Faire tourner un LBM sur Human Gut et voir si ça plante sinon, ça plante, la ram est surchargée.\n\n⌛ Je tente avec SparseBM de JBL sur Python\nFaire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.\n\nIncreasing size : \n⌛ Prendre jeu de données exemple de phyloseq :\n\n✅ 😞 enterotype tourne mais pas bon résultats (semble deux blocs échantillons mais pas vu par le modèle).\n🕑 des jeux de données de Mahendra ne tourne pas (phase forward interminable).\n\nRelire Peixoto (2014)\n\nRegarder les gens qui citent les travaux de Peixoto\n\nImplémentation blockmodels LBM avec covariables sur proportions (voir Équation 1)\n\n\n\n\n\n\n\nIdées\n\n\n\n\nTravailler sur Fungus Tree network\nComparaison covar prop avec GREMLINS multipartite sur (log(dist_phylo), fungus-tree)\nTrouver manière de faire un compromis : \\ell(Y,Z,W;\\theta) - \\lambda d(C(W),C_0) avec C(W) le clustering seulement sur la base de la structure LBM et C_0 le clustering de l’arbre. Problème d est une distance entre partition, comment optimiser dessus ?\n⌛ Mise à jour partielle des \\tau : ce qui pose soucis c’est les gros calculs matriciels (c’est vraiment vrai?). Donc sorte de “stochastic” VEM où on update seulement une partie des \\tau à chaque itération. Et échantillonnage stratifié selon l’arbre ?\n\n⌛ Simulations avec n_2 croissant lancée sur Migale\nRéimplementé VE Bernoulli dans colSBM pour Bipartite et début implémentation Stochastic VE. En fait le problème des calculs matriciels Y\\times(\\tau^{(1)})^{\\top} (n_2^2) donc besoin de sous-échantillonner les noeuds de l’autre dimension à mettre à jour.\n\n✅ Inutile car besoin du primal Chercher à formuler le problème dual (s’il existe?) de l’optimisation du LBM. Peut-être possible d’aller plus vite alors ? Équation 2\n\n\n\n\nClustering unipartite j’ai cassé une fonction de distance à vérifier et réparer\nCodes pour le papier :\n\nNettoyer les scripts\nFaire un joli README\n❓Faire des notebooks\n\nRéussir à reproduire résultat de Abramov et al. (s. d.)\nMaitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC\nMaitriser SparCC\n👶 (délégué à Mona) Clustering sur Doré :\n\nRegarder pour les couples date+nom les études et le nombre de réseaux analysables (Possible demander à Élisa)\n\n⌛ Chamberlain et al semble intéressant à regarder ! Voir le Rmarkdown\n\nClusteriser sur la base des noms et voir parmi les réseaux Européens (désagrégés ?)\nSi M > 10, alors voir si je retrouve les mêmes résultats que dans les études.\nRegarder Largest gap sur réseaux Doré\n⌛ Essayer clustering sur supinfo\n\nCAH et Kmeans tendent vers faire K = 13 clusters sur les supinfos\nEnrichir avec des métriques sur les réseaux (nestedness, connectance autres ?)\nDemander à Elisa pour la signification des métadonnées\nDemander à Elisa une fois vu cohérences de groupe voir pour interprétation écologiques ?\nAlgo de clustering sur les groupes trouvés\n\n\n\n\n\n\n\nToujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:\n\\begin{align*}\nZ_i &\\sim \\mathcal{M}(1; \\pi_1, \\dots, \\pi_Q), \\sum_{q=1}^{Q} \\pi_q = 1\\\\\nW_j &\\sim \\mathcal{M}(1; \\rho_1^j, \\dots, \\rho_R^j), \\sum_{r=1}^{R} \\rho_r^j = 1\\\\\nY_{i,j}&\\mid Z_i = q, W_j = r \\sim \\mathcal{F}(\\alpha_{qr})\n\\end{align*}\nInférence variationnelle donc \\ell(Y;\\pmb{\\theta}) \\geq \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) avec\n\n\\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})\n + \\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} \\\\\n - \\sum_{i=1}^{n_1} \\tau_{iq}^{1} \\log \\tau_{iq}^{1} - \\sum_{j=1}^{n_2} \\tau_{jr}^{2} \\log \\tau_{jr}^{2}\n\nPlusieurs possibilités pour la définition de \\rho_r^j\n\n\nAvec \\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. Mais il y a besoin de poser une contrainte sur l’un des (\\beta_r)_{r=1,\\dots,R}, ici \\beta_R = 0.\nLa partie pertinente de l’ELBO devient: \n 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}))]\n\\tag{1}\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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]\\\\\n& = \\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]\n\\end{align*}\n\n\n\n\nLes distributions variationnelles sont définies par :\n\nq(Z,W)\n=\n\\prod_{i=1}^{n_1} q_i(Z_i)\n\\prod_{j=1}^{n_2} q_j(W_j),\n\navec \nq_i(Z_i=q)=\\tau_{iq}^{(1)},\n\\qquad\nq_j(W_j=r)=\\tau_{jr}^{(2)}.\n\nLes contraintes de normalisation sont : \n\\sum_{q=1}^Q \\tau_{iq}^{(1)} = 1,\n\\qquad\n\\sum_{r=1}^R \\tau_{jr}^{(2)} = 1.\n\n\n\n\nLe lagrangien du problème variationnel s’écrit : \n\\mathcal{L}\\!\\left(\n\\tau^{(1)},\\tau^{(2)},(\\lambda_i)_{i=1}^{n_1},(\\mu_j)_{j=1}^{n_2}\n\\right)\n=\n\\mathcal{J}(\\mathcal{R},\\pmb{\\theta})\n+\n\\sum_{i=1}^{n_1} \\lambda_i\n\\left(1-\\sum_{q=1}^Q \\tau_{iq}^{(1)}\\right)\n+\n\\sum_{j=1}^{n_2} \\mu_j\n\\left(1-\\sum_{r=1}^R \\tau_{jr}^{(2)}\\right),\n où \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) désigne la borne inférieure variationnelle associée au modèle et aux paramètres \\Theta.\n\n\n\n\nEn dérivant le lagrangien par rapport aux variables variationnelles \\tau^{(1)} et \\tau^{(2)}, puis en égalisant à zéro, on obtient les équations de point fixe suivantes :\n\n\\tau_{iq}^{(1)}\n\\propto\n\\pi_q^{(t)}\n\\prod_{j=1}^{n_2}\n\\prod_{r=1}^{R}\nf\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)^{\\tau_{jr}^{(2),(t+1)}},\n\\quad\n\\forall i=1,\\dots,n_1,\\;\nq=1,\\dots,Q,\n\n\n\\tau_{jr}^{(2)}\n\\propto\n\\rho_r^{(t)}\n\\prod_{i=1}^{n_1}\n\\prod_{q=1}^{Q}\nf\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)^{\\tau_{iq}^{(1),(t+1)}},\n\\quad\n\\forall j=1,\\dots,n_2,\\;\nr=1,\\dots,R,\n où :\n\n\\pi_q^{(t)} et \\rho_r^{(t)} sont les proportions de classes,\nf(\\cdot;\\alpha_{qr}) est la loi d’émission du modèle,\n\\alpha_{qr}^{(t)} désigne les paramètres de bloc à l’itération t.\n\n\n\n\n\nLes constantes de normalisation associées sont données par :\n\nT^{(1),(t)}_i\n=\n\\sum_{q=1}^{Q}\n\\pi_q^{(t)}\n\\exp\\!\\left(\n\\sum_{j=1}^{n_2}\n\\sum_{r=1}^{R}\n\\tau_{jr}^{(2)}\n\\log f\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)\n\\right),\n\n\nT^{(2),(t)}_j\n=\n\\sum_{r=1}^{R}\n\\rho_r^{(t)}\n\\exp\\!\\left(\n\\sum_{i=1}^{n_1}\n\\sum_{q=1}^{Q}\n\\tau_{iq}^{(1)}\n\\log f\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)\n\\right).\n\nAinsi, les mises à jour normalisées s’écrivent : \n\\tau_{iq}^{(1)} = \\frac{1}{T^{(1),(t)}_i}(\\cdots),\n\\qquad\n\\tau_{jr}^{(2)} = \\frac{1}{T^{(2),(t)}_j}(\\cdots).\n\n\n\n\n\nLes multiplicateurs de Lagrange s’identifient alors à : \n\\lambda_i = -\\log T^{(1),(t)}_i - 1,\n\\qquad\n\\mu_j = -\\log T^{(2),(t)}_j - 1,\n\\tag{2} et le problème dual consiste à minimiser une somme de fonctions de log-partition, ce qui montre que l’algorithme VEM réalise implicitement une descente sur le dual.\n\n\n\n\n\nLire article multi-niveaux Saint-Clair\n🆕 🔎 Trouver des papiers:\n\nLBM Negative Binomial\nNetwork inference through sample comparison\n\nIdée des groupes sur la base de distance phylogénétique:\n\nEn train de comprendre les distances que phyloseq permet de calculer sur notre exemple\nEn train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html\nParametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)\nLire Papier UniFrac\n\n\n\n\n\n\neasy16s : se renseigner sur\n\n\\alpha, \\beta diversité\nHeatmap\n\nRegarder SPARTA Rennes\nEcrire et étudier les modèles pour différents niveaux taxonomiques.\n🆕 Regarder NetComi\n🆕 Regarder OneNet car aggrégation plus robuste\n🆕 Réfléchir sens d’aggréger les données ou de les diviser\n\n\n\n\n\nLancer colBiSBM sur OTU\\times Sample → problème du chargement en mémoire des données à voir\nLancer colSBM sur OTU\\times OTU\nTabNet pratiquer les exercices\n🆕 SparCC à différent niveaux\n🆕 SBM à différent niveaux\n🆕⌛ Tree-PLN à différents niveaux\n\n\n\n\nPlus sur le temps long, à regarder\n\nGT causalité\nDaria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)" + "text": "✅ C’est fait Passer version article flat dans Gitlab du papier et nettoyer au minimum sur une branche clean.\n✅ Corrigée !⚠️ IL Y A UNE TYPO SUR LE SIGNE DE L’ENTROPIE POUR LE PAPIER: - \\mathcal{H} au lieu de +\\mathcal{H}\n✅ Faire tourner clustering sur Trojelsgaard. Fait mais ne sépare personne.\nPetites opérations sur les OTUs (regarder la matrice dans les yeux):\n\nRanger les OTUs par variances (i.e. sd(OTU_j))\n✅ Dans un RMD sur Human Microbiome Compendium Dessiner les graphiques : \\mathbb{V}[OTU] = f(\\mathbb{E}[OTU]), \\frac{\\mathbb{V}[OTU]}{\\mathbb{E}[OTU]^2} = f(\\mathbb{E}[OTU]) et \\frac{\\mathbb{V}[OTU]}{\\mathbb{E}[OTU]} = f(\\mathbb{E}[OTU]) (\\approx 1) si les données suivent une loi de Poisson.\n\nHMC sur-dispersés (au-dessus bissectrice)\nEnterotype phyloseq sous-disp\n\nRegarder la proportion de 1. taxon rares, 2. zeros.\nFaire des coupures selon niveaux taxonomiques et regarder si \\mathbb{V}_{\\text{intra}} \\approx \\mathbb{V}_{\\text{inter}}\nBonus: faire ça dans qmd et voir si forge permet gitlab pages\n\n✅ Faire tourner un LBM sur Human Gut et voir si ça plante sinon, ça plante, la ram est surchargée.\n\n❎⌛ Je tente avec SparseBM de JBL sur Python. Ne gère pas le Poisson\nFaire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.\n\nIncreasing size : \n⌛ Prendre jeu de données exemple de phyloseq :\n\n✅ 😞 enterotype tourne mais pas bon résultats (semble deux blocs échantillons mais pas vu par le modèle).\n🕑 des jeux de données de Mahendra ne tourne pas (phase forward interminable).\n\nRelire Peixoto (2014)\n\nRegarder les gens qui citent les travaux de Peixoto\n\nImplémentation blockmodels LBM avec covariables sur proportions (voir Équation 1)\n\n\n\n\n\n\n\nIdées\n\n\n\n\nTravailler sur Fungus Tree network\nComparaison covar prop avec GREMLINS multipartite sur (log(dist_phylo), fungus-tree)\nTrouver manière de faire un compromis : \\ell(Y,Z,W;\\theta) - \\lambda d(C(W),C_0) avec C(W) le clustering seulement sur la base de la structure LBM et C_0 le clustering de l’arbre. Problème d est une distance entre partition, comment optimiser dessus ?\n⌛ Mise à jour partielle des \\tau : ce qui pose soucis c’est les gros calculs matriciels (c’est vraiment vrai?). Donc sorte de “stochastic” VEM où on update seulement une partie des \\tau à chaque itération. Et échantillonnage stratifié selon l’arbre ?\n\n⌛ Simulations avec n_2 croissant lancée sur Migale\nRéimplementé VE Bernoulli dans colSBM pour Bipartite et début implémentation Stochastic VE. En fait le problème des calculs matriciels Y\\times(\\tau^{(1)})^{\\top} (n_2^2) donc besoin de sous-échantillonner les noeuds de l’autre dimension à mettre à jour.\n\n✅ Inutile car besoin du primal Chercher à formuler le problème dual (s’il existe?) de l’optimisation du LBM. Peut-être possible d’aller plus vite alors ? Équation 2\n\n\n\n\nClustering unipartite j’ai cassé une fonction de distance à vérifier et réparer\nCodes pour le papier :\n\nNettoyer les scripts\nFaire un joli README\n❓Faire des notebooks\n\nRéussir à reproduire résultat de Abramov et al. (s. d.)\nMaitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC\nMaitriser SparCC\n👶 (délégué à Mona) Clustering sur Doré :\n\nRegarder pour les couples date+nom les études et le nombre de réseaux analysables (Possible demander à Élisa)\n\n⌛ Chamberlain et al semble intéressant à regarder ! Voir le Rmarkdown\n\nClusteriser sur la base des noms et voir parmi les réseaux Européens (désagrégés ?)\nSi M > 10, alors voir si je retrouve les mêmes résultats que dans les études.\nRegarder Largest gap sur réseaux Doré\n⌛ Essayer clustering sur supinfo\n\nCAH et Kmeans tendent vers faire K = 13 clusters sur les supinfos\nEnrichir avec des métriques sur les réseaux (nestedness, connectance autres ?)\nDemander à Elisa pour la signification des métadonnées\nDemander à Elisa une fois vu cohérences de groupe voir pour interprétation écologiques ?\nAlgo de clustering sur les groupes trouvés\n\n\n\n\n\n\n\nToujours modèle LBM mais avec probas d’appartenance pour les colonnes variables:\n\\begin{align*}\nZ_i &\\sim \\mathcal{M}(1; \\pi_1, \\dots, \\pi_Q), \\sum_{q=1}^{Q} \\pi_q = 1\\\\\nW_j &\\sim \\mathcal{M}(1; \\rho_1^j, \\dots, \\rho_R^j), \\sum_{r=1}^{R} \\rho_r^j = 1\\\\\nY_{i,j}&\\mid Z_i = q, W_j = r \\sim \\mathcal{F}(\\alpha_{qr})\n\\end{align*}\nInférence variationnelle donc \\ell(Y;\\pmb{\\theta}) \\geq \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) avec\n\n\\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})\n + \\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} \\\\\n - \\sum_{i=1}^{n_1} \\tau_{iq}^{1} \\log \\tau_{iq}^{1} - \\sum_{j=1}^{n_2} \\tau_{jr}^{2} \\log \\tau_{jr}^{2}\n\nPlusieurs possibilités pour la définition de \\rho_r^j\n\n\nAvec \\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. Mais il y a besoin de poser une contrainte sur l’un des (\\beta_r)_{r=1,\\dots,R}, ici \\beta_R = 0.\nLa partie pertinente de l’ELBO devient: \n 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}))]\n\\tag{1}\nEt on obtient la dérivée partielle par rapport à \\beta_t comme: \\begin{align*}\n\\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]\\\\\n& = \\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]\n\\end{align*}\n\n\n\n\nLes distributions variationnelles sont définies par :\n\nq(Z,W)\n=\n\\prod_{i=1}^{n_1} q_i(Z_i)\n\\prod_{j=1}^{n_2} q_j(W_j),\n\navec \nq_i(Z_i=q)=\\tau_{iq}^{(1)},\n\\qquad\nq_j(W_j=r)=\\tau_{jr}^{(2)}.\n\nLes contraintes de normalisation sont : \n\\sum_{q=1}^Q \\tau_{iq}^{(1)} = 1,\n\\qquad\n\\sum_{r=1}^R \\tau_{jr}^{(2)} = 1.\n\n\n\n\nLe lagrangien du problème variationnel s’écrit : \n\\mathcal{L}\\!\\left(\n\\tau^{(1)},\\tau^{(2)},(\\lambda_i)_{i=1}^{n_1},(\\mu_j)_{j=1}^{n_2}\n\\right)\n=\n\\mathcal{J}(\\mathcal{R},\\pmb{\\theta})\n+\n\\sum_{i=1}^{n_1} \\lambda_i\n\\left(1-\\sum_{q=1}^Q \\tau_{iq}^{(1)}\\right)\n+\n\\sum_{j=1}^{n_2} \\mu_j\n\\left(1-\\sum_{r=1}^R \\tau_{jr}^{(2)}\\right),\n où \\mathcal{J}(\\mathcal{R},\\pmb{\\theta}) désigne la borne inférieure variationnelle associée au modèle et aux paramètres \\Theta.\n\n\n\n\nEn dérivant le lagrangien par rapport aux variables variationnelles \\tau^{(1)} et \\tau^{(2)}, puis en égalisant à zéro, on obtient les équations de point fixe suivantes :\n\n\\tau_{iq}^{(1)}\n\\propto\n\\pi_q^{(t)}\n\\prod_{j=1}^{n_2}\n\\prod_{r=1}^{R}\nf\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)^{\\tau_{jr}^{(2),(t+1)}},\n\\quad\n\\forall i=1,\\dots,n_1,\\;\nq=1,\\dots,Q,\n\n\n\\tau_{jr}^{(2)}\n\\propto\n\\rho_r^{(t)}\n\\prod_{i=1}^{n_1}\n\\prod_{q=1}^{Q}\nf\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)^{\\tau_{iq}^{(1),(t+1)}},\n\\quad\n\\forall j=1,\\dots,n_2,\\;\nr=1,\\dots,R,\n où :\n\n\\pi_q^{(t)} et \\rho_r^{(t)} sont les proportions de classes,\nf(\\cdot;\\alpha_{qr}) est la loi d’émission du modèle,\n\\alpha_{qr}^{(t)} désigne les paramètres de bloc à l’itération t.\n\n\n\n\n\nLes constantes de normalisation associées sont données par :\n\nT^{(1),(t)}_i\n=\n\\sum_{q=1}^{Q}\n\\pi_q^{(t)}\n\\exp\\!\\left(\n\\sum_{j=1}^{n_2}\n\\sum_{r=1}^{R}\n\\tau_{jr}^{(2)}\n\\log f\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)\n\\right),\n\n\nT^{(2),(t)}_j\n=\n\\sum_{r=1}^{R}\n\\rho_r^{(t)}\n\\exp\\!\\left(\n\\sum_{i=1}^{n_1}\n\\sum_{q=1}^{Q}\n\\tau_{iq}^{(1)}\n\\log f\\!\\left(Y_{ij};\\alpha_{qr}^{(t)}\\right)\n\\right).\n\nAinsi, les mises à jour normalisées s’écrivent : \n\\tau_{iq}^{(1)} = \\frac{1}{T^{(1),(t)}_i}(\\cdots),\n\\qquad\n\\tau_{jr}^{(2)} = \\frac{1}{T^{(2),(t)}_j}(\\cdots).\n\n\n\n\n\nLes multiplicateurs de Lagrange s’identifient alors à : \n\\lambda_i = -\\log T^{(1),(t)}_i - 1,\n\\qquad\n\\mu_j = -\\log T^{(2),(t)}_j - 1,\n\\tag{2} et le problème dual consiste à minimiser une somme de fonctions de log-partition, ce qui montre que l’algorithme VEM réalise implicitement une descente sur le dual.\n\n\n\n\n\nLire article multi-niveaux Saint-Clair\n🆕 🔎 Trouver des papiers:\n\nLBM Negative Binomial\nNetwork inference through sample comparison\n\nIdée des groupes sur la base de distance phylogénétique:\n\nEn train de comprendre les distances que phyloseq permet de calculer sur notre exemple\nEn train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html\nParametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)\nLire Papier UniFrac\n\n\n\n\n\n\neasy16s : se renseigner sur\n\n\\alpha, \\beta diversité\nHeatmap\n\nRegarder SPARTA Rennes\nEcrire et étudier les modèles pour différents niveaux taxonomiques.\n🆕 Regarder NetComi\n🆕 Regarder OneNet car aggrégation plus robuste\n🆕 Réfléchir sens d’aggréger les données ou de les diviser\n\n\n\n\n\nLancer colBiSBM sur OTU\\times Sample → problème du chargement en mémoire des données à voir\nLancer colSBM sur OTU\\times OTU\nTabNet pratiquer les exercices\n🆕 SparCC à différent niveaux\n🆕 SBM à différent niveaux\n🆕⌛ Tree-PLN à différents niveaux\n\n\n\n\nPlus sur le temps long, à regarder\n\nGT causalité\nDaria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)" }, { "objectID": "suivi/2025-51/2025-51.html#a-discuter", diff --git a/suivi/2025-13/2025-13.html b/suivi/2025-13/2025-13.html index e4ec57c..4e77f38 100644 --- a/suivi/2025-13/2025-13.html +++ b/suivi/2025-13/2025-13.html @@ -192,7 +192,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-14/2025-14.html b/suivi/2025-14/2025-14.html index 48fa1a5..2474daa 100644 --- a/suivi/2025-14/2025-14.html +++ b/suivi/2025-14/2025-14.html @@ -189,7 +189,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-15/2025-15.html b/suivi/2025-15/2025-15.html index 082c4b6..61a6992 100644 --- a/suivi/2025-15/2025-15.html +++ b/suivi/2025-15/2025-15.html @@ -189,7 +189,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-16/2025-16.html b/suivi/2025-16/2025-16.html index eafcb7b..5a0edfd 100644 --- a/suivi/2025-16/2025-16.html +++ b/suivi/2025-16/2025-16.html @@ -189,7 +189,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-17/2025-17.html b/suivi/2025-17/2025-17.html index 1f536b6..e169351 100644 --- a/suivi/2025-17/2025-17.html +++ b/suivi/2025-17/2025-17.html @@ -192,7 +192,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-18/2025-18.html b/suivi/2025-18/2025-18.html index 271cc97..f68e5ae 100644 --- a/suivi/2025-18/2025-18.html +++ b/suivi/2025-18/2025-18.html @@ -193,7 +193,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-19/2025-19.html b/suivi/2025-19/2025-19.html index cc66fa0..3816a2c 100644 --- a/suivi/2025-19/2025-19.html +++ b/suivi/2025-19/2025-19.html @@ -190,7 +190,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-20/2025-20.html b/suivi/2025-20/2025-20.html index 5e29131..eb60899 100644 --- a/suivi/2025-20/2025-20.html +++ b/suivi/2025-20/2025-20.html @@ -191,7 +191,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-21/2025-21.html b/suivi/2025-21/2025-21.html index 360e5a8..87fc65a 100644 --- a/suivi/2025-21/2025-21.html +++ b/suivi/2025-21/2025-21.html @@ -191,7 +191,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-22/2025-22.html b/suivi/2025-22/2025-22.html index 3d1cde7..0bc4d54 100644 --- a/suivi/2025-22/2025-22.html +++ b/suivi/2025-22/2025-22.html @@ -191,7 +191,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-24/2025-24.html b/suivi/2025-24/2025-24.html index 7468e5b..e027763 100644 --- a/suivi/2025-24/2025-24.html +++ b/suivi/2025-24/2025-24.html @@ -214,7 +214,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-25/2025-25.html b/suivi/2025-25/2025-25.html index 306449f..ae30f18 100644 --- a/suivi/2025-25/2025-25.html +++ b/suivi/2025-25/2025-25.html @@ -211,7 +211,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-27/2025-27.html b/suivi/2025-27/2025-27.html index ac262b2..492af7d 100644 --- a/suivi/2025-27/2025-27.html +++ b/suivi/2025-27/2025-27.html @@ -211,7 +211,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-29/2025-29.html b/suivi/2025-29/2025-29.html index 770da88..eeb214a 100644 --- a/suivi/2025-29/2025-29.html +++ b/suivi/2025-29/2025-29.html @@ -211,7 +211,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-33/2025-33.html b/suivi/2025-33/2025-33.html index ee459ba..7e8d77c 100644 --- a/suivi/2025-33/2025-33.html +++ b/suivi/2025-33/2025-33.html @@ -214,7 +214,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-35/2025-35.html b/suivi/2025-35/2025-35.html index d09dfd8..97bf26d 100644 --- a/suivi/2025-35/2025-35.html +++ b/suivi/2025-35/2025-35.html @@ -211,7 +211,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-38/2025-38.html b/suivi/2025-38/2025-38.html index 3d1ff35..d3276b7 100644 --- a/suivi/2025-38/2025-38.html +++ b/suivi/2025-38/2025-38.html @@ -211,7 +211,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-43/2025-43.html b/suivi/2025-43/2025-43.html index 8c09b6d..8c7bf44 100644 --- a/suivi/2025-43/2025-43.html +++ b/suivi/2025-43/2025-43.html @@ -211,7 +211,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-44/2025-44.html b/suivi/2025-44/2025-44.html index a6ced8a..3a0d6d1 100644 --- a/suivi/2025-44/2025-44.html +++ b/suivi/2025-44/2025-44.html @@ -211,7 +211,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-45/2025-45.html b/suivi/2025-45/2025-45.html index 74e9724..de826ff 100644 --- a/suivi/2025-45/2025-45.html +++ b/suivi/2025-45/2025-45.html @@ -211,7 +211,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-50/2025-50.html b/suivi/2025-50/2025-50.html index 4daeb7b..0fb5270 100644 --- a/suivi/2025-50/2025-50.html +++ b/suivi/2025-50/2025-50.html @@ -211,7 +211,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    diff --git a/suivi/2025-51/2025-51.html b/suivi/2025-51/2025-51.html index c78c390..f7983ab 100644 --- a/suivi/2025-51/2025-51.html +++ b/suivi/2025-51/2025-51.html @@ -211,7 +211,7 @@ window.Quarto = {
    Modifié
    -

    5 janvier 2026

    +

    6 février 2026

    @@ -255,7 +255,7 @@ window.Quarto = {
    • C’est fait Passer version article flat dans Gitlab du papier et nettoyer au minimum sur une branche clean.

    • ✅ Corrigée !⚠️ IL Y A UNE TYPO SUR LE SIGNE DE L’ENTROPIE POUR LE PAPIER: - \mathcal{H} au lieu de +\mathcal{H}

    • -
    • Faire tourner clustering sur Trojelsgaard

    • +
    • ✅ Faire tourner clustering sur Trojelsgaard. Fait mais ne sépare personne.

    • Petites opérations sur les OTUs (regarder la matrice dans les yeux):

      • Ranger les OTUs par variances (i.e. sd(OTU_j))
      • @@ -270,7 +270,7 @@ window.Quarto = {
    • ✅ Faire tourner un LBM sur Human Gut et voir si ça plante sinon, ça plante, la ram est surchargée.

        -
      • ⌛ Je tente avec SparseBM de JBL sur Python
      • +
      • ❎⌛ Je tente avec SparseBM de JBL sur Python. Ne gère pas le Poisson
      • Faire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.
    • Increasing size :

    • diff --git a/suivi/2026-6/2026-6.html b/suivi/2026-6/2026-6.html new file mode 100644 index 0000000..5976be5 --- /dev/null +++ b/suivi/2026-6/2026-6.html @@ -0,0 +1,915 @@ + + + + + + + + + + +Bilan semaine 6 2026 : 02 février - 06 février – Suivi de la thèse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + +
      + +
      +
      +
      +

      Bilan semaine 6 2026 : 02 février - 06 février

      +
      +
      colBiSBM
      +
      inférence
      +
      GNN
      +
      +
      +
      + +
      +
      Auteur·rice
      +
      Affiliation
      + +
      +

      Louis Lacoste

      +
      +
      +

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

      +
      +
      + +
      + + +
      +
      Date de publication
      +
      +

      6 février 2026

      +
      +
      + +
      +
      Modifié
      +
      +

      6 février 2026

      +
      +
      + +
      + + +
      + + + + +
      + + + + + +
      +

      TODO List

      +
        +
      • Petites opérations sur les OTUs (regarder la matrice dans les yeux):

        +
          +
        • Ranger les OTUs par variances (i.e. sd(OTU_j)) +
            +
          • HMC sur-dispersés (au-dessus bissectrice)
          • +
          • Enterotype phyloseq sous-disp
          • +
        • +
        • Regarder la proportion de 1. taxon rares, 2. zeros.
        • +
        • Faire des coupures selon niveaux taxonomiques et regarder si \mathbb{V}_{\text{intra}} \approx \mathbb{V}_{\text{inter}}
        • +
        • Bonus: faire ça dans qmd et voir si forge permet gitlab pages
        • +
      • +
      • ✅ Faire tourner un LBM sur Human Gut et voir si ça plante sinon, ça plante, la ram est surchargée.

        +
          +
        • TODO Faire LBM sur niveau taxonomique grossier, initialiser avec le résultat pour un niveau plus fin et ainsi de suite.
        • +
      • +
      • ✅ Avec blockmodels, codé un LBM-Séquentiel. Des différences contrastées…

      • +
      • ⌛ Prendre jeu de données exemple de phyloseq :

        +
          +
        • ✅ 😞 enterotype tourne mais pas bon résultats (semble deux blocs échantillons mais pas vu par le modèle).
        • +
        • ✅ des jeux de données de Mahendra ne tourne pas (phase forward interminable).
        • +
      • +
      • Relire Peixoto (2014)

        +
          +
        • Regarder les gens qui citent les travaux de Peixoto
        • +
      • +
      • Implémentation blockmodels LBM avec covariables sur proportions (voir Équation 1)

      • +
      +
      +
      +
      + +
      +
      +Idées +
      +
      +
      +
        +
      • Travailler sur Fungus Tree network
      • +
      • 🔍Demander à PB et SD : Comparaison covar prop avec GREMLINS multipartite sur (log(dist_phylo), fungus-tree)
      • +
      • Trouver manière de faire un compromis : \ell(Y,Z,W;\theta) - \lambda d(C(W),C_0) avec C(W) le clustering seulement sur la base de la structure LBM et C_0 le clustering de l’arbre. Problème d est une distance entre partition, comment optimiser dessus ?
      • +
      • ⌛ Mise à jour partielle des \tau : ce qui pose soucis c’est les gros calculs matriciels (c’est vraiment vrai?). Donc sorte de “stochastic” VEM où on update seulement une partie des \tau à chaque itération. Et échantillonnage stratifié selon l’arbre ? +
          +
        • ⌛ Simulations avec n_2 croissant lancée sur Migale
        • +
        • Réimplementé VE Bernoulli dans colSBM pour Bipartite et début implémentation Stochastic VE. En fait le problème des calculs matriciels Y\times(\tau^{(1)})^{\top} (n_2^2) donc besoin de sous-échantillonner les noeuds de l’autre dimension à mettre à jour.
        • +
      • +
      +
      +
      +
        +
      • Clustering unipartite j’ai cassé une fonction de distance à vérifier et réparer

      • +
      • Codes pour le papier :

        +
          +
        • Nettoyer les scripts
        • +
        • Faire un joli README
        • +
        • ❓Faire des notebooks
        • +
      • +
      • Réussir à reproduire résultat de Abramov et al. (s. d.)

      • +
      • Maitriser graphtools de Peixoto pour essayer d’utiliser l’arbre taxonomique sur graphe de cooccurence inférer par SparCC

      • +
      • Maitriser SparCC

      • +
      • 👶 (délégué à Mona) Clustering sur Doré :

        +
          +
        • Ajouter Chao1 et 2, colonne par colonne (site par site), et faire indice moyen et la variance.
        • +
      • +
      +
      +

      Inférence et microbes

      +
        +
      • ⌛ En préparation d’un fichier (réu avec JBL à 10h45 le 06/02/2026).
      • +
      +
      +

      Modèle avec covariables sur probas d’appartenances aux groupes

      +

      \begin{align*} +\pmb{\beta}_{r}& = \begin{pmatrix} + \beta_{r,0}\\ + \vdots\\ + \beta_{r,p} +\end{pmatrix}, & X_j = \begin{pmatrix} + 1\\ + x_{1}\\ + \vdots\\ + x_p +\end{pmatrix}\\ +\pmb{\beta}_r^{\top}X_j& = \beta_{r,0} + \beta_{r,1} x_{1} + \dots + \beta_{r,p} x_p & \approx \log(\rho_r^j) \\ +\pmb{B} & = \begin{pmatrix} +\pmb{\beta}_1 \dots \pmb{\beta}_r \dots \pmb{\beta}_Q +\end{pmatrix} & \pmb{B}^{\top} X_j \approx \log(\pmb{\rho}^j) \\ +\pmb{B}^{\top} \pmb{X} & \approx \log((\pmb{\rho}^j)_{j=1,\dots,n_2}) = \log(\pmb{\Rho}) + +\end{align*}

      +

      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*}

      +

      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} +

      +
      +
      Modèle Sophie
      +

      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. Mais il y a besoin de poser une contrainte sur l’un des (\beta_r)_{r=1,\dots,R}, 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*}

      +
      +
      +
      +

      Bibliographie: à lire, à faire

      +
        +
      • Lire article multi-niveaux Saint-Clair
      • +
      • 🆕 🔎 Trouver des papiers: +
          +
        • LBM Negative Binomial
        • +
        • Network inference through sample comparison
        • +
      • +
      • Idée des groupes sur la base de distance phylogénétique: +
          +
        • En train de comprendre les distances que phyloseq permet de calculer sur notre exemple
        • +
        • En train de lire sur Principle coordinate analysis : https://openplantpathology.github.io/OPP_Workshop_Multivariate/2-MV_PCO.html
        • +
        • Parametric t-SNE pour avoir une unique représentation latente (inconvénient utilise du Deep Learning)
        • +
        • Lire Papier UniFrac
        • +
      • +
      +
      +
      +

      Réflexion

      +
        +
      • easy16s : se renseigner sur +
          +
        • \alpha, \beta diversité
        • +
        • Heatmap
        • +
      • +
      • Regarder SPARTA Rennes
      • +
      • Ecrire et étudier les modèles pour différents niveaux taxonomiques.
      • +
      • 🆕 Regarder NetComi
      • +
      • 🆕 Regarder OneNet car aggrégation plus robuste
      • +
      • 🆕 Réfléchir sens d’aggréger les données ou de les diviser
      • +
      +
      +
      +

      Écrire et faire tourner

      +
        +
      • Lancer colBiSBM sur OTU\times Sample → problème du chargement en mémoire des données à voir
      • +
      • Lancer colSBM sur OTU\times OTU
      • +
      • TabNet pratiquer les exercices
      • +
      • 🆕 SparCC à différent niveaux
      • +
      • 🆕 SBM à différent niveaux
      • +
      • 🆕⌛ Tree-PLN à différents niveaux
      • +
      +
      +
      +

      Causalité

      +

      Plus sur le temps long, à regarder

      +
        +
      • GT causalité
      • +
      • Daria Bystrova lire présentation Bystrova (s. d.) (Meek rules, V-structure)
      • +
      +
      +
      +
      +
      +

      A discuter

      +
        +
      • 🆕 Voir pour des Réseaux / GDR ou aller
      • +
      • 🆕 Chercher des cours à suivre
      • +
      +
      +
      +

      Biblio à faire

      +
        +
      • Regarder Transport optimal graphes bipartite.
      • +
      +
      +
      +

      Lectures en cours 📚

      +
      +

      HDR Vincent Brault

      +
        +
      • ⌛ Chap 2 : Creuser l’idée de maximiser l’énergie libre, très intéressant regarder le critère CARI et lire Robert et al 2021. Actuellement p32 du manuscrit
      • +
      • Chap 3
      • +
      +
      +
      +

      OT

      +
        +
      • Mazelet, Flamary, et Thirion (s. d.) Intéressant pour le transport optimal entre graphes de tailles différentes | Regarder si regularization entropique ne marche pas bien pour le graphe.
      • +
      • Nenna (s. d.b) Pour comprendre le problème d’OT régularisé pour l’entropie.
      • +
      • Nenna (s. d.a)
      • +
      +
      +
      +

      Inférence de graphes

      +
        +
      • Aitchison (1982), en cours

      • +
      • ❗📖 Payne et al. (2023) sur MixMPLN

      • +
      +
      +
      +

      Causalité

      + +
      +
      +

      Largest Gaps

      +
        +
      • ❗📖 Brault et Channarond (2023)
      • +
      • ❗📖 Channarond, Daudin, et Robin (2012) le papier qui introduit le Largest Gaps
      • +
      + + + +
      +
      + +

      Les références

      +
      +Abramov, Kesem, Barry Biton, Geut Galai, Rami Puzis, et Shai Pilosof. s. d. « Structure Knows Best: Predicting Ecological Interactions Across Space Through Pairwise Integration of Latent Network Patterns ». +
      +
      +Aitchison, J. 1982. « The Statistical Analysis of Compositional Data ». Journal of the Royal Statistical Society. Series B (Methodological) 44 (2): 139‑77. https://www.jstor.org/stable/2345821. +
      +
      +Brault, Vincent, et Antoine Channarond. 2023. « Fast and Consistent Algorithm for the Latent Block Model ». 9 mars 2023. https://doi.org/10.48550/arXiv.1610.09005. +
      +
      +Bystrova, Daria. s. d. « Causal Discovery ». +
      +
      +Channarond, Antoine, Jean-Jacques Daudin, et Stéphane Robin. 2012. « Classification and Estimation in the Stochastic Blockmodel Based on the Empirical Degrees ». Electronic Journal of Statistics 6 (janvier). https://doi.org/10.1214/12-ejs753. +
      +
      +Mazelet, Sonia, Rémi Flamary, et Bertrand Thirion. s. d. « Unsupervised Learning for Optimal Transport Plan Prediction Between Unbalanced Graphs ». +
      +
      +Nenna, Luca. s. d.a. « Lecture 1 Monge and Kantorovich Problems: From Primal to Dual ». +
      +
      +———. s. d.b. « Lecture 2: Entropic Optimal Transport ». +
      +
      +Payne, Andrea, Anjali Silva, Steven J. Rothstein, Paul D. McNicholas, et Sanjeena Subedi. 2023. « Finite Mixtures of Multivariate Poisson-Log Normal Factor Analyzers for Clustering Count Data ». 13 novembre 2023. https://doi.org/10.48550/arXiv.2311.07762. +
      +
      +Peixoto, Tiago P. 2014. « Hierarchical Block Structures and High-Resolution Model Selection in Large Networks ». Physical Review X 4 (1): 011047. https://doi.org/10.1103/PhysRevX.4.011047. +
      +
      + +
      + + + + + \ No newline at end of file