quinta-feira, 29 de maio de 2014

Big Data ?! A nova buzzword.

E falando em moda, está aí a buzzword do momento: Big Data! Peraí...mas quem falou em moda?...rs...Anyway...

Todo mundo agora quer saber de Big Data. Comprar Big Data e vender Big Data...!
Mas quem sabe de fato o que é Big Data (BD)? Muitos não sabem, mas acham que sim.

Muita gente pensa que só porque tem uma base de 1 milhão de clientes, isso é BD. Se você tem uma base de dados bem grande e estruturada, sobre a qual você conhece a estrutura e conteúdo, isso não é BD. Você poderia ter 54859345843 trilhões de clientes na base, ou um "googleplex" de registros de transações bancárias e isso ainda não seria BD. Isso seria apenas um "montão de dados". =)

Pra ser  BD, há alguns critérios a se considerar, como: a maior parte do que está entre esses dados ser lixo! Mas entre o lixo, há coisas úteis a serem descobertas. É um mar de inutilidades a ser percorrido para achar um tesouro perdido. Outra coisa é que normalmente os dados estão desestruturados. Mesmo que estejam em um banco de dados, o conteúdo pode ser texto, e dentro daquele texto podem haver várias informações diferentes que você não sabe onde começa uma ou termina a outra.

O exemplo mais claro disso são as redes sociais. As informações estão armazenadas em um banco de dados especial, mas os conteúdos são diversos. Num único post você pode ter várias informações sobre uma pessoa. E como você vai descobrir qual parte é qual, e o que é útil?

Na prática, você vai precisar que ter uma boa infra estrutura pra guardar tudo isso e analisar.

Agora...é claro que você não vai analisar manualmente, caso a caso...rsrs...e mesmo se isso fosse feito, dificilmente perceberia algo de genial.

É ai que entram os algoritmos de mineração de dados pra te ajudar a descobrir padrões no BD, e fazer dele algo útil e palpável. Eles possibilitam enxergar algo que antes era invisível.

Os dados que levam a grandes descobertas sobre os padrões de funcionamento do mundo podem estar nos lugares mais inóspitos... ^^...então temos que fuçar!



Abraços miningnoobs!


Público alvo, amostra e período

Nos posts anteriores vimos que para fazer um modelo, precisamos definir antes: qual a pergunta que queremos responder. Ex.: quais as chances de alguém ter um infarto?

Após isto, há mais uma pergunta básica que deve ser feita: de quem ou o que estamos falando? Ou seja, qual o público alvo?

Precisamos definir quais as características dos indivíduos/coisas que vamos analisar.
Por exemplo, podemos definir que nosso público alvo para a pergunta acima é composto por:  mulheres, viúvas, que moram na região central de sp e fumam.
Desta forma, os dados coletados para o estudo devem ser somente de indivíduos que estejam dentro destas características.
É importante ter em mente que o modelo que será criado, deverá ser (idealmente) aplicado a indivíduos do mesmo público. Ou seja, não seria coerente aplicar o modelo em homens, ou ainda em mulheres que não fumam. Isso porque estes não fizeram parte do conjunto de mapeamento do estudo. Eles não participaram da modelagem, de modo que corre-se o risco (não necessariamente, mas não da pra saber a priori) de eles não apresentarem um comportamento similar aos outros.
Isso não significa que vamos aplicar o modelo somente nas pessoas que participaram da modelagem. Afinal de contas, dessa forma o modelo não serviria de nada. Quero dizer que vamos aplicar em outras pessoas, mas sendo estas, pessoas que fazem parte do mesmo perfil definido no público alvo.
É muito importante que fique bem claro logo no começo qual a definição exata desse público alvo, de modo a evitar retrabalhos futuros.

Após definir o público, precisamos avaliar a volumetria de dados que temos disponível, considerando a resposta que foi definida.
Devemos lembrar que podem haver diversas restrições quanto à quantidade de dados a ser considerada no estudo. Não somente por questões de processamento e armazenamento (afinal hoje em dia isso já não é um problema tão grande), mas por questões de viabilidade de coleta também.
Muitas vezes os dados do estudo não estão disponíveis em um sistema, e é necessário coletá-los. Por exemplo: com pesquisa de campo ou em redes sociais.
Dessa forma, é pertinente definir uma amostra a ser coletada da população.
O tamanho ideal da amostra é uma questão um pouco subjetiva. Há alguns cálculos estatísticos que permitem definir o tamanho ideal, mas nem sempre isso é necessário, pois vai depender muito da situação. Não existem números mágicos, mas a partir de 1.000 casos já temos alguma coisa razoável.
Um fator que deve ser considerado com muita cautela é a questão da aleatoriedade.
A amostra deve ser aleatória! A menos que se esteja usando alguma técnica de estratificação ou algo assim, mas isso deve ser feito com cuidado e exige conhecimentos adicionais.
Isso serve para evitar criar vieses na amostra.
Ex.: imagine que você extraia os dados de cadastro de clientes de um sistema transacional pegando os primeiros 10.000 da tabela. Imagine agora que a base estava ordenada por idade. Desta forma o seu modelo terá mais gente nova do que velha para ser modelada (isso se não acabar entrando só gente nova). O problema é que na prática você aplicará o modelo tanto em gente velha quanto em gente nova, mas o seu modelo não conhece o comportamento das pessoas mais velhas. Desta forma, ele tende a errar nas previsões destes indivíduos.

Por último, precisamos ainda definir um período histórico para nossos dados.
Devemos pensar na dinâmica do assunto que estamos tratando em relação ao tempo.
Por exemplo, se estivermos falando do mundo de finanças, devemos pensar que dados muito antigos talvez não reflitam a economia atual, uma vez que esta pode mudar tão rápido.
Entretanto, não podemos também pegar somente dados de ontem, pois é cedo de mais para perceber um padrão! Devemos avaliar bem o histórico que vamos utilizar, até porque isso impacta na volumetria. É preciso ponderar o custo/benefício de um histórico mais longo, e ainda o malefício (por pegar dados que já não refletem a realidade).



Abraços miningnoobs!