Why am I getting inconsistent results with the RandomFields package?

I am intrigued to see if other users have similar results or suggestions as to why this might be happening. I pulled this code from the JSS article here , section 5, and I have different results on different platforms. The algorithm is deterministic (not seed dependent) and I cannot find a pattern as to what is causing the inconsistencies. A bit of background - the purpose of the following lines of code is to estimate parameters in the model using maximum likelihood:

library(RandomFields)
data(weather)
nug <- RMmatrix(M = matrix(nc = 2, c(NA, 0, 0, NA)), RMnugget())
pars.model <- nug + RMbiwm(nudiag = c(NA, NA), 
                           scale = NA, 
                           cdiag =   c(NA, NA), 
                           rhored = NA)
Dist.mat <- as.vector(RFearth2dist(weather[, 3:4]))
PT <- weather[, 1:2]
pars <- RFfit(pars.model, distances = Dist.mat, dim = 3, data = PT)
print(pars)

      

The above result is quite long, but it is sufficient to compare the displayed AIC values, which reflect the optimal result found by the procedure RFfit

. On different platforms, I got two sets of AIC values ​​that are very different from a practical point of view.

CentOS 6 64-bit 64GB RAM Intel (R) Xeon (R) CPU E5-2620 v2 @ 2.10GHz R version 3.2.0 (2015-04-16) x86_64-redhat-linux-gnu (64-bit) AIC : 2547.474

CentOS 6 64-bit RAM 256 GB AMD Opteron (tm) 6376 R 3.2.0 (2015-04-16) x86_64-redhat-linux-gnu (64-bit) processor AIC: 2562.027

Ubuntu 14.04 64-bit RAM 8 GB Intel (R) Celeron (R) CPU N2820 @ 2.13 GHz R version 3.0.2 (2013-09-25) x86_64-pc-linux-gnu (64-bit) AIC: 2547.474

Windows 7 64-bit RAM 8 GB Intel (R) Core (TM) i7-3632QM CPU @ 2.20GHz R version 3.1.2 Patch (2014-11-25 r67060) i386-w64-mingw32 / i386 (32-bit) AIC: 2547.474

Windows 7 64-bit RAM 8 GB Intel (R) Core (TM) i7-3632QM CPU @ 2.20GHz R version 3.1.2 Patch (2014-11-25 r67060) x86_64-w64-mingw32 / x64 (64-bit) AIC: 2562.027

Windows 7 64-bit RAM 8 GB Intel (R) Core (TM) i7-3632QM CPU @ 2.20GHz R version 3.0.2 (2013-09-25) x86_64-w64-mingw32 / x64 (64-bit) AIC : 2562.027

Getting into the internal environment, I found that basic optimization routing is a standard R routine optim

. Are such drastic results expected from any optimizer? Some of them use OpenBLAS, but OpenBLAS is not the reason for this. From the below, I can't figure out if it is OS, R version, package version (they are all the same) or processor architecture ... Any ideas on this are appreciated. Thank.

+3


source to share





All Articles