Skip to content
Back to formatted view

Raw Message

Message-ID: <525E7170.3000304@stats.ox.ac.uk>
Date: 2013-10-16T10:58:56Z
From: Brian Ripley
Subject: randomForest: Numeric deviation between 32/64 Windows builds
In-Reply-To: <DEBDABC7-17EC-4041-BBEC-55101D3D2453@imsb.biol.ethz.ch>

On 15/10/2013 14:00, Rosenberger George wrote:
> Dear R Developers
>
> I'm using the great randomForest package (4.6-7) for many projects and recently stumbled upon a problem when I wrote unit tests for one of my projects:
>
> On Windows, there are small numeric deviations when using the 32- / 64-bit version of R, which doesn't seem to be a problem on Linux or Mac.
>
> R64 on Windows produces the same results as R64/R32 on Linux or Mac:
>
>> set.seed(131)
>> importance(randomForest(Species ~ ., data=iris))
>               MeanDecreaseGini
> Sepal.Length         9.452470
> Sepal.Width          2.037092
> Petal.Length        43.603071
> Petal.Width         44.116904
>
> R32 on Windows produces the following:
>
>> set.seed(131)
>> importance(randomForest(Species ~ ., data=iris))
>               MeanDecreaseGini
> Sepal.Length         9.433986
> Sepal.Width          2.249871
> Petal.Length        43.594159
> Petal.Width         43.941870
>
> Is there a reason why this is different for the Windows builds? Are the compilers on Windows doing different things for 32- / 64-bit builds than the ones on Linux or Mac?

Yes, no (but these are not R issues).

There are bigger differences in the OS's equivalent of libm on Windows. 
  You did not tell us what CPUs your compilers targeted on Linux and OS 
X (sic), but generally they assume more than the i386 assumed on 32-bit 
Windows by Microsoft.  OTOH, all x86_64 OSes, including Windows, can 
assume more as all such CPUs have post-i686 features.  Remember Windows 
XP is still supported, and that was released in 2001.

Based on much wider experience than you give (e.g. reference results 
from R itself and recommended packages), deviations from x86_64 results 
are increasingly likely on OS X, i686 Linux and then i386 Windows.


-- 
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