{ "cells": [ { "cell_type": "markdown", "id": "99923d6e", "metadata": {}, "source": [ "# Practice: Chp. 14" ] }, { "cell_type": "code", "execution_count": 1, "id": "b6c1590a", "metadata": {}, "outputs": [], "source": [ "source(\"iplot.R\")\n", "suppressPackageStartupMessages(library(rethinking))" ] }, { "cell_type": "markdown", "id": "a4c823f9", "metadata": {}, "source": [ "**14E1.** Add to the following model varying slopes on the predictor *x*.\n", "\n", "$$\n", "\\begin{align}\n", "y_i & \\sim Normal(\\mu_i, \\sigma) \\\\\n", "\\mu_i & = \\alpha_{GROUP[i]} + \\beta x_i \\\\\n", "\\alpha_{GROUP} & \\sim Normal(\\alpha, \\sigma_{\\alpha}) \\\\\n", "\\alpha & \\sim Normal(0, 10) \\\\\n", "\\beta & \\sim Normal(0, 1) \\\\\n", "\\sigma & \\sim Exponential(1) \\\\\n", "\\sigma_{\\alpha} & \\sim Exponential(1)\n", "\\end{align}\n", "$$\n", "\n", "**Answer.** See section **14.1.3**. Notice the distinction of $i$ and $j$ indexes.\n", "\n", "$$\n", "\\begin{align}\n", "y_i & \\sim Normal(\\mu_i, \\sigma) \\\\\n", "\\mu_i & = \\alpha_{GROUP[j]} + \\beta_{GROUP[j]} x_i \\\\\n", "\\begin{bmatrix}\n", "\\alpha_{GROUP} \\\\\n", "\\beta_{GROUP}\n", "\\end{bmatrix}\n", "& \\sim\n", "MVNormal(\n", "\\begin{bmatrix}\n", "\\alpha \\\\\n", "\\beta\n", "\\end{bmatrix}\n", ", \\mathbf{S}) \\\\\n", "\\alpha & \\sim Normal(0, 10) \\\\\n", "\\beta & \\sim Normal(0, 1) \\\\\n", "\\mathbf{S} & =\n", "\\begin{pmatrix}\n", "\\sigma_{\\alpha} & 0 \\\\\n", "0 & \\sigma_{\\beta}\n", "\\end{pmatrix}\n", "\\mathbf{R}\n", "\\begin{pmatrix}\n", "\\sigma_{\\alpha} & 0 \\\\\n", "0 & \\sigma_{\\beta}\n", "\\end{pmatrix} \\\\\n", "\\sigma_{\\alpha} & \\sim Exponential(1) \\\\\n", "\\sigma_{\\beta} & \\sim Exponential(1)\n", "\\end{align}\n", "$$\n", "\n", "**14E2.** Think up a context in which varying intercepts will be positively correlated with varying\n", "slopes. Provide a mechanistic explanation for the correlation.\n", "\n", "**Answer.** If you believe that education leads to greater wealth, then in the prediction of wealth\n", "based on parent's wealth. If you come from family with a lot of money you'll start off with a lot of\n", "money (the intercept), and because wealth builds on wealth the addition of education will help more\n", "than for someone who doesn't have as many resources to work with to start (the slope). You could\n", "replace education with ambition or something else along that theme, as well.\n", "\n", "We could also adapt the cafe example to use an `M` indicator (for morning) rather than an `A`\n", "indicator for afternoon. The intercepts would have to become the afternoon wait. Long afternoon\n", "waits are correlated with even longer morning waits.\n", "\n", "**14E3.** When is it possible for a varying slopes model to have fewer effective parameters (as\n", "estimated by WAIC or PSIS) than the corresponding model with fixed (unpooled) slopes? Explain.\n", "\n", "**Answer.** When there is some relationship between the intercepts and slopes that helps the model\n", "regularize itself. That is, if there is some correlation between intercepts and slopes, the model\n", "should be able to detect this and effectively learn to predict intercepts from slopes, and vice\n", "versa. This is similar to how in an intercepts-only multilevel model knowing some intercepts should\n", "help the model predict other intercepts; the known intercepts are a regularizing prior for new\n", "intercepts.\n", "\n", "**14M1.** Repeat the café robot simulation from the beginning of the chapter. This time, set `rho`\n", "to zero, so that there is no correlation between intercepts and slopes. How does the posterior\n", "distribution of the correlation reflect this change in the underlying simulation?\n", "\n", "**Answer.** Rerun the simulation:" ] }, { "cell_type": "code", "execution_count": 2, "id": "0eca95ae", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\n", "Attaching package: ‘ellipse’\n", "\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "The following object is masked from ‘package:rethinking’:\n", "\n", " pairs\n", "\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "The following object is masked from ‘package:graphics’:\n", "\n", " pairs\n", "\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDgAAAMACAIAAABO/ECWAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzdd3gc9Z0/8O9s771oV1pJVrEk4wMn2KYYDgIXkmAwph/hQoJDO3AoCTy5\nJDjEJEBI4AkJEM6AqQnFxITyM4QEQjHGwTiUuMhIVpd2tb232TK/P77x3EaSZdkqs7t6v/7Q\nM5qd3f3s7Go17/mWYTiOIwAAAAAAAOVEJHQBAAAAAAAAYyGoAAAAAABA2UFQAQAAAACAsoOg\nAgAAAAAAZQdBBQAAAAAAyg6CCgAAAAAAlB0EFQAAAAAAKDsIKgAAAAAAUHYQVAAAAAAAoOwg\nqAAAAAAAQNlBUAEAAAAAgLKDoAIAAAAAAGUHQQUAAAAAAMoOggoAAAAAAJQdBBUAAAAAACg7\nCCoAAAAAAFB2EFQAAAAAAKDsIKgAAAAAAEDZQVABAAAAAICyg6ACAAAAAABlB0EFAAAAAADK\nDoIKAAAAAACUHQQVAAAAAAAoOwgqAAAAAABQdhBUAAAAAACg7CCoAAAAAABA2UFQAQAAAACA\nsoOgAgAAAAAAZQdBBQAAAAAAyg6CCgAAAAAAlB0EFQAAAAAAKDsIKgAAAAAAUHYQVAAAAAAA\noOwgqAAAAAAAQNlBUAEAAAAAgLKDoAIAAAAAAGUHQQUAAAAAAMoOggoAAAAAAJQdBBUAAAAA\nACg7CCoAUKb+8Ic/MAzDMIxCoRC6lup3+eWX0719ySWXCFLASy+9RAuQSCSCFDDejJck+Ed6\nNgqYyxd18cUX0+e66qqrZvu5AKAcIKgAwNx59NFHmUM5/vjjhS5zVuzZs2fZsmX0NdbV1U2+\ncTgcrqmp4fdJPp8/5OP/5S9/Wb16dU1NjVQq1ev1xx133N13351MJqdS20cfffTkk08SQjQa\nza9+9aup3AVg7t13331qtZoQsnHjxr///e9ClwMAs65cTlwBAIyxZMkSetBcPqfYj0yhUPjF\nL37xk5/8hGXZKd7l5ptv9nq9U3+KH/7wh3fddRf/aywW27Fjx44dO5544ol3333XZrNNfvcb\nbriB4zhCyHe/+92ampqpP2/58Hq9tbW1hUKhs7Ozvb1d6HImVukf6Ql38ly+KIfDccMNN9x5\n553FYvH666/ftm3bbD8jAAirIr8rAaAKnHnmmVKpdPz6trY2utDS0nLjjTfObVEzr7+//8IL\nL9y5cychRCQSFYvFQ97lnXfeeeyxx6b+FK+//jqfUlwu19KlS3t7ez/77DNCyL59+26++ean\nnnpqkrt/+OGH27dvJ4RIpdLrrrtu6s9bVjZt2lQoFISu4hAq/SM94U6e4xe1du3aX/ziF/l8\n/oMPPvjoo4+WLVs2Z08NAHMPQQUAhPH73//eYDAIXcWse//992lK+fa3v93R0XHzzTdPvn0m\nk6H97xsbG/v7+6fyFA8//DBdWLp06datW+lQgf/+7//+3//9X0LI5s2bH3vssUnOdm/YsIEu\nnHPOOYdseylbzz//vNAlVL9y2MkOh2PlypUvv/wyIeSRRx5BUAGobhijAgBlapJBuo8//vjS\npUvVarXZbD7rrLN27tzZ19fHj+jIZDJ0s1tvvXXCcS8TDpJ+7LHH6MpTTjkln8/fcMMNVqvV\nbrfzG3z++efXXHNNa2urQqHQ6XTLli37zW9+M5XRI83NzX/9618fffRRvV5/yI1vv/327u5u\nQshPfvKTQ25MjYyMNDc3Nzc3f/e73+X31UUXXUQXUqmU3+8/2H1ZluWPPi+//HJ+/WHtuo0b\nN9KVRx11FCFk06ZNJ510kl6v1+l0X/7ylz/44IPxz/vEE0/Qd9BkMq1cuXLnzp0Mw0xYIcdx\nzz333Fe+8hWbzSaVSnU63XHHHXf//ffzp/bPOusshmH4XkAdHR0Mw5Se45/iGzf1kiaUz+cf\nfvjh//iP/6B12my2ZcuW3XXXXYFAgN9mwo80/8H793//d7rNF77wBZVK1djYeOutt+ZyOUJI\nZ2fnqlWrjEajRqM544wz9uzZw9/9sN6pg5nOTp7k7zQWi915553HH3+8yWSSyWR2u/0rX/nK\n448/PqZZZswe2Lp165e//GX6Yk8++eQ333xzzMPyH9TnnntuKn+AAFDBOACAufLII4/wXz7h\ncHjyjV944QW6pVwuL11/0003jfkek8vlDz744PivtR/96Ed0zXHHHVf6CH/84x/perFYzK98\n5pln6Mqjjz763nvvHbPB5s2bJ5zU6LTTTkun05O8iv7+/lQqNebl19bWTrjxP/7xD9od7r/+\n67/6+vr4Z8nlcpPvq/H4vUcISSQSB9vsww8/pNswDBOJRPj1h7Xrfve739GVTqfzl7/85Zhd\nJJFI3njjjdIH+d73vjf+Hbz11lvHPzLHcZdeeun43U4IOeuss4rFIsdxK1euHH8rHXXDTfmN\nO6ySxmNZ9tRTT52wzqampv379495U0o/0s899xxduXjx4k2bNo1JR9ddd11vb6/FYildabVa\n+TfrsN6pg/1NTWcnH+wxP/3009ra2gkf9oQTTggEAhPugTfeeEMmk5VuLBaL33zzzdJHDgaD\n/K07d+6c/K0BgIqGoAIAc2f6QWXHjh38IyxZsuSRRx55+umnTzzxRI1GM/6w7MiO4RobG10u\nl1QqXbJkSVtbG8dxvb29SqWS3nrLLbd8/vnnH3300SmnnELX/OAHPzjclz9hUCkUCsuXLyeE\n2Gy2QCAwnaDCsuzSpUvpfZcvXz7Jlr/+9a/pZosWLSpdf1i7jm+Tkcvlcrn8m9/85rPPPnvn\nnXfyb0pDQwPLsnRjPhoRQk477bQXX3zxlVde+epXv8qf+C995FdffZWuFIlEv/3tb3ft2rVx\n40Z+y02bNnEct2fPHtoRiPr973+/devW3t5ebspv3GGVNKGHHnqIbtne3v7ss89+8MEHf/rT\nn84//3y68pRTTqGbTfiR5lc6HI66urpVq1atXbuWb3yTy+Vf+9rXnE7nDTfccNxxx/F1/upX\nvzqCd2rCAqa5kyd8zFAoxKeUBQsWPPTQQy+99NL3v/99/mFXrlw54R5obGxcsmTJD37wgzPO\nOIN/uvGf4dbWVnrT/fffP/lbAwAVDUEFAObO9IMKf/0Eg8HAn5RNpVINDQ3jD8uO7BiOENLa\n2jo0NMTftHbtWrr+1FNP5Vf6/X56IK7VaidvVBn/8icMKvfdd1/poeERB5VcLnfxxRfz9331\n1Vcn2fjKK6+km1166aWl6494161Zs4Zfz58pJ4TwjSr8M1qtVr6pJ5fL8bNIlT7yAw88sHLl\nypUrV/ItJBzHrVq1im552WWX0TUej4d/os7OTn7LKb5xh1XShL71rW/RLe+9915+Jcuyl1xy\nydq1a3/+858XCgXuUEGFEHLhhRfSlZs3b+ZXKhSKnp4ejuOy2Sw/1cTZZ589nXeqtIBp7uQJ\nH3P9+vV0pU6nGxkZ4dc//fTT/IPwjSGle+Dkk0/m/5r4dh6RSMQHXYrv2XjVVVdN/tYAQEXD\nYHoAEMall1464axfF1100de//vWD3ev999+nC2effbbZbKbLSqXysssu++lPfzpTta1fv770\nUievv/46XVixYgU/AEaj0Xzxi19877334vH4tm3bTj/99Ok84+DgIO1odN5551144YVH/DjJ\nZPKiiy567bXX6K833njjWWedNcn2oVCILozpXHTErr/+en75/PPP12q18XicELJ9+3Z6jrz0\nHaTXxCCESCSSSy+9dN26dWMe7brrrhs/ERkfSkdHRycvZopv3GGVNCGdTkcXfv3rX1ut1jPO\nOMNut0ulUr4/4RTdcsstfCVyuTybzRJCzj333KamJkKITCY7++yzP//8c0LI0NDQYT3yJKa5\nkyf04osv0oXzzjvP6XTy6y+55JLrr78+HA4TQl577bVjjz12zB3Xr1/Pd9W7/PLLf//73xNC\nisWi2+3mSyIlH1f+AwwAVQlBBQCEwR9Mj7F48eJJ7sVPhNXR0VG6/phjjpmhuggh5LTTTuOX\nuZLGjTvuuOOOO+4Yv/2ePXumGVSuvfbaRCJhNBpLB9scLr/ff9ZZZ/G94773ve/dc889k9+F\nHjISQmZkBjapVPpv//Zv/K8SiaSlpeWTTz4hhAwMDNCV/DvI996h6ED88d58880HHnhg165d\nIyMj9MCdN/l8xFN/4w63pPEuv/zyRx99NJVKDQ4OXnbZZYSQ5ubmU0899cwzzzznnHPEYvEU\nH4f/8EulUqvVOjw8TAg5+uij+Q0cDgddoPFvphzxTp4Qx3H8cP/SzwMhRCwWt7e30+mwOzs7\nx9+X77JISsISGfd6+Y8r/wEGgKqEoAIAFYPjuFQqRZf5M98UPxxi+sRisdVq5X9NpVKHvPjJ\nNE/rPv/881u2bCGE/OpXvzri6y0ODAycfvrpPT09hBCxWPzLX/5y/KwD4/GXrp+RHahWq0Ui\n0Zg1dIG+cRzHpdNpukalUpVuOeZX6qGHHrr22mv5h2pqapLJZCMjI6VTaR3MFN+4wy1pQkuW\nLNmyZcvatWv5A/Senp6enp6NGzc2NjY+88wzJ5xwwiEfRC6X8yNq6K90oTRDjhloPiOms5Mn\nlEql+Mm4xn+u+I/E+Kwll8u1Wi3/64SzIFD8ZvwHGACqEqYnBgBhHGyMys9+9rOD3YVhGP7o\njU8s1OQnmMecJPb5fJNsLJFISo+2VSoVf0b8vvvum7DmqU8lPCF+NPO3vvUtfpLlBQsW8BtI\npVKGYf72t78d7BECgcAZZ5xBU4pOp3v99denklJIyXFkIpGYcIPD2nX8ET+PP46kh6elk9iO\nOcSMxWJj7ptIJPjLznz961/3+/179+799NNP+fEJk5viG3dYJU3i1FNP3bVr1wcffHD77bd/\n9atf5UfD9/f3n3POOXNwPH1Y7xRvmjt5QiqVih80P34f8n+qU5mt+2D4B5nBMxQAUIYQVACg\nkrhcLrqwd+/e0vX0Quxj8Acxbreb4zh+/ccffzz1Z2QYprm5mS6XDnAvH4VC4eyzz+7q6iKE\n2O32d99998tf/vIU73uwLjRHtuuy2ez+/fv5X/P5PL0mDCGksbGRLtTX19OFffv2ld6X9hAb\ns4aPo7fccgvf2kAHaRzS1N+4qZd0yGc84YQT1q1b9/rrrweDwZdfftloNBJC/H7/e++9d1gP\nNXXT/JBPcydPiGEYvg/bp59+WnpTLpfj/3JLu7QdrpntsggAZQtdvwCgkhx//PH0UPiVV14J\nBAJ0TG0ikXjyySfHb8wPiPf5fFu2bKHDyvft21c69dBUfOUrX6Ex4IUXXrjzzjtpj6BCoXDZ\nZZfJ5XK73b527dqDXTJiKr7+9a8vWbJkzMpwOHznnXfS5bvvvlskEjU0NGzfvp1/pb/97W9p\ny8/9999PG1vEYvGrr746/qEmwU9IUHptCjKNXbdx48a77rqLLr/yyit8Q81JJ51EF0444QS6\nM1955ZVwOEwP5ROJxPhHLm0ioNc9JITs3bv37bffHrOy9NojpR2WpvjGTb2kCaXT6fvuu6+r\nqysUCv3xj3+kb4pYLF61atWyZcv+/Oc/k3HNHTNomh/y6e/kCZ133nk0orz00kvDw8N8kU88\n8QRtDGEYZvXq1VOpcEJ8Z0uTyXTEDwIAFWC604YBAEzZ9Kcnfuutt/hHOProo5944omNGzcu\nW7aM7/heOhlrT08Pf3SlVquvvvrqm2++2WQynXjiieM3Pth16+jj8GeaV6xYsWXLljfeeOO8\n886ja4466qh8Pn+wV7Ft27a7DuDvotPp+JWbN2+e8I4TTk/8+OOPj1kZCAT4/vo6ne4rE/nT\nn/50sPLuv/9+/lWMeclHsOskEolUKr3tttvefvvt3/72t3wKamtr43fRO++8w7+EY4899rnn\nnnvyySeXLVvGtwyIRCK65cjICN8H7+yzz961a9crr7xSW1vLT9Gr0+m2b9/u9Xrz+Tw/g9zJ\nJ5+8adMmOhvyFN+4qZd0MHw4PP/881977bWdO3e+995769evp1XJ5XKv18sdanriMR88vjno\noYceGv9+NTc3T+ed4p9r+jt5wvrD4TAfTlpaWh588MHNmzffcsstfNfNK6644pB7oHRms127\n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\nuAAAAABJRU5ErkJggg==" }, "metadata": { "filenames": { "image/png": "/tmp/_build/jupyter_execute/notes/practice-14_3_3.png" } }, "output_type": "display_data" } ], "source": [ "a <- 3.5 # average morning wait time\n", "b <- (-1) # average difference afternoon wait time\n", "sigma_a <- 1 # std dev in intercepts\n", "sigma_b <- 0.5 # std dev in slopes\n", "rho <- (-0.0) # correlation between intercepts and slopes\n", "\n", "Mu <- c(a, b)\n", "\n", "sigmas <- c(sigma_a, sigma_b) # standard deviations\n", "Rho <- matrix(c(1, rho, rho, 1), nrow = 2) # correlation matrix\n", "Sigma <- diag(sigmas) %*% Rho %*% diag(sigmas)\n", "\n", "N_cafes <- 20\n", "\n", "library(MASS)\n", "set.seed(5) # used to replicate example\n", "vary_effects <- mvrnorm(N_cafes, Mu, Sigma)\n", "\n", "a_cafe <- vary_effects[, 1]\n", "b_cafe <- vary_effects[, 2]\n", "\n", "iplot(function() {\n", " plot(a_cafe, b_cafe,\n", " col = rangi2,\n", " xlab = \"intercepts (a_cafe)\", ylab = \"slopes (b_cafe)\",\n", " main = \"Figure 14.2 (updated simulation)\"\n", " )\n", "\n", " library(ellipse)\n", " for (l in c(0.1, 0.3, 0.5, 0.8, 0.99)) {\n", " lines(ellipse(Sigma, centre = Mu, level = l), col = col.alpha(\"black\", 0.2))\n", " }\n", "})\n", "\n", "set.seed(22)\n", "N_visits <- 10\n", "afternoon <- rep(0:1, N_visits * N_cafes / 2)\n", "cafe_id <- rep(1:N_cafes, each = N_visits)\n", "mu <- a_cafe[cafe_id] + b_cafe[cafe_id] * afternoon\n", "sigma <- 0.5 # std dev within cafes\n", "wait <- rnorm(N_visits * N_cafes, mu, sigma)\n", "d <- data.frame(cafe = cafe_id, afternoon = afternoon, wait = wait)" ] }, { "cell_type": "markdown", "id": "7b78e0cc", "metadata": {}, "source": [ "Refit the model:" ] }, { "cell_type": "code", "execution_count": 3, "id": "e664520f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ " mean sd 5.5% 94.5% n_eff Rhat4 \n", "b_cafe[1] -0.97493827 2.706508e-01 -1.4053396 -0.5321296 2558.033 0.9985400\n", "b_cafe[2] -1.57678103 2.754448e-01 -2.0302763 -1.1429525 2258.533 0.9987245\n", "b_cafe[3] -1.75208873 2.937009e-01 -2.2155046 -1.2700634 2475.211 1.0004769\n", "b_cafe[4] -1.38179526 2.640233e-01 -1.7984554 -0.9628625 2678.364 0.9997784\n", "b_cafe[5] -0.85552684 2.673436e-01 -1.2846377 -0.4451974 2146.033 0.9990816\n", "b_cafe[6] -1.03052158 2.727011e-01 -1.4647225 -0.5959246 2341.112 1.0009258\n", "b_cafe[7] -1.07318113 2.612501e-01 -1.5018916 -0.6632712 2523.437 0.9998771\n", "b_cafe[8] -1.66622936 2.724191e-01 -2.1166805 -1.2528713 2411.146 1.0007548\n", "b_cafe[9] -1.09643654 2.628003e-01 -1.5073631 -0.6833408 2509.108 0.9986496\n", "b_cafe[10] -0.85150181 2.644251e-01 -1.2527569 -0.4179187 2583.283 0.9994003\n", "b_cafe[11] -0.94436493 2.765405e-01 -1.3854714 -0.4974285 2568.146 0.9985809\n", "b_cafe[12] -1.08532110 2.689619e-01 -1.5141136 -0.6673375 2766.285 1.0006618\n", "b_cafe[13] -1.82885505 2.764952e-01 -2.2718830 -1.3952793 2499.467 0.9990739\n", "b_cafe[14] -1.09088505 2.773739e-01 -1.5262770 -0.6556258 2419.601 0.9986678\n", "b_cafe[15] -2.08013935 2.922605e-01 -2.5285539 -1.6230970 2367.273 1.0003216\n", "b_cafe[16] -1.13964911 2.668720e-01 -1.5497444 -0.7027246 2683.230 0.9985100\n", "b_cafe[17] -0.84962462 2.791103e-01 -1.2910448 -0.4098209 2627.050 1.0004932\n", "b_cafe[18] 0.13329806 2.973738e-01 -0.3546918 0.6137691 2271.025 0.9996235\n", "b_cafe[19] -0.05123218 2.914838e-01 -0.5206416 0.4161668 2227.332 0.9997787\n", "b_cafe[20] -0.94603730 2.643219e-01 -1.3730128 -0.5212390 2253.346 0.9992708\n", "a_cafe[1] 4.32822010 2.020550e-01 3.9961308 4.6447876 2655.898 0.9990083\n", "a_cafe[2] 2.23007232 2.012716e-01 1.9124224 2.5524646 2430.606 0.9988290\n", "a_cafe[3] 4.55863435 2.128146e-01 4.2177601 4.8939822 2441.837 1.0012199\n", "a_cafe[4] 3.31432538 1.956863e-01 2.9999354 3.6215312 2700.695 0.9993147\n", "a_cafe[5] 1.92490907 1.986681e-01 1.6207611 2.2437742 2374.147 0.9986663\n", "a_cafe[6] 4.24067936 1.990592e-01 3.9296951 4.5483649 2351.843 0.9995529\n", "a_cafe[7] 3.77722779 1.908971e-01 3.4746905 4.0842010 2392.385 0.9998529\n", "a_cafe[8] 4.12167102 2.033142e-01 3.8058353 4.4586906 2764.740 1.0017864\n", "a_cafe[9] 3.91765196 1.923953e-01 3.6088796 4.2293424 2563.342 0.9989676\n", "a_cafe[10] 3.46479236 2.000028e-01 3.1430532 3.7814975 2343.924 0.9993257\n", "a_cafe[11] 1.95604246 2.003907e-01 1.6292569 2.2770210 2497.175 0.9988287\n", "a_cafe[12] 3.98535177 1.923491e-01 3.6838910 4.2991258 2487.950 0.9997389\n", "a_cafe[13] 4.14900451 2.017190e-01 3.8299155 4.4610220 2534.936 0.9989087\n", "a_cafe[14] 3.31122820 2.030783e-01 2.9852590 3.6312353 2594.142 0.9994834\n", "a_cafe[15] 4.62640653 2.048657e-01 4.3016374 4.9457133 2585.030 1.0030749\n", "a_cafe[16] 3.48916086 1.981373e-01 3.1825172 3.8082679 2782.811 1.0004568\n", "a_cafe[17] 4.13659311 2.049720e-01 3.8173995 4.4642264 2521.503 0.9996007\n", "a_cafe[18] 5.57907198 2.139529e-01 5.2380410 5.9266490 2419.397 0.9987837\n", "a_cafe[19] 3.07139300 2.068774e-01 2.7288774 3.4107189 2409.187 0.9994801\n", "a_cafe[20] 3.72791143 1.933597e-01 3.4257859 4.0296822 2214.056 0.9992702\n", "a 3.70381547 2.298564e-01 3.3455440 4.0634464 2344.457 1.0003163\n", "b -1.09575262 1.568141e-01 -1.3393037 -0.8450130 2020.744 0.9996859\n", "sigma_cafe[1] 0.98523622 1.841260e-01 0.7384284 1.3121756 2191.504 1.0001043\n", "sigma_cafe[2] 0.63873123 1.387958e-01 0.4412895 0.8792464 1888.167 0.9996571\n", "sigma 0.47388432 2.663314e-02 0.4333083 0.5167588 2110.001 0.9995346\n", "Rho[1,1] 1.00000000 0.000000e+00 1.0000000 1.0000000 NaN NaN\n", "Rho[1,2] -0.04711170 2.294524e-01 -0.4003752 0.3325041 1973.052 0.9995424\n", "Rho[2,1] -0.04711170 2.294524e-01 -0.4003752 0.3325041 1973.052 0.9995424\n", "Rho[2,2] 1.00000000 9.264531e-17 1.0000000 1.0000000 1999.376 0.9979980" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDgAAAMACAMAAAD2QCfzAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dB3wT5R8G8DdN0wmUslfZGxkC\nIn8BRUFRmcqSoSAoIKCoCMgQFGTIVkEBRZSlIkNwgCKITNkgCLIEZM8ySge0uX/SFppm3uXG\n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" }, "metadata": { "filenames": { "image/png": "/tmp/_build/jupyter_execute/notes/practice-14_5_1.png" } }, "output_type": "display_data" } ], "source": [ "set.seed(867530)\n", "m_cafe_rho_zero <- ulam(\n", " alist(\n", " wait ~ normal(mu, sigma),\n", " mu <- a_cafe[cafe] + b_cafe[cafe] * afternoon,\n", " c(a_cafe, b_cafe)[cafe] ~ multi_normal(c(a, b), Rho, sigma_cafe),\n", " a ~ normal(5, 2),\n", " b ~ normal(-1, 0.5),\n", " sigma_cafe ~ exponential(1),\n", " sigma ~ exponential(1),\n", " Rho ~ lkj_corr(2)\n", " ),\n", " data = d, chains = 4, cores = 4\n", ")\n", "display(precis(m_cafe_rho_zero, depth = 3), mimetypes=\"text/plain\")\n", "\n", "post <- extract.samples(m_cafe_rho_zero) # posterior\n", "R <- rlkjcorr(1e4, K = 2, eta = 2) # prior\n", "\n", "iplot(function() {\n", " dens(post$Rho[, 1, 2], xlim = c(-1, 1))\n", " dens(R[, 1, 2], add = TRUE, lty = 2)\n", "})" ] }, { "cell_type": "markdown", "id": "338281d3", "metadata": {}, "source": [ "The model has inferred `rho` is zero, as expected.\n", "\n", "**14M2.** Fit this multilevel model to the simulated café data:\n", "\n", "$$\n", "\\begin{align}\n", "W_i & \\sim Normal(\\mu_i, \\sigma) \\\\\n", "\\mu_i & = \\alpha_{CAFE[j]} + \\beta_{CAFE[j]} A_i \\\\\n", "\\alpha_{CAFE} & \\sim Normal(\\alpha, \\sigma_{\\alpha}) \\\\\n", "\\beta_{CAFE} & \\sim Normal(\\beta, \\sigma_{\\beta}) \\\\\n", "\\alpha & \\sim Normal(0, 10) \\\\\n", "\\sigma, \\sigma_{\\alpha}, \\sigma_{\\beta} & \\sim Exponential(1)\n", "\\end{align}\n", "$$\n", "\n", "Use WAIC to compare this model to the model from the chapter, the one that uses a multi-variate\n", "Gaussian prior. Explain the result." ] }, { "cell_type": "code", "execution_count": 4, "id": "1f6e19c6", "metadata": {}, "outputs": [], "source": [ "a <- 3.5 # average morning wait time\n", "b <- (-1) # average difference afternoon wait time\n", "sigma_a <- 1 # std dev in intercepts\n", "sigma_b <- 0.5 # std dev in slopes\n", "rho <- (-0.7) # correlation between intercepts and slopes\n", "\n", "Mu <- c(a, b)\n", "\n", "sigmas <- c(sigma_a, sigma_b) # standard deviations\n", "Rho <- matrix(c(1, rho, rho, 1), nrow = 2) # correlation matrix\n", "Sigma <- diag(sigmas) %*% Rho %*% diag(sigmas)\n", "\n", "N_cafes <- 20\n", "\n", "library(MASS)\n", "set.seed(5) # used to replicate example\n", "vary_effects <- mvrnorm(N_cafes, Mu, Sigma)\n", "\n", "a_cafe <- vary_effects[, 1]\n", "b_cafe <- vary_effects[, 2]\n", "\n", "set.seed(22)\n", "N_visits <- 10\n", "afternoon <- rep(0:1, N_visits * N_cafes / 2)\n", "cafe_id <- rep(1:N_cafes, each = N_visits)\n", "mu <- a_cafe[cafe_id] + b_cafe[cafe_id] * afternoon\n", "sigma <- 0.5 # std dev within cafes\n", "wait <- rnorm(N_visits * N_cafes, mu, sigma)\n", "d <- data.frame(cafe = cafe_id, afternoon = afternoon, wait = wait)\n", "\n", "m_cafe_separate_variation <- ulam(\n", " alist(\n", " wait ~ normal(mu, sigma),\n", " mu <- a_cafe[cafe] + b_cafe[cafe] * afternoon,\n", " a_cafe[cafe] ~ normal(a, sigma_a),\n", " b_cafe[cafe] ~ normal(b, sigma_b),\n", " a ~ normal(5, 2),\n", " b ~ normal(-1, 0.5),\n", " sigma ~ exponential(1),\n", " sigma_a ~ exponential(1),\n", " sigma_b ~ exponential(1)\n", " ),\n", " data = d, chains = 4, cores = 4, log_lik = TRUE\n", ")\n", "\n", "m14.1 <- ulam(\n", " alist(\n", " wait ~ normal(mu, sigma),\n", " mu <- a_cafe[cafe] + b_cafe[cafe] * afternoon,\n", " c(a_cafe, b_cafe)[cafe] ~ multi_normal(c(a, b), Rho, sigma_cafe),\n", " a ~ normal(5, 2),\n", " b ~ normal(-1, 0.5),\n", " sigma_cafe ~ exponential(1),\n", " sigma ~ exponential(1),\n", " Rho ~ lkj_corr(2)\n", " ),\n", " data = d, chains = 4, cores = 4, log_lik = TRUE\n", ")" ] }, { "cell_type": "markdown", "id": "5499fb22", "metadata": {}, "source": [ "**Answer.** A `compare` plot with its associated raw data:" ] }, { "cell_type": "code", "execution_count": 5, "id": "3eecb722", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDgAAADwCAMAAADSOiR3AAAC91BMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7\nOzs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExN\nTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5f\nX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBx\ncXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKD\ng4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSV\nlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqan\np6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5\nubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PFxcXGxsbHx8fIyMjJycnKysrLy8vM\nzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3f\n39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx\n8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///8O/0eUAAAACXBI\nWXMAABJ0AAASdAHeZh94AAAV0ElEQVR4nO3de0BU5brH8WeEQUBoVC4iKmi2T6d2SurJbZmV\n11JKsww1zYzS7aW07GzUsrK22M4s3RZldrzkKe1kWnmOunNn7vAW3irEC2pKilCK9wso7x9n\nvWsGeNcM5Kx5gXfh+n3+WLNYa+b1cWq+zgzoEAMAMIlUDwAAdQ/CAQCmIRwAYBrCAQCmIRwA\nYBrCAQCmIRwAYBrCAQCmIRwAYBrCAQCmIRwAYBrCAQCmIRwAYBrCAQCmIRwAYBrCAQCmIRwA\nYBrCAQCmIRwAYBrCAQCmIRwAYBrCAQCmIRwAYBrCAQCmIRwAYBrCAQCmIRwAYBrCAQCmIRwA\nYBrCAQCmIRwAYBrCASrdQdn65Riaql+uoQH8YgK5zutf76Ze+mXpZ32bhsS0/+sxFUOCL4QD\nVJpGM/XLP9Dt+uVztEDbXoquR4v0rz3hKOpO4fePHdSaYr5TMyd4QThApR3Uk1/8TDcHn+Q7\nf3Tw5xSf0GhHZ/28Jxy9qW+hdnHlvaBGBYomBQOEA5RqFspfk8ylebRcu8ynDvzg3bTvTsrh\ne+5wrKZ2Je6rT+u2UdGgYIBwgFKptEbb9m9yPmSkdrmIXtK2e7XXLfPoOX7aHY5B9LnKGcEX\nwgFKfU7PMna54UB2Vyvtq0dpM+Nvjc5jp8OjL7GycFzvOKV2SvCGcIBSp503MbaRPmSvUS4r\nbRJzhbGL0WFaJ4bSUlYWjgYNVY8JXhAOUOseOsxepkNsM73DdtJQ7cjHNETbrqPurCwckZFK\nRwRfCAeoNUN7tnH7v/GXKw9o+0u0I3fRh7m5ufuaOA6UheNG+lX1mGCEcIBau2jQ6aAx2k7/\nhld6Bp1gbA+VmVwWjuE033Pt0h8UjgoVEA5QrGXTNbRCu8ygrAb8hzeeoyc/4xYHNS3xhOM7\nannafeV3tBc0YAEIByg2ih4N4j/8lUuPUzpjF6PqF7pPPERflP0AWAp13K9dlMwOanpC3aRQ\nAeEAxVaSs5O+0zKEdvK3Rod7TqynPmXhONePgu8ZmZJI1+9TNSYYIByg2LlQmqLvPEXNtG0X\nXg+3W4Lyyv6SG/uqf7wzsmPGeQUDQiUQDgAwDeEAANMQDgAwDeHwUbAVADQ7q36UIBw+kgkA\nuKwqHyUIh4+ek1VPAHXdCtUDVItLtKHKcwiHD4QDZCEcNoRwgCyEw4YQDpCFcNgQwgGyEA4b\nQjhAFsJhQwgHyEI4bAjhAFkIhw0hHCAL4bAhhANkIRw2hHCALITDhhAOkIVw2BDCAbIQDhtC\nOEAWwmFDCAfIQjhsCOEAWQiHDSEcIAvhsCGEA2QhHDaEcIAshMOGEA6QhXDYEMIBshAOG0I4\nQBbCYUMIB8hCOGwI4QBZCIcNIRwgC+GwIYQDZCEcNoRwgCyEw4YQDpCFcNgQwgGyEA4bQjhA\nFsJhQwgHyEI4bAjhAFkIhw0hHCAL4bAhhANkIRw2hHCALIRDUDyxXvuKr56l1CrP1W0IB8hC\nOCrktIsU4pAVJIbDeK6OQzhAzuW9U/aUqB6iGlRLOE6FdcitXx6HkqS2QjiM5+q63w0H4bUd\nXMW8OHJS7Huqx5AXSDgGUdGI2LCOW86Ni2/QaZt24PiEYlYRh9cdq4VwGM/Vdb8TDtLV4ixQ\n96SHzji6Iv+t8FdUDyItkHAMo+5Tty8MTUhO27qsYZNi98HyOOwPG1VkeI+D2SIcRCgHXMXB\nkP/R3+NYEbxP9SiyAglHKo3Sto/Qw9p2XNnty+PQrelJG4aDEA64qjf/nbnfHG0zXfUosgIL\nx1pt+wIt1rYZtMx9sCwOC7QD1244egw/oP25keW7qQhHZWexUbKZ2733gAG9LbRJbKJt2mt7\nCS2Uz+K1yTB57wYWjhxt+zKt07bzaIn7oCcOBY2T2bUcjmdOMnbqiO+mIhyVncVGyWbP0i/W\nrv3SQpt+SdpmkrZ3e7LyWbw2u03eu4GFI5fxcGQy33AMjDh0LYcD73GAhE9dp/WXKmcbL1Y9\niqxqDscqmpKXl7eLBuWdEm5go3DU5jBQ11xoNbhYC0fJYwnnVI8iq5rDMaH8KXuacAM7hIOh\nG3BVO5rcPPWZV2+J2ap6EGnVHI6cldxS6rlyN7uwYz8Tz10L8JOjIKVw8l3RXSYeUz2GvGoJ\nx/q0tLSgOG3zm/sK7vc4fqJuzPdc3YZwgCz7/l0Vn3BML3t9kuu+ghgO73N1G8IBsuwbDhtD\nOEAWwmFDCAfIQjhsCOEAWQiHDSEcIAvhsCGEA2QhHDaEcIAshMOGEA6QhXDYEMIBshAOG0I4\nQBbCYUMIB8jyCcdFFVPIQjhMQThAlnc49rz2q5I55CAcpiAcIMsrHCWz//rfagaRgnCYgnCA\nLK9wZL5+6NW9aiaRgXCYgnCAlPPZ2bOzRd+P/zQ7Y9IP2Ua7Lqse9GoQDlMQDpDiE46/v/hj\n9rbnPkY4rm0IB8gyvFQ58crrs2bNmjbd8qHwhnCYgnCALEM4Lu/cyuWoGiZgCIcpCAfIwg+A\n2RDCAbIQDhtCOEAWwmFDCAfIQjhsCOEAWQiHDSEcIAvhsCGEA2QhHDaEcIAshMOGEA6QhXDY\nEMIBshAO/33cLOj5alusGqRQvp8HvSAcIAvh8NvJMFf62upazGB6YB9lPb3XCd9lvA9WBuEA\nWQiH37JodHUtZXSUVtfuMggHyEI4/JZJadW1lNGX1RMO/5dBOECWMRyHnr09oevUIkWzBC6Q\ncAyiohGxYR23nBsX36DTNq+T+anx4W1mlWh7W/pFOROHHGSsF2lGMnZsdIIzuu/3xutffKPN\ndRG3vHGFief70dHU2JAbM5i4DEuhgu6hXwpH+vCFMytf+A7HEX6R5+hSyRL62xney+gHf348\n3hl1/xb9d3nmL4khzd8qFVc1Ew7S+X99sAdDONa5/mPaoimtEwJ7ya1QIOEYRt2nbl8YmpCc\ntnVZwybFhnOFzVxPv5lMqYxtDY1/9YOJkbG/sY3p1H/FTlaY6EpbnN68/nrDDYbT4Pfef5DG\nMPF8Ct2WtiGzB80Tl2FDafB96T8JRzYNpZdWHK984XdpDr94mz6oZAneCJ9l+MHDsRH/uXBa\ns/qZ/HfZ68+bNvSk+eKqJsJBhHJAJcRwHI8ax//IPN87qa79Sz6BhCOVRmnbR+hhbTvO6/aj\n6B+M/xmezTLafavtzeGPX/dLlVHBWdr2cGQHww3CO/Htsw9dFs+n0CBt92T9lkxc5gnqye9l\n4ch0/TVGpQsXBt/NLzrVL6pkCd4In2X4wWG0XNvLCfoT/13yGQ5QsrgqwgGyxHDMSnT/uXvM\n+U81wwQssHDwb5G8QIu1bQYtE0+VRrXgT+0PrHN/VETxhW9ogiccpdHt8rledEa8hSu+wHNT\n4XwKfckPdaej4jKp9HHZrTxH9Ed8FQvfG1TAX6n0Z5UsUfadV3EZfrDU1UR/ZdKZftOuuobv\nhieJi/Z45iRjp474sSnrBvlzZWxqfnNy7ZdLv1hrgc0k4csu93n2bhhqhdG8Nl8dqvruDCwc\n/F86e5nWadt5tEQ8dYR6lO9/1KUhf+CM84TjWPlDaZd4i9l03dD5vzDj+RTazc8No+3iMqm0\n1Wth/RFfxcKLaC5/pbKcVbKEHg6vZfjBo9TV8zvc6PldMtfNhnAMP8DYwSw/NuVD+XNlbGp+\nkzWgd/feAyywaS98GfcHz16jG6wwmtemz5qq787AwpGrhyPTNxz7K57ZT6IOC9Zv+rA8HLmU\ntNrN+BbyN/0akKP3z4bzKXSInxqttUlYxv3rikf0R3wVC58O66m9Uml0iVWyBA+H9zL8YC7d\nr992rPacynNVYzjwUgVkiS9Vnnf/QcWuNFmoZJbAVXM4zlJnz96FsBb8lcMa4RlHkvdCHhfX\nDnPccEk8n+L+0/5R+kFcxv3rikc8zzgqX/jh4BN5jhHGG1SEw2cZfjDf84xjOG1GOKBmiOHI\nqvcv/TIjoq59DGQ1h4PFRPF3e/bMyT5ID/KvJ5WHg0WH6s8ICitbchRtEc+n0Od89zYqFJdx\n/7riEfcjvoqFl9Pit+k74w0qwuG7DH8a0rip/h5HR0eRdDjw7ViolOHbsU+75v7KDr/inKtq\nmkBVdzie5N9CZQNp23nHrdrOjmb8Bzg831Uh/qgrjDN8m2JT/CJ+MYa2i+dTqI+2u9dxIxOX\ncf+64pE39LcwKl1YeyLjGnxXYimrZAneCN9leDieJP6fdYejG5MPB0+HmWuDPRjCceWNRhRK\nCUtVDROw6g5HXlzw2BnJ9BhjyTRyyZRGq4Kbf3LWHY6CBBq+MD3B+bV4/ZI/hjz1bsYT9TqX\niudTqHvy+xkt+bdAhGU8D2XhyDK6beb3lS+sGd44eLLXDYT3OHyW4QePxEVMXjQ1NvKHagkH\ngC+vHzkvzl69/4qaSWRUdzjYz0NindfPvKw9Axgc4+qayaZGxOV7fuQ8f1SL4IYPbDFe//j4\n1uGutulnDOdTKHd8fMhN/A0jYRnPQ1k4UvxQWKPPqliYsa/J/VaJ7xK8ET7L6N9qOTy8aXDs\nwByGcEANwd9VqTkplKfs1/5dCAfIQjhqDsIB1yyEw6OkqELx1a/uzw0CDIfpSUxDOEAWwuGx\nkiosufrV/blBgOEwPYlpCAfIQjg8TmRW8OvHWEzfwF81tnA5hANkIRw2hHCALITDhhAOkIVw\n2BDCAbIQDhtCOEAWwmFDCAfIQjhsCOEAWQiHDSEcIAvhsCGEA2QhHDaEcIAshMOGEA6QhXDY\nEMIBshAOG0I4QBbCYUMIB8hCOGwI4QBZCIcNIRwgC+GwIYQDZCEcNoRwgCyEw4YQDpCFcNgQ\nwgGyEA4bQjhAFsJhQwgHyEI4bAjhAFkIhw0hHCAL4bAhhANkIRw2hHCALITDhhAOkIVw2BDC\nAbIQDhtCOEAWwmFDCAfIQjhsCOEAWQiHDSUTAHBZVT5KEA4fBVv98kzi4rrh3vaqJ/BTh16q\nJ/BTy8GqJ/BT5HT//l+uys6qHyUIR6DeulX1BH4a30/1BH56cJzqCfzUbqbqCfwU/VmNLY1w\nBGr9C6on8NOns1VP4Ke/L1U9gZ9e+Fb1BH4akV1jSyMcAGAawgEApiEcAGAawgEApiEcAGAa\nwgEApiEcAGAawgEApiEcAGAawgEApiEcAGAawgEApiEcAGAawgEApiEcJpyYkBDSsu+msi+f\npVR+UTQu0dk09ai6sXyJg67qEuG6R/974NYbVJhz95C44Oh+W/iu9eZkB566PiS6r/d01h5U\nuHNrYFCEw3/HW1KfKY8Gh/7o/jIrSA/HpXb00LQnnK1OKJ3NQBx0PrV+8fmYkA1WHFSYMzuy\n8UsfvRYX/I0V52R7okKGvPyo07nRMJ21BxXu3JoYFOHw3xiao20/p976VyVJbfVwvEV/07af\n0gSVoxkJgxZE3HqWsdyI0VYcVJhzMK3Tdn+gu604J+vh+Je2XU6PGKaz9qDCnVsTgyIc/hvf\nrVjbloYl6l+97lithyMp8iL/8obYUoWjGQmDzqA1/AifzXqDCnN2JL7LrmtpxTnZi5P49rKz\nrWE6aw8q3Lk1MSjCYdZF5x38Yn/YqCIejgtB3fTDj9MBpWP50gftFVbMLp7iX1p2UH3OYfST\ntvtrvfusOyf7hfqJ01l7UA9+59bIoAiHWbP1p4CsW9OTejj20eP64ZdprdKxfOmDJt60/Q4H\ntV5g4UH1OXMatc3M394tfLNl5zz3bZvILHE6aw/qwe/cGhkU4TBpfUjnEu1iAS1jeji20Rj9\n+AxarnYwb+5BIxObTlg2O4E+tuygnjt0z01ElLDRsneoi2jIAcN01h7UTb9za2RQhMOcT+q3\nO65dFDROZmXhGKufeIOs9eldnkHr0yJtezQi7rJFB/XMmdOqxcyV/3Wza61V79CJI26v1/mA\nOJ21B9W579waGRThMKP0Jbr3NN8ZGHHIE45cGqafepH+qXQ0o/JBo4LO8YsB9KMlBy2f80/h\nv2jbc82aFVtyTt23DdpcEaaz9qCs4s6tkUERDhNKn6CnL/OdVTQlLy9vFw3KO3Up+G793CA6\npHQ2g/JBWfsg/bsVo2mDFQctn/OM4x79wGOUbcU5PQZTjjCdtQcV7twaGRThMGEcpbt3JpR/\nuGYa6xjO/0y/Et9C6WhG5YOysbSZX/Skw1YctHzOQuqkXz5CWy045y9thuqX/SlLnM7agwr/\nE9TEoAiH/z6nss8ozFnJLaWeK3ezD+gV7ch7NFXlaEYVg7Ktjq4XGcuq14ZZcFBhzlbOvdq2\nqPF1Fy04J2sewvO7NyLigjidtQcV7tyaGBTh8F9rejpN5/nRXf09Dnb5Tuo7daDjlnNKZzMQ\nBx1PSVOfCgv51oqDCnMurxf1wvxprehdK87JVgQ5B77weAN6xzCdtQcV7tyaGBTh8F/565OD\n7q/d4WBnnk90NhtzXOFg3sRBS99vG+rq/T0/bLlBxTk39osJbtT9//hhy83J2OZ+MUENu3/F\nd4XpLD2oeOfWwKAIBwCYhnAAgGkIBwCYhnAAgGkIBwCYhnAAgGkIBwCYhnAAgGkIBwCYhnCA\nGkEdqziRQvm1OggEAuEANaoMx/ReFvq8AagCwgFqVBkOqAsQDlAD4ajTEA6obf/bLjQmtUgP\nx7HRCc7ovt8zdofjCD+V5+jifo9jS78oZ+KQg4z/u1Vn/pIY0vwt/pkg+anx4W1mlYg3BDUQ\nDqhlmUHx6fOG3OnUwlGY6EpbnN68/nr2rvtDJ96mD/RwbA2Nf/WDiZGxv/FPXOn1500betJ8\n7erNXE+/mcz/MYOKG4IaCAfUsnuJP1EYTVo4RgXzDwA5HNmBFbr/XcxO9Yv0cGS04x+TPYfX\nJJUGabsHKFm7Ov1D2+1D2cINQQ2EA2rXlbDW/GKHFo7S6Hb5XC86w+4NKuCvVPpXfDu2+MI3\n/NNOU90fYhmexEqjWvDXKwfW/SreEJRAOKB2/UI9+MUFLRzHyv+Vql1sEc3lr1SWe8LxUZeG\n/Pg4Ho4cfn3XzeyI+5Ya8YagBMIBtWsf3a9fOjqyXEpa7VbETof11F6pNLrkDsck6rBg/aYP\n3eHI5VfXwrGfv1zRiTcEJRAOqF157ucNZ/RnHEkVxx8OPpHnGMH0cFwIa8Ffg6wxhuMsdfZc\n13BDUAHhgNpVEnIDv9jA3xyNDtWfMRTyzXJa/DZ9x/RwHKQH+aFJxnCwmCj+6VJ75mQbbggq\nIBxQy+7Wv6syWP+uCk3Wdgvj+EuQi67BdyXyNz+1cJx33Krt7GhGIw3heJLmaXsDaZvhhqAC\nwgG1bJUjduKM5K4uLRwFCTR8YXqC82t+fHjjYF4D/T2OZBq5ZEqjVcHNPzkrhCMvLnjsjGR6\nzOuGoADCAbVt6S0hMU8UteBPKvJHtQhu+MAW/fDX5P7+CQ9H4eAYV9dMNjUiLl8IB/t5SKzz\n+pmXvW4ICiAcAGAawgEApiEcAGAawgEApiEcAGAawgEApiEcAGDa/wOnroY2zhqTWgAAAABJ\nRU5ErkJggg==" }, "metadata": { "filenames": { "image/png": "/tmp/_build/jupyter_execute/notes/practice-14_9_0.png" } }, "output_type": "display_data" }, { "data": { "text/markdown": [ "Raw data (preceding plot):" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ " WAIC SE dWAIC dSE pWAIC weight \n", "m14.1 303.9898 17.71746 0.000000 NA 32.61315 0.731242\n", "m_cafe_separate_variation 305.9916 18.16013 2.001866 2.29854 32.59902 0.268758" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "iplot(function() {\n", " plot(compare(m14.1, m_cafe_separate_variation))\n", "}, ar=4.5)\n", "display_markdown(\"Raw data (preceding plot):\")\n", "display(compare(m14.1, m_cafe_separate_variation), mimetypes=\"text/plain\")" ] }, { "cell_type": "markdown", "id": "c23dbaea", "metadata": {}, "source": [ "The new model fits the training data worse (as expected, having fewer parameters). It doesn't make\n", "up for this in the penalty term, though, because it also does less parameter sharing.\n", "\n", "**14M3.** Re-estimate the varying slopes model for the `UCBadmit` data, now using a non-centered\n", "parameterization. Compare the efficiency of the forms of the model, using n_eff. Which is better?\n", "Which chain sampled faster?\n", "\n", "**ERROR.** There is no varying slopes model for `UCBadmit` data. This is the first chapter on\n", "varying slopes, and no model in this chapter is based on that dataset.\n", "\n", "It's likely the non-centered parameterization does better, if we had what model the author is\n", "referring to.\n", "\n", "**14M4.** Use WAIC to compare the Gaussian process model of Oceanic tools to the models fit to the\n", "same data in Chapter 11. Pay special attention to the effective numbers of parameters, as estimated\n", "by WAIC.\n", "\n", "**Answer.** Let's reproduce results from the two chapters:" ] }, { "cell_type": "code", "execution_count": 6, "id": "85e41f56", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "SAMPLING FOR MODEL 'ea958e18e4c604fc5bca60c02cb71b9a' NOW (CHAIN 1).\n", "Chain 1: \n", "Chain 1: Gradient evaluation took 8e-06 seconds\n", "Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.08 seconds.\n", "Chain 1: Adjust your expectations accordingly!\n", "Chain 1: \n", "Chain 1: \n", "Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 1: \n", "Chain 1: Elapsed Time: 0.006221 seconds (Warm-up)\n", "Chain 1: 0.005852 seconds (Sampling)\n", "Chain 1: 0.012073 seconds (Total)\n", "Chain 1: \n", "\n", "SAMPLING FOR MODEL 'ea958e18e4c604fc5bca60c02cb71b9a' NOW (CHAIN 2).\n", "Chain 2: \n", "Chain 2: Gradient evaluation took 4e-06 seconds\n", "Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 0.04 seconds.\n", "Chain 2: Adjust your expectations accordingly!\n", "Chain 2: \n", "Chain 2: \n", "Chain 2: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 2: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 2: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 2: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 2: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 2: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 2: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 2: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 2: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 2: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 2: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 2: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 2: \n", "Chain 2: Elapsed Time: 0.006658 seconds (Warm-up)\n", "Chain 2: 0.00623 seconds (Sampling)\n", "Chain 2: 0.012888 seconds (Total)\n", "Chain 2: \n", "\n", "SAMPLING FOR MODEL 'ea958e18e4c604fc5bca60c02cb71b9a' NOW (CHAIN 3).\n", "Chain 3: \n", "Chain 3: Gradient evaluation took 3e-06 seconds\n", "Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 0.03 seconds.\n", "Chain 3: Adjust your expectations accordingly!\n", "Chain 3: \n", "Chain 3: \n", "Chain 3: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 3: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 3: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 3: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 3: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 3: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 3: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 3: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 3: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 3: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 3: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 3: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 3: \n", "Chain 3: Elapsed Time: 0.006472 seconds (Warm-up)\n", "Chain 3: 0.006143 seconds (Sampling)\n", "Chain 3: 0.012615 seconds (Total)\n", "Chain 3: \n", "\n", "SAMPLING FOR MODEL 'ea958e18e4c604fc5bca60c02cb71b9a' NOW (CHAIN 4).\n", "Chain 4: \n", "Chain 4: Gradient evaluation took 3e-06 seconds\n", "Chain 4: 1000 transitions using 10 leapfrog steps per transition would take 0.03 seconds.\n", "Chain 4: Adjust your expectations accordingly!\n", "Chain 4: \n", "Chain 4: \n", "Chain 4: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 4: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 4: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 4: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 4: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 4: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 4: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 4: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 4: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 4: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 4: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 4: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 4: \n", "Chain 4: Elapsed Time: 0.006218 seconds (Warm-up)\n", "Chain 4: 0.006093 seconds (Sampling)\n", "Chain 4: 0.012311 seconds (Total)\n", "Chain 4: \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "SAMPLING FOR MODEL '05013cdfcc1a8f52ceb5601ee475a98d' NOW (CHAIN 1).\n", "Chain 1: \n", "Chain 1: Gradient evaluation took 8e-06 seconds\n", "Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.08 seconds.\n", "Chain 1: Adjust your expectations accordingly!\n", "Chain 1: \n", "Chain 1: \n", "Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 1: \n", "Chain 1: Elapsed Time: 0.016877 seconds (Warm-up)\n", "Chain 1: 0.014507 seconds (Sampling)\n", "Chain 1: 0.031384 seconds (Total)\n", "Chain 1: \n", "\n", "SAMPLING FOR MODEL '05013cdfcc1a8f52ceb5601ee475a98d' NOW (CHAIN 2).\n", "Chain 2: \n", "Chain 2: Gradient evaluation took 5e-06 seconds\n", "Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 0.05 seconds.\n", "Chain 2: Adjust your expectations accordingly!\n", "Chain 2: \n", "Chain 2: \n", "Chain 2: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 2: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 2: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 2: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 2: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 2: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 2: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 2: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 2: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 2: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 2: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 2: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 2: \n", "Chain 2: Elapsed Time: 0.015236 seconds (Warm-up)\n", "Chain 2: 0.01349 seconds (Sampling)\n", "Chain 2: 0.028726 seconds (Total)\n", "Chain 2: \n", "\n", "SAMPLING FOR MODEL '05013cdfcc1a8f52ceb5601ee475a98d' NOW (CHAIN 3).\n", "Chain 3: \n", "Chain 3: Gradient evaluation took 5e-06 seconds\n", "Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 0.05 seconds.\n", "Chain 3: Adjust your expectations accordingly!\n", "Chain 3: \n", "Chain 3: \n", "Chain 3: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 3: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 3: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 3: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 3: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 3: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 3: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 3: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 3: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 3: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 3: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 3: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 3: \n", "Chain 3: Elapsed Time: 0.01796 seconds (Warm-up)\n", "Chain 3: 0.015086 seconds (Sampling)\n", "Chain 3: 0.033046 seconds (Total)\n", "Chain 3: \n", "\n", "SAMPLING FOR MODEL '05013cdfcc1a8f52ceb5601ee475a98d' NOW (CHAIN 4).\n", "Chain 4: \n", "Chain 4: Gradient evaluation took 5e-06 seconds\n", "Chain 4: 1000 transitions using 10 leapfrog steps per transition would take 0.05 seconds.\n", "Chain 4: Adjust your expectations accordingly!\n", "Chain 4: \n", "Chain 4: \n", "Chain 4: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 4: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 4: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 4: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 4: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 4: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 4: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 4: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 4: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 4: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 4: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 4: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 4: \n", "Chain 4: Elapsed Time: 0.01659 seconds (Warm-up)\n", "Chain 4: 0.015557 seconds (Sampling)\n", "Chain 4: 0.032147 seconds (Total)\n", "Chain 4: \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "SAMPLING FOR MODEL '58422f20040c774e9740e486280fe76b' NOW (CHAIN 1).\n", "Chain 1: \n", "Chain 1: Gradient evaluation took 1e-05 seconds\n", "Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.1 seconds.\n", "Chain 1: Adjust your expectations accordingly!\n", "Chain 1: \n", "Chain 1: \n", "Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 1: \n", "Chain 1: Elapsed Time: 0.208005 seconds (Warm-up)\n", "Chain 1: 0.16362 seconds (Sampling)\n", "Chain 1: 0.371625 seconds (Total)\n", "Chain 1: \n", "\n", "SAMPLING FOR MODEL '58422f20040c774e9740e486280fe76b' NOW (CHAIN 2).\n", "Chain 2: \n", "Chain 2: Gradient evaluation took 6e-06 seconds\n", "Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 0.06 seconds.\n", "Chain 2: Adjust your expectations accordingly!\n", "Chain 2: \n", "Chain 2: \n", "Chain 2: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 2: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 2: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 2: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 2: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 2: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 2: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 2: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 2: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 2: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 2: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 2: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 2: \n", "Chain 2: Elapsed Time: 0.183078 seconds (Warm-up)\n", "Chain 2: 0.178075 seconds (Sampling)\n", "Chain 2: 0.361153 seconds (Total)\n", "Chain 2: \n", "\n", "SAMPLING FOR MODEL '58422f20040c774e9740e486280fe76b' NOW (CHAIN 3).\n", "Chain 3: \n", "Chain 3: Gradient evaluation took 7e-06 seconds\n", "Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 0.07 seconds.\n", "Chain 3: Adjust your expectations accordingly!\n", "Chain 3: \n", "Chain 3: \n", "Chain 3: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 3: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 3: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 3: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 3: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 3: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 3: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 3: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 3: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 3: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 3: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 3: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 3: \n", "Chain 3: Elapsed Time: 0.202716 seconds (Warm-up)\n", "Chain 3: 0.167696 seconds (Sampling)\n", "Chain 3: 0.370412 seconds (Total)\n", "Chain 3: \n", "\n", "SAMPLING FOR MODEL '58422f20040c774e9740e486280fe76b' NOW (CHAIN 4).\n", "Chain 4: \n", "Chain 4: Gradient evaluation took 7e-06 seconds\n", "Chain 4: 1000 transitions using 10 leapfrog steps per transition would take 0.07 seconds.\n", "Chain 4: Adjust your expectations accordingly!\n", "Chain 4: \n", "Chain 4: \n", "Chain 4: Iteration: 1 / 1000 [ 0%] (Warmup)\n", "Chain 4: Iteration: 100 / 1000 [ 10%] (Warmup)\n", "Chain 4: Iteration: 200 / 1000 [ 20%] (Warmup)\n", "Chain 4: Iteration: 300 / 1000 [ 30%] (Warmup)\n", "Chain 4: Iteration: 400 / 1000 [ 40%] (Warmup)\n", "Chain 4: Iteration: 500 / 1000 [ 50%] (Warmup)\n", "Chain 4: Iteration: 501 / 1000 [ 50%] (Sampling)\n", "Chain 4: Iteration: 600 / 1000 [ 60%] (Sampling)\n", "Chain 4: Iteration: 700 / 1000 [ 70%] (Sampling)\n", "Chain 4: Iteration: 800 / 1000 [ 80%] (Sampling)\n", "Chain 4: Iteration: 900 / 1000 [ 90%] (Sampling)\n", "Chain 4: Iteration: 1000 / 1000 [100%] (Sampling)\n", "Chain 4: \n", "Chain 4: Elapsed Time: 0.251119 seconds (Warm-up)\n", "Chain 4: 0.193643 seconds (Sampling)\n", "Chain 4: 0.444762 seconds (Total)\n", "Chain 4: \n" ] }, { "data": { "text/plain": [ " mean sd 5.5% 94.5% n_eff Rhat4 \n", "a[1] 0.8800983 0.65054147 -0.1834540 1.9201282 565.6799 1.002317\n", "a[2] 0.9746582 0.86439910 -0.4510622 2.3074925 757.6732 1.003718\n", "b[1] 0.2605599 0.03195418 0.2106948 0.3090734 1138.3743 1.001765\n", "b[2] 0.2831560 0.10590607 0.1137215 0.4526956 622.2586 1.003477\n", "g 1.1062560 0.70797752 0.3024785 2.3540911 629.3185 1.000265" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ " mean sd 5.5% 94.5% n_eff Rhat4 \n", "k[1] -0.17161009 0.30414571 -0.66143815 3.048374e-01 926.5023 1.003528\n", "k[2] -0.02551078 0.29169884 -0.47878031 4.402735e-01 753.3845 1.002713\n", "k[3] -0.07561711 0.27855221 -0.52055453 3.612202e-01 739.4431 1.001865\n", "k[4] 0.35279917 0.25374071 -0.02367141 7.671806e-01 847.3504 1.001366\n", "k[5] 0.07363948 0.25145421 -0.31178870 4.764131e-01 870.9978 1.002235\n", "k[6] -0.39117077 0.26439183 -0.82002894 8.650118e-05 981.1092 1.001846\n", "k[7] 0.14151847 0.25239664 -0.25475289 5.382755e-01 968.6247 1.000769\n", "k[8] -0.21500487 0.25418783 -0.62187831 1.696835e-01 897.9545 1.002621\n", "k[9] 0.26435768 0.24242971 -0.09946002 6.444307e-01 989.3732 1.000838\n", "k[10] -0.16908003 0.35172372 -0.73773516 3.745784e-01 1123.8908 1.001359\n", "g 0.61245312 0.59785004 0.07536022 1.714195e+00 1780.2318 1.000548\n", "b 0.27736210 0.08869417 0.13684643 4.203858e-01 993.4723 1.002699\n", "a 1.41967173 1.04841388 0.24911481 3.314933e+00 2475.3185 1.000052\n", "etasq 0.19754352 0.19657566 0.03282469 5.615212e-01 1216.1342 1.000394\n", "rhosq 1.33530555 1.70140632 0.08355641 4.533764e+00 2029.9101 1.000207" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data(islandsDistMatrix)\n", "data(Kline2) # load the ordinary data, now with coordinates\n", "d <- Kline2\n", "d$P <- scale(log(d$population))\n", "d$contact_id <- ifelse(d$contact == \"high\", 2, 1)\n", "\n", "dat <- list(\n", " T = d$total_tools,\n", " P = d$P,\n", " cid = d$contact_id\n", ")\n", "\n", "# intercept only\n", "m11.9 <- ulam(\n", " alist(\n", " T ~ dpois(lambda),\n", " log(lambda) <- a,\n", " a ~ dnorm(3, 0.5)\n", " ),\n", " data = dat, chains = 4, log_lik = TRUE\n", ")\n", "\n", "# interaction model\n", "m11.10 <- ulam(\n", " alist(\n", " T ~ dpois(lambda),\n", " log(lambda) <- a[cid] + b[cid] * P,\n", " a[cid] ~ dnorm(3, 0.5),\n", " b[cid] ~ dnorm(0, 0.2)\n", " ),\n", " data = dat, chains = 4, log_lik = TRUE\n", ")\n", "\n", "dat2 <- list(T = d$total_tools, P = d$population, cid = d$contact_id)\n", "m11.11 <- ulam(\n", " alist(\n", " T ~ dpois(lambda),\n", " lambda <- exp(a[cid]) * P^b[cid] / g,\n", " a[cid] ~ dnorm(1, 1),\n", " b[cid] ~ dexp(1),\n", " g ~ dexp(1)\n", " ),\n", " data = dat2, chains = 4, log_lik = TRUE\n", ")\n", "flush.console()\n", "display(precis(m11.11, depth=2), mimetypes=\"text/plain\")\n", "flush.console()\n", "\n", "d$society <- 1:10 # index observations\n", "dat_list <- list(\n", " T = d$total_tools,\n", " P = d$population,\n", " society = d$society,\n", " Dmat = islandsDistMatrix\n", ")\n", "m14.8 <- ulam(\n", " alist(\n", " T ~ dpois(lambda),\n", " lambda <- (a * P^b / g) * exp(k[society]),\n", " vector[10]:k ~ multi_normal(0, SIGMA),\n", " matrix[10, 10]:SIGMA <- cov_GPL2(Dmat, etasq, rhosq, 0.01),\n", " c(a, b, g) ~ dexp(1),\n", " etasq ~ dexp(2),\n", " rhosq ~ dexp(0.5)\n", " ),\n", " data = dat_list, chains = 4, cores = 4, iter = 2000, log_lik = TRUE\n", ")\n", "flush.console()\n", "display(precis(m14.8, depth=2), mimetypes=\"text/plain\")\n", "flush.console()" ] }, { "cell_type": "markdown", "id": "7ed8336a", "metadata": {}, "source": [ "A `compare` plot with its associated raw data:" ] }, { "cell_type": "code", "execution_count": 7, "id": "fff8b29e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDgAAADwCAMAAADSOiR3AAAC/VBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGTk5OUlJSV\nlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqan\np6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5\nubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrL\ny8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd\n3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v\n7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///93gpTw\nAAAACXBIWXMAABJ0AAASdAHeZh94AAAUvUlEQVR4nO3dCXQUZbrG8TdkgUTCDrIIAXEcR0dh\nInNZ3EAWUXFQ3NhEEMWroIyixlERo+LG4DbigiPuIgooXMEVEWQTUNQISETBqAgKYZWwpc6t\nJZ2uQCrJF7q6vu78f+fwVnVVV9VLn+7ndHW66xMDABRJ0A0AiD0EBwBlBAcAZQQHAGUEBwBl\nBAcAZQQHAGUEBwBlBAcAZQQHAGUEBwBlBAcAZQQHAGUEBwBlBAcAZQQHAGUEBwBlBAcAZQQH\nAGUEBwBlBAcAZQQHAGUEBwBlBAcAZQQHAGUEBwBlBAcAZQQHAGUEBwBlBAcAZQQHAGUEByrk\nFMmxp8Ml256+Kxdbk1FS+w/79io5y54WvtG7SUrDk+/9NYgmETUEBypkrIy3p3+STvb0Rplk\n1j0NqskL9u2i4MjvJmnnjejXWhrOC6RNRAnBgQr5QnpYk3VyQtJWa+avCdZ7ilfl2oRT7fVF\nwXGO9N5kTg48mVh3Y0CdIhoIDlRMsxrWOcnTMlGmmdMN0s5a2FnWnCYrrTknOGZL5j7n7mO7\nLgyoUUQDwYGKGSrvmrXPkX+kXG1OX5A7zfqted4yUW60VjvB0U+mBtgioofgQMVMlRsMY3+d\nvsYZrcxbA2SxYX00OtHYntZgjxEKjqMTtgXbJaKE4EDFbE8+3jAWyrPGPZJrFB7Z8IBhFDRI\nNXPiMplshILjiDpBt4noIDhQQV3kR2OMrDcWy3+MFXKZueQVGWjWOdLNCAVHenqwPSJaCA5U\n0Djz3UanY63TlX+Y86+ZS86QZ3Nzc9ccmbA2FBx/lt+CbhNRQXCggr6RftsTh5szfeoc6JG4\nxTBWS8htoeAYIs8V3bvwywBbhe8IDlRUyybvynRzOkGWHmF9eeNGufINy0uJTfYVBcc8abnd\nufN/zBMaxC+CAxV1jQxItL78lSuD5T7DKKhffZOz4kJ5K/QFsEul/XfmZN9jiU22BNcpfEdw\noKJmSnJHe6ZliqywPhodUrRirpwbCo5d50tSl6svzZCj1wTVJqKB4EBF7aoho+2Zq6SZWU+3\n0sNxYmJe6Eduxow+TZPT20/4I4gOETUEBwBlBAcAZQQHAGVRCY6NywDEnBXer+moBEcvARB7\nlgYbHD1u8/sI0/0+AFDl7JEFnusIDgClIjgAKCM4ACgjOAAoIzgAKCM4ACgjOAAoIzgAKCM4\nACgjOAAoIzgAKCM4ACgjOAAoIzgAKCM4ACgjOAAoIzgAKItQcOy9tdrJ4Vs3yNDwjVUDGyc1\nOH+J15YEBxB7IhMcKzPTXcGxNNEVHDnp9e588Z7GSR95bOp7cOSN/cHnIwBVTkSCY1tqu9zq\n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\nSUVORK5CYII=" }, "metadata": { "filenames": { "image/png": "/tmp/_build/jupyter_execute/notes/practice-14_13_0.png" } }, "output_type": "display_data" }, { "data": { "text/markdown": [ "Raw data (preceding plot):" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ " WAIC SE dWAIC dSE pWAIC weight \n", "m14.8 67.37541 2.22661 0.00000 NA 4.011871 9.980596e-01\n", "m11.11 80.20808 11.40787 12.83267 11.55343 4.972381 1.631467e-03\n", "m11.10 83.53601 12.13926 16.16060 12.13169 6.100473 3.089778e-04\n", "m11.9 141.15520 31.71029 73.77979 32.71638 7.945491 9.507763e-17" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "iplot(function() {\n", " plot(compare(m11.9, m11.10, m11.11, m14.8))\n", "}, ar=4.5)\n", "display_markdown(\"Raw data (preceding plot):\")\n", "display(compare(m11.9, m11.10, m11.11, m14.8), mimetypes=\"text/plain\")" ] }, { "cell_type": "markdown", "id": "9d94da0f", "metadata": {}, "source": [ "The new model does better overall relative to `m11.1` because it presumably has a more accurate\n", "method of estimating the contact between islands. See the first section of **14.5.1** for how the\n", "new model improves upon the old low/high contact indicator.\n", "\n", "The new model also has the lowest penalty term (effective number of parameters). Notice in the\n", "`precis` output above it has 10 intercept terms, and 5 other terms. This is much more than the 5\n", "parameters in `m11.1`, also above. It achieves this relative to `m11.1` because of the significant\n", "regularization provided by parameter sharing.\n", "\n", "**14M5.** Modify the phylogenetic distance example to use group size as the outcome and brain size\n", "as a predictor. Assuming brain size influences group size, what is your estimate of the effect? How\n", "does phylogeny influence the estimate?\n", "\n", "**Answer.** First, let's reproduce the results from the chapter:" ] }, { "cell_type": "code", "execution_count": 8, "id": "f38be537", "metadata": {}, "outputs": [ { "data": { "text/plain": [ " mean sd 5.5% 94.5% n_eff Rhat4 \n", "a -0.0001731167 0.017310086 -0.02790983 0.02609835 1939.636 0.9986765\n", "bG 0.1230980344 0.023572481 0.08502910 0.16036884 1088.188 1.0011412\n", "bM 0.8930430495 0.023047869 0.85791614 0.93003799 1069.554 1.0030455\n", "sigma_sq 0.0473859234 0.005699073 0.03923401 0.05715970 1300.850 1.0026744" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Warning message in Initialize.corPhyl(phy, dummy.df):\n", "“No covariate specified, species will be taken as ordered in the data frame. To avoid this message, specify a covariate containing the species names with the 'form' argument.”\n" ] }, { "data": { "text/plain": [ " mean sd 5.5% 94.5% n_eff Rhat4 \n", "a -0.18873820 0.16496198 -0.44557098 0.07618946 2216.384 1.0027970\n", "bG -0.01217738 0.01971775 -0.04277674 0.01980523 2350.256 0.9990575\n", "bM 0.70105765 0.03861462 0.63972330 0.76345226 1776.208 1.0010190\n", "sigma_sq 0.16148768 0.01875378 0.13339710 0.19432609 2409.753 1.0005959" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ " mean sd 5.5% 94.5% n_eff Rhat4 \n", "a -0.06587284 0.076292599 -0.18646383 0.05812055 2012.089 0.9999619\n", "bG 0.04981556 0.023797105 0.01034797 0.08758256 2213.185 1.0003827\n", "bM 0.83321792 0.030898044 0.78324467 0.88101712 2727.300 0.9988425\n", "etasq 0.03494790 0.006854313 0.02494174 0.04695430 1937.816 0.9993151\n", "rhosq 2.79131896 0.250754096 2.39426624 3.20118552 2170.700 0.9996398" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data(Primates301)\n", "data(Primates301_nex)\n", "\n", "d <- Primates301\n", "d$name <- as.character(d$name)\n", "dstan <- d[complete.cases(d$group_size, d$body, d$brain), ]\n", "spp_obs <- dstan$name\n", "\n", "dat_list <- list(\n", " N_spp = nrow(dstan),\n", " M = standardize(log(dstan$body)),\n", " B = standardize(log(dstan$brain)),\n", " G = standardize(log(dstan$group_size)),\n", " Imat = diag(nrow(dstan))\n", ")\n", "m14.9 <- ulam(\n", " alist(\n", " B ~ multi_normal(mu, SIGMA),\n", " mu <- a + bM * M + bG * G,\n", " matrix[N_spp, N_spp]:SIGMA <- Imat * sigma_sq,\n", " a ~ normal(0, 1),\n", " c(bM, bG) ~ normal(0, 0.5),\n", " sigma_sq ~ exponential(1)\n", " ),\n", " data = dat_list, chains = 4, cores = 4\n", ")\n", "display(precis(m14.9, depth=2), mimetypes=\"text/plain\")\n", "\n", "library(ape)\n", "tree_trimmed <- keep.tip(Primates301_nex, spp_obs)\n", "Rbm <- corBrownian(phy = tree_trimmed)\n", "V <- vcv(Rbm)\n", "\n", "# put species in right order\n", "dat_list$V <- V[spp_obs, spp_obs]\n", "# convert to correlation matrix\n", "dat_list$R <- dat_list$V / max(V)\n", "\n", "m14.10 <- ulam(\n", " alist(\n", " B ~ multi_normal(mu, SIGMA),\n", " mu <- a + bM * M + bG * G,\n", " matrix[N_spp, N_spp]:SIGMA <- R * sigma_sq,\n", " a ~ normal(0, 1),\n", " c(bM, bG) ~ normal(0, 0.5),\n", " sigma_sq ~ exponential(1)\n", " ),\n", " data = dat_list, chains = 4, cores = 4\n", ")\n", "display(precis(m14.10, depth=2), mimetypes=\"text/plain\")\n", "\n", "Dmat <- cophenetic(tree_trimmed)\n", "# add scaled and reordered distance matrix\n", "dat_list$Dmat <- Dmat[spp_obs, spp_obs] / max(Dmat)\n", "\n", "m14.11 <- ulam(\n", " alist(\n", " B ~ multi_normal(mu, SIGMA),\n", " mu <- a + bM * M + bG * G,\n", " matrix[N_spp, N_spp]:SIGMA <- cov_GPL1(Dmat, etasq, rhosq, 0.01),\n", " a ~ normal(0, 1),\n", " c(bM, bG) ~ normal(0, 0.5),\n", " etasq ~ half_normal(1, 0.25),\n", " rhosq ~ half_normal(3, 0.25)\n", " ),\n", " data = dat_list, chains = 4, cores = 4\n", ")\n", "display(precis(m14.11, depth=2), mimetypes=\"text/plain\")" ] }, { "cell_type": "markdown", "id": "1ffc06cc", "metadata": {}, "source": [ "Reversing the prediction problem:" ] }, { "cell_type": "code", "execution_count": 9, "id": "0a2c768a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ " mean sd 5.5% 94.5% n_eff Rhat4 \n", "a -0.001417642 0.05685219 -0.09147605 0.08793679 1327.7488 0.9992159\n", "bB 1.004936856 0.20442226 0.68104136 1.34138179 854.5307 1.0005631\n", "bM -0.337334331 0.20456292 -0.67326748 -0.01079579 828.9535 1.0016998\n", "sigma_sq 0.519471576 0.06055068 0.42832399 0.61695123 1429.3501 1.0018326" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ " mean sd 5.5% 94.5% n_eff Rhat4 \n", "a -0.47774105 0.5678362 -1.359264822 0.4414133 1496.797 1.000575\n", "bB -0.07150671 0.2583164 -0.476816067 0.3477977 1091.952 1.000832\n", "bM 0.34676958 0.2160707 0.001476129 0.6938241 1003.165 1.001472\n", "sigma_sq 2.68982107 0.3120843 2.234004692 3.2161848 1479.938 1.003012" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ " mean sd 5.5% 94.5% n_eff Rhat4 \n", "a -0.5021950 0.3442075 -1.0440793 0.03602275 1511.5889 1.000513\n", "bB 0.1850170 0.2626387 -0.2375381 0.60738516 968.2030 1.000422\n", "bM 0.1880509 0.2259942 -0.1873261 0.54406083 989.1999 1.000826\n", "etasq 0.9309690 0.1206105 0.7537561 1.14232420 1593.3978 1.000191\n", "rhosq 3.0219251 0.2384142 2.6610231 3.40037960 1592.1098 1.003639" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dat_list <- list(\n", " N_spp = nrow(dstan),\n", " M = standardize(log(dstan$body)),\n", " B = standardize(log(dstan$brain)),\n", " G = standardize(log(dstan$group_size)),\n", " Imat = diag(nrow(dstan))\n", ")\n", "m14.9_reversed <- ulam(\n", " alist(\n", " G ~ multi_normal(mu, SIGMA),\n", " mu <- a + bM * M + bB * B,\n", " matrix[N_spp, N_spp]:SIGMA <- Imat * sigma_sq,\n", " a ~ normal(0, 1),\n", " c(bM, bB) ~ normal(0, 0.5),\n", " sigma_sq ~ exponential(1)\n", " ),\n", " data = dat_list, chains = 4, cores = 4\n", ")\n", "display(precis(m14.9_reversed, depth=2), mimetypes=\"text/plain\")\n", "\n", "# put species in right order\n", "dat_list$V <- V[spp_obs, spp_obs]\n", "# convert to correlation matrix\n", "dat_list$R <- dat_list$V / max(V)\n", "\n", "m14.10_reversed <- ulam(\n", " alist(\n", " G ~ multi_normal(mu, SIGMA),\n", " mu <- a + bM * M + bB * B,\n", " matrix[N_spp, N_spp]:SIGMA <- R * sigma_sq,\n", " a ~ normal(0, 1),\n", " c(bM, bB) ~ normal(0, 0.5),\n", " sigma_sq ~ exponential(1)\n", " ),\n", " data = dat_list, chains = 4, cores = 4\n", ")\n", "display(precis(m14.10_reversed, depth=2), mimetypes=\"text/plain\")\n", "\n", "# add scaled and reordered distance matrix\n", "dat_list$Dmat <- Dmat[spp_obs, spp_obs] / max(Dmat)\n", "\n", "m14.11_reversed <- ulam(\n", " alist(\n", " G ~ multi_normal(mu, SIGMA),\n", " mu <- a + bM * M + bB * B,\n", " matrix[N_spp, N_spp]:SIGMA <- cov_GPL1(Dmat, etasq, rhosq, 0.01),\n", " a ~ normal(0, 1),\n", " c(bM, bB) ~ normal(0, 0.5),\n", " etasq ~ half_normal(1, 0.25),\n", " rhosq ~ half_normal(3, 0.25)\n", " ),\n", " data = dat_list, chains = 4, cores = 4\n", ")\n", "display(precis(m14.11_reversed, depth=2), mimetypes=\"text/plain\")" ] }, { "cell_type": "markdown", "id": "ec9958fa", "metadata": {}, "source": [ "Interestingly, the ordinary regression model makes an even more extreme prediction about how group\n", "size influences brain size than the reverse. Still, the uncertainties are large.\n", "\n", "The addition of phylogeny once again removes the presumed effect. The uncertainties are so large in\n", "these latter two models that they really say almost nothing about an association.\n", "\n", "**14H1.** Let’s revisit the Bangladesh fertility data, `data(bangladesh)`, from the practice\n", "problems for Chapter 13. Fit a model with both varying intercepts by `district_id` and varying\n", "slopes of `urban` by `district_id`. You are still predicting `use.contraception`. Inspect the\n", "correlation between the intercepts and slopes. Can you interpret this correlation, in terms of what\n", "it tells you about the pattern of contraceptive use in the sample? It might help to plot the mean\n", "(or median) varying effect estimates for both the intercepts and slopes, by district. Then you can\n", "visualize the correlation and maybe more easily think through what it means to have a particular\n", "correlation. Plotting predicted proportion of women using contraception, with urban women on one\n", "axis and rural on the other, might also help.\n", "\n", "**Answer.** To review, the `help` for the `bangladesh` data.frame:" ] }, { "cell_type": "code", "execution_count": 10, "id": "cb4c22ab", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
bangladesh {rethinking} | R Documentation |
Contraceptive use data from 1934 Bangladeshi women.\n", "
\n", "\n", "\n", "\n", "data(bangladesh)\n", "\n", "\n", "\n", "
woman : ID number for each woman in sample\n", "
\n", "district : Number for each district\n", "
\n", "use.contraception : 0/1 indicator of contraceptive use\n", "
\n", "living.children : Number of living children\n", "
\n", "age.centered : Centered age\n", "
\n", "urban : 0/1 indicator of urban context\n", "
\n", "Bangladesh Fertility Survey, 1989
\n", "\n", "woman | district | use.contraception | living.children | age.centered | urban | district_id | |
---|---|---|---|---|---|---|---|
<int> | <int> | <int> | <int> | <dbl> | <int> | <int> | |
1 | 1 | 1 | 0 | 4 | 18.4400 | 1 | 1 |
2 | 2 | 1 | 0 | 1 | -5.5599 | 1 | 1 |
3 | 3 | 1 | 0 | 3 | 1.4400 | 1 | 1 |
4 | 4 | 1 | 0 | 4 | 8.4400 | 1 | 1 |
5 | 5 | 1 | 0 | 1 | -13.5590 | 1 | 1 |
6 | 6 | 1 | 0 | 1 | -11.5600 | 1 | 1 |
Subject | age | height | Occasion | |
---|---|---|---|---|
<int> | <dbl> | <dbl> | <int> | |
1 | 1 | -1.0000 | 140.5 | 1 |
2 | 1 | -0.7479 | 143.4 | 2 |
3 | 1 | -0.4630 | 144.8 | 3 |
4 | 1 | -0.1643 | 147.1 | 4 |
5 | 1 | -0.0027 | 147.7 | 5 |
6 | 1 | 0.2466 | 150.2 | 6 |