Mais dados, menos acurácia

Via John D. Cook.

Elementary numerical integration algorithms, such as Gaussian quadrature, are based on polynomial approximations. The method aims to exactly integrate a polynomial that approximates the integrand. But likelihood functions are not approximately polynomial, and they become less like polynomials when they contain more data. They become more like a normal density, asymptotically flat in the tails, something no polynomial can do. With better integration techniques, the integration accuracy will improve with more data rather than degrade.

With more data, the posterior distribution becomes more concentrated. This means that a naive approach to integration might entirely miss the part of the integrand where nearly all the mass is concentrated. You need to make sure your integration method is putting its effort where the action is. Fortunately, it’s easy to estimate where the mode should be.

The third problem is that software calculating the likelihood function can underflow with even a moderate amount of data. The usual solution is to work with the logarithm of the likelihood function, but with numerical integration the solution isn’t quite that simple. You need to integrate the likelihood function itself, not its logarithm. I describe how to deal with this situation in Avoiding underflow in Bayesian computations.

Mais dados, menos acurácia

Amostragem: Precisamos mesmo de 3 divisões amostrais (treinamento, validação e teste)?

Neste artigo do Dan Steinberg ele responde de forma clara:

“The short answer to this question is “no” we do not think that the 3-way partition is mandatory for SPM core models such as CART and TreeNet.”

Confesso que fiquei assustado com a resposta, mas abaixo no próprio artigo ele coloca a justificativa:

“The question we address here is whether this is really enough when the process of model development is lengthy and may involve the building of dozens, hundreds, or even thousands of models. If each model is evaluated on the second data partition one might argue that we are in fact learning from it. The learning may be limited and indirect, but the cumulative effect of intensive model development and evaluation blunts the independence of the second partition data.”

Uma das lutas mais ingratas de quem está trabalhando em um modelo de dados é o fantasma do Overfitting em qualquer modelo de descrição/predição.

O ponto principal do autor é que nem sempre em cenários nos quais os dados são escassos a utilização de amostras ‘holdout‘, isto é, fora do conjunto de dados (treinamento e teste) é necessária.

No artigo tem os resultados de um teste em que houve a construção de um modelo com holdout e sem holdout, e tirando-se as diferenças entre as curvas ROC dos modelos chegou-se ao ótimo resultado de apenas de – 0.00216 em relação ao modelo sem holdout.

Questionamentos metodológicos, e principalmente em relação à possível (ou a ausência de) variância do dados, o ponto é importante e vale a pena ser refletido.

Como é de conhecimento geral, nem sempre na construção de modelos preditivos/descritivos tem-se acesso completo aos dados, e em muitas vezes o volume de dados é extremamente pequeno.

Uma das alternativas para esse tipo de problema é a aplicação do método de Cross-Validation (k=10) que gera resultados satisfatórios.

No entanto, como o autor coloca em questão, um modelo deve ser sempre refinado de forma iterativa e incremental; o que significa que nenhum modelo ‘nasce’ sujeito a erros, mesmo se não houver representatividade das instâncias de ‘validação’.

Neste outro post tem um artigo bem interessante sobre o tema também.

Amostragem: Precisamos mesmo de 3 divisões amostrais (treinamento, validação e teste)?

Porque o Overfitting é mais perigoso do que uma acurácia baixa?

O Dean Abbott mostra uma reflexão interessante no que tange modelos de dados que possam ser generalizados e os perigos do Overfitting.

Após a leitura desse artigo, fica mais evidente que modelos de dados devem ser testados, se possíveis, com amostras separadas dos conjuntos de dados de treinamento e teste (Holdout).

Porque o Overfitting é mais perigoso do que uma acurácia baixa?

Overfitting

É um assunto batido, mas sempre vale uma rápida revisão.

Um trecho: “[…]To generalize, a model that overfits its training set has low bias but high variance – it predicts the targets in the training set very accurately, but any slight changes to the predictors would result in vastly different predictions for the targets.
Overfitting differs from multicollinearity, which I will explain in later post. Overfitting has irrelevant predictors, whereas multicollinearity has redundant predictors.
[…]”

Overfitting

O Parque de Diversões

Essa semana foi lançado no Kaggle uma modalidade de competição denominada Playground, ou algo como parque de diversões. Esse tipo de competição ao invés de ter o foco em uma resolução específica, têm uma abordagem muito mais voltada à extração de informações previamente desconhecidas das bases de dados.

Geralmente em ambientes de análise de dados não há demandas para abordagens semelhantes, devido não somente pressões para resultados como também um determinado ‘engessamento’ dos setores estratégicos.

Ambientes de sucesso em mineração de dados não são aqueles que procuram uma agulha no palheiro (isto é, torturando os dados, overfitting, padrões espúrios) mas sim aqueles que ‘brincam’ no palheiro até sentirem uma ‘picada’ (isto é, analisando os padrões, tendências, e regras).

 

O Parque de Diversões

O Paradoxo do Overfitting

No site do Dr. Bruce Ratner ele posta um artigo bem interessante sobre Overfitting.

Para quem já teve oportunidade de trabalhar com modelagem preditiva ou classificatória o Overfitting é quase que uma regra em muitos papers picaretas que saem em algumas revistas (em especial papers que realizam análise preditiva sobre indices de bolsas de valores).

Tratando-se de aprendizado de máquina o Overfitting tem algumas características interessantes como:

  1. Péssima amostragem;
  2. Desconhecimento do Cross-Validation;
  3. Holdout que não representa a variância natural dos dados; e
  4. Analistas querendo fazer Data Snooping.

Simples assim.

Veja abaixo um parágrafo relativo o Overfitting:

My Idiomatic Definition of Overfitting to Help Remember the Concept
A model is built to represent training data, not to reproduce training data. Otherwise, a visitor from validation data will not feel at home. The visitor encounters an uncomfortable fit in the model because s/he probabilistically does not look like a typical data-point from the training data. The misfit visitor takes a poor prediction. The model is overfitted.

O Paradoxo do Overfitting

Truques Estúpidos em Mineração de Dados – Overfitting no índice S&P500

Neste artigo do David Leinweber (o qual já foi tema do site aqui e aqui) ele coloca algumas considerações a respeito do fato de que muito do que se fala sobre Mineração de Dados está fartamente relacionado a relações absurdas que podem acontecer pelo fato de “torturar os dados” como a predição do índice Standard & Poor’s 500 através de correlações (estúpidas) como o modelo de regressão no qual a produção de manteiga em Bangladesh (Coeficiente de Determinação R2 de 0.75); produção de manteiga em Bangladesh e produção de queijo nos EUA (R2 = 0.95) e a fantástica correlação entre a produção de manteiga em Bangladesh, a produção de queijo nos EUA e a população de ovelhas em Bangladesh que apresenta o coeficiente de determinação de incríveis 99%.

É claro que o artigo escorrega um pouco ao radicalizar a questão, no qual o autor confunde quase que de maneira primária os conceitos de correlação (relação conjunta de uma ou mais váriaveis dentro de um contexto de análise) e casualidade (fatos que acontecem de acordo com um dado grau de sincronissidade, enretanto isolados em contextos distintos) para dar substância ao que está sendo defendido em sua tese; mas isso de nenhuma forma invalida o estudo no qual deixa claro que a “técnica de torturar os dados até que eles falem” é uma péssima abordagem e que pode gerar aberrações em análise de dados iguais aos casos citados.

De maneira geral o autor apresenta uma boa prática na qual sempre que haja esse tipo de análise, deve-se realizar testes sobre dados fora da amostragem para que sejam produzidos resultados mais fidedignos.

Stupid Data Miner Tricks – Overfitting The S&P 500

Truques Estúpidos em Mineração de Dados – Overfitting no índice S&P500

Data analysis recipes: Fitting a model to data

Para quem deseja um overview sobre fitting de modelos e entender um pouco sobre questões como variância, esse artigo de David Hogg, Jo Bovy, Dustin Lang é uma leitura bem interessante.

Abstract

We go through the many considerations involved in fitting a model to data, using as an example the fit of a straight line to a set of points in a two-dimensional plane. Standard weighted least-squares fitting is only appropriate when there is a dimension along which the data points have negligible uncertainties, and another along which all the uncertainties can be described by Gaussians of known variance; these conditions are rarely met in practice. We consider cases of general, heterogeneous, and arbitrarily covariant two-dimensional uncertainties, and situations in  which there are bad data (large outliers), unknown uncertainties, and unknown but expected intrinsic scatter in the linear relationship being fit.

Above all we emphasize the importance of having a “generative model” for the data, even an approximate one. Once there is a generative model, the subsequent fitting is non-arbitrary because the model permits direct computation of the likelihood of the parameters or the posterior probability distribution. Construction of a posterior probability distribution is indispensible if there are “nuisance parameters” to marginalize away.

 Data analysis recipes – Fitting a Model to Data

 

Data analysis recipes: Fitting a model to data