modelagem

Signo no modelo, vale?

Certo dia, uma amiga, da área de modelagem também, me disse a seguinte frase “se eu colocar signo, e for significativo, então eu uso no meu modelo”. Eu esperaria esse comentário de uma pessoa com zero conhecimento em econometria, ou um terraplanista, mas escutar isso de alguém envolvido com data science, me surpreendeu muito. Convenhamos, achar que a posição dos planetas no momento em que a pessoa nasce, significa algo, é muito leviano. Para não dizer outra coisa.

(mais…)

Anúncios

Muitos posts sobre manipulação de dados?

Às vezes eu tenho vontade de escrever mais sobre técnicas de modelagem estatística, mas me falta tempo por conta do trabalho, mestrado e outros hobbies além do blog. Postar alguma coisa de SAS e R é mais fácil, pois passo boa parte do dia manipulando dados nessas ferramentas.

O curioso é que faz muito sentido escrever mais sobre manipulação de dados, se eu quiser ter um blog que quer ajudar iniciantes (e pessoas experientes) que trabalham em modelagem ou áreas correlatas. Pode ser chocante para algumas pessoas, mas, na maioria das vezes, a técnica estatística utilizada vai fazer pouca diferença no seu resultado final.

Não estou dizendo que não é importante, nem que qualquer um que manipule dados pode rodar uma regressão qualquer, colocar um stepwise lá e pronto, temos um modelo. Longe disso! A diferença de um economista, um estatístico e outros estudiosos de econometria é justamente a noção de que não basta enfiar dados em um liquidificador e esperar que o modelo saia perfeito. O que estou dizendo é que dentre as etapas de construção de um modelo, a escolha da melhor técnica dificilmente será o passo mais importante.

Dentre os passos importantes em um modelo, cito dois que acho fundamentais e que já demonstram a relevância de etapas que vão além da escolha do melhor algoritmo:

  1. Questão: Antes de mais nada você precisa saber o que você quer responder. Você quer saber quantos clientes vão deixar de te pagar? Você quer saber qual o filme que o cliente X quer assistir? E eu complementaria com: O que você vai fazer com essa informação? Não adianta você tentar prever o futuro sem saber a ação que vai tomar quando tiver a informação em mãos. Esse é um dos motivos que o conhecimento de algum negócio está sempre na lista de conhecimentos que um cientista de dados precisa ter;
  2. Dados: A velha noção de garbage in, garbage out ~ entra lixo, sai lixo. Para mim, a etapa mais importante. Se os seus dados estiverem comprometidos, se você não os manipulou da forma correta, seu trabalho não vale nada. Essa etapa, quando mal executada, vai trazer uma resposta errada para sua pergunta, isso se você conseguir alguma resposta. É bem provável que você fique com um monte de informação confusa na sua frente;

Por fim, o que me levou a esse post foi encontrar a tabela abaixo que compara diversas técnicas preditivas para vários conjuntos de dados, mostrando que a diferença entre a melhor técnica e a pior não é significativa na maioria das vezes. Essa tabela foi retirada desse link, e é um trecho do livro Classification, Clustering, and Data Mining Applications:

comparacao_algoritmos.JPG

Empréstimos inteligentes para pessoas sem histórico de crédito

 

Muitas pessoas não sabem o que faz uma pessoa que trabalha com modelagem estatística. E olha que isso pode estar presente no job description de muitos cargos: analista de risco de crédito, inteligência de cobrança, inteligência de mercado, cientista de dados, CRM, big data, pesquisa de mercado, só para citar alguns.

Então vai aí um exemplo prático, e nobre, do uso de modelagem estatística e mineração de dados:

 

Overfitting e Cross Validation

Um termo bem comum de se encontrar quando o assunto é modelagem é overfitting. É até bonito de se dizer. Overfitting ocorre quando o seu modelo se ajusta aos seus dados, ou seja, o modelo serve só para os dados da base que foi utilizada para a sua construção. O que ocorre é que nesse caso o modelo passa em diversos testes de precisão com o conjunto de dados utilizados, porém, não serve para predição. Em outras palavras, como alguns cientistas de dados costumam dizer, o seu modelo aprender os dados da base treino ao invés de aprender o todo e ser capaz de fazer previsões. A grosso modo, isso ocorre quando você possui uma alta complexidade e muitos parâmetros se comparado com a base de desenvolvimento. Nesse caso, o modelo serve somente para os dados utilizados no desenvolvimento e suas previsões serão fracas.

Como resolver o problema do overfitting?

O mais óbvio é simplificar seu modelo. Parece pouco intuitivo, mas não devemos colocar qualquer parâmetro no modelo, se algum pode ser retirado sem impacto significativo, retire-o.

Faça algumas rodadas de validação cruzada. Algumas divisões aleatórias para a base treino e teste devem auxiliá-lo na identificação de algum problema.

Finalmente, veja se faz sentido o modelo construído. Tente entender como cada parâmetro está impactando a variável resposta. Tenha cuidado com padrões espúrios.