[R] how to simulate a time series
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Mar 31 17:51:01 CEST 2005
On Thu, 31 Mar 2005, bogdan romocea wrote:
> Dear useRs,
>
> I want to simulate a time series (stationary; the distribution of
> values is skewed to the right; quite a few ARMA absolute standardized
> residuals above 2 - about 8% of them). Is this the right way to do it?
> #--------------------------------
> load("rdtb") #the time series
>> summary(rdtb)
> Min. 1st Qu. Median Mean 3rd Qu. Max.
> -1.11800 -0.65010 -0.09091 0.30390 1.12500 2.67600
>
> farma <- arima(rdtb,order=c(1,0,1),include.mean=T)
>> farma[["coef"]]
> ar1 ma1 intercept
> 0.58091575 0.02313803 0.30417062
>
> sim <- list(NULL) #simulated
> for (i in 1:5) {
> sim[[i]] <- as.vector(arima.sim(list(ar=c(farma[["coef"]][1]),
> ma=c(farma[["coef"]][2])),n=length(rdtb),innov=rdtb))
> }
> allsim <- as.data.frame(sim)
> colnames(allsim) <- paste("sim",1:5,sep="")
> all <- cbind(rdtb,allsim)
> #--------------------------------
>
> I don't understand why the simulation runs generate virtually identical
> values:
>> all[100:105,]
> rdtb sim1 sim2 sim3 sim4 sim5
> 100 2.3863636 1.065661 1.065661 1.065661 1.065661 1.065661
> 101 1.9318182 2.606093 2.606093 2.606093 2.606093 2.606093
> 102 2.2954545 3.854074 3.854074 3.854074 3.854074 3.854074
> 103 2.5882353 4.880240 4.880240 4.880240 4.880240 4.880240
> 104 2.0227273 4.917622 4.917622 4.917622 4.917622 4.917622
> 105 -0.1521739 2.751352 2.751352 2.751352 2.751352 2.751352
>
> It appears I may be missing something (very) basic, but don't know
> what.
The meaning of `innovations'. The innovations determine the series, so
you asked for the same series five times. In the reference, the
innovations are e[t].
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list