911 lines
22 KiB
Markdown
911 lines
22 KiB
Markdown
# Idée du modèle
|
||
|
||
![[local_macros.tex]]
|
||
|
||
$$
|
||
\newcommand{\ilr}{\operatorname{ilr}}
|
||
\newcommand{\clr}{\operatorname{clr}}
|
||
\newcommand{\Cat}{\operatorname{Cat}}
|
||
$$
|
||
|
||
Pierre a proposé que l'on pose une structure latente sur les $\pmb{Z}$. C'est à dire
|
||
|
||
$$
|
||
\begin{aligned}
|
||
|
||
& P \sim \Normal_{n_1, K-1} (O_{n_1, K-1}, \Sigma, \sigma^2 Id_{K-1}), \\
|
||
|
||
\forall i \in \{1,\dots,n_1\}, & Z_i \mid P_i \overset{ind}{\sim} \Cat_{K} ({\ilr}^{-1}(P_i) = \pi_{1:K}^{(i)}), \\
|
||
|
||
\forall j \in \{1,\dots,n_2\}, & W_j \overset{iid}{\sim} \Cat_R (\rho_{1:R}),\\
|
||
|
||
\forall i,j \in \{1,\dots,n_1\}\times\{1,\dots,n_2\}, & Y_{ij} \mid Z_i = k, W_j = r \overset{ind}{\sim} \mathcal{F}(\alpha_{qr}),
|
||
|
||
\end{aligned}
|
||
$$
|
||
|
||
avec $\Sigma$, la matrice de variance-covariance déterminée en fonction de l'apparentement (phylogénétique) des noeuds.
|
||
|
||
```tikz
|
||
\usepackage{tikz}
|
||
|
||
\usepackage{amsmath,amssymb}
|
||
|
||
\usetikzlibrary{arrows.meta,positioning,shapes.geometric,calc}
|
||
|
||
\begin{document}
|
||
\begin{tikzpicture}[
|
||
font=\sffamily,
|
||
>=Latex,
|
||
node distance=1.5cm and 2cm,
|
||
directed/.style={-{Latex}, line width=0.8pt, draw=gray!75},
|
||
bidirected/.style={-, line width=0.8pt, draw=red!75},
|
||
base/.style={
|
||
draw=gray!70,
|
||
line width=0.9pt,
|
||
align=center,
|
||
inner sep=4pt
|
||
},
|
||
prior/.style={base,rectangle,rounded corners=1pt,fill=blue!7},
|
||
latent/.style={base,rectangle,rounded corners=6pt,fill=teal!8},
|
||
known/.style={base,diamond,aspect=1.35,fill=orange!12},
|
||
observed/.style={base,circle,fill=purple!8}
|
||
]
|
||
|
||
%--------------------------------------------------
|
||
% Hyperparameters rows
|
||
%--------------------------------------------------
|
||
\node[prior] (sigma) {$\sigma^2$};
|
||
\node[known,right=of sigma] (Sigma) {$\Sigma$};
|
||
|
||
\node[latent,below=of sigma] (Pi) {$P_i$};
|
||
\node[latent,below=of Sigma] (Pip) {$P_{i'}$};
|
||
|
||
\node[latent,below=of Pi] (Zi) {$Z_i$};
|
||
\node[latent,below=of Pip] (Zip) {$Z_{i'}$};
|
||
|
||
%--------------------------------------------------
|
||
% Hyperparameters columns
|
||
%--------------------------------------------------
|
||
\node[prior,right=4cm of Sigma] (rho) {$\rho$};
|
||
|
||
\node[latent,below left=of rho] (Wj) {$W_j$};
|
||
\node[latent,below right=of rho] (Wjp) {$W_{j'}$};
|
||
|
||
%--------------------------------------------------
|
||
% Intercept
|
||
%--------------------------------------------------
|
||
\node[prior] (alpha)
|
||
at ($(Zi)!0.5!(Wj)+(0,-3)$)
|
||
{$\alpha$};
|
||
|
||
%--------------------------------------------------
|
||
% Observations
|
||
%--------------------------------------------------
|
||
\node[observed]
|
||
at ($(Zi)!0.5!(Wj)+(0,-1.4)$)
|
||
(Yij) {$Y_{ij}$};
|
||
|
||
\node[observed]
|
||
at ($(Zi)!0.5!(Wjp)+(2.0,-1.4)$)
|
||
(Yijp) {$Y_{ij'}$};
|
||
|
||
\node[observed]
|
||
at ($(Zip)!0.5!(Wj)+(-2.0,-1.4)$)
|
||
(Yipj) {$Y_{i'j}$};
|
||
|
||
\node[observed]
|
||
at ($(Zip)!0.5!(Wjp)+(0,-1.4)$)
|
||
(Yipjp) {$Y_{i'j'}$};
|
||
|
||
%--------------------------------------------------
|
||
% Row side
|
||
%--------------------------------------------------
|
||
\draw[directed] (sigma) -- (Pi);
|
||
\draw[directed] (Sigma) -- (Pi);
|
||
|
||
\draw[directed] (sigma) -- (Pip);
|
||
\draw[directed] (Sigma) -- (Pip);
|
||
|
||
\draw[directed] (Pi) -- (Zi);
|
||
\draw[directed] (Pip) -- (Zip);
|
||
|
||
%--------------------------------------------------
|
||
% Column side
|
||
%--------------------------------------------------
|
||
\draw[directed] (rho) -- (Wj);
|
||
\draw[directed] (rho) -- (Wjp);
|
||
|
||
%--------------------------------------------------
|
||
% Likelihood
|
||
%--------------------------------------------------
|
||
\foreach \y in {Yij,Yijp}
|
||
\draw[directed] (Zi) -- (\y);
|
||
|
||
\foreach \y in {Yipj,Yipjp}
|
||
\draw[directed] (Zip) -- (\y);
|
||
|
||
\foreach \y in {Yij,Yipj}
|
||
\draw[directed] (Wj) -- (\y);
|
||
|
||
\foreach \y in {Yijp,Yipjp}
|
||
\draw[directed] (Wjp) -- (\y);
|
||
|
||
\foreach \y in {Yij,Yijp,Yipj,Yipjp}
|
||
\draw[directed] (alpha) -- (\y);
|
||
|
||
%--------------------------------------------------
|
||
% Correlation structure
|
||
%--------------------------------------------------
|
||
\draw[bidirected] (alpha) -- (Zi);
|
||
\draw[bidirected] (alpha) -- (Zip);
|
||
|
||
\draw[bidirected] (alpha) -- (Wj);
|
||
\draw[bidirected] (alpha) -- (Wjp);
|
||
|
||
\end{tikzpicture}
|
||
\end{document}
|
||
```
|
||
|
||
```tikz
|
||
\usepackage{tikz}
|
||
|
||
\usepackage{amsmath}
|
||
|
||
\usetikzlibrary{positioning,shapes.arrows, arrows.meta,shapes.geometric}
|
||
|
||
\begin{document}
|
||
|
||
\begin{tikzpicture}
|
||
|
||
\tikzset{
|
||
|
||
every path/.append style = {
|
||
|
||
arrows = ->,
|
||
|
||
> = stealth,},
|
||
|
||
every node/.append style = {
|
||
|
||
shape = circle,
|
||
|
||
draw = black,
|
||
|
||
minimum size=3em
|
||
|
||
},
|
||
|
||
latent/.style = {
|
||
|
||
fill = lightgray
|
||
|
||
},
|
||
|
||
prior/.style = {
|
||
|
||
fill = red},
|
||
|
||
moral/.style = {
|
||
|
||
dashed,
|
||
|
||
> = {}, % remove arrow tip
|
||
|
||
arrows = -, % ensure no arrows
|
||
|
||
}}
|
||
|
||
|
||
|
||
\node (y) {$Y$};
|
||
|
||
|
||
|
||
\node[latent] (z) [above left = of y] {$Z$};
|
||
|
||
|
||
|
||
\node[latent] (w) [above right = of y] {$W$};
|
||
|
||
|
||
|
||
\node[latent] (P) [above = of z] {$P$};
|
||
|
||
|
||
|
||
\node[prior] (sigma2) [above = of P] {$\sigma^2$};
|
||
|
||
|
||
|
||
\node[prior] (rho) [above = of w] {$\rho_{1:R}$};
|
||
|
||
|
||
|
||
\node[prior] (alpha) [below = of y] {$\boldsymbol{\alpha}$};
|
||
|
||
|
||
|
||
\path (z) edge (y);
|
||
|
||
|
||
|
||
\path (w) edge (y);
|
||
|
||
|
||
|
||
\path (rho) edge (w);
|
||
|
||
|
||
|
||
\path (alpha) edge (y);
|
||
|
||
|
||
|
||
\path (P) edge (z);
|
||
|
||
|
||
|
||
\path (sigma2) edge (P);
|
||
|
||
|
||
|
||
% moral
|
||
|
||
|
||
|
||
\path[moral] (z) edge (alpha);
|
||
|
||
|
||
|
||
\path[moral] (w) edge (alpha);
|
||
|
||
|
||
|
||
\path[moral] (z) edge (w);
|
||
|
||
\end{tikzpicture}
|
||
|
||
\end{document}
|
||
```
|
||
|
||
# Détails sur $\ilr$
|
||
|
||
L'*Isometric Log Ratio* est une transformation qui permet d'envoyer de façon bijective des données depuis le simplexe $\Delta_{K}$ vers $\R^{(K-1)}$. Elle se construit à partir de la transformation *Center Log Ratio* ($\clr$), définie comme:
|
||
|
||
$$
|
||
\clr(\pmb{x}) = (\log(\frac{x_j}{\sqrt[n]{\prod^{n}_{i=1} x_i}}))_{j = 1,\dots,n} = (\log(x_j)- \frac{1}{n}\sum^{n}_{i=1} \log(x_i))_{j = 1,\dots,n}.
|
||
$$
|
||
|
||
On peut ensuite définir l'ilr en prenant $\Psi$ une base orthonormée de $\Delta_{K}$:
|
||
|
||
$$
|
||
\ilr(\pmb{x}) = \clr(\pmb{x}) \Psi^{\top}
|
||
$$
|
||
|
||
Dans [[@hronImputationMissingValues2010]], les auteurs définissent la base suivante:
|
||
|
||
$$
|
||
\ilr(\pmb{x}) = (z_1,\dots,z_{K-1})^{\top}, z_j = \sqrt{\frac{K-j}{K-j+1}} \log\biggl(\frac{\sqrt[K-j]{\prod_{l=j+1}^{K} x_l}}{x_j}\biggr) = \sqrt{\frac{K-j}{K-j+1}} \bigl[\frac{1}{K-j}\sum_{l=j+1}^{K}[\log(x_l)] - \log(x_j)\bigr]
|
||
$$
|
||
|
||
D'où l'on obtient la formule de la base suivante :
|
||
|
||
$$
|
||
\begin{aligned}
|
||
|
||
\psi_j & = \sqrt{\frac{K-j}{K-j+1}} \Biggl( \underbrace{0,\dots,0}_{j-1},-1,\underbrace{\frac{1}{K-j},\dots,\frac{1}{K-j}}_{K-j}\Biggr) \\
|
||
\end{aligned}
|
||
$$
|
||
|
||
avec $j\in\{1,\dots,K-1\}$, $\Psi$ est donc de taille $K-1\times K$.
|
||
|
||
Donc on obtient la matrice :
|
||
|
||
$$
|
||
\begin{aligned}
|
||
\Psi & = \begin{pmatrix}
|
||
|
||
- \sqrt{\frac{K-1}{K}} & \frac{1}{K-1}\sqrt{\frac{K-1}{K}} & \dots & \frac{1}{K-1}\sqrt{\frac{K-1}{K}} \\
|
||
|
||
0 & - \sqrt{\frac{K-2}{K-1}} & \dots & \frac{1}{K-2}\sqrt{\frac{K-2}{K-1}} \\
|
||
|
||
\vdots & & \ddots & \vdots \\
|
||
|
||
0 & \dots & - \sqrt{\frac{1}{2}} & \sqrt{\frac{1}{2}}
|
||
\end{pmatrix}
|
||
\end{aligned}
|
||
$$
|
||
|
||
Et d'après [[@williamsSimplextoEuclideanBijectionConjugate2026]] on a que pour $z\in\mathbb{R}^K$
|
||
|
||
$$
|
||
\ilr^{-1} (z)= \operatorname{softmax}(\Psi z) = x \in \Delta_{K}
|
||
$$
|
||
|
||
# Détails sur le calcul des directions privilégiées
|
||
|
||
Avec une base orthonormée $\Psi$ on peut calculer les directions privilégiée de la transformation $\ilr^{-1}$.
|
||
|
||
On sait qu'on cherche le vecteur $v_{k}$ qui est envoyé par $\Psi^{\top}$ sur $s_{k}$ :
|
||
|
||
$$
|
||
\begin{align*}
|
||
\Psi^{\top} v_{k} & = s_{k}\\
|
||
\implies \Psi\Psi^{\top} v_{k} &= \Psi s_{k} \\
|
||
\end{align*}
|
||
$$
|
||
|
||
Mais $\Psi$ étant une base orthonormée, on sait que $\Psi\Psi^{\top} = Id$ et donc :
|
||
|
||
$$
|
||
v_{k} =\Psi s_{k}
|
||
$$
|
||
|
||
Et afin de chercher les directions particulière envoyées sur les sommets du simplexe, on cherche $s_{k}^{\top} = (-M,\dots,0,\dots, -M)$ avec le $0$ en $k$ième position.
|
||
|
||
# Lois conditionnelles pour échantillonage de Gibbs
|
||
|
||
- [ ] Écrire pour loi d'émission Poisson et Binomiale négative (une conjuguée et l'autre MH)
|
||
|
||
## Loi de $P_i\mid Z_i, P_{-i}, \sigma^2$
|
||
|
||
On va vouloir simuler selon $p(P_i\mid Z_i, P_{-i}, \sigma^2) \propto p(Z_i\mid P_i) p(P_i\mid P_{-i}, \sigma^2)$. $p(Z_i\mid P_i)$ est une loi catégorielle, nommément $Z_i \mid P_i \sim \Cat_{K} ({\ilr}^{-1}(P_i)$). Pour $P_i|P_{-i}, \sigma^2$, il faut expliciter les formules:
|
||
|
||
$$
|
||
vec(P) \sim \Normal_{n(K-1)}(0, \sigma^2 I_{K-1} \otimes \Sigma), \Omega = (\sigma^2 I_{K-1} \otimes \Sigma)^{-1} = \frac{1}{\sigma^2}I_{K-1} \otimes \Sigma^{-1}
|
||
$$
|
||
|
||
En notant:
|
||
|
||
$$
|
||
\Theta = \Sigma^{-1}, \Omega = \frac{1}{\sigma^2}I_{K-1} \otimes \Theta
|
||
$$
|
||
|
||
En utilisant la formule suivante pour les vecteurs gaussiens conditionnés:
|
||
|
||
$$
|
||
\pmb{x} \sim \Normal(\pmb{\mu}, \Sigma) \qquad x_i \mid \pmb{x_{-i}} \sim \Normal(\mu_{i} - \Sigma_{i,i}\Sigma_{i,-i}^{-1}(\pmb{x_{-i}} - \pmb{\mu_{-i}}), \Sigma_{i,i} - \Sigma_{i,-i}\Sigma_{-i-,-i}^{-1}\Sigma_{-i,i}),
|
||
$$
|
||
|
||
Ce qui donne pour notre application:
|
||
|
||
$$
|
||
P_i\mid P_{-i} \sim \Normal_{K-1}(M_i + \Sigma_{i,-i} \Sigma^{-1}_{-i,-i}(P_{-i} - M_{-i}), \sigma^2(\Sigma_{i,i} - \Sigma_{i,-i}\Sigma^{-1}_{-i,-i}\Sigma_{-i,i})I_{K-1})
|
||
$$
|
||
|
||
On peut alors ici faire du *Metropolis within Gibbs* pour simuler la loi $P_i\mid P_{-i}, Z_i, \sigma^2$.
|
||
|
||
Pour tout $i$ :
|
||
|
||
```pseudo
|
||
\begin{algorithm}
|
||
|
||
\begin{algorithmic}
|
||
|
||
\State $P_i^c \gets \sim P_i\mid P_{-i}^{(t)}$
|
||
|
||
\State $\alpha \gets \frac{p(Z_i\mid P_i^c)}{p(Z_i\mid P_i^{(t)})}$, le taux d'acceptation. Simplification grâce au choix du noyau de transition.
|
||
|
||
\State $u \gets \sim \mathcal{U}(0,1)$
|
||
|
||
\If{$u\leq \alpha$}
|
||
|
||
\State $P_i^{(t+1)} \gets P_i^c$
|
||
|
||
\Else
|
||
|
||
\State $P_i^{(t+1)} \gets P_i^{(t)}$
|
||
|
||
\EndIf
|
||
|
||
\end{algorithmic}
|
||
|
||
\caption{Metropolis within Gibbs}
|
||
\end{algorithm}
|
||
```
|
||
|
||
## Loi de $\sigma^2\mid P$
|
||
|
||
$\DeclareMathOperator{\Inv}{Inv}$
|
||
|
||
On a un prior $\Inv-\Gamma$ sur $\sigma^{2}$ et on sait qu'il est conjugué avec la loi normale et il l'est aussi avec la loi normale matricielle (se voit grâce à la définition vectorisée de la loi normale matricielle).
|
||
|
||
La vraisemblance des $P$ et le prior sur $\sigma^2$
|
||
|
||
$$
|
||
\begin{align*}
|
||
p(P\mid \sigma^2) &= \frac{\exp\left( -\frac{1}{2\sigma^2} Tr((P-M)^{\top}\Sigma^{-1}(P-M)\right)}{(2\pi)^{n(K-1)/2}(\sigma^{2})^{n/2}|\Sigma|^\frac{(K-1)}{2}}\\
|
||
p(\sigma^2|\alpha_{0},\beta_{0}) & = \frac{\beta_{0}^{\alpha_{0}}}{\Gamma(\alpha_{0})} \left( \frac{1}{\sigma²}\right)^{\alpha_{0}+1} \exp\left( -\frac{\beta_{0}}{\sigma²} \right)
|
||
\end{align*}
|
||
$$
|
||
|
||
Et alors on a par le théorème de Bayes:
|
||
|
||
$$
|
||
\begin{align*}
|
||
p(\sigma^2 \mid P)
|
||
\propto
|
||
\left(\frac{1}{\sigma^2}\right)^{\boxed{\alpha_0+\frac{n}{2}}+1}
|
||
\exp\!\left(
|
||
-\frac{1}{\sigma^2}
|
||
\left[
|
||
\boxed{\beta_0
|
||
+
|
||
\frac{1}{2}
|
||
\operatorname{Tr}\!\left(
|
||
(P-M)^{\top}\Sigma^{-1}(P-M)
|
||
\right)}
|
||
\right]
|
||
\right).
|
||
\end{align*}
|
||
$$
|
||
|
||
Avec donc
|
||
|
||
$$
|
||
\sigma^{2}\mid P \sim \Inv-\Gamma (\alpha_{0}+\frac{n}{2}, \beta_0+\frac{1}{2}
|
||
\operatorname{Tr}\!\left((P-M)^{\top}\Sigma^{-1}(P-M)\right)
|
||
$$
|
||
|
||
## Loi de $\rho\mid W$
|
||
|
||
On pose un prior Dirichlet sur $\boldsymbol{\rho}\sim Dir(\gamma_{1},\dots,\gamma_{r},\dots,\gamma_{R})$ qui est conjugué avec la loi Catégorielle:
|
||
|
||
$$
|
||
\begin{align*}
|
||
|
||
p(\boldsymbol{\rho}|\boldsymbol{\gamma}) &= \frac{1}{B(\boldsymbol{\gamma})} \prod_{r = 1}^{R}\rho_{r}^{\gamma_{r}-1}\\
|
||
|
||
p(W\mid \boldsymbol{\gamma}) &= \prod_{j=1}^{n_{2}} p(W_{j}\mid \boldsymbol{\gamma})\\
|
||
|
||
& = \prod_{j=1}^{n_{2}} \prod_{r=1}^{R} \rho_{r}^{\mathbb{1}_{W_{j}=r}}\\
|
||
|
||
p(\pmb{\rho}\mid W) &\propto p(W\mid \pmb{\rho}) p(\pmb{\rho}\mid\boldsymbol{\gamma})\\
|
||
|
||
& \propto \prod_{j=1}^{n_{2}} \prod_{r=1}^{R} \rho_{r}^{\mathbb{1}_{W_{j}=r}} \rho_{r}^{\gamma_{r}-1} = \prod_{j=1}^{n_{2}} \prod_{r=1}^{R} \rho_{r}^{\mathbb{1}_{W_{j}=r}+\gamma_{r}-1}\\
|
||
|
||
& \propto \prod_{r=1}^{R} \prod_{j=1}^{n_{2}} \rho_{r}^{\mathbb{1}_{W_{j}=r}+\gamma_{r}-1} = \prod_{r=1}^{R} \rho_{r}^{\sum_{j=1}^{n_{2}}(\mathbb{1}_{W_{j}=r})+\gamma_{r}-1}\\
|
||
|
||
& \propto \prod_{r=1}^{R} \rho_{r}^{\boxed{N_{r}+\gamma_{r}}-1}
|
||
|
||
\end{align*}
|
||
$$
|
||
|
||
avec $N_r = \sum_{j=1}^{n_{2}} \mathbb{1}_{W_{j}=r}$, le comptage des $W_{j}$ qui valent $r$.
|
||
|
||
Et on trouve ainsi que $\boldsymbol{\rho}\mid W\sim Dir(N_{1}+\gamma_{1},\dots,,N_{r}+\gamma_{r},\dots,N_{R}+\gamma_{R})$.
|
||
|
||
*Usuellement*, on prend $\gamma_r = \frac{1}{R}$ (Jeffreys) selon Wikipédia si proche de 0 favorise parcimonie, tandis que 1 charge uniformément.
|
||
|
||
- [ ] Tester les effets du prior sur Dirichlet
|
||
|
||
## Loi de $Z\mid\alpha ,P,Y,W$
|
||
|
||
```tikz
|
||
\usepackage{tikz}
|
||
|
||
\usepackage{amsmath,amssymb}
|
||
|
||
\usetikzlibrary{arrows.meta,positioning,shapes.geometric,calc}
|
||
|
||
\begin{document}
|
||
|
||
\begin{tikzpicture}[
|
||
|
||
font=\sffamily,
|
||
|
||
node distance=1.35cm and 2.0cm,
|
||
|
||
>=Latex,
|
||
|
||
directed/.style={-{Latex}, line width=0.8pt, draw=gray!75},
|
||
|
||
bidirected/.style={-, line width=0.8pt, draw=red!75},
|
||
|
||
base/.style={draw=gray!70, line width=0.9pt, align=center, inner sep=5pt, text=black},
|
||
|
||
prior/.style={base, rectangle, rounded corners=1pt, fill=blue!7},
|
||
|
||
latent/.style={base, rectangle, rounded corners=6pt, fill=teal!8},
|
||
|
||
known/.style={base, diamond, aspect=1.35, fill=orange!12, inner sep=2pt},
|
||
|
||
observed/.style={base, circle, fill=purple!8,inner sep=1pt}
|
||
|
||
]
|
||
|
||
|
||
|
||
% Nodes: variance and covariance hyperparameters
|
||
|
||
\node[prior] (sigma) at (0, 2.8) {$\sigma^2$};
|
||
|
||
\node[known] (Sigma) at (3.2,2.8) {$\Sigma$};
|
||
|
||
|
||
|
||
% Nodes: latent probabilities
|
||
|
||
\node[latent] (Pi) [below of = sigma] {$P_i$};
|
||
|
||
\node[latent] (Pip) [below of = Sigma] {$P_{i^{\prime}}$};
|
||
|
||
|
||
|
||
% Nodes: latent assignments
|
||
|
||
\node[latent] (Zi) [below of = Pi] {$Z_i$};
|
||
|
||
\node[latent] (Zip) [below of = Pip] {$Z_{i^{\prime}}$};
|
||
|
||
|
||
|
||
% Nodes: observed response vectors
|
||
|
||
\node[observed] (Yidot) [below of = Zi] {$Y_{i,\bullet}$};
|
||
|
||
\node[observed] (Yipdot) [below of = Zip] {$Y_{i^{\prime},\bullet}$};
|
||
|
||
|
||
|
||
% Nodes: shared weights and correlation parameters
|
||
|
||
\node[prior] (rho) at ($(Zi)!0.5!(Zip)$) {$\boldsymbol{\rho}_{1:R}$};
|
||
|
||
\node[latent] (W) [below of = rho] {$W$};
|
||
|
||
|
||
|
||
% Node: intercept/offset parameter
|
||
|
||
\node[prior] (alpha) [below of = W] {$\alpha$};
|
||
|
||
|
||
|
||
% Directed edges from hyperparameters to latent probabilities
|
||
|
||
\draw[directed] (sigma) -- (Pi);
|
||
|
||
\draw[directed] (Sigma) -- (Pi);
|
||
|
||
\draw[directed] (sigma) -- (Pip);
|
||
|
||
\draw[directed] (Sigma) -- (Pip);
|
||
|
||
|
||
|
||
% Directed edges through latent assignments to observations
|
||
|
||
\draw[directed] (Pi) -- (Zi);
|
||
|
||
\draw[directed] (Pip) -- (Zip);
|
||
|
||
\draw[directed] (Zi) -- (Yidot);
|
||
|
||
\draw[directed] (Zip) -- (Yipdot);
|
||
|
||
|
||
|
||
% Directed edges from correlation parameters through W to observations
|
||
|
||
\draw[directed] (rho) -- (W);
|
||
|
||
\draw[directed] (W) -- (Yidot);
|
||
|
||
\draw[directed] (W) -- (Yipdot);
|
||
|
||
|
||
|
||
% Directed effects of alpha on observations
|
||
|
||
\draw[directed] (alpha) -- (Yidot);
|
||
|
||
\draw[directed] (alpha) -- (Yipdot);
|
||
|
||
|
||
|
||
% Bidirectional associations involving alpha
|
||
|
||
\draw[bidirected] (alpha) -- (W);
|
||
|
||
\draw[bidirected] (alpha) -- (Zi);
|
||
|
||
\draw[bidirected] (alpha) -- (Zip);
|
||
|
||
|
||
|
||
\end{tikzpicture}
|
||
|
||
\end{document}
|
||
```
|
||
|
||
Du DAG détaillé ci-dessus on peut déduire que pour chaque $Z_{i}$ on doit regarder la loi de $Z_{i}\mid Y_{i,\bullet},\alpha,W,P_{i}$
|
||
|
||
$$
|
||
\begin{align*}
|
||
p(Z_{i}\mid Y_{i,\bullet},\alpha,W,P_{i}) &\propto p(Y_{i,\bullet}\mid Z_{i},\alpha,W,P_{i})p(Z_{i}\mid W, \alpha, P_{i}) \\
|
||
& \propto p(Y_{i,\bullet}\mid Z_{i}, \alpha, W)p(Z_{i}\mid P_{i})
|
||
\end{align*}
|
||
$$
|
||
|
||
car $Z_{i}\bot(W,\alpha)\mid P_{i}$ et $Y_{i,\bullet}\bot P_{i}\mid Z_{i}$.
|
||
|
||
On a :
|
||
|
||
$$
|
||
\begin{align*}
|
||
p(Z_{i}\mid P_{i}) & = \ilr^{-1}(P_{i}) = (\pi_{i,1},\dots,\pi_{i,k},\dots,\pi_{i,K}) \\
|
||
p(Y_{i,\bullet}\mid Z_{i}, \alpha, W) & = \prod_{j=1}^{n_{2}} \alpha_{Z_{i},W_{j}}^{Y_{ij}}(1- \alpha_{Z_{i},W_{j}})^{1-Y_{ij}} \\
|
||
p(Z_{i} = k \mid P_{i}) & = \pi_{i,k} \\
|
||
p(Y_{i,\bullet}\mid Z_{i} = k, \alpha, W) & = \prod_{j=1}^{n_{2}} \prod_{r=1}^{R}\alpha_{k,r}^{\mathbb{1}_{W_{j} = r} Y_{ij}}(1- \alpha_{k,r})^{\mathbb{1}_{W_{j} = r}(1-Y_{ij})} \\
|
||
& = \prod_{r=1}^{R} \alpha_{k,r}^{\sum_{j=1}^{n_{2}}W_{jr}Y_{ij}} (1-\alpha_{k,r})^{\sum_{j=1}^{n_{2}}W_{jr}(1-Y_{ij})}
|
||
\end{align*}
|
||
$$
|
||
|
||
En posant $R_{ir}=\sum_{j=1}^{n_{2}}W_{jr}Y_{ij}$ et $F_{ir}=\sum_{j=1}^{n_{2}}W_{jr}(1-Y_{ij})$ on définit les matrices $\mathbf{R}$ et $\mathbf{F}$ qui comptent les succès et échecs par ligne $i$ et groupe $r$.
|
||
|
||
Ce qui donne pour les $\tilde{\pi}_{i,k}$ de la posterior:
|
||
|
||
$$
|
||
\begin{align*}
|
||
\tilde{\pi}_{i,k} = p(Z_{i} = k\mid Y_{i,\bullet},\alpha,W,P_{i}) & \propto p(Y_{i,\bullet}\mid Z_{i} = k, \alpha, W, P_{i})p(Z_{i}=k\mid P_{i})\\
|
||
& \propto \pi_{i,k} \prod_{r=1}^{R} \alpha_{k,r}^{R_{ir}}(1-\alpha_{k,r})^{F_{ir}}
|
||
\end{align*}
|
||
$$
|
||
|
||
Et ainsi à la fin :
|
||
|
||
$$
|
||
Z_{i}\mid P_{i}, Y, W, \alpha \sim \Cat_{K}(\tilde{\pi}_{i,1},\dots, \tilde{\pi}_{i,K})
|
||
$$
|
||
|
||
### Implémentation
|
||
|
||
$$
|
||
\begin{align*}
|
||
\log \tilde{p_{ik}} & = \log \pi_{i,k} + \sum_{r=1}^{R} [R_{ir} \log\alpha_{k,r} + F_{ir}\log{1-\alpha_{k,r}}] \\
|
||
\tilde{\pi}_{i,k} &= \frac{\exp(\log \tilde{p}_{ik} - m_{i})}{\sum_{l=1}^{K}\exp(\log \tilde{p_{il}}-m_{i})},\quad m_{i} = \max_{l} \log p_{il}
|
||
\end{align*}
|
||
$$
|
||
|
||
Qui se simplifie encore en remarquant que $\mathbf{F} = (\mathbf{1}_{n_{1}\times n_{2}}-Y)W = \mathbf{1}_{n_{1}\times n_{2}}W - \mathbf{R}$ avec $\mathbf{1}_{n_{1}\times n_{2}}$ la matrice de 1 de taille $n_{1}\times n_{2}$. Et en posant $\mathbf{N} = (N_{r})^{\top}_{r=1,\dots,R}$ (on rappelle $N_{r} = \sum_{j=1}^{n_{2}}W_{jr}$), on a
|
||
|
||
$$
|
||
\begin{align*}
|
||
\mathbf{N} &= W^{\top}\mathbf{1}_{n_{2}},\quad \mathbf{N}^{\top} = \mathbf{1}_{n_{2}}^{\top} W\\
|
||
\mathbf{1}_{n_{1}} \mathbf{N}^{\top} &= \mathbf{1}_{n_{1}} \mathbf{1}_{n_{2}}^{\top}W = \mathbf{1}_{n_{1}\times n_{2}} W
|
||
\end{align*}
|
||
$$
|
||
|
||
Et donc:
|
||
|
||
$$
|
||
\mathbf{F}=\mathbf{1}_{n_{1}}\mathbf{N}^{\top} - \mathbf{R}
|
||
$$
|
||
|
||
Ainsi :
|
||
|
||
$$
|
||
\log \tilde{\Pi} = \log(\ilr^{-1}(P)) + \mathbf{R}\log\alpha^{\top} + \mathbf{F} \log(1-\alpha)^{\top}
|
||
$$
|
||
|
||
## Loi de $W\mid\alpha ,\rho,Y,Z$
|
||
|
||
```tikz
|
||
\usepackage{tikz}
|
||
|
||
|
||
|
||
\usepackage{amsmath,amssymb}
|
||
|
||
|
||
|
||
\usetikzlibrary{arrows.meta,positioning,shapes.geometric,calc}
|
||
|
||
|
||
|
||
\begin{document}
|
||
|
||
|
||
|
||
\begin{tikzpicture}[font=\sffamily,
|
||
|
||
node distance=1.35cm and 2.0cm,
|
||
|
||
>=Latex,
|
||
|
||
directed/.style={-{Latex}, line width=0.8pt, draw=gray!75},
|
||
|
||
bidirected/.style={-, line width=0.8pt, draw=red!75},
|
||
|
||
base/.style={draw=gray!70, line width=0.9pt, align=center, inner sep=5pt,
|
||
|
||
text=black},
|
||
|
||
prior/.style={base, rectangle, rounded corners=1pt, fill=blue!7},
|
||
|
||
latent/.style={base, rectangle, rounded corners=6pt, fill=teal!8},
|
||
|
||
known/.style={base, diamond, aspect=1.35, fill=orange!12, inner sep=2pt},
|
||
|
||
observed/.style={base, circle, fill=purple!8,inner sep=1pt}]
|
||
|
||
|
||
|
||
% Nodes: latent assignments
|
||
|
||
|
||
|
||
\node[latent] (Wj) at (0, 2.8) {$W_j$};
|
||
|
||
\node[prior] (rho) [right of = Wj] {$\rho$};
|
||
|
||
\node[latent] (Wjp) [right of = rho] {$W_{j^{\prime}}$};
|
||
|
||
|
||
|
||
\node[latent] (Z) [below of = rho] {$Z$};
|
||
|
||
|
||
|
||
% Nodes: observed response vectors
|
||
|
||
|
||
|
||
\node[observed] (Ydotj) [below of = Wj] {$Y_{\bullet,j}$};
|
||
|
||
|
||
|
||
\node[observed] (Ydotjp) [below of = Wjp] {$Y_{\bullet,j^{\prime}}$};
|
||
|
||
|
||
|
||
% Nodes: shared weights and correlation parameters
|
||
|
||
|
||
|
||
%\node[prior] (rho) at ($(Zi)!0.5!(Zip)$) {$\boldsymbol{\rho}_{1:R}$};
|
||
|
||
|
||
|
||
%\node[latent] (W) [below of = rho] {$W$};
|
||
|
||
|
||
|
||
% Node: intercept/offset parameter
|
||
|
||
|
||
|
||
\node[prior] (alpha) [below of = Z] {$\alpha$};
|
||
|
||
|
||
|
||
% Directed edges through latent assignments to observations
|
||
|
||
|
||
|
||
\draw[directed] (Z) -- (Ydotj);
|
||
|
||
|
||
|
||
\draw[directed] (Z) -- (Ydotjp);
|
||
|
||
|
||
|
||
% Directed edges from correlation parameters through W to observations
|
||
|
||
|
||
|
||
\draw[directed] (rho) -- (Wj);
|
||
|
||
\draw[directed] (rho) -- (Wjp);
|
||
|
||
|
||
|
||
\draw[directed] (Z) -- (Ydotj);
|
||
|
||
|
||
|
||
\draw[directed] (Z) -- (Ydotjp);
|
||
|
||
|
||
|
||
% Directed effects of alpha on observations
|
||
|
||
|
||
|
||
\draw[directed] (alpha) -- (Ydotj);
|
||
|
||
|
||
|
||
\draw[directed] (alpha) -- (Ydotjp);
|
||
|
||
|
||
|
||
% Bidirectional associations involving alpha
|
||
|
||
|
||
|
||
\draw[bidirected] (alpha) -- (Z);
|
||
|
||
|
||
|
||
\draw[bidirected] (alpha) -- (Wj);
|
||
|
||
|
||
|
||
\draw[bidirected] (alpha) -- (Wjp);
|
||
|
||
|
||
|
||
\end{tikzpicture}
|
||
|
||
|
||
|
||
\end{document}
|
||
```
|
||
|
||
Du DAG détaillé ci-dessus on peut déduire que pour chaque $Z_{i}$ on doit regarder la loi de $W_{j}\mid Y_{\bullet,j},\alpha,Z,\rho$
|
||
|
||
$$
|
||
\begin{align*}
|
||
p(W_{j}\mid Y_{\bullet,j},\alpha,Z,\rho) &\propto p(Y_{\bullet,j}\mid W_{j},\alpha,Z,\rho)p(W_{j}\mid Z, \alpha, \rho) \\
|
||
%& \propto p(Y_{i,\bullet}\mid Z_{i}, \alpha, W)p(Z_{i}\mid P_{i})
|
||
\end{align*}
|
||
$$
|
||
|
||
**A MODIFIER**
|
||
|
||
car $Z_{i}\bot(W,\alpha)\mid P_{i}$ et $Y_{i,\bullet}\bot P_{i}\mid Z_{i}$.
|
||
|
||
On a :
|
||
|
||
$$
|
||
\begin{align*}
|
||
p(Z_{i}\mid P_{i}) & = \ilr^{-1}(P_{i}) = (\pi_{i,1},\dots,\pi_{i,k},\dots,\pi_{i,K}) \\
|
||
p(Y_{i,\bullet}\mid Z_{i}, \alpha, W) & = \prod_{j=1}^{n_{2}} \alpha_{Z_{i},W_{j}}^{Y_{ij}}(1- \alpha_{Z_{i},W_{j}})^{1-Y_{ij}} \\
|
||
p(Z_{i} = k \mid P_{i}) & = \pi_{i,k} \\
|
||
p(Y_{i,\bullet}\mid Z_{i} = k, \alpha, W) & = \prod_{j=1}^{n_{2}} \prod_{r=1}^{R}\alpha_{k,r}^{\mathbb{1}_{W_{j} = r} Y_{ij}}(1- \alpha_{k,r})^{\mathbb{1}_{W_{j} = r}(1-Y_{ij})} \\
|
||
& = \prod_{r=1}^{R} \alpha_{k,r}^{\sum_{j=1}^{n_{2}}W_{jr}Y_{ij}} (1-\alpha_{k,r})^{\sum_{j=1}^{n_{2}}W_{jr}(1-Y_{ij})}
|
||
\end{align*}
|
||
$$
|
||
|
||
En posant $R_{ir}=\sum_{j=1}^{n_{2}}W_{jr}Y_{ij}$ et $F_{ir}=\sum_{j=1}^{n_{2}}W_{jr}(1-Y_{ij})$ on définit les matrices $\mathbf{R}$ et $\mathbf{F}$ qui comptent les succès et échecs par ligne $i$ et groupe $r$.
|
||
|
||
Ce qui donne pour les $\tilde{\pi}_{i,k}$ de la posterior:
|
||
|
||
$$
|
||
\begin{align*}
|
||
\tilde{\pi}_{i,k} = p(Z_{i} = k\mid Y_{i,\bullet},\alpha,W,P_{i}) & \propto p(Y_{i,\bullet}\mid Z_{i} = k, \alpha, W, P_{i})p(Z_{i}=k\mid P_{i})\\
|
||
& \propto \pi_{i,k} \prod_{r=1}^{R} \alpha_{k,r}^{R_{ir}}(1-\alpha_{k,r})^{F_{ir}}
|
||
\end{align*}
|
||
$$
|
||
|
||
Et ainsi à la fin :
|
||
|
||
$$
|
||
Z_{i}\mid P_{i}, Y, W, \alpha \sim \Cat_{K}(\tilde{\pi}_{i,1},\dots, \tilde{\pi}_{i,K})
|
||
$$
|
||
|
||
## Loi de $\alpha \mid Y,Z,W$
|
||
|
||
On pose un prior Beta sur chaque $\alpha_{qr}\sim Beta(a_{0},b_{0})$ qui est conjugué avec la vraisemblance:
|
||
|
||
$$
|
||
\begin{align*}
|
||
p(\alpha_{qr}) &\propto \alpha_{qr}^{a_{0}-1} (1-\alpha_{qr})^{b_{0}-1} \\
|
||
p(Y\mid\alpha_{qr}, Z, W) &= \prod_{i,j: Z_i=q, W_{j}=r} p(Y_{ij}\mid\alpha_{qr},Z_{i},W_{j}) \\
|
||
&= \prod_{i,j: Z_{i}=r,W_{j}=r} \alpha_{qr}^{Y_{ij}}(1-\alpha_{qr})^{1-Y_{ij}} \\
|
||
& = \prod_{i,j} \alpha_{qr}^{\mathbb{1}_{Z_{i}=q}\mathbb{1}_{W_{j}=r}Y_{ij}}(1-\alpha_{qr})^{\mathbb{1}_{Z_{i}=q}\mathbb{1}_{W_{j}=r}(1-Y_{ij})}\\
|
||
& = \alpha_{qr}^{S_{qr}}(1-\alpha_{qr})^{E_{qr}}\\
|
||
p(\alpha_{qr}\mid Y, Z, W) &\propto p(Y\mid\alpha_{qr}, Z, W) p(\alpha_{qr})\\
|
||
& \propto \alpha_{qr}^{\boxed{S_{qr} + a_{0}}-1} (1-\alpha_{qr})^{\boxed{E_{qr}+b_{0}} -1}\\
|
||
\end{align*}
|
||
$$
|
||
|
||
avec $S_{qr}=\sum_{i,j}\mathbb{1}_{Z_{i}=q}\mathbb{1}_{W_{j}=r}Y_{ij}$ et $E_{qr}=\sum_{i,j}\mathbb{1}_{Z_{i}=q}\mathbb{1}_{W_{j}=r}(1-Y_{ij})$ qui définissent les matrices de comptages des succès et échecs de la réalisation. Les formules de calculs sont alors $\mathbf{S}=\mathbf{Z}^{\top}\mathbf{Y}\mathbf{W}$ et $\mathbf{E}=\mathbf{Z}^{\top}(1-\mathbf{Y})\mathbf{W}$ avec $\mathbf{Z}$ la matrice de taille $n_{1}\times Q$ et $\mathbf{W}$ la matrice de taille $n_{2}\times R$ qui indiquent laquelle des classes est peuplée par l'individu $i$ (ou $j$).
|
||
|
||
Pour raccourcir on note $Z_{iq}=\mathbb{1}_{Z_{i}=q}$ et $W_{jr}=\mathbb{1}_{W_{j}=r}$ qui sont aussi les termes des matrices définies avant.
|
||
|
||
$\alpha_{qr}\sim Beta(S_{qr}+a_{0},E_{qr}+b_{0}), \quad\boldsymbol{\alpha} \sim MatBeta(\mathbf{S}+a_{0},\mathbf{E} +b_{0})$
|