Tell me more ×
Cross Validated is a question and answer site for statisticians, data analysts, data miners and data visualization experts. It's 100% free, no registration required.

How can I generate dependent time series from a given marginal distribution? I want to be able to adjust the level of dependence, to influence the predictability of the series, which will be given as input to a Monte Carlo simulation. The dependence parameter can be the correlation, the mutual information, or something along those lines.

You may assume the distribution is Bernoulli for discussion purposes. MATLAB code is gratefully accepted.

share|improve this question
@Emre, the answer heavily depends on dependence structure. Independence property is unique, dependence is not. For the continuous distribution processes the most easiest to generate is linear processes (ARIMA) for discrete, I guess Markov. – mpiktas May 5 '11 at 18:09
Feel free to propose the dependence structure, as long as it allows you to set the correlation, mutual information, or something similar. I need to be able to dial in the level of dependence. – Emre May 5 '11 at 18:14
@Emre, by level of dependence you mean what? – mpiktas May 5 '11 at 18:29
@mpiktas: To quote myself: "The dependence parameter can be the correlation, the mutual information..." between the latest sample and the preceding one(s). – Emre May 5 '11 at 18:37
If you have been given a distribution over sequences, how would you adjust the correlation between samples from it, since it is part of the distribution and thus not subject to change (since it's given)? Or do you mean distribution of the values at timesteps? – bayerj May 6 '11 at 8:35
show 1 more comment

2 Answers

One way is to use transformations of random variables. It's easy to generate dependent Gaussians; then transform them to uniform variates with the CDF of the gaussian, and then transform the uniform variates to your distribution with the inverse CDF of your distribution.

share|improve this answer
1  
This will make the final correlations difficult to determine. What you describe is essentially generating from a multivariate Gaussian copula. – cardinal May 7 '11 at 2:06

You can use Markov chains. You will have a to specify a density $p(x_t|x_{t-1})$. Of course you will have to be able to sample from that marginal. Then just sample...

share|improve this answer
That's what I am doing at the moment. However, this quickly becomes unwieldy as you increase the order of the chain. Does anyone know any good sources on the practical side of things? Some approximation methods perhaps? – Emre May 9 '11 at 16:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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