[R] Counterintuitive Simulation Results

McGehee, Robert Robert.McGehee at geodecapital.com
Thu Aug 4 19:06:40 CEST 2005


Spencer,
On the first iteration of your simulation, all of the Qp.t + z.t < 0, so
you're adding a vector of rep(4.5, 20000) to a random distribution with
mean -0.1. So one would expect on iteration 2, your mean would have
dropped by about 0.1 (which it does). This process continues until about
the 20th iteration when we start seeing that a large number of our
initial starting points are floored at zero (because of the pmax). For
points greater than zero, we continue to subtract an average of 0.1
(actually less than this), but for those points already at zero, we're
actually adding a mean of 0.348 (since we can never subtract from a zero
number in this case), which starts the trajectory moving upward towards
its asymptote.

#That is, for those paths far above 0.1, we are subtracting
> mean(rnorm(10000, mean = -0.1))
[1] -0.1059246

#And for those paths already at zero, we are adding
> mean(pmax(0, rnorm(10000, mean = -0.1)))
[1] 0.3482376

To see a simulation a bit closer to what you were expecting, replace the
starting values with a random distribution with mean Qp0.

i.e. replace
> Qp.t <- rep(Qp0, nSims)
with
> Qp.t <- rnorm(nSims, Qp0, sd = 3.7)

Robert


-----Original Message-----
From: Spencer Graves [mailto:spencer.graves at pdf.com] 
Sent: Thursday, August 04, 2005 12:16 PM
To: r-help at stat.math.ethz.ch
Subject: [R] Counterintuitive Simulation Results


	  I wonder if someone can help me understand some
counterintuitive 
simulation results.  Below please find 12 lines of R code that 
theoretically, to the best of my understanding, should produce 
essentially a flat line with no discernable pattern.  Instead, I see an 
initial dramatic drop followed by a slow rise to an asymptote.

	  The simulation computes the mean of 20,000 simulated
trajectories of 
400 observations each of a one-sided Cusum of independent normal 
increments with mean EZ[t] = (-0.1) and unit variance.  Started with any

initial value, the mean of the Cusum should approach an asymptote as the

number of observations increases;  when started at that asymptote, it 
should theoretically stay flat, unlike what we see here.

	  I would think this could be an artifact of the simulation 
methodology, but I've gotten essentially this image with several 
independently programmed simulations in S-Plus 6.1, with all six 
different random number generators in R 1.9.1 and 2.1.1 and with MS 
Excel.  For modest changes in EZ[t] < 0, I get a different asymptote but

pretty much the same image.

#################################################
simCus5 <- function(mu=-0.1, Qp0=4.5, maxTime=400, nSims=20000){
   Qp.mean <- rep(NA, maxTime)
   Qp.t <- rep(Qp0, nSims)
   for(i in 1:maxTime){
     z.t <- (mu + rnorm(nSims))
     Qp.t <- pmax(0, Qp.t+z.t)
     Qp.mean[i] <- mean(Qp.t)
   }
   Qp.mean
}
set.seed(1)
plot(simCus5(Qp0=4.5))
#################################################

	  Thanks for your time in reading this.
	  Best Wishes,
	  Spencer Graves

Spencer Graves, PhD
Senior Development Engineer
PDF Solutions, Inc.
333 West San Carlos Street Suite 700
San Jose, CA 95110, USA

spencer.graves at pdf.com
www.pdf.com <http://www.pdf.com>
Tel:  408-938-4420
Fax: 408-280-7915

______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html




More information about the R-help mailing list