modelos

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:

 

Explicando overfitting com uma anedota

cookie-da-franquia-mr-cheney-1358961507695_956x500

Uma anedota bem interessante foi sugerida por uma escritora do Quora chamada Divya Sharma:

O pequeno Bobby ama cookies. Sua mãe faz cookies de gotas de chocolate todos os domingos. Porém, o mundo não é o ideal e os cookies não possuem o mesmo sabor todo domingo. Alguns domingos eles estão mais saborosos, outros domingos eles não estão tão bons. Sendo o pequeno menino curioso que é, Bobby decide descobrir quando os cookies ficam mais saborosos e quando não ficam.

A primeira observação que ele faz é que o número de gotas de chocolate varia de cookie pra cookie e essa é praticamente a única coisa observável que varia entre os cookies.

Agora, Bobby começa a tomar notas todos os domingos.

Depois de sete domingos, as suas notas parecem com algo assim:

Domingo 1 – No. de Gotas de Chocolate: 7; Sabor: Ótimo
Domingo 2 – No. de Gotas de Chocolate: 4; Sabor: Bom
Domingo 3 – No. de Gotas de Chocolate: 2; Sabor: Ruim
Domingo 4 – No. de Gotas de Chocolate: 5; Sabor: Horrível
Domingo 5 – No. de Gotas de Chocolate: 3; Sabor: Mais ou menos
Domingo 6 – No. de Gotas de Chocolate: 6; Sabor: Horrível

Isso parece bem direto. Quanto maior o número de gotas de chocolates, mais saboroso o cookie, com exceção das anotações de domingo 4 e domingo 6, que contradizem esta hipótese. O que o pequeno Bobby não sabe é que sua mãe esqueceu de colocar açúcar nos cookies de domingo 4 e domingo 6.

Como Bobby é uma pequena criança inocente, ele não sabe que o mundo está longe do ideal e que coisas como aleatoriedade e ruído são parte integral dele. Ele também não sabe que há fatores que não são diretamente observáveis. Porém, eles afetam o resultado de nossos experimentos. Então, ele conclui que o cookies ficam mais gostosos na medida que o número de gotas de chocolate aumentam quando há menos que 5 gotas de chocolate e mais que 6, mas caem drasticamente quando o número de gotas de chocolate é 5 ou 6.

Ele levantou uma hipótese muito complexa, e, não vamos nos esquecer, incorreta, para explicar como o sabor dos cookies variam porque ele tentou explicar e justificar as anotações de cada um dos domingos. Isso é chamado sobreajuste. Tentar explicar/justificar o máximo de observações possíveis com uma hipótese extremamente complexa – e possivelmente incorreta.

Se ele tivesse escolhido tratar o domingo 4 e o domingo 6 como ruídos, a hipótese  dele teria sido mais simples e relativamente mais correta.

Traduzido de https://www.quora.com/What-is-an-intuitive-explanation-of-overfitting/answer/Divya-Sharma-2?srid=GcIk

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.