Kernel: Python 3
In [1]:
Code 11.1
In [2]:
case | response | order | id | age | male | edu | action | intention | contact | story | action2 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | cfaqu | 4 | 2 | 96;434 | 14 | 0 | Middle School | 0 | 0 | 1 | aqu | 1 |
1 | cfbur | 3 | 31 | 96;434 | 14 | 0 | Middle School | 0 | 0 | 1 | bur | 1 |
2 | cfrub | 4 | 16 | 96;434 | 14 | 0 | Middle School | 0 | 0 | 1 | rub | 1 |
3 | cibox | 3 | 32 | 96;434 | 14 | 0 | Middle School | 0 | 1 | 1 | box | 1 |
4 | cibur | 3 | 4 | 96;434 | 14 | 0 | Middle School | 0 | 1 | 1 | bur | 1 |
Code 11.2
In [3]:
Code 11.3
In [4]:
Code 11.4
In [5]:
In [6]:
Code 11.5
The following Ordered
transformation is taken from PyMC discourse.
In [7]:
In [8]:
In [9]:
logp = -18,941, ||grad|| = 0.45229: 100%|██████████| 14/14 [00:00<00:00, 23.21it/s] ]
Code 11.6
In [10]:
array([-1.9160707 , -1.26658298, -0.71862013, 0.24778795, 0.88986631,
1.76937289])
Code 11.7
In [11]:
array([ 0.12830038, 0.21984275, 0.32769691, 0.56163196, 0.70886258,
0.85437967])
Code 11.8
In [12]:
Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
100%|██████████| 2000/2000 [00:16<00:00, 160.45it/s]
In [13]:
mean | sd | mc_error | hpd_5.5 | hpd_94.5 | n_eff | Rhat | |
---|---|---|---|---|---|---|---|
a__0 | -1.92 | 0.03 | 0.0 | -1.97 | -1.87 | 2000.0 | 1.0 |
a__1 | -1.27 | 0.02 | 0.0 | -1.31 | -1.23 | 2000.0 | 1.0 |
a__2 | -0.72 | 0.02 | 0.0 | -0.75 | -0.69 | 2000.0 | 1.0 |
a__3 | 0.25 | 0.02 | 0.0 | 0.21 | 0.28 | 2000.0 | 1.0 |
a__4 | 0.89 | 0.02 | 0.0 | 0.86 | 0.92 | 2000.0 | 1.0 |
a__5 | 1.77 | 0.03 | 0.0 | 1.73 | 1.82 | 2000.0 | 1.0 |
Code 11.9
In [14]:
In [15]:
array([ 0.12753048, 0.09170783, 0.10820073, 0.2341595 , 0.14767958,
0.14570807, 0.14501382])
Code 11.10
In [16]:
4.1999293593514384
Code 11.11
In [17]:
array([ 0.08143763, 0.06409094, 0.08244469, 0.20927244, 0.15948963,
0.18473514, 0.21852952])
Code 11.12
In [18]:
4.7296090400791702
Code 11.13
In [19]:
In [20]:
logp = -18,565, ||grad|| = 3.7472: 100%|██████████| 17/17 [00:00<00:00, 58.64it/s]
Code 11.14
In [21]:
In [22]:
logp = -18,489, ||grad|| = 0.91902: 100%|██████████| 26/26 [00:00<00:00, 110.84it/s]
Code 11.15
In [23]:
In [24]:
m11_1 | m11_2 | m11_3 | |
---|---|---|---|
a_0 | -1.92 | -2.84 | -2.63 |
a_1 | -1.27 | -2.16 | -1.94 |
a_2 | -0.72 | -1.57 | -1.34 |
a_3 | 0.25 | -0.55 | -0.31 |
a_4 | 0.89 | 0.12 | 0.36 |
a_5 | 1.77 | 1.02 | 1.27 |
bA | NaN | -0.71 | -0.47 |
bAI | NaN | NaN | -0.45 |
bC | NaN | -0.96 | -0.33 |
bCI | NaN | NaN | -1.27 |
bI | NaN | -0.72 | -0.28 |
Code 11.16
In [25]:
Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
100%|██████████| 2000/2000 [03:19<00:00, 7.63it/s]
In [26]:
Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
100%|██████████| 2000/2000 [04:16<00:00, 7.37it/s]
In [27]:
WAIC | pWAIC | dWAIC | weight | SE | dSE | warning | |
---|---|---|---|---|---|---|---|
model | |||||||
m11.3 | 36929 | 10.88 | 0 | 0.95 | 81.38 | 0 | 0 |
m11.2 | 37090.3 | 9.16 | 161.28 | 0 | 76.42 | 25.88 | 0 |
m11.1 | 37854.4 | 5.94 | 925.44 | 0.05 | 57.69 | 62.95 | 0 |
Code 11.17-19
In [28]:
In [29]:
action | contact | intention | |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 |
2 | 1 | 0 | 0 |
3 | 1 | 0 | 1 |
4 | 0 | 1 | 0 |
5 | 0 | 1 | 1 |
In [30]:
100%|██████████| 1500/1500 [00:17<00:00, 87.99it/s]
In [31]:
In [32]:
In [33]:
resp | 0 | 1 | 2 | 3 | 4 | 5 | ||
---|---|---|---|---|---|---|---|---|
action | contact | intention | ||||||
0 | 0 | 0 | 0.069333 | 0.128000 | 0.208000 | 0.418667 | 0.568667 | 0.757333 |
1 | 0.076667 | 0.145333 | 0.238667 | 0.470000 | 0.648000 | 0.818667 | ||
1 | 0 | 0.089333 | 0.171333 | 0.266667 | 0.514667 | 0.687333 | 0.838000 | |
1 | 0.330000 | 0.484667 | 0.642000 | 0.834667 | 0.906667 | 0.956667 | ||
1 | 0 | 0 | 0.109333 | 0.191333 | 0.286667 | 0.544000 | 0.705333 | 0.861333 |
1 | 0.179333 | 0.308000 | 0.466667 | 0.697333 | 0.822000 | 0.916667 |
In [34]:
Code 11.20
In [35]:
In [36]:
Code 11.21
In [37]:
In [38]:
Code 11.22
In [39]:
In [40]:
logp = -462.79, ||grad|| = 0.00047532: 100%|██████████| 12/12 [00:00<00:00, 211.49it/s]s]
In [41]:
{'al': array(0.05019473453063987), 'ap': array(-1.426975323508402)}
Code 11.23
In [42]:
0.19357040138820736
In [43]:
1.0514758350937541
Code 11.24
In [44]:
Code 11.25
In [45]:
In [46]:
In [47]:
Code 11.26
In [48]:
dept | applicant.gender | admit | reject | applications | |
---|---|---|---|---|---|
1 | A | male | 512 | 313 | 825 |
2 | A | female | 89 | 19 | 108 |
3 | B | male | 353 | 207 | 560 |
4 | B | female | 17 | 8 | 25 |
5 | C | male | 120 | 205 | 325 |
In [49]:
In [50]:
Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
100%|██████████| 2000/2000 [00:02<00:00, 718.29it/s]
Code 11.27
In [51]:
mean | sd | mc_error | hpd_5.5 | hpd_94.5 | n_eff | Rhat | |
---|---|---|---|---|---|---|---|
a | -0.37 | 0.31 | 0.01 | -0.86 | 0.12 | 1860.0 | 1.0 |
pbar | 0.41 | 0.07 | 0.00 | 0.30 | 0.53 | 1863.0 | 1.0 |
theta | 2.78 | 0.99 | 0.02 | 1.25 | 4.22 | 1641.0 | 1.0 |
Code 11.28
In [52]:
array([ 0.28260569, 0.40670155, 0.56068546])
Code 11.29
In [53]:
Code 11.30
In [54]:
100%|██████████| 1000/1000 [00:02<00:00, 355.73it/s]
In [55]:
Code 11.31
In [56]:
In [57]:
This notebook was createad on a computer x86_64 running debian stretch/sid and using:
Python 3.6.2
IPython 6.1.0
PyMC3 3.2
NumPy 1.13.3
Pandas 0.20.3
SciPy 0.19.1
Matplotlib 2.1.0