introdução ao big data - encontro paraibano de estatística ......introdução ao big data -...

157
introdução ao big data Encontro Paraibano de Estatística - EPBEST 2016 Marcus Nunes 19 e 20 de maio de 2016 Universidade Federal do Rio Grande do Norte

Upload: others

Post on 10-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

introdução ao big dataEncontro Paraibano de Estatística - EPBEST 2016

Marcus Nunes19 e 20 de maio de 2016

Universidade Federal do Rio Grande do Norte

Page 2: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

quem sou eu?

Page 3: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

quem sou eu?

• Sou Marcus Nunes, Ph.D. em Estatística pela Penn StateUniversity

• Professor na UFRN• Meus interesses principais são as aplicações da Estatística emgrandes conjuntos de dados, como genética, climatologia esaúde

[email protected]• http://marcusnunes.me/epbest-2016/

3

Page 4: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

sobre o que é este minicurso?

Page 5: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

sobre o que é este minicurso?

• Uma introdução ao Big Data• Conceitos e ideias sobre o assunto• Ninguém vai se tornar um expert em Big Data• Espero que vocês saiam daqui com mais perguntas do querespostas

5

Page 6: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

sobre o que é este minicurso?

• Definição de Big Data• O que um Estatístico deveria saber• Como obter dados para análise• Visualização de dados• Agrupamento de Dados• Aplicação

6

Page 7: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que é big data?

Page 8: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que é big data?

• Não existe consenso a respeito de uma definição sobre o querealmente é big data

• A área ainda é nova; não houve tempo para o conhecimentosedimentar

• Em geral, diz respeito a áreas do conhecimento onde asferramentas de análise de dados tradicionais não são a melhorescolha possível

8

Page 9: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o oue é big data?

• Big Data são os dados que possuem 3 V:• Volume• Velocidade• Variedade

9

Page 10: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que é big data?

• Uma outra definição de Big Data se vale da Estatística para serformulada

• Podemos considerar um conjunto de dados como Big Data se otempo que levamos para ajustar um modelo aos dados é maiordo que o tempo utilizado para a escolha deste modelo

10

Page 11: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que é big data?

• Mike Franklin, da Universidade de Berkeley, diz o seguinte:• “Big Data é todo conjunto de dados caro para manter emanipular e de onde é difícil extrair informações”

• Esta definição é relativa: para alguns, dados na casa dosterabytes podem ser caros para manter; para outros, dados nacasa dos petabytes podem ser baratos para manter

11

Page 12: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

quem trabalha com big data?

Page 13: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

quem trabalha com big data?

• Competências de um profissional 100% capacitado paratrabalhar com Big Data:

• Estatística• Programação• Negócios• Conhecer bem a área de atuação (internet, marketing, áreafinanceira etc)

13

Page 14: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

quem trabalha com big data?

• Que tipo de profissionais temos no momento?• Bons estatísticos e matemáticos que escrevem códigos semotimização

• Bons cientistas da computação que entendem um pouco deestatística e matemática

• Bons cientistas da computação que entendem um pouco denegócios, depois de muita experiência na área

• Especialistas em alguma área de atuação• Gerentes que sabem fazer estas pessoas trabalharem juntas

14

Page 15: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

quem trabalha com big data?

• Estatísticos• Programadores• Físicos• Cientistas de Dados

15

Page 16: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

quem trabalha com big data?

• Cientista de Dados (Data Scientist) é um novo nome paraEstatístico

• Alguns dizem que o Cientista de Dados é um Estatístico quemora em São Francisco e usa um Mac

• No fundo, ambos são a mesma coisa, embora uma destasprofissões trabalhe melhor seu marketing pessoal

16

Page 17: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

quem já jogou rpg?

17

Page 18: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

malcolm gladwell - outliers

Deficiência Crítica

Aprendiz - 2.000 horas

Especialista - 10.000 horas

18

Page 19: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que um cientista de dados precisa saber

EST

ESTatística: coletar, organizar, analisar einterpretar dados, provar teoremas emanipular expressões algébricas

19

Page 20: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que um cientista de dados precisa saber

EST SIS

SIStemas: ser proficiente em computaçãoem geral, sabendo como usar diferentesprogramas e sistemas operacionais

20

Page 21: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que um cientista de dados precisa saber

EST SIS ALG

ALGoritmos: ser capaz de traduzir procedimentose instruções para a realização de uma tarefaem alguma linguagem de programação

21

Page 22: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que um cientista de dados precisa saber

EST SIS ALG COM

COMunicação: entender problemas deoutras áreas e comunicar suasconclusões para outras pessoas

22

Page 23: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que um cientista de dados precisa saber

EST SIS ALG COM PER

PERsistência: tentar diferentes maneiras deencarar os problemas, mesmo quando

eles parecem sem solução

23

Page 24: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que um cientista de dados precisa saber

EST SIS ALG COM PER SOR

SORte: estar no lugar certo e na hora certae ter as habilidades necessárias

quando esta hora chegar

24

Page 25: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

o que eu sei

EST SIS ALG COM PER SOR

25

Page 26: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

não é bom estar na média

EST SIS ALG COM PER SOR

26

Page 27: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

seja muito bom em algumas áreas

EST SIS ALG COM PER SOR

27

Page 28: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

big data na prática

Page 29: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

the evolution of popular music: usa 1960–2010

Fonte: http://rsos.royalsocietypublishing.org/content/2/5/150081/

29

Page 30: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

votos dos senadores no brasil

Fonte: http://www.todasasconfiguracoes.com/2013/09/14/ha-partidos-politicos-no-brasil/

30

Page 31: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

votos dos senadores no brasil

31

Page 32: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

votos dos senadores no brasil

32

Page 34: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

target

• Compartilhamos dados com empresas sempre que fazemoscompras

• As empresas usam estes dados para traçar o perfil dos clientes• Com isto, podem enviar ofertas direcionadas para cadasegmento de público

34

Page 35: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

target

• Certa vez, um pai chegou furioso a uma loja da Target emMinneapolis, exigindo falar com o gerente

• Ele argumentava que a filha recebeu, pelo correio, ofertas deroupas de bebê e berços

• Detalhe: a filha ainda era aluna do Ensino Médio

35

Page 36: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

target

• Na lógica do pai, isto estaria encorajando a filha a engravidar• O gerente da Target se desculpou e disse que ia averiguar o quetinha acontecido

• Nada de estranho foi descoberto; mesmo assim, o gerente ligoupara o pai uns dias depois e se desculpou novamente

36

Page 37: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

target

• Exemplo de perfil traçado pela Target:• Imagine uma cliente chamada Jenny Ward, 23 anos, moradorade Atlanta

• Se em março ela comprou• hidratante de manteiga de cacau• uma bolsa grande• suplementos de zinco e magnésio• um tapete azul claro

• Segundo o modelo da loja, há 87% de chance de ela estargrávida e dar a luz no fim de agosto

37

Page 38: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

target

• No caso específico da Target, o modelo deles é capaz de enviarcorrespondência para as clientes grávidas em momentosbastante específicos da gestação

• Além disso, serve para indicar como organizar fisicamente aslojas (por exemplo, colocar fraldas ao lado de cerveja)

• É possível descobrir que, quando casam, as pessoas comprartipos diferentes de cereal

38

Page 39: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

target

• Conclusão: depois da desculpa por telefone do gerente, o paivoltou a ligar para a loja

• Desta vez, ele se desculpou e disse que “haviam eventos em suacasa de que ele não estava completamente a par”

• De fato, a menina estava grávida e deu a luz poucos mesesdepois do contato da loja

39

Page 40: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

netflix

• How Netflix Reverse Engineered Hollywood• To understand how people look for movies, the video servicecreated 76,897 micro-genres

• We took the genre descriptions, broke them down to their keywords... and built our own new-genre generatorFonte: http://www.theatlantic.com/technology/archive/2014/01/how-netflix-reverse-engineered-hollywood/282679/

40

Page 41: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

netflix

• Gêneros de filmes em locadoras? Ação, Aventura, Comédia,Drama etc.

• Gêneros de filmes na Netflix? African-American CrimeDocumentaries, Scary Cult Movies from the 1980s, Feel-goodRomantic Spanish-Language TV Shows, Visually Striking LatinAmerican Comedies e mais

• Assim, é mais fácil sugerir filmes que podem agradar o usuário

41

Page 42: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

netflix

• Por exemplo, O Tesouro de Sierra Madre e Os Vingadores - A Erade Ultron são ambos filmes de aventura

42

Page 43: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

netflix

• É possível que ambos os filmes estivessem numa mesmaprateleira de uma locadora

• Na Netflix, um dos filmes poderia ser classificado como“Aventura Dramática Passada no México na Década de 1920” e ooutro como “Aventura com Grupo de Super-Heróis e GrandeOrçamento”

• Notem como é possível especificar o gênero do filme tantoquanto quisermos

43

Page 44: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

spotify

• Serviço de streaming de música• 20+ milhões de assinantes, 75+ milhões de usuários ativos(Junho de 2015)

44

Page 45: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

spotify

• Terabytes de dados são produzidos pelos usuários• É possível relacionar dados dos usuários para sugerir novosartistas e canções

• Críticos não são necessários neste sistema: novas sugestõessão criadas a partir de algoritmos

Fonte: https://labs.spotify.com/tag/big-data/

45

Page 46: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

Experimento: Séries de TV

46

Page 47: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

séries de tv

• Vamos fazer um experimento• Fãs de Game of Thrones ficarão em um grupo e fãs de TheWalking Dead ficarão em outro

• Eu darei minhas opiniões sobre estas séries e vocês julgarãomeu conhecimento

• Minhas afirmações serão genéricas a ponto de não estragar asurpresa de quem não assistiu estas séries ainda, masespecíficas a ponto de me fazer compreender por quem já asassistiu

47

Page 48: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

séries de tv

0 - Nunca assistiu1 - Assistiu alguns episódios aleatórios2 - Assistiu alguns episódios conectados3 - Assistiu muitos episódios4 - Assistiu a maioria episódios5 - Assistiu todos os episódios

48

Page 49: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

séries de tv - game of thrones

• De modo geral, a quarta temporada foi a melhor de todas,embora não seja possível dizer que foi muito melhor do que asoutras

• As temporadas tendem a começar bem, piorar um pouco eficarem muitos boas na reta final

• Os melhores episódios ocorreram no final da terceira e daquinta temporadas (todavia, não foram os últimos episódios)

• O pior episódio foi “Unbowed, Unbent, Unbroken”, o sextoepisódio da quinta temporada (Sansa Stark casa com RamsayBolton)

• A quinta temporada foi a mais irregular

49

Page 50: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

séries de tv - the walking dead

• Não há uma temporada que se destaque das demais• A terceira temporada começou bem, mas foi piorando com otempo

• Os melhores episódios na quarta e quinta temporadas• Entretanto, a quinta temporada começou muito bem, decaiu ese recuperou no final

• O pior episódio foi “Still”, episódio 11 da quarta temporada(Daryl e Beth na floresta)

50

Page 51: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

séries de tv

0 - Nunca assistiu1 - Assistiu alguns episódios aleatórios2 - Assistiu alguns episódios conectados3 - Assistiu muitos episódios4 - Assistiu a maioria episódios5 - Assistiu todos os episódios

51

Page 52: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

séries de tv

• Game of Thrones: 0 (nunca assisti)• The Walking Dead: 0 (nunca assisti)• Tirei minhas afirmações através de uma análise estatísticautilizando o site http://www.imdb.com/

52

Page 53: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

computação distribuída

Page 54: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

computação distribuída

• Computação Distribuída ou Computação Paralela• Otimização do trabalho computacional• “Dividir para conquistar” - Napoleão Bonaparte

54

Page 55: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

ideia básica

Fonte: BioMed Central

55

Page 56: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

refinamentos da ideia básica

• Rack de computadores

Fonte: http://racksolutions.com56

Page 57: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

refinamentos da ideia básica

• Coleção de racks que formam o National Super ComputerCenter em Guangzhou, China

Fonte: http://www.independent.co.uk/

57

Page 58: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

lista de supercomputadores

• TOP500 Supercomputer Sites - http://top500.org• Lista atualizada duas vezes por ano, com os maioressupercomputadores do mundo

58

Page 59: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

top 500 - novembro de 2015

1. National Super Computer Center in Guangzhou - China2. DOE/SC/Oak Ridge National Laboratory - Estados Unidos3. DOE/NNSA/LLNL - Estados Unidos4. RIKEN Advanced Institute for Computational Science (AICS) -Japão

5. DOE/SC/Argonne National Laboratory - Estados Unidos

59

Page 60: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

top 500 - novembro de 2015 - brasil

1. Laboratório Nacional de Computação Científica (201)2. SENAI CIMATEC (242)3. Laboratório Nacional de Computação Científica (266)4. Laboratório Nacional de Computação Científica (311)5. Petróleo Brasileiro S.A. (407)

60

Page 61: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

mas vocês tem um supercomputador na sua frente!

• (ou quase)• Todo PC moderno multicore tem a capacidade de realizartrabalhos em paralelo

• Os códigos dos programas devem ser adaptados para isso

61

Page 62: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

computação paralela no pc

Page 63: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

computação paralela no pc

• Existem diversas maneiras de paralelizar um código no PC• Como já dito, um computador com vários núcleos podeparalelizar um programa em si mesmo

• Uma rede de computadores pode paralelizar um programadentro dela

• Na última década, GPUs tem sido muito utilizadas paracomputação paralela

63

Page 64: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

computação paralela no pc

• Não é possível executar automaticamente um código tradicionalde maneira paralela

• Os códigos devem ser adaptados para isso• Na maioria das vezes, este processo não é trivial

64

Page 65: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

lei de amdahl

• Não há uma relação totalmente linear entre o número deprocessadores que um sistema tem e a velocidade deprocessamento

• É de se esperar que, ao aumentar o número de processadoresde um sistema, ocorra o seguinte:

No. de Processadores Tempo de Execução1 10002 5004 2508 125

65

Page 66: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

lei de amdahl

• Infelizmente, a tabela anterior não é sempre válida• Em geral, há partes de um programa que não podem serparalelizadas

• Desta forma, o número de processadores não influenciadiretamente no tempo de execução do programa

• Além disso, há um limite teórico máximo para a paralelização deum programa

66

Page 67: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

lei de amdahl

Fonte: Wikipedia

67

Page 68: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

opções de software

• Não existe uma maneira correta e definitiva de se paralelizarum código

• Há várias alternativas disponíveis no mercado• Felizmente, a imensa maioria delas é gratuita• Infelizmente, quase todas são exclusivas para *nix (Linux, Unix,OS X)

68

Page 69: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

opções de software

• MPI (Message Passing Interface)• Hadoop• Pacotes no R

69

Page 70: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

computação paralela no r

• Existem diversos pacotes que lidam com computação emparalelo no R

• Por exemplo, snow, multicore, Rmpi, foreach e parallel• Veremos algumas aplicações do parallel no R

70

Page 71: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

estimação do tempo de processamento

• É possível medir o tempo de execução de um código no R• Há duas maneiras de fazermos isto: através dos comandoproc.time e system.time

• Veremos exemplos destes dois métodos a seguir

71

Page 72: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

estimação do tempo de processamento

> n <- 100> repl <- 10> resultado <- rep(0, repl)> t.inicial <- proc.time()> for (j in 1:repl){+ resultado[j] <- det(matrix(rnorm(n^2), ncol=n))+ }> proc.time()-t.inicial

## user system elapsed## 0.018 0.002 0.021

72

Page 73: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

estimação do tempo de processamento

> set.seed(1)> n <- 100> repl <- 10> resultado <- rep(0, repl)> system.time(+ for (j in 1:repl){+ resultado[j] <- det(matrix(rnorm(n^2), ncol=n))+ }+ )

## user system elapsed## 0.013 0.001 0.014

73

Page 74: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

paralelização utilizando o pacote parallel

• Este pacote é distribuído com o R desde a versão 2.14• Baseado nos pacotes multicore e snow• Particularmente eficiente para rodar códigos do tipo SPMD(single program, multiple data), uma subcategoria do tipo deparalelização MIMD (multiple instruction, multiple data)

74

Page 75: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

paralelização utilizando o pacote parallel

• Na técnica SPMD, processadores independentes executam omesmo código em conjuntos de dados diferentes, sendo estesconjuntos reais ou simulados

• Na técnica MIMD, processadores independentes executamcódigos diferentes em conjuntos de dados diferentes, sendoestes conjuntos reais ou simulados

• Por ser menos geral, a técnica SPMD é menos versátil do que aMIMD, mas é mais fácil de compreender e de implementar

75

Page 76: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

paralelização utilizando o pacote parallel

• A utilização do pacote parallel depende da compreensão doque são listas no R

• A principal ideia é paralelizar a criação de listas• É possível utilizar tanto múltiplos cores da máqina, quantomáquinas diferentes para executar o código

76

Page 77: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

paralelização utilizando o pacote parallel

• É possível pedir para o R detectar o número de núcleospresentes na máquina

> library(parallel)> detectCores(logical=FALSE)

## [1] 2

77

Page 78: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

paralelização utilizando o pacote parallel

• A seguir, veremos um exemplo de como paralelizar um códigoem R

• O código a seguir calcula todas as somas dos x primeirosnaturais

• Sim, seria possível otimizar o código utilizando funções jáimplementadas no R, mas não é nosso interesse aqui

78

Page 79: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

paralelização utilizando o pacote parallel

> f <- function(x){+ soma <- 0+ for (j in 1:x){+ soma <- soma + j+ }+ return(soma)+ }

79

Page 80: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

paralelização utilizando o pacote parallel

> n <- 10000>> system.time(+ resultado.padrao <- lapply(1:n, FUN=f)+ )

## user system elapsed## 11.251 0.146 11.960

> system.time(+ resultado.mc01 <- mclapply(X=1:n, FUN=f, mc.cores=1)+ )

## user system elapsed## 11.095 0.086 11.368

80

Page 81: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

paralelização utilizando o pacote parallel

> system.time(+ resultado.mc02 <- mclapply(X=1:n, FUN=f, mc.cores=2)+ )

## user system elapsed## 6.220 0.104 6.467

> system.time(+ resultado.mc04 <- mclapply(X=1:n, FUN=f, mc.cores=4)+ )

## user system elapsed## 23.320 0.343 6.158

81

Page 82: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

paralelização utilizando o pacote parallel

• Perceba que não há diferença em utilizar os comandos lapply(tradicional) ou mclapply (multicore apply com 1 core)

• A opção com 2 cores é a mais rápida• Não há ganho de desempenho ao aumentar o número de coresde 2 para 4, pois meu computador só possui 2 cores

82

Page 83: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

análise de dados

Page 84: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

análise de dados

Dados BrutosProcessamentodos Dados

Análisedos Dados

Reportara Análise

84

Page 85: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

Dados Brutos

85

Page 86: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

como obter dados para análise

• Nem sempre é fácil conseguir dados para análise• Como é possível extrair diversas informações a partir deanálises, muitos vezes o acesso a dados é cobrado

• Veremos aqui como encontrar e baixar dados gratuitos dainternet

86

Page 87: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

introdução

Dados BrutosProcessamentodos Dados

Análisedos Dados

Reportara Análise

87

Page 88: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados brutos

• Dados brutos são dados sem tratamento algum• São os dados originais, vindos diretamente da fonte• Através dos dados brutos conseguimos as tabelas que serãoutilizadas em nossas análises

88

Page 89: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados brutos

• Há diversas maneiras de dados brutos serem obtidos a partir dainternet

• As maneiras principais são1. Download via sites de divulgação2. Web scraping3. Solicitação direta

89

Page 90: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

download de dados brutos

• Instituto Brasileiro de Geografia e Estatística (IBGE) -http://downloads.ibge.gov.br/

• Banco Central do Brasil - http://www4.bcb.gov.br/pec/series/port/aviso.asp

• Portal Brasileiro de Dados Abertos - http://dados.gov.br• Portal da Transparência -http://www.transparencia.gov.br/

• Dados Abertos da Câmara dos Deputados -http://www2.camara.leg.br/transparencia/cota-para-exercicio-da-atividade-parlamentar/dados-abertos-cota-parlamentar

90

Page 91: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

download de dados brutos

• Gene Expression Omnibus (GEO) -http://www.ncbi.nlm.nih.gov/geo/

• UCI Machine Learning Repository -http://archive.ics.uci.edu/ml/

• The home of the U.S. Government’s open data -http://www.data.gov/

• Analyze Survey Data for Free - http://www.asdfree.com/

91

Page 92: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

download de dados brutos

• IMDb - http://www.imdb.com/interfaces• The Last.fm Dataset | Million Song Dataset - http://labrosa.ee.columbia.edu/millionsong/lastfm

• Economic Time Series Page - http://www.economagic.com/• Time Series Data Library - https://datamarket.com/data/list/?q=provider:tsdl

92

Page 93: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

download de dados brutos

• Eu mantenho uma lista de sites favoritos online, onde épossível verificar quais sites de dados já me interessaram emalgum momento

• https://pinboard.in/u:grandeabobora/t:datasets/• https://pinboard.in/u:grandeabobora/t:database/

93

Page 94: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

web scraping

• Termo que significa vasculhar a internet através de dados• A ideia é coletar e organizar automaticamente os dados queestão espalhados em um ou mais sites

• Logicamente, apenas dados abertos ao público podem sercoletados desta maneira

94

Page 95: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

web scraping

• O R possui pacotes que realizam este tipo de trabalho• Existem desde pacotes bastante específicos, como o twitteR,até pacotes com usos mais gerais, como o rvest

• Infelizmente, o desempenho do R não é o melhor para este tipode situação

95

Page 96: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

web scraping

• A opção mais utilizada para web scraping é o python• Há muito tutoriais e material de consulta disponível, embora amaioria seja em inglês

• O endereço para baixar o interpretador da linguagem éhttps://www.python.org/

96

Page 97: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

web scraping

• Assim como o R possui pacotes, o python possui módulos queaumentam as funcionalidades da linguagem

• O módulo de python responsável por web scraping é chamadoscrapy

• Maiores informações podem ser obtidas emhttp://scrapy.org/

97

Page 98: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

web scraping

• O link http://www.python-forum.org/viewtopic.php?f=25&t=1626 possui um tutorial que explica como utilizar oscrapy

98

Page 99: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

web scraping

• É possível utilizar ferramentas mais amigáveis para extrairdados da internet

• Por exemplo, o site import.io - http://import.io/

99

Page 100: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

Processamento dos Dados

100

Page 101: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

processamento dos dados

Dados BrutosProcessamentodos Dados

Análisedos Dados

Reportara Análise

101

Page 102: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

processamento dos dados

• É a etapa de preparação dos dados brutos para análise• Existem diversas maneiras de fazer isto, seja utilizando o R ououtras ferramentas, como a linha de comando de sistemas *nix(Linux, Unix, Mac OS)

• Vamos ver como realizar a limpeza de dados em um conjuntofornecido pelo IMDb

102

Page 103: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

Análise dos Dados

103

Page 104: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

análise dos dados

Dados BrutosProcessamentodos Dados

Análisedos Dados

Reportara Análise

104

Page 105: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

análise dos dados

• Fica imensamente mais fácil proceder com a análise dos dadosapós eles terem sido previamente processados

• Perceba que o banco de dados criado com os dados do IMDb émuito mais fácil de analisar do que o conjunto original

• Ele está pronto para ser trabalhado por um programa como R,python ou até mesmo Excel

105

Page 106: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

Reportar a Análise

106

Page 107: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

reportar a análise

Dados BrutosProcessamentodos Dados

Análisedos Dados

Reportara Análise

107

Page 108: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

reportar a análise

• As conclusões tiradas na análise são reportadas neste passo• Tente mantê-las interessantes, mas simples; concisas, mascompletas; rigorosas, mas leves

• Uma tendência atual é usar dados para contar uma história;tente se valer de uma abordagem assim para manter seuinterlocutor interessado

108

Page 109: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

agrupamento de dados

Page 110: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

• É um método popular de classificação de dados• O objetivo é separar N observações em K grupos• Neste método, cada observação é designada para o grupo coma média mais próxima

110

Page 111: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

• Este método é sensível a outliers• Os pontos podem se mover de um grupo para outro, mas aresposta final depende da inicialização dos centros

• Se uma observação estiver igualmente perto de dois ou maiscentros, então o grupo deve ser decidido aleatoriamente

111

Page 112: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

• Pode ser muito efetivo como uma método de previsão black box• Não é útil para entender a natureza da relação entre ascaracterísticas e as classes

112

Page 113: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

• Vamos utilizar o conjunto de dados iris• Precederemos com a Análise de Componentes Principais e oK-Means

113

Page 114: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

> head(iris)

## Sepal.Length Sepal.Width Petal.Length Petal.Width Species## 1 5.1 3.5 1.4 0.2 setosa## 2 4.9 3.0 1.4 0.2 setosa## 3 4.7 3.2 1.3 0.2 setosa## 4 4.6 3.1 1.5 0.2 setosa## 5 5.0 3.6 1.4 0.2 setosa## 6 5.4 3.9 1.7 0.4 setosa

114

Page 115: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

> plot(iris$Petal.Length, iris$Petal.Width,+ col=as.numeric(iris$Species))

●●● ●●

●●

●●●●●

●●●

●●● ●●

●●

●● ●●

●●●●●●

● ●●●●

●●

●●●●

●● ●

●●

●●

●●

●●

● ●

●●

●●●

●●●●

●●●●

●●

●●●

●●

●●

●●

●●

● ●

●●●

●●

●●

●●

●●

●●

●●

1 2 3 4 5 6 7

0.5

1.0

1.5

2.0

2.5

iris$Petal.Length

iris$

Pet

al.W

idth

115

Page 116: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

> iris2 <- iris[, -5]> iris_pca <- prcomp(iris2)> summary(iris_pca)

## Importance of components:## PC1 PC2 PC3 PC4## Standard deviation 2.0563 0.49262 0.2797 0.15439## Proportion of Variance 0.9246 0.05307 0.0171 0.00521## Cumulative Proportion 0.9246 0.97769 0.9948 1.00000

116

Page 117: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

> plot(iris_pca)

iris_pca

Var

ianc

es

01

23

4

117

Page 118: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

> iris_kmeans <- kmeans(iris2, centers=3)> names(iris_kmeans)

## [1] ”cluster” ”centers” ”totss”## [4] ”withinss” ”tot.withinss” ”betweenss”## [7] ”size” ”iter” ”ifault”

> iris_kmeans$cluster

## [1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2## [28] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 3 1## [55] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1## [82] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 1 3## [109] 3 3 3 3 3 1 1 3 3 3 3 1 3 1 3 1 3 3 1 1 3 3 3 3 3 1 3## [136] 3 3 3 1 3 3 3 1 3 3 3 1 3 3 1

> iris_kmeans$size

## [1] 62 50 38 118

Page 119: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

> resultado <- table(iris$Species, iris_kmeans$cluster)> resultado

#### 1 2 3## setosa 0 50 0## versicolor 48 0 2## virginica 14 0 36

> apply(resultado, 2, sum)

## 1 2 3## 62 50 38

119

Page 120: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

> plot(iris_pca$x[, 1], iris_pca$x[, 2],+ col=as.numeric(iris_kmeans$cluster))

●●

●●

●●●

● ●●

●●

●●

●●

●●

●●

●●

●●

●●

●● ●

●●

●●●

●●

● ●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

−3 −2 −1 0 1 2 3 4

−1.

00.

00.

51.

0

iris_pca$x[, 1]

iris_

pca$

x[, 2

]

120

Page 121: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

k-means

> plot(iris_pca$x[, 1], iris_pca$x[, 2],+ col=as.numeric(iris_kmeans$cluster), pch=as.numeric(iris$Species))

●●

●●

●●●

● ●●

●●

●●

●●

−3 −2 −1 0 1 2 3 4

−1.

00.

00.

51.

0

iris_pca$x[, 1]

iris_

pca$

x[, 2

]

121

Page 122: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

Aplicação

122

Page 123: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

objetivos

• Trabalho proposto por Marcos Silva, da Embrapa Gado de Leitede Juiz de Fora, MG

• Identificar animais resistentes à infecção por nematóides• Separar os animais em grupos para posterior acasalamento• Sequenciar o genoma dos animais resistentes e não-resistentespara identificar os genes mais importantes

123

Page 124: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

população

• Dados de contagem de larvas de nematóides em gado F2 Gir xHolandês

• Foram utilizados 4 touros Holandeses e 28 fêmeas Gir para geraruma população F1

• A partir dela foram selecionados 5 touros e 68 fêmeas paragerar uma população F2

124

Page 125: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

análise prévia

• Contagem de ovos de nematóides em fezes• Dados discretos• Coleta durante 28 semanas• Apresentam autocorrelação• Dados longitudinais

125

Page 126: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

estatística descritiva

• 1552 perfis, totalizando 43.456 observações• 700 perfis não possuem observação alguma• 852 perfis para analisar

126

Page 127: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

visualização dos dados

127

Page 128: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

estatística descritiva

Min Q1 Med X Q3 Max NA0 2 9 50,43 35 12.000 6453

75% 90% 95% 99%35 112 205 662

128

Page 129: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

histograma de 95% dos dados

129

Page 130: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

visualização dos perfis de 95% dados

130

Page 131: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

histograma de 90% dos dados

131

Page 132: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

visualização dos perfis de 90% dados

132

Page 133: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais completos

• 852 perfis• Alguns animais foram medidos mais de uma vez, comresultados diferentes

• 480 animais diferentes• Até 28 observações em cada perfil• Dados faltantes

133

Page 134: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

kml: k-means para dados longitudinais

• Criado especialmente para lidar com dados longitudinais• Método não-supervisionado• Bons resultados inclusive para curvas não-polinomiais

Page 135: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

perfil do animal 99948

Page 136: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

perfil do animal 3662

Page 137: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

perfil do animal 2756

Page 138: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados faltantes

Fonte: Genolini e Falissard (2009)

Page 139: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

kml: k-means para dados longitudinais

• B =∑g

m=1 nm(Ym − Y)(Ym − Y)′

• W =∑g

m=1∑nm

k=1(Ymk − Y)(Ymk − Y)′

• nm é o número de trajetórias no cluster m• Ym é a trajetória média do cluster m• Y é a trajetória média do conjunto inteiro de dados

• Maximizar C(g) = tr(B)tr(W)

nm − gg− 1

Page 140: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais completos

0 5 10 15 20 25

0500

1000

1500

V

A A A A A A A A A A

B B

BB

B B

B

BB

C

CC C C C

C

C

A B C: 95.2% : 4.21% : 0.601%

2

222222222

22222222

2

2

5 10 15 20

020

4060

80100

120

Calinski.HarabatzSorted

Rerolling

33333

33333333333333

3

444444

4444444444444

4

5555555555

55555555

55

6

66666

6666666666666

6

140

Page 141: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais

• Processamento prévio• Manter apenas os animais com todas as observações inferioresao 95º ou 99º percentil ou manter somente as observaçõesinferiores a 1000

141

Page 142: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais inferiores ao 95º percentil

0 5 10 15 20 25

050

100

150

200

V

A A A A A A A A A A A A A A

BB B

BB

B B B BB

B B B

B

A B: 78.5% : 21.5%

22222222222222222222

5 10 15 20

100

150

200

Calinski.HarabatzSorted

Rerolling

33333333333333333333

44444444444444444444

55555555555555555555

66666666666666666666

142

Page 143: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais inferiores ao 99º percentil

0 5 10 15 20 25

0100

200

300

400

500

600

V

A A A A A A A A A A A A A A

B BB B B

B B B B B B B BB

A B: 85.1% : 14.9%

22222222222222222222

5 10 15 20

150

200

250

300

350

400

Calinski.HarabatzSorted

Rerolling

3333333333333333333344444444

44444444444455555555555555555555

66666666666666666666

143

Page 144: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais inferiores a 1000

0 5 10 15 20 25

0200

400

600

800

V

A A A A A A A A A A

B B BB B B B B B

C

CC

C

CC

A B C: 83.8% : 15.4% : 0.86%

3

33333333

33333333

33

3

5 10 15 20

230

240

250

260

270

280

Calinski.HarabatzSorted

Rerolling

144

Page 145: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

métodos de coleta dos dados

• Bastão (menos preciso)• Lamínula (mais preciso)

145

Page 146: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais - bastão

0 5 10 15 20 25

0500

1000

1500

V

A A A A A A A A A A A A A AB B B B B B B B B B B B

B

A B: 95.7% : 4.32%

222222222222222222222222

222

222222222

22222222222222

0 10 20 30 40 50

100

150

200

250

Calinski.HarabatzSorted

Rerolling

333

3333333333333333333333333333333333333

33333333

33

4444

444444444444444444444444

44444444444444444

44444

55555

55555555555555555555555555

555555555555

5555555

66666

666666666666666666666666666666666666666666666

146

Page 147: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais - lamínula

0 5 10 15 20 25

02000

4000

6000

8000

10000

12000

V

A A A A A A A A A A A A A A

B

B

B B

A B: 99.7% : 0.292%

22222222222222222222222222

222222222222222222222222

0 10 20 30 40 50

0500

1000

1500

Calinski.HarabatzSorted

Rerolling

333333333333333333333333333

33333333333333333333333

44444444444444444444444444444

444444444444444444444

555555555555555555555555555

55555555555555555555555

6666666666666666666666666666

6666666666666666666666

147

Page 148: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais - bastão - 20 semanas

5 10 15 20

0500

1000

1500

V

A A A A A A AB B B B B B B

CC

CC

C

C

A B C: 90.8% : 8.84% : 0.393%

2222222222222222222222222

222222222

2222222222222222

0 10 20 30 40 50

100

150

200

250

Calinski.HarabatzSorted

Rerolling

3

3

33333333333333333333333333333333333333

3

3333

333

33

4444444444444444444444444444

444444444444444

4444444

5555555555555555555

5555555555555555555555555555555

6666666666666666666666666666666666666666

66666

66666

148

Page 149: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais - lamínula - 20 semanas

5 10 15 20

02000

4000

6000

8000

10000

12000

V

A A A A A A A A A A

B

B

B B

A B: 99.7% : 0.292%

22222222222222222222222222

222222222222222222222222

0 10 20 30 40 50

0200

400

600

800

1000

1200

Calinski.HarabatzSorted

Rerolling

33333333333333333333333333

333333333333333333333333

444444444444444444444

44444

444444444444444444444444

555555555555555555555555555

5

5555555555555555555555

6666666666666666666666666666

6

666666666666666666666

149

Page 150: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais - bastão - 95º percentil

0 5 10 15 20 25

020

4060

80

V

A A A A A A A A A A A A A A

B BB B

BB B B B

B BB B

B

A B: 81% : 19%

22222222222222222222222222222222222222222222222222

0 10 20 30 40 50

4060

80100

Calinski.HarabatzSorted

Rerolling

3

3333333333333333333333333333333333333333333333333

44444444444444444444444444444444444444444444444444

55555555555555555555555555555555555555555555555555

66666666666666666666666666666666666666666666666666

150

Page 151: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais - lamínula - 95º percentil

0 5 10 15 20 25

0100

200

300

V

A A A A A A A A A A A A A A

B

B

B B B

B BB B B B B B

B

A B: 77.1% : 22.9%

22222222222222222222222222222222222222222222222222

0 10 20 30 40 50

3040

5060

7080

90

Calinski.HarabatzSorted

Rerolling

33333333333333333333333333333333333333333333333333

44444444444444444444444444444444444444444444444444

55555555555555555555555555555555555555555555555555

66666666666666666666666666666666666666666666666666

151

Page 152: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais - bastão - 20 semanas e 95º percentil

5 10 15 20

020

4060

80

V

A A A A A A A A A A

BB

B BB

BB B

B

B

A B: 76% : 24%

22222222222222222222222222222222222222222222222222

0 10 20 30 40 50

3040

5060

7080

90

Calinski.HarabatzSorted

Rerolling

33333333333333333333333333333333333333333333333333

4444444444444444444444444444444444444444444444444

4

5555555555555555555555555555555555555555555555555566666666666666666666666666666666666666666666666666

152

Page 153: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

dados reais - lamínula - 20 semanas e 95º percentil

5 10 15 20

0100

200

300

V

A A A A A A A A A A

B

B

B B B

B BB B B

A B: 75.6% : 24.4%

22222222222222222222222222222222222222222222222222

0 10 20 30 40 50

3040

5060

7080

90100

Calinski.HarabatzSorted

Rerolling

33333333333333333333333333333333333333333333333333

44444444444444444444444444444444444444444444444444

55555555555555555555555555555555555555555555555555

66666666666666666666666666666666666666666666666666

153

Page 154: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

próximos passos

• Fazer a validação cruzada desta análise de conglomerados• Realizar um GWAS para comparar o método proposto com ométodo naïve

• Ajustar um modelo linear frequentista com resposta discreta emedições repetidas

• Ajustar um modelo linear bayesiano com resposta discreta emedições repetidas

• Delinear um experimento para coleta de material genético

154

Page 155: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

conclusão

Page 156: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

conclusão

• Big Data são 3 V: Volume, Velocidade e Variedade• Há muita coisa ainda para ser analisada e descoberta• Existe uma infinidade de dados prontos para serem analisadose mais dados ainda sendo produzidos cada vez mais

• Espero que vocês tenham gostado do que viram nas últimas 4horas

• Venham para a UFRN!

156

Page 157: Introdução ao Big Data - Encontro Paraibano de Estatística ......Introdução ao Big Data - Encontro Paraibano de Estatística - EPBEST 2016 Author Marcus Nunes Created Date 5/20/2016

introdução ao big dataEncontro Paraibano de Estatística - EPBEST 2016

Marcus Nunes19 e 20 de maio de 2016

Universidade Federal do Rio Grande do Norte