domingo, 7 de dezembro de 2014

Existem inúmeras técnicas e tecnologias para se trabalhar com dados e, com isto, surgem diferentes formatações necessárias para se executar um melhor trabalho com as bases de dados. Pensamos aqui, por exemplo, em transformar dados não estruturados em estruturados, fazer tratamento de missing, converter diferentes tipos de dados de acordo com a necessidade, entender se os dados são categóricos, contínuos, se devem ser normalizados ou não, dentre muitas outras tarefas. Nesta etapa temos também a construção de variáveis, fundamental para o sucesso de qualquer modelo.

Até este ponto, é dispendido entre 70% e 80% do tempo do projeto. Pensando no CRISP-DM suas quatro primeiras etapas (onde está incluída a preparação/pré-processamento dos dados) devem ser tratadas com muita atenção, pois sua boa execução é determinante para o sucesso do projeto e economizará muito tempo e dinheiro. Uma boa preparação dos dados pode ser o fator determinante para a capacidade preditiva de um modelo.


A sensibilidade de um modelo à suas preditoras está muito ligada ao tipo de técnica que é utilizada e ao modo que estas são utilizadas. Algumas transformações nos dados como remoção de outliers ou remoção de variáveis que carregam pouco ganho de informação, podem resultar em mudanças relevantes no desempenho do modelo. A "quantidade" de pré-processamento também é determinada pelo tipo de modelo que será trabalhado. Por exemplo, uma árvore de decisão pode ser menos sensível à certas características das variáveis preditoras do que um modelo de regressão. Lembrado apenas que a variável resposta não é alvo das técnicas de preparação dos dados.

Podemos trabalhar as variáveis de diversos modos. É notável que o uso de combinação dentre as variáveis preditoras é mais eficaz, proporciona maior ganho de informação, do que seu uso de modo individual. Somar ou realizar a razão entre duas variáveis pode ser bem mais efetivo do que utilizá-las de modo independente. E, para saber quais são as melhores combinações - as que fazem mais sentido - é necessário ter o correto entendimento da técnica de modelagem que será utilizada e de qual o problema a ser resolvido - são as duas primeiras etapas do CRISP-DM de Entendimento do Negócio e Entendimento dos Dados. Veja nosso post Mineração de Dados e o CRISP-DM (Data Mining).

Sendo mais prático, vamos dar como exemplo à preparação de dados que possuam informação no tempo, como dados de vendas ou mesmo a cotação de uma ação. Podemos adotar uma data como um ponto de partida, uma data de referência e ter uma nova variável que seja relacionada ao número de dias contados após, ou antes, do evento. Podemo criar novas informações relacionando o mês, ano ou mesmo o dia da semana relacionado àquela data. Geralmente este tipo de tratamento pode indicar a presença de efeitos sazonais. Também podemos dizer se aquela data é anterior à um feriado ou outro tipo de acontecimento. Note que apenas a informação de uma data pode gerar pelo menos 4 novas variáveis preditoras que podem trazer maior capacidade preditiva ao modelo. Isto acontece pois, quando analisarmos estas novas variáveis juntamente com a variável respostas, poderemos ver que alguma delas pode identificar maiores taxas de sucesso (de acordo com o alvo estudado) do que outras, trazendo então o ganho de performance.

Outro ponto comum no pré-processamento é o tratamento de variáveis que possuam ausência de valor (não necessariamente apenas nulos), os chamados missings. A grande sacada é entender a razão de existência desses missings. Eles podem, por exemplo, estar relacionados a um problema de extração dos dados, o que resultada em um atraso no projeto. Outras vezes, esses missings podem ser estruturais, relacionados ao tipo da variável. Por exemplo, a quantidade de planos ativos de um cliente de previdência pode ser 0 e o campo pode não estar preenchido. Assim, atribuir um valor 0 resolverá o problema. Por estas razões sempre ressaltamos a importância dos dois primeiros passos mencionados anteriormente. Existe também outro tipo de missing, o "informativo", que pode ser um ponto importante para o modelo. Um exemplo pode ser o estudo do efeito de uma nova droga em paciências de um grupo controle. Pode ser que a nova droga seja tão eficiente que o paciente sinta-se melhor e cancele a visita ao médico. Esta é uma informação relevante e pode estar atribuída na variável "visita" como um valor que não existe, dado que o paciente não compareceu ao tratamento. Mais um exemplo pode ser a avaliação de um produto. O campo "avaliação" pode estar vazio simplesmente porque o cliente não deu nenhuma opinião, e isto pode também significar uma informação valiosa.

No Python e no R existem diversos pacotes que nos ajudam no pré-processamento dos dados, e serão assuntos de posts futuros. Um abraço e até o próximo!


0 comentários:

Postar um comentário