Benilton,
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> comEm 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@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@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@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@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@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@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.