データ生成

乱数によってデータを生成する。

source

gen_w

 gen_w (key:Union[jaxtyping.Key[Array,''],jaxtyping.UInt32[Array,'2']],
        N:int, T:int, G:jaxtyping.Float[Array,'{N}{N}'],
        w0:jaxtyping.Float[Array,'{N}'])

\(\!\) 潜在変数 \(\{\mathbf w_t\}_{t=0,\ldots,T-1}\) の生成 \[\mathbf w_{t}\sim\mathcal N(\mathbf w_t\mid\mathbf w_{t-1},\boldsymbol\Gamma)\] \(\!\)

Type Details
key Union PRNGKeyArray
N int \(N\)
T int \(T\)
G Float[Array, ‘{N} {N}’] \(\boldsymbol\Gamma\)
w0 Float[Array, ‘{N}’] \(\mathbf w_{-1}\)
Returns Float[Array, ‘{T} {N}’] \(\{\mathbf w_t\}_{t=0,\ldots,T-1}\)

source

gen_xy

 gen_xy (key:Union[jaxtyping.Key[Array,''],jaxtyping.UInt32[Array,'2']],
         N:int, T:int, Sigma:jaxtyping.Float[Array,'{N}{N}'],
         W:jaxtyping.Float[Array,'{T}{N}'])

\(\!\) 観測変数 \(\{\mathbf x_t\}_{t=0,\ldots,T-1}, \{y_t\}_{t=0,\ldots,T-1}\) の生成 \[y_t\sim\text{Bern}(y_t\mid 1/2)\] \[\boldsymbol\Sigma\mathbf w_t=2\boldsymbol\mu_{1,t}\] \[\boldsymbol\mu_{2,t}=-\boldsymbol\mu_{1,t}\] \[ \mathbf x_t\sim \begin{cases} \displaystyle\mathcal N\left(\boldsymbol\mu_{1,t},\boldsymbol\Sigma\right) & (y_t=1) \\ \displaystyle\mathcal N\left(\boldsymbol\mu_{2,t},\boldsymbol\Sigma\right) & (y_t=0) \end{cases} \] \(\!\)

Type Details
key Union RPNGKeyArray
N int \(N\)
T int \(T\)
Sigma Float[Array, ‘{N} {N}’] \(\boldsymbol\Sigma\)
W Float[Array, ‘{T} {N}’] \(\{\mathbf w_t\}_{t=0,\ldots,T-1}\)
Returns Tuple \(\{\mathbf x_t\}_{t=0,\ldots,T-1}, \{y_t\}_{t=0,\ldots,T-1}\)