SAUDAÇÕES!
Seja bem vindo à página do professor Pedro Albuquerque. Para saber mais sobre meu currículo, disciplinas ministradas e interesses de pesquisa, navegue no menu disponível no topo da página.
segunda-feira, 3 de setembro de 2018
Amazon Web Service - AWS. Usando RStudio e CUDA na Amazon.
Um dos principais desafios do Análise de Dados atualmente é realizar operações rapidamente em muito conjunto de dados. Nesse sentido, uma vez que o custo de equipamentos para computação em paralelo (Compute Unified Device Architecture) são muito caros para os pesquisadores.
Uma solução é pegar "emprestado" alguns minutos ou horas de servidores que tenham os hardwares necessários. Para isso podemos usar o Amazon Web Service. Nesse post vou mostrar como configurar um servidor Amazon com GPU (Graphics processing unit).
Assumo aqui que você já tem uma conta na Amazon e na Amazon Web Service com cartão de crédito registrado.
O primeiro passo é entrar no Amazon Web Service e fazer o login. Em seguida visitar o AWS Management Console e escolher a opção Compute - EC2:
Escolha agora a opção Launch Instance:
Escolha AWS Market Place e na caixa de Busca digite RStudio:
Nesse exemplo como queremos um servidor com GPU escolhemos RStudio Server with Tensorflow-GPU for AWS:
Aparecerá uma tela com os valores. Se estiver de acordo, clique em Continue:
Em seguida precisamos escolher o tipo da instância. Quanto mais potente for o servidor e seus hardwares mais caro será o minuto de processamento. Os servidores que possuem GPU estão habilitados na página:
Nesse exemplo eu escolhi GPU compute: p2.xlarge e após clicar em Next: Configure Instance Details você deve manter tudo como está, exceto a opção Auto-assign Public IP que deve ser marcada como Enable:
Após essa alteração clique em Review and Launch:
E após revisar, se tudo estiver de acordo clique em Launch:
Por simplicidade vamos proceder sem chave:
Agora seu servidor está sendo inciado. Você deve então clicar no nome da instância (guarde esse nome pois será a senha do RStudio Server):
Quando ele estiver pronto, deve aparecer um sinal verde:
Para acessar o servidor, copie o endereço de IP na parte inferior nomeado como IPv4 Public IP e digite no navegador o IP seguido da porta 8787, algo como: XX.XXX.XX.XX:8787. Copie também o Instance ID na parte inferior pois será a senha do servidor AWS. Caso tudo tenha dado certo a tela de login surgirá no seu navegador:
Utilize como login: rstudio-user e a senha deve ser o Instance ID. Clique em Login e Pronto!! Pode começar a usar...
Agora, quando terminar o uso é preciso terminar a instância para evitar ser cobrado, para isso viste https://console.aws.amazon.com/ec2/. Lá deverá constar todas as suas instâncias, escolha a instância que você quer terminar e clique com o botão direito escolhendo a opção Instace State e Terminate:
Confirme que você realmente deseja terminar a instância:
.
A partir de agora você não será mais cobrado pelo uso do servidor. Caso deseje mais detalhes sobre o servidor visite: https://tensorflow.rstudio.com/tools/cloud_server_gpu.html#amazon-ec2
segunda-feira, 15 de janeiro de 2018
Leitura das bases do IBGE por meio do microdadosBrasil e dplyr.
Como pesquisadores uma fonte de informação rica e muito importante para a academia são as bases de dados do Instituto Brasileiro de Geografia e Estatística (IBGE).
A leitura das principais bases de dados nacionais pode ser realizada por meio do pacote microdadosBrasil.
O primeiro passo é a instalação do pacote no R, fazemos isso da seguinte forma:
#Habilita o pacote devtools library(devtools) #Instala o pacote microdadosBrasil devtools::install_github("lucasmation/microdadosBrasil") #Habilita o pacote microdadosBrasil library(microdadosBrasil)
Nesse post, trataremos da Pesquisa Nacional por Amostra de Domicílios (PNAD) como exemplo, para baixar e ler a PNAD precisamos dos seguintes comandos:
#Fazemos somente uma vez caso os dados não existam localmente download_sourceData("PNAD", 2015, root_path = "C:\\Dados") #Lê os dados da PNAD pnad <- read_PNAD("pessoas", 2015, root_path = "C:\\Dados") #Salva a PNAD lida save.image("C:\\Dados\\pnad.RData")No bloco anterior os microdados, dicionários, arquivos de leitura da PNAD são armazenados na pasta definida pelo usuário (nesse exemplo C:\Dados). Em seguida esses dados são lidos pela função read_PNAD e então salva a imagem no arquivo pnad.RData. No código anterior definimos ainda que desejamos os dados da base de pessoas, para o ano de 2015. Maiores informações sobre os tipos de bases e pesquisas disponíveis os interessados podem consultar o repositório do microdadosBrasil. Uma vez salva a imagem, a leitura fica muito mais rápida no R e podemos chamar os dados por meio da função load:
#Chama os dados da pnad salvos no RData load("C:\\Dados\\pnad.RData")Como exemplo vamos calcular a renda média das pessoas na PNAD 2015. A variável rendimento de interesse é dada pela variável V9532 e a variável de peso (expansão amostral) é dada por V4729. O cômputo do rendimento médio é dado por?
#Chama a biblioteca dplyr library(dplyr) #Exemplo Média do Rendimento pnad %>% group_by(UF) %>% filter(V9532<999999999)%>% summarise(weighted.mean(V9532 , w = V4729, na.rm = TRUE) ) -> agg.dfNo bloco anterior salvamos no data.frame agg.df a renda média das pessoas por Unidade da Federação (UF) removendo-se os valores missing informados pelo IBGE como V9532>999999999. Outra estatística muito comum é o cálculo de proporções. Podemos calcular a proporção por cor nas Unidades da Federação (UF) como:
#Calcula a proporção pnad %>% group_by(UF, V0404) %>% summarise (n.cor = sum(V4729))%>% group_by(UF) %>% mutate (n = sum(n.cor)) %>% mutate(freq = n.cor/n) %>% mutate(freq2 = paste0(round(freq,6)*100,"%")) -> cor.df #Define os labels dos factors cor.df[,"Cor"] = factor(cor.df$V0404, levels=c(2,4,6,8,0,9), labels=c("Branca","Preta","Amarela", "Parda","Indígena","Sem declaração"), ordered=FALSE)Nesse exemplo, salvamos no objeto cor.df essas proporções e também definimos os labels das variáveis qualitativas. Na última parte desse exemplo, podemos estar interessados no cômputo do Índice de Gini por Unidade da Federação:
#Exemplo Gini library(reldist) pnad %>% group_by(UF) %>% filter(V9532<999999999)%>% summarise(gini.idx=gini(V9532,V4729))Onde o pacote reldist apresenta a função gini que calcula o Índice de Gini ponderado pelo peso amostral.
Assinar:
Postagens (Atom)