<div dir="ltr"><div>Prezados, estou tentando utilizar as ferramentas de paralelo em R para Windows. Acontecem dois problemas:</div><div>1. Às vezes parece que os workers não 'ativam', dando a mensagem de erro abaixo. Note que não roda, pois o tetaM continua como matriz de 0s. Eu às vezes tenho de colar as funções mais de uma vez para então 'ligar'.</div><div><br></div><div>2. Neste exemplo, eu faço replicações de amostras de um MRLM (só um treinamento) e  estimo o modelo para cada amostra. Independente da quantidade de amostras que eu gero (M amostras), ele sempre me devolve com 3 resultados a menos. 3 é o nº de cores que eu coloquei.</div><div><br></div><div>Alguém tem alguma ideia da origem do problema? Ah, eu fiz para outros modelos que trabalho e ocorrem os mesmos problemas</div><div><br></div><div><br></div><div># Criação dos cores em paralelo:</div><div><div>library(doParallel)</div><div>library(foreach)</div><div>cl<-makeCluster(3, type="SOCK") <br></div><div>library(doSNOW)</div><div>registerDoSNOW(cl)</div></div><div><br></div><div><br></div><div># Código</div><div><br></div><div><div># Modelo Normal</div><div>n=100</div><div>M=10</div><div>p=2</div><div>X=matrix(1,n,p)</div><div>X[,2]=runif(n)</div><div>beta0=matrix(c(5,1),2,1)</div><div>sigma2=1</div><div><br></div><div>yM=matrix(0,n,M)</div><div>for (k in 1:M) { </div><div>erro=rnorm(n,0,sigma2) </div><div>yM[,k]=X%*%beta0+erro</div><div>}</div><div><br></div><div><br></div><div>tetaM=matrix(0,p,M)</div><div>strt<-Sys.time()</div><div>tetaM=foreach (k = 1:M,.combine=cbind) %dopar% {  </div><div>y=yM[,k]</div><div>tetaM[,k]=lm(y~X-1)$coefficients</div><div>#sgn.logL(teta3,y,X)</div><div>}</div><div>print(Sys.time()-strt)</div><div><br></div><div>tetaM</div></div><div><br></div><div><br></div><div># Rodando no R:</div><div><br></div><div><div>> tetaM=matrix(0,p,M)</div><div>> strt<-Sys.time()</div><div>> tetaM=foreach (k = 1:M,.combine=cbind) %dopar% {  </div><div>+ y=yM[,k]</div><div>+ tetaM[,k]=lm(y~X-1)$coefficients</div><div>+ #sgn.logL(teta3,y,X)</div><div>+ }</div><div>Error in e$fun(obj, substitute(ex), parent.frame(), e$data) : </div><div>  worker initialization failed: 5.207760032192210.72556160440376</div><div>> print(Sys.time()-strt)</div><div>Time difference of 0.06304097 secs</div><div>> </div><div>> tetaM</div><div>     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]</div><div>[1,]    0    0    0    0    0    0    0    0    0     0</div><div>[2,]    0    0    0    0    0    0    0    0    0     0</div><div>> tetaM=matrix(0,p,M)</div><div>> strt<-Sys.time()</div><div>> tetaM=foreach (k = 1:M,.combine=cbind) %dopar% {  </div><div>+ y=yM[,k]</div><div>+ tetaM[,k]=lm(y~X-1)$coefficients</div><div>+ #sgn.logL(teta3,y,X)</div><div>+ }</div><div>> print(Sys.time()-strt)</div><div>Time difference of 0.07505703 secs</div><div>> </div><div>> tetaM</div><div>   result.1 result.2 result.3 result.4 result.6  result.7 result.10</div><div>X1 4.738553 4.584143 4.923599 4.962845 4.737695 5.2330998 4.9280171</div><div>X2 1.313208 1.855138 1.121618 1.053215 1.571513 0.6168855 0.9040763</div></div><div><br></div><br clear="all"><div><div class="gmail_signature"><div dir="ltr">Atenciosamente,<br><br>Prof. Clécio da Silva Ferreira<br>Depto de Estatística - UFJF<br>Tel: (32) 2102-3306<br>Página: <a href="http://www.ufjf.br/clecio_ferreira" target="_blank">www.ufjf.br/clecio_ferreira</a><br><br></div></div></div>
</div>