fork(3) download
  1. import csv
  2. import pymc3 as pm
  3. import numpy as np
  4. import pandas as pd
  5. import theano.tensor as tht
  6.  
  7. PLA = pd.read_csv('./productliability_award.csv')
  8. print(PLA.shape)
  9. print(list(PLA.columns))
  10.  
  11. TH_MODEL = pm.Model()
  12.  
  13. with TH_MODEL:
  14. A = pm.Normal('alpha', mu=0, sd=10)
  15. BL = pm.Normal('betaL', mu=0, sd=10)
  16. BN = pm.Normal('betaN', mu=0, sd=10)
  17. BO = pm.Normal('betaO', mu=0, sd=10)
  18. BLO = pm.Normal('betaLO', mu=0, sd=10)
  19. BNO = pm.Normal('betaNO', mu=0, sd=10)
  20.  
  21. P = A + BL * PLA['liability'] + BN * PLA['negligence'] + BO\
  22. * PLA['oralArg'] + BLO * PLA['liability'] * PLA['oralArg'] + BNO\
  23. * PLA['negligence'] * PLA['oralArg']
  24. # Convert from logit
  25. LGP = tht.exp(P) / (1 + tht.exp(P))
  26. AWARD = pm.Binomial('award', n=1, p=LGP, observed=PLA['award'])
  27.  
  28. MAP_PLA0 = pm.find_MAP(return_raw=True, include_transformed=True,
  29. model=TH_MODEL)
  30.  
  31. # obtain starting values via MAP
  32. start = pm.find_MAP()
  33.  
  34. # instantiate sampler
  35. step = pm.Slice()
  36.  
  37. # draw 5000 posterior samples
  38. trace = pm.sample(5000, step=step, start=start)
  39. _ = pm.traceplot(trace)
  40. pm.summary(trace)
  41.  
  42. print(MAP_PLA0)
  43. print(_)
  44. print(pm.summary(trace))
Runtime error #stdin #stdout #stderr 0.04s 9628KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "./prog.py", line 2, in <module>
ImportError: No module named 'pymc3'