How to sample efficiently from time series data?

The information is connected through ct = pm.Binomial('c_t', et, gamma, observed=C), where the output variable et is produced by the theano.scan

It does not, but as you are not observing B[t] anyway, it doesnt really matters to have precise likelihood.