\section{Model Context}
\label{sec:context-of-the-model}

\begin{frame}
    \frametitle{Why a network?}
    \begin{columns}
        \begin{column}{0.5\textwidth}
            \begin{columns}
                \begin{column}{0.5\textwidth}
                    \begin{figure}[ht]
                        \centering
                        \begin{tikzpicture}[scale=.6,rotate=270]
                            \input{tikz/plantpollinatornetwork.tex}
                        \end{tikzpicture}
                        \caption{Example of a network}
                        \label{fig:plants-pollin}
                    \end{figure}
                \end{column}
                \begin{column}{0.3\textwidth}
                    \centering
                    \begin{align*}
                        \begin{pmatrix}
                            1 & 0 & 1 \\
                            1 & 0 & 0 \\
                            1 & 0 & 0 \\
                            1 & 1 & 0
                        \end{pmatrix}
                    \end{align*}
                    \footnotesize
                    Associated bi-adjacency matrix
                \end{column}
            \end{columns}
            \begin{figure}[ht]
                \centering
                \includegraphics[width=0.7\textwidth]{tikz/applications/baldock/graph-Baldock2019_Bristol.pdf}
                \caption{Plant-pollinator network from
                    Bristol\newline\cite{baldockSystemsApproachReveals2019}}
                \label{fig:label}
            \end{figure}
        \end{column}
        \begin{column}{0.5\textwidth}
            \begin{itemize}
                \item Increasingly available
                \item Modeling of various interactions, here ecosystems
                \item Structure necessary for: biodiversity monitoring, robustness, risk of collapse
            \end{itemize}
        \end{column}
    \end{columns}
\end{frame}

\begin{frame}{Analysis methods for a network}
    Several methods~:
    \begin{itemize}
        \item Metrics at \begin{itemize}
                  \item node level: degree, centrality\dots
                  \item network level: density, nestedness\dots
              \end{itemize}
        \item \textbf<2>{Node embedding and/or clustering with latent variable models}
              \\\cite{snijdersEstimationPredictionStochastic1997,hoffLatentSpaceApproaches2002}
        \item Node or network embedding with Graph Convolutional Networks
              \\\cite{kipfVariationalGraphAutoEncoders2016a}
    \end{itemize}
\end{frame}

\begin{frame}
    \addtocounter{footnote}{1}
    \frametitle{Latent Block Model (LBM\footnotemark[\thefootnote])}
    %DONE remplacer i \in bullet par Zi = \bullet
    \cite{govaertEMAlgorithmBlock2005}.
    \begin{columns}
        \begin{column}{0.40\linewidth}
            \begin{figure}[H]
                \center
                \begin{tikzpicture}[scale=0.35]
                    \input{tikz/lbm.tex}
                \end{tikzpicture}
                \caption{Example of LBM\footnotemark[\thefootnote]}
                \label{fig:LBMvisu}
            \end{figure}
        \end{column}
        \only<1>{
            \begin{column}{0.51\linewidth}
                \begin{block}{Hierarchical model}
                    \vspace{-\baselineskip}
                    \begin{align*}
                        \forall q\in[\![ 1, Q_1]\!],~ & \mathbb{P}(Z_i = q) = \pi_q                          \\
                        \forall r\in[\![ 1, Q_2]\!],~ & \mathbb{P}(W_j = r) =  \rho_r                        \\
                                                      & Y_{ij} | Z_i, W_j \sim \mathcal{F}(\alpha_{Z_i,W_j})
                    \end{align*}
                    where $|\pi| = Q_1, |\rho| = Q_2, |\alpha| = Q_1 \times Q_2$
                \end{block}
                \begin{block}{Concise LBM formula}
                    $Y \sim \mathcal{F}\text{-BiSBM}_{n_1,n_2}(Q_1, Q_2, \pi, \rho, \alpha)$
                \end{block}
            \end{column}}
        \only<2>{
            \begin{column}{0.51\linewidth}
                With \begin{itemize}
                    \item $Q_1 = |\{{\color{blueind}\bullet},{\color{cyanind}\bullet},{\color{electricblue}\bullet}\}|$ fixed row blocks
                    \item $Q_2 = |\{{\color{burntorange}\bullet},{\color{goldenyellow}\bullet},{\color{peach}\bullet}\}|$ fixed column blocks
                \end{itemize}
                \begin{block}{Parameters}
                    \begin{itemize}
                        \item $\pi_{{\color{blueind}\bullet}} = \mathbb{P}(Z_i = {\color{blueind}\bullet})$
                        \item $\rho_{{\color{burntorange}\bullet}} = \mathbb{P}(W_j = {\color{burntorange}\bullet})$
                        \item $\alpha_{{\color{blueind}\bullet}{\color{burntorange}\bullet}} = \mathbb{P}(Y_{ij} = 1 | Z_i = {\color{blueind}\bullet}, W_j = {\color{burntorange}\bullet})$
                    \end{itemize}
                \end{block}
            \end{column}}
    \end{columns}

    \footnotetext[\thefootnote]{Which I will henceforth call BiSBM}
\end{frame}

\begin{frame}
    \frametitle{Multiple networks}
    \only<1>{\begin{figure}[ht]
            \centering
            \begin{subfigure}[ht]{0.475\textwidth}
                \centering
                \includegraphics[width=0.5\textwidth]{tikz/applications/baldock/mat-Baldock2019_Bristol.pdf}
                \caption{Bristol}
            \end{subfigure}
            \begin{subfigure}[ht]{0.475\textwidth}
                \centering
                \includegraphics[width=0.5\textwidth]{tikz/applications/baldock/mat-Baldock2019_Edinburgh.pdf}
                \caption{Edinburgh}
            \end{subfigure}
            \hfill
            \begin{subfigure}[ht]{0.475\textwidth}
                \centering
                \includegraphics[width=0.5\textwidth]{tikz/applications/baldock/mat-Baldock2019_Leeds.pdf}
                \caption{Leeds}
            \end{subfigure}
            \begin{subfigure}[ht]{0.475\textwidth}
                \centering
                \includegraphics[width=0.5\textwidth]{tikz/applications/baldock/mat-Baldock2019_Reading.pdf}
                \caption{Reading}
            \end{subfigure}
            \caption{Adjacency matrices,~\cite{baldockSystemsApproachReveals2019}}
            \label{fig:adj}
        \end{figure}}
    \only<2>{
        \addtocounter{figure}{1}
        \begin{figure}[ht]
            \centering
            \begin{tikzpicture}
                \tikzset{city/.style={circle, fill=white, draw=red, inner sep=0.65,minimum size=0}}
                \node (map) at (0,0) {\includegraphics[width=0.35\textwidth]{img/uk-map.png}};
                \node[city, pin={[pin edge={<-,thick}, pin distance = 25mm]180:Leeds}] (leeds) at (0.2,0.03) {};
                \node[city, pin={[pin edge={<-,thick}, pin distance = 30mm]0:Edinburgh}] (edinburgh) at (-0.58,1.84) {};
                \node[city, pin={[pin edge={<-,thick}, pin distance = 20mm]180:Bristol}] (bristol) at (-0.3,-1.82) {};
                \node[city, pin={[pin edge={<-,thick}, pin distance = 20mm]0:Reading}] (reading) at (0.5,-1.82) {};

            \end{tikzpicture}
            \caption{Map of the four cities}
        \end{figure}}
\end{frame}

\section[Bipartite collection models]{Bipartite network collection models}
\label{sec:extension-of-colsbm-to-bipartite-networks}
\begin{frame}
    \frametitle{Model 0: sep-BiSBM}
    \footnotesize
    $
        \forall m \in \{1\dots M\}, Y^m \overset{ind}{\sim} \mathcal{F}\text{-BiSBM}_{n_1^m,n_2^m}(Q_1\alert<2>{^m}, Q_2\alert<2>{^m}, \pi\alert<2>{^m}, \rho\alert<2>{^m}, \alpha\alert<2>{^m})
    $
    \onslide<3>{
        \begin{figure}[ht]
            \centering
            \begin{subfigure}[ht]{0.42\textwidth}
                \centering
                \includegraphics[width=0.5\textwidth]{tikz/applications/baldock/bisbm-mat-Baldock2019_Bristol.pdf}
                \caption{Bristol}
            \end{subfigure}
            \begin{subfigure}[ht]{0.42\textwidth}
                \centering
                \includegraphics[width=0.5\textwidth]{tikz/applications/baldock/bisbm-mat-Baldock2019_Edinburgh.pdf}
                \caption{Edinburgh}
            \end{subfigure}
            \hfill
            \begin{subfigure}[ht]{0.42\textwidth}
                \centering
                \includegraphics[width=0.5\textwidth]{tikz/applications/baldock/bisbm-mat-Baldock2019_Leeds.pdf}
                \caption{Leeds}
            \end{subfigure}
            \begin{subfigure}[ht]{0.42\textwidth}
                \centering
                \includegraphics[width=0.5\textwidth]{tikz/applications/baldock/bisbm-mat-Baldock2019_Reading.pdf}
                \caption{Reading}
            \end{subfigure}
            \caption{Reordered adjacency matrices, using BiSBM for each network}
            \label{fig:adj-reord}
        \end{figure}
    }
\end{frame}

\begin{frame}
    \frametitle{Several joint models}
    \onslide<1->{    \begin{block}{\emph{iid}-colBiSBM}
            \[
                \forall m \in \{1\dots M\}, Y^m \overset{iid}{\sim}
                \mathcal{F}\text{-BiSBM}_{n_1^m,n_2^m}(Q_1, Q_2, \pi, \rho, \alpha)
            \]

            with $\theta = (\pi, \rho, \alpha)$.
        \end{block}}
    \onslide<2>{    \begin{block}{$\pi\rho$-colBiSBM}
            \[
                \forall m \in \{1\dots M\}, Y^m \overset{ind}{\sim}
                \mathcal{F}\text{-BiSBM}_{n_1^m,n_2^m}(Q_1, Q_2, \pi^m, \rho^m, \alpha)
            \]

            with $\theta = ((\pi\alert{^m})_{m=1,\dots, M}, (\rho\alert{^m})_{m=1,\dots,
                        M}, \alpha)$.
        \end{block}
        And intermediate models freeing $\pi$ or $\rho$.
    }
\end{frame}
% \begin{frame}
%     \frametitle{Parameter estimation}
%     % DONE say that tau i q m c' is the probability that Zim = q, approximation of the variational probability. Because we impose independence
%     % By maximizing a variational lower bound of the
%     % log-likelihood of the observed data.
%     Maximizing the log-likelihood?
%     \begin{block}{log-likelihood and complete log-likelihood}
%         \[
%             \ell(\bm{Y};\theta) = \sum_{\bm{Z,W}\in \bm{\mathcal{Z}\times\mathcal{W}}} \ell_c(\bm{Y}, \bm{Z}, \bm{W};\theta)
%         \]

%         with $\bm{\mathcal{Z}} = \{1,\dots,\alert<2>{Q_1}\}^{\alert<2>{n}},
%             \bm{\mathcal{W}} = \{1,\dots,\alert<2>{Q_2}\}^{\alert<2>{n}}$
%     \end{block}
%     \uncover<3>{So, classic algorithm $\Rightarrow$
%         \emph{Expectation-Maximization} (EM).}
% \end{frame}

% \begin{frame}
%     \frametitle{By classic EM}
%     At iteration $(t)$:
%     \begin{itemize}
%         \item[$\bullet$]\textbf{E Step}: calculate
%               $$ \mathcal{Q}(\theta | \theta^{(t-1)}) =   \mathbb E_{\alert<2>{\bm Z, \bm W | \bm Y, \theta^{(t-1)}} } \left[\ell_c(\bm Y, \bm W, \bm Z; \theta)  \right] $$
%         \item[$\bullet$]\textbf{M Step}:
%               $$ \theta^{(t)} = \arg \max_{\theta} \mathcal{Q}(\theta | \theta^{(t-1)})$$
%     \end{itemize}
%     \uncover<2>{
%         \begin{alertblock}{Problem for classic EM}
%             Law of $\bm{Z,W|Y},\theta^{(t-1)}$ inaccessible
%         \end{alertblock}}

% \end{frame}

\begin{frame}{Parameter estimation}
    By \emph{Variational EM}, as proposed
    by~\cite{daudinMixtureModelRandom2008,
        chabert-liddellLearningCommonStructures2024}.
    \begin{block}{Variational approximation of $\bm{Z,W|Y},\theta^{(t-1)}$}
        $\mathcal{R}_{Y^m,\tau}(\mathbf{Z}^m, \mathbf{W}^m) =
            \mathcal{R}^1_{Y^m,\tau}(\mathbf{Z}^m)
            {\color{red}\times}
            \mathcal{R}^2_{Y^m,\tau}(\mathbf{W}^m) \Rightarrow$ independence rows, columns.
    \end{block}
    \begin{multline*}
        \ell (\bm{Y};\theta) \geq \color{red}\sum_{m=1}^{M} \bigg(
        \color{black} \mathcal{Q}^m(\theta\mid\theta^{(t)}) +
        \mathcal{H}(\mathcal{R}_{Y^m,\theta^{(t)}}
        (\mathbf{Z}^m, \mathbf{W}^m))
        \color{red}\bigg) \color{black}
        \eqcolon \mathcal{J}(\tau;\theta)
    \end{multline*}
    where $\mathcal{Q}^m(\theta\mid\theta^{(t)}) =
        \mathbb{E}_{\mathbf{Z}^m,\mathbf{W}^m
        \sim \mathcal{R}_{Y^m,\tau}(.)}
        \left[ \ell_c(Y^m,\mathbf{Z}^m,\mathbf{W}^m | \theta) \right] \,$
\end{frame}

\section{Model selection}
\begin{frame}
    \frametitle{Problem of choosing $(Q_1, Q_2)$}
    Need to select $Q_1$ and $Q_2$. BIC-Like criterion\footnote{ICL + entropy - penalty}

    \begin{align*}
        \text{BIC-L}(\bm{Y}, Q_1, Q_2) & = \mathbb{E}_{\mathcal{R}_{\mathbf{Y},\hat{\tau}}} [\ell_c(\bm{Y,Z,W};\hat{\theta}^{\text{var}})] + \mathcal{H(\mathcal{R}_{\mathbf{Y},\hat{\tau}})} - \frac{1}{2}\text{pen}(Q_1, Q_2) \\
                                       & = \mathcal{J(\mathcal{R}_{\mathbf{Y},\hat{\tau}}, \hat{\theta}^{\text{var}})} - \frac{1}{2}\text{pen}(Q_1, Q_2)
    \end{align*}

    \begin{alertblock}{Exploration problems}
        \begin{itemize}
            \item Exploration of a 2D grid is costly. \uncover<2->{$\rightarrow$ \textbf{Greedy
                          approach} and \textbf{sliding window}}
            \item Sensitivity to initializations. \uncover<3->{$\rightarrow$ \textbf{Spectral
                          clustering} and \textbf{reuse of previous inits}}
        \end{itemize}
    \end{alertblock}
\end{frame}

\section{Application}
\label{sec:application}

\begin{frame}
    \frametitle{Results~\cite{baldockSystemsApproachReveals2019}}
    \begin{figure}[ht]
        \centering
        \begin{subfigure}[t]{0.5\textwidth}
            \centering
            \includegraphics[width=0.45\textwidth]{tikz/applications/baldock/colbisbm-mat-Baldock2019_Bristol.pdf}
            \caption{Bristol}
        \end{subfigure}\hfil
        \begin{subfigure}[t]{0.5\textwidth}
            \centering
            \includegraphics[width=0.45\textwidth]{tikz/applications/baldock/colbisbm-mat-Baldock2019_Edinburgh.pdf}
            \caption{Edinburgh}
        \end{subfigure}
        \newline
        \begin{subfigure}[ht]{0.5\textwidth}
            \centering
            \includegraphics[width=0.5\textwidth]{tikz/applications/baldock/colbisbm-mat-Baldock2019_Leeds.pdf}
            \caption{Leeds}
        \end{subfigure}\hfil
        \begin{subfigure}[ht]{0.5\textwidth}
            \centering
            \includegraphics[width=0.5\textwidth]{tikz/applications/baldock/colbisbm-mat-Baldock2019_Reading.pdf}
            \caption{Reading}
        \end{subfigure}
        \caption{Reordered adjacency matrices by \emph{iid}-colBiSBM,~\cite{baldockSystemsApproachReveals2019}}
    \end{figure}
\end{frame}

\begin{frame}
    \frametitle{Results~\cite{baldockSystemsApproachReveals2019} focus on Leeds}
    \begin{figure}[ht]
        \centering
        \begin{subfigure}[t]{0.5\textwidth}
            \centering
            \includegraphics[width=1\textwidth]{tikz/applications/baldock/bisbm-mat-Baldock2019_Leeds.pdf}
            \caption{Separate model}
        \end{subfigure}\hfill
        \begin{subfigure}[t]{0.5\textwidth}
            \centering
            \includegraphics[width=1\textwidth]{tikz/applications/baldock/colbisbm-mat-Baldock2019_Leeds.pdf}
            \caption{Joint model}
        \end{subfigure}
        \caption{Reordered adjacency matrix by sep-BiSBM (left) and by \emph{iid}-colBiSBM (right),~\cite{baldockSystemsApproachReveals2019}}
    \end{figure}
\end{frame}

\begin{frame}{\emph{Bombus}}
    \only<1>{
        \begin{figure}
            \begin{subfigure}[t]{0.5\textwidth}
                \centering
                \includegraphics[width=0.5\textwidth]{img/baldock/bombus-hortorum.jpeg}
                \caption{\emph{Bombus Hortorum} or garden bumblebee}
            \end{subfigure}\hfill
            \begin{subfigure}[t]{0.5\textwidth}
                \centering
                \includegraphics[width=0.5\textwidth]{img/baldock/bombus-lapidarius.jpeg}
                \caption{\emph{Bombus Lapidarius} or red-tailed bumblebee}
            \end{subfigure}
        \end{figure}
    }
    \only<2->{
        \begin{columns}

            \begin{column}{0.2\textwidth}
                \begin{figure}
                    \onslide<3>{
                        \begin{subfigure}[t]{0.7\textwidth}
                            \centering
                            \includegraphics[width=1\textwidth]{img/baldock/bombus-hortorum.jpeg}
                            \caption{\emph{Bombus Hortorum} or garden bumblebee}
                        \end{subfigure}
                    }
                    \onslide<4>{
                        \begin{subfigure}[t]{0.7\textwidth}
                            \centering
                            \includegraphics[width=1\textwidth]{img/baldock/bombus-lapidarius.jpeg}
                            \caption{\emph{Bombus Lapidarius} or red-tailed bumblebee}
                        \end{subfigure}
                    }
                \end{figure}
            \end{column}
            \begin{column}{0.7\textwidth}
                \begin{figure}
                    \centering
                    \begin{tikzpicture}[every every node/.style={anchor=south west, inner sep=0pt}, x=1mm, y=1mm]
                        \node (struct) at (0,0) {\includegraphics[width=0.8\textwidth]{tikz/applications/baldock/shared-iid.pdf}};
                        \node (gen) at (-29,14.8) {};
                        \node (interm) at (-29,2.5) {};
                        \node (spe) at (-29,-9.8) {};

                        \node[left = 3mm of spe] (@aux) {\phantom{B, E, R}};

                        \node[isosceles triangle,
                            isosceles triangle apex angle=10,
                            draw,
                            rotate=270,
                            shading = axis,
                            top color=blue!50,
                            bottom color=blue!1!white,
                            anchor=right corner, minimum height=42mm, label={[label distance = 2mm]207:Generalists}, label={[label distance = 12mm]357:Specialists}] (T) at ($(struct.north east)+(-1,-2.5)$) {};

                        \only<3>{
                            \node[left = 3mm of gen] (towns_gen_garden) {B, L};
                            \node[left = 3mm of spe] (towns_spe_garden) {\phantom{B, }E, R};
                            \path (towns_gen_garden) edge[->,thick] (gen);
                            \path (towns_spe_garden) edge[->,thick] (spe);
                        }
                        \only<4>{
                            \node[left = 3mm of interm] (towns_interm_red) {L};
                            \node[left = 3mm of spe] (towns_spe_red) {B, E, R};
                            \path (towns_interm_red) edge[->,thick] (interm);
                            \path (towns_spe_red) edge[->,thick] (spe);
                        }
                    \end{tikzpicture}
                    \caption{Shared structure of the 4 networks}\label{fig:shared}
                \end{figure}
            \end{column}
        \end{columns}
    }

\end{frame}
\begin{frame}
    \frametitle{Network clustering}
    \begin{figure}[ht]
        \includegraphics[width=0.45\textwidth]{tikz/applications/baldock/mat-Baldock2011_TB+Baldock2011_JN.pdf}
        \caption{Adjacency matrix,~\cite{baldockDailyTemporalStructure2011}}
    \end{figure}
\end{frame}

\begin{frame}[allowframebreaks]
    \frametitle{Application to~\cite{baldockDailyTemporalStructure2011,
            baldockSystemsApproachReveals2019}}
    TODO pivot or remove slide
    \begin{figure}[t]
        \centering
        \begin{subfigure}{0.5\textwidth}
            \centering
            \includegraphics[scale=0.1]{backup-app-iid-struct1.png}
            \includegraphics[scale=0.2]{backup-app-iid-struct2.png}
            \caption{Model $iid$,\\
                separate African (left) and English (right) networks}
        \end{subfigure}%
        ~
        \begin{subfigure}{0.5\textwidth}
            \centering
            \includegraphics[scale=0.2]{backup-app-pirho-struct.png}
            \caption{Model $\pi\rho$,\\
                merge African and English networks}
        \end{subfigure}%
        \caption{Structures detected for networks
            of~\cite{baldockDailyTemporalStructure2011,
                baldockSystemsApproachReveals2019}}
    \end{figure}
\end{frame}

\begin{frame}{Results}
    \begin{figure}[ht]
        \centering
        \begin{subfigure}{0.5\textwidth}
            \centering
            \includegraphics[width=1\textwidth]{tikz/applications/baldock/bisbm-mat-Baldock2011_TB+Baldock2011_JN.pdf}
            \caption{Reordered by LBM}
        \end{subfigure}\hfil
        \begin{subfigure}{0.5\textwidth}
            \centering
            \includegraphics[width=1\textwidth]{tikz/applications/baldock/pirho-colbisbm-mat-Baldock2011_TB+Baldock2011_JN.pdf}
            \caption{Reordered by $\pi\rho$-colBiSBM}
        \end{subfigure}

        \caption{Reordered adjacency matrix by $\pi\rho$-colBiSBM,~\cite{baldockDailyTemporalStructure2011}}
    \end{figure}
\end{frame}

\section{Conclusion}
\label{sec:conclusion}
\begin{frame}
    \frametitle{Conclusion and perspectives}
    % DONE Add a conclusion perspective slide
    % Recall models with clustering
    % Mention analysis of corrected networks for sampling
    % Link to the package
    \begin{block}{Capabilities}
        \begin{itemize}
            \item 4 models including 3 with flexibility on at least one of
                  the dimensions (adaptability to data).
            \item Detect classic and less classic structures in an agnostic way.
            \item Partition a set of networks according to their structures.
        \end{itemize}
    \end{block}

\end{frame}

\begin{frame}{Perspectives}

    \begin{block}{Future work}
        \begin{itemize}
            \item Multi-layer networks (account for sampling bias, presence/absence)
            \item Graph Convolutional Network to allow for scalability
        \end{itemize}
    \end{block}

    \begin{block}{Package and applications}
        \begin{itemize}
            \item CRAN submission
            \item Integrate the possibility of an additional criterion for clustering (e.g.
                  urbanization gradient~\cite{fisogniSeasonalTrajectoriesPlantpollinator2022})
            \item Apply clustering to data from
                  \cite{pichonTellingMutualisticAntagonistic2024,doreRelativeEffectsAnthropogenic2021}
        \end{itemize}
    \end{block}
\end{frame}