presentation : 1ere version sans application

This commit is contained in:
Louis Lacoste 2024-07-01 11:41:23 +02:00
parent f66c92f74f
commit 23e2b31329
6 changed files with 245 additions and 171 deletions

Binary file not shown.

View file

@ -97,54 +97,69 @@
\section{Contexte du modèle}
\label{sec:contexte-du-modele}
\begin{frame}
\frametitle{Contexte écologique}
\begin{itemize}
\item Faire de la détection de structure sur un réseau (SBM, LBM) mais intérêt à le faire sur plusieurs
\item De nombreux réseaux disponibles \parencite{WebLifeEcological} et décrivant des interactions similaires
\item Re-grouper les réseaux selon leur similarité (\emph{clustering} de réseaux)
\item Transférer de l'information grâce à la collection (par exemple reconstitution de données manquantes)
\item Déterminer des structures d'interactions fines de manière agnostique % Pas d'idee preco
%\item Vérifier si le regroupement est lié à des co-variables
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Réseaux bipartites\footnote{Ou \emph{bipartis}. Voir~\cite{larousseDefinitionsBipartiBipartite}.}}
\begin{columns}[c]
\begin{column}{0.65\textwidth}
\begin{figure}[ht]
\centering
\begin{tikzpicture}[scale=.65]
\input{../tikz/plantpollinatornetwork.tex}
\end{tikzpicture}
\caption{Exemple d'un réseau plantes-pollinisateurs}
\label{fig:plantes-pollin}
\end{figure}
\end{column}
\hfill
\begin{column}{0.35\linewidth}
\centering
\begin{align*}
X = \begin{pmatrix}
1 & 1 & 1 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 & 0 & 1 \\
1 & 0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 1 & 0
\end{pmatrix}
\end{align*}
\footnotesize
Matrice d'adjacence associée
\begin{frame}
\begin{columns}
\begin{column}{0.5\textwidth}
\begin{block}{Contexte écologique}
\begin{itemize}
\small
\item Nombreux réseaux disponibles pour
interactions similaires.
\item Suivi biodiversité, robustesse et risque
d'effondrement \dots
\end{itemize}
\begin{columns}
\begin{column}{0.5\textwidth}
\begin{figure}[ht]
\centering
\begin{tikzpicture}[scale=.45,rotate=270]
\input{../tikz/plantpollinatornetwork.tex}
\end{tikzpicture}
\caption{Exemple d'un réseau plantes-pollinisateurs}
\label{fig:plantes-pollin}
\end{figure}
\end{column}
\begin{column}{0.4\textwidth}
\centering
\begin{align*}
\begin{pmatrix}
1 & 1 & 1 \\
0 & 0 & 0 \\
1 & 0 & 0 \\
0 & 0 & 0
\end{pmatrix}
\end{align*}
\footnotesize
Matrice d'adjacence associée
\end{column}
\end{columns}
\end{block}
\end{column}
\onslide<2>{
\begin{column}{0.45\textwidth}
\begin{block}{Contexte mathématique}
Pour un unique réseau~: variables latentes,
\emph{embedding}, \dots
Motivations pour proposer des méthodes adaptées aux collections
de réseaux~:
\begin{itemize}
\item Espèces différentes, rôles analogues.
\item Transfert d'informations grands vers petits réseaux.
\item Regrouper les réseaux selon leur similarité (\emph{clustering}
de réseaux).
\end{itemize}
\end{block}
\end{column}
}
\end{columns}
\smallskip
Permet de décrire des interactions impliquant deux agents dont les rôles
sont de natures différentes.\\
Par exemple : hôtes-parasites, plantes-pollinisateurs, graines-disperseurs \dots
\end{frame}
\begin{frame}
\frametitle{Latent Block Model (LBM\footnotemark[2])}
\addtocounter{footnote}{1}
\frametitle{Latent Block Model (LBM\footnotemark[\thefootnote])}
%DONE remplacer i \in bullet par Zi = \bullet
Proposé par~\cite{govaertEMAlgorithmBlock2005}.
\begin{columns}
@ -154,7 +169,7 @@
\begin{tikzpicture}[scale=0.35]
\input{../tikz/lbm.tex}
\end{tikzpicture}
\caption{Exemple de LBM\footnotemark}
\caption{Exemple de LBM\footnotemark[\thefootnote]}
\label{fig:LBMvisu}
\end{figure}
\end{column}
@ -172,11 +187,11 @@
\end{column}
\end{columns}
\footnotetext{Que j'appellerai par la suite BiSBM}
\footnotetext[\thefootnote]{Que j'appellerai par la suite BiSBM}
\end{frame}
\section{Extension de \emph{colSBM} aux réseaux bipartites}
\section{Modèle de collection de réseaux bipartites}
\label{sec:extension-de-colsbm-aux-reseaux-bipartites}
\begin{frame}
\frametitle{Collections bipartites}
@ -234,36 +249,50 @@
\end{block}
\end{frame}
\section{Sélection de modèle}
\begin{frame}
\frametitle{Sélection de modèle : choix de $(Q_1,Q_2)$ - Approche gloutonne}
% DONE But maximiser un critere le BICL, deplacer voir St Clair dans la note
% VEM a Q1 Q2 fixer
% Choix de Q1 Q2 par maximisation du BICL
% Itemize dans la box : init, explo voisin, arrets
\underline{Le VEM se fait à $Q_1, Q_2$ fixés}, il faut donc déterminer les \enquote*{meilleures} coordonnées.
Nous maximisons un BIC-L\footnote{\emph{Bayesian Information Criterion - Like}, en adaptant les formules de~\cite{chabert-liddellLearningCommonStructures2023}}.
\frametitle{Choix de $(Q_1,Q_2)$ - Approche gloutonne}
\underline{L'estimation de paramètres se fait à $Q_1, Q_2$ fixés}, il faut donc déterminer les \enquote*{meilleures} coordonnées.
Nous maximisons un critère\footnote{
\emph{Bayesian Information Criterion - Like},
vraisemblance pénalisée en adaptant les formules
de~\cite{chabert-liddellLearningCommonStructures2024a}}.
Détermination d'un premier mode par approche \emph{gloutonne} \smallskip
\begin{columns}
\begin{column}{0.5\linewidth}
\begin{tikzpicture}
\input{../tikz/greedy-exploration.tex}
\end{tikzpicture}
\end{column}
\begin{column}{0.5\linewidth}
\begin{block}{Exploration gloutonne}
\begin{itemize}
\item Initialisation sur $(1,2)$ et $(2,1)$
\item Exploration des 4 voisins et déplacement sur le meilleur des 4
\item Arrêt après 2 étapes successives sans augmentation du BIC-L
\end{itemize}
\end{block}
\begin{column}{0.35\linewidth}
\begin{itemize}
\item Modèle initialisé~:\\
\begin{tikzpicture}
\draw[fill=gray, draw=gray] circle [radius=0.225cm];
\end{tikzpicture}
\onslide<2->{
\item Modèle après \emph{split}~:
\begin{tikzpicture}
\draw[fill=blueind, draw=blueind] circle [radius=0.225cm];
\end{tikzpicture}
\item Modèle maximisant le critère~:\\
\begin{tikzpicture}
\draw[fill=white, draw=green, very thick] circle [radius=0.225cm];
\end{tikzpicture}
}
\onslide<3->{
\item Modèle après \emph{merge}~:
\begin{tikzpicture}
\draw[fill=red, draw=red] circle [radius=0.225cm];
\end{tikzpicture}
}
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Sélection de modèle : choix de $(Q_1,Q_2)$ - Fenêtre glissante}
\frametitle{Choix de $(Q_1,Q_2)$ - Fenêtre glissante}
\begin{columns}
\begin{column}{0.6\textwidth}
\begin{figure}
@ -287,43 +316,18 @@
\end{frame}
\begin{frame}
\frametitle{Clustering de réseaux}
\begin{tikzpicture}
\tikzstyle{instruct}=[font=\small, text justified, rectangle,draw,fill=yellow!50]
\tikzstyle{first_col}=[rectangle, text justified, draw,fill=gray!50]
\tikzstyle{second_col}=[scale=0.55, circle, draw,fill=red!50]
\tikzstyle{test}=[font=\small, text justified, diamond, aspect=2.5,thick,
draw=blue,fill=yellow!50,text=blue]
\tikzstyle{es}=[font=\small, text justified, rectangle,draw,rounded corners=4pt,fill=cyanind!25]
\node[es] (liste) at (0,4) {Donner une collection à partitionner};
\node[instruct, text width=5cm, below = 0.45cm of liste] (1-collection) {Ajuster \emph{colBiSBM}};
\node[first_col, right = 0.5cm of 1-collection] (1-col-obj) {};
\node[instruct, text width=5cm, below = 0.45cm of 1-collection] (dissimi) {Calculer une matrice de dissimilarité de la collection};
\node[instruct, text width=5cm, below = 0.45cm of dissimi] (2-sous-collection) {Séparer la \emph{collection en 2 sous-collections} et ajuster les \emph{colBiSBM}};
\node[second_col, right = 0.25cm of 2-sous-collection] (1-sec-col-obj) {1};
\node[second_col, right = 0.25cm of 1-sec-col-obj] (1-sec-col-obj) {2};
\node[test,below = 0.45cm of 2-sous-collection, scale=0.5] (BICL-test) {$\sum_{i=1}^{2} (\text{BIC-L}(\tikz[baseline=-0.25cm]{\node[second_col] {i};} )) > \text{BIC-L}(\tikz[baseline=-0.25cm]{\node[first_col] {};})$?};
\node[es, right = 0.55cm of BICL-test] (sortie) {Renvoyer \tikz{\node[rectangle, draw, fill=gray!50, rounded corners=0pt] {};}};
\node[es, left = 0.45cm of dissimi, text width = 2cm] (recursion) {Recommencer sur \tikz{\node[second_col] {1};} et \tikz{\node[second_col] {2};} };
\tikzstyle{suite}=[->,>=stealth,thick,rounded corners=4pt]
\draw[suite] (liste) -- (1-collection);
\draw[suite] (1-collection) -- (dissimi);
\draw[suite] (dissimi) -- (2-sous-collection);
\draw[suite] (2-sous-collection) -- (BICL-test);
\draw[suite] (BICL-test) -| node[near start, above, fill=none] {Oui} (recursion);
\draw[suite] (recursion.north) |- (1-collection.west);
\draw[suite] (BICL-test) -- node[near start, above, fill=none] {Non} (sortie);
\end{tikzpicture}
\blfootnote{Même approche que~\cite{chabert-liddellLearningCommonStructures2023}}
\end{frame}
\section{Application}
\label{sec:application}
\begin{frame}
\frametitle{Clustering de réseaux}
\begin{tikzpicture}
\input{../tikz/clustering.tex}
\end{tikzpicture}
\end{frame}
\section{Conclusion}
\label{sec:conclusion}
\begin{frame}
@ -332,20 +336,24 @@
% Rappeler les modeles avec clustering
% Evoquer l'analyse de reseaux corrigés pour l'échantillonnage
% Lien vers le package
\begin{block}{Capacités}
\begin{itemize}
\item 4 modèles dont 3 qui ont une flexibilité sur au moins une des
dimensions (adaptabilité aux données).
\item Partitionner un ensemble de réseaux selon leurs structures.
\end{itemize}
\end{block}
\begin{itemize}
\item 4 modèles dont 3 qui ont une flexibilité sur au moins une des dimensions (adaptabilité aux données)
\item Partitionner un ensemble de réseaux selon leurs structures
\item Comparer les \emph{clusterings} de réseaux obtenus entre données brutes et données corrigées (par exemple par la méthode \emph{CoOPLBM}\footnote{~\cite{anakokDisentanglingStructureEcological2022}})
\end{itemize}
\begin{block}{Perspectives}
\begin{itemize}
\item Investiguer stabilité à la \emph{graine}.
\item Preuve d'identifiabilité du modèle $\pi\rho$.
\end{itemize}
\end{block}
\bigskip
\centering
Le package est disponible sur GitHub : \faGithub \url{https://github.com/Chabert-Liddell/colSBM}
\bigskip
\huge
Merci pour votre attention !
Merci pour votre attention~!
\end{frame}
\renewcommand{\pgfuseimage}[1]{\scalebox{.75}{\includegraphics{#1}}}

View file

@ -10,7 +10,7 @@
author = {Anakok, Emre and Barbillon, Pierre and Fontaine, Colin and Thebault, Elisa},
date = {2022-11-29},
eprint = {2211.16364},
eprinttype = {arxiv},
eprinttype = {arXiv},
eprintclass = {stat},
url = {http://arxiv.org/abs/2211.16364},
urldate = {2023-06-14},
@ -79,7 +79,7 @@
author = {Chabert-Liddell, Saint-Clair and Barbillon, Pierre and Donnet, Sophie},
date = {2023-03-27},
eprint = {2206.00560},
eprinttype = {arxiv},
eprinttype = {arXiv},
eprintclass = {stat},
doi = {10.48550/arXiv.2206.00560},
url = {http://arxiv.org/abs/2206.00560},
@ -90,12 +90,29 @@
file = {/home/polarolouis/Zotero/storage/M74TXGCF/Chabert-Liddell et al. - 2023 - Learning common structures in a collection of netw.pdf;/home/polarolouis/Zotero/storage/A35M8KNP/2206.html}
}
@article{chabert-liddellLearningCommonStructures2024a,
title = {Learning Common Structures in a Collection of Networks. {{An}} Application to Food Webs},
author = {Chabert-Liddell, Saint-Clair and Barbillon, Pierre and Donnet, Sophie},
date = {2024-06},
journaltitle = {The Annals of Applied Statistics},
volume = {18},
number = {2},
pages = {1213--1235},
publisher = {Institute of Mathematical Statistics},
issn = {1932-6157, 1941-7330},
doi = {10.1214/23-AOAS1831},
url = {https://projecteuclid.org/journals/annals-of-applied-statistics/volume-18/issue-2/Learning-common-structures-in-a-collection-of-networks-An-application/10.1214/23-AOAS1831.full},
urldate = {2024-07-01},
abstract = {Let a collection of networks represent interactions within several (social or ecological) systems. We pursue two objectives: identifying similarities in the topological structures that are held in common between the networks and clustering the collection into subcollections of structurally homogeneous networks. We tackle these two questions with a probabilistic model-based approach. We propose an extension of the stochastic block model (SBM) adapted to the joint modeling of a collection of networks. The networks in the collection are assumed to be independent realizations of SBMs. The common connectivity structure is imposed through the equality of some parameters. The model parameters are estimated with a variational expectation-maximization (EM) algorithm. We derive an ad hoc penalized likelihood criterion to select the number of blocks and to assess the adequacy of the consensus found between the structures of the different networks. This same criterion can also be used to cluster networks on the basis of their connectivity structure. It thus provides a partition of the collection into subsets of structurally homogeneous networks. The relevance of our proposition is assessed on two collections of ecological networks. First, an application to three stream food webs reveals the homogeneity of their structures and the correspondence between groups of species in different ecosystems playing equivalent ecological roles. Moreover, the joint analysis allows a finer analysis of the structure of smaller networks. Second, we cluster 67 food webs according to their connectivity structures and demonstrate that five mesoscale structures are sufficient to describe this collection.},
keywords = {clustering,ecology,latent variable models,networks,Stochastic block model},
file = {/home/polarolouis/Zotero/storage/9XBNTTWB/Chabert-Liddell et al. - 2024 - Learning common structures in a collection of netw.pdf}
}
@article{daudinMixtureModelRandom2008,
title = {A Mixture Model for Random Graphs},
author = {Daudin, J.-J. and Picard, F. and Robin, S.},
date = {2008-06-01},
journaltitle = {Statistics and Computing},
shortjournal = {Stat Comput},
journaltitle = {Stat Comput},
volume = {18},
number = {2},
pages = {173--183},
@ -105,7 +122,7 @@
urldate = {2023-06-16},
abstract = {The ErdösRényi model of a network is simple and possesses many explicit expressions for average and asymptotic properties, but it does not fit well to real-world networks. The vertices of those networks are often structured in unknown classes (functionally related proteins or social communities) with different connectivity properties. The stochastic block structures model was proposed for this purpose in the context of social sciences, using a Bayesian approach. We consider the same model in a frequentest statistical framework. We give the degree distribution and the clustering coefficient associated with this model, a variational method to estimate its parameters and a model selection criterion to select the number of classes. This estimation procedure allows us to deal with large networks containing thousands of vertices. The method is used to uncover the modular structure of a network of enzymatic reactions.},
langid = {english},
keywords = {Mixture models,Random graphs,Variational~method},
keywords = {Mixture models,Random graphs,Variational method},
file = {/home/polarolouis/Zotero/storage/439HK27B/Daudin et al. - 2008 - A mixture model for random graphs.pdf;/home/polarolouis/Zotero/storage/HVVF5MNY/daudin2007.pdf.pdf}
}
@ -114,10 +131,9 @@
author = {Desjardins-Proulx, Philippe and Laigle, Idaline and Poisot, Timothée and Gravel, Dominique},
date = {2017-08-10},
journaltitle = {PeerJ},
shortjournal = {PeerJ},
volume = {5},
pages = {e3644},
publisher = {{PeerJ Inc.}},
publisher = {PeerJ Inc.},
issn = {2167-8359},
doi = {10.7717/peerj.3644},
url = {https://peerj.com/articles/3644},
@ -169,7 +185,7 @@
volume = {39},
number = {3},
pages = {416--425},
publisher = {{Taylor \& Francis}},
publisher = {Taylor \& Francis},
issn = {0361-0926},
doi = {10.1080/03610920903140197},
url = {https://doi.org/10.1080/03610920903140197},
@ -185,7 +201,6 @@
author = {Holland, Paul W. and Laskey, Kathryn Blackmond and Leinhardt, Samuel},
date = {1983-06-01},
journaltitle = {Social Networks},
shortjournal = {Social Networks},
volume = {5},
number = {2},
pages = {109--137},
@ -203,7 +218,6 @@
author = {Hubert, Lawrence and Arabie, Phipps},
date = {1985-12-01},
journaltitle = {Journal of Classification},
shortjournal = {Journal of Classification},
volume = {2},
number = {1},
pages = {193--218},
@ -225,7 +239,7 @@
volume = {11},
number = {12},
pages = {3392},
publisher = {{Multidisciplinary Digital Publishing Institute}},
publisher = {Multidisciplinary Digital Publishing Institute},
issn = {2076-2615},
doi = {10.3390/ani11123392},
url = {https://www.mdpi.com/2076-2615/11/12/3392},
@ -248,12 +262,12 @@
file = {/home/polarolouis/Zotero/storage/MA2VH6NX/9503.html}
}
@article{maeldoreMaelDorePollinationNetworks2020,
@article{maeldoreMaelDorePollination_networksScripts2020,
title = {{{MaelDore}}/{{Pollination}}\_networks: {{R}} Scripts for {{Doré}} et al., 2020 - {{Relative}} Effects of Anthropogenic Pressures, Climate, and Sampling Design on the Structure of Pollination Networks at the Global Scale},
shorttitle = {{{MaelDore}}/{{Pollination}}\_networks},
author = {MaelDore},
date = {2020-11-25},
publisher = {{Zenodo}},
publisher = {Zenodo},
doi = {10.5281/ZENODO.4290503},
url = {https://zenodo.org/record/4290503},
urldate = {2023-06-21},
@ -267,8 +281,8 @@
date = {1976},
volume = {90},
pages = {1--568},
publisher = {{Ottawa Field-Naturalists' Club}},
location = {{Ottawa}},
publisher = {Ottawa Field-Naturalists' Club},
location = {Ottawa},
issn = {0008-3550},
url = {https://www.biodiversitylibrary.org/item/89149},
pagetotal = {568},
@ -281,7 +295,6 @@
author = {Pavlopoulos, Georgios A and Kontou, Panagiota I and Pavlopoulou, Athanasia and Bouyioukos, Costas and Markou, Evripides and Bagos, Pantelis G},
date = {2018-04-01},
journaltitle = {GigaScience},
shortjournal = {GigaScience},
volume = {7},
number = {4},
pages = {giy014},
@ -298,7 +311,6 @@
author = {Ramos-Jiliberto, Rodrigo and Domínguez, Daniela and Espinoza, Claudia and López, Gioconda and Valdovinos, Fernanda S. and Bustamante, Ramiro O. and Medel, Rodrigo},
date = {2010-03-01},
journaltitle = {Ecological Complexity},
shortjournal = {Ecological Complexity},
volume = {7},
number = {1},
pages = {86--90},
@ -316,8 +328,7 @@
title = {Estimation and {{Prediction}} for {{Stochastic Blockmodels}} for {{Graphs}} with {{Latent Block Structure}}},
author = {Snijders, Tom A.B. and Nowicki, Krzysztof},
date = {1997-01-01},
journaltitle = {Journal of Classification},
shortjournal = {J. of Classification},
journaltitle = {J. of Classification},
volume = {14},
number = {1},
pages = {75--100},
@ -335,7 +346,7 @@
title = {A Database of Plant-Pollinator Networks},
author = {Thébault, Elisa and Fontaine, Colin},
date = {2020-12-01},
publisher = {{Zenodo}},
publisher = {Zenodo},
doi = {10.5281/zenodo.4300427},
url = {https://zenodo.org/record/4300427},
urldate = {2023-06-21},
@ -348,7 +359,7 @@
title = {A Database of Plant-Pollinator Networks},
author = {Thébault, Elisa and Fontaine, Colin},
date = {2020-12-01},
publisher = {{Zenodo}},
publisher = {Zenodo},
doi = {10.5281/ZENODO.4300427},
url = {https://zenodo.org/record/4300427},
urldate = {2023-06-21},
@ -360,12 +371,12 @@
@dataset{thebaultelisaDatabasePlantpollinatorNetworks2022,
title = {A Database of Plant-Pollinator Networks},
author = {Thébault, Elisa and Fontaine, Colin},
editora = {Doré, Maël and Parra, Santiago},
editoratype = {collaborator},
namea = {Doré, Maël and Parra, Santiago},
nameatype = {collaborator},
date = {2022-06-10},
publisher = {{Zenodo}},
doi = {10.5281/ZENODO.6630184},
url = {https://zenodo.org/record/6630184},
publisher = {Zenodo},
doi = {10.5281/ZENODO.4300426},
url = {https://zenodo.org/record/4300426},
urldate = {2023-06-21},
abstract = {This database assembles different published datasets of observed interaction networks between plants and pollinators, which were extracted from articles, theses and existing online databases. Each row in the data table corresponds to an interaction between a plant and a pollinator species reported at a given site by a given publication.},
version = {2},
@ -375,12 +386,12 @@
@dataset{thebaultelisaDatabasePlantpollinatorNetworks2022a,
title = {A Database of Plant-Pollinator Networks},
author = {Thébault, Elisa and Fontaine, Colin},
editora = {Doré, Maël and Parra, Santiago},
editoratype = {collaborator},
namea = {Doré, Maël and Parra, Santiago},
nameatype = {collaborator},
date = {2022-06-10},
publisher = {{Zenodo}},
doi = {10.5281/ZENODO.4300426},
url = {https://zenodo.org/record/4300426},
publisher = {Zenodo},
doi = {10.5281/ZENODO.6630184},
url = {https://zenodo.org/record/6630184},
urldate = {2023-06-21},
abstract = {This database assembles different published datasets of observed interaction networks between plants and pollinators, which were extracted from articles, theses and existing online databases. Each row in the data table corresponds to an interaction between a plant and a pollinator species reported at a given site by a given publication.},
version = {2},
@ -402,6 +413,6 @@
urldate = {2023-08-06},
abstract = {Insect pollinators of the Mer Bleue peat bog of Ottawa - Biodiversity ...},
langid = {english},
organization = {{yumpu.com}},
organization = {yumpu.com},
file = {/home/polarolouis/Zotero/storage/DIXT2PYL/insect-pollinators-of-the-mer-bleue-peat-bog-of-ottawa-biodiversity-.html}
}

26
tikz/clustering.tex Normal file
View file

@ -0,0 +1,26 @@
\tikzstyle{instruct}=[font=\small, text justified, rectangle,draw,fill=yellow!50]
\tikzstyle{first_col}=[rectangle, text justified, draw,fill=gray!50]
\tikzstyle{second_col}=[scale=0.55, circle, draw,fill=red!50]
\tikzstyle{test}=[font=\small, text justified, diamond, aspect=2.5,thick,
draw=blue,fill=yellow!50,text=blue]
\tikzstyle{es}=[font=\small, text justified, rectangle,draw,rounded corners=4pt,fill=cyanind!25]
\node[es] (liste) at (0,4) {Donner une collection à partitionner};
\node[instruct, text width=5cm, below = 0.45cm of liste] (1-collection) {Ajuster \emph{colBiSBM}};
\node[first_col, right = 0.5cm of 1-collection] (1-col-obj) {};
\node[instruct, text width=5cm, below = 0.45cm of 1-collection] (dissimi) {Calculer une matrice de dissimilarité de la collection};
\node[instruct, text width=5cm, below = 0.45cm of dissimi] (2-sous-collection) {Séparer la \emph{collection en 2 sous-collections} et ajuster les \emph{colBiSBM}};
\node[second_col, right = 0.25cm of 2-sous-collection] (1-sec-col-obj) {1};
\node[second_col, right = 0.25cm of 1-sec-col-obj] (1-sec-col-obj) {2};
\node[test,below = 0.45cm of 2-sous-collection, scale=0.5] (BICL-test) {$\sum_{i=1}^{2} (\text{BIC-L}(\tikz[baseline=-0.25cm]{\node[second_col] {i};} )) > \text{BIC-L}(\tikz[baseline=-0.25cm]{\node[first_col] {};})$?};
\node[es, right = 0.55cm of BICL-test] (sortie) {Renvoyer \tikz{\node[rectangle, draw, fill=gray!50, rounded corners=0pt] {};}};
\node[es, left = 0.45cm of dissimi, text width = 2cm] (recursion) {Recommencer sur \tikz{\node[second_col] {1};} et \tikz{\node[second_col] {2};} };
\tikzstyle{suite}=[->,>=stealth,thick,rounded corners=4pt]
\draw[suite] (liste) -- (1-collection);
\draw[suite] (1-collection) -- (dissimi);
\draw[suite] (dissimi) -- (2-sous-collection);
\draw[suite] (2-sous-collection) -- (BICL-test);
\draw[suite] (BICL-test) -| node[near start, above, fill=none] {Oui} (recursion);
\draw[suite] (recursion.north) |- (1-collection.west);
\draw[suite] (BICL-test) -- node[near start, above, fill=none] {Non} (sortie);

View file

@ -1,26 +1,68 @@
\draw[step=1cm, help lines] (-2,-2) grid (2,2);
\foreach \x in {1,...,5} \draw (\x-3,-2 + .1)--(\x-3,-2 -.3) node[below] {\footnotesize $\x$};
\foreach \y in {1,...,5} \draw (-2 + .1, \y-3)--(-2 -.3,\y-3) node[below] {\footnotesize $\y$};
\draw[fill=gray, draw=gray] (0,0) circle [radius=0.225cm];
\draw[fill=blueind, draw=blueind] (1,0) circle [radius=0.225cm];
\draw[fill=blueind, draw=blueind] (0,1) circle [radius=0.225cm];
\draw[fill=red, draw=red] (-1,0) circle [radius=0.225cm];
\draw[fill=red, draw=red] (0,-1) circle [radius=0.225cm];
% \draw[fill=gray, draw=gray] (0,0) circle [radius=0.225cm];
% \draw[fill=blueind, draw=blueind] (1,0) circle [radius=0.225cm];
% \draw[fill=blueind, draw=blueind] (0,1) circle [radius=0.225cm];
% \draw[fill=red, draw=red] (-1,0) circle [radius=0.225cm];
% \draw[fill=red, draw=red] (0,-1) circle [radius=0.225cm];
% Légende
\node[font=\tiny, text justified,fill=none, rotate=-45] (Splits) at (0.5,0.5){{\color{blueind} Splits}};
\node[font=\tiny, text justified,fill=none, rotate=-45] (Merges) at (-0.5,-0.5){{\color{red} Merges}};
% % Légende
% \node[font=\tiny, text justified,fill=none, rotate=-45] (Splits) at (0.5,0.5){{\color{blueind} Splits}};
% \node[font=\tiny, text justified,fill=none, rotate=-45] (Merges) at (-0.5,-0.5){{\color{red} Merges}};
% Splitting
\draw[>=stealth,->,thick, draw=blueind] (0.225,0) -- +(0.55,0);
\draw[>=stealth,->,thick, draw=blueind] (0,0.225) -- +(0,0.55);
% % Splitting
% \draw[>=stealth,->,thick, draw=blueind] (0.225,0) -- +(0.55,0);
% \draw[>=stealth,->,thick, draw=blueind] (0,0.225) -- +(0,0.55);
% Merging
\draw[>=stealth,->,thick, draw=red] (-0.225,0) -- +(-0.55,0);
\draw[>=stealth,->,thick, draw=red] (0,-0.225) -- +(0,-0.55);
% % Merging
% \draw[>=stealth,->,thick, draw=red] (-0.225,0) -- +(-0.55,0);
% \draw[>=stealth,->,thick, draw=red] (0,-0.225) -- +(0,-0.55);
% Axes
\draw[>=to,->,thick] (-2,-2) -- +(4.3,0);
\node[font=\small, fill=none] (Q_1) at (2.6,-2) {$Q_1$};
\draw[>=to,->,thick] (-2,-2) -- +(0,4.3);
\node[font=\small, fill=none] (Q_2) at (-2, 2.6) {$Q_2$};
% Init
\onslide<1->{
\draw[fill=gray, draw=gray] (-1,-2) circle [radius=0.225cm];
\draw[fill=gray, draw=gray] (-2,-1) circle [radius=0.225cm];
\draw[fill=gray, draw=gray] (-2,-2) circle [radius=0.225cm];
}
\onslide<2->{
% New models
\draw[fill=blueind, draw=blueind] (0,-2) circle [radius=0.225cm];
\draw[fill=blueind, draw=blueind] (-2, 0) circle [radius=0.225cm];
}
\onslide<2-3>{
\draw[fill=blueind, draw=green, very thick] (-1,-1) circle [radius=0.225cm];
}
\onslide<2>{
% Splits
\draw[>=stealth,->,thick, draw=blueind] (-1 + 0.225,-2 + 0) -- +(0.55,0);
\draw[>=stealth,->,thick, draw=blueind] (-1 + 0, -2 + 0.225) -- +(0,0.55);
\draw[>=stealth,->,thick, draw=blueind] (-2 + 0.225,-1 + 0) -- +(0.55,0);
\draw[>=stealth,->,thick, draw=blueind] (-2 + 0, -1 + 0.225) -- +(0,0.55);
}
\onslide<3>{
% updated models
\draw[fill=blueind, draw=blueind] (-1,-1) circle [radius=0.225cm];
\draw[fill=red, draw=red] (-2, -1) circle [radius=0.225cm];
% merge
\draw[>=stealth,->,thick, draw=red] (-1 - 0, -1 - 0.225) -- +(0,-0.55);
\draw[>=stealth,->,thick, draw=red] (-1 - 0.225, -1 - 0) -- +(-0.55,0);
%splits
\draw[>=stealth,->,thick, draw=blueind] (-1 + 0.225,-1 + 0) -- +(0.55,0);
\draw[>=stealth,->,thick, draw=blueind] (-1 + 0, -1 + 0.225) -- +(0,0.55);
}
\onslide<3->{
\draw[fill=blueind, draw=green, very thick] (-1,0) circle [radius=0.225cm];
\draw[fill=blueind, draw=blueind] (0,-1) circle [radius=0.225cm];
}

View file

@ -1,27 +1,20 @@
\tikzstyle{every edge}=[-,>=stealth',shorten >=1pt,auto,thin,draw]
\tikzstyle{every state}=[draw, text=white,scale=0.70, font=\scriptsize, transform shape]
% Upper level
\tikzstyle{every state}=[draw=none,text=white,scale=0.55, font=\scriptsize, transform shape]
% premier cluster
\tikzstyle{every node}=[fill=green!50!blue!20!white]
\node[state] (N1) at (1.1,3) {\includegraphics[width=.15\textwidth]{pollen.png}};
\node[state, right = of N1] (N2) {\includegraphics[width=.15\textwidth]{pollen.png}}; % at (.75,3)
\node[state, right = of N2] (N3) {\includegraphics[width=.15\textwidth]{pollen.png}}; % at (1.5,3)
\node[state, right = of N3] (N4) {\includegraphics[width=.15\textwidth]{pollen.png}}; % at (2.25,3)
\node[state] (N1) at (0.05,3) {\includegraphics[width=.2\textwidth]{pollen.png}};
\node[state, right = of N1] (N2) {\includegraphics[width=.2\textwidth]{pollen.png}}; % at (.75,3)
\node[state, right = of N2] (N3) {\includegraphics[width=.2\textwidth]{pollen.png}}; % at (1.5,3)
% \node[state] (N5) at (3,3) {\includegraphics[width=.1\textwidth]{pollen.png}};
% \node[state] (N6) at (3.75,3) {\includegraphics[width=.1\textwidth]{pollen.png}};
\tikzstyle{every node}=[shape=rectangle,fill=red!50!blue!20!white]
% \node[state, fill = white] (P) at (-1.5, 0) {\includegraphics[width=.08\textwidth]{bee.png}};
\node[state, tokens=0] (P1) at (-1, 0) {\includegraphics[width=.1\textwidth]{bee.png}};
\node[state, tokens=0, right = of P1] (P2) {\includegraphics[width=.1\textwidth]{bee.png}}; % at (-.25, 0)
\node[state, tokens=0, right = of P2] (P3) {\includegraphics[width=.1\textwidth]{bee.png}}; %at (.5, 0)
\node[state, tokens=0, right = of P3] (P4) {\includegraphics[width=.1\textwidth]{bee.png}}; % at (1.25, 0)
\node[state, tokens=0, right = of P4] (P5) {\includegraphics[width=.1\textwidth]{bee.png}};% at (2,0)
\node[state, tokens=0, right = of P5] (P6) {\includegraphics[width=.1\textwidth]{bee.png}}; % at (2.75,0)
% \node[state, tokens=0] (P7) at (3.5,0) {\includegraphics[width=.1\textwidth]{bee.png}};
% \node[state, tokens=0] (P8) at (4.25,0) {\includegraphics[width=.1\textwidth]{bee.png}};
\node[state, tokens=0] (P1) at (-1, 0) {\includegraphics[width=.2\textwidth]{bee.png}};
\node[state, tokens=0, right = of P1] (P2) {\includegraphics[width=.2\textwidth]{bee.png}}; % at (-.25, 0)
\node[state, tokens=0, right = of P2] (P3) {\includegraphics[width=.2\textwidth]{bee.png}}; %at (.5, 0)
\node[state, tokens=0, right = of P3] (P4) {\includegraphics[width=.2\textwidth]{bee.png}}; % at (1.25, 0)
\tikzstyle{every edge}=[>=stealth,shorten >=1pt,auto,thin,draw]
\path (P1) edge (N1);
@ -29,10 +22,4 @@
\path (P3) edge (N1);
\path (P4) edge (N2);
\path (P4) edge (N1);
\path (P6) edge (N2);
\path (P1) edge (N3);
%\path (P7) edge (N4);
%\path (P8) edge (N5);
%\path (P4) edge (N6);
\path (P5) edge (N3);
\path (P5) edge (N4);