14
14
'mother_hs' , 'early_ident' ]].astype (float ).values .T
15
15
16
16
with pm .Model () as model :
17
-
18
17
# Impute missing values
19
- sib_mean = pm .Exponential ('sib_mean' , 1 )
18
+ sib_mean = pm .Exponential ('sib_mean' , 1. )
20
19
siblings_imp = pm .Poisson ('siblings_imp' , sib_mean ,
21
20
observed = masked_values (siblings , value = - 999 ))
22
21
23
- p_disab = pm .Beta ('p_disab' , 1 , 1 )
22
+ p_disab = pm .Beta ('p_disab' , 1. , 1. )
24
23
disability_imp = pm .Bernoulli (
25
24
'disability_imp' , p_disab , observed = masked_values (disability , value = - 999 ))
26
25
27
- p_mother = pm .Beta ('p_mother' , 1 , 1 )
26
+ p_mother = pm .Beta ('p_mother' , 1. , 1. )
28
27
mother_imp = pm .Bernoulli ('mother_imp' , p_mother ,
29
28
observed = masked_values (mother_hs , value = - 999 ))
30
29
31
- s = pm .HalfCauchy ('s' , 5 , testval = 5 )
32
- beta = pm .Laplace ('beta' , 0 , 100 , shape = 7 , testval = .1 )
30
+ s = pm .HalfCauchy ('s' , 5. , testval = 5 )
31
+ beta = pm .Laplace ('beta' , 0. , 100. , shape = 7 , testval = .1 )
33
32
34
33
expected_score = (beta [0 ] + beta [1 ] * male + beta [2 ] * siblings_imp + beta [3 ] * disability_imp +
35
34
beta [4 ] * age + beta [5 ] * mother_imp + beta [6 ] * early_ident )
41
40
with model :
42
41
start = pm .find_MAP ()
43
42
step1 = pm .NUTS ([beta , s , p_disab , p_mother , sib_mean ], scaling = start )
44
-
45
43
step2 = pm .Metropolis ([mother_imp .missing_values ,
46
44
disability_imp .missing_values ,
47
45
siblings_imp .missing_values ])
@@ -51,7 +49,7 @@ def run(n=5000):
51
49
if n == 'short' :
52
50
n = 100
53
51
with model :
54
- pm .sample (n , [step1 , step2 ], start )
52
+ pm .sample (n , step = [step1 , step2 ], start = start )
55
53
56
54
57
55
if __name__ == '__main__' :
0 commit comments