I would like to generate $S$ samples of a $T \cdot M$ dimensional vector, where $T$ is the number of time steps and $M$ the number of locations, i.e., the vector is a stack with $T$ values for location 1, then $T$ values for location 2, and so on. For small $T$ and $M$, it is convenient to simulate the $S$ samples using a $T \cdot M \times T \cdot M$ covariance matrix and Cholesky decomposition.

Say that I would like to generate $T = 30\cdot24 = 720$ hourly timesteps, i.e., a full month. Already for small M, the above methodology becomes computationally infeasible as $720 \cdot M$ becomes large. However, the temporal correlation in my data is weak and it can be assumed to be zero after 12 hours, for example. So, in practice, I could simulate 30 independent instances of a vector of the length $24 \cdot M$, i.e. dividing the month to days. However, to obtain a valid sample of $720 \cdot M$, I cannot simply join the 30 vectors of length $24 \cdot M$ as there will be discontinuities between the days.

So, my question is that how to make the above simulation computationally feasible? Is it possible to implement some kind of conditional sequential sampling, where a new day would be conditioned on the previous day so that the temporal correlation would be preserved around the change of the day? If yes, what is this technique called and how could it be implemented in Matlab or R?

  • $\begingroup$ Do you need spatial autocorrelations as well? $\endgroup$ – gung - Reinstate Monica Jul 28 '15 at 18:24
  • $\begingroup$ The large $T \times M$ covariance matrix is not only diagonal but there are spatial correlations, too, which are visible as non-zero values off-diagonal. Let us assume two consecutive days d and d', which have hours h and h' (e.g. hour 23 on day d and hour 1 on d'), and locations l and l'. Then the values at (d',h',l') will be correlated with (d,h,l). The samples of day d' should be conditioned on day d, but the values on d-, which is a day before d, do not affect the values on d' anymore. If I don't answer to your question, please be a bit more specific. $\endgroup$ – user83490 Jul 28 '15 at 18:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.