Plotting traces from time series

Thanks for the suggestion. Here’s is an example:

import numpy as np
import matplotlib.pyplot as plt
import pymc3 as pm
print('Running on PyMC3 v{}'.format(pm.__version__))

T = 1001; # this many samples
y = np.zeros((T,))
for i in range(1,T):
    y[i] = 0.95 * y[i-1] + np.random.normal()
delta = np.diff(y) # Get difference series (demeaned)
print(delta)
print(len(delta))

sd = 1.0 # SD of priors for beta
lags = 2 # this many number of lags

with pm.Model() as model:
    beta = pm.Normal('beta', mu=0, sd=sd, shape=lags)
    sigma = pm.HalfNormal('sigma', sigma=1.0)
    likelihood = pm.AR('likelihood', beta, sigma=sigma, observed=delta)
   
    trace = pm.sample(1000, progressbar=True, chains=4, cores=1)
   
plt.plot(delta,alpha=.5)
plt.plot(trace['likelihood'][::100].T, 'r', alpha=.01)

It outputs this error:

Traceback (most recent call last):

  File "<ipython-input-10-819006e3a186>", line 1, in <module>
    trace[likelihood]

  File "/usr/local/lib/python3.6/dist-packages/pymc3/backends/base.py", line 332, in __getitem__
    raise KeyError("Unknown variable %s" % var)

KeyError: 'Unknown variable likelihood'

Best wishes,
Gregory