O que é a Ciência de Dados?

Essa é a primeira dúvida de todo profissional de áreas relacionadas quando comento sobre o assunto. Confesso que eu mesmo me pergunto isso de vez em quando. É difícil definir exatamente o que é Ciência de Dados, por ser uma área bastante abrangente e que aproveita muito de diversas disciplinas, muitas vezes já bastante ligadas entre si como Machine Learning das Ciências da Computação, otimização matemática e inferência estatística. Para citar alguns dos principais exemplos:

  • Matemática
  • Estatística
  • Ciências da Computação
  • Marketing
  • Ciências Econômicas

Entre tantos outros…

Como o próprio nome indica o profissional cientista de dados passa o dia trabalhando com dados. Mas existem diversas tarefas diferentes que podem ser realizadas com tais dados. Uma abordagem simples para entender a Ciência de Dados é subdividí-la em suas principais atividades, que, juntas, formam as bases da profissão e que se encaixam, em parte, com a definição do Gartner sobre Business Analytics, outra área bastante relacionada. São elas:

  • Preparação
  • Análise descritiva
  • Análise prescritiva
  • Análise preditiva

Preparação dos dados

Na preparação o cientista é responsável pela coleta e limpeza dos dados. Suas principais preocupações são a disponibilidade e qualidade em geral do dado. Isso remete à famosa frase: “Garbage In-Garbage Out.”

É nesse momento que são realizadas integrações de fontes díspares, checagem de valores e às vezes até a remoção de outliers das amostras. Também poderíamos encaixar aqui o transporte dos dados de um lugar a outro, como por exemplo a extração do dado da fonte, importação do dado em algum banco de dados, o transporte entre bancos de dados distintos, entre bancos de dados e o Hadoop, ou algo do gênero.

Também relacionado, mas que particularmente eu não colocaria aqui é a preparação dos dados especificamente para a aplicação de algum modelo estatístico ou de Machine Learning, como por exemplo a normalização de dados numéricos. Esse tipo de tarefa vai variar de acordo com o modelo a ser utilizado, portanto eu classificaria como uma das fases envolvidas nas análises preditiva ou prescritiva.

Análise prescritiva

No caso da análise, o produto final geralmente é um relatório com dados e o resultado da aplicação de modelos para auxiliar na tomada de decisões. Em geral, o trabalho vai além da análise descritiva, de forma que fornece a inferência para aliviar um pouco do “achômetro” na hora de decidir. A análise prescritiva não remove de forma alguma a necessidade de avaliação por parte de executivos e analistas especializados na área (que pode ser operações, marketing, publicidade, etc.) e serve “apenas” como mais uma ferramenta, embora uma ferramenta bem mais científica do que utilizada em geral.

Análise preditiva

Já na análise preditiva ou automação, o cientista é responsável pela criação de modelos preditivos, não necessariamente se preocupando com o poder de explicação daquele modelo. O resultado principal aqui seria a capacidade preditiva do modelo, ou seja, se ele é capaz de fazer previsões com acurácia e precisão suficientemente bons. Nesse tipo de trabalho, em geral, são aplicados modelos mais complexos de Machine Learning ou até conjuntos de modelos (chamados de “ensembles“) através de técnicas como bagging e boosting.

Apesar dessa divisão, dentro de cada uma dessas principais atividades se encontram o uso de técnicas de mineração de dados, estatística aplicada e machine learning.

O que dizem os cientistas de dados sobre a sua profissão?

Já que o trabalho do cientista de dados é tão amplo e ainda é uma área relativamente nova (apesar das técnicas serem bastante antigas), talvez a melhor forma de entender realmente do que se trata é conversamos diretamente com praticantes, pessoas que estão no dia a dia executando tarefas da ciência de dados e que se dedicam para a área.

Por isso convenci um seleto grupo de amigos a participar de uma série de entrevistas para contar um pouco da experiência de cada um, como imaginam o campo de ciência de dados no futuro e como está o mercado de trabalho hoje no Brasil. Todos eles são profissionais experientes que já estavam trabalhando com dados muito antes do nome “Ciência de Dados” ser criado.

A primeira entrevista será na próxima semana. Se você quer saber mais assine o feed do blog ou siga meu twitter para não perder! ;)

Pin It

5 thoughts on “O que é a Ciência de Dados?

  1. Ótimo post, em especial pela simplicidade que foi escrito (e que abrange diversas audiências) e pela maneira que colocou o assunto.

    Apenas dois pontos de discordância:

    1) Quando você diz “[…] Já na análise preditiva ou automação, o cientista é responsável pela criação de modelos preditivos, não necessariamente se preocupando com o poder de explicação daquele modelo. O resultado principal aqui seria a capacidade preditiva do modelo, ou seja, se ele é capaz de fazer previsões com acurácia e precisão suficientemente bons.[…]” esse é um dos piores erros que se pode cometer em Data Mining (que é uma ramificação de um dos papéis do Data Scientist) que é adotar modelos black-box.

    Isso estimula dois problemas graves que é a (i) ausência de replicação dos métodos que foram aplicados, (ii) modelos que beiram o overfitting, e (iii) a ausência de características que tornem o modelo interpretável (eu juro que tentei evitar a palavra interpretabilidade) deixa o modelo sem um parâmetro para explicar um possível desvio, lembrando que se for um modelo de aprendizado supervisionado (leia: indutivo) este será extremamente frágil a outliers (eu gosto mais de cisnes negros como explica o Nassim Taleb no “The Black Swan”).

    Eu não preciso nem ir muito longe, o que aconteceu aqui com a Netflix já por sí só é um dos casos mais clássicos de overfitting e de como esses modelos não replicáveis são nocivos (https://www.techdirt.com/blog/innovation/articles/20120409/03412518422/why-netflix-never-implemented-algorithm-that-won-netflix-1-million-challenge.shtml).

    2) O outro ponto de discordância é em relação ao que foi colocado como bases da profissão e eu discordo da Garther quando ela ‘esquece’ de citar a pesquisa/metodologia científica.

    Eu sinceramente não consigo imaginar um cientista de dados fazendo data cleasing (esse artigo fala bem sobre isso http://www.nytimes.com/2014/08/18/technology/for-big-data-scientists-hurdle-to-insights-is-janitor-work.html?_r=0), ou mesmo um cientista de dados que não saiba o que é uma distribuição normal, ou nem ao menos saber as diferenças entre uma abordagem probabilística e frequencista (pra citar exemplos simples e bobo

    Eu já falei tanto sobre isso no meu blog, mas essa imagem do Kirk Bourne é a que melhor representa a profissão de cientista de dados (https://twitter.com/KirkDBorne/status/553663711786041344)

    Gostei muito do seu blog e continue sempre assim.

    Abraço!

    Flávio

    • Olá Flávio! Primeiramente, muito obrigado pelo seu comentário.

      Acredito que existam ambos os lados, e como eu disse no trecho citado não necessariamente (esse ponto é importante) o cientista sempre se preocupa com o poder de explicação do modelo nesse cenário, o que não significa que ele não possa ou mesmo que não deva. Concordo com você quando diz que é um erro utilizar tais métodos para Data Mining, mas como você mesmo disse isso é apenas uma das áreas de atuação de um cientista de dados. Acho que Hastie, Tibrishiani et al. [1] exprime melhor o meu ponto de vista:

      “In addition, data mining applications generally require interpretable
      models. It is not enough to simply produce predictions. It is also desirable to
      have information providing qualitative understanding of the relationship
      between joint values of the input variables and the resulting predicted re-
      sponse value. Thus, black box methods such as neural networks, which can
      be quite useful in purely predictive settings such as pattern recognition,
      are far less useful for data mining.”

      Métodos black box são bastante utilizados e úteis na prática. Métodos como redes neurais, SVMs e tantos outros não podem ser facilmente interpretados, mas certamente há cenários para eles além da mineração.

      É difícil traçar uma linha divisória mas talvez esse cenário de Data Mining se encaixaria no primeiro item do artigo, ou seja, análise prescritiva e não na análise preditiva da forma como eu a defini e de onde saiu o trecho que você citou. Como dito acima, nem sempre o poder de explicação é necessário ou desejado, e essa era na verdade a mensagem que eu estava tentando passar aos leitores.

      Na questão do overfitting, existem técnicas para lidar com isso (LOOCV, bootstrap, etc.) e não vejo necessariamente o método como responsável e sim a capacidade do cientista de dados em saber utilizar corretamente as ferramentas que dispõe. Na minha opinião vejo o que você colocou muito mais uma questão de experiência e sabedoria por parte do profissional e não uma fraqueza de um método ou de outro.

      Em relação ao segundo ponto, concordo plenamente com você, inclusive utilizei uma imagem muito parecida em uma palestra sobre o assunto [2]. Não vejo como “Estatística” (uma das bases citadas) possa deixar de abranger o conhecimento de distribuições, abordagens frequentista ou bayesiana, entre vários outros assuntos relacionados ao que você citou, portanto fiquei sem entender qual o ponto de discordância, ou mesmo se há um. Talvez tenha sido apenas uma falha minha ao tentar me expressar. :)

      Novamente, obrigado pelo seu comentário! Espero vê-lo mais vezes por aqui. Não conhecia o seu blog, mas vou passar a seguí-lo, sem dúvida!

      Abraços!

      [1]: http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf
      [2]: http://ivanglima.com/material-adicional-de-data-science/

  2. Pingback: Ciência de Dados no Brasil: Iuri Queiroz | ivanglima.com

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>