generating autocorrelated time series based on data

5 Ansichten (letzte 30 Tage)
Linda
Linda am 8 Aug. 2012
hello all,
i would be very grateful for advise on the following problem: i have a autocorrelated time series and i am trying to simulate another time series that shares the same autocorrelation. so far, my algorithm works as follows:
1. estimate the autocorrelation of the original time series at different lags (until negligibly small)
2. estimate an AR model on that data
3. generate a new time series using the estimated AR parameters:
timeseries_new = filter(1,parameters(2:Nparameters,randn(Ntimeseries,1));
4. estimate the autocorrelation of timeseries_new and match it with the original one.
unfortunately, the mismatch between the original autocorrelation and the ones from the simulated time series is often relatively huge, at least for some lags. e.g. in one instance, it would match well for lag = 1, but is then more than 10 % off between the values from lag = 2. i tried several polynomials (AR(1) to AR(4)), but that doesnt solve it completely. is there any way to more accurately simulate autocorrelated data?
any advise is much appreciated.

Antworten (2)

Honglei Chen
Honglei Chen am 8 Aug. 2012
I may not understand your statement correctly, but did you only try from first order to fourth order AR? I think you need set the order of AR process to number of lags where it becomes negligibly small, otherwise, your AR model is just not a good representation of your original time series.

Linda
Linda am 8 Aug. 2012
honglei,
thank you very much for your reply. after lag = 3, the autocorrelation becomes less than 1 % (and negative), so i tried AR(3), but AR(2) works better. anyways, when i compare the original time series autocorrelation to the simulated one, it looks like this (until lag 3):
AR_original (AR_simulated): .61 (.52), .22 (.20), .11 (.05)
any further suggestions how to come closer to the original values?

Kategorien

Mehr zu Conditional Mean Models finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by