On page 402 of Edition 2, this model is defined as
import CSV
import Random
using DataFrames
using TuringModels
Random.seed!(1)
data_path = joinpath(TuringModels.project_root, "data", "reedfrogs.csv")
df = CSV.read(data_path, DataFrame; delim=';');
df.tank_index = 1:nrow(df)
df
48×6 DataFrame
Row │ density pred size surv propsurv tank_index
│ Int64 String7 String7 Int64 Float64 Int64
─────┼────────────────────────────────────────────────────────
1 │ 10 no big 9 0.9 1
2 │ 10 no big 10 1.0 2
3 │ 10 no big 7 0.7 3
4 │ 10 no big 10 1.0 4
5 │ 10 no small 9 0.9 5
6 │ 10 no small 9 0.9 6
7 │ 10 no small 10 1.0 7
8 │ 10 no small 9 0.9 8
9 │ 10 pred big 4 0.4 9
10 │ 10 pred big 9 0.9 10
11 │ 10 pred big 7 0.7 11
12 │ 10 pred big 6 0.6 12
13 │ 10 pred small 7 0.7 13
14 │ 10 pred small 5 0.5 14
15 │ 10 pred small 9 0.9 15
16 │ 10 pred small 9 0.9 16
17 │ 25 no big 24 0.96 17
18 │ 25 no big 23 0.92 18
19 │ 25 no big 22 0.88 19
20 │ 25 no big 25 1.0 20
21 │ 25 no small 23 0.92 21
22 │ 25 no small 23 0.92 22
23 │ 25 no small 23 0.92 23
24 │ 25 no small 21 0.84 24
25 │ 25 pred big 6 0.24 25
26 │ 25 pred big 13 0.52 26
27 │ 25 pred big 4 0.16 27
28 │ 25 pred big 9 0.36 28
29 │ 25 pred small 13 0.52 29
30 │ 25 pred small 20 0.8 30
31 │ 25 pred small 8 0.32 31
32 │ 25 pred small 10 0.4 32
33 │ 35 no big 34 0.971429 33
34 │ 35 no big 33 0.942857 34
35 │ 35 no big 33 0.942857 35
36 │ 35 no big 31 0.885714 36
37 │ 35 no small 31 0.885714 37
38 │ 35 no small 35 1.0 38
39 │ 35 no small 33 0.942857 39
40 │ 35 no small 32 0.914286 40
41 │ 35 pred big 4 0.114286 41
42 │ 35 pred big 12 0.342857 42
43 │ 35 pred big 13 0.371429 43
44 │ 35 pred big 14 0.4 44
45 │ 35 pred small 22 0.628571 45
46 │ 35 pred small 12 0.342857 46
47 │ 35 pred small 31 0.885714 47
48 │ 35 pred small 17 0.485714 48
using Turing
using StatsFuns: logistic
@model function reedfrogs(Nᵢ, i, Sᵢ)
αₜₐₙₖ ~ filldist(Normal(0, 1.5), length(i))
pᵢ = logistic.(αₜₐₙₖ[i])
Sᵢ .~ Binomial.(Nᵢ, pᵢ)
end;
n = nrow(df)
model = reedfrogs(df.density, df.tank_index, df.surv)
chns = sample(model, NUTS(), 1000)
Chains MCMC chain (1000×60×1 Array{Float64, 3}):
Iterations = 501:1:1500
Number of chains = 1
Samples per chain = 1000
Wall duration = 10.58 seconds
Compute duration = 10.58 seconds
parameters = αₜₐₙₖ[1], αₜₐₙₖ[2], αₜₐₙₖ[3], αₜₐₙₖ[4], αₜₐₙₖ[5], αₜₐₙₖ[6], αₜₐₙₖ[7], αₜₐₙₖ[8], αₜₐₙₖ[9], αₜₐₙₖ[10], αₜₐₙₖ[11], αₜₐₙₖ[12], αₜₐₙₖ[13], αₜₐₙₖ[14], αₜₐₙₖ[15], αₜₐₙₖ[16], αₜₐₙₖ[17], αₜₐₙₖ[18], αₜₐₙₖ[19], αₜₐₙₖ[20], αₜₐₙₖ[21], αₜₐₙₖ[22], αₜₐₙₖ[23], αₜₐₙₖ[24], αₜₐₙₖ[25], αₜₐₙₖ[26], αₜₐₙₖ[27], αₜₐₙₖ[28], αₜₐₙₖ[29], αₜₐₙₖ[30], αₜₐₙₖ[31], αₜₐₙₖ[32], αₜₐₙₖ[33], αₜₐₙₖ[34], αₜₐₙₖ[35], αₜₐₙₖ[36], αₜₐₙₖ[37], αₜₐₙₖ[38], αₜₐₙₖ[39], αₜₐₙₖ[40], αₜₐₙₖ[41], αₜₐₙₖ[42], αₜₐₙₖ[43], αₜₐₙₖ[44], αₜₐₙₖ[45], αₜₐₙₖ[46], αₜₐₙₖ[47], αₜₐₙₖ[48]
internals = lp, n_steps, is_accept, acceptance_rate, log_density, hamiltonian_energy, hamiltonian_energy_error, max_hamiltonian_energy_error, tree_depth, numerical_error, step_size, nom_step_size
Summary Statistics
parameters mean std naive_se mcse ess rhat ess_per_sec
Symbol Float64 Float64 Float64 Float64 Float64 Float64 Float64
αₜₐₙₖ[1] 1.7229 0.7901 0.0250 0.0189 2166.8347 0.9992 204.7080
αₜₐₙₖ[2] 2.3683 0.8793 0.0278 0.0155 3474.3077 0.9991 328.2294
αₜₐₙₖ[3] 0.7592 0.6329 0.0200 0.0171 2318.5009 0.9992 219.0365
αₜₐₙₖ[4] 2.3891 0.8672 0.0274 0.0220 1524.3635 1.0003 144.0117
αₜₐₙₖ[5] 1.7203 0.7516 0.0238 0.0167 2288.5157 0.9995 216.2037
αₜₐₙₖ[6] 1.7297 0.7582 0.0240 0.0198 2039.3706 0.9997 192.6661
αₜₐₙₖ[7] 2.4373 0.9359 0.0296 0.0254 1468.2320 0.9994 138.7087
αₜₐₙₖ[8] 1.7234 0.7248 0.0229 0.0176 2097.4599 0.9995 198.1540
αₜₐₙₖ[9] -0.3681 0.6044 0.0191 0.0091 2523.0377 0.9995 238.3597
αₜₐₙₖ[10] 1.7100 0.7156 0.0226 0.0152 2080.2889 0.9990 196.5318
αₜₐₙₖ[11] 0.7669 0.5918 0.0187 0.0135 2169.1890 1.0003 204.9305
αₜₐₙₖ[12] 0.3854 0.6110 0.0193 0.0121 2145.4342 0.9991 202.6863
αₜₐₙₖ[13] 0.7479 0.6045 0.0191 0.0124 2822.1076 1.0010 266.6139
αₜₐₙₖ[14] -0.0188 0.6088 0.0193 0.0131 1994.8192 0.9991 188.4572
αₜₐₙₖ[15] 1.7090 0.7719 0.0244 0.0176 2672.3908 0.9990 252.4696
αₜₐₙₖ[16] 1.7389 0.7834 0.0248 0.0229 1294.4368 0.9999 122.2897
αₜₐₙₖ[17] 2.5499 0.7103 0.0225 0.0150 1647.7655 0.9995 155.6699
αₜₐₙₖ[18] 2.1288 0.6120 0.0194 0.0125 1838.6002 0.9990 173.6987
αₜₐₙₖ[19] 1.7993 0.5081 0.0161 0.0134 1883.4448 0.9996 177.9353
αₜₐₙₖ[20] 3.1104 0.7907 0.0250 0.0194 1690.5006 0.9994 159.7072
αₜₐₙₖ[21] 2.1414 0.5777 0.0183 0.0155 1510.4187 1.0023 142.6943
αₜₐₙₖ[22] 2.1357 0.6106 0.0193 0.0167 1261.9047 0.9992 119.2163
αₜₐₙₖ[23] 2.1274 0.5808 0.0184 0.0140 1941.2564 0.9999 183.3969
αₜₐₙₖ[24] 1.5339 0.5158 0.0163 0.0115 2286.6835 0.9990 216.0306
αₜₐₙₖ[25] -1.0805 0.4390 0.0139 0.0094 2024.5796 0.9992 191.2687
αₜₐₙₖ[26] 0.0832 0.3629 0.0115 0.0080 1750.0518 0.9993 165.3332
αₜₐₙₖ[27] -1.5309 0.5042 0.0159 0.0111 1942.8943 0.9994 183.5517
αₜₐₙₖ[28] -0.5571 0.4091 0.0129 0.0086 1858.2189 0.9994 175.5521
αₜₐₙₖ[29] 0.0632 0.4102 0.0130 0.0081 2271.2495 0.9993 214.5725
αₜₐₙₖ[30] 1.3092 0.5099 0.0161 0.0127 2413.3840 0.9990 228.0004
αₜₐₙₖ[31] -0.7203 0.4111 0.0130 0.0089 2302.6227 0.9994 217.5364
αₜₐₙₖ[32] -0.3995 0.3983 0.0126 0.0089 2693.6089 0.9990 254.4742
αₜₐₙₖ[33] 2.8696 0.6896 0.0218 0.0167 2689.3440 0.9990 254.0712
αₜₐₙₖ[34] 2.4641 0.5767 0.0182 0.0116 2500.3126 0.9991 236.2128
αₜₐₙₖ[35] 2.4447 0.5816 0.0184 0.0136 1683.6415 0.9995 159.0592
αₜₐₙₖ[36] 1.9135 0.4762 0.0151 0.0116 2080.6826 0.9991 196.5690
αₜₐₙₖ[37] 1.9033 0.4558 0.0144 0.0092 2302.9987 0.9992 217.5719
αₜₐₙₖ[38] 3.3542 0.7766 0.0246 0.0164 1607.4831 0.9992 151.8642
αₜₐₙₖ[39] 2.4588 0.5769 0.0182 0.0129 1974.8799 0.9991 186.5734
αₜₐₙₖ[40] 2.1430 0.4772 0.0151 0.0091 2766.6474 0.9990 261.3743
αₜₐₙₖ[41] -1.8847 0.4483 0.0142 0.0089 2434.1114 0.9990 229.9586
αₜₐₙₖ[42] -0.6303 0.3664 0.0116 0.0073 2572.9245 1.0001 243.0727
αₜₐₙₖ[43] -0.5097 0.3514 0.0111 0.0083 1448.6123 0.9990 136.8552
αₜₐₙₖ[44] -0.4010 0.3324 0.0105 0.0075 1748.1515 0.9990 165.1537
αₜₐₙₖ[45] 0.5286 0.3448 0.0109 0.0071 2304.6582 0.9991 217.7287
αₜₐₙₖ[46] -0.6270 0.3522 0.0111 0.0072 3049.0375 0.9990 288.0527
αₜₐₙₖ[47] 1.8937 0.4472 0.0141 0.0074 2543.0911 0.9993 240.2542
αₜₐₙₖ[48] -0.0593 0.3297 0.0104 0.0078 2095.9310 0.9990 198.0095
Quantiles
parameters 2.5% 25.0% 50.0% 75.0% 97.5%
Symbol Float64 Float64 Float64 Float64 Float64
αₜₐₙₖ[1] 0.3000 1.1793 1.6990 2.2306 3.3273
αₜₐₙₖ[2] 0.7700 1.7536 2.3219 2.9148 4.2020
αₜₐₙₖ[3] -0.4034 0.3516 0.7251 1.1226 2.1456
αₜₐₙₖ[4] 0.8297 1.7941 2.3418 2.9343 4.2390
αₜₐₙₖ[5] 0.3881 1.1867 1.6986 2.2248 3.2685
αₜₐₙₖ[6] 0.3062 1.2200 1.7010 2.1816 3.2926
αₜₐₙₖ[7] 0.8586 1.8209 2.3379 2.9885 4.4081
αₜₐₙₖ[8] 0.4119 1.2251 1.6942 2.1741 3.2624
αₜₐₙₖ[9] -1.5193 -0.7835 -0.3696 0.0463 0.8606
αₜₐₙₖ[10] 0.3637 1.2251 1.6686 2.1722 3.2088
αₜₐₙₖ[11] -0.3592 0.3640 0.7381 1.1629 1.9542
αₜₐₙₖ[12] -0.8058 -0.0316 0.3826 0.7918 1.6462
αₜₐₙₖ[13] -0.3819 0.3161 0.7502 1.1445 1.9435
αₜₐₙₖ[14] -1.2250 -0.4258 0.0036 0.3691 1.2020
αₜₐₙₖ[15] 0.3195 1.1885 1.6524 2.1759 3.3185
αₜₐₙₖ[16] 0.3429 1.2027 1.6645 2.1993 3.5038
αₜₐₙₖ[17] 1.3188 2.0554 2.4950 2.9991 4.0607
αₜₐₙₖ[18] 1.1038 1.6867 2.0737 2.5578 3.4183
αₜₐₙₖ[19] 0.8708 1.4282 1.7837 2.1301 2.8436
αₜₐₙₖ[20] 1.7292 2.5630 3.0597 3.5783 4.8551
αₜₐₙₖ[21] 1.0920 1.7244 2.1055 2.5413 3.3856
αₜₐₙₖ[22] 1.0258 1.7001 2.0898 2.5453 3.4101
αₜₐₙₖ[23] 1.0658 1.7083 2.0963 2.5205 3.2872
αₜₐₙₖ[24] 0.5771 1.1967 1.5172 1.8489 2.6601
αₜₐₙₖ[25] -2.0057 -1.3495 -1.0643 -0.7986 -0.2599
αₜₐₙₖ[26] -0.5988 -0.1772 0.0846 0.3527 0.7293
αₜₐₙₖ[27] -2.5762 -1.8516 -1.5231 -1.1953 -0.5995
αₜₐₙₖ[28] -1.3741 -0.8391 -0.5515 -0.2652 0.2358
αₜₐₙₖ[29] -0.7438 -0.2159 0.0616 0.3331 0.8807
αₜₐₙₖ[30] 0.3808 0.9635 1.2768 1.6266 2.3754
αₜₐₙₖ[31] -1.5841 -0.9792 -0.7214 -0.4396 0.0414
αₜₐₙₖ[32] -1.2139 -0.6509 -0.3912 -0.1285 0.3692
αₜₐₙₖ[33] 1.6474 2.4218 2.8114 3.2554 4.4025
αₜₐₙₖ[34] 1.4145 2.0737 2.4344 2.8059 3.6922
αₜₐₙₖ[35] 1.4193 2.0549 2.4200 2.7844 3.7112
αₜₐₙₖ[36] 1.0651 1.5647 1.8914 2.2285 2.9160
αₜₐₙₖ[37] 1.1017 1.5741 1.8816 2.1900 2.8664
αₜₐₙₖ[38] 2.0619 2.7923 3.2908 3.8543 5.0812
αₜₐₙₖ[39] 1.4354 2.0556 2.4267 2.8395 3.7202
αₜₐₙₖ[40] 1.2587 1.8349 2.1284 2.4548 3.1228
αₜₐₙₖ[41] -2.8292 -2.1910 -1.8595 -1.5841 -1.0640
αₜₐₙₖ[42] -1.3634 -0.8787 -0.6226 -0.3825 0.0706
αₜₐₙₖ[43] -1.2219 -0.7380 -0.5147 -0.2634 0.1545
αₜₐₙₖ[44] -1.0664 -0.6212 -0.3877 -0.1615 0.2092
αₜₐₙₖ[45] -0.1136 0.3063 0.5326 0.7618 1.1834
αₜₐₙₖ[46] -1.3531 -0.8462 -0.6223 -0.3933 0.0624
αₜₐₙₖ[47] 1.0840 1.5682 1.8801 2.1857 2.8745
αₜₐₙₖ[48] -0.6802 -0.2842 -0.0647 0.1559 0.5869
using StatsPlots
StatsPlots.plot(chns)
"/home/runner/work/TuringModels.jl/TuringModels.jl/__site/assets/models/varying-intercepts-reedfrogs/code/output/chns.svg"
"""
mean sd 5.5% 94.5% n_eff Rhat
a_tank[1] 2.49 1.16 0.85 4.53 1079 1
a_tank[2] 5.69 2.75 2.22 10.89 1055 1
a_tank[3] 0.89 0.75 -0.23 2.16 1891 1
a_tank[4] 5.71 2.70 2.21 10.85 684 1
a_tank[5] 2.52 1.14 0.92 4.42 1640 1
a_tank[6] 2.49 1.13 0.94 4.52 1164 1
a_tank[7] 5.74 2.71 2.25 10.86 777 1
a_tank[8] 2.52 1.19 0.95 4.42 1000 1
a_tank[9] -0.46 0.69 -1.62 0.55 2673 1
a_tank[10] 2.53 1.19 0.93 4.59 1430 1
a_tank[11] 0.93 0.72 -0.17 2.11 1387 1
a_tank[12] 0.47 0.74 -0.63 1.70 1346 1
a_tank[13] 0.91 0.76 -0.25 2.30 1559 1
a_tank[14] 0.00 0.66 -1.04 1.06 2085 1
a_tank[15] 2.50 1.19 0.95 4.40 1317 1
a_tank[16] 2.50 1.14 0.98 4.31 1412 1
a_tank[17] 3.49 1.12 1.94 5.49 945 1
a_tank[18] 2.59 0.75 1.50 3.81 1561 1
a_tank[19] 2.11 0.64 1.15 3.15 1712 1
a_tank[20] 6.40 2.57 3.11 11.04 996 1
a_tank[21] 2.59 0.74 1.54 3.93 1233 1
a_tank[22] 2.63 0.79 1.49 4.01 1184 1
a_tank[23] 2.64 0.83 1.45 4.13 1379 1
a_tank[24] 1.74 0.59 0.85 2.72 1736 1
a_tank[25] -1.19 0.45 -1.90 -0.50 2145 1
a_tank[26] 0.09 0.41 -0.53 0.78 2167 1
a_tank[27] -1.75 0.56 -2.65 -0.88 1666 1
a_tank[28] -0.58 0.43 -1.25 0.08 1567 1
a_tank[29] 0.08 0.39 -0.54 0.71 3053 1
a_tank[30] 1.43 0.49 0.66 2.24 2754 1
a_tank[31] -0.79 0.44 -1.50 -0.12 1299 1
a_tank[32] -0.42 0.41 -1.12 0.23 1661 1
a_tank[33] 3.84 1.08 2.31 5.70 808 1
a_tank[34] 3.00 0.85 1.83 4.36 1038 1
a_tank[35] 2.96 0.82 1.82 4.25 1578 1
a_tank[36] 2.14 0.55 1.31 3.08 1734 1
a_tank[37] 2.12 0.56 1.31 3.04 1131 1
a_tank[38] 6.72 2.62 3.45 11.44 706 1
a_tank[39] 2.95 0.73 1.85 4.08 1509 1
a_tank[40] 2.48 0.65 1.53 3.61 1731 1
a_tank[41] -2.15 0.57 -3.11 -1.29 1231 1
a_tank[42] -0.67 0.35 -1.22 -0.14 1444 1
a_tank[43] -0.54 0.35 -1.12 0.03 1776 1
a_tank[44] -0.43 0.34 -1.00 0.10 1735 1
a_tank[45] 0.54 0.36 -0.04 1.14 1376 1
a_tank[46] -0.67 0.34 -1.25 -0.15 1619 1
a_tank[47] 2.14 0.55 1.31 3.04 1916 1
a_tank[48] -0.06 0.35 -0.61 0.50 1932 1
""";