{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Dirichlet process mixture models\n", "\n", "[Bayesian mixture models](bayesian_mixture_models.ipynb) introduced how to infer the posterior of the parameters of a mixture model with a fixed number of components $K$. We can either find $K$ using model selection, i.e. with AIC, BIC, WAIC, etc., or try to automatically infer this number. Nonparametric mixture models do exactly this. \n", "\n", "Here we implement a nonparametric Bayesian mixture model using *Gibbs sampling*. We use a *Chinese restaurant process* prior and stick-breaking construction to sample from a *Dirichlet process* (see for instance Nils Hjort's [*Bayesian Nonparametrics*](https://www.cambridge.org/ch/academic/subjects/statistics-probability/statistical-theory-and-methods/bayesian-nonparametrics?format=HB&isbn=9780521513463), Peter Orbanz' [lecture notes](http://stat.columbia.edu/~porbanz/papers/porbanz_BNP_draft.pdf)), Kevin Murphy's [book](https://mitpress.mit.edu/books/machine-learning-1) and last but not least Herman Kamper's [notes](https://www.kamperh.com/notes/kamper_bayesgmm13.pdf). \n", "\n", "We'll implement the Gibbs sampler using the CRP ourselves, since (I think) Stan doesn't allow us to do this and then use the stick-breaking construction with Stan. That is technically not possible though, so we use a small hack (a truncated DP).\n", "\n", "**As usual I do not take warranty for the correctness or completeness of this document.**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'll use R, cause it's the bestest!" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "options(repr.fig.width=4, repr.plot.height=3)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "suppressMessages(library(\"e1071\"))\n", "suppressMessages(library(\"mvtnorm\"))\n", "suppressMessages(library(\"dplyr\"))\n", "suppressMessages(library(\"ggplot2\"))\n", "suppressMessages(library(\"MCMCpack\"))\n", "suppressMessages(library(\"bayesplot\"))\n", "suppressMessages(library(\"rlang\"))\n", "suppressMessages(library(\"tsne\"))\n", "set.seed(23)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "suppressMessages(library(rstan))\n", "rstan_options(auto_write = TRUE)\n", "options(mc.cores = parallel::detectCores())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In [Bayesian mixture models](bayesian_mixture_models.ipynb) we used following hierarchical form to describe a mixture model:\n", "\n", "\\begin{align*}\n", "\\boldsymbol \\theta_k & \\sim \\mathcal{G}_0\\\\\n", "\\boldsymbol \\pi & \\sim \\text{Dirichlet}(\\boldsymbol \\alpha_0)\\\\\n", "z_i & \\sim \\text{Discrete}(\\boldsymbol \\pi)\\\\\n", "\\mathbf{x}_i \\mid z_i = k & \\sim {P}(\\boldsymbol \\theta_k)\n", "\\end{align*}\n", "\n", "where $\\mathcal{G}_0$ is some base distribution for the model parameters." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The DP on contrast, as any BNP model, puts priors on structures that accomodate infinite sizes. The resulting posteriors give a distribution on structures that grow with new observations. A mixture model using an possibly infinite number of components could look like this:\n", "\n", "\\begin{align*}\n", "\\mathcal{G} & \\sim \\mathcal{DP}(\\alpha, \\mathcal{G}_0)\\\\\n", "\\boldsymbol \\theta_i & \\sim \\mathcal{G}\\\\\n", "\\mathbf{x}_i& \\sim {P}(\\boldsymbol \\theta_i)\n", "\\end{align*}\n", "\n", "where $\\mathcal{G}_0$ is the same base measure as above and $\\mathcal{G}$ is a sample from the DP, i.e. also a random measure." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Chinese restaurant process\n", "\n", "One way, and possibly the easiest, to implement a DPMM is using a *Chinese restaurant process* (CRP) which is a distribution over partitions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Data generating process\n", "\n", "The hierarchical model using a CRP is:\n", "\n", "\\begin{align*}\n", "\\boldsymbol \\theta_k & \\sim \\mathcal{G}_0 \\\\\n", "z_i \\mid \\mathbf{z}_{1:i-1} & \\sim \\text{CRP} \\\\\n", "\\mathbf{x}_i & \\sim P(\\boldsymbol \\theta_{z_i})\n", "\\end{align*}\n", "\n", "where $\\text{CRP}$ is a prior on possible infinitely many classes. Specifically the CRP is defined as:\n", "\n", "\\begin{align*}\n", "P(z_i = k \\mid \\mathbf{z}_{-i}) = \\left\\{\n", " \\begin{array}{ll}\n", " \\frac{N_k}{N - 1 + \\alpha}\\\\\n", " \\frac{\\alpha}{N - 1 + \\alpha}\\\\\n", " \\end{array}\n", " \\right.\n", "\\end{align*}\n", "\n", "where $N_k$ is the number of customers at table $k$ and $\\alpha$ some hyperparameter." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the variables of interest, $\\boldsymbol \\theta_k$ and $\\boldsymbol z$ the posterior is:\n", "\n", "\\begin{align*}\n", "P(\\boldsymbol \\theta, \\boldsymbol z \\mid \\mathbf{X}) \\propto P(\\mathbf{X} \\mid \\boldsymbol \\theta, \\boldsymbol z ) P(\\boldsymbol \\theta) P ( \\boldsymbol z )\n", "\\end{align*}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using a Gibbs sampler, we iterate over the following two steps:\n", "\n", "1) sample $z_i \\sim P(z_i \\mid \\mathbf{z}_{-i}, \\mathbf{X}, \\boldsymbol \\theta) \\propto P(z_i \\mid \\mathbf{z}_{-i}) P(\\mathbf{x}_i \\mid \\boldsymbol \\theta_{z_i}, \\mathbf{X}_{-i}, \\mathbf{z})$\n", "\n", "2) sample $\\boldsymbol \\theta_k \\sim P(\\boldsymbol \\theta_k \\mid \\mathbf{z}, \\mathbf{X})$\n", "\n", "So we alternate sampling assignments of data to classes and sampling the parameters of the data distribution given the class assignments. The major difference here compared to the finite case is the way of sampling $z_i$ which we do using the CRP in the infinite case. The CRP itself is defined by $P(z_i \\mid \\mathbf{z}_{-i})$, so replacing this by a usual finite sample would give us a finite mixture. Evaluation of the likelihoods in the first step is fairly straightforward as we will see. Updating the model parameters in the second step is conditional on every class, an by that also not too hard to do." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Stick-breaking construction\n", "\n", "With the CRP with put a prior distribution on the possibly infinite number of class assignments. An alternative approach is to use *stick-breaking* construction. The advantage here is that we could use Stan using a truncated DP, thus we don't need to implement the sampler ourselves." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Data generating process\n", "\n", "If we, instead of putting a CRP prior on the latent labels, put a prior on the possibly infinite sequence of mixing weights $\\boldsymbol \\pi$ we arrive at the *stick-breaking* construction. The hierarchical model now looks like this:\n", "\n", "\\begin{align*}\n", "\\nu_k &\\sim \\text{Beta}(1, \\alpha) \\\\\n", "\\pi_k & = \\nu_k \\prod_{j=1}^{k-1} (1 - \\nu_j) \\\\\n", "\\boldsymbol \\theta_k & \\sim G_0 \\\\\n", "\\mathbf{x}_i & \\sim \\sum_k \\pi_k P(\\boldsymbol \\theta_k)\n", "\\end{align*}\n", "\n", "where $N_k$ is the number of customers at table $k$ and $\\alpha$ some hyperparameter. The distribution of the mixing weights is sometimes denoted as\n", "\n", "$$\n", "\\boldsymbol \\pi \\sim \\text{GEM}(\\alpha)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gaussian DPMM" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the following section, we derive a Gaussian Dirichlet process mixture using the CRP with a Gibbs sampler and the stick-breaking construction using Stan." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### CRP" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the Gaussian case the hierarchical model using the CRP has the following form:\n", "\n", "\\begin{align*}\n", "\\boldsymbol \\Sigma_k & \\sim \\mathcal{IW}\\\\\n", "\\boldsymbol \\mu_k & \\sim \\mathcal{N}(\\boldsymbol \\mu_0, \\boldsymbol \\Sigma_0) \\\\\n", "z_i \\mid z_{1:i-1} & \\sim \\text{CRP} \\\\\n", "\\mathbf{x}_i & \\sim \\mathcal{N}(\\boldsymbol \\mu_{z_i}, \\boldsymbol \\Sigma_{z_i})\n", "\\end{align*}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's derive the Gibbs sampler for a infinite Gaussian mixture using the CRP." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we set data $\\mathbf{X}$ some constants. We create a very simple data set to avoid problems with identifiability and label switching. For a treatment of the topic see Michael Betancourt's [case study](https://betanalpha.github.io/assets/case_studies/identifying_mixture_models.html). $n$ is the number of samples, $p$ is the dimensionality of the Gaussian, $\\alpha$ is the Dirichlet concentration." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "n <- 100\n", "p <- 2\n", "alpha <- .5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Latent class assignments (Z), the current table index and the number of customers per table:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "Z <- integer(n)\n", "X <- matrix(0, n, p)\n", "curr.tab <- 0\n", "tables <- c()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parameters of the Gaussians:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "sigma <- .1\n", "mus <- NULL" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we create a random assignment of customers to tables with probability $P(z_i \\mid Z_{-i})$, i.e. we use the CRP to put data into classes.\n", "Note that we don't know the number of classes that comes out!" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "for (i in seq(n))\n", "{ \n", " probs <- c(tables / (i - 1 + alpha), alpha / (i - 1 + alpha))\n", " table <- rdiscrete(1, probs)\n", " if (table > curr.tab) \n", " {\n", " curr.tab <- curr.tab + 1\n", " tables <- c(tables, 0)\n", " mu <- mvtnorm::rmvnorm(1, c(0, 0), 10 * diag(p))\n", " mus <- rbind(mus, mu)\n", " }\n", " Z[i] <- table\n", " X[i,] <- mvtnorm::rmvnorm(1, mus[Z[i], ], sigma * diag(p))\n", " tables[table] <- tables[table] + 1\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's see how many clusters and how many data points per clusters we have." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAFoCAMAAABaCiv2AAACOlBMVEUAAAABAQECAgIEBAQG\nBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBASEhITExMUFBQWFhYYGBgZGRkaGhod\nHR0eHh4fHx8hISEjIyMkJCQoKCgsLCwvLy8wMDAxMTEyMjIzMzM1NTU4ODg6Ojo7Ozs/Pz9B\nQUFCQkJDQ0NERERKSkpNTU1OTk5PT09QUFBRUVFSUlJTU1NVVVVWVlZXV1dYWFhZWVlaWlpb\nW1tcXFxdXV1eXl5fX19hYWFiYmJkZGRlZWVnZ2doaGhpaWlra2tsbGxubm5vb29wcHBxcXF0\ndHR1dXV2dnZ3d3d4eHh6enp7e3t8fHx9fX1+fn5/f3+BgYGCgoKEhISFhYWGhoaIiIiKioqL\ni4uMjIyNjY2QkJCRkZGSkpKTk5OUlJSWlpaYmJiZmZmampqbm5udnZ2goKChoaGjo6OkpKSm\npqanp6eoqKiqqqqrq6usrKytra2urq6wsLCxsbGysrK0tLS2tra3t7e4uLi5ubm6urq7u7u/\nv7/AwMDCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnLy8vMzMzNzc3Pz8/Q0NDS0tLT09PU1NTV\n1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo\n6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6\n+vr7+/v8/Pz9/f3+/v7///9ZNMIrAAAACXBIWXMAABJ0AAASdAHeZh94AAATqUlEQVR4nO2d\n+3/bZ3WABRsdDOhGB6OwUTpu2xiynZi6KqK5mXWMpt3GIHQUBrk5CaG00NImaRowcyGbQ7Gp\nkq0B0iaMi3yLnUS2o/j7vyE52E2UVNKr95zzfY95nh9iR/Un72Of81RfyUpcyAAgmkLeAgAb\nAUICEICQAAQgJAABCAlAAEICEICQAAQgJAABfIQ0N5u3QW/UZy7lrdAbV2aW81bojYszOR3s\nI6SZqbwNeqNeXchboTcuV5fyVuiN2bw2hZA0ISRrCKkthGQMIYVCSJoQkjWE1BZCMoaQQiEk\nTQjJGkJqCyEZQ0ihEJImhGQNIbWFkIwhpFAISRNCsoaQ2kJIxhBSKISkCSFZQ0htISRjCCkU\nQtIkpZBKmuT9ya1DSG0hpHgISRVC0oSQrCGkthBSPISkCiFpQkjWEFJbCCkeQlKFkDQhJGuS\nDukHxaXGThwqD+2rqfvcHkKKh5BU6SKk6v3NkA5vr5zesUdf6LYQUjyEpErnkFa+8PlGSLXB\nk1k20T9noHQbCCkeQlKlc0jPPzzRCKlSnG/sRd+4gdJtIKR4CEmVjiH98oFXJxshjW1q/qZ8\nfO3mpZol01Omx4lxuTqXt8I6qiHl/cmtM2O7KYtdh3Rt57NZM6TRoebvth5du32uCr5QDSnv\nTy4vXv93XTuF9PTOq/WJYm1lbPPqPdIJ7pFC4B7JmmTvkT5bXOW5SrFxtV/vP9Xhw5XgMVI8\nqiHl/cmtk+xjpNfOnj37QvHM7OLgeJZNDvCsXRCEZE2yITVpPkbKDm6bPDO8V93n9hBSPISk\nStchLY8Mlfbn9dcmCSkeQlKF19ppQkjWEFJbCCketyH58CYkTQgpcXE5S0LShJASF5ezJCRN\nCClxcTlLQtKEkBIXl7MkJE0IKXFxOUtC0oSQEheXsyQkTQgpcXE5S0LShJASF5ezJCRNCClx\ncTlLQtKEkBIXl7MkJE0IKXFxOUtC0oSQEheXsyQkTQgpcXE5S0LShJASF5ezJCRNCClxcTlL\nQtKEkBIXl7MkJE0IKXFxOUtC0oSQEheXsyQkTQgpcXE5S0LShJASF5ezJCRNCClxcTlLQtKE\nkBIXl7MkJE0IKXFxOUtC0oSQEheXs+w1pEtzlkxVTY+Tozqdt8E6mvtY8ioe6zYfHdK1uiUz\nU6bHibFcnc9bYR3NfSx5FY91uxYdki1c2sWjuY9c2hGSKoSUuLicJSFpQkiJi8tZEpImhJS4\nuJwlIWlCSImLy1kSkiaElLi4nCUhaUJIiYvLWRKSJoSUuLicJSFpQkiJi8tZEpImhJS4uJwl\nIWlCSImLy1kSkiaElLi4nCUhaUJIiYvLWRKSJoSUuLicJSFpQkiJi8tZEpImhJS4uJwlIWlC\nSImLy1kSkiaElLi4nCUhaUJIiYvLWRKSJoSUuLicJSFpQkiJi8tZEpImhJS4uJwlIWlCSImL\ny1kSkiaElLi4nCUhaUJIiYvLWXYM6dLuB8pP1Bs7cag8tK8md3AQhBSP5j4SUueQHv/cz17e\n+kSWHd5eOb1jj9zBQRBSPJr7SEgdQ5ruO51lxx7MaoMns2yif07u5BAIKR7NfSSkjiGtnG9c\n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\nAX4HZnCNijWxlV8AAAAASUVORK5CYII=", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data.frame(table(Z))%>%\n", " ggplot() +\n", " geom_col(aes(Z, Freq), width=.5) +\n", " theme_minimal()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nSURBVF005f9FXOHBgwc3b968b9++qVOnEtG//vWvlJSUzZs3n3POOZFVOKi9YoOzuh4FBQVX\nX331IC+m1+sD0jiO4/R6fajzLRbLIGseo0RRdDgcNptN6UBilCiK7e3tOp0u7t8JEeM4jmXZ\nnl5wCMBxnN1uNxqNYT7ExjmWZUVRjLhvIO6xLOt0Os1mMxZwCMXtdqvV6jBf5XHmi4oH/Fkd\nEfmT/a8O/b4g9cyS9HMjqzAnJ2fDhg2TJ0/urpNhiMjpdEYc4XD3iv3zn//80EMPDfLklJQU\njuN6whUEoaurKyUlZZgxAAAAAETB3trXggv31LwacYWJiYlnnXWWStWdj/3pT38ym80LFy6M\nuMIRSOwefvjhQZ5cXFys0+kOHDjgPzxw4ADDMKWlpcOMAQAAACAKWK5zkIURePPNN1euXPnU\nU08lJSVFXMmgbsWGsXr16sEPmdTr9eeee+5zzz1nNBq1Wu2zzz77/e9/32q1DjMGAAAAgChI\nt0ytad8WUJhhmTb8mv/5z3/edNNNjzzyyHXXXTeceoab2F1wwQVDGpV83XXXCYLwyCOPqFSq\n+fPn33jjjcMMAAAAACA6zpm68oX/fq9vicWYM6/k9mFWu3Llyvvvv/+ZZ5655ZZbhllVuFux\ng9kW4siRI2efffbgr6fVan/2s5+99tpra9euvfXWWwMmyQIAAADErKLUhVfNey89cQoRqRhN\nSfq5187/PEGXOpw6n3jiiQcffPD1118fflZHROGmKDMMs3Tp0r///e/p6enBz0qS9PTTT997\n771ut3v8zHMeWZgVGx5mxQ4Is2LDw6zYAWFWbHiYFTug8TYrtgfL2bVqo1o13P6pysrKadOm\nLVu2rO8aI9OmTcvNzY2swnA9dg899NBHH300ffr0999/P+CpY8eOLVy48Pbbb9fpdC+88EJk\n1wYAAAAYiwxa6/CzOiJ66623OI5bu3btkj4+/vjjiCsMl9g9+OCDGzduNJlMF1988U033eRy\nuYhIkqRnn312xowZGzduvPjiiw8cODDMUX4AAAAA49N9990nBbnhhhsirnCA5U7OOOOMXbt2\nXX311c8//3x5efk777yzaNGi2267zWAwrFmzZt26dVlZWRFfGwAAAABG0MDr2FkslpdffvmD\nDz5oaWm59NJL//Of/1xxxRUHDhy46qqrohAfAAAAAAzSoBYorqmp+etf/+ofg0xElZWV1dXV\n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", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data.frame(X=X, Z=as.factor(Z)) %>%\n", " ggplot() +\n", " geom_point(aes(X.1, X.2, col=Z)) +\n", " theme_minimal()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Posterior inference using Gibbs sampling\n", "\n", "Let's infer the posteriors." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We randomly initialize the cluster assignments and set all customers to table 1. Hyperparameter $\\alpha$ controls the probability of opening a new table." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# initialization of the cluster assignments\n", "K <- 1\n", "zs <- rep(K, n)\n", "alpha <- 5\n", "tables <- n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Define the priors of the model. We set the covariances to be fixed." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "mu.prior <- matrix(c(0, 0), ncol = 2)\n", "sigma.prior <- diag(p)\n", "q.prior <- solve(sigma.prior)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Base distribution $\\mathcal{G}_0$:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "sigma0 <- diag(p)\n", "prec0 <- solve(sigma0)\n", "mu0 <- rep(0, p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To infer the posterior we would use the Gibbs sampler described above. Here, I am only interested in the most likely assignment, i.e. the map of $Z$." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "for (iter in seq(100))\n", "{\n", " for (i in seq(n))\n", " {\n", " # look at data x_i and romove its statistics from the clustering\n", " zi <- zs[i]\n", " tables[zi] <- tables[zi] - 1\n", " if (tables[zi] == 0) {\n", " K <- K - 1\n", " zs[zs > zi] <- zs[zs > zi] - 1\n", " tables <- tables[-zi]\n", " mu.prior <- mu.prior[-zi, ]\n", " }\n", " \n", " # compute posterior probabilitites P(z_i \\mid z_-i, ...)\n", " no_i <- seq(n)[-i]\n", " probs <- sapply(seq(K), function(k) {\n", " crp <- sum(zs[no_i] == k) / (n + alpha - 1)\n", " lik <- mvtnorm::dmvnorm(X[i, ], mu.prior[k,], sigma.prior)\n", " crp * lik\n", " })\n", " \n", " # compute probability for opening up a new one\n", " crp <- alpha / (n + alpha - 1)\n", " lik <- mvtnorm::dmvnorm(X[i, ], mu0, sigma.prior + sigma0)\n", " probs <- c(probs, crp * lik)\n", " probs <- probs / sum(probs)\n", " \n", " # sample new z_i according to the conditional posterior above\n", " z_new <- which.max(probs)\n", " if (z_new > K) {\n", " K <- K + 1\n", " tables <- c(tables, 0)\n", " mu.prior <- rbind(mu.prior, mvtnorm::rmvnorm(1, mu0, sigma0))\n", " }\n", " zs[i] <- z_new \n", " tables[z_new] <- tables[z_new] + 1\n", " \n", " # compute conditional posterior P(mu \\mid ...)\n", " for(k in seq(K)) {\n", " Xk <- X[zs == k, ,drop=FALSE]\n", " lambda <- solve(q.prior + tables[k] * q.prior)\n", " nominator <- tables[k] * q.prior %*% apply(Xk, 2, mean)\n", " mu.prior[k, ] <- mvtnorm::rmvnorm(1, lambda %*% nominator, lambda)\n", " }\n", " }\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's see if that worked out!" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data.frame(X=X, Z=as.factor(zs)) %>%\n", " ggplot() +\n", " geom_point(aes(X.1, X.2, col=Z)) +\n", " theme_minimal()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cool, except for the lone guy on top the clustering worked nicely." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Stick breaking construction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to make the DPMM with stick-breaking work in Stan, we need to supply a maximum number of clusters $K$ from which we can choose. Setting $K=n$ would mean that we allow that every data point defines its own cluster. For the sake of the exercise I'll set it the maximum number of clusters to $10$. The hyperparameter $\\alpha$ parameterizes the Beta-distribution which we use to sample stick lengths. We use the same data we already generated above." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "K <- 10\n", "alpha <- 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The model is a bit more verbose in comparison to the finite case ([Bayesian mixture models](bayesian_mixture_models.ipynb)). We only need to add the stick breaking part in the transformed parameters, the rest stays the same. We again use the LKJ prior for the correlation matrix of the single components and set a fixed prior scale of $1$. In order to get nice, unimodel posteriors, we also introduce an ordering of the mean values." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "data {\n", "\tint K;\n", "\tint n;\n", "\tint p;\n", "\trow_vector[p] x[n];\n", "\treal alpha;\n", "}\n", "\n", "parameters { \t\n", " \tordered[p] mu[K];\n", "\tcholesky_factor_corr[p] L;\n", "\treal nu[K];\n", "}\n", "\n", "transformed parameters {\n", " simplex[K] pi;\n", " pi[1] = nu[1];\n", " for(j in 2:(K-1)) \n", " {\n", " pi[j] = nu[j] * (1 - nu[j - 1]) * pi[j - 1] / nu[j - 1]; \n", " }\n", "\n", " pi[K] = 1 - sum(pi[1:(K - 1)]);\n", "}\n", "\n", "model {\n", " \treal mix[K];\n", "\n", " \tL ~ lkj_corr_cholesky(5);\n", " \tnu ~ beta(1, alpha);\t\n", "\tfor (i in 1:K) \n", "\t{\n", "\t\tmu[i] ~ normal(0, 5);\n", "\t}\n", "\n", " \n", " \tfor(i in 1:n) \n", " \t{\n", "\t\tfor(k in 1:K) \n", "\t\t{\n", "\t\t\tmix[k] = log(pi[k]) + multi_normal_cholesky_lpdf(x[i] | mu[k], L);\n", "\t\t}\n", "\t\ttarget += log_sum_exp(mix);\n", " \t}\n", "}\n" ] } ], "source": [ "stan.file <- \"_models/dirichlet_process_mixture.stan\"\n", "cat(readLines(stan.file), sep=\"\\n\")" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "SAMPLING FOR MODEL 'dirichlet_process_mixture' NOW (CHAIN 1).\n", "Chain 1: \n", "Chain 1: Gradient evaluation took 0.000845 seconds\n", "Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 8.45 seconds.\n", "Chain 1: Adjust your expectations accordingly!\n", "Chain 1: \n", "Chain 1: \n", "Chain 1: Iteration: 1 / 10000 [ 0%] (Warmup)\n", "Chain 1: Iteration: 1000 / 10000 [ 10%] (Warmup)\n", "Chain 1: Iteration: 1001 / 10000 [ 10%] (Sampling)\n", "Chain 1: Iteration: 2000 / 10000 [ 20%] (Sampling)\n", "Chain 1: Iteration: 3000 / 10000 [ 30%] (Sampling)\n", "Chain 1: Iteration: 4000 / 10000 [ 40%] (Sampling)\n", "Chain 1: Iteration: 5000 / 10000 [ 50%] (Sampling)\n", "Chain 1: Iteration: 6000 / 10000 [ 60%] (Sampling)\n", "Chain 1: Iteration: 7000 / 10000 [ 70%] (Sampling)\n", "Chain 1: Iteration: 8000 / 10000 [ 80%] (Sampling)\n", "Chain 1: Iteration: 9000 / 10000 [ 90%] (Sampling)\n", "Chain 1: Iteration: 10000 / 10000 [100%] (Sampling)\n", "Chain 1: \n", "Chain 1: Elapsed Time: 129.032 seconds (Warm-up)\n", "Chain 1: 361.426 seconds (Sampling)\n", "Chain 1: 490.457 seconds (Total)\n", "Chain 1: \n" ] } ], "source": [ "fit <- stan(stan.file, data = list(K=K, n=n, x=X, p=p, alpha=alpha), iter = 10000, warmup = 1000, chains = 1)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Inference for Stan model: dirichlet_process_mixture.\n", "1 chains, each with iter=10000; warmup=1000; thin=1; \n", "post-warmup draws per chain=9000, total post-warmup draws=9000.\n", "\n", " mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff\n", "mu[1,1] -0.40 0.00 0.04 -0.48 -0.43 -0.40 -0.37 -0.32 4824\n", "mu[1,2] -0.37 0.00 0.04 -0.45 -0.40 -0.37 -0.34 -0.29 6646\n", "mu[2,1] -3.83 0.00 0.16 -4.13 -3.94 -3.83 -3.72 -3.52 3802\n", "mu[2,2] 0.83 0.00 0.16 0.52 0.72 0.83 0.94 1.14 4326\n", "mu[3,1] 1.31 0.00 0.06 1.19 1.27 1.31 1.35 1.43 7955\n", "mu[3,2] 1.36 0.00 0.06 1.24 1.32 1.36 1.40 1.48 7130\n", "mu[4,1] -2.92 0.05 3.96 -11.19 -5.21 -2.94 -0.33 4.66 6931\n", "mu[4,2] 2.54 0.04 3.86 -4.64 0.10 2.10 5.02 10.67 8998\n", "mu[5,1] -2.80 0.05 3.94 -10.86 -5.27 -2.72 -0.20 4.89 6896\n", "mu[5,2] 2.66 0.05 4.06 -4.88 0.00 2.32 5.27 11.13 6487\n", "mu[6,1] -2.75 0.06 4.01 -10.89 -5.28 -2.72 -0.04 5.05 5280\n", "mu[6,2] 2.78 0.04 3.97 -4.72 0.16 2.52 5.34 11.02 9468\n", "mu[7,1] -2.78 0.05 4.06 -10.99 -5.39 -2.71 -0.08 5.08 6357\n", "mu[7,2] 2.85 0.05 4.10 -4.87 0.06 2.67 5.55 11.16 6168\n", "mu[8,1] -2.77 0.05 4.09 -11.17 -5.41 -2.68 0.00 5.03 5898\n", "mu[8,2] 2.76 0.05 4.11 -5.10 0.00 2.62 5.43 11.09 6646\n", "mu[9,1] -2.87 0.06 4.16 -11.28 -5.61 -2.76 -0.05 4.94 5026\n", "mu[9,2] 2.77 0.04 4.07 -4.85 0.00 2.64 5.46 11.13 8978\n", "mu[10,1] -2.78 0.05 4.11 -11.17 -5.49 -2.75 0.02 4.94 5819\n", "mu[10,2] 2.86 0.05 4.06 -4.78 0.09 2.69 5.53 11.12 8017\n", "L[1,1] 1.00 NaN 0.00 1.00 1.00 1.00 1.00 1.00 NaN\n", "L[1,2] 0.00 NaN 0.00 0.00 0.00 0.00 0.00 0.00 NaN\n", "L[2,1] -0.88 0.00 0.02 -0.91 -0.89 -0.88 -0.87 -0.84 6392\n", "L[2,2] 0.48 0.00 0.03 0.42 0.46 0.48 0.50 0.55 6371\n", "nu[1] 0.43 0.00 0.05 0.33 0.39 0.43 0.46 0.52 8297\n", "nu[2] 0.66 0.00 0.06 0.52 0.62 0.66 0.70 0.77 1675\n", "nu[3] 0.88 0.00 0.09 0.65 0.84 0.90 0.94 0.98 684\n", "nu[4] 0.35 0.01 0.25 0.01 0.13 0.30 0.53 0.89 1700\n", "nu[5] 0.34 0.00 0.24 0.01 0.13 0.29 0.50 0.86 6359\n", "nu[6] 0.34 0.00 0.24 0.01 0.14 0.29 0.51 0.83 7177\n", "nu[7] 0.33 0.00 0.23 0.01 0.13 0.29 0.50 0.84 6252\n", "nu[8] 0.33 0.00 0.24 0.01 0.13 0.29 0.50 0.85 7674\n", "nu[9] 0.34 0.00 0.24 0.01 0.14 0.30 0.51 0.85 6661\n", "nu[10] 0.34 0.00 0.24 0.01 0.13 0.29 0.51 0.85 3142\n", "pi[1] 0.43 0.00 0.05 0.33 0.39 0.43 0.46 0.52 8297\n", "pi[2] 0.38 0.00 0.05 0.28 0.34 0.38 0.41 0.47 2450\n", "pi[3] 0.17 0.00 0.04 0.11 0.15 0.17 0.20 0.25 6441\n", "pi[4] 0.01 0.00 0.01 0.00 0.00 0.00 0.01 0.05 217\n", "pi[5] 0.01 0.00 0.01 0.00 0.00 0.00 0.01 0.03 1981\n", "pi[6] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 3094\n", "pi[7] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 6097\n", "pi[8] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 3677\n", "pi[9] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 5116\n", "pi[10] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 4733\n", "lp__ -406.17 0.09 4.44 -415.70 -408.94 -405.81 -403.05 -398.50 2575\n", " Rhat\n", "mu[1,1] 1.00\n", "mu[1,2] 1.00\n", "mu[2,1] 1.00\n", "mu[2,2] 1.00\n", "mu[3,1] 1.00\n", "mu[3,2] 1.00\n", "mu[4,1] 1.00\n", "mu[4,2] 1.00\n", "mu[5,1] 1.00\n", "mu[5,2] 1.00\n", "mu[6,1] 1.00\n", "mu[6,2] 1.00\n", "mu[7,1] 1.00\n", "mu[7,2] 1.00\n", "mu[8,1] 1.00\n", "mu[8,2] 1.00\n", "mu[9,1] 1.00\n", "mu[9,2] 1.00\n", "mu[10,1] 1.00\n", "mu[10,2] 1.00\n", "L[1,1] NaN\n", "L[1,2] NaN\n", "L[2,1] 1.00\n", "L[2,2] 1.00\n", "nu[1] 1.00\n", "nu[2] 1.00\n", "nu[3] 1.00\n", "nu[4] 1.00\n", "nu[5] 1.00\n", "nu[6] 1.00\n", "nu[7] 1.00\n", "nu[8] 1.00\n", "nu[9] 1.00\n", "nu[10] 1.00\n", "pi[1] 1.00\n", "pi[2] 1.00\n", "pi[3] 1.00\n", "pi[4] 1.01\n", "pi[5] 1.00\n", "pi[6] 1.00\n", "pi[7] 1.00\n", "pi[8] 1.00\n", "pi[9] 1.00\n", "pi[10] 1.00\n", "lp__ 1.00\n", "\n", "Samples were drawn using NUTS(diag_e) at Fri Mar 1 12:00:24 2019.\n", "For each parameter, n_eff is a crude measure of effective sample size,\n", "and Rhat is the potential scale reduction factor on split chains (at \n", "convergence, Rhat=1)." ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "High effective sample sizes, no divergent transitions and $\\hat{R}$s of one looks good. Our model seems well specified! Let's look at some plots though. First the traces for the means and mixing weights." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "posterior <- extract(fit)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nMum6zjoGAJgy/u7v/i4/P/+///u/6ebq1aufe+658+fPT5s27ZOf/OSMGTMOHTpkNpsJIaqq\nFhcXW63W48ePE0J8Pp/L5aK/mPqYmjdv3smTJ999911CSHl5eTgc/uMf/5iTk0Of58tf/vKb\nb7753nvvuVyuSb9iAICpBC12AHAFFi9efOjQIVqBaZq2a9eu22+/3ev1mkymkydPdnV10aqO\nEDI4OJifny+K4hU9f39//5/+9Kd/+qd/UhTl0qVLly5dCoVCCxcuvHz5cm9v74RfDgCAwaCw\nA4ArQO+6vvzyy4SQP/zhDxcuXKB7CCEul+vYsWP3339/dXX1jTfe6PV633jjDU3Truj5T548\nSQj52c9+dl2K+++/nxBy+vTpCb4YAADDsbIOAACmkuLi4jlz5vzyl79cu3btL37xC4/HM3/+\nfPqj+vr6rVu3fvrTn66srPza1772hS984eGHHz527Nh4njaRSNAHtBB84IEHvvKVrww7Zvbs\n2RN3HQAAxoTCDgCuzD333LNq1aoTJ0786le/+sY3vuFwOAghb7zxxtatW7/5zW/+4he/MJlM\n9MhLly597DNYLJZho2XPnz9PH9CxsYqizJs3L/nTEydOvPPOO1lZWWm4GgAAQ8GtWAC4Mnff\nfbcgCA899ND777+fvA9La7hbb701WdUdOHCgr68v2RSXqqCg4MSJE6FQiG7u37+fDrAghPh8\nvqKioueff/7UqVN0j6ZpK1asWLhwYSwWS+t1AQAYAFrsAODK5Ofn33bbbf/+7//+qU996otf\n/CLdOWfOHK/X+5Of/EQQhE996lNvvvnm008/bbPZRFHUdT1Z7VGLFy/+3e9+98UvfnHx4sXn\nzp17/vnny8rK6DALk8nU0tIyf/78ioqK+vr6goKCXbt2/eEPf3j00UenT5/O4GoBAKYUtNgB\nwBVbsmQJIeTb3/52cgzstGnTfvOb35SXlzc1Nfn9/v/6r//atGnT5s2bZVnev3//sF+/9957\nH3/8cVEUf/jDH/b09LzwwgupN15vu+22np6ef/iHf9iyZcuaNWtCodC2bdvWr18/aVcHADB1\nYR47AAAAAINAix0AAACAQaCwAwAAADAIFHYAAAAABoHCDgAAAMAgUNgBAAAAGAQKOwAAAACD\nQGEHAAAAYBAo7AAAAAAMAoUdAAAAgEGgsAMAAAAwCBR2AAAAAAbx/wOXe2PBNCmNwAAAAABJ\nRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "options(repr.fig.width=4, repr.plot.height=8)\n", "data.frame(posterior$pi) %>% \n", " set_names(paste0(\"PI_\", 1:10)) %>%\n", " tidyr::gather(key, value) %>%\n", " ggplot(aes(x = value, y = ..density.., fill=key), position=\"dodge\") + \n", " facet_grid(key ~ ., scales=\"free\") +\n", " geom_histogram(bins=50) +\n", " theme_minimal()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the plot above it looks as if Stan believes it's sufficient to use three components as the means of the mixing weights of the seven other components are fairly low or even zero. However, let's extract all means of the posterior means and assign each data point to a cluster." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "post.mus <- do.call(\n", " \"rbind\", \n", " lapply(1:10, function(i) apply(posterior$mu[,i,], 2, mean)))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "probs <- purrr::map_dfc(seq(10), function(i) {\n", " mvtnorm::dmvnorm(X, post.mus[i,], diag(2))}) %>% \n", " set_names(paste0(\"Z\", seq(10)))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "zs.stan <- apply(probs, 1, which.max)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the final plot:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "options(repr.fig.width=4, repr.plot.height=3)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\nYII=", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data.frame(X=X, Z=as.factor(zs.stan)) %>%\n", " ggplot() +\n", " geom_point(aes(X.1, X.2, col=Z)) +\n", " theme_minimal()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cool, our small hack using Stan and stick-breaking worked even better than our CRP implementation. Here, we managed to give every point its correct label." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Multivariate Bernoullis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we derive a Dirichlet process mixture for a multivariate Bernoulli distribution (or whatever name is more suitable here). We again use the CRP with a Gibbs sampler and the stick-breaking construction using Stan." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### CRP" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We model every observation $\\mathbf{x} \\in \\{0, 1 \\}^p$ as:\n", "\n", "\\begin{align*}\n", "\\pi_{{z_i}_j} & \\sim \\text{Beta}(a, b)\\\\\n", "z_i \\mid z_{1:i-1} & \\sim \\text{CRP} \\\\\n", "x_{i, j} \\mid z_i & \\sim \\text{Bernoulli}(\\pi_{{z_i}_j}),\n", "\\end{align*}\n", "\n", "with hyperparameters $a$ and $b$. Thus the likelihood for one datum is the product over $p$ independent Bernoullis:\n", "\n", "$$P(\\mathbf{x} \\mid z, \\boldsymbol \\Pi) = \\prod_{j=1}^p \\pi_{{z_i}_j}^{x_j} \\cdot (1 - \\pi_{{z_i}_j})^{(1 - x_j)}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we again generate some data. We sample $100$ points $\\mathbf{X}$ from a $p=5$ dimensional mixture of a $k=3$ multivariate Bernoullis and their latent class assignments $\\mathbf{z}$ (since we already saw how one can generate data using a CRP)." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Z\n", " 1 2 3 \n", "67 66 67 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n <- 200\n", "p <- 3\n", "alpha <- 0.5\n", "k <- 3\n", "Z <- sample(1:k, n, replace = T)\n", "table(Z)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we generate the true success probabilities for every Bernoulli. These are $k \\cdot p$ many. We simulate an easy scenario where every dimension has the same probability for every class." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\t\n", "\t\n", "\t\n", "\n", "
 0.1 0.1 0.1 0.5 0.5 0.5 0.9 0.9 0.9
\n" ], "text/latex": [ "\\begin{tabular}{lll}\n", "\t 0.1 & 0.1 & 0.1\\\\\n", "\t 0.5 & 0.5 & 0.5\\\\\n", "\t 0.9 & 0.9 & 0.9\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "| 0.1 | 0.1 | 0.1 |\n", "| 0.5 | 0.5 | 0.5 |\n", "| 0.9 | 0.9 | 0.9 |\n", "\n" ], "text/plain": [ " [,1] [,2] [,3]\n", "[1,] 0.1 0.1 0.1 \n", "[2,] 0.5 0.5 0.5 \n", "[3,] 0.9 0.9 0.9 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "probs.true <- matrix(seq(0.1, 0.9, length.out=k), k, p)\n", "probs.true" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we generate the data using these probabilities randomly:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
\n" ], "text/latex": [ "\\begin{tabular}{lll}\n", "\t 1 & 0 & 0\\\\\n", "\t 0 & 0 & 0\\\\\n", "\t 0 & 0 & 0\\\\\n", "\t 0 & 0 & 0\\\\\n", "\t 1 & 1 & 1\\\\\n", "\t 1 & 1 & 1\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "| 1 | 0 | 0 |\n", "| 0 | 0 | 0 |\n", "| 0 | 0 | 0 |\n", "| 0 | 0 | 0 |\n", "| 1 | 1 | 1 |\n", "| 1 | 1 | 1 |\n", "\n" ], "text/plain": [ " [,1] [,2] [,3]\n", "[1,] 1 0 0 \n", "[2,] 0 0 0 \n", "[3,] 0 0 0 \n", "[4,] 0 0 0 \n", "[5,] 1 1 1 \n", "[6,] 1 1 1 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "probs.matrix <- probs.true[Z, ]\n", "X <- (probs.matrix > matrix(runif(n * p), n, p)) * 1L\n", "head(X)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's have a look at it using $t$-SNE. Note, that since the data are Bernoulli, axes are kinda hard to interpret and we shouldn't get a clear separation of the clusters as in the Gaussian case (the same is true for PCA, too)." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "sigma summary: Min. : 2.98023223876953e-08 |1st Qu. : 2.98023223876953e-08 |Median : 2.98023223876953e-08 |Mean : 0.328735702315581 |3rd Qu. : 0.87608321405121 |Max. : 0.881540922682334 |\n", "Epoch: Iteration #100 error is: 10.5341680925935\n", "Epoch: Iteration #200 error is: 0.114879642075053\n", "Epoch: Iteration #300 error is: 0.107652843585134\n", "Epoch: Iteration #400 error is: 0.107640277108229\n", "Epoch: Iteration #500 error is: 0.107640268222389\n", "Epoch: Iteration #600 error is: 0.107640267970035\n", "Epoch: Iteration #700 error is: 0.107640267854842\n", "Epoch: Iteration #800 error is: 0.107640267767748\n", "Epoch: Iteration #900 error is: 0.107640267688465\n", "Epoch: Iteration #1000 error is: 0.107640267615484\n", "Epoch: Iteration #1100 error is: 0.107640267553738\n", "Epoch: Iteration #1200 error is: 0.107640267497753\n", "Epoch: Iteration #1300 error is: 0.107640267445983\n", "Epoch: Iteration #1400 error is: 0.107640267399936\n", "Epoch: Iteration #1500 error is: 0.107640267359697\n" ] } ], "source": [ "tsne.data <- tsne(X, perplexity = 50, max_iter = 1500)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\naYrLFA+px5zcOXJOnqnP5EVeZGTp3hNISKtO62nb03K570q/s/yXt6LZigstzwskJG3orp0T\nOfgo//rV2WcLjzb0DW1ACHYAf+dVQYgfO3YSYw5ESqLhjO2MiFiCVAf/S+fvRUQVW766cxNv\nFAX8ooVHikE0BJwLSKtOY8QYMX+5v+Uth5hLMW2VbWfYvmBTTRyxQlNhui5dY9YQkQ1nQ6JY\nFffj1sc0POO/K/2up23PIlORZ5pn2/NtA88FflDwgcasydRlLm+2vJNNp+MtjzvwDoWmwt4X\ne7NTzPWM6wHtAY5x73i/s8R7ye7A3dtLt3e90DXSJlIraOM0cTpBV2gq1Am6iPMR60vWl5nK\nuqm7rSlek9VC2eJUkdlkMItmQRRqprVblf/J42fJ1KbVDH6CImYUEaVXpv3UrmxKgkunM/T2\n5h506lQj3uF6hd83AHXotGXL24KwQRS/EcX3BGGg9f46gPumij1IRKoJz93WXh7kSUSa7k1u\n0SGAvzEia8Q1wzUispfYc4wLV4YrmIJn/E3zzXFXx/X1HFalYr43OZHE6MzoZYXL/GX+Hrzb\nlUVTO8xLK5br3vJ8Ky4wrsJcwTPeJJrOVZ+7or+i5JWhqtCjLY/OdJtJROGq8JthN4OVwX9c\nkhERCaIwL2/eq3mvdlV3Pd/6/Ay3GR4SjyhVlI/MR8ZkRtG4sWRjanWqWTQbReNF3cUt/lt8\nJsyxLxfi/tNTyqQB8oCUqhQiuqi/+PznhXIDdZm4jCZM2O+RzYiemJoxdVLO+Hnao2EU95ih\ncnAv0mob6w7XKyb+zRMEICKi5OTkLl26YEkxAPgbZY+HOJzMEBlpAzzMgweyEydsU9J5k2iW\nMN6ILl54ZIgk8qd5JVP+MWyOiBEjIieJU7GpmGPcr0G/dr/YPeSm2qSvzPImgYlMZFIzGSQi\nL3L/9vrPIs9FlgNNoumG6Yan1JOrrRep/6X++8r3OUoc01qneUu8iSiuPC4mK8Ysmjf5b5rg\nOOG2/fWCPkOfcdN4s0woC5YHt1a0ljCJWTS/9Wnom7Mz4gfYrXvJ+4hb7otpwe03nx56SBj5\nAX3d45Cic0+ngyKvtHnW5dkyU1mgPPDt/LdFEq/EUOm/no2YW0sv+92wLCmWlJTUuXPn+ztD\n/UGwqxuCHQDcjdLhfR137L+1pcrNVnWjvLHqAbgPv2h/6Xexnz1vX24uF0kkIqWR00tFEkkk\n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\n27fbLF9uOYNSqayoqPDw8NAwptBoas5cXV1tNptdXV315eWM6Hp1dbNbriuKYk5ODjMYJBxH\nRDzP37hxg4j+5z3ZEyeOSSQn0tMVCkVVVZUgCBzHUXo6LV1KHTs6BgertdrZCxZY9vWysQms\nrj7N2LZt2/bs2XPs2LHw8PB6u20AUC9m7BWWD+TG/CZ6J+4vW8baVlIIT7EdKOD9TXKFXWNX\nBwD3pu4euxYtWiQnJ8fExBw9enT58uWLFi1asWJFWlra+PHjjx496uHh0QBVWpOvVq/29vNb\nl5EhEPn5+Mx88cWdS5YU6/WawsIOzs46xqa99VbNzv7+/j4+PjerqpREiuL/fz8tMjIyLi4u\nOzv7rExGtwS7n3/+WaVSjR49Wp2bW0r0WWzsrZeOjY0tunnzQnFxz6io1q1bnzhxIiQkhIjO\nnTtXs48mP7/UaOR5XiKRKBQKjuOIiLZsoY4dqUWLivLyEydOEJFSqdy9e3eeRnPExUW7evUb\nb7yh0+k6d+5sSYoA8GiZ/bMgJqd8OMlpXVf24TD54a/mDD8qtus+obHrAoB7d/fD8TQaTXJy\ncmxsbHJycnl5eb0N+2tyHuLLE9OmTZNwnB3HtQgMnDBhwsqVK4OCglq1atUtOtpHLh+mUAhE\ntoxd//MlCVEU27dvL5fJ1jJWYWtb03j48GGe5x3t7DbyvCiVigsXimbz5cuXfXx8Zs6caYqP\nr+S4JTKZlLE3X35Zr9eLohgfH+9kZ9dJJpNx3PHjx3fs2CGXy48ePSqRSCIjIy2nNZvNG0ND\nLymV7777LmOsR48ef1xvzBhx2jQxLGzLuHGMMY7jvvrqqz829elTMGVKq1atav5G2dnZvfHG\nGw9+rwAAAJqmpvzyBN54qtvDCnZz5sxhjHFEjIgxFhERkZ+fX15e3r59+8DAwM6tW6uItIxN\nZuzQoUOWQ/R6vZ2d3fDhw5VEWzhOWL1a1OtFUbx27VqglxcRDXJ1/fCZZ9YoldPs7Gyl0v6+\nvtVRUSLHVbzySq+uXTnGeCIpYwqeZ0QKIheFYs/OnZaTT5w40d7evlevXkTUuXPnLVu29O7d\nu4O9/UmOc1EoiCg+Pv6P0idMEPv0ESWSuVOmEBHP81VVVZYtJaGhCxlTKpV+fn4qIn9n56eD\ng22JunXr9oC3CwAAoGlCsHu0PZRgN2XKFCJSKhSM6In27aVSKWNMLpf//vvvBw8e5HnesvDu\n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", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(tsne.data, col=Z)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use a concentration of $\\alpha=1$ for the CRP and $a=b=1$ as hyperparameters for the Beta to get a somewhat uniform shape." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "alpha <- 1\n", "a <- b <- 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As for the Gaussian case, we need to compute the likelihood of $\\mathbf{x}_i$ evaluated at its cluster $k$. Since we factorize over $p$ independent Bernoullis, we need to write down this likelihood manually:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "# likelihood for existing cluster\n", "ppd <- function(x, ps)\n", "{\n", "\n", " exp(sum(x * log(ps) + (1 - x) * (1 - log(ps))))\n", "}\n", "\n", "# likelihood for random new cluster\n", "ppde <- function(x)\n", "{\n", " ps <- rbeta(p, a, b)\n", " ppd(x, ps)\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the sample we start with the following initial parameter settings: one cluster $K=1$, i.e. all latent class assignments are $\\mathbf{z} = \\{1 \\}^n$, and $p$ random samples from a Beta for the success probabilities of the Bernoullis determining the cluster." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\t
1. 0.151305898092687
2. \n", "\t
3. 0.909731121268123
4. \n", "\t
5. 0.82791749550961
6. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 0.151305898092687\n", "\\item 0.909731121268123\n", "\\item 0.82791749550961\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 0.151305898092687\n", "2. 0.909731121268123\n", "3. 0.82791749550961\n", "\n", "\n" ], "text/plain": [ ", , 1\n", "\n", " [,1] [,2] [,3]\n", "[1,] 0.1513059 0.9097311 0.8279175\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "K <- 1\n", "zs <- rep(K, n)\n", "tables <- n\n", "priors <- array(rbeta(p, a, b), dim = c(1, p, 1))\n", "priors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we implement the Gibbs sampler (or rather the ECM):" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "for (it in seq(100))\n", "{\n", " for (i in seq(n))\n", " {\n", " # look at data x_i and romove its statistics from the clustering\n", " zi <- zs[i]\n", " tables[zi] <- tables[zi] - 1\n", " if (tables[zi] == 0) {\n", " K <- K - 1\n", " zs[zs > zi] <- zs[zs > zi] - 1\n", " tables <- tables[-zi]\n", " priors <- priors[,,-zi,drop=FALSE]\n", " }\n", "\n", " # compute posterior probabilitites P(z_i \\mid z_-i, ...)\n", " no_i <- seq(n)[-i]\n", " probs <- sapply(seq(K), function(k) {\n", " crp <- sum(zs[no_i] == k) / (n + alpha - 1)\n", " lik <- ppd(X[i, ], priors[,,k])\n", " crp * lik\n", " })\n", "\n", " # compute probability for opening up a new one\n", " crp <- alpha / (n + alpha - 1)\n", " lik <- ppde(X[i, ])\n", " probs <- c(probs, crp * lik)\n", " probs <- probs / sum(probs)\n", "\n", " # sample new z_i according to the conditional posterior above\n", " z_new <- which.max(probs)\n", " if (z_new > K) {\n", " K <- K + 1\n", " tables <- c(tables, 0)\n", " priors <- abind::abind(priors, array(rbeta(p, a, b), dim=c(1, p, 1)))\n", " }\n", " zs[i] <- z_new\n", " tables[z_new] <- tables[z_new] + 1\n", " # compute conditional posterior P(mu \\mid ...)\n", " for(k in seq(K))\n", " {\n", " Xk <- X[zs == k, ,drop=FALSE]\n", " priors[,,k] <- sapply(colSums(Xk), function(i) rbeta(1, i + 1, nrow(Xk) - i + 1))\n", " }\n", " }\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's compare the inferred assignments with the true ones." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAFoCAIAAADitkyTAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzdeVxVdf4/8Nfn3BUuOwKCIIqaYoZomppipmmaaC6l2aJZWv1s35vmazlq\nLpVm1mjaYlNOk+m4VJpm7qJZgvu4Iu4goKwX7no+vz8OoimGJnDl+no+fMwDz73ceR+tVy/O\n8jlCSgkiIiIiqv0UTw9ARERERFWDxY6IiIjIS7DYEREREXkJFjsiIiIiL8FiR0REROQlWOyI\niIiIvASLHREREZGXYLEjIiIi8hIsdkRERERegsWOiIiIyEuw2BERERF5CRY7IiIiIi/BYkdE\nRETkJVjsiIiIiLwEix0RERGRl2CxIyIiIvISLHZEREREXoLFjoiIiMhLsNgREREReQkWOyIi\nIiIvwWJHRERE5CVY7IiIiIi8BIsdERERkZdgsSMiIiLyEix2RERERF6CxY6IiIjIS7DYERER\nEXkJFjsiIiIiL8FiR0REROQlWOyIiIiIvASLHREREZGXYLEjIiIi8hIsdkRERERegsWOiIiI\nyEuw2BERERF5CRY7IiIiIi/BYkdERETkJVjsiIiIiLwEix0RERGRl2CxIyIiIvISLHZERERE\nXoLFjoiIiMhLsNgREREReQkWOyIiIiIvwWJHRERE5CVY7IiIiIi8BIsdERERkZdgsSMiIiLy\nEix2RERERF6CxY6IiIjIS7DYEREREXkJFjsiIiIiL8FiR0REROQlWOyIiIiIvASLHREREZGX\nYLEjIiIi8hIsdkRERERegsWOiIiIyEuw2BERERF5CRY7IiIiIi/BYkdERETkJVjsiIiIiLwE\nix0RERGRl2CxIyIiIvISLHZEREREXoLFjoiIiMhLsNgREREReQkWOyIiIiIvwWJHRERE5CVY\n7IiIiIi8BIsdERERkZdgsSMiIiLyEix2RERERF6CxY6IiIjIS7DYEREREXkJFjsiIiIiL8Fi\nR0REROQlWOyIiIiIvASLHREREZGXYLEjIiIi8hIsdkRERERegsWOiIiIyEuw2BERERF5CRY7\nIiIiIi/BYkdERETkJVjsiIiIiLwEix0RERGRl2CxIyIiIvISLHZEREREXoLFjoiIiMhLsNgR\nEREReQkWOyIiIiIvwWJHRERE5CVY7IiIiIi8BIsdERERkZdgsSMiIiLyEnpPD1A77Nixw+Vy\neXoKolpAr9e3bNnS01PQX8SsI7pC123WsdhVbuvWrW3btvX0FES1xu+//96mTRtPT0FXjVlH\ndFWuz6xjsaucw+EAYLfbjUajp2f5i+YGB4/Nzz8BNAf8gD2ADXhViLdU1dOjkcdsKN6wsXhj\nlDHq27xvtxRvKXIXmRRTtDF6ePBwg2IwK+Ykv6RbfG65qs90OBwmk0n7V4ZqHS/IuuBdwfnO\n/Is2CiHUVsy6G9eGDRs2btwYFRX17bffbtmypaioyGQyRUdHDx8+3GAwmM3mpKSkW27xnqxj\nsfN+vyQlvZifnwR8+9RTrWfOBJC/fft7rVuPk9JHUV5lt7vBFKvF/dL7rS5aLSHLNypCiTRG\n5rpy99v2v5H5xoXvjzHEfBf3XXtL+xqflOjqJB1K0lrdU3Wfmhk1E8D2ou2tD7WWUirbFTWR\nWXdjKS4u7tev3+rVq6W8IOsUJTIyMjc3d//+/W+88cesi4n57rvv2rev9VnHmye83783bqwP\nfLVvn9bqAAQlJr6jqk8CM6V0FRV5dryq4jx22JV5wtNTXL9ccL25feQtm+sHbg9YVbTKLMxv\nRb5lEAYI6KGXUp5xnvFX/HXQae+P94nv5NdJB91x5/FOezu8mvpIsdtL/lEhb7WxcCOAfU32\naa0OQKJ/onasTqqyCF7yD/Dhw4dPnGDWXZbL5Ro5cmT9+vUDAgJWrVplNpvfeustg8EAQK/X\nSynPnDnj7++v053Luvj4Tp066XS648ePd+jQ4ZFHHimq5f9ZZLHzfuuBXkL4NW160fbeLVtm\nAItvvtkjU1UVR/p+p1kPIQyxjfRRMRDCYTGw4V3k0L6VIZvME9XPDionVCkNLtjU0vGZ453S\nOTJ05M7mO03CZJM2q2pVoYboQwAUuArWNFnz2q7W60eguCPeazNXBgSsTDKuXP+up/eG6LIE\nRFP/i7OupW9LADfvqt1Zt3//fr1eL4Ro1KhRTEyMEMJgMLDhXWTlypVms/mzzz47ceKEdqCu\ntLR0/PjxTqdz5MiRO3fuNJlMNpvNarWqqhoSEgKgoKBgzZo1rVu31j5h7ty5AQEBRqPx3Xdr\na9ax2Hm/bCBUqeAv+s5lywSQk5VV8yNVlZJf1xkbNzPY3U6zriAhrqBFrNOoM5a49FExjvT9\nnp7uevHV4elNrT2KzO4QJdBukBB4OHDI3gWDzTYVEv0C+8Wb41tbWguIUrVUJ3QzY2YG64NP\nOU9NGhs37rHfdzfVt1lg9tmMkHXivgmuSXtff2NpT0/vE1HFFFFB1i1rtgxAlrMWZ926deua\nNWvmdrt1Ol1cXFxsbKxOp3O5XDExMfv3M+vKTJ8+vUePHm63OzAwUGt1Q4YMGTx4sKqqAPr1\n6xcfH9+6dWshRGlpqU6nmzlzZnBw8KlTp+Li4n7//Xe9Xm82mwEIIVwu1+uvv96zZ63MOhY7\n7xcKFFZ0Id2W4cMlEBQUVPMjVRVT0p0ACib9n6HUFbgjPXDXEYPdlffccACiRe3+6byqvHry\n1Ufzn1cFABh0ZgACYoVj3d9HujofsEBgRs4MAD7CR3u/W7qTA5MtwuJXglcnHP9uas+/vWE5\nFCNtRvgbgz5rMQ9m89Q6K545/ITn9onoslRRQdYN3z8cQJCuFmfdnXfeCeD//u//XC5Xenr6\nkSNHXC7X8OHDAdxcy8+6VJVXX331+eef174u72fr1q1zuVwWiwXAjBkzAPj4nMs6tzs5OVl7\n6fjx4z179rRYLFodDAoKmjdvntlsXrFixRNP1L6sY7Hzfh2A1RdcOlpu6cqVkUD/7dtrfqQq\n4T6To3PJ0kCfwNfHXbg9+MMvnGa9web21GDXj1HHRr1/+n3t714Icdp5GoCEnBY97YeCH4qa\nRBud2FK8GYBFsQCAgCIUH8Un153bej/SY3XL7w13SddtvrcJiAJ3wQMZD2xqalv8Cmae/fTt\nzLc9uGtEFZIVZd1K60oA21vW1qzLycmRUvr4+Iwb94es++KLL/R6vdvNrMOoUaPef/997Wsh\nxOnTpwFIKadNm/bDDz9ER0cD2Lx5MwCtyQFQFMXHxyc3NxeATqcLDw93uVy33XabEKKgoOCB\nBx6w2WwAPv3007ffrmVZx2Ln/QY1aLAVGClE7qZN5RunKMpHUo4QwhwV5cHZrkXxjPcA2AYm\nV/BS2xYArBt+qemZriczc2bOzJ0pIKKzYZKGD+t92NZStkTZc8efSw5MtgRHOgwocOdLSJNi\nkpCQcEv3O1nv2FRbz01iR4fQb/K+sUv7Pts+CalK1aKzNAq42WxH630Ymzn2jZNv/PkMRDWp\ngU8DSIg0sanofNYpaYqEFEJEobZm3XvvvQcgObmCrGvRogWAX365sbNu5syZM2cKIQAYDIYP\nP/ywfDnG5557Ljk5OTIyEkB+fr6U0mQyae3f7Xa/8847NptNCBEaGvrNN9/Y7fZ9+/ZJKVVV\ntVgs5YdCx44de9H9s9c5Fjvv1z8j412DYQmQ0LFjHyHuF6KFEK9L+ZQQY2vzWiey1AZAVLjg\nlsEAQCktqeGRrh8q1OdPPC8gFCgnwmEXzrGZY+/2vzvBJwFAlivLLd1ul8PXBpdQm+1ptjhv\nMQCTYoLA6FOjdULXOFN/NMThkq56hno5rhwAj/oMLlw7bve4W27diyHrfXWqePf05H2l+zy8\nq0TnZMRnGBQDgI4HO4o0IdKE2Ca0Vler17HTDh1VuLigdrNnSckNnHWq+vzzzwshFEUB4HQ6\nx44de/fddyckJADIyspyu93aanOqqjZr1mzx4sUATCYTgNGjR+t0Or1e73A4XC5XvXr1cnJy\nAAwePHjcuHHayna+vr5CiMmTJ+/bV2uyjsXuhvC0w7H2zTefFCIM0AP3CDG/QYMPanOrA+D3\n7GsAjP9dculLvr/tAODTo29Nz3TdmHtmrlM6JSQE7txhAFAsi8dnjZdSaguaLClc8qt9a4kZ\nitAdsB9wwgnArtq1te18he/uRohMzwdw1HEUQGJu6Bd3p9jfn7DK/avJAanIQCsis/H43gc8\nuJtEF3EkOt4Me1MoAgIAhBQNfBrU6lYH4LXXXgOwZEkFWbdjxw4AffvewFk3d67T6dQOwmk1\nt7i4ePz48VJKbUGTJUuWbN26FYBOpztw4IDT6QRgt9u1b/f19QWQn58P4OjRowBCQ0NTUlIm\nTJjw66+/4oKT+w88UGuyjsXuRtH8nXfeVtUvpPyPlO+qav+MDE9PdK30kdGqTvjmFFv/+/WF\n2ws/nmwqdrgNwlODXQ9ePvkyAAWKW7qb1u3Q/DBsqk0P/S7brgamBgAgYdU5AKiygv/mFalF\nX/Zydk6F1vMEkPKUccUtxUHzs3caj5wNxN8fsxf5yLu3oPTg7hrcLaLKvRPzjpqoylZStpZq\nazUjvtZnXXR0tBCiuLj466//kHWTJ092OBzaKcgb1ssvvwxAURS3292hQwcANptNr9fv2rWr\nQYMG2nvKj9hd+u1FRUVa1StnNBqLi4uzs7OPHDkCwG63a91u9+5ak3UsdlSLlc77FwDLfUNL\nQyx5D/bJG9DdFuQT8OwbAOzr13h6Oo856zqb68oFYNFZAMyK2PC/OAgJF1wA0u3p2tuirX6z\n68+SkIpQ5jWYJ1tL2VpmJmRG6CIA+De4ee7TDbv/hhbpGLBa2PJOf92xYMFr4v/Nx+gPmwqD\nsUdI7x87waZ3Y8sWz+0r0Q3hX//6F4ChQ4daLJY+ffp0797dx8dHu/BrzZobOOvOntXuftBu\nidiwYYO23eVyAUhPL8s6Pz+/WbNmSSkVRZk3b56UUkqZmZkZEREB4Oabb27YsKH2Tu3Gi4KC\nAq0uN23a1Gg09u7dG4Db7d5SW7JOUmVSUlJwrrbT9aZkxRK3Tkig/JdLL0q2bvL0XJ40K2cW\nUqH9EluF2CpEKpAK/W+K7vey7e/99rSU0rLNglRkOjMv+oSAbQFIhVM6//njsKC16PQZfrod\nK9rj3ikieJNJSVPM28xKqoJUtPoGa95OLv9G7QRHSkpKje4wVRFm3fVsyZIlFx2cE0Js2nRj\nZ92sWRf+aZT/+SgXLN369NNPSym15peZeUnWBQQAcDqdw4YNu+jP1mQyKYpiNpvLPy05uXZk\nHY/YUe3m06Ov4lIhZeFHkwq/+BhS6pyqz60dPD2XJ+227QYgIEIKMXu8fGKlb3y2JbxQr3er\nbgUAhocOf6XtxwCsqrWuoW5dfd2LPmF67HQAb2W+Nar3l7MTvtvcEvd8hLv/iSVdZJ7JrkK1\nq3btUbMOgziYk1rDO0h0A+rbt6+qqlLKSZMmffzxx1JKVVW1k483LO30qNbnpJS+vr4Wi0Wv\n15efdR0+fPjHH38MwGq11q1bt27dS7Ju+nQAb7311pdffvndd9+Vb5dS2u12VVXLT8UKIVJT\na0fW6Svc+pfvnb7rrruuYRiivy7gmdc9PcL1IkgJAuBnE/n+cuRoKChVoQIwnLuS5IvYL8rf\nHGuMvfQThgUPezTj0e0l2wHcH3z/cwUiK1gGliofzfC7b1ud1E4hzw45sT0wC8DeBnJ7/dLq\n36fqwqyjWuf115l1ZbQF9oUQ8tzTwy66kO6LLy7IutiKsm7YsEcffXT79u0A7r//fu2jFEXx\n8/OrU6dOSEjIiRMnsrKyAEgpS0trR9ZVXOy6d+/+1z5OVrQ4JBHVpChjFICgQtUWoYdUtVYH\nwG1QhKpKBWM2DB2T9JW2MduVfeknrLeuR3nnKy3NDpRmBwrN6tCXC4eiEDgsJOrYzUUGtwvO\ndUm+NbNf1YFZR1R7RUVFAVBVVTtKV97qFEXRvh46dOhXX53LuuyKsm79epzrfKWlpdq/16qq\nFhYWFhYWHj58GIDZbHa73U6nU7uF9vpXcbEDkJSU1LVr1yv/oNWrV5dft0hEHtTGtw2AE2EQ\nUo33iU+yJM3OnZ140pJjKLbrkR2Cr/O/TvglesBdE4wwHnEcufQThh4eCoFxkeOKnYXJCyPV\neNiMAKBA1HH59/xN12+VmvxT8fC35b/vRljYTTW7f1WMWUdUS7Vp00b7QlXV+Pj4pKSk2bNn\nWyyW4uJibfvXX38dHR09YcIEo9Go3eV6kaFDhwIYN25cYWGhto6xRgjh7++v0+lUVS0uLtYK\n30031Y6su2yx69y585gxY678g1wuF8OO6HrQwtxCAFJAQt1TumdP6R6dG9sji2IzcToYAA7X\nw8jCiTO/nfXSHS9Nypzkv90/s0Wmn95P+/bk9OSjzqN1DXWnZk+dlDVJxpcdmvIrxcNL5YGG\nxctuEX+fouqdiD4NAA8E15rlnSrErCOqpbQHbwBQVXXPnj179uwBUFRUdOF7Jk6cOGvWrJde\nemnSpEn+/v6ZmZl+fueyLjn56NGjdevWnTp16qRJky48DC+lLC4uFkJceG63tixlV3GxGzZs\nWOvWra/qg1q3bn3RTSVE5BFmxRxjDThmKdQLvUu6eqaZn/nSNmwcjkfrVaka3dKhkzGnRbY4\n+1H6JMWiFKvF/jv9FSg66LSViiFw2nl6YtZEAAY3nDrohd7lq5810BZzWg0sNd75ueixwXU8\nAgAGBA7w6O5eE2YdUe1lNpsDAgIKCwv1er3L5TKbzdpTOrQzs9otokKIs2fPTpo0SVGU4uJi\nf39/RVF0Ol358nWnT5+eOHFi+Wfq9Xq9Xm+z2VRVNRqNQght8RQAAwbUjqyr+K7YL7/8UtsB\nKWX5Ll2quLhYW68ZwIABA7788stqmJCIrtp01ws4t/hwj9+U/3tWFAYZpJRmGHtulHo3djbB\noJVomHl+gWIValmrA6A9OBYAEH4GAkKVql7oBwQPPFYXR8PVU0GuumfE6rYI0AWEGcI8sIdV\nhFlHVKu98MILOLf4sKIoQgiDwSClNBqNF10IW37sTVXVCxclvvBt2iE6vV4/cOBA7Z0ul0u7\n6zYgICAsrHZk3WWXO9m/f3+fPn18fHyMRmNiYuKXX3556cXCycnJwcHB1TwhEV21e7uMics2\nSqnq3Rj7YMnOxrAoFj10t29xHIwVUqczK+afkpTRnwKAgBAQelF2/F5LMQHho/jcdkB/Mhz+\n8JWQJWrJooJFFsWiLXQ8eZiUArNjZ3tuL6sGs46o9hozZozRaNRKm/bMXIvFotPptGdy6HS6\nCxei09a60+v/mHVC+Pj4aBt9fX2llCUlJYsWLbJYLNoPe1ogzJ5da7Ku4mKXnp7evn37H3/8\nsV69es2bN9+9e/fw4cP79etntVpreD4i+iuE+KzFPIMLTY6i8QkA8pZ9rg8nOK0+6r4G0g33\nHf53nPVTF3YFgCn1prSztHNJF4BeAb2klGZhlpBGYXx1S7OWGcZCWJub4yWklFJ7GwAp8Nq+\ndoODBntuJ6sAs46oVhNCzJs3r/y32qF3p9OpnYp1u9133HFH+bG6KVOmtGvXTqtrvXr1klKa\nzWbt8F6zZs2MRqPVao2Pj9fO4V54CL9du3aDB9earKu42L311lv5+flffvllenr67t279+zZ\n07179++//75Hjx7lN5sQ0fXszuh+z0a/fKQetjWDBA7Eiv/3ptySoAihhOpCt5Vsa59ZZ0kX\nAOjs3/kOvzsAGITBLd1CiETfRADB+uBf+kR8+D4A3LWm9FG1t1EYFSEAKCo2PG+ZfO8qz+1f\n1WDWEdV2/fr1054Yqylfi05RlNDQ0G3bttWpU0d7qXPnznfccQcAg8HgdruFEImJiQCCg4O1\nx4sBKC0t7d27t3Z1nbbFYrGsWlWbsq7iYrdy5cp77rmn/ALhpk2bLl++/Mknn9y0aVO/fv20\n5+l6xJVfB0NE79d7/4mY5//xCSJzkWOwSkAKGaoPNSmmAsfZgSvdNiMUKDeZbtKOwxmF0apa\nhRTasyic0jkneMPZXrcDOKrLbjn1xybpDv9cm6LiiR8MnT7dCovFw3t4zZh1RF7g/ffff/75\n57WvtcPtUsrQ0FCTyXT27Fm32w1AUZSbbrpJ+9dKOzgnhNCeReF0Ojds2HD77bcDyM7O/vHH\nHx0Oh3YfhsFg2Lp1q6VWZV3FxS4vL69p06Z/eJ+izJw5c/jw4atWrRo2bFjNL87J62CI/oJp\n0dPinhj75hcwOtR2+TGQyHXm+h/N+elvfgEn8gHEmeL8df6/l/wOwCmdjc2NJaQLLgiccpzq\nYOkwKHkjALuv7vP+4lSozA5B/RL/d59LR7NmHt63qsCsI/IO06ZNGzt2LABVVWNiYgDk5ubm\n5OT4+flpPwXFxcX5+/v//vvvAJxOZ+PGjct/fDp16lSHDh02btwIQKfTlT/Kwt/fPz09vVlt\ny7qKlzuJiIjYsWPHRRuFELNnzz59+vS3334bFRU1ZcqU6h+vjHYdTH5+flxcnI+Pj3YdzKJF\ni7755pva1aOJat6Q20b/75WmXX8bsqHl8ZfmosNOROY6F92Z99EQoUApdhcvyF+w0boRgEM6\nmpmaAVhTtEZI4a/z31BctmDbyhYlLkgArXxb/drqV6MwenCPqhCzjshrjB49umnTpkOGDDl+\n/Li2xel05uXlCSG0tU4WLFigtTeHw6HVtTVr1mhrEZcvTllSUqK1ulatWv36669GYy3MOlmR\nkSNHApg6darb7b7oJavV2q5dOwAjR47UvqjwE6rWgw8+CED7yVVKuW/fPu1BQLfffntRUVH5\n27Rz51X+/56SkgJAexIwUS3lVJ0v/vZA/fV+yu8QqRCpwpBmaLS7kUgVSppiTjMH7whGKpQ0\npfGuxiJViFQx6PCg4O3BSAVSIVJFg90Nvs/7/s//X+x2O4CUlJSa2alrx6y7ELOOvIDT6Xzg\ngQfKVyHWFkBp1KiRVu/MZrN2tFtRlMaNG2v3yQ4aNKj8ELgQokGDBt9/X4uzrux440VOnTrV\ntm3bU6dOhYeHT548+dFHH73w1by8vN69e2/evLm8GlZdz6xYeHh427Ztly5dWr5FVdVRo0bN\nmjWrW7duy5Yt0zp1ly5d1q1bd1XzuFyuH3/88cIlbS61d+/et99+226318rmTvRHu0p3DTo8\naJ9930Xb/RQ/h3Q4ZNlVZdrixgB8Fd9RYaOeqvNUI1OjSj/c4XCYTKaUlBTtapXrH7PuQsw6\n8ia7du0aNGjQvn2XZJ2fn8PhKL+CVlvcGICvr++oUaOeeuqpRo1qd9ZVfCo2Kirq999/f/vt\ntxctWnTh8zQ0wcHBq1evfvPNN//5z3/WzMXFl7sOxuFwzJkzZ9iwYd988035DSxX5eTJk6NG\njdKukbwcrZg7HA6GHXmBW3xu2XvzXqtqnZ07e03Rmr22vTmunCJ3kVVaJaRFsQToAozCaJf2\nOGPcm5Fv9g7o7emRqxGz7kLMOvImt9xyy969e61W6+zZs9esWbN3796cnJyioiKr1SqltFgs\nAQEBRqPRbrfHxcW9+eabvXt7S9ZVekzP5XJd7qXMzMxFixZV0bHDP1OvXr2uXbteut3pdN5z\nzz0AXnrpJVltpyc++eQTABeeByGiCl3Ppycqxaxj1hFdoes56y775IlyOp3uci/VrVu3X79+\nVdIv/9w999yzevXqDz744KIfqfV6/fz589u1azd16tQnnnjiz38YJSL6E8w6IvIClRe768GY\nMWOioqJeeumlyMjIi57S6Ovr+9NPP3Xo0OHTTz/dsmWLhwYkIqoCzDoiukZ/vdgVFBS0b9++\nffv23bt3f+utt7RntFUT7TqYESNGuN3uy10H8+KLL/K6ECKqcsw6IqpFKr4r9krk5uaGhYUB\nWL58+TfffFNYWLho0aIqna1ibrf7cmdMsrKyfv311yo/YzJr1qynnnqqqKio/PZpIqrQ9Xyn\n2F/GrCOii1zPWVfxXbFXIigoSFsFoH379nffffeRI0eqbKg/dT1cB0NENw5mHRHVIn+92On1\n+vbt25f/tkGDBlUwDhHRdYZZR0S1SMXX2G3cuPHYsWNX9UHHjh3TntRBRFRbMOuIyMtUXOyS\nkpJmz559VR80e/bspKSkqhiJiKiGMOuIyMtc9lRsUVHRiRMnrvyDioqKqmIeIqIaxawjIm9y\n2WI3ffr06dOn1+QoREQ1j1lHRN6k4mL30EMP1fAcREQ1j1lHRF6m4mI3d+7cGp6DiKjmMeuI\nyMtc6yPFruraFCKiWopZR0S1whWtY5eSkjJnzpysrCy32609qUJK6XQ6z5w5s2vXrkufe0NE\nVBsx64iotqu82C1evLh///4VvuTr65ucnFzVIxEReQCzjoi8QOWnYqdMmaLX67/77rvc3Nx2\n7doNGTIkKytr/fr1HTt2VBRlypQpNTAleQen3fZmo+gn9bqhinjGZJjWt7unJyI6j1lHVcZm\nQ3Q0dDoIAYMB3Zl1VHMqL3Y7d+7s27fv/fffHxoa2rFjx40bN0ZERCQlJf3000+BgYHjx4+v\ngSnJC8x788UuZp/3D5/83a2elvjZ4Xr5h18eEqIgO8vToxEBzDqqKi++CB8fnDwJ7dy9y4Vf\nfoEQyGLWUU2ovNiVlpbGxcVpX8fHxx8/fvzMmTMA/P39Bw8e/Ouvv1bvgOQVMg8fmDBxmguY\nOeKhNClXSHlAytdiI1cCz9SN9PR0RACzjqrEgQOYNg0AHnoIUpb9iowEUPa/RNWs8mIXHh6e\nnZ2tfd24cWMAu3bt0n5bp06d48ePV99w5DUmtrjlOPCPDyc//un51SUmHjk1rG7wtxJfvTjS\ng7MRaZh1VAVuuQUAJk/GhSvpnDqF4GAAGMmso2pXebHr3Lnz4sWL09LSACQkJCiKMn/+fO2l\ndevWhYSEVO+A5BWOlTq6Aj2fe+2i7ROOnAoHfp/1lUemIroQs46qgMMBAK9dnJYQjI8AACAA\nSURBVHU4dQoAvmLWUbWrvNi99tprDoejTZs2c+bMCQkJ6du374wZM3r27JmUlLRixYpu3brV\nwJRU2+UDgaKC7QaTOQpwOFw1PhHRxZh1VI3MZgBwMeuo2lW+3EliYuLq1avffvtt7QfWGTNm\nHDlyZMWKFQBatWo1adKkap+Rar8AoEhW/NJpwGi4ovUUiaoVs46qnZ5ZR9Xuiv4h69Chw88/\n/6x9HRkZuXXr1q1bt5rN5hYtWuh0uuocj7xErMkwz+7c+M0XnR587MLtbzaMOgkkPDjAU4MR\nXYhZR9fKYIDTiS++wGN/yDpERQHAAGYdVbvKT8Xu27cvPz//wi06na5du3YtW7Y8cODA0qVL\nq2028h6v/LY5BPj7Q48vnjC6fOM/WsV/dSTzfmDk5//x4GxEGmYdVYHNmwHg8ccx+nzWIT4e\nmZkA8B9mHVW7yotdfHz85Z6T/eyzzw4ZMqSqRyIvFJtw68uPPVAAPPT38XcI0V+I1kL8Y/u+\ndsCUvbs8PR0RwKyjKnHrrXjgAQAYPx5ClP3atw8AdjHrqCZUfCp27dq1hw4dKv/t5s2bzdqF\nnxfIz8/fsmWLR05P5OXlFRQUlJaWGo3G0NDQoKCgmp+BrtbIz/8zaOIH425ulnemoEiirU7p\n36rZ6N/3eHouuqEx66jq/ec/+OADNGuGggIAUBQ0a4Y9zDqqIRUXO7PZ/OSTT5Y/8fqbb775\n5ptvKnznCy+8UF2jXWL58uWff/752rVrc3NzL9weGhp6xx13PP300127dq2xYegvCAyv+35O\nfuXvI6opzDqqFnXrIp9ZR55RcbFr37790qVLtUx55JFHhg4d2v2Pj7oTQhgMhtjY2Hbt2tXA\nlE6n88EHH1ywYAGAuLi4li1bBgYGmkwmu91eUFCQkZGxcOHChQsXDh069LPPPjMYDDUwEhF5\nAWYdEXmZy94V27NnT+2L5cuXP/zww909+gzjiRMnLliwYPDgwZMnT46Njb30DUePHn3jjTe+\n+uqrFi1avPrqqzU/IRHVUsw6IvImQsrLLC92ZU6cOBEdHV1V01xOXFxcWFjY5s2bFeWyd3tI\nKTt27Hj27Nl92mWqV2z37t12u/1P3rBw4cIJEyYUFRX5+fld1ScT3WgcDofJZEpJSbn99ts9\nPUsVY9YRUbnrOeuuaB27lJSUOXPmZGVlud1urQhKKZ1O55kzZ3bt2lV+eUr1OXXq1MCBA/8k\n6QAIIZKSkqZPn35Vn5yenp6QkHAl7fYaGzARXf+YdWDWEdVylRe7xYsX9+/fv8KXfH19k5OT\nq3qkCsTGxm7ZsuXP3yOl3LhxY2Rk5FV9cqNGjQoLC51O55+858svv3zppZeEqOiRWETkLZh1\nzDoiL1D5OnZTpkzR6/Xfffddbm5uu3bthgwZkpWVtX79+o4dOyqKMmXKlBqY8tFHH92wYcPQ\noUMzMjIqfMOJEyeGDh26adOmhx9++Go/3M/PL/hP+fr6XvMeENH1jlnHrCPyApUfsdu5c2ff\nvn3vv/9+AB07dpw/f35ERERERMRPP/0UHx8/fvz4f/3rX9U95csvv7xnz56vv/7666+/jo2N\nbdy4cVBQkMlkcjgc+fn5R44c0Vaiuvfee//+979X9zBE5JWYdUTkBSovdqWlpXFxcdrX8fHx\nx48fP3PmTGhoqL+//+DBg3/88cdqnhAAjEbj3LlzH3nkkVmzZm3evHnVqlUXvhoeHj5w4MBh\nw4b16dOnBoYhIq/ErCMiL1B5sQsPD8/Ozta+bty4MYBdu3Z16dIFQJ06dY4fP16d4/3B3Xff\nfffddwMoKCgoKCiwWq1mszk4OJirsRPRtWPWEZEXqPwau86dOy9evDgtLQ1AQkKCoijz58/X\nXlq3bl1ISEj1DliRwMDA+vXrx8fHN2zYkElHRFWCWUdEXqDyYvfaa685HI42bdrMmTMnJCSk\nb9++M2bM6NmzZ1JS0ooVK7p161YDUxIRVTdmHRF5gcpPxSYmJq5evfrtt9/WfmCdMWPGkSNH\nVqxYAaBVq1aTJk2q9hmJiKofs46IvMAVLVDcoUOHn3/+Wfs6MjJy69atW7duNZvNLVq00Ol0\n1TkeUc358Lmbon8/WD8fIcU4EYK9dcRdHyxrnNDT03NRzWHW0Q3hpptw8OD53wqBZcvQk1nn\nJSo/FXspnU7Xrl27li1bMunIa7zfWxnx6cEmOThYB6tuEgVmDNoqbf17LZj+iKdHI49h1pEX\nUpTzrU5bjFpK9OqFR5h1XqLiI3b33XfflX/EggULqmgYIs/4+MXmT6+SC9vivpUFCeYAbePc\nib3azFoe9vlcPPe1Z8ej6sOsoxtL8+bQHhlXUICAsqxDr15Yvhxz5+JrZp03qLjY/fe//61w\nu06n8/PzKy0tdTgcAIxGo8FgqMbpar+8vLzdixbZdu9uJMTWHTu+OngwvaAgOjR0QHLy4+++\nCyGMRqOnZyREbNl7OAr3rSwwnWt1AB7+20+Tt/u9/p31w/8X9/zMwx4cj6oPs67K5OVh0SLs\n3g0hsGMHDh5EQQFCQ5GcjHffhRBg1l0P9u4F/tjqAPz0E/z8YLUiLg6HmXW1XsWnYvMusGvX\nrnr16rVv337dunUlJSX5+fmlpaVpaWndu3ePiIjYtm1bDU9cK6z6+ONXbr21idlcJySk6+OP\n95k2rdHUqVNXrfrHsWMP2Gybjh4dNX262cfHZDIpiuLj49OmTZv//e9/np76xtXoDHbUw4Wt\nTvP6vOLsEODwEU8MRTWBWXetPv4Yt94KsxkhIXj8cUybhqlTsWoVjh2DzYajRzF9Onx8YDJB\nUeDjgzZtwKzzuICLsw7FxQBw5EiNj0JVr+JiF3SBMWPGGAyGFStWdO7cWTu8pChKq1atlixZ\nYrFYnn322Zod+Lpmz8/fNmVKN3//Xs8++8n27b5O5xyDoZmiNJdygBD61q3v8vW9X1VfCAzU\n6XRSSgF0ioy8Q1VPpKa2ufnmZ2Jjd8yY4emduBGZnLDrKn7weYkZRncNj0M1h1n3F+XnY8oU\n+Pvj2WexfTucThgMUBRICSHQujV8faGqCAyETld27i8yEqqK1FTcfDNiY8Gs8xRRcdaR16j8\n5omff/65V69eAZcUfB8fn7vvvnvjxo3VM1gtI6X8LDm5MCRkzCuvZBQXDwIiVXUtcN/KlbHt\n2p0C0qVcPX58xzvvvM9ofC0vzyzl/ffc8xHwYmbmDkU5oygSmHns2MNPP31fREQGD4bXrOxA\n1C2Wl25ft2h8ZA4KLX/lHiOqdZh1V0RKJCcjJASvvFJ2mEdVAWDlSrRrV/aG8eNx550wGpGX\nBylxzz0AkJkJRYGiAMCxY3j6aURE8MSfB8gKsg7jxwMo+9uhWq7yv0Wj0ZiZmVnhSwcPHvT3\n96/qkWofp9P5bNOmjy5d+kFw8A/A4C5dlvj59RaiACjt0WN/aupZITIMhkWvvjp8+PC9VqtV\nymkDB37UsWM0cJ+UI199tXD9+tSwsJbAPcCn2dlKkyal//gH3DxSVEO2R4jOe/DhqMYXbT8+\n9a1CP/T5v+88MhXVMGZd5ZxONG2KpUsRHAwAXbrAz6/sCFCPHkhNhRAwGPDqqxg+HFYrpMTA\ngejYEQCkxKuvYv16hIWVfVp2Npo0AbOuJml/WY0vzjq89RYAfMes8waVF7tu3bp9//33ixYt\numj7p59+umzZMj6L+tixYy1atHjq4MEZwMyzZxOAOk2alJaWdo+I+EiIUy7XMw5HoNHYo127\nVfv2OR0OANuAh7t1C/v66xGAn8EwtkcPn+7dXdHRGTrde0AI0EBVo8aMGRIVVVJS4un9uyGM\nWpy/sxHuW5D+fm9l+7q5AL4YnTSvk3hgs/y6nWjedoCnB6SawKyrxLFjaNGibKWMs2cBoEkT\nlJYiIgJCwOWCwwGjEe3aYd8+OBxl39WtW9m9lgYDevRA9+6Ijkb58jGqijFjEBUFZl3NyM8H\ngPR0KArmzgWApCQIUXYOfQCzzhtUvkDx+PHjV61aNWDAgKSkpLZt2wYEBBQUFGzYsGHr1q0N\nGjQYO3ZsDUx53Upbu7bTXXdFut0tgIGAAagLfLV4MQB3SEi3mJj/HDgwoqDgFYcjLDw82+22\nFRYCqAuYg4L279uXC7QKDsbjjxcMGtRp4cIitxtAbHi4KTv7qKJ8m539fWDgoWPHIiMjPbyf\n3s5kDjB/MPv30U88t1Lqlj+Sb3nksSKcCMe0u8UrS1VPT0c1hFn3Z9auxV13XXxobfFiAAgJ\nQUwMDhxAQQEcDoSHw+1GYWHZe4KCsG8fAAQH4/HHMWgQFi4s+5zwcGRnQ1GQnY3AQBw7BmZd\ndQsIwOzZeOIJSIlHHjm/dp0QZafUyQvIK7B///6+ffvq9edboMlkeuihhzIzM6/k22u7Tz75\nBEBRUdFF2/OPHvURQidEJ0ACjerXbx0TEw/0VRSDXj8gJqYwJqavXm8DdMDtkZFP+/iMGzfO\nAJQAR37+eRUggDl9+kidrl+PHgAURfHz85P79y8GAgMCFnbooABhYWEe2esb07LPn53Y3/h+\nL/HusLDso3s8PU7tY7fbAaSkpHh6kL+IWVdh1smjR6UQUggJSEDWry9jYiQgFUXq9TImRsbE\nSL2+7NXISOnjI8eNK/vtzz+XfdGnj9TpZI8eZd/o5yf375eADAiQHTpIQDLratKzz0qjUQoh\nw8LkHmbdVbues+6Kip2moKBg06ZNS5cu3bRpU2FhYfXNdL25XNh1iIoCkNShQwtAAnPff795\n8+YKMFVRGvj5CSEW+/isBXINBotOZwTGxsaGh4S8pihTgbioqLUAgDPTpjliYhRF0Ypdz549\nh7Vs2RAA8ALwsBAA1q9f75EdJ7pa13PYXTlm3cUvREVJoKx+AfL992Xz5uf7mRDSx0cC0mCQ\nOp0EZGysDAmRiiKBsu8F5LRpMiambKOiyJ49ZcuWZS8BZa2RWUe1xPWcdVf0rFhNQEBAhw4d\n/uqRQW+zdevWzadOAUjbudMGnAYOT5r0z/nznx0yZHJW1rDi4k+NxgE2W1/gdrf7UWAvMOHo\n0XuAVooyFHCeOjVTiEAhVq9de/PZs6qqCiH0ev3mlBRZVFTHbB7YuPHjFsuxnTvnlpb26NEj\nOzub124T1Qxm3R9s3YpTpwBg586yLZMmYf58DBmCrCwUF8NohM0G4PyJ2qNHgXO3WJ46BSEg\nBNauxdmzUFUIAb0eKSkoKoLZjMaNYbFg506UlqJHD2Rng1lHdA14b/Nf9MYrr2hfJCQkhNWt\nO1mnezE3952uXfsMHy6A9wF/h6OelBuAd1X1Byn9g4P/bjAMEyJXyudMpsigoPlSFqnqI4sX\nd7JaARj0+g4NG+qKi/9lMGyx2Rbs3t18y5Z7Sks7A41ttoEDB3p0d4noRnUu65CQgLp1odMh\nNxddu2L48LLtDkfZChqqCikRHAyDoex6fJMJQUGQEqqKxYthtQKAXo+GDVFcDIMBNht278aW\nLSgtBQCbDcw6omtzFUfsLpKfn9+lSxcA27dvr7Jxagmr1bpm/Xrt682bNwOYBkQJsULKlIkT\n6+v1Z10uBcgDLAkJfUeP3v7aa0MzMgRQAgjA126fZLd/0rp1Xvv2P86Z07209F0g1OlM3b9/\nohB3OZ3/MJmETjexpKSjwXDQ6XwdOLZqlUf3mOjGdSNnHaxWnMs6bN5c9oVW2iZOhF4Pl6ts\nY0ICRo/Ga68hI+P8t9vtsNvRujXat8ecOWXtzenE/v0QAk4nTCbodCgpgcEApxMAmHVE1+av\nH7FzuVw7duzYsWNHFU5TW0yePFmVEoBeUYKCgiZMmNCvf/+/6XRtgfVAuMtVH1CDgh5dteqt\nHTvS3nvv0YyM33W6o6mpFil9pdy2ZMlhIZ5OS2tcXLylpOTeL764U1GygOeAp6X8VIh7goIm\n22wbhg/foqo5wGYhJqpqRnmqElENupGzDpMnlx2NUxQEBWHCBPTvf36xEq3VBQVh1Srs2IH3\n3kNGBnQ6pKZCSkiJJUsgBNLSUFyMkhJ88cX5JXC19TWCgmCzYfjwslsytXszmXVE10DICheh\nvgJut3vXrl0AEhMTq3Sk686sWbOeeuqpoqIiPz8/bcutt96alpbmZzI57HZhMNidTp1OV79+\n/by8vPz8fADx4eH/O31ae3OhEDlCNPrjneQuh6PAZCoBYqQEcPrgwdimTcOknA8c9PFZFhKy\nxeE4euaMqqo9evTQKcqs5cv3DhzYY8GCmt11oqvjcDhMJlNKSsrtt9/u6VmqzI2cdbj1VqSl\nwWSC3V52UE2nQ/36yMsrWxEtPBznsq7sWrqLVs1wOGAyAeceeHDwIJo2LfvaxwchIXA4cOYM\nVBU9ekBRsHw5Bg4Es46ub9dz1v31I3Y6nS4xMdHrk65CR44cAWB1OKSiOJxOAG63OyMjQ2t1\nAtiWnq69M3XhwgBgnfaknQvojcaf6taNPvfbiCZNftu+PQDoBIwuLT1z8qRfTo5U1TsB2y+/\nZOfk7AbyU1NraPeI6AI3ctaVPRXe4YCilJ0qdbuRkVHW6gCcyzosXAgAl2QdjEbUrXv+t02a\noPyMdmkpTp5ETk5ZF/zlF+TkAACzjugaXEWxKy4u/vXXX5cvXw6goKDgLx/q8wJOpxOA0Wh0\nqqpQFEUIvTj/XGW9Xm869/PugSVLAET371/BhzRvLoDdK1dqv01ISBivKD8B9+v1oS1aPDxy\nZOqkSf/t02e1qnZITbUIcVa7PIWIqhmz7jytzBmNUFUoStkxuXJ6PcqP7S1ZAgAVZR2aNweA\nc1mHhISyE7J6PVq0wMiRmDQJffpAVcseSsasI7oGV1TssrKyhgwZEhwc3KFDh169egH46KOP\nmjVrdsM+FTsoKAiAw+HQ6XRhYWEScEkpAa3dOV2u0nPBVO/22wFkll99fAGRkQGgcfmqClK2\nVtUk4BOXa/7evZ+uWTN527ZRFssIne4DoJ2Uh0NCamTniG5czLqLBQUBgMMBna7sGa9azdXq\nnct1voRpJ6Qqyrqy2ykuyLqyQ3QuF/buxZo12LYNFkvZpXtSgllHdA0qL3anT59u3779t99+\n27Zt21atWmkb/fz80tPTe/TooV16cqNp2LAhACllbGysv7+/j4+PoihCnL9gMSoqyuVyAej8\n5JM2oPny5Zd+SOeMjDOA+dzPuw/edFMMYAUmA9LtPnTo0Lx587799tv9LVtaDQYr4MdVAIiq\nE7OuAg0bAoCUiI2Fvz98fMqO25UfxYyKKruF4sknAaCirCsrduXH9m666fxLbjcOHcK8efj2\nW7RsCYMBAFc8IboWlRe7MWPGnDhx4vvvv9+0aVPfvn21jS+88MIvv/zicrnGjRtXzRNej0aM\nGAFACJGRkXHo0KGSkhJVVaWUFoslEugNDM7PH1ynjjM3F8CCunXbut3zLvgZ1OVwLDeb44Al\nbdoAsNvtzZo1sxw6dBgYoCgPAkfCw2fExDwMvGM0/nv3bsXpTAcGPvCAp/aX6EbArKvAiBEA\nIAQyMnDoEEpKyhars1jK3pCfb4+qg9xcAKhbF273H463ORwwmwGgTRsAsNvRrBkOHQLOLV8c\nHo6YGAAwGrF7d9mZX2Yd0TWofB2777//fuDAgX369Lloe5cuXe67774NGzZUz2A1x2q1OhyO\nP3lDSUnJRVsGDBgwdOhQKaUQQjv92rlz55OHDr188uQIoBQ4CcQVFNjDwmbVr5/000/Lbr99\ncF6eTYjjQuiljAZ6At+Ght6/evWdd965bt06KWUXwAWsV9VbgFfPnm3jcvUFDjkc/wb0QnSS\nsnWzZtX3h0BEzLpLsw4DBmDo0LKlSbTTr50749AhnDwpBYSEBEw5Be66YRkd6tf/5Sdj29uR\nl1f25vKjeqGhWL0ad96JdevOb9TOxp49W3bATxtM+y5mHdE1qLzY5eTkxMbGVvhSZGRkjnYT\nU62Vnp7etGlTd/mTcC7vwguoLRZLvXr1Tp48Wb5x3bp1S3S61kL0BlZKaTSZVLv9YWD6sWOT\nW7WapNff5es71GYrVdX9QKGiLAsOzrZabQEBOHdlnv7mmxvt2ROu1590u19UVXnBid2lOt0x\no7FT+dpRRFQNmHWaP9wsYrGgXj2cPHm+kK1bB52uyCJ8HNA7pbYSitWMuJRjSGhlN+mtkb6B\nOTadSwUARUFwMKxWBAQA567Mu/lm7NkDvR5ud9kTxso/XKeD0QhmHdE1qLzY1atXb8uWLRW+\nlJKSUq9evaoeqUY1atQoLS1Nu8v1chYuXDhhwgRx4b1gwIcffnjfffcB0Ov1w4YNGxYV1X78\n+NaKskdV9QaDEMIlxBwprcBXwBcu13KX6/y1J6qKM2e0LwMDA+12u81mW3z27Fv+/v8oKnrZ\n19dms917773jx4/v3bt3g2PH7na5Vv/tb9Ww90R0HrOuwqzDhx/ivvsAQK/HsGGIilInjDdI\nRe9SYTAIISBEgFWqCoSE0eYyZrlEeTO8IOsQGAi7HTYbzp6Fvz+KiuDrC5sN996L8ePRuzeO\nHYPLBWYd0TWSlXnllVcATJgwQVXVt99+W/sWp9P55ptvAnjxxRcr/YTa7pNPPgFQVFR00fbW\nrVuX/zH+E/ge0Ol0BoNBr9fHxsYajUYA3bp2zffzGyHKBAcHA1AUpWXLlto36vX6uLg4vV4P\n4O/9+9sUZQHQFagrRPewsL8BVuDn5s09suNEV8tutwNISUnx9CB/BbPuclknW7eWQPkvhx6q\nTicNBqnXy9hYt9kogZQXuxbU9TsbKKQQUghrZLAqoOoU2bJl2Tfq9TIuTur1EpD9+0tFKdsu\nhAwLK/uaWUe1xPWcdZUXu7y8vPj4eAANGjS46aabADz00EMNGjQAEBcXl5ubWwNTetblws5m\ns2nrs+t0uu+BKQDOrYQSoJ13AE6cOLGrTp0xgF6vDwwM7N69OwCj0fjcc8+ZzWYAo0aN8vX1\n1dqexWKR27f/6u/vOBegh4DnfHykqnpkx4mu1vUcdpVi1l222Nls0s9PAlKn04qdBGRQkARk\nQIAqIAF54sTZhnVUrcAFBsru3SVwMsoon3tOms0SkKNGSV9fCUhFkRaL3L5d+vtf2Bcls45q\nj+s56yq/KzYoKCglJeWJJ57Izs4+cOAAgH//+98nT5588MEHN23aFBoaetUHCb2FyWRKS0sT\nQqiqKv39gwEAAwYMKD+R0ahRo3r16in5+UVCuFyurl277ty5E4DD4cjNzY2IiABw+vTp0tJS\nnU6n0+msVuvsLVvGdOxYPzS0hU4XbbE0BnovXoyLzowQUTVg1l2WyYS0NO1xYa4g/2ztttcB\nA7RoEhKFCY1Qr57P6fycUAGXC127YudOACG5DlthLiIiAOD0aZSWQqeDTgerFVu2oGNHhIZC\npyu7x5ZZR1QVKr/GDkBwcPCsWbM++uijvXv35ufn+/n5xcfHa8eZbnBNmjRZvnx5r169fioq\negvwBb766it57kLgl19+GQcPNnO5fjebdU5naGho+UsBAQGKogDYvn17YGDgY4899sEHHwB4\n5plntItgsgBYrWPGjOnRo4dn9o3oxsOsu6wmTbB8OXr10ucXlV1s+NVX2n0WAjg94eWAgwfN\nJa7MSDPynQgN1e6HMDtwJiLArK1ssn07AgPx2GP44AMAeOYZlF/wZ7VizBgw64iqwlU8Usxo\nNLZs2fKOO+649dZbmXTlevTokZGRsSsx0QV8DhhVFUBYWBgAmZVV1KfPauBXVQ0MDNy5c2dC\nQoL2XQ8//PDRo0cBHD58uLCwsF+/fp06dRJCaBfbAWjSpMnWrVu1C32IqCYx6yrWowcyMpCY\n6DDApYMbKgARFiYFcuxZRYP7nIhAdKaKwEDs3ImEBAClRhgfeBhHjwLA4cMoLES/fujUCULg\nXNahSRNs3QpmHVEVuaIjdmlpaZ999ll6errD4ZCXPDZx7dq1VT9XrVK/fv2N27YdX7q08733\n7nO7VxuNhQUFYXr9PePG7QdG+Po6Skpuu+22FStWLF68eM2aNaqqJiYmduvWbeXKldqZ3EGD\nBp0+fdrHx0dbR2rs2LGjR4/29G4R3XCYdZWoXx/bttnXLnUOvDc4z50TYSwILKgTpG/7wLj/\nNUSo2ddwugSdb8OKFVi82LV+jUFVfZokols3rFypncnFoEE4fRo+PtDWzBs7Fsw6oipVebFb\nunRp3759VW0xSbq8mN69badOLbr3XvNvv8Xl5h4AngG+BSJCQkRp6YoVKwwGw4gRI9xutxAi\nIiLCbrebTCaHwyGEyMrKAlBaWhobGzt//vy2bdt6em+IbjjMuivk36W3Lf1U2kv33vztb3Wy\nc0vN0DvR8gDUmBCIUqxYAYMh95URvorb1yUQEQG7HSYTHA4IgawsACgtRWws5s8Hs46oqlV+\nKnbs2LGhoaHLli3Ly8tzVqQGpqwtzOHhQzZvHmCzFfzww9d33PFfX18ncOLECe0xsg6HIycn\nR6fTmUwmq9Xqcrnsdrt2D0tsbOySJUvy8/OPHDnCVkfkEcy6K2cOCr/1i83mApv4/gff2+5Q\n/XwBKMdP2EzCpUjpdIQeyjGpOhhNsFrhcsFuh5Rlz5xdsgT5+ThyhK2OqDpUfsRux44d77zz\nTq9evWpgGu9gMBiSk5OTk5MBnDhxYsaMGampqaWlpdnZ2cXFxWfPnjWbzQ0aNBg4cGBISEhi\nYmJSUpJBe/Q1EXkOs+6qGQxITkZysg6wZ5/YtXKGdXeqaiutvys79lCxPvsszGY0aICBAxES\ngsREJCWBWUdUzSovdr6+voGBgTUwileKjo6eMGGCp6cgupjTWrCpS4x/XrEqUFwvrMva056e\nyPOYddfCFB7d5iFmHV13ClAQsz2mGMUAwgxhp2/2/qyr/FRst27dFi5cWAOjEFHNWJ/oI4OD\n7thalJghb02XXdZlW33F2q61+5FZ145ZR+RlfHb6BG0LKlKLpCqlKrPtfBkTfQAAGuFJREFU\n2SJN1Nvt5VlXebGbOHFiamrqY489tmnTpszMzNxL1MCURFRV1rUNSNphy/fHxkGJilsKVa7t\n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\n5s6d+5e//KV///7mkeHDh4tIQUFBXa+iEbMAeKiQdXBq7IqFTZo1azZt2rQNGzZ069YtJCQk\nIiIiMjLS39/fYrIePXqYb7do0UJEKisrReTMmTN37951d3dftGhRzenLy8v1ev2pU6eCgoIs\nnurUqVN6vX7AgAE1BwcOHOjq6mq+a/roXFRUlJOTk5+ff/r0adPVmAwGQ10vpBGzAHh4kHVw\ndjR2sNWaNWv69u27YcOGtLS0tLS0t956KyAgYN26dTXzyM3NzWIuo9EoIiUlJSKSl5f37rvv\n1n7m4uLiuga9vLxqDup0Ok9PT/PdS5cuJSQkbN++3XSef9euXYcMGZKZmWlaqFWNmAXAQ4Ws\ng1NjVyxspdVq582bl52dfeXKlb/+9a+RkZHZ2dmRkZF3795tcF7TJ9oXXnjB6gEBERERtWdp\n3bq1iFy9erXmYEVFRVlZmem2wWCIiIjYunXr7NmzDxw4UFhYePny5Q8++KCeMhoxC4CHDVkH\np0ZjB+s0Gk3Nu+fPn3/77bd3794tIl26dJk2bVpKSkpUVFRhYaH51Pp69O7d283N7ciRI3q9\nvub4hx9+uHjx4tLS0tqz+Pv763S6jIyMmp8vs7KyzHdPnDhx5syZUaNGrV69OjQ0tG3btiKS\nl5cnv3x0rv0qbJkFwEOFrIPK0NjBOtOOBnMMeXh4LF269J133qmoqDCN6PX6y5cvu7q6NnjV\nchFp3rz5888/f/HiRdP5UyaHDh1KSEjYuHGjt7e3iBgMhsLCQtOODBHx8vKKjo7OyclZu3at\naaS8vLzm8cju7u4icufOHfPI7du3//CHP4hIVVWV1Vdhyyy16fX6wsJCq4kMwNmRdWZknTpw\njB2sM/104KJFi/bs2bNq1arevXvPnz//gw8+6NOnT2RkpFar3bdv38mTJ1977bUOHTrY8oQr\nVqzIyMhYsmTJN998ExIScv369S1btuh0ug0bNpg+a+bk5AQGBgYEBPznP/8xzfLnP//5yJEj\nL730UkpKymOPPbZ3796ysjKdTmd69MknnwwMDExPT4+IiAgNDS0sLNy8eXNRUVHz5s3NP2ho\n8SpsmaW2EydOBAcHBwUFHTt27D7WKABHRNaZkXXqwDd2sG7gwIGvvPKKRqM5duxYfn6+iCxf\nvnzNmjWtWrXauHHjmjVrPDw81q9fn5ycbOMTduzY8fjx4/Pnz79+/frHH3+clpYWFRWVmZk5\nePDgumbp3LlzRkbG9OnTT5w4sW7dum7dun3zzTfmY5ZdXV1TUlKmTp2ak5OzaNGinTt3hoaG\nfvvtt2FhYTk5OVeuXKn9KmyZBcBDhayD2jzIi+IBzs/qRTv37NkTFhZ2T8/DRTsBODKyTq34\nxg5o2GeffRYcHKx0FQDQtMg6FeAYO8CK5cuXe3l5xcXFdevW7eLFi6WlpW+++aaN827fvj0r\nK+vQoUNNWiEA3D+yTn1o7AArVq1aJSIRERHdunXr3r276UcSbbRz586///3vTVYaADwwZJ36\naIxc0gYAAEAVOMYOAABAJWjsAAAAVILGDgAAQCVo7AAAAFSCxg4AAEAlaOwAAABUgsYOAABA\nJWjsAAAAVILGDgAAQCVo7AAAAFSCxg4AAEAlaOwAAABUgsYOAABAJWjsAAAAVILGDgAAQCVo\n7AAAAFSCxg4AAEAlaOwAAABUgsYOAABAJWjsAAAAVILGDgAAQCVo7AAAAFSCxg4AAEAlaOwA\nAABUgsYOAABAJWjsAAAAVOL/AXp6xMjlfXPkAAAAAElFTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "par(mfrow=c(1, 2))\n", "plot(tsne.data, col=Z)\n", "plot(tsne.data, col=zs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Stick-breaking construction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As above, we try to implement the mixture using Stan, too. We use a truncated DP again and set the maximum number of clusters $K =5$, because the model is quite hard to compute and we don't use a lot of data, and the concentration to $\\alpha=2$." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "K <- 5\n", "alpha <- 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The respective Stan file is similar to the Gaussian case. There is one more tricky part, though. In the Gaussian case, we needed to order the mean vectors such that we can identifiable posteriors. For the binary case, we in addition need to make sure that the parameters are probabilities, i.e. have a domain from $0$ to $1$. We do that by first declaring a $K \\times p$-dimensional parameter rates which we order: ordered[p] rates[K]. Then, in order to make a probability out of it, we apply the inverse logit function for every element: prob = inv_logit(rates). That should do the trick. The complete Stan file is shown below." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "data {\n", "\tint K;\n", "\tint n;\n", "\tint p;\n", "\tint x[n, p];\n", "\treal alpha;\n", "}\n", "\n", "parameters { \t\n", " \tordered[p] rates[K];\n", "\treal nu[K];\t\n", "}\n", "\n", "transformed parameters {\n", " simplex[K] pi;\n", " vector[p] prob[K];\n", "\n", " pi[1] = nu[1];\n", " for(j in 2:(K-1)) \n", " {\n", " pi[j] = nu[j] * (1 - nu[j - 1]) * pi[j - 1] / nu[j - 1]; \n", " }\n", "\n", " pi[K] = 1 - sum(pi[1:(K - 1)]);\n", " for (k in 1:K) \n", " {\n", " \tfor (ps in 1:p) \n", " \t{\n", " \t\tprob[k, ps] = inv_logit(rates[k, ps]); \n", " \t}\n", " } \n", "}\n", "\n", "model {\n", " \treal mix[K];\n", " \tnu ~ beta(1, alpha);\t\n", " \n", " \tfor(i in 1:n) \n", " \t{\n", "\t\tfor(k in 1:K) \n", "\t\t{\n", "\t\t\tmix[k] = log(pi[k]);\n", "\t\t\tfor (ps in 1:p)\n", "\t\t\t{\n", "\t\t\t\tmix[k] += bernoulli_lpmf(x[i, ps] | prob[k, ps]);\n", "\t\t\t}\n", "\t\t}\n", "\t\ttarget += log_sum_exp(mix);\n", " \t}\n", "}\n" ] } ], "source": [ "stan.file <- \"_models/binary_dirichlet_process_mixture.stan\"\n", "cat(readLines(stan.file), sep=\"\\n\")" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "hash mismatch so recompiling; make sure Stan code ends with a blank line\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "SAMPLING FOR MODEL 'binary_dirichlet_process_mixture' NOW (CHAIN 1).\n", "Chain 1: \n", "Chain 1: Gradient evaluation took 0.000431 seconds\n", "Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 4.31 seconds.\n", "Chain 1: Adjust your expectations accordingly!\n", "Chain 1: \n", "Chain 1: \n", "Chain 1: Iteration: 1 / 12000 [ 0%] (Warmup)\n", "Chain 1: Iteration: 1200 / 12000 [ 10%] (Warmup)\n", "Chain 1: Iteration: 2001 / 12000 [ 16%] (Sampling)\n", "Chain 1: Iteration: 3200 / 12000 [ 26%] (Sampling)\n", "Chain 1: Iteration: 4400 / 12000 [ 36%] (Sampling)\n", "Chain 1: Iteration: 5600 / 12000 [ 46%] (Sampling)\n", "Chain 1: Iteration: 6800 / 12000 [ 56%] (Sampling)\n", "Chain 1: Iteration: 8000 / 12000 [ 66%] (Sampling)\n", "Chain 1: Iteration: 9200 / 12000 [ 76%] (Sampling)\n", "Chain 1: Iteration: 10400 / 12000 [ 86%] (Sampling)\n", "Chain 1: Iteration: 11600 / 12000 [ 96%] (Sampling)\n", "Chain 1: Iteration: 12000 / 12000 [100%] (Sampling)\n", "Chain 1: \n", "Chain 1: Elapsed Time: 101.608 seconds (Warm-up)\n", "Chain 1: 2557.83 seconds (Sampling)\n", "Chain 1: 2659.44 seconds (Total)\n", "Chain 1: \n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Warning message:\n", "“There were 1873 divergent transitions after warmup. Increasing adapt_delta above 0.99 may help. See\n", "http://mc-stan.org/misc/warnings.html#divergent-transitions-after-warmup”Warning message:\n", "“There were 8127 transitions after warmup that exceeded the maximum treedepth. Increase max_treedepth above 10. See\n", "http://mc-stan.org/misc/warnings.html#maximum-treedepth-exceeded”Warning message:\n", "“Examine the pairs() plot to diagnose sampling problems\n", "”" ] } ], "source": [ "fit <- stan(stan.file, data = list(K=K, n=n, x=matrix(as.integer(X), n, p), p=p, alpha=alpha),\n", " iter = 12000, warmup = 2000, chains = 1, control = list(adapt_delta = 0.99))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That is unpleasant! A lot of divergent transitions and almost all of the transitions exceeded the maximum tree depth (see the [Stan manual](https://mc-stan.org/docs/2_18/reference-manual/hmc-algorithm-parameters.html)). The divergent transitions are more severe a problem than the transitions so let's look at some diagnostic plots." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Inference for Stan model: binary_dirichlet_process_mixture.\n", "1 chains, each with iter=12000; warmup=2000; thin=1; \n", "post-warmup draws per chain=10000, total post-warmup draws=10000.\n", "\n", " mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff\n", "rates[1,1] -0.24 0.06 0.22 -0.70 -0.39 -0.24 -0.09 0.21 15\n", "rates[1,2] -0.04 0.08 0.27 -0.64 -0.21 -0.02 0.15 0.42 12\n", "rates[1,3] 0.02 0.08 0.28 -0.57 -0.16 0.04 0.21 0.53 13\n", "rates[2,1] -41.03 14.23 22.24 -78.46 -59.41 -40.12 -19.71 -10.36 2\n", "rates[2,2] -31.83 9.33 18.03 -71.97 -43.00 -27.37 -18.92 -7.30 4\n", "rates[2,3] -18.72 5.90 14.48 -56.57 -24.71 -14.24 -7.80 -3.36 6\n", "rates[3,1] -10.89 11.09 19.34 -48.01 -25.62 -12.53 6.75 20.63 3\n", "rates[3,2] 3.78 12.85 22.06 -33.19 -16.41 4.73 24.57 34.55 3\n", "rates[3,3] 10.79 11.42 20.01 -25.96 -6.86 17.62 29.58 35.92 3\n", "rates[4,1] -59.64 5.63 15.40 -88.10 -68.41 -60.86 -55.09 -22.39 7\n", "rates[4,2] -29.59 13.20 29.39 -76.24 -54.26 -32.01 -2.97 24.18 5\n", "rates[4,3] -9.62 11.32 25.54 -57.00 -28.04 -10.72 12.35 34.58 5\n", "rates[5,1] 12.24 1.93 7.34 2.26 6.53 10.36 17.46 29.67 14\n", "rates[5,2] 15.33 2.42 7.48 4.01 9.28 14.21 21.35 31.04 10\n", "rates[5,3] 27.77 0.69 6.10 14.90 23.35 28.58 33.00 36.37 78\n", "nu[1] 0.48 0.01 0.05 0.38 0.46 0.49 0.51 0.56 17\n", "nu[2] 0.35 0.06 0.12 0.17 0.24 0.35 0.44 0.57 4\n", "nu[3] 0.21 0.07 0.18 0.02 0.06 0.17 0.30 0.72 6\n", "nu[4] 0.21 0.03 0.12 0.03 0.11 0.20 0.30 0.45 12\n", "nu[5] 0.28 0.05 0.18 0.04 0.14 0.25 0.40 0.67 14\n", "pi[1] 0.48 0.01 0.05 0.38 0.46 0.49 0.51 0.56 17\n", "pi[2] 0.18 0.03 0.07 0.08 0.12 0.18 0.24 0.31 4\n", "pi[3] 0.06 0.02 0.05 0.01 0.02 0.06 0.09 0.18 8\n", "pi[4] 0.06 0.02 0.05 0.00 0.02 0.05 0.10 0.17 8\n", "pi[5] 0.21 0.02 0.06 0.06 0.18 0.22 0.25 0.31 8\n", "prob[1,1] 0.44 0.01 0.05 0.33 0.40 0.44 0.48 0.55 15\n", "prob[1,2] 0.49 0.02 0.07 0.35 0.45 0.49 0.54 0.60 12\n", "prob[1,3] 0.51 0.02 0.07 0.36 0.46 0.51 0.55 0.63 13\n", "prob[2,1] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 24\n", "prob[2,2] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 157\n", "prob[2,3] 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.03 755\n", "prob[3,1] 0.37 0.27 0.47 0.00 0.00 0.00 1.00 1.00 3\n", "prob[3,2] 0.55 0.28 0.49 0.00 0.00 0.99 1.00 1.00 3\n", "prob[3,3] 0.61 0.27 0.48 0.00 0.00 1.00 1.00 1.00 3\n", "prob[4,1] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 343\n", "prob[4,2] 0.23 0.19 0.41 0.00 0.00 0.00 0.05 1.00 5\n", "prob[4,3] 0.30 0.24 0.45 0.00 0.00 0.00 1.00 1.00 4\n", "prob[5,1] 0.99 0.00 0.05 0.91 1.00 1.00 1.00 1.00 85\n", "prob[5,2] 1.00 0.00 0.01 0.98 1.00 1.00 1.00 1.00 148\n", "prob[5,3] 1.00 0.00 0.00 1.00 1.00 1.00 1.00 1.00 348\n", "lp__ -358.00 1.00 2.91 -363.63 -360.14 -358.00 -355.75 -352.76 8\n", " Rhat\n", "rates[1,1] 1.03\n", "rates[1,2] 1.08\n", "rates[1,3] 1.08\n", "rates[2,1] 3.06\n", "rates[2,2] 1.72\n", "rates[2,3] 1.35\n", "rates[3,1] 2.52\n", "rates[3,2] 2.30\n", "rates[3,3] 2.12\n", "rates[4,1] 1.41\n", "rates[4,2] 1.40\n", "rates[4,3] 1.40\n", "rates[5,1] 1.02\n", "rates[5,2] 1.05\n", "rates[5,3] 1.04\n", "nu[1] 1.15\n", "nu[2] 1.96\n", "nu[3] 1.28\n", "nu[4] 1.22\n", "nu[5] 1.06\n", "pi[1] 1.15\n", "pi[2] 2.02\n", "pi[3] 1.20\n", "pi[4] 1.34\n", "pi[5] 1.29\n", "prob[1,1] 1.03\n", "prob[1,2] 1.08\n", "prob[1,3] 1.08\n", "prob[2,1] 1.05\n", "prob[2,2] 1.01\n", "prob[2,3] 1.00\n", "prob[3,1] 2.11\n", "prob[3,2] 2.40\n", "prob[3,3] 2.22\n", "prob[4,1] 1.00\n", "prob[4,2] 1.38\n", "prob[4,3] 1.57\n", "prob[5,1] 1.02\n", "prob[5,2] 1.02\n", "prob[5,3] 1.00\n", "lp__ 1.23\n", "\n", "Samples were drawn using NUTS(diag_e) at Fri Mar 1 12:46:17 2019.\n", "For each parameter, n_eff is a crude measure of effective sample size,\n", "and Rhat is the potential scale reduction factor on split chains (at \n", "convergence, Rhat=1)." ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fit" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "posterior_cp_pi <- as.array(fit, pars = c(\"pi\"))\n", "posterior_cp_prob <- as.array(fit, pars = c(\"prob\"))\n", "np_cp <- nuts_params(fit)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nR0RERGQS/wGT9yqsvpAD9QAAAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mcmc_trace(posterior_cp_pi,np = np_cp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Overall the transitions divergence at allmost all points, the traces are not consequently not very nice either. Let's also look at the effective sample size." ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAFoCAIAAADitkyTAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nO3deXxNd+L/8c+5udllu9kuiViKtIp0qFYkUTqmVUNLFww6nRmM+nWhu2pp\nlSmqtKWl1NDSVbVRy2i1g69rmbbWlNiFyCaRRYSb5C7n98fVNA3inpt7cpe8no/+4Zycm/NO\nrw8f557z/kiyLAsAAAB4Po2rAwAAAMA5mNgBAAB4CSZ2AAAAXoKJHQAAgJdgYgcAAOAlmNgB\nAAB4CSZ2AAAAXoKJHQAAgJdQMLG7cOHCxYsX1YsCAACAhpDsX3kiLS0tPj7+s88+UzVQPS4Z\nqz747Lv9mSejdKED+96edtvNrkoCAADghrSuDmCv/MKSnoOfPX22TAoIEFbrmx+kv/z40Nee\nGenqXAAAAO7CY+6x+38vLcgurtBEt5BCI6XwaCmq+fR3v9j2c6arcwEAALgLBVfsrFbrlp0Z\nd418Wb001yLL8qYdGSKqhZAk2x7J11/4B635/n+p3Ts2fh4AAAA3pGBiJ8ui4FzZ2W371EtT\nP430++uLPppLxqp6jjeZTFlZWR06dFA3FqCygoICX1/fyMhIVwcBmhaGHjyRgomdj4/m/n49\nl/x7mXpp6nH7fU+fKLkoNQu7vC1b5crKrp3b1fMSq9V64cKFxggHqMloNNr/kBMAZ2HowRMp\ne3jCz1cbEdZMpSj1e3fauH5/nSJkqwgIEhaLqDh/e+e2D9/fxyVhAAAA3FBjPBVbXHph6cqN\nx0/ltYiNHH5f7/ZtWjjwTe5K+8N3y1979a1P9mWejAhrNnhY36lPj/DVesxTvQAAAGpTfWK0\n9+CJP414ufRitfDzFxbTrIWrlr45YdjAXg58qz+l/eFPaX9wekIAAADvoO7ETpblkePfLDVJ\nUvTlq3RVxoqxE+ffcXun5jE6VU8thPD19W3fvr3aZwHUptfrNRqPaSYCvAZDD55IUd2JvGP3\noaGPzbT/JeUVlw6dOKPRt6rZIwU2q6go22jY+8gDf1QQ0yEajSY0NFTtswBqCwwMdHUEoCli\n6METKao7kbPzis6s36bsDJIk6tSUSJqKi0Zl3wQAAADXo27dyYWLxsQ+Y6urjJL/r//usVpk\nU3XXTvXVlAAAAMAB6tadRIQ1m/7sw8/NWCZCdMLPX1jMcnnJXwb2Su56o8KcAAAAuA7Vbwt9\nevSg154aHqkxiXO5YZaLL4y5b8kb49U+qY3JZDp69GjjnAtQT0FBQXFxsatTAE0OQw+eSPWJ\n3bIvf/jX/C+KL5lEYOj5S9Ufp2/OLWikccLKE/AORqOxurra1SmAJoehB0+k7sTuZHbBk6+8\nX91MJ0XGSuGRUnRc3vnqvz0zV9WTAgAANE3q1p0cO5VntEhSQFDNHik0YsfuQ3lnS1rEqt5j\nBwAA0KSoXndSe1YnhBAajRDiwsVLQjCxAwAAcCZldScD/njbO/MX2v+SzTszxrz4rmS1il/L\nu+XKS2EhwW1a6pXFdAgrT8A7UH8PuARDD55IWd1Js6CAtgkK5mRtWsZ+uc7w/Y+ZIiRC8tHK\n1ZVyecms6f/Pz1f1NWoFK0/AW1B/D7gEQw+eyAn/Fvnl8KnX31v5zLQly7/aZDKba39JkqQv\nFkx8cuTdOutFuSi3fYT/stnj/zm8X8NPCgAAgDokWZbtPDQtLS0+Pv6zzz6rvfOtf69+ceaH\nJh9fIfnI1VU3tdFvWTkzWhd25curqk3+fr5OiAwAAICradAVu70HTzwz/d+m0ChJp5ciojUx\ncYfPFD/28oKrHsysDgAAQFUNqjs5eDRb8g/8bR1YSRKhEas3/s9NLs6ZTKasrKwOHTq4OgjQ\nIAUFBb6+vpGRka4OAjQtDD14oobWnUhBIb/b1GjMZsslY5U7TOxYeQLewWg02n/LBABnYejB\nEzWo7uSLdVtfmvupJMtCkmx75CpjQovoiLBmTo4JAACA62lQ3cnTowd/uW7b/hP5IiRc0vjI\nVUb5Qsmbr090dkgAAABcX4MenvD38139wcvJnVr7ni+Ui3Lbhvl+Pu/5B/unOCscAAAA7Neg\nouD8wpK7H55y5PRZyS9QSObcsyUXjVXOStZwrDwB70D9PeASDD14ogb9lh3zwryjeSWamDgp\nIlqKal4VHPH45AXHsvKcFa6BWHkC3iEwMNDf39/VKYAmh6EHT6Ss7mRXxrFHJ71r26w2mTZs\n2SXFxNc8OSEFBFVeLE//bufzjz7g/KQAAACol7K6k+On8098+m3tnZLk87uDJE35hYtOSQYA\nAABFHK87sZgttw96+nyVUQoMvnyEVZZNVTcntnJ6SgAAAFyXsnvsbHUntv/at42bOfHv8vlz\nsrFCWC1ydaVcevb2zje4z1OxJpPp6NGjrk4BNFRBQUFxcbGrUwBNDkMPnsjBhycMPx18/b2V\nxWUXnvvn/fEBsrUgO6Ci+OEByauXTPbVNuhJWydi5Ql4B6PRWF1d7eoUQJPD0IMnUjwJk2X5\n78++tfzrLZJ/gBBCrjL+46G+s18aFdosyMeHx8IBAABcRvFUbNGn3y5fvVUT00LSxUq6WE1M\n/NJVm77asJ1ZHQAAgGspmI3Z6k6mvfOp1CxU+Phe3uujlZqFfrp6ixrhAAAAYD/FdSdSlF6K\niP7dFzTasnJ3rDhh5Ql4B+rvAZdg6METKfgtq9Fo7krrelfaH0Rl5e++UG28uUOCk3M5AytP\nwDtQfw+4BEMPnkjBxE6ShC682Vuv/DNIMsnlpcJsFmazXF4aLJlffnKYehEBAABgD8UXmW9q\n13L1By+3jvC3FuXIRTm3tNJ9u3xaYtt4NcIBAADAforrTo5l5Y198d2svBLJP1BYzKdzi4yV\n1PwAAAC4nuIrdiPGz84qqtDExkm6WCk6rtTqO3L87NLzFWqEayBWnoB3oP4ecAmGHjyRsrqT\nHbsP7frlmBQeKYRk2yk1CztbVrHRsFedeA3CyhPwDtTfAy7B0IMnUjCxk2U5O69ISJKQfvcq\nSaMtKWP+BAAA4GLK6k76JHfWCEmu/S8Yq1U2VXds7451JwAAAE2KsrqT2KiIZ8YMlsvOylVG\nYbXIpiq5pOCeO7r2uu1m9SICAADAHso+ij115mxoSNBDd/cIriyzFmRrSwv/MfiOFW8/I0mS\nehEdxsoT8A56vV6n07k6BdDkMPTgiSRZlu08tGfPlJ2/ZGvikmVT1Y2tmi99c0K3Lu18tYoL\nUwAAAKAGBVfsfHw0UkCgpIvVxLQ8kl/63OtLmdUBAAC4DyV1JzXX9iRJCovavivz+Kl8VUIB\nAABAOSX32FlrfWir0QhJKi4rd34iAAAAOERZ3UnNr2VTlY9GateqhQqRnIaVJ+AdqL8HXIKh\nB0+k6CY5WVitQrbK1VXy+eKnRw+OjAhRK5czsPIEvIPRaLT/IScAzsLQgydSMLGzWKyiymjN\nPx3g7/v02MGvPDVcvVgAAABQSlFBsSQ0PpKvv2wVQggeiQUAAHAryupOhH+AFN2iOjzm9QWr\nvv52h3qxAAAAoJQjdSeSr5/ULPTDL39QJ5LTsPIEvAP194BLMPTgiRR8nPr7uhNtUfF558dx\nKo1GExoa6uoUQEMFBga6OgLQFDH04IkU1Z3UWhDWVJl4Q5zz4wAAAMBRCq7YSZIkZCGsVvlS\neZAwvzDuIfViAQAAQCkFV+zMZotcedFacLp1mP83Sybf1K6lerEAAACglLK6E0nSSL5+eWeL\nDT8dVC+Ts7DyBLwD9feASzD04IkU1p0EBErRcdVh0VPnffbN9/9TL5ZTsPIEvIPRaKyurnZ1\nCqDJYejBEzlWd+IvBYUt/WKjOpEAAADgCAUTu9/VnfhoC8+5e90JAABAk+Jo3Ul1VYe21J0A\nAAC4EeV1J7JVvlgeKKqfG/uAerGcgpUn4B30er1Go+DfYACcgqEHT6S87iT/dEKI71eLXuqU\n2Eq9WE7ByhPwDoGBgf7+/q5OATQ5DD14IsV1J8LHt6TsgvuvJwYAANDUKK470cTGV/iHjH1x\n/i+HT6mWCgAAAIo5VHcSEFwp+S7/6r/qRAIAAIAjHK87KSgqdX4cp2LlCXgH6u8Bl2DowRMp\neCq2Tt1Ju9YtnB/HqVh5At7BaDTKsnz94wA4FUMPnsihupMLZdEhAWNH3KNeLAAAACjlSN1J\nx+Zha5ZO0UdHqBcLAAAASjlQd6LNPVt8MrtAvUwAAABwgAN1Jy3Pa4JGPfd25rFs9WI5BStP\nwDvo9XqdTufqFECTw9CDJ3Ko7iSoWaXQfrTK3etOWHkC3oH6e8AlGHrwRI7WnWj98gtLnB8H\nAAAAjlIwsft93UnlDa2aOz8OAAAAHKWw7kQIYZXli6WRzfzG/KWfWqEAAACgnMK6E+NFa8Gp\nDjEh3yyZ0iLW3W8pZeUJeAfq7wGXYOjBEym4YmfrOxEan+KS8rPnylSL5DSsPAHvQP094BIM\nPXgiBVfstD4aERCk0ScUy74PT3jzWFaeerEAAACglGN1J6GXrJqPVv2gTiQAAAA4wtG6Ex/f\nvLPUnQAAALgRBffY/a7uxFTVJkHv/DhOxcoT8A56vV6jUfBvMABOwdCDJ1JedyLL8oXSyGZ+\no4bepVYoJ2HlCXiHwMBAV0cAmiKGHjyR0rqTS9aC0+2imq3+YLL7150AAAA0KUouMkuSkCQh\npIuXjBWXKlWLBAAAAEcoqzuRAgI1zVvlV8rDHpt5Jv+cerEAAACglJKnYmvqTpqFn6+0LP/q\nv+pEchpWnoB3oP4ecAmGHjyRgocnrLXrTrS+eQXu/tudlSfgHai/B1yCoQdPpOCK3e/qTsym\n1i1jnR8HAAAAjnKs7qQsOiTgrw/8Ua1QAAAAUE553Un+6fbRwekfvBwbFa5eLAAAACil4Iqd\nkGz/SSaz2SNuO2DlCXgH6u8Bl2DowRMpqjvxkQKCNM0TTpVWPvjo6+dKytWL5RSsPAHvEBgY\n6O/v7+oUQJPD0IMncqDuRJJCdWfLLn2xbqtKmQAAAOAABRO7OnUnORQUAwAAuBNH605MVQlx\nMc6PAwAAAEcpmNj9VndyviQuOmzogDS1QjkJK0/AO1B/D7gEQw+eSGHdSeUla8HpRH3I14te\n0oWHqBfLKVh5At7BaDRWV1e7OgXQ5DD04ImUPMgtCSELIYTVKls9oe4EAACgSVFYdxIYpNG3\nOlZU8cDYf5WUcTEMAADAjSivO5EkKVSXd678i3UGtUIBAABAOQUrT/yu7sTX/0xukfPjOBUr\nT8A7UH8PuARDz81lZGS0atUqLCzM1UHci6N1J+bqlnHRzo/jVKw8Ae9A/T3gEgw9N/fnP/95\nzZo1rk7hdhRcsbtcdyJkubysua7ZkD+7e90JAADwSidPnszJybnttttcHcTtKKk7sVjkykvW\n/Ox2UUFfLXopMsLd604AAIBXMhgM0dHRHTp0cHUQt6Pk7gHZ9p8cHBQQHBigWiQAAID6GAyG\ntLS0Xz9LxG+U1J1ofaTAIE3zhP2nih4Y+6+Ki5XqxXIKVp6Ad6D+HnAJhp49cnJyZsyYceON\nN0qSpNfrs7Oz6xywadOmiRMn+vn5JSQkzJkz5+TJk045r21i58IA15Kent6rV6/+/fv36dNn\n48aN9rzk22+/7d2790cffeScBLLdUlJSpKj2PsmP+/R4TGp738fpm+1/rUtUVlbu2rXL1SmA\nhjp58mReXp6rUwBNDkPPfpcuXerVq5cQIikpqaKi4soD+vXrt3jxYmedrrCwUJKk2n/FN04A\no9H49ddf13PAwoULw8LCTpw4IcvywYMHQ0JCVq1aVc/xR48enTx5clRUlBBi2bJlDYxno+CK\n3W91J5Ik+fqdzi10ztQSAAA0LovF6sTvFhgYOHDgQCHE/v37R44cKV+xPFVMTIxt+uIUW7du\nDQ4OTkpKarQAmZmZEyZMiIuLW7BgwbWOOXny5FNPPfXkk0+2bdtWCNGxY8fhw4ePHj26sPCa\n86X27du/9tprEydOdDjYlRysO5FNpni9094hAADQOH7ef+zOYS+GdHww7OaH7v/n9OOn8p31\nnUeNGhUZGbl69epJkybV+ZIkSU68H85gMPTs2VOrrdvs4fQARqNx+fLlqampKSkpFotly5Yt\n33///bUOnj17dmVlZb9+/Wr29O3bt6ysbNGiRfWfJTramf1xCiZ2l/+PyLJ8vriVPuK+u253\nYg4AAKC2zGPZfYZN/L9fsqtCoioCw78xHLhjyAtFJeed8s3btWu3evVqf3//mTNnrlixwinf\n86pqbrBTL8DBgwfHjx8fFxe3aNGiMWPG5OXlzZ8/v3PnzvW8ZO3atUKI2sfccsstQoj169fX\nfy7n9mArrTsxWguyO8SGrnp/UlhIsBNzqIGVJ+Ad9Hq9TqdzdQqgyfHooXfJWFV6vuLK/56d\nvsSo8ZPCdJKfv+QXIEVEF5w3vjr306seXFlVrfS8qampS5cuFUKMGTNmx44dKvxkoqKiIiMj\n46oTu4YHMBqNH330UUpKiu37GwyG7du3P/LII4GBgfW/sKioKDc3NzQ0NCTktzK4iIgIIURG\nRobSGA2hoKDY1nUihDW0WWBwkAfUnbDyBLzDdf9AAaAGjx56z7++dMGKq18oknSxv9v2D1r4\n8fqFH1/l4Dcm/ePZf96v9NTDhw8/fvz4K6+8Mnjw4J9//jkhIcH+15aXl7/zzjtHjx7NzMxc\nsWJFfHx87c2OHTsKIXbs2KHRaLp37+70AEePHh08eHBmZmZqampmZqZer7c/ue1GutqzuppN\no9FYWVkZENBIEycFE7vLdSf6VruO5d//z+m71r0TFMhaKwAAuJ1bbm770J9Tr9z/3f/tuWD9\n3WMTsmxtEatLubXjlQcnto137OxTpkw5fvz4ihUrBg4cuH379mbNmtn5wscee2zcuHGTJ08e\nNmzYd999t2fPntqbtomdwWC49dZbg4KCnB6gQ4cO+/fvX7du3aJFi9q3bz9kyJCxY8faubhF\nVVWVEMLPz6/2TovFIoSQJOnK2wHVo+BMl58xkTRSRNThUzlrfvhx2MBeauUCAACOGj3s7tHD\n7r5y/5Q5H//r/a9EYJCQNEIIYbWIi+X/evXJRx74o3MDLFmy5PTp01u3bh0xYkR6ero9LzGb\nzatWrZo6daoQ4vPPPzebzSEhITWbNYdd6wa7hgcQQmi12kGDBg0aNOj06dMffPDBoEGDYmNj\nx44dO2LEiDpX4+qIjIwUQlRW/q7it7y8XAgRERHRmBM7h+pOhCT5+mWdOatGIAAAoJKXnhia\n+ocO1sJc+fw5ubTIejZn5H29/nr/nU4/kZ+fX3p6eocOHdasWWNnnUdpaWllZWXNkwR1Nm2q\nq6t//vlneyZ2DgSorVWrVtOnT8/Ozp4yZco333wTHx8/duzYPXv2XOv4hISE8PDwwsJCs9lc\ns9P2+Wz9j1w4nZKnYn9fdxIXG6lCHmdi5Ql4B+rvAZfwyqHn7+e7+fOZn73zzOMP9X565J/+\n8+Ery996RqWFuXQ63fr16yMjI2fPnl2nJSQrK2vKlCkTJkzo1q3bDz/8IITYuXPna6+9JoSY\nNWvWrFmz6mzWvHDXrl2VlZXJyckNDGAnrVY7ePDgDRs2ZGRkREdHDxgwoE+fPlc9UpKkAQMG\nWCyWQ4cO1ew8fPiwEMJWsNdoFFwb1Fx+42W5vLRlTJj7151YrdYLFy64OgXQUEaj8cqyTQBq\n89ahp9FIQwekDR1w/YteitiWPaiz09Y/0rdv37y8vJqdJpPpySef/Oqrr/z8/ObPn//ggw9m\nZWUlJye3adPm3XfffeGFF1q3bi2EqLNpYzAYOnXqdNWnle0P4ADbBbxXX31106ZN1zrm2Wef\n/fTTT9evX19ziW7jxo1RUVGjRo2qSfjtt98mJSW1aNGiIWHqp+CKncViFZVGa0H2DVFBX3pC\n3QkAAGgc586dO3fu3JX7a/pHamzevLmgoGDBggVvv/12YWFhjx497J911XODnf0BrsVsNlfW\ny2w233HHHdd6eVJS0quvvvruu++WlJQIIfbt27dq1aolS5aEh4fbDlixYkX//v0HDRpU54UX\nL14UQhiNRntCXpeyhydk2SpZrTFR4bqw+m4hBAAATcS+ffvWrVu3ePFiSZJ0Ot0999zTtWvX\n2gfY+kdqNk+dOhUZGTlhwgSlJ7JarTt37hw5cmQDA1zLo48++u9//7v+YyIjI686fbSZPHly\nTEzM/fffHxsbW1FRsW7dupSUlJqvJiYm6nS62o/ZFhUVrVixYvHixUKIuXPnXrp06W9/+5vt\nOQyHSfZfZ05LS9t++Kzmhj/J54tvToj88Zu3AgP8rv8y16mqqjpw4EC3bt1cHQRokKysrICA\ngObNm7s6CNC0MPRUsm7duqFDhx45ciQ+Pl4IUVBQUFFR0a5du4KCgubNm2dlZdk+e62zKYTI\nyMhISkrKzs5u2bKl6+K7OwUfxV6eAmo0UnjUgWM5a3/4Ua1QTsLKE/AOHl1/D3guhp5K7rzz\nzqioqL59+65cuXLjxo0TJ060Td1sz5OaTCbbYXU2hRAGg6FNmzbM6urnUN2JJEl+fifPFKiS\nyHlYeQLeITAw0N+fMnCgsTH0VBIUFLRhw4bY2NhRo0ZNnz590qRJWq02Pz//zTffFEK89957\nGRkZdTZtL7Szwa6JU/BRbEpq6s4jhZr2dwshrIW5H856/K8POL/5BgAA4ErDhg0bOnTo4MGD\nXR3ErSmvO5Fl+UJZXFTIvX9y97oTAADgNWqvP4FrUV53cvZMq3D/lQteDA+l7gQAAMCNKHt4\nQpatwmrp2umG9q1V7NZzFlaegHfwyvp7wP0x9OCJFEzstFofKTBYE9MyfdOevz0z1/37uFl5\nAt7BaDRWV1e7OgXQ5DD04ImU151otZIu5j9bdu89eFKtUAAAAFDOoboTjY/w8T1xOl+VRAAA\nAHCIgomdpJEu/0qWhcXcPIbaRgAA4BorV648eZIPD+tSMLH7re6krDjpxlY9/pCoVignYeUJ\neAfq7wGXYOi5M6vV+uijj+7atcvVQdyOgh47i8UqqozWs9kdb4j//L0XtFof9WI5BStPwDsE\nBga6OgLQFDH03NmBAwdKS0t79uzp6iBuR2HdidUqydbkbolxsVHqZQIAAKiHwWBo27ZtfHy8\nq4O4HQVX7Gx1JyKqxdKvtppMlg/nPK1eLAAAgGth3dhrUVx3Ivn6SxExy7/adCrnrGqpAACA\nB8jJyZkxY8aNN94oSZJer8/Ozq5zwKZNmyZOnOjn55eQkDBnzhxnPe6wffv21NRUFwa4lvT0\n9F69evXv379Pnz4bN2687vHl5eU6nU6q5ZdffmlQAtluyck9paj2PsmP+yQ/LrW593vDXvtf\n6xLV1dVHjhxxdQqgofLz88+dO+fqFECTw9Cz36VLl3r16iWESEpKqqiouPKAfv36LV682Fmn\nO3HihBDi8OHDjRzAaDR+/fXX9RywcOHCsLCwEydOyLJ88ODBkJCQVatW1f89X3311fbt2yf9\n6u9//3sDQzpUd2K1CqtVHx3RoBml+lh5At6B+nvAJbx46FWZLBnZxUfyy8wWq1O+YWBg4MCB\nA4UQ+/fvHzlypHzF2lQxMTFRUU67O99gMERHR3fo0KHRAmRmZk6YMCEuLm7BggXXOubkyZNP\nPfXUk08+2bZtWyFEx44dhw8fPnr06MLCwmu9pKys7Ouvv/7ll1/2/Wrp0qUOh7RxrO7kXHLX\nxJs7JDTw3AAAoJEt23o47onlf3hp5U3Pf9b+2U+/zaj72aXDRo0aFRkZuXr16kmTJtX5ku1D\nRmedyHaD3ZXf0OkBjEbj8uXLU1NTU1JSLBbLli1bvv/++2sdPHv27MrKyn79+tXs6du3b1lZ\n2aJFi671kjlz5iQlJRUUFCgNVg8FEzuLxSqqKq1nszu3jv74neec+A4BAIBG8F3GmX8u2dIl\nLuhvPeMeSW4R20zzwNvfHcwpcco3b9eu3erVq/39/WfOnLlixQqnfM+rutaTE04McPDgwfHj\nx8fFxS1atGjMmDF5eXnz58/v3LlzPS9Zu3atEKL2MbfccosQYv369Vc9vqSkZN68eStWrGjd\nunX37t3XrFnTkMA1FDwVa5Vl2WrRSlLvHl2ax7j757AAADRZh/PKckoqrtz/3Gc7u8SH3BAd\nKITQSFLnuGbFFaZnP93xTP9brjy4vT6sVVSIovOmpqYuXbp0xIgRY8aMueGGG9TomSsqKjp2\n7Ni1HoltYACj0bhy5crFixcfOnTo4YcfNhgMN998s52pcnNzQ0NDQ0J++z8WEREhhMjIyLjq\nSwoKCp577rmcnJzNmzfv2rXrvvvue+yxx+bPn9/AC2cKJna+Wh8pMNgaETPv4w2ykN95dWxD\nTtwIWHkC3kGv12s0Ci6uA3AKjx568zf+suCHA1f90t0df3erWUyo37cZZ77NOHPlkbP/kvzs\nn68y4avf8OHDjx8//sorrwwePPjnn39OSFBw41Z5efk777xz9OjRzMzMFStWxMfH197s2LGj\nEGLr1q3BwcFJSUlOD3D06NHBgwdnZmampqZmZmbq9Xr7k9tupKs9q6vZNBqNlZWVAQEBdV7S\nsWNH208khFi5cuW4cePee++91q1bP/vss/af90oKJna2WxElvwAREfPe8nUvPTE0JjK8IedW\nGytPwDtQfw+4hEcPvfu6tU6IbHbl/vnf/3KhyiyEf82ecqO5S0Lk8OSrXAfpdWMLx84+ZcqU\n48ePr1ixYuDAgdu3b2/W7CpJruqxxx4bN27c5MmThw0b9t133+3Zs6f2pm0aZDAYevbsqdXW\nN4FxLECHDh3279+/bt26RYsWtW/ffsiQIWPHjr3tttvseW1VVZUQws/Pr/ZOi8UihJAkqf60\nQoghQ4bceOONycnJM2fOfOqpp3x8HF/cS8lHsdbLz5hIvn5WIY6fynfziR0AAE3TXZ1b3tW5\n5ZX7dc38n1y+TR/qpwv2FULklVUeLrj47Qt9/nizk5dwWLJkyenTp7du3TpixFUDdJMAACAA\nSURBVIj09HR7XmI2m1etWjV16lQhxOeff242m0NCQmo2aw4zGAyDBw9WI4AQQqvVDho0aNCg\nQadPn/7ggw8GDRoUGxs7duzYESNG1LkaV0dkZKQQorKysvbO8vJyIURERMR1J3ZCiC5duowf\nP37GjBmnT5+2PVfrGIfrTmRmdQAAeJYxfTqOvfPm1fsL0/cVfrWncPPR82/8JdnpszohhJ+f\nX3p6eocOHdasWTNx4kR7XlJaWlpZWVnz8XedTZuKioqMjAx71pxwIEBtrVq1mj59enZ29pQp\nU7755pv4+PixY8fu2bPnWscnJCSEh4cXFhaazeaanbbPZ+t/5KK2Pn36CCGCgoKUpq3NobqT\n8+d63dapXevmDTkxAABofG8/nHLojb/MGZG24O+9j775l6fuuebNag2k0+nWr18fGRk5e/bs\nOi0hWVlZU6ZMmTBhQrdu3X744QchxM6dO1977TUhxKxZs2bNmlVns+aF27dv12g03bt3b2AA\nO2m12sGDB2/YsCEjIyM6OnrAgAG2udeVJEkaMGCAxWI5dOhQzc7Dhw8LIWwFe/YoKyvr1KmT\nonv7rsL+LuPk5J5SSEupzb1Jdz92Orewgc3IjYCVJ+AdqL8HXIKhp8gbb7zx+uuvX7nfYDD4\n+/sLIdLT0217qqurBwwYUFVVJcvyvHnzwsLCSkpKZFnOz88XQmRlZdkOq7Np89JLL/Xs2bOB\nARxmMpm+++67a3113759Go1mxowZNXtGjx4dFRVVWlpq27Rarf/5z39yc3Ntm9XV1SaTqeZg\ns9mclpa2du3aBoZUcMXOVnfiq5Hu6tU1NsoDPodl5Ql4By+uvwfcGUNPkXPnzp07d+7K/bb+\nkdp7Nm/eXFBQsGDBgrfffruwsLBHjx55eXl2nuVaDXaKAlyL2WyurJfZbL7jjjuu9fKkpKRX\nX3313XffLSkpEULs27dv1apVS5YsCQ+/PGVasWJF//79Bw0aZNu85ZZbWrZs+f777584cWLz\n5s333nvv8OHDBwwYYE/UeiisOwkINodHv/nvtWazZe6UMQ08NwAA8HT79u1bt27d4sWLJUnS\n6XT33HNP165dax9g6x+p2Tx16lRkZOSECROUnqi6unrXrl3PP/98AwNcy6OPPvrvf/+7/mMi\nIyOvOn20mTx5ckxMzP333x8bG1tRUbFu3bqUlJSaryYmJup0uprHbJ944okZM2aMHz8+Jiam\nb9++c+fOTUxMvG7I65LkK9ZTu5bU1LQdR85q2t8tm6o1Jfl5P6+I1oU1PIF6qqqqDhw40K1b\nN1cHARokKysrICCgeXPuagUaFUNPJevWrRs6dOiRI0fi4+OFEAUFBRUVFe3atSsoKGjevHlW\nVlbr1q1t+2tvCiF27NiRlpZWVFSk0+lcF9/dKfko1np5qWDJ188iy8ey7L1wCgAAYHPnnXdG\nRUX17dt35cqVGzdunDhxom3qZnue1GQy2Q6rsymEMBgMnTp1YlZXP8frTtz8cp1g5Ql4C71e\nzx9kQONj6KkkKChow4YNsbGxo0aNmj59+qRJk7RabX5+/ptvvimEeO+99zIyMups2l5oMBhS\nU1NdGd0TKPgoNi0tbfvhs5p2d8mlRSmdW2398g1VkwEAANSYOnXq3Xff3aNHD1cHcWsKJnY9\nU1L+98sZEd21Y9sW6z98tVVcjKrJAAAAoIiie+xk2Wrx10qD7urRIpar0wAAAO5FwcTOVndS\n3Szy9UVfT35zhXqZAAAA4AAFEztZFkISkn+gFBEz54P04lJ37/41mUxHjx51dQqgoQoKCoqL\ni12dAmhyGHrwRI7VnfhbrPLRrFx1IjkNK0/AO1B/D7gEQw+eSEndiVRTd2IRshwVEapKIgAA\nADhEwcROc7nHTpbPlyR3vbF9mxYqZQIAAKjfK6+88uOPP7o6hdtRMLGzWK2iqtJacKa9PmzF\n28+qlwkAAKAeVVVVs2fPLioqcnUQt6O1/1Cr1SpbLcH+vsMH905oEa1eJmdh5Ql4B71er9Eo\n+DcYAKdg6Lmz3bt3V1VV9ezZ09VB3I6CiZ2vVisFBBkDw1595wurxfrqUyPUi+UUGo0mNJQb\nAeHxAgMDXR0BaIoYeu6MdWOvRWndiSQFBEnh0TPe+7Ks/KJ6sQAAgPvLycmZMWPGjTfeKEmS\nXq/Pzs6uc8CmTZsmTpzo5+eXkJAwZ86ckydPOuW8BoMhLS3NhQFqS09P79WrV//+/fv06bNx\n48brHl9eXq7T6aRafvnlF2eFUbKkWM+U/x0r0rS/WwhhzT/10zdzb+3CB50AADR1RqOxX79+\nW7duTUpK2r59e3BwcJ0D7rnnnvvvv3/MmDFOOZ3Vao2Ojl6wYMHQoUNdEqC2999/f+LEiXv2\n7Gnbtm1mZmaPHj2WLVv2wAMP1POSqVOnfvLJJ0FBQbbNrl27Ll261Fl5HKs7sQpZ1oWHOCsE\nAADwXIGBgQMHDhRC7N+/f+TIkVdeM4qJiYmKinLW6Q4cOFBSUpKSkuLEACtXrnSgj/rkyZNP\nPfXUk08+2bZtWyFEx44dhw8fPnr06MLCwmu9pKys7Ouvv/7ll1/2/cqJszrhYN1JeXHPbje1\nTdA7MYcaWHkC3oH6e8AlvHjoVVSazhRX5JZcNFabnfhtR40aFRkZuXr16kmTJtX5ku0DR2ed\nyGAwtG3bNj4+3okB3njjjfj4+L///e+7d++2P8ns2bMrKyv79etXs6dv375lZWWLFi261kvm\nzJmTlJRUUFBg/1kUUbjyRHWV9Wxu2+iQ5W89o1IgJ2LlCXgH6u8Bl/DWoXfgTMn/ZeYfyi09\nkFOyOTPv5NlyZ33ndu3arV692t/ff+bMmStWqLimfM0Ndk4M8PTTTycmJn744Ye33nprcnLy\nJ598Ys+7v3btWiFE586da/bccsstQoj169df9fiSkpJ58+atWLGidevW3bt3X7NmjaKQ9lDW\nYydbzOHB/k/+4173v1wHAADqOH3uwplzFfrwQH14UPPwoOiQgEN5pecuVDrr+6empto+WBwz\nZsyOHTuc9W3r2L59e2pqqnMDDB8+fN++fdu3bx8xYsTevXtHjhyZkJAwefLk3NxrLqBaVFSU\nm5sbGhoaEvLbzWkRERFCiIyMjKu+pKCg4Lnnnhs7dmyHDh127dp13333Pf744/Y/7WAPBRM7\nW93JeU3g+KkfLPz4P04MAQAAnKio3HjibPmV/x3LPx8a5Oervfy3v7+vT0iAX2ZOyVUPLrtY\n5cCphw8fPnXq1KqqqsGDB1/5jGrDnTx5Micn56pX7BoeoGfPnh9//HFOTs6sWbOCg4OnT5/e\nunXrIUOGHDp06MqDbTfS1Z7V1WwajcbKyqtMlzt27Pjyyy+///77R44c+eKLL3Q63XvvvTdn\nzhxFIeunsHpRkqSgZlJY1Muzl5vMzvxgHgAAOMvZ88ZDuaVX/ldpsmh9fvdXv4+PVG40XfXg\n4gpHJnZCiClTpjz88MOFhYUDBw6sqKiw/4Xl5eXTpk17+OGHu3XrlpmZWWfTdozBYIiOju7Q\noYMaAWyioqKef/75Y8eOffzxx/7+/l9++eVVP1qtqqoSQvj5+dXeabFYhBCSJGm116kKHjJk\nyObNm4OCgmbOnGl7lVMoKCi2WKy2X0gBgaX5hXlnS1rFxTgrhxpYeQLegfp7wCU8eui1jg7R\nhwdduT8zp7TabAn086nZU22yxIQGto29Sp9/sL+CSUIdS5YsOX369NatW0eMGJGenm7nqx57\n7LFx48ZNnjx52LBh33333Z49e2pvduzYUfx6g911H8VwLECN3bt3L1iw4LPPPjMajc2bN699\nF12NyMhIIUSdK3Pl5eVCiIiIiOtO7IQQXbp0GT9+/IwZM06fPm17rrbhFLxntepOLBqNFBZS\ntyTG3bDyBLwD9feAS3j00GsW4NsswPfK/TfFRfx04qyvjybQ30fI0oVKU6XJcusNMSFXO7gh\n/Pz80tPTk5OT16xZM3HiRHteYjabV61aNXXqVCHE559/bjabQ0JCajZrDjMYDOPGjVMjgBCi\nsrJy5cqVCxYs+PHHH4UQt91225NPPjlkyBBf36v8/0lISAgPDy8sLDSbzTXTONvns1edCF5V\nnz59ZsyYUdNp13DK605kWT5f0r9P9/BQd5/YAQCA2qJDA5JaRZUbq88UX8wprqg2WW5tG+30\nWZ2NTqdbv359ZGTk7Nmzv//+++seX1paWllZWXOVtM6mTVFR0bFjx+q5wc7hAFlZWS+88EJ8\nfPwjjzyyZ8+ev/zlLzt37vzxxx9HjBhx1VmdEEKSpAEDBlgsltp34B0+fFgIYSvVs0dZWVmn\nTp30eqc9k6rgit3lupPCnJvaNF888wlnJQAAAI0mXhccFxFUUWnWaESQn6+z2uVkWb7y6U5b\n/0jfvn3z8vJq78/Kylq2bFl5ebnBYJg1a1bfvn137tz56aefCiFmzZrVunXrXr161d584YUX\nbC/cunVrcHBwUlJSAwNc6aGHHtq9e3dsbOzkyZPHjRvXvHlze37qZ5999tNPP12/fn3NJbqN\nGzdGRUWNGjWqJtW3336blJTUokULIYTJZKp9+53FYpk/f/6MGTPsOZe9ZLvd3qOHCG4R03X4\n4s822P8qAADg9Z5//vmnn376ql/65JNPhBDp6em2zerq6gEDBlRVVcmyPG/evLCwsJKSElmW\n8/PzhRBZWVm2w+ps2owfP/6uu+5qYICr+uc///nRRx/ZUiny2muvxcXFFRcXy7K8d+/e8PDw\n1atX13z1o48+EkJ0797dttmxY0e9Xr9w4cLjx49v2rSpf//+CxcuVHrG+im4YmerOzln8R07\naYFG0owaepczJ5gqMJlMWVlZ9T84A7i/goICX19f2126ABoNQ89O+/btW7du3eLFiyVJ0ul0\n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\ndgAAAF7i/wO+L9IevYLYVgAAAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ratios_cp <- neff_ratio(fit)\n", "mcmc_neff(ratios_cp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yuk! Most of the effective sample sizes are extremely low. Before we go on, we should try to change our model, since often badly setup models cause unpleasant posterior analytics. In the case that Stan doesn't like non-parametrics (the truncated stick-breaking), we could test the same model and fix the number of clusters." ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "data {\n", "\tint K;\n", "\tint n;\n", "\tint p;\t\n", "\tint x[n, p];\n", "\tvector[K] alpha;\n", "}\n", "\n", "parameters { \t\n", " ordered[p] rates[K];\t\n", " simplex[K] pi;\n", "}\n", "\n", "transformed parameters { \n", " vector[p] prob[K];\n", "\n", " for (k in 1:K) \n", " {\n", " \tfor (ps in 1:p) \n", " \t{\n", " \t\tprob[k, ps] = inv_logit(rates[k, ps]); \n", " \t}\n", " } \n", "}\n", "\n", "model {\n", " \treal mix[K]; \t\n", " pi ~ dirichlet(alpha);\n", " \n", " \tfor(i in 1:n) \n", " \t{\n", "\t\tfor(k in 1:K) \n", "\t\t{\n", "\t\t\tmix[k] = log(pi[k]);\n", "\t\t\tfor (ps in 1:p)\n", "\t\t\t{\n", "\t\t\t\tmix[k] += bernoulli_lpmf(x[i, ps] | prob[k, ps]);\n", "\t\t\t}\n", "\t\t}\n", "\t\ttarget += log_sum_exp(mix);\n", " \t}\n", "}\n" ] } ], "source": [ "stan.file <- \"_models/binary_mixture.stan\"\n", "cat(readLines(stan.file), sep=\"\\n\")" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "SAMPLING FOR MODEL 'binary_mixture' NOW (CHAIN 1).\n", "Chain 1: \n", "Chain 1: Gradient evaluation took 0.000325 seconds\n", "Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 3.25 seconds.\n", "Chain 1: Adjust your expectations accordingly!\n", "Chain 1: \n", "Chain 1: \n", "Chain 1: Iteration: 1 / 10000 [ 0%] (Warmup)\n", "Chain 1: Iteration: 1000 / 10000 [ 10%] (Warmup)\n", "Chain 1: Iteration: 1001 / 10000 [ 10%] (Sampling)\n", "Chain 1: Iteration: 2000 / 10000 [ 20%] (Sampling)\n", "Chain 1: Iteration: 3000 / 10000 [ 30%] (Sampling)\n", "Chain 1: Iteration: 4000 / 10000 [ 40%] (Sampling)\n", "Chain 1: Iteration: 5000 / 10000 [ 50%] (Sampling)\n", "Chain 1: Iteration: 6000 / 10000 [ 60%] (Sampling)\n", "Chain 1: Iteration: 7000 / 10000 [ 70%] (Sampling)\n", "Chain 1: Iteration: 8000 / 10000 [ 80%] (Sampling)\n", "Chain 1: Iteration: 9000 / 10000 [ 90%] (Sampling)\n", "Chain 1: Iteration: 10000 / 10000 [100%] (Sampling)\n", "Chain 1: \n", "Chain 1: Elapsed Time: 46.5187 seconds (Warm-up)\n", "Chain 1: 785.536 seconds (Sampling)\n", "Chain 1: 832.055 seconds (Total)\n", "Chain 1: \n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Warning message:\n", "“There were 8673 divergent transitions after warmup. Increasing adapt_delta above 0.99 may help. See\n", "http://mc-stan.org/misc/warnings.html#divergent-transitions-after-warmup”Warning message:\n", "“There were 235 transitions after warmup that exceeded the maximum treedepth. Increase max_treedepth above 10. See\n", "http://mc-stan.org/misc/warnings.html#maximum-treedepth-exceeded”Warning message:\n", "“Examine the pairs() plot to diagnose sampling problems\n", "”" ] } ], "source": [ "fit_fixed_K <- stan(stan.file, data = list(K=K, n=n, x=X, p=p, alpha=rep(1.0, K)), \n", " iter = 10000, warmup = 1000, chains = 1, control = list(adapt_delta = 0.99))" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Inference for Stan model: binary_mixture.\n", "1 chains, each with iter=10000; warmup=1000; thin=1; \n", "post-warmup draws per chain=9000, total post-warmup draws=9000.\n", "\n", " mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff\n", "rates[1,1] -290.13 106.55 183.54 -500.22 -444.41 -357.05 -73.30 18.60 3\n", "rates[1,2] -192.72 72.04 150.88 -441.52 -320.67 -208.29 -43.91 28.82 4\n", "rates[1,3] -90.81 38.02 106.25 -335.29 -161.16 -64.79 -7.99 35.86 8\n", "rates[2,1] -204.38 96.89 151.38 -402.90 -343.11 -277.98 -33.23 21.32 2\n", "rates[2,2] -129.93 65.80 121.15 -358.00 -233.50 -122.27 -18.63 31.11 3\n", "rates[2,3] -65.22 37.07 88.97 -285.94 -113.61 -41.04 6.48 35.32 6\n", "rates[3,1] 10.36 1.64 5.79 2.10 5.98 9.87 13.62 24.47 12\n", "rates[3,2] 19.11 0.69 7.34 6.44 13.60 18.37 24.49 34.07 113\n", "rates[3,3] 27.16 0.59 7.11 10.31 22.51 28.53 33.10 36.34 146\n", "rates[4,1] -0.28 0.02 0.26 -0.82 -0.45 -0.27 -0.09 0.19 128\n", "rates[4,2] -0.04 0.02 0.25 -0.53 -0.21 -0.04 0.12 0.44 173\n", "rates[4,3] 0.04 0.02 0.25 -0.46 -0.13 0.04 0.21 0.52 169\n", "rates[5,1] -317.91 142.92 229.78 -702.01 -522.26 -209.27 -99.68 -37.97 3\n", "rates[5,2] -217.58 97.06 181.71 -607.87 -376.39 -137.15 -64.00 -17.91 4\n", "rates[5,3] -108.69 51.76 126.31 -442.64 -166.99 -51.82 -19.75 8.30 6\n", "pi[1] 0.09 0.00 0.06 0.00 0.04 0.08 0.13 0.23 225\n", "pi[2] 0.08 0.01 0.06 0.00 0.03 0.07 0.12 0.23 117\n", "pi[3] 0.22 0.02 0.07 0.03 0.19 0.23 0.27 0.32 9\n", "pi[4] 0.49 0.00 0.05 0.40 0.46 0.49 0.52 0.59 490\n", "pi[5] 0.12 0.03 0.08 0.00 0.04 0.10 0.18 0.29 9\n", "prob[1,1] 0.17 0.15 0.36 0.00 0.00 0.00 0.00 1.00 6\n", "prob[1,2] 0.19 0.17 0.39 0.00 0.00 0.00 0.00 1.00 5\n", "prob[1,3] 0.20 0.17 0.40 0.00 0.00 0.00 0.00 1.00 5\n", "prob[2,1] 0.21 0.19 0.40 0.00 0.00 0.00 0.00 1.00 5\n", "prob[2,2] 0.24 0.20 0.42 0.00 0.00 0.00 0.00 1.00 4\n", "prob[2,3] 0.26 0.20 0.43 0.00 0.00 0.00 1.00 1.00 5\n", "prob[3,1] 0.99 0.00 0.04 0.89 1.00 1.00 1.00 1.00 63\n", "prob[3,2] 1.00 0.00 0.00 1.00 1.00 1.00 1.00 1.00 1042\n", "prob[3,3] 1.00 0.00 0.00 1.00 1.00 1.00 1.00 1.00 420\n", "prob[4,1] 0.43 0.01 0.06 0.31 0.39 0.43 0.48 0.55 129\n", "prob[4,2] 0.49 0.00 0.06 0.37 0.45 0.49 0.53 0.61 173\n", "prob[4,3] 0.51 0.00 0.06 0.39 0.47 0.51 0.55 0.63 169\n", "prob[5,1] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1868\n", "prob[5,2] 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 559\n", "prob[5,3] 0.03 0.02 0.18 0.00 0.00 0.00 0.00 1.00 60\n", "lp__ -346.05 3.57 6.83 -359.50 -351.98 -344.82 -340.44 -335.84 4\n", " Rhat\n", "rates[1,1] 1.93\n", "rates[1,2] 1.50\n", "rates[1,3] 1.29\n", "rates[2,1] 2.94\n", "rates[2,2] 1.84\n", "rates[2,3] 1.45\n", "rates[3,1] 1.07\n", "rates[3,2] 1.00\n", "rates[3,3] 1.01\n", "rates[4,1] 1.02\n", "rates[4,2] 1.02\n", "rates[4,3] 1.02\n", "rates[5,1] 3.57\n", "rates[5,2] 2.15\n", "rates[5,3] 1.52\n", "pi[1] 1.00\n", "pi[2] 1.03\n", "pi[3] 1.16\n", "pi[4] 1.00\n", "pi[5] 1.02\n", "prob[1,1] 1.24\n", "prob[1,2] 1.26\n", "prob[1,3] 1.26\n", "prob[2,1] 1.32\n", "prob[2,2] 1.36\n", "prob[2,3] 1.32\n", "prob[3,1] 1.04\n", "prob[3,2] 1.00\n", "prob[3,3] 1.00\n", "prob[4,1] 1.02\n", "prob[4,2] 1.02\n", "prob[4,3] 1.02\n", "prob[5,1] 1.00\n", "prob[5,2] 1.00\n", "prob[5,3] 1.04\n", "lp__ 1.90\n", "\n", "Samples were drawn using NUTS(diag_e) at Fri Mar 1 13:05:12 2019.\n", "For each parameter, n_eff is a crude measure of effective sample size,\n", "and Rhat is the potential scale reduction factor on split chains (at \n", "convergence, Rhat=1)." ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fit_fixed_K" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That didn't seem to help at all. So the problem is apparently stemming from the multivariate Bernoulli, which makes somewhat sense, since binary data isn't very talkative in the first place, so making informed inferences on these data sets is difficult. For binary data, collapsing the parameters and only using latent class assignments seems to be preferrable. Thus, the next notebook will be on efficient inference of class assignments using [particle MCMC](particle_mcmc.ipynb)." ] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.5.1" } }, "nbformat": 4, "nbformat_minor": 2 }