Qualcuno ha esperienza con situazioni in cui set.seed fornisce risultati diversi a seconda del sistema operativo (SO). Ricordo di aver incontrato una situazione simile in una classe su R, in cui alcune persone stavano generando sequenze casuali diverse usando rnorm nonostante avessero impostato il seed iniziale allo stesso valore. Ora, sto dando un corso da solo e non ho incontrato lo stesso problema con rnorm; tutti i miei studenti ottengono la stessa sequenza indipendentemente dal sistema operativo. È interessante notare che lo stesso problema sembra esistere con la funzione mvrnorm del pacchetto MASS.Generazione di numeri casuali diversi tra OS
Tutta la comprensione sarebbe molto apprezzato - Marc
questo esempio:
require(MASS)
set.seed(123)
a <- rnorm(10, mean=10, sd=3)
b <- rnorm(10, mean=5, sd=2)
df <- data.frame(a,b)
C <- cov(df)
M <- mvrnorm(n=10, c(10,5), C)
df
C
M
rendimenti sul mio sistema operativo Windows 7 versione a 64 bit di R 2.14.1 .:
> df
a b
1 8.318573 7.448164
2 9.309468 5.719628
3 14.676125 5.801543
4 10.211525 5.221365
5 10.387863 3.888318
6 15.145195 8.573826
7 11.382749 5.995701
8 6.204816 1.066766
9 7.939441 6.402712
10 8.663014 4.054417
> C
a b
a 8.187336 3.431373
b 3.431373 4.310385
> M
a b
[1,] 13.270535 6.158603
[2,] 10.375011 5.737871
[3,] 13.514105 5.476411
[4,] 12.681956 5.020646
[5,] 12.352333 4.927746
[6,] 15.177508 6.810387
[7,] 8.114377 2.925225
[8,] 9.529744 4.834451
[9,] 12.903550 7.232715
[10,] 6.251907 3.481789
Modifica: Potrebbe essere utile sapere se qualcuno non sta ottenendo questi risultati e quale sistema operativo o versioni di R sono stati utilizzati.
State usando tutti la stessa versione di R e/o lo stesso RNGkind? – Dason
@Dason - No, non la penso così. In alcuni casi, potrebbero avere versioni più nuove di R di me stesso. Ma penso che, anche tra gli studenti, stavano ottenendo risultati diversi e il sistema operativo sembrava un possibile comune denominatore. –
No non è. R genera gli stessi RNG e l'unica differenza possibile potrebbe essere la scomposizione della matrice necessaria se si esegue 'mvrnorm' - e ciò potrebbe essere dovuto alle librerie LAPACK/BLAS. Se disegni solo vettori sequenziali, sono abbastanza certo che otterrai gli stessi numeri. R presta attenzione a queste cose. –