[R] [FORGED] simulate AR1 process with uniform distribution and different y0 values

Rolf Turner r.turner at auckland.ac.nz
Sun Oct 9 01:44:04 CEST 2016

On 09/10/16 09:42, Ashwini Patil wrote:
> Hello
> I need to plot an ar1 graph for process yk=0.75y (k-1) + ek, for y0=1 and
> another graph for y0=10.
> assume ek is uniformly distributed on interval [-0.5,0.5].
> i have the following code but i am not sure how to control y0.
> #----------#Start#---------#
> rm(list=ls())
> library(tseries)
> #library(zoo)
> set.seed(0)
> y<-arima.sim(model=list(ar=.75), n=100, innov = runif(100, 0, 1))
> y.1<-y-0.5
> ts.plot(y.1)

I don't understand the last three lines; shouldn't "innov" be equal to 
runif(100, -0.5, 0.5), and subtracting 0.5 be skipped?

I think that the following does what you want:

y<- arima.sim(model=list(ar=0.75),n.start=1,start.innov=10,n=100,

Or you could simply do:

e <- runif(100,-0.5,0.5)
yy <- numeric(101)
yy[1] <- 10
for(i in 1:100) yy[i+1] <- 0.75*yy[i] + e[i]
yy <- as.ts(yy[-1])


(Or you could apply filter() to c(10,e) with method="recursive".)


Rolf Turner

P.S. I am not convinced that what you want to do makes much sense, but 
the foregoing shows how to do it if you must.

R. T.

Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276

More information about the R-help mailing list