Resampling correlated data using bootstrap I have a dataset of $n×m$ numbers, where the $m$ variables ($m$ is in the order of 5–10) exhibit various degrees of correlation with one another. The format of the data is not necessarily a timeseries, it could be a discrete or continuous timeseries, and it could be various timeseries grouped together. The dataset is oversampled ($n>10000$).
I want to cull the amount of data (rows) such that the reduced dataset will have the same CDF and PDF as the original data for all $m$ variables. Simple bootstrapping will not do as that technique assumes that the variables are independent. However, I have the impression that multi-stage bootstrapping might actually be something that could be used here.
Does anyone have an answer to my question, or can anyone refer me to some literature where I could find an answer on this? If you happen to have some coding examples yourself, I am writing in Matlab.
 A: The wikipedia reference is excellent.  It has a number of references to several books. My book Chernick (2007) covers time series. But the most thorough text on dependent data is Lahiri's text. I will provide these additional references.
The two references are
1) Bootstrap Methods: A Practitioners Guide 2nd Edition, Michael R. Chernick (2007) Wiley.
www.wiley.com/WileyCDA/WileyTitle/productCd-0471756210.html
2) Resampling Methods for Dependent Data, S. N. Lahiri (2003) Springer.
www.springer.com/us/book/9780387009285 
A: I have discussed the bootstrap for multi-variate in How can you draw samples from a multidimensional time series?. 
If your n * m data set only correlation every row, you can draw a sample with fewer rows using simple random functions like sample() in R. Just make sure that all m elements in some selected row are set as one observation, which is illustrated in How should I bootstrap multivariate variables?.
For elements in the column with different rows, block bootstrap can be used to preserve the dependence. For example, if a 9 * 2 multi-variate time series to be sampled, it is divided into blocks first. Then, blocks are sampled and connected. If you want to draw a sample with fewer rows, just choose fewer blocks. Note that the connection of selected blocks does not have to follow the original sequence.
             x           y
1   -1.49475115 -0.54611868
2    1.13926435  0.74103376
3    1.41939200  2.67440879
4    1.30836462 -3.11768804
---------------------------
5   -0.15411482  0.30669856
6    1.68698582  0.80915333
7    1.76670354 -0.03077288
8    0.92443653  2.92956932
---------------------------
9    0.83239816 -4.41182710

When the number of blocks is small, slightly complex methods have to be introduced, which are discussed in books in other answer.
