6
$\begingroup$

I have a time series (X) representing a natural phenomenon (wind speed, measured every 15 minutes) and I have to create similar time series (up to 20, Xdi, i=1,...,20) with the same structure (same average, same standard deviation, same percentiles distribution...) but with a predetermined correlation (about 0.7) between each other.

Is there any defined method for this operation? Can you provide a link to a book, a paper, a page, or just the name of the method? Thank you very much,

Andrew


A couple of clarifications:

for "pre-defined correlation" I mean that if I have a seed time series X and I want to create three derived time series Xd1, Xd2, Xd3, then the correlation among two of the time series must be equal (almost) to a value chosen (e.g.: 0.7). For example Correlation(Xdi, Xdj) = 0.7

The comment of charles.y.zheng answers the question (thanks!), but the resulting time series (AZ in the example) does not have necessarily the same autocorrelation of the original seed. (in the original time series 0 tends to be followed by 0 and 1 tends to be followed by 1, the values are clustered). Sorry to haven't specified also this requirement, but I noticed after trying the solution proposed.

I guess that I can fix the problem by manipulating the values in Z. This adds a second section of the question: Is there a defined method to create a time series with a pre determined autocorrelation?

p.s.: sorry if the language is not correct, I'm not a statistician but a programmer, I try to do my best but if there is something not clear, just ask for details and clarifications.

$\endgroup$
5
  • 1
    $\begingroup$ Can you clarify what you mean by "predetermined correlation"? If you're thinking of the cross-correlation between two time series, it is a function of the lag; do you want the correlation between any two lagged inputs to be the same at 0.7? This doesn't seem reasonable. $\endgroup$ Commented Apr 19, 2011 at 15:39
  • 2
    $\begingroup$ If you want to create a multivariate Gaussian with a covariance matrix $\Gamma$, find $A$ such that $A^T A=\Gamma$ using e.g. Cholesky decomposition. Then if $Z$ is a vector of independent standard normals, $AZ$ has the desired covariance. $\endgroup$ Commented Apr 20, 2011 at 14:14
  • $\begingroup$ If what is desired is a contemporaneous correlation of 0.7, then the answer by charles.y.zhen is all you need, I think. (Normality of $Z$ is not required, so the answer is good in more general conditions than stated.) $\endgroup$
    – F. Tusell
    Commented Apr 20, 2011 at 17:04
  • $\begingroup$ @charles.y.zheng If you are inclined to convert your comment to an answer, that would probably help reviving or closing this thread with an accepted response. $\endgroup$
    – chl
    Commented Mar 29, 2012 at 9:51
  • $\begingroup$ A tutorial on the same problem, although only for normal distributions comisef.wikidot.com/tutorial:correlation $\endgroup$ Commented Jan 11, 2013 at 9:17

1 Answer 1

3
$\begingroup$

If you want to create a multivariate Gaussian with a covariance matrix $\Gamma$, find $A$ such that $ATA=\Gamma$ using e.g. Cholesky decomposition. Then if Z is a vector of independent standard normals, AZ has the desired covariance.

$\endgroup$
1
  • $\begingroup$ That's right. Unfortunately, wind speed distributions are far from Gaussian (unless perhaps one is looking at long-term averages) and their departures from Gaussianity are usually of most interest (people extract energy only from the higher speeds). For an indication of what might be done, see nupus.uni-stuttgart.de/03_Scientists/Projects/A06_Li.pdf. $\endgroup$
    – whuber
    Commented Mar 30, 2012 at 16:26

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.