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.df
No 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:
Comentários (Atom)
















