[R-br] Diferença de resultados entre 64 e 32 bits

Rodrigo Coster rcoster em gmail.com
Quinta Julho 19 10:24:28 BRT 2012


Benilton,

mesmo com --vanilla deu resultados diferentes.

> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=Portuguese_Brazil.1252  LC_CTYPE=Portuguese_Brazil.1252
 LC_MONETARY=Portuguese_Brazil.1252 LC_NUMERIC=C
LC_TIME=Portuguese_Brazil.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] MASS_7.3-19    copula_0.99-4  pspline_1.0-14

loaded via a namespace (and not attached):
[1] ADGofTest_0.3    gsl_1.9-9        mvtnorm_0.9-9992 stabledist_0.6-4
stats4_2.15.1
> a
           [,1]      [,2]
 [1,] 0.6533333 0.6673587
 [2,] 0.6956496 0.7000601
 [3,] 0.5554635 0.6169322
 [4,] 0.4895890 0.5405670
 [5,] 0.6038044 0.6422919
 [6,] 0.7295427 0.7295427
 [7,] 0.6548815 0.7080392
 [8,] 0.5468827 0.6015380
 [9,] 0.6630423 0.6955567
[10,] 0.7214445 0.7214441
[11,] 0.6681827 0.6681817
[12,] 0.6429204 0.6429205
[13,] 0.5678848 0.5918048
[14,] 0.6829043 0.6985720
[15,] 0.7653632 0.7653638
[16,] 0.6215542 0.6570017
[17,] 0.7085038 0.7085053
[18,] 0.6620582 0.6958966
[19,] 0.6829283 0.6912327
[20,] 0.6416442 0.6904770


> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: i386-pc-mingw32/i386 (32-bit)

locale:
[1] LC_COLLATE=Portuguese_Brazil.1252  LC_CTYPE=Portuguese_Brazil.1252
 LC_MONETARY=Portuguese_Brazil.1252 LC_NUMERIC=C
LC_TIME=Portuguese_Brazil.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] MASS_7.3-19    copula_0.99-4  pspline_1.0-14

loaded via a namespace (and not attached):
[1] ADGofTest_0.3    gsl_1.9-9        mvtnorm_0.9-9992 stabledist_0.6-4
stats4_2.15.1
> a
           [,1]      [,2]
 [1,] 0.6673587 0.6673587
 [2,] 0.7000619 0.7000601
 [3,] 0.6169316 0.6169322
 [4,] 0.5405662 0.5405670
 [5,] 0.6423069 0.6422919
 [6,] 0.7295427 0.7295427
 [7,] 0.7080409 0.7080392
 [8,] 0.6015378 0.6015380
 [9,] 0.6955575 0.6955567
[10,] 0.7214445 0.7214441
[11,] 0.6681827 0.6681817
[12,] 0.6429204 0.6429205
[13,] 0.5918050 0.5918048
[14,] 0.6985704 0.6985720
[15,] 0.7653632 0.7653638
[16,] 0.6569979 0.6570017
[17,] 0.7085038 0.7085053
[18,] 0.6958953 0.6958966
[19,] 0.6912321 0.6912327
[20,] 0.6904751 0.6904770


2012/7/18 Benilton Carvalho <beniltoncarvalho em gmail.com>

> Voce consegue executar o R passando argumentos adicionais? (imagino q
> vc tenha q fucar na linha de comando dentro do atalho usado pelo
> Windows)...
>
> Se vc estivesse num Linux/Mac, eu recomendaria executar o R como segue:
>
> R --arch i386 --vanilla
>
> e
>
> R --arch x86_64 --vanilla
>
> E tentar mais uma ultima vez a comparacao entre ambos... (Evite
> qualquer firula como RStudio tbm).
>
> b
>
> 2012/7/18 Rodrigo Coster <rcoster em gmail.com>:
> > Benilton,
> >
> > rodando na mesma maquina o resultado do R32 e R64 é diferente, foi com
> base
> > nisso (R's da mesma maquina) que eu fiz o gráfico que mandei... tentei
> > desinstalar o R e reinstalar, mas não resolveu
> >
> >
> > []'s
> >
> >
> > 2012/7/18 Benilton Carvalho <beniltoncarvalho em gmail.com>
> >>
> >> Eu comecaria por garantir que as versoes do R e dos demais pacotes
> >> sejam as mesmas nos diferentes ambientes.
> >>
> >> Em teoria, a maquina que tem o R 64 bits tambem tem o 32 bits (algum
> >> usuario de windows pode te ajudar melhor q eu nesse caso), vc poderia
> >> tentar executar o R32 na mesma maquina...
> >>
> >> b
> >>
> >> 2012/7/18 Rodrigo Coster <rcoster em gmail.com>:
> >> > Benilton,
> >> >
> >> > os teus resultados são iguais aos meus no R 64 bits. Por resultado
> >> > antigo tu
> >> > diz carregar alguma área de trabalho? Se sim, isso não esta
> acontecendo.
> >> >
> >> > Leonard,
> >> >
> >> > É um i5 3450 com windows 7, R 2.15.1 e os pacotes são as versões mais
> >> > recentes. A outra maquina (que é só 32 bits) eu sei que é um Core 2
> Quad
> >> > com
> >> > WinXP, R e pacotes desatualizados
> >> >
> >> >
> >> > []'s
> >> >
> >> >
> >> > 2012/7/17 Leonard de Assis <assis.leonard em gmail.com>
> >> >>
> >> >> Eu aqui tenho linux, rodei uma vm windows pra simular o 32 bits e
> >> >> comparei
> >> >> com o meu linux (64 bits) deu que os resultados não diferem
> >> >>
> >> >> Seria bom apresentar maiores detalhes, como versões do R, do pacote,
> >> >> máquina, etc
> >> >>
> >> >> []s
> >> >> Leonard de Assis
> >> >> assis <dot> leonard <at> gmail <dot> com
> >> >>
> >> >> Em 17/07/2012 12:18, Rodrigo Coster escreveu:
> >> >>
> >> >> Benilton,
> >> >>
> >> >> olha, acho muito pouco provável (até pq os 2 são windows, então acho
> >> >> que
> >> >> nem existe essa opção). No computador aqui de casa os 2 R divergem no
> >> >> resultado (o gráfico que eu mandei foi rodando no R 32 e 64 bits no
> >> >> mesmo
> >> >> computador, Windows 7).
> >> >>
> >> >> Abri a imagem que tu mandou e rodei o comando, deu que os 2 objetos
> são
> >> >> iguais.
> >> >>
> >> >>
> >> >> []'s
> >> >>
> >> >> 2012/7/17 Benilton Carvalho <beniltoncarvalho em gmail.com>
> >> >>>
> >> >>> Alguma chance de algum dos computadores q vc tenha usado estar
> >> >>> utilizando alguma "compilacao propria" do R ou algum esquema de
> >> >>> otimizacao?
> >> >>>
> >> >>> Executei o seu codigo no meu computador e tudo parece OK (ie., o
> >> >>> objeto 'a' eh identico entre arquiteturas)... O arquivo a seguir
> >> >>> possui 2 elements: a32 e a64, resultantes do codigo q vc enviou.
> >> >>>
> >> >>> https://www.dropbox.com/s/srn0bhtmen4fd6u/R64x32.Rda
> >> >>>
> >> >>> Experimente o comando a seguir ao carregar o arquivo:
> >> >>>
> >> >>> all.equal(a32, a64)
> >> >>>
> >> >>> A unica coisa q consigo imaginar e' se alguma "otimizacao" ao
> compilar
> >> >>> o R e qq outro acessorio utilizado nao tiver dado certo.
> >> >>>
> >> >>>
> >> >>> b
> >> >>>
> >> >>>
> >> >>> 2012/7/17 Rodrigo Coster <rcoster em gmail.com>:
> >> >>> > Caros,
> >> >>> >
> >> >>> > programei uma rotina para estimar por máxima verossimilhança os
> >> >>> > parâmetros
> >> >>> > de uma cópula e para ver se estava certo comparei os resultados
> com
> >> >>> > o
> >> >>> > comando do pacote copula. Encontrei diferenças apenas na 5a casa
> >> >>> > decimal em
> >> >>> > diante, que considerei como sendo por causa do método numérico
> >> >>> > utilizado. Só
> >> >>> > que, ao fazer a mesma comparação num computador 64 bits os
> >> >>> > resultados
> >> >>> > são
> >> >>> > bastante divergentes (o meu código muda o valor estimado,
> enquanto o
> >> >>> > pacote
> >> >>> > copula mantem), mudando na 2a casa decimal (no caso o parâmetro é
> a
> >> >>> > correlação, então a 2a casa decimal é bem importante). Dai me
> bateu
> >> >>> > a
> >> >>> > seguinte dúvida: em qual confiar?
> >> >>> >
> >> >>> > Código:
> >> >>> > require(copula)
> >> >>> > require(MASS)
> >> >>> > set.seed(31415)
> >> >>> >
> >> >>> > normCop <- function(param,data) {
> >> >>> >  n <- nrow(data)
> >> >>> >  if (length(param) != n) { param <- rep(param,nrow(data)) }
> >> >>> >  cop <- mapply(normalCopula,param=param,MoreArgs=list(dim=2))
> >> >>> >  datalist <- apply(data,1,list)
> >> >>> >  for (i in 1:n) { datalist[[i]] <- datalist[[i]][[1]] }
> >> >>> >  out <- -sum(log(mapply(dcopula,copula=cop,u=datalist)))
> >> >>> >  if (out == Inf) { out = exp(100) }
> >> >>> >  return(out)
> >> >>> > }
> >> >>> > a <- matrix(0,20,2)
> >> >>> > n <- 100
> >> >>> > Sigma <- matrix(c(10,3,3,2),2,2)
> >> >>> > for (j in 1:20) {
> >> >>> >  data <- mvrnorm(n=n, rep(0, 2), Sigma)
> >> >>> >  data <- apply(data,2,rank)/(n+1)
> >> >>> >
> >> >>> >  fitNormCop <- function(data) {
> >> >>> >   optim(cor(data)[2],normCop,data=data, lower = 0, upper =
> >> >>> > .9999,method="L-BFGS-B")
> >> >>> >  }
> >> >>> >  a[j,1] <- fitNormCop(data)$par # Meu
> >> >>> >  a[j,2] <- fitCopula(normalCopula(.2,2), data,
> method="ml")@estimate
> >> >>> > #
> >> >>> > Pacote copula
> >> >>> > }
> >> >>> >
> >> >>> > E aqui um gráfico de dispersão comparando todos:
> >> >>> > http://img411.imageshack.us/img411/7527/92588280.png
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> > []'s
> >> >>> >
> >> >>> > _______________________________________________
> >> >>> > R-br mailing list
> >> >>> > R-br em listas.c3sl.ufpr.br
> >> >>> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> >>> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
> forneça
> >> >>> > código
> >> >>> > mínimo reproduzível.
> >> >>> _______________________________________________
> >> >>> R-br mailing list
> >> >>> R-br em listas.c3sl.ufpr.br
> >> >>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> >>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
> forneça
> >> >>> código mínimo reproduzível.
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> R-br mailing list
> >> >> R-br em listas.c3sl.ufpr.br
> >> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> >> >> código mínimo reproduzível.
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> R-br mailing list
> >> >> R-br em listas.c3sl.ufpr.br
> >> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> >> >> código mínimo reproduzível.
> >> >
> >> >
> >> >
> >> > _______________________________________________
> >> > R-br mailing list
> >> > R-br em listas.c3sl.ufpr.br
> >> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> >> > código
> >> > mínimo reproduzível.
> >> _______________________________________________
> >> R-br mailing list
> >> R-br em listas.c3sl.ufpr.br
> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> >> código mínimo reproduzível.
> >
> >
> >
> > _______________________________________________
> > R-br mailing list
> > R-br em listas.c3sl.ufpr.br
> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código
> > mínimo reproduzível.
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120719/73438faf/attachment-0001.html>


Mais detalhes sobre a lista de discussão R-br