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

Anúncios
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

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

Overfitting e a Expansão Contínua do Modelo

Nesse post do Statistical Modeling, Causal Inference apresenta o conceito de Expansão Contínua; na qual para evitar o Overfitting do modelo ao invés de  realizar escolhas pela média do Cross-Validation, o autor prefere escolher um modelo dentro de uma determinada metodologia e realizar refinamentos sucessivos. É interessante esse conceito, e mostra que o minerador de dados deve ter métodos de se chegar a um resultado bom, mesmo que o modelo inicialmente não seja o ideal e realize a sua expansão de forma iterativa e incremental (como nas metodologias ágeis) seja com a seleção e inserção de novos atributos, ou novas formas de validação.

Overfitting e a Expansão Contínua do Modelo

The Elements of Statistical Learning

Um ótimo achado da web é este livro que é um clássico sobre Aprendizado de Máquina. O Elements of Statistical Learning é um ótimo livro no qual disponibiliza diversos exemplos práticos e teóricos sobre aprendizado de máquina e tem uma das melhores explicações sobre Cross-Validation no capitulo 7; e o melhor é que o livro está disponível para download de forma gratuíta.

Link – http://www-stat.stanford.edu/~tibs/ElemStatLearn

Elements of Statistical Learning

The Elements of Statistical Learning

Data Mining: Practical Machine Learning Tools and Techniques – Ian H. Witten; Eibe Frank

Esse livro é um ótimo textbook quando se trata de uma abordagem prática sobre mineração de dados; unindo de forma didática os conceitos básicos de mineração de dados (não só as técnicas; mas partes do KDD em si); bem como apresenta a ferramenta WEKA como suporte e aplicação prática do que foi desenvolvido através do livro.

A divisão do livro se dá em duas partes na qual a parte I apresenta uma série de técnicas relacionadas ao aprendizado de máquina e algumas técnicas de mineração de dados; no qual o capitulo 5 merece mais destaque devido a desenvolver de uma maneira bem clara a validação do modelo de predição bem como o conceito geral de Cross-Validation; tópicos intessantes e que geralmente não são tratados em livros de mineração de dados.

Já na parte II é apresentada a ferramenta WEKA na qual durante o desenvolvimento dos capítulos vão entrando de forma gradual exemplos do funcionamento da ferramenta e algumas das suas possibilidades dentro do workbench.

Em suma, o livro é uma boa referencia sobre aplicação prática de mineração de dados e tem como diferencial a utilização de uma ferramenta específica, não deixando no ar os métodos na mineração de dados (há livros, por exemplo, que mostram diversos conceitos; mas nenhuma aplicação prática ou mesmo computacional).

Um contra-ponto do livro é que o número de técnicas apresentadas deveria ser um pouco maior, aos moldes do que foi feito no livro Data Mining Methods and Models do Daniel Larose.

Este livro é indicado para: Estudantes de Ciência da Computação, Professores de mineração de dados, especialistas em banco de dados, e demais pessoas envolvidas com projetos de mineração de dados.

Não recomendado para: Quem deseja um overview sobre o assunto, busca de conceitos base em mineração de dados, fundamentação teórica matemática.

Data Mining: Practical Machine Learning Tools and Techniques – Ian H. Witten; Eibe Frank