A Note on the Validity of Cross-Validation for Evaluating Autoregressive Time Series Prediction

Um bom artigo sobre a aplicação de Cross Validation em séries temporais.

Abstract: One of the most widely used standard procedures for model evaluation in classification and regression is K-fold cross-validation (CV). However, when it comes to time series forecasting, because of the inherent serial correlation and potential non-stationarity of the data, its application is not straightforward and often omitted by practitioners in favour of an out-of-sample (OOS) evaluation. In this paper, we show that in the case of a purely autoregressive model, the use of standard K-fold CV is possible as long as the models considered have uncorrelated errors. Such a setup occurs, for example, when the models nest a more appropriate model. This is very common when Machine Learning methods are used for prediction, where CV in particular is suitable to control for overfitting the data. We present theoretical insights supporting our arguments. Furthermore, we present a simulation study and a real-world example where we show empirically that K-fold CV performs favourably compared to both OOS evaluation and other time-series-specific techniques such as non-dependent cross-validation.

Conclusions: In this work we have investigated the use of cross-validation procedures for time series prediction evaluation when purely autoregressive models are used, which is a very common situation; e.g., when using Machine Learning procedures for time series forecasting. In a theoretical proof, we have shown that a normal K-fold cross-validation procedure can be used if the residuals of our model are uncorrelated, which is especially the case if the model nests an appropriate model. In the Monte Carlo experiments, we have shown empirically that even if the lag structure is not correct, as long as the data are fitted well by the model, cross-validation without any modification is a better choice than OOS evaluation. We have then in a real-world data example shown how these findings can be used in a practical situation. Cross-validation can adequately control overfitting in this application, and only if the models underfit the data and lead to heavily correlated errors, are the cross-validation procedures to be avoided as in such a case they may yield a systematic underestimation of the error. However, this case can be easily detected by checking the residuals for serial correlation, e.g., using the Ljung-Box test.

cv-wp

A Note on the Validity of Cross-Validation for Evaluating Autoregressive Time Series Prediction

Métodos de reamostragem para estimativa de erro em aprendizado de máquina

Esses slides do Tanagra, mostram de maneira bem didática como são feitas as estimativas usando métodos de reamostragem como Cross-Validation, Bootstrap, e LOO Cross Validation.

resampling_evaluation

Métodos de reamostragem para estimativa de erro em aprendizado de máquina

Cross-Validation, e a estimativa da estimativa

No ótimo post do blog do Andrew Gelman em que o título é “Cross-Validation != Magic” tem uma observação muito importante sobre a definição do Cross-Validation (Validação Cruzada) que é:

“2. Cross-validation is a funny thing. When people tune their models using cross-validation they sometimes think that because it’s an optimum that it’s the best. Two things I like to say, in an attempt to shake people out of this attitude:

(a) The cross-validation estimate is itself a statistic, i.e. it is a function of data, it has a standard error etc.

(b) We have a sample and we’re interested in a population. Cross-validation tells us what performs best on the sample, or maybe on the hold-out sample, but our goal is to use what works best on the population. A cross-validation estimate might have good statistical properties for the goal of prediction for the population, or maybe it won’t.

Just cos it’s “cross-validation,” that doesn’t necessarily make it a good estimate. An estimate is an estimate, and it can and should be evaluated based on its statistical properties. We can accept cross-validation as a useful heuristic for estimation (just as Bayes is another useful heuristic) without buying into it as necessarily best.

Cross-Validation é um assunto bem espinhoso quando se trata de amostragem e/ou estimação de modelos devido ao fato de que há diversas opiniões a favor e contra.

Conhecer as propriedades de cada método de amostragem e saber as suas propriedades matemáticas/estatísticas, vantagens e desvantagens e principalmente limitações é regra número 1 para qualquer data miner.

Particularmente, eu vejo o Cross-Validation como um método excelente quando se tem um universo de dados restrito (poucas instâncias treinamento), ou mesmo quando faço as validações com método normal de 80-10-10 de amostragem; mas isso é mais uma heurística de trabalho do que uma regra propriamente dita .

Cross-Validation, e a estimativa da estimativa

Estudo Randomizado Controlado: Poderoso, mas apenas se usado da forma correta.

Apesar desse artigo do Jon Jachimowicz falar essencialmente de Economia Comportamental, grande parte do que foi dito sobre ensaio clínico randomizado aplica-se à mineração de dados, especialmente tratando-se de amostragem e Uplift Modeling.

O autor enfatiza três elementos desse tipo de estudo que são (a) uma necessidade de maior sofisticação dos grupos de controle, (b) mais cautela na consideração de outros comportamentos que afetem o estudo, e (c) uma melhor conceitualização dos efeitos de longo prazo.

Os ensaios utilizando esta metodologia apresentam uma robustez relativamente alta, particularmente no que diz respeito à minimização do efeito da aleatoriedade no resultado final dos estudos.

Essa robustez foi tratada pelo Médico José Carlos Souto do blog da Dieta Paleolítica e Low-Carb, em relação aos graus de evidência científica:

  • A evidência que tem menor valor é a opinião pessoal. Afinal, opinião todo mundo tem, e o papel aceita qualquer coisa. Quando, porém, não há outros dados na literatura médica, aceita-se a opinião de um especialista como uma evidência provisória.
  • A seguir, vêm os relatos de caso. Consistem no relato de uma série de casos, a fim de que se possam extrair dados estatísticos sobre determinada doença/circunstância. Qual a idade média das pessoas com aquela doença, qual o sexo e a etnia das pessoas?
  • A seguir, vêm os estudos de caso-controle, nos quais o investigador pega um grupo de pessoas com determinada doença e compara com outro grupo de pessoas que não tenham a doença.
  • A seguir, vêm os estudos de coorte, na qual se obtém dados (exames, questionários, etc) de um grande número de pessoas, e os acompanha por vários anos a fim de identificar quem desenvolve doenças, de forma a identificar possível fatores de risco no passado.
  • A seguir, vem o ensaio clínico randomizado, o padrão-ouro da evidência em medicina, no qual um grande número de pessoas é “randomizada” (isto é, sorteada) para dois ou mais grupos; em geral, um grupo é submetido a uma intervenção (um remédio, uma dieta), e o outro grupo serve como controle. O sorteio garante que os grupos sejam semelhantes entre si em TUDO, exceto na variável sendo testada. Este é o único tipo de estudo capaz de sugerir fortemente relações de causa e efeito. É este o grau de evidência dos estudos que provam que a redução da gordura na dieta não traz benefício (clique aqui).
  • Por fim, no topo da cadeia alimentar da evidência científica, vem a revisão sistemática de ensaios clínicos randomizados. Afinal, por puro acaso, um ensaio clínico randomizado pode achar um resultado que não seja real – uma flutuação estatística aleatória. Mas quando você tem, digamos, DEZ ensaios clínicos randomizados que tratam sobre o mesmo tema, uma revisão sistemática e metanálise pode combinar matematicamente os dados de TODOS eles, o que empresta a esta análise um peso superior ao dos estudos isolados. Por este motivo, a revisão sistemática epitomiza o mais alto nível de evidência científica.

Screenshot 2013-09-04 at 21.23.28

Nem é preciso ver muito longe pra ver que essas definições são importantes para o Data Miner devido ao simples fato de que em muitos dos estudos de natureza contrastiva (e.g. comparação de produtos, estudos de ações de marketing por canal para mensuração real de efetividade, influências de variáveis específicas em personas em uma base de clientes) sem uma metodologia nem algoritmos, nem técnicas, nem pré-processamento de dados vão conseguir obter um resultado próximo da realidade.

Sobre a forma de realizar esses estudos o autor diz:

One of the key elements of an RCT is the comparison between an intervention group and a control group. That is, when researchers hypothesize that one group is going to benefit from a given intervention, they compare the behavior of that intervention group to that of a group that did not receive the intervention. Although this rationale carries intuitive appeal, it overlooks the fact that a difference from the no-intervention group does not necessarily suggest that the intervention was successful. Take the case of medicinal research, where the intervention group is often instead compared to a placebo (a sugar pill) because extensive research shows that merely giving a patient a pill carries positive intervention effects. In fact, much medicinal research goes a step further, additionally comparing an intervention condition to the best currently known intervention. If an intervention remains better than these two control conditions, then one can be much more confident in claiming that it truly is effective. A no-intervention condition is therefore not a good control condition on its own. In particular, to be more certain about the validity of an approach, the intervention condition should be compared to three adequate control conditions, consisting of a no-intervention group, a placebo group, and a best-currently-available-intervention group.

Em outras palavras: nas basta saber se a solução é boa, mas sim se ela é boa comparada com as demais soluções já existentes.

Este parágrafo fala a respeito da consideração de outros efeitos no comportamento do grupo de controle:

Consequently, we need to think more about what other behaviors may be affected by an intervention and then determine the appropriate design to best measure the effects.

Pegando o gancho do que o autor colocou, um dos erros mais crassos em relação à análise de dados é a não-observância de outros fatores que possam ter influenciado o resultado como estacionariedade, aspectos ligados a sazonalidade (que pode ser cíclica ou não cíclica como essa análise sensacional mostrou), ou ate mesmo aspectos exógenos (que estão além do estudo como uma outra posologia ou questões de terapias auxiliares no caso dos casos clínicos) que podem conduzir a uma tomada de decisão ruim, ou mesmo fortalecer vieses cognitivos como o viés de confirmação que decorre de uma associação ilusória.

Desta forma qualquer experimento ou estudo que for conduzido usando ensaio clínico randomizado, ou metodologia que simule esse design de experimentos deve levar em consideração um rigor no acompanhamento dos resultados e no contraste das soluções ou resultados encontrados.

Estudo Randomizado Controlado: Poderoso, mas apenas se usado da forma correta.

CART e Cross-Validation

Neste vídeo da Salford Systems há um pequeno trecho de uma palestra feita em 2004.

A validação cruzada é um tema que gera algumas controvérsias, mas querendo ou não para quem realiza experimentos com bases de dados com menos de 50.000 registros (é um número cabalístico, mas ainda serve) pode ser a saída para bons resultados.

Uma ótima (na verdade é a melhor) referência sobre esse assunto e as vantagens e desvantagens está no livro de HASTIE, Trevor et al. The elements of statistical learning que pode ser baixado aqui.

CART e Cross-Validation

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)?

Reproducible Research with R and RStudio – Livro sobre Pesquisa Reprodutível

Ainda sobre o assunto da reprodução de pesquisas, está em vias de ser lançado um livro sobre o assunto chamado Reproducible Research with R and RStudio escrito por Christopher Gandrud.

No enxerto do livro o autor disponibiliza 5 dicas práticas para criação/reprodução de pesquisas que são:

  1. Document everything!,
  2. Everything is a (text) file,
  3. All files should be human readable,
  4. Explicitly tie your files together,
  5. Have a plan to organize, store, and make your files available.

 

 

Reproducible Research with R and RStudio – Livro sobre Pesquisa Reprodutível

Replicação em Pesquisa Acadêmica em Mineração de Dados

Lendo este post do John Taylor sobre a replicação da pesquisa econômica publicada até em journals de alto impacto lembrei de uma prática bem comum em revistas acadêmicas da área de Engenharia de Produção e Mineração de Dados que é a irreprodutibilidade dos artigos publicados.

Essa irreprodutibilidade se dá na forma em que se conseguem os resultados, em especial, de técnicas como Clustering, Regras de Associação, e principalmente Redes Neurais.

Um trabalho acadêmico/técnico/experimental que não pode ser reproduzido é a priori 1) metodologicamente fraco, e 2) pessimamente revisado. Trabalhos com essas características tem tanto suporte para o conhecimento como a chamada evidência anedótica.

Depois de ler mais de 150 papers em 2012 (e rumo aos 300 em 2013) a estrutura não muda:

  • Introdução;
  • Revisão Bibliográfica;
  • Aplicação da Técnica;
  • Resultados; e
  • Discussão na qual fala que teve  ganho de 90% em redes neurais.

Há um check-list bem interessante para analisar um artigo acadêmico com um péssimo DOE, e mal fundamentado metologicamente:

Artigos de Clustering 

  • Qual foi o tamanho da amostra?;
  • Qual é o tamanho mínimo da amostra dentro da população estimada?
  • Foram realizados testes estatísticos sobre a população como teste-Z ou ANOVA?
  • Qual é o P-Valor?
  • Qual foi a técnica para a determinação da separação dos clusters?
  • Quais os parâmetros foram usados para a clusterização?
  • Porque foi escolhido o algoritmo Z?

Artigos de Regras de Associação

  • Qual foi o suporte mínimo?
  • Qual é o tamanho da amostra e o quanto ela é representativa estatisticamente de acordo com a população?
  • O quanto o SUPORTE representa a POPULAÇÃO dentro do seu estudo?
  • Como foi realizado o prunning as regras acionáveis?
  • A amostra é generalizável? Porque não foi realizado o experimento em TODA a população?

Redes Neurais

  • Qual é a arquitetura da rede?
  • Porque foi utilizada a função de ativação Tangente e não a Hiperbólica (ou vice-versa)?
  • A função de ativação é adequada para os dados que estão sendo estudados? Como foi feito o pré-processamento e a discretização dos dados?
  • Porque foi escolhida o número de camadas internas?
  • Tem taxa de aprendizado? Qual foi e porque foi determinada essa taxa?
  • Tem decaímento (Decay)? Porque?
  • E o momentum? Foi utilizado? Com quais parâmetros?
  • Qual estrutura de custos está vinculada nos resultados? Qual foi a quantidade de erros tipo I e II que foram realizados pela rede?
  • E o número de épocas? Como foi determinada e em qual momento a rede deixou de convergir? Você acha que é um erro mínimo global ou local? Como você explica isso no resultado do artigo

Pode parecer algo como o desconstrucionismo acadêmico fantasiado de exame crítico em um primeiro momento mas para quem vive em um meio no qual estudos mais do que fraudulentos são pintados como revolucionários é um recurso como um escudo contra besteiras (Bullshit Shield).

Em suma, com 50% das respostas das perguntas acima o risco de ser um paper ruim com resultados do tipo “caixa-preta” já caí para 10% e aí entra o verdadeiro trabalho de análise para a reprodução do artigo.

Abaixo um vídeo bem interessante sobre papers que nada mais passam de evidência anedótica.

Replicação em Pesquisa Acadêmica em Mineração de Dados

Como as empresas aprendem os seus segredos?

Esse especial do New York Times escrito por Charles Duhigg  (Autor do livro The Power of Habit: Why We Do What We Do in Life and Business) tem como foco um tema bastante recorrente em relação a modelagem, e entendimento de domínio de Mineração de Dados que é o estudo de hábitos do consumidor.

Em geral o artigo trata do fato das empresas em especial de varejo buscarem mais dados dos consumidores e realizarem a construção de Personas (Profiles de clientes com determinadas características em comum) para realizar um marketing mais segmentado no qual com uma gama de recursos minimizada obter o máximo de retorno no ato de atingir os consumidores em potencial dos produtos. O caso mais emblemático tratado no artigo é o fato de um varejista realizar um trabalho de construção de personas tão apurado que através dos produtos adquiridos eles conseguem saber se a consumidora está grávida.

Veja essa construção de Persona feita pelo artigo:

A fictional Target shopper named Jenny Ward, 23, lives in Atlanta and in March she bought cocoa-butter lotion, a purse large enough to double as a diaper bag, zinc and magnesium supplements and a bright blue rug. There’s a very high chance that she’s pregnant, and her delivery date is sometime in late August, and Target connects those dots.

Vale a pena a leitura.

Como as empresas aprendem os seus segredos?