Using MCMC for time series forecasts I have time series data with me with weekly frequency. I have been asked to use Markov chain Monte Carlo (MCMC) for making forecasts with this time series. For this purpose, I need to know the underlying distribution for the time series (hypothesized from the time series) so that I can use this distribution along with the most recent value in the time series to get the next value using MCMC. Now there is Lilli.test in R (null hypothesis is that the underlying distribution is normal) for determining whether or not the time series follows a normal distribution. I was hoping that the p-value for this test for my time series data would prove to be large so that I could go ahead with the normal distribution hypothesis. But the p-value is small and so the distribution is not normal. I then applied the BoxCox transformation to make the data normal but the values returned were the same as in the original data. I am not sure why this happened. Can anyone explain? 
Also, given that the underlying distribution is not normal and, apparently, I have no way to "make it normal", how do I get an estimate of what it is? Is it even feasible to use MCMC for time series forecasts given that it appears to be difficult to estimate the underlying distribution? For using MCMC, I understand it is critical to know the underlying distribution. But I see no way of estimating it. Can someone help me with this? Thank you.
 A: (I'm not a Bayesian statistics expert, so take this response with a grain of salt) 
I know of two ways to use MCMC methods for time series forecasting:


*

*Use MCMC to estimate the future forecast intervals or the future forecast distributions: in this approach, you use some other method (not MCMC) to generate the point forecast. Then you use MCMC methods to simulate multiple possible future forecasts and use that to get the forecast intervals or the forecast distribution. Typically this is useful when the forecast method does not provide an analytical method of calculation the forecast intervals (e.g. the method is non-parametric - contrast this with ARIMA for example, which provides a direct way of calculating the forecast intervals). Examples of models that use MCMC in this way are various Deep Learning based time series forecasting methods, and Facebook Prophet, which uses a GAM to generated the point forecast, and then has the option of either generating "simplistic" forecast intervals using a MAP estimation, or a more comprehensive (but computationally expensive) MCMC simulation of the forecast intervals. 

*Use MCMC to estimate the parameters of the model directly (this sounds closer to what you are asking for). The BSTS model and the STS model in TensorFlow Probabilities use this approach (in fact BSTS and TFP STS are pretty much the same thing except that one is coded in R and the other in Python - both are open source, in case that helps with your effort). The idea is to make various prior assumptions about the structure of the time series (e.g. the time series has a trend and a monthly seasonal component, or the time series has multiple seasonal components, etc...) and encode the assumed structure into a state space model. The various parameters of the state space model are then estimated using Kalman filtering and MCMC simulation. 
Regarding your question on the underlying distribution not being normal/hard to estimate: The BSTS/STS approaches make assumptions about the distribution of the noise terms in the state space equations, but they don't make assumptions about the distribution of the time series values themselves. Note that if your using MCMC and Structural Time Series, you're most likely dealing with a non-stationary time series (otherwise just go with ARMA models) - and so assumptions about the distribution of the time series itself are iffy.
