#!/usr/bin/env python # coding: utf-8 # In[1]: get_ipython().run_line_magic('matplotlib', 'inline') import numpy as np import pandas as pd import pymc3 as pm import seaborn as sns # In[2]: k = 1000 n = 100 fake_data = np.random.random((n, k+1)) # In[3]: import theano.tensor as tt with pm.Model() as model: y = fake_data[:, 0] X = fake_data[:, 1:] β = pm.Normal('β', 0, sd=10000, shape=k) σ = pm.Uniform('σ', 0, 1000) μ = tt.dot(X, β) likelihood = pm.Normal('likelihood', μ, sd=σ, observed=y) # In[8]: with model: tr = pm.sample(10000, step=pm.Metropolis()) # In[9]: pm.summary(tr[-1000:])