rapport : ajout des simus d'inférences et de sélection de modèles

This commit is contained in:
Louis Lacoste 2024-07-11 23:54:31 +02:00
parent cd793e3094
commit 50524dddf6
12 changed files with 800 additions and 16 deletions

View file

@ -9,6 +9,7 @@ performances and the clustering capacities.
the report repository at the report repository at
\url{https://gitea.polarolouis.fr/polarolouis/rapport-CEI-MIA-2023}. \url{https://gitea.polarolouis.fr/polarolouis/rapport-CEI-MIA-2023}.
% \include{Rcodes/simulation/inference_analyze}
% \include{Rcodes/simulation/model_selection_analyze} \input{chapter4-simulations/inference.tex}
\input{chapter4-simulations/model-selection}
% \include{Rcodes/simulation/netclustering_analyze} % \include{Rcodes/simulation/netclustering_analyze}

View file

@ -0,0 +1,122 @@
\section{Efficiency of the inference}
The goal here is to assess the quality of the inference procedure.
\paragraph{Simulation settings} For this simulation the data is simulated with
$M = 2, n_{1}^{m} = 120, n_{2}^{m} = 120, Q_1 = Q_2 = 4$, $\bm{\alpha}, \bm{\pi}$
and $\bm{\rho}$ are set as follows:
\begin{align*}
& \bm{\alpha} = .25 +
\begin{pmatrix}
3 \eps[\alpha] & 2 \eps[\alpha] & \eps[\alpha] & - \eps[\alpha] \\
2 \eps[\alpha] & 2 \eps[\alpha] & - \eps[\alpha] & \eps[\alpha] \\
\eps[\alpha] & - \eps[\alpha] & \eps[\alpha] & 2 \eps[\alpha] \\
- \eps[\alpha] & \eps[\alpha] & 2 \eps[\alpha] & 0
\end{pmatrix},
\end{align*}
\begin{align*}
\bm{\pi}^1 = \sigma_1
\begin{pmatrix}
0.2 & 0.4 & 0.4 & 0
\end{pmatrix},
& & \bm{\pi}^2 =
\begin{pmatrix}
0.25 & 0.25 & 0.25 & 0.25
\end{pmatrix}, \\
\bm{\rho}^1 =
\begin{pmatrix}
0.25 & 0.25 & 0.25 & 0.25
\end{pmatrix}, & &
\bm{\rho}^2 = \sigma_2
\begin{pmatrix}
0 & 0.33 & 0.33 & 0.33
\end{pmatrix}, & &
\end{align*}
with $\eps[\alpha]$ taking nine equally spaced values ranging from 0 to 0.24.
For each value of $\eps[\alpha]$, 108 datasets ($X_1, X_2$) are simulated,
resulting in $9 \times 108 = 972$ datasets. More precisely, for each dataset,
we pick uniformly at random two permutations of $\{ 1, \dots , 4 \}$
($\sigma_1, \sigma_2$) with the constraint that $\sigma_1(4) \neq \sigma_2(1)$.
This ensures that each of the two networks have a non-empty block that is empty
in the other one. Then the networks are simulated with
$\mathcal{B}$ern-$BiSBM_{120,120}(Q_1 = 4, Q_2 = 4,
\bm{\alpha}, \bm{\pi}^m, \bm{\rho}^m)$
with the previous parameters. Each network has 2 blocks in common and their
connectivity structures encompass a mix of core-periphery, assortative
community and disassortative community structures, depending on which 3 of the 4
blocks are selected for each network. $\eps[\alpha]$ represents the strength of
these structures, the larger, the easier it is to tell apart one block from
another.
The true model of all the simulation is a $\pi\rho\text{-}colBiSBM$.
\paragraph{Inference} We want to measure the quality of the
inference procedure, for this we use the inference described in the section
\ref{sec:variational-estimation-of-the-parameters}.
\paragraph{Quality indicators} To assess the quality of the inference, we will
use the following indicators:
\begin{itemize}
\item First, for each dataset, we put in competition $\pi\text{-}colBiSBM$ with
$sep\text{-}BiSBM$, $iid\text{-}colBiSBM$, $\rho\text{-}colBiSBM$,
$\pi\rho\text{-}colBiSBM$
respectively. To do so, for each dataset, we compute the
BIC-L of each model $\pi\text{-}colBiSBM$ is preferred to $sep\text{-}BiSBM$
(resp. $iid\text{-}colBiSBM$, $\rho\text{-}colBiSBM$,
$\pi\rho\text{-}colBiSBM$) if
its BIC-L is greater.
\item When considering our \emph{colBiSBM} models we compare
$\widehat{Q_1}$, $\widehat{Q_2}$ to
their true values. ($Q_1 = 4$ and $Q_2 = 4$)
\item Finally, we assess the quality of the node grouping by computing the
Adjusted Rand Index \parencite{hubertComparingPartitions1985}, ARI = 0
for a random grouping, ARI = 1 for a perfect recovery. For each
network, for the
$\pi\text{-}colBiSBM$, $\rho\text{-}colBiSBM$,
$\pi\rho\text{-}colBiSBM$ we compare the inferred block memberships to
the real ones by computing the mean of the ARI per axis over the two
networks
\begin{equation*}
\overline{\text{ARI}}_d = \frac{1}{2} \text{ARI}\big( \text{ARI}(\widehat{\bm{Z}^1_d},\bm{Z}^1_d) + \text{ARI}(\widehat{\bm{Z}^2_d},\bm{Z}^2_d) \big),
\end{equation*}
where $d$ is the dimension or axis (i.e., rows, $d=1$, or columns, $d=2$) of
the block memberships.
And we compute the ARI of the whole set of nodes to account for block
pairing between networks
\begin{equation*}
\text{ARI}_d = \text{ARI}\big((\widehat{\bm{Z}^1_d},\widehat{\bm{Z}^2_d}),(\bm{Z}^1_d,\bm{Z}^2_d) \big).
\end{equation*}
\end{itemize}
All these quality indicators are averaged over the 108 datasets. The results are
provided in the tables \ref{tab:per_model_sep} to \ref{tab:per_model_pirho}. Each line corresponds to the
108 datasets for a given value of value of $\eps[\alpha]$.
\begin{figure}[ht]
\centering
\input{../tikz/simulations/inference/model-proportions.tex}
\caption{Preferred model proportions over all datasets in function of
$\eps[\alpha]$}
\label{fig:prop-modele-pref}
\end{figure}
\foreach \modelname in {sep,iid,pi,rho,pirho}{
\input{../tables/simulations/inference/\modelname.tex}
}
\paragraph{Results}
For the model comparison, when $\eps[\alpha]$ is small
($\eps[\alpha]\in[0, .04]$), the simulation model is close to the
Erd\H{o}s-Reńyi network and it is very hard to find any structure beyond the one
of a single block on each dimension.
On the figure \ref{fig:inference-proportion-preferred} and table
\ref{tab:proportion-preferred-table} we can see that from
$\eps[\alpha] = 0.06$ around $70\%$ of the time the $\pi\rho\text{-}colBiSBM$
model (i.e., the correct one) is selected.
An interesting result we can read in the tables is that our models outperform
the $sep\text{-}BiSBM$ when considering the ARI on the whole set of nodes
($\text{ARI}_d$). This means that our models are able to recover the block
pairing \emph{between the networks} in addition to recovering the blocks and
their parameters.
\clearpage

View file

@ -0,0 +1,128 @@
\section[Capacity to distinguish models]{Capacity to distinguish
$\pi\rho\text{-}colBiSBM$~from\newline$iid\text{-}colBiSBM$ and other
models}\label{capacity-to-distinguish-pirhotext-colbisbm-from-iidtext-colbisbm-and-other-variants}
The idea of this model selection simulations is to assess how the model
select the correct \emph{colBiSBM} model among the possible ones:
\textit{iid, pi, rho, pirho}. This difference being based on the row and
col block proportions.
For this task we choose the same simulation settings as
\cite{chabert-liddellLearningCommonStructures2024a}.
Namely $n_{1}^{m} = 90, n_{2}^{m} = 90, Q_1 = Q_2 = 3$,
$\bm{\alpha}, \bm{\pi}$ and $\bm{\rho}$ are set as follows:
\begin{minipage}[l]{0.4\linewidth}
\begin{align*}
\bm{\alpha} =.25 + \begin{pmatrix}
3 \eps[\alpha] & 2 \eps[\alpha] & \eps[\alpha] \\
2 \eps[\alpha] & 2 \eps[\alpha] & - \eps[\alpha] \\
\eps[\alpha] & - \eps[\alpha] & \eps[\alpha]
\end{pmatrix},
\end{align*}
\end{minipage}
\hfill
\begin{minipage}[r]{0.4\linewidth}
\begin{align*}
\bm{\pi}^1 = \begin{pmatrix}
\frac{1}{3}, & \frac{1}{3}, & \frac{1}{3}
\end{pmatrix}, & & \bm{\pi}^2 = \sigma\begin{pmatrix}
\frac{1}{3} - \eps[\pi], & \frac{1}{3}, & \frac{1}{3} + \eps[\pi]
\end{pmatrix}, \\
\bm{\rho}^1 = \begin{pmatrix}
\frac{1}{3}, & \frac{1}{3}, & \frac{1}{3}
\end{pmatrix}, & & \bm{\rho}^2 = \sigma\begin{pmatrix}
\frac{1}{3} - \eps[\rho], & \frac{1}{3}, & \frac{1}{3} + \eps[\rho]
\end{pmatrix},
\end{align*}
\end{minipage}
with $\eps[\alpha] = 0.16$, $\eps[\pi]$ and
$\eps[\rho]$ taking 9 values equally spaced in
$\left[ 0, .28\right]$. We simulate 324 different collections for each
value of $\eps[\pi]$ and $\eps[\rho]$.
$\pi\rho\text{-}colBiSBM$, $\pi\text{-}colBiSBM$,
$\rho\text{-}colBiSBM$, $iid\text{-}colBiSBM$ and
$sep\text{-}BiSBM$ are put in competition and the model with the
greater BIC-L is selected as the \emph{preferred model}.
When $\eps[\pi] = 0$, $\bm{\pi}^1 = \bm{\pi}^2$, $\eps[\rho] = 0$
and $\bm{\rho}^1 = \bm{\rho}^2$, the generated collection is an
$iid\text{-}colBiSBM$. When $\eps[\pi] > 0$ or
$\bm{\pi}^1 \neq \bm{\pi}^2$, the model is a $\pi\text{-}colBiSBM$.
When $\eps[\rho] > 0$ or $\bm{\rho}^1 \neq \bm{\rho}^2$, the model
is a $\rho\text{-}colBiSBM$. Finally, when $\eps[\pi] > 0$ or
$\bm{\pi}^1 \neq \bm{\pi}^2$ and $\eps[\rho] > 0$ or
$\bm{\rho}^1 \neq \bm{\rho}^2$, the model is a
$\pi\rho\text{-}colBiSBM$.
\begin{table}[!h]
\caption{\label{tab:tables}\label{tab:pi-model-sel}Model selection for varying $\pi$ mixture parameters}
\centering
\begin{tabular}[t]{lccccl}
\toprule
\multicolumn{1}{c}{ } & \multicolumn{4}{c}{Models} & \multicolumn{1}{c}{Blocks} \\
\cmidrule(l{3pt}r{3pt}){2-5} \cmidrule(l{3pt}r{3pt}){6-6}
$\eps[\pi]$ & $iid\text{-}colBiSBM$ & $\pi\text{-}colBiSBM$ & $\rho\text{-}colBiSBM$ & $\pi\rho\text{-}colBiSBM$ & Recovered $Q_1$ \\
\midrule
0.00 & 0.65 & 0.00 & 0.35 & 0.00 & 3 \\
0.04 & 0.66 & 0.00 & 0.34 & 0.00 & 3 \\
0.07 & 0.64 & 0.01 & 0.34 & 0.01 & 3.01 $\pm$ 0.01 \\
0.11 & 0.63 & 0.03 & 0.31 & 0.03 & 3.01 $\pm$ 0.01 \\
0.14 & 0.55 & 0.12 & 0.28 & 0.05 & 3 \\
\addlinespace
0.18 & 0.39 & 0.26 & 0.21 & 0.13 & 3.01 \\
0.21 & 0.23 & 0.42 & 0.13 & 0.23 & 3.01 \\
0.25 & 0.10 & 0.56 & 0.05 & 0.29 & 3.02 $\pm$ 0.01 \\
0.28 & 0.01 & 0.65 & 0.01 & 0.33 & 3.01 $\pm$ 0.01 \\
\bottomrule
\end{tabular}
\end{table}
\begin{table}[!h]
\caption{\label{tab:tables}\label{tab:rho-model-sel}Model selection for varying $\rho$ mixture parameters}
\centering
\begin{tabular}[t]{lccccl}
\toprule
\multicolumn{1}{c}{ } & \multicolumn{4}{c}{Models} & \multicolumn{1}{c}{Blocks} \\
\cmidrule(l{3pt}r{3pt}){2-5} \cmidrule(l{3pt}r{3pt}){6-6}
$\eps[\rho]$ & $iid\text{-}colBiSBM$ & $\pi\text{-}colBiSBM$ & $\rho\text{-}colBiSBM$ & $\pi\rho\text{-}colBiSBM$ & Recovered $Q_2$ \\
\midrule
0.00 & 0.63 & 0.37 & 0.00 & 0.00 & 3 \\
0.04 & 0.65 & 0.34 & 0.00 & 0.01 & 3 \\
0.07 & 0.64 & 0.33 & 0.01 & 0.01 & 3 \\
0.11 & 0.64 & 0.31 & 0.03 & 0.02 & 3 \\
0.14 & 0.53 & 0.29 & 0.11 & 0.06 & 3 \\
\addlinespace
0.18 & 0.42 & 0.20 & 0.24 & 0.14 & 3.01 \\
0.21 & 0.25 & 0.12 & 0.40 & 0.22 & 3.01 \\
0.25 & 0.08 & 0.06 & 0.58 & 0.29 & 3.01 \\
0.28 & 0.01 & 0.01 & 0.65 & 0.32 & 3 \\
\bottomrule
\end{tabular}
\end{table}
\begin{figure}[H]
% \includegraphics{./Rcodes/simulation/img/plot_model_function_eps.png}
\caption{Plot of preferred model in function of $\eps[\pi]$ and $\eps[\rho]$}
\label{fig:pref_model_func_eps}
\end{figure}
\paragraph{Results:}
On the figure \ref{fig:pref_model_func_eps} and tables
\ref{tab:pi-model-sel} and \ref{tab:rho-model-sel}, one can see that
there is a turning point around $\eps[\pi] = 0.2$ (resp.
$\eps[\rho] = 0.2$), before which $iid\text{-}colBiSBM$ and
$\rho\text{-}colBiSBM$ (resp. $\pi\text{-}colBiSBM$) are selected
most of the times and after $0.2$ the $\pi\text{-}colBiSBM$ (resp.
$\rho\text{-}colBiSBM$) and $\pi\rho\text{-}colBiSBM$ gets more and
more selected, highlighting our capacity to recover the simulated
structure.
\paragraph*{Remark:}
Please note that when ``Recovered $Q_1$(or $Q_2$)'' is not an
integer it's because some procedures returned a value other than 3.

Binary file not shown.

View file

@ -8,9 +8,13 @@
\usepackage[cyr]{aeguill} % Police vectorielle TrueType, guillemets francais \usepackage[cyr]{aeguill} % Police vectorielle TrueType, guillemets francais
\usepackage{epsfig} % pour gérer les images \usepackage{epsfig} % pour gérer les images
\usepackage{amsmath,amsthm, mathtools} % très bon mode mathématique \usepackage{amsmath,amsthm, mathtools} % très bon mode mathématique
\usepackage{amsfonts,amssymb,bm, bbold}% permet la definition des ensembles \usepackage{amsfonts,amssymb,bm}% permet la definition des ensembles
\DeclareMathAlphabet{\mathbbb}{U}{bbold}{m}{n} % Pour l'indicatrice
\usepackage{algorithm2e} % pour les algorithmes \usepackage{algorithm2e} % pour les algorithmes
\usepackage{algpseudocode} % pour les algorithmes % \usepackage{algpseudocode} % pour les algorithmes
\RestyleAlgo{ruled}
\usepackage{float} % pour le placement des figure \usepackage{float} % pour le placement des figure
\usepackage{url} % pour une gestion efficace des url \usepackage{url} % pour une gestion efficace des url
\usepackage[citecolor=blueind,urlcolor=blueps,bookmarks=false,hypertexnames=true]{hyperref} % pour les hyperliens dans le document \usepackage[citecolor=blueind,urlcolor=blueps,bookmarks=false,hypertexnames=true]{hyperref} % pour les hyperliens dans le document
@ -20,7 +24,6 @@
\usepackage[outline]{contour} \usepackage[outline]{contour}
\usepackage[super]{nth} \usepackage[super]{nth}
\usepackage{caption} % Figures \usepackage{caption} % Figures
\usepackage{subcaption} % And Subfigures \usepackage{subcaption} % And Subfigures
@ -31,8 +34,11 @@
\usepackage{titling} \usepackage{titling}
\usepackage{rotating} % For allowing to rotate figures \usepackage{rotating} % For allowing to rotate figures
\usepackage{svg} % To allow svg inclusions
\usepackage{float} % To allow Pandoc to control figure placement \usepackage{float} % To allow Pandoc to control figure placement
\floatplacement{figure}{H}
\floatplacement{table}{H}
\usepackage{booktabs} % For good tables \usepackage{booktabs} % For good tables
% FancyHDR % FancyHDR
@ -55,16 +61,12 @@
% Images % Images
\graphicspath{{../img/}{../figure/}} \graphicspath{{../img/}{../figure/}}
% Figure placement
\floatplacement{figure}{t}
%% Tikz Related %% Tikz Related
\usetikzlibrary{calc,shapes,backgrounds,arrows,automata,shadows,positioning, \usetikzlibrary{calc,shapes,backgrounds,arrows,automata,shadows,positioning,
arrows,shapes,positioning,shadows,trees,calc,backgrounds, arrows,shapes,positioning,shadows,trees,calc,backgrounds,
automata,positioning} automata,positioning}
\tikzset{ \tikzset{
basic/.style = {draw, text width=3cm, font=\sffamily, rectangle}, basic/.style = {draw, text width=3cm, font=\sffamily, rectangle},
root/.style = {basic, rounded corners=2pt, thin, align=center, root/.style = {basic, rounded corners=2pt, thin, align=center,
@ -203,15 +205,13 @@ automata,positioning}
\pagenumbering{roman} \pagenumbering{roman}
\tableofcontents \tableofcontents
\include{remerciements} \include{remerciements}
\include{chapter1-presentation_UMR} % \include{chapter1-presentation_UMR}
\end{selectlanguage} \end{selectlanguage}
\begin{selectlanguage}{english} \begin{selectlanguage}{english}
\pagenumbering{arabic} \pagenumbering{arabic}
\include{chapter2-context} \include{chapter2-context}
\include{chapter3-structure-detection} \include{chapter3-structure-detection}
\include{chapter4-simulation-studies} \include{chapter4-simulation-studies}
% \chapter{Applications} % \chapter{Applications}
@ -221,8 +221,8 @@ automata,positioning}
\addtocounter{maincontentend}{1} \addtocounter{maincontentend}{1}
\addtocounter{customchapter}{1} \addtocounter{customchapter}{1}
\printbibliography \printbibliography
\listoffigures % \listoffigures
\listoftables % \listoftables
\end{selectlanguage} \end{selectlanguage}
\end{document} \end{document}

View file

@ -0,0 +1,21 @@
\begin{table}[!h]
\caption{\label{tab:per_model_iid}Quality metrics for $iid$$\text{-}colBiSBM$}
\centering
\begin{tabular}[t]{rllllll}
\toprule
$\eps[\alpha]$ & $\overline{\text{ARI}}_{1}$ & $\overline{\text{ARI}}_{2}$ & $\text{ARI}_{1}$ & $\text{ARI}_{2}$ & $\mathbbb{1}_{\widehat{Q_1}=Q_1}$ & $\mathbbb{1}_{\widehat{Q_2}=Q_2}$\\
\midrule
0.00 & 0 & 0 & 0 & 0 & 0 & 0\\
0.03 & 0.01 & 0.02 & 0.01 & 0.02 & 0 & 0\\
0.06 & 0.7 $\pm$ 0.01 & 0.69 $\pm$ 0.01 & 0.55 $\pm$ 0.02 & 0.54 $\pm$ 0.02 & 0.61 $\pm$ 0.05 & 0.63 $\pm$ 0.05\\
0.09 & 0.96 & 0.95 & 0.86 $\pm$ 0.02 & 0.85 $\pm$ 0.02 & 0.95 $\pm$ 0.02 & 0.96 $\pm$ 0.02\\
0.12 & 0.99 & 0.99 & 0.9 $\pm$ 0.02 & 0.89 $\pm$ 0.02 & 0.95 $\pm$ 0.02 & 0.86 $\pm$ 0.03\\
\addlinespace
0.15 & 1 & 0.99 & 0.91 $\pm$ 0.02 & 0.91 $\pm$ 0.02 & 0.94 $\pm$ 0.02 & 0.88 $\pm$ 0.03\\
0.18 & 1 & 1 & 0.95 $\pm$ 0.01 & 0.94 $\pm$ 0.02 & 0.93 $\pm$ 0.03 & 0.97 $\pm$ 0.02\\
0.21 & 1 & 1 & 0.94 $\pm$ 0.02 & 0.94 $\pm$ 0.02 & 0.94 $\pm$ 0.02 & 0.94 $\pm$ 0.02\\
0.24 & 1 & 1 & 0.93 $\pm$ 0.02 & 0.92 $\pm$ 0.02 & 0.91 $\pm$ 0.03 & 0.92 $\pm$ 0.03\\
\bottomrule
\end{tabular}
\end{table}

View file

@ -0,0 +1,21 @@
\begin{table}[!h]
\caption{\label{tab:per_model_pi}Quality metrics for $\pi$$\text{-}colBiSBM$}
\centering
\begin{tabular}[t]{rllllll}
\toprule
$\eps[\alpha]$ & $\overline{\text{ARI}}_{1}$ & $\overline{\text{ARI}}_{2}$ & $\text{ARI}_{1}$ & $\text{ARI}_{2}$ & $\mathbbb{1}_{\widehat{Q_1}=Q_1}$ & $\mathbbb{1}_{\widehat{Q_2}=Q_2}$\\
\midrule
0.00 & 0 & 0 & 0 & 0 & 0 & 0\\
0.03 & 0.01 & 0.02 & 0.01 & 0.01 & 0 & 0\\
0.06 & 0.74 $\pm$ 0.01 & 0.71 $\pm$ 0.01 & 0.62 $\pm$ 0.02 & 0.58 $\pm$ 0.02 & 0.59 $\pm$ 0.05 & 0.64 $\pm$ 0.05\\
0.09 & 0.97 & 0.95 & 0.87 $\pm$ 0.02 & 0.84 $\pm$ 0.02 & 0.71 $\pm$ 0.04 & 1\\
0.12 & 1 & 0.98 & 0.91 $\pm$ 0.02 & 0.89 $\pm$ 0.02 & 0.73 $\pm$ 0.04 & 1\\
\addlinespace
0.15 & 1 & 0.99 & 0.93 $\pm$ 0.02 & 0.91 $\pm$ 0.02 & 0.84 $\pm$ 0.04 & 1\\
0.18 & 1 & 0.99 & 0.94 $\pm$ 0.01 & 0.92 $\pm$ 0.02 & 0.85 $\pm$ 0.03 & 1\\
0.21 & 1 & 0.99 & 0.91 $\pm$ 0.02 & 0.87 $\pm$ 0.03 & 0.81 $\pm$ 0.04 & 1\\
0.24 & 1 & 0.99 & 0.93 $\pm$ 0.02 & 0.9 $\pm$ 0.02 & 0.83 $\pm$ 0.04 & 0.99 $\pm$ 0.01\\
\bottomrule
\end{tabular}
\end{table}

View file

@ -0,0 +1,21 @@
\begin{table}[!h]
\caption{\label{tab:per_model_pirho}Quality metrics for $\pi\rho$$\text{-}colBiSBM$}
\centering
\begin{tabular}[t]{rllllll}
\toprule
$\eps[\alpha]$ & $\overline{\text{ARI}}_{1}$ & $\overline{\text{ARI}}_{2}$ & $\text{ARI}_{1}$ & $\text{ARI}_{2}$ & $\mathbbb{1}_{\widehat{Q_1}=Q_1}$ & $\mathbbb{1}_{\widehat{Q_2}=Q_2}$\\
\midrule
0.00 & 0 & 0 & 0 & 0 & 0 & 0\\
0.03 & 0.01 & 0.01 & 0.01 & 0.02 & 0 & 0\\
0.06 & 0.76 $\pm$ 0.01 & 0.75 $\pm$ 0.01 & 0.65 $\pm$ 0.02 & 0.64 $\pm$ 0.02 & 0.86 $\pm$ 0.03 & 0.83 $\pm$ 0.04\\
0.09 & 0.97 & 0.97 & 0.91 $\pm$ 0.02 & 0.91 $\pm$ 0.02 & 0.9 $\pm$ 0.03 & 0.92 $\pm$ 0.03\\
0.12 & 1 & 1 & 0.92 $\pm$ 0.02 & 0.91 $\pm$ 0.02 & 0.91 $\pm$ 0.03 & 0.86 $\pm$ 0.03\\
\addlinespace
0.15 & 1 & 1 & 0.95 $\pm$ 0.02 & 0.94 $\pm$ 0.02 & 0.93 $\pm$ 0.03 & 0.91 $\pm$ 0.03\\
0.18 & 1 & 1 & 0.91 $\pm$ 0.02 & 0.91 $\pm$ 0.02 & 0.87 $\pm$ 0.03 & 0.86 $\pm$ 0.03\\
0.21 & 1 & 1 & 0.94 $\pm$ 0.02 & 0.94 $\pm$ 0.02 & 0.91 $\pm$ 0.03 & 0.93 $\pm$ 0.03\\
0.24 & 1 & 1 & 0.93 $\pm$ 0.02 & 0.93 $\pm$ 0.02 & 0.9 $\pm$ 0.03 & 0.91 $\pm$ 0.03\\
\bottomrule
\end{tabular}
\end{table}

View file

@ -0,0 +1,21 @@
\begin{table}[!h]
\caption{\label{tab:proportion-preferred-table}Proportions of models selected per \eps[\alpha] (data for Figure \ref{fig:inference-proportion-preferred})}
\centering
\begin{tabular}[t]{rccccc}
\toprule
\eps[\alpha] & $sep\text{-}BiSBM$ & $iid\text{-}colBiSBM$ & $\pi\text{-}colBiSBM$ & $\rho\text{-}colBiSBM$ & $\pi\rho\text{-}colBiSBM$\\
\midrule
0.00 & 1.00 & 0.00 & 0.00 & 0.00 & 0.00\\
0.03 & 0.52 & 0.25 & 0.06 & 0.09 & 0.07\\
0.06 & 0.01 & 0.04 & 0.13 & 0.06 & 0.77\\
0.09 & 0.00 & 0.04 & 0.02 & 0.00 & 0.94\\
0.12 & 0.00 & 0.04 & 0.00 & 0.00 & 0.96\\
\addlinespace
0.15 & 0.00 & 0.05 & 0.00 & 0.00 & 0.95\\
0.18 & 0.00 & 0.06 & 0.00 & 0.00 & 0.94\\
0.21 & 0.00 & 0.05 & 0.00 & 0.00 & 0.95\\
0.24 & 0.00 & 0.03 & 0.00 & 0.00 & 0.97\\
\bottomrule
\end{tabular}
\end{table}

View file

@ -0,0 +1,21 @@
\begin{table}[!h]
\caption{\label{tab:per_model_rho}Quality metrics for $\rho$$\text{-}colBiSBM$}
\centering
\begin{tabular}[t]{rllllll}
\toprule
$\eps[\alpha]$ & $\overline{\text{ARI}}_{1}$ & $\overline{\text{ARI}}_{2}$ & $\text{ARI}_{1}$ & $\text{ARI}_{2}$ & $\mathbbb{1}_{\widehat{Q_1}=Q_1}$ & $\mathbbb{1}_{\widehat{Q_2}=Q_2}$\\
\midrule
0.00 & 0 & 0 & 0 & 0 & 0 & 0\\
0.03 & 0.01 & 0.01 & 0.01 & 0.02 & 0 & 0\\
0.06 & 0.72 $\pm$ 0.01 & 0.74 $\pm$ 0.01 & 0.57 $\pm$ 0.02 & 0.6 $\pm$ 0.02 & 0.61 $\pm$ 0.05 & 0.56 $\pm$ 0.05\\
0.09 & 0.94 & 0.97 & 0.83 $\pm$ 0.02 & 0.85 $\pm$ 0.02 & 1 & 0.6 $\pm$ 0.05\\
0.12 & 0.98 & 1 & 0.87 $\pm$ 0.02 & 0.9 $\pm$ 0.02 & 1 & 0.75 $\pm$ 0.04\\
\addlinespace
0.15 & 0.98 & 1 & 0.83 $\pm$ 0.03 & 0.88 $\pm$ 0.02 & 1 & 0.72 $\pm$ 0.04\\
0.18 & 0.98 & 1 & 0.82 $\pm$ 0.03 & 0.87 $\pm$ 0.02 & 0.99 $\pm$ 0.01 & 0.71 $\pm$ 0.04\\
0.21 & 0.98 & 1 & 0.87 $\pm$ 0.02 & 0.9 $\pm$ 0.02 & 1 & 0.77 $\pm$ 0.04\\
0.24 & 0.98 & 1 & 0.84 $\pm$ 0.03 & 0.88 $\pm$ 0.02 & 1 & 0.72 $\pm$ 0.04\\
\bottomrule
\end{tabular}
\end{table}

View file

@ -0,0 +1,21 @@
\begin{table}[!h]
\caption{\label{tab:per_model_sep}Quality metrics for $sep\text{-}BiSBM$}
\centering
\begin{tabular}[t]{rllll}
\toprule
$\eps[\alpha]$ & $\overline{\text{ARI}}_{1}$ & $\overline{\text{ARI}}_{2}$ & $\text{ARI}_{1}$ & $\text{ARI}_{2}$\\
\midrule
0.00 & 0 & 0 & 0 & 0\\
0.03 & 0.01 & 0.02 & 0.02 & 0.02\\
0.06 & 0.69 $\pm$ 0.02 & 0.68 $\pm$ 0.02 & 0.38 $\pm$ 0.02 & 0.36 $\pm$ 0.02\\
0.09 & 0.97 & 0.96 & 0.55 $\pm$ 0.02 & 0.52 $\pm$ 0.02\\
0.12 & 1 & 1 & 0.51 $\pm$ 0.02 & 0.52 $\pm$ 0.02\\
\addlinespace
0.15 & 1 & 1 & 0.54 $\pm$ 0.02 & 0.54 $\pm$ 0.02\\
0.18 & 1 & 1 & 0.56 $\pm$ 0.02 & 0.54 $\pm$ 0.02\\
0.21 & 1 & 1 & 0.56 $\pm$ 0.02 & 0.57 $\pm$ 0.02\\
0.24 & 1 & 1 & 0.57 $\pm$ 0.02 & 0.57 $\pm$ 0.02\\
\bottomrule
\end{tabular}
\end{table}

View file

@ -0,0 +1,407 @@
% Created by tikzDevice version 0.12.6 on 2024-07-11 23:39:46
% !TEX encoding = UTF-8 Unicode
\begin{tikzpicture}[x=1pt,y=1pt]
\definecolor{fillColor}{RGB}{255,255,255}
\path[use as bounding box,fill=fillColor,fill opacity=0.00] (0,0) rectangle (289.08,289.08);
\begin{scope}
\path[clip] ( 0.00, 32.81) rectangle (289.08,256.27);
\definecolor{drawColor}{RGB}{255,255,255}
\definecolor{fillColor}{RGB}{255,255,255}
\path[draw=drawColor,line width= 0.6pt,line join=round,line cap=round,fill=fillColor] ( 0.00, 32.81) rectangle (289.08,256.27);
\end{scope}
\begin{scope}
\path[clip] ( 38.56, 72.28) rectangle (217.04,250.77);
\definecolor{fillColor}{gray}{0.92}
\path[fill=fillColor] ( 38.56, 72.28) rectangle (217.04,250.77);
\definecolor{drawColor}{RGB}{255,255,255}
\path[draw=drawColor,line width= 0.3pt,line join=round] ( 38.56,100.68) --
(217.04,100.68);
\path[draw=drawColor,line width= 0.3pt,line join=round] ( 38.56,141.24) --
(217.04,141.24);
\path[draw=drawColor,line width= 0.3pt,line join=round] ( 38.56,181.81) --
(217.04,181.81);
\path[draw=drawColor,line width= 0.3pt,line join=round] ( 38.56,222.37) --
(217.04,222.37);
\path[draw=drawColor,line width= 0.3pt,line join=round] ( 45.76, 72.28) --
( 45.76,250.77);
\path[draw=drawColor,line width= 0.3pt,line join=round] ( 63.99, 72.28) --
( 63.99,250.77);
\path[draw=drawColor,line width= 0.3pt,line join=round] ( 82.22, 72.28) --
( 82.22,250.77);
\path[draw=drawColor,line width= 0.3pt,line join=round] (100.45, 72.28) --
(100.45,250.77);
\path[draw=drawColor,line width= 0.3pt,line join=round] (118.68, 72.28) --
(118.68,250.77);
\path[draw=drawColor,line width= 0.3pt,line join=round] (136.91, 72.28) --
(136.91,250.77);
\path[draw=drawColor,line width= 0.3pt,line join=round] (155.14, 72.28) --
(155.14,250.77);
\path[draw=drawColor,line width= 0.3pt,line join=round] (173.38, 72.28) --
(173.38,250.77);
\path[draw=drawColor,line width= 0.3pt,line join=round] (191.61, 72.28) --
(191.61,250.77);
\path[draw=drawColor,line width= 0.3pt,line join=round] (209.84, 72.28) --
(209.84,250.77);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 38.56, 80.39) --
(217.04, 80.39);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 38.56,120.96) --
(217.04,120.96);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 38.56,161.52) --
(217.04,161.52);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 38.56,202.09) --
(217.04,202.09);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 38.56,242.65) --
(217.04,242.65);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 54.87, 72.28) --
( 54.87,250.77);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 73.10, 72.28) --
( 73.10,250.77);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 91.33, 72.28) --
( 91.33,250.77);
\path[draw=drawColor,line width= 0.6pt,line join=round] (109.57, 72.28) --
(109.57,250.77);
\path[draw=drawColor,line width= 0.6pt,line join=round] (127.80, 72.28) --
(127.80,250.77);
\path[draw=drawColor,line width= 0.6pt,line join=round] (146.03, 72.28) --
(146.03,250.77);
\path[draw=drawColor,line width= 0.6pt,line join=round] (164.26, 72.28) --
(164.26,250.77);
\path[draw=drawColor,line width= 0.6pt,line join=round] (182.49, 72.28) --
(182.49,250.77);
\path[draw=drawColor,line width= 0.6pt,line join=round] (200.72, 72.28) --
(200.72,250.77);
\definecolor{drawColor}{RGB}{86,180,233}
\definecolor{fillColor}{RGB}{86,180,233}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 46.67, 80.39) rectangle ( 63.08,242.65);
\definecolor{drawColor}{RGB}{230,159,0}
\definecolor{fillColor}{RGB}{230,159,0}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 64.90,202.09) rectangle ( 81.31,242.65);
\definecolor{drawColor}{RGB}{86,180,233}
\definecolor{fillColor}{RGB}{86,180,233}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 64.90,117.95) rectangle ( 81.31,202.09);
\definecolor{drawColor}{RGB}{0,158,115}
\definecolor{fillColor}{RGB}{0,158,115}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 64.90,107.44) rectangle ( 81.31,117.95);
\definecolor{drawColor}{RGB}{240,228,66}
\definecolor{fillColor}{RGB}{240,228,66}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 64.90, 92.41) rectangle ( 81.31,107.44);
\definecolor{drawColor}{RGB}{0,114,178}
\definecolor{fillColor}{RGB}{0,114,178}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 64.90, 80.39) rectangle ( 81.31, 92.41);
\definecolor{drawColor}{RGB}{230,159,0}
\definecolor{fillColor}{RGB}{230,159,0}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 83.13,236.64) rectangle ( 99.54,242.65);
\definecolor{drawColor}{RGB}{86,180,233}
\definecolor{fillColor}{RGB}{86,180,233}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 83.13,235.14) rectangle ( 99.54,236.64);
\definecolor{drawColor}{RGB}{0,158,115}
\definecolor{fillColor}{RGB}{0,158,115}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 83.13,214.11) rectangle ( 99.54,235.14);
\definecolor{drawColor}{RGB}{240,228,66}
\definecolor{fillColor}{RGB}{240,228,66}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 83.13,205.09) rectangle ( 99.54,214.11);
\definecolor{drawColor}{RGB}{0,114,178}
\definecolor{fillColor}{RGB}{0,114,178}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] ( 83.13, 80.39) rectangle ( 99.54,205.09);
\definecolor{drawColor}{RGB}{230,159,0}
\definecolor{fillColor}{RGB}{230,159,0}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (101.36,236.64) rectangle (117.77,242.65);
\definecolor{drawColor}{RGB}{0,158,115}
\definecolor{fillColor}{RGB}{0,158,115}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (101.36,233.64) rectangle (117.77,236.64);
\definecolor{drawColor}{RGB}{0,114,178}
\definecolor{fillColor}{RGB}{0,114,178}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (101.36, 80.39) rectangle (117.77,233.64);
\definecolor{drawColor}{RGB}{230,159,0}
\definecolor{fillColor}{RGB}{230,159,0}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (119.59,236.64) rectangle (136.00,242.65);
\definecolor{drawColor}{RGB}{0,114,178}
\definecolor{fillColor}{RGB}{0,114,178}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (119.59, 80.39) rectangle (136.00,236.64);
\definecolor{drawColor}{RGB}{230,159,0}
\definecolor{fillColor}{RGB}{230,159,0}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (137.83,235.14) rectangle (154.23,242.65);
\definecolor{drawColor}{RGB}{0,114,178}
\definecolor{fillColor}{RGB}{0,114,178}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (137.83, 80.39) rectangle (154.23,235.14);
\definecolor{drawColor}{RGB}{230,159,0}
\definecolor{fillColor}{RGB}{230,159,0}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (156.06,233.64) rectangle (172.46,242.65);
\definecolor{drawColor}{RGB}{0,114,178}
\definecolor{fillColor}{RGB}{0,114,178}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (156.06, 80.39) rectangle (172.46,233.64);
\definecolor{drawColor}{RGB}{230,159,0}
\definecolor{fillColor}{RGB}{230,159,0}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (174.29,235.14) rectangle (190.70,242.65);
\definecolor{drawColor}{RGB}{0,114,178}
\definecolor{fillColor}{RGB}{0,114,178}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (174.29, 80.39) rectangle (190.70,235.14);
\definecolor{drawColor}{RGB}{230,159,0}
\definecolor{fillColor}{RGB}{230,159,0}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (192.52,238.15) rectangle (208.93,242.65);
\definecolor{drawColor}{RGB}{0,114,178}
\definecolor{fillColor}{RGB}{0,114,178}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (192.52, 80.39) rectangle (208.93,238.15);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{gray}{0.30}
\node[text=drawColor,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at ( 33.61, 77.36) {0.00};
\node[text=drawColor,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at ( 33.61,117.93) {0.25};
\node[text=drawColor,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at ( 33.61,158.49) {0.50};
\node[text=drawColor,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at ( 33.61,199.06) {0.75};
\node[text=drawColor,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at ( 33.61,239.62) {1.00};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{gray}{0.20}
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 35.81, 80.39) --
( 38.56, 80.39);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 35.81,120.96) --
( 38.56,120.96);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 35.81,161.52) --
( 38.56,161.52);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 35.81,202.09) --
( 38.56,202.09);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 35.81,242.65) --
( 38.56,242.65);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{gray}{0.20}
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 54.87, 69.53) --
( 54.87, 72.28);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 73.10, 69.53) --
( 73.10, 72.28);
\path[draw=drawColor,line width= 0.6pt,line join=round] ( 91.33, 69.53) --
( 91.33, 72.28);
\path[draw=drawColor,line width= 0.6pt,line join=round] (109.57, 69.53) --
(109.57, 72.28);
\path[draw=drawColor,line width= 0.6pt,line join=round] (127.80, 69.53) --
(127.80, 72.28);
\path[draw=drawColor,line width= 0.6pt,line join=round] (146.03, 69.53) --
(146.03, 72.28);
\path[draw=drawColor,line width= 0.6pt,line join=round] (164.26, 69.53) --
(164.26, 72.28);
\path[draw=drawColor,line width= 0.6pt,line join=round] (182.49, 69.53) --
(182.49, 72.28);
\path[draw=drawColor,line width= 0.6pt,line join=round] (200.72, 69.53) --
(200.72, 72.28);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{gray}{0.30}
\node[text=drawColor,rotate=-45.00,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at ( 52.73, 48.63) {0.00};
\node[text=drawColor,rotate=-45.00,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at ( 70.96, 48.63) {0.03};
\node[text=drawColor,rotate=-45.00,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at ( 89.19, 48.63) {0.06};
\node[text=drawColor,rotate=-45.00,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at (107.42, 48.63) {0.09};
\node[text=drawColor,rotate=-45.00,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at (125.66, 48.63) {0.12};
\node[text=drawColor,rotate=-45.00,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at (143.89, 48.63) {0.15};
\node[text=drawColor,rotate=-45.00,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at (162.12, 48.63) {0.18};
\node[text=drawColor,rotate=-45.00,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at (180.35, 48.63) {0.21};
\node[text=drawColor,rotate=-45.00,anchor=base east,inner sep=0pt, outer sep=0pt, scale= 0.88] at (198.58, 48.63) {0.24};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{0,0,0}
\node[text=drawColor,anchor=base,inner sep=0pt, outer sep=0pt, scale= 1.10] at (127.80, 40.45) {$\epsilon_{\alpha}$};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{0,0,0}
\node[text=drawColor,rotate= 90.00,anchor=base,inner sep=0pt, outer sep=0pt, scale= 1.10] at ( 13.08,161.52) {Preferred model proportions};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{fillColor}{RGB}{255,255,255}
\path[fill=fillColor] (228.04,106.34) rectangle (283.58,216.71);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{0,0,0}
\node[text=drawColor,anchor=base west,inner sep=0pt, outer sep=0pt, scale= 1.10] at (233.54,202.56) {Preferred};
\node[text=drawColor,anchor=base west,inner sep=0pt, outer sep=0pt, scale= 1.10] at (233.54,190.68) {Model};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{fillColor}{gray}{0.92}
\path[fill=fillColor] (233.54,169.66) rectangle (247.99,184.11);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{230,159,0}
\definecolor{fillColor}{RGB}{230,159,0}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (234.25,170.37) rectangle (247.28,183.40);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{fillColor}{gray}{0.92}
\path[fill=fillColor] (233.54,155.20) rectangle (247.99,169.66);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{86,180,233}
\definecolor{fillColor}{RGB}{86,180,233}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (234.25,155.92) rectangle (247.28,168.95);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{fillColor}{gray}{0.92}
\path[fill=fillColor] (233.54,140.75) rectangle (247.99,155.20);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{0,158,115}
\definecolor{fillColor}{RGB}{0,158,115}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (234.25,141.46) rectangle (247.28,154.49);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{fillColor}{gray}{0.92}
\path[fill=fillColor] (233.54,126.30) rectangle (247.99,140.75);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{240,228,66}
\definecolor{fillColor}{RGB}{240,228,66}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (234.25,127.01) rectangle (247.28,140.04);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{fillColor}{gray}{0.92}
\path[fill=fillColor] (233.54,111.84) rectangle (247.99,126.30);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{0,114,178}
\definecolor{fillColor}{RGB}{0,114,178}
\path[draw=drawColor,line width= 0.6pt,fill=fillColor] (234.25,112.55) rectangle (247.28,125.59);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{0,0,0}
\node[text=drawColor,anchor=base west,inner sep=0pt, outer sep=0pt, scale= 0.88] at (253.49,173.86) {sep};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{0,0,0}
\node[text=drawColor,anchor=base west,inner sep=0pt, outer sep=0pt, scale= 0.88] at (253.49,159.40) {iid};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{0,0,0}
\node[text=drawColor,anchor=base west,inner sep=0pt, outer sep=0pt, scale= 0.88] at (253.49,144.95) {$\pi$};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{0,0,0}
\node[text=drawColor,anchor=base west,inner sep=0pt, outer sep=0pt, scale= 0.88] at (253.49,130.49) {$\rho$};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (289.08,289.08);
\definecolor{drawColor}{RGB}{0,0,0}
\node[text=drawColor,anchor=base west,inner sep=0pt, outer sep=0pt, scale= 0.88] at (253.49,116.04) {$\pi\rho$};
\end{scope}
\end{tikzpicture}