[R] Is the random number generator biased?
    Duncan Murdoch 
    murdoch at stats.uwo.ca
       
    Mon Mar 26 21:20:49 CEST 2007
    
    
  
On 3/26/2007 2:48 PM, Oliver Faulhaber wrote:
> Hi all,
> 
> in order to verify some results I did the following test in R (2.4.1., 
> windows system):
> 
> X <- cumsum(rnorm(1000000))
> for (i in 1:1000) {
>   tmp                   <- seq(1,length(X),by=i)
>   X.coarse              <- X[tmp]
>   X.return              <- diff(X.coarse)
>   X.scale.mean[i]       <- mean(X.return)
> }
> plot(X.scale.mean,type="l")
> 
> As X is a random walk with increments following a standard normal 
> distribution, the mean of X should be 0. Further more, each "piece" of 
> the random walk should also have zero mean - independent of its length.
> 
> Why is it then, that the plot of X.scale.mean shows a clear linear trend?
The points in your plot are all based on a single realization of a 
Brownian motion.  What you are seeing is just that X[1000000] is 
non-zero.  If you repeat the simulation you'll get a different linear trend.
> Is the generation of the random walk in some way biased or do I just 
> miss some point?
If it is biased, your plots don't show it.  Try this plot instead (and 
wait a lot longer; it does a lot of memory allocations!):
X.scale.mean <- numeric(1000)
for (i in 1:1000) {
    X <- cumsum(rnorm(1000000))
    tmp                   <- seq(1,length(X),by=i)
    X.coarse              <- X[tmp]
    X.return              <- diff(X.coarse)
    X.scale.mean[i]       <- mean(X.return)
}
plot(X.scale.mean,type="l")
Duncan Murdoch
> 
> Thanks for any enlighting
> replies in advance
> Oliver
> 
> ______________________________________________
> 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
> and provide commented, minimal, self-contained, reproducible code.
    
    
More information about the R-help
mailing list