I am new to Bayesian estimation.

When I do some estimations with JAGS, I find there are statistics called Naive SE and Time Series SE.

What exactly do they mean? Is it necessary that I report one or both of them as part of the estimation result?

  • $\begingroup$ Where exactly did you find those statistics? I use JAGS too, but never ever seen JAGS reporting something like this on its own. Maybe it is not JAGS, but some model you use. In this case you should include the model into the question. $\endgroup$ Commented Nov 3, 2013 at 9:42
  • $\begingroup$ I run JAGS in R via r2jags.You can check the statistics with the following R code: "jags.mcmc<-as.mcmc(jags.estimation); jags.sum<-summary(jags.mcmc); jags.sum.stat<-jags.sum$statistics". Here is an example where both Naive SE and Time Series SE are reported by JAGS: stats.stackexchange.com/questions/71731/… $\endgroup$
    – HelloL
    Commented Nov 3, 2013 at 10:52
  • $\begingroup$ OK. I never used r2jags. $\endgroup$ Commented Nov 3, 2013 at 11:48

1 Answer 1


These are measures of the computational MCMC error for the estimation of the posterior expected value of a parameter. One way of interpreting them is by comparing this MCMC error with the Standard Deviation of the posterior distribution for that parameter. If the later is much larger than the former (a possible rule of thumb might be at least 20 times larger), then the estimation of the posterior expected value of the parameter has a computational error that can be disdained.

The naive MCMC error disregards the potential auto-correlation of the MCMC samples. The MCMC samples, though, often have high autocorrelation, and therefore the naive MCMC error is not realistic. The time-series MCMC error takes into account this auto-correlation for the estimation of the error (as the effective sample size for auto-correlated chains can be much lower than the number of samples).

These errors can be reduced by simply increasing the number of iterations of the MCMC algorithm.

Now I discuss the formal definitions of each one of the MCMC errors:

If we dig a little bit in the R functions summary.mcmc.list from the package coda (which uses function safespec0 and this one uses spectrum0.ar in its turn) we find that the definition of the naive SE is: $$ SE_{Naive} = \sqrt{\frac{Var(X)}{C\cdot S}} \,, $$ whith $C$ being the number of run chains, $X = \{X^{(c)}\}$ being the vector of posterior samples for a certain parameter (concatenation all the chains, $c\in 1, \ldots, C$), and $S$ being the length (the number of iterations) of each chain.

We also find that the time-series SE is defined as: $$ SE_{ts} = \sqrt{\frac{Var_{ts}(X)}{C\cdot S}} \,, $$ where $Var_{ts}(X)$ is the average of the $Var_{ts}(X^{(c)})^{(c)}$ for each set of samples $X^{(c)}$ of each chain, and each $Var_{ts}(X^{(c)})^{(c)}$ is obtained from the application of an auto-regressive (AR) model over $X^{(c)}$ by the function ar, selecting the order $K$ of the AR using the Akaike Information Criterion (AIC). If the fitted AR model is $$ X^{(c)}_t - \bar{X^{(c)}}= \sum_{k=1}^K \rho_k (X^{(c)}_k - \bar{X^{(c)}}) + \varepsilon_t \,, \varepsilon_t \sim Norm(0, \sigma_\varepsilon^2) \,, $$ then $$ Var_{ts}(X^{(c)})^{(c)} = \frac{\sigma_\varepsilon^2}{(1-\sum_{k=1}^K \rho_k)^2} \,. $$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.