<span></span><span class="k">\documentclass</span><span class="nb">{</span>article<span class="nb">}</span>
<span class="k">\usepackage</span><span class="nb">{</span>tikz,amsmath<span class="nb">}</span>
<span class="c">%\usepackage{siunitx}</span>
<span class="k">\usetikzlibrary</span><span class="nb">{</span>arrows,snakes,backgrounds,patterns,matrix,shapes,fit,calc,shadows,plotmarks<span class="nb">}</span>
<span class="k">\usepackage</span><span class="na">[graphics,tightpage,active]</span><span class="nb">{</span>preview<span class="nb">}</span>
<span class="k">\PreviewEnvironment</span><span class="nb">{</span>tikzpicture<span class="nb">}</span>
<span class="k">\PreviewEnvironment</span><span class="nb">{</span>equation<span class="nb">}</span>
<span class="k">\PreviewEnvironment</span><span class="nb">{</span>equation*<span class="nb">}</span>
<span class="k">\newlength</span><span class="nb">{</span><span class="k">\imagewidth</span><span class="nb">}</span>
<span class="k">\newlength</span><span class="nb">{</span><span class="k">\imagescale</span><span class="nb">}</span>
<span class="k">\pagestyle</span><span class="nb">{</span>empty<span class="nb">}</span>
<span class="k">\thispagestyle</span><span class="nb">{</span>empty<span class="nb">}</span>
<span class="k">\usepackage</span><span class="nb">{</span>standalone<span class="nb">}</span>
<span class="k">\begin</span><span class="nb">{</span>document<span class="nb">}</span>
<span class="k">\begin</span><span class="nb">{</span>tikzpicture<span class="nb">}</span>
<span class="k">\tikzstyle</span><span class="nb">{</span>main<span class="nb">}</span>=[circle, minimum size = 10mm, thick, draw =black!80, node distance = 16mm]
<span class="k">\tikzstyle</span><span class="nb">{</span>hyparam<span class="nb">}</span>=[rectangle, minimum size = 5mm, thick, draw =black!80, fill = black!10, node distance = 16mm]
<span class="k">\tikzstyle</span><span class="nb">{</span>connect<span class="nb">}</span>=[-latex, thick]
<span class="k">\tikzstyle</span><span class="nb">{</span>selector<span class="nb">}</span>=[-latex, -|, snake=snake,segment amplitude=.4mm,segment length=2mm,line after snake=1mm, thick]
<span class="k">\tikzstyle</span><span class="nb">{</span>shortconnect<span class="nb">}</span>=[-latex, thin]
<span class="k">\tikzstyle</span><span class="nb">{</span>box<span class="nb">}</span>=[rectangle, draw=black!100]
<span class="k">\tikzstyle</span><span class="nb">{</span>switch<span class="nb">}</span>=[circle, minimum size = 1mm, fill = black!100, draw=black!100]
<span class="k">\node</span><span class="na">[hyparam]</span> (alpha0) [label=below:<span class="s">$</span><span class="nv">\alpha</span><span class="nb">_</span><span class="m">0</span><span class="s">$</span>] <span class="nb">{</span> <span class="nb">}</span>;
<span class="k">\node</span><span class="na">[main]</span> (pi) [right of=alpha0,label=below:<span class="s">$</span><span class="nv">\boldsymbol\pi</span><span class="s">$</span>] <span class="nb">{</span>[K]<span class="nb">}</span>;
<span class="k">\node</span><span class="na">[main]</span> (z) [right of=pi,label=below:<span class="s">$</span><span class="nb">z_i</span><span class="s">$</span>] <span class="nb">{</span>K<span class="nb">}</span>;
<span class="k">\node</span><span class="na">[main]</span> (mu) [above of=pi,yshift=10mm, label=below:<span class="s">$</span><span class="nv">\boldsymbol\mu</span><span class="nb">_k</span><span class="s">$</span>] <span class="nb">{</span>[D]<span class="nb">}</span>;
<span class="k">\node</span><span class="na">[main, fill = black!10]</span> (x) [right of= z,label=below:<span class="s">$</span><span class="nv">\mathbf</span><span class="nb">{x}_i</span><span class="s">$</span>] <span class="nb">{</span>[D]<span class="nb">}</span>;
<span class="k">\node</span><span class="na">[main]</span> (Lambda) [above of=z,yshift=10mm, label=below:<span class="s">$</span><span class="nv">\boldsymbol\Lambda</span><span class="nb">_k</span><span class="s">$</span>] <span class="nb">{</span>[D,D]<span class="nb">}</span>;
<span class="k">\node</span><span class="na">[hyparam]</span> (nu0) [above of=Lambda, label=<span class="s">$</span><span class="nv">\nu</span><span class="nb">_</span><span class="m">0</span><span class="s">$</span>] <span class="nb">{</span> <span class="nb">}</span>;
<span class="k">\node</span><span class="na">[hyparam]</span> (W0) [right of=nu0, label=<span class="s">$</span><span class="nv">\mathbf</span><span class="nb">{W}_</span><span class="m">0</span><span class="s">$</span>] <span class="nb">{</span>[D,D]<span class="nb">}</span>;
<span class="k">\node</span><span class="na">[hyparam]</span> (beta0) [above of=mu, label=<span class="s">$</span><span class="nv">\beta</span><span class="nb">_</span><span class="m">0</span><span class="s">$</span>] <span class="nb">{</span> <span class="nb">}</span>;
<span class="k">\node</span><span class="na">[hyparam]</span> (mu0) [left of=beta0, label=<span class="s">$</span><span class="nv">\boldsymbol\mu</span><span class="nb">_</span><span class="m">0</span><span class="s">$</span>] <span class="nb">{</span>[D]<span class="nb">}</span>;
<span class="c">%\node[switch] (xz) [above left of=x] {};</span>
<span class="k">\path</span> (alpha0) edge [connect] (pi)
(pi) edge [connect] (z)
<span class="c">%(z) edge [selector] (xz)</span>
<span class="c">%(mu) edge [connect] (xz)</span>
<span class="c">%(Lambda) edge [connect] (xz)</span>
<span class="c">%(xz) edge [shortconnect] (x)</span>
(z) edge [selector] (x)
(mu) edge [connect] (x)
(Lambda) edge [connect] (x)
(Lambda) edge [connect] (mu)
(nu0) edge [connect] (Lambda)
(W0) edge [connect] (Lambda)
(beta0) edge [connect] (mu)
(mu0) edge [connect] (mu);
<span class="c">%\node[rectangle, inner sep=0mm, fit= (z) (x) (xz),label=below right:N, yshift=-1.5mm, xshift=7mm] {};</span>
<span class="k">\node</span><span class="na">[rectangle, inner sep=0mm, fit= (z) (x),label=below right:N, yshift=-1.5mm, xshift=7mm]</span> <span class="nb">{}</span>;
<span class="k">\node</span><span class="na">[rectangle, inner sep=4.4mm,draw=black!100, fit= (z) (x), yshift=-1.5mm, xshift=0.5mm]</span> <span class="nb">{}</span>;
<span class="k">\node</span><span class="na">[rectangle, inner sep=0mm, fit= (mu) (Lambda),label=below right:K, yshift=-2mm, xshift=11mm]</span> <span class="nb">{}</span>;
<span class="k">\node</span><span class="na">[rectangle, inner sep=4.4mm,draw=black!100, fit= (mu) (Lambda), yshift=-2mm, xshift=3mm]</span> <span class="nb">{}</span>;
<span class="k">\end</span><span class="nb">{</span>tikzpicture<span class="nb">}</span>
<span class="k">\end</span><span class="nb">{</span>document<span class="nb">}</span>