Randomness not due to seed
On 20/07/2011 9:59 AM, Martyn Byng wrote:
Hi, Even using the same math libraries you can get different results, depending on what sorts of instructions those libraries use, see the following (none R related) blog article: http://blog.nag.com/2011/02/wandering-precision.html.
That's another cause that I hadn't considered, also mostly out of our control. (Whoever compiles R does have some control over what optimizations the compiler does, but they might not be aware of them all.) Duncan Murdoch
Martyn -----Original Message----- From: r-devel-bounces at r-project.org [mailto:r-devel-bounces at r-project.org] On Behalf Of Duncan Murdoch Sent: 20 July 2011 14:47 To: Jeroen Ooms Cc: r-devel at r-project.org Subject: Re: [Rd] Randomness not due to seed I would guess the error below is because of Java messing around in the hardware. It's pretty common on Windows for DLLs to attempt to change the precision setting on the floating point processor; I hadn't seen that before on Linux, but that would be my guess as to the cause. It's also possible that one of the attached packages has messed with R functions somehow, e.g. by replacing the default print() or show() method. A third possibility is that different math libraries are being used. So I would consider the differences in the results to be a bit of a bug, but not one that is likely under our control, and not one that is so large that I would worry about working around it. Duncan Murdoch On 20/07/2011 8:03 AM, Jeroen Ooms wrote:
>> I think Bill Dunlap's answer addressed it: the claim appears to
be false.
Here is another example where there is randomness that is not due to the seed. On the same machine, the same R binary, but through another interface. First directly in the shell:
> sessionInfo()
R version 2.13.1 (2011-07-08) Platform: i686-pc-linux-gnu (32-bit) locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=C LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=en_US.UTF-8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base
> set.seed(123) > print(coef(lm(dist~speed, data=cars)),digits=22)
(Intercept) speed -17.579094890510951643137 3.932408759124087715975 # And this is through eclipse (java)
> sessionInfo()
R version 2.13.1 (2011-07-08) Platform: i686-pc-linux-gnu (32-bit) locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 [9] LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] rj_0.5.2-1 loaded via a namespace (and not attached): [1] rJava_0.9-1 tools_2.13.1
> set.seed(123) > print(coef(lm(dist~speed, data=cars)),digits=22)
(Intercept) speed -17.57909489051087703615 3.93240875912408460735
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. ________________________________________________________________________ ________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________