Prevendo recessões econômicas usando algoritmos de Machine Learning

Paper bem atual que fala como os autores erraram a crise apenas em relação ao ano mostrando o potencial das Random Forests.

screen-shot-2017-01-14-at-10-52-34-am

Predicting Economic Recessions Using Machine Learning Algorithms – Rickard Nyman and Paul Ormerod

Abstract Even at the beginning of 2008, the economic recession of 2008/09 was not being predicted by the economic forecasting community. The failure to predict recessions is a persistent theme in economic forecasting. The Survey of Professional Forecasters (SPF) provides data on predictions made for the growth of total output, GDP, in the United States for one, two, three and four quarters ahead, going back to the end of the 1960s. Over a three quarters ahead horizon, the mean prediction made for GDP growth has never been negative over this period. The correlation between the mean SPF three quarters ahead forecast and the data is very low, and over the most recent 25 years is not significantly different from zero. Here, we show that the machine learning technique of random forests has the potential to give early warning of recessions. We use a small set of explanatory variables from financial markets which would have been available to a forecaster at the time of making the forecast. We train the algorithm over the 1970Q2-1990Q1 period, and make predictions one, three and six quarters ahead. We then re-train over 1970Q2-1990Q2 and make a further set of predictions, and so on. We did not attempt any optimisation of predictions, using only the default input parameters to the algorithm we downloaded in the package R. We compare the predictions made from 1990 to the present with the actual data. One quarter ahead, the algorithm is not able to improve on the SPF predictions. Three and six quarters ahead, the correlations between actual and predicted are low, but they are very significantly different from zero. Although the timing is slightly wrong, a serious downturn in the first half of 2009 could have been predicted six quarters ahead in late 2007. The algorithm never predicts a recession when one did not occur. We obtain even stronger results with random forest machine learning techniques in the case of the United Kingdom.

Conclusions: We have tried, as far as it is possible, to replicate an actual forecasting situation starting for the United States in 1990Q2 and moving forward a quarter at a time through to 2016. We use a small number of lags on a small number of financial variables in order to make predictions. In terms of one step ahead predictions of real GDP growth, we have not been able to improve upon the mean forecasts made by the Society of Professional Forecasters. However, even just three quarters ahead, the SPF track record is very poor. A regression of actual GDP growth on the mean prediction made three quarters previously has zero explanatory power, and the SPF predictions never indicated a single quarter of negative growth. The random forest approach improves very considerably on this. Even more strikingly, over a six period ahead horizon, the random forest approach would have predicted, during the winter of 2007/08, a severe recession in the United States during 2009, ending in 2009Q4. Again to emphasise, we have not attempted in any way to optimise these results in an ex post manner. We use only the default values of the input parameters into the machine learning algorithm, and use only a small number of explanatory variables. We obtain qualitatively similar results for the UK, though the predictive power of the random forest algorithm is even better than it is for the United States. As Ormerod and Mounfield (2000) show, using modern signal processing techniques, the time series GDP growth data is dominated by noise rather than by signal. So there is almost certainly a quite restrictive upper bound on the degree of accuracy of prediction which can be achieved. However, machine learning techniques do seem to have considerable promise in extending useful forecasting horizons and providing better information to policy makers over such horizons.

Prevendo recessões econômicas usando algoritmos de Machine Learning

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

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

Mineração de Dados e Segurança Aeronáutica

Neste artigo do Venky Rao é utilizado um exemplo bem simples da aplicação de fases da metodologia CRISP-DM em uma modelagem de análise de segurança aeronáutica.

Ele utiliza a fase de entendimento de dados, preparação dos dados e modelagem e coloca no SPSS. Bom para quem deseja saber como funciona essa modelagem de maneira prática.

Mineração de Dados e Segurança Aeronáutica

3 formas de implementar um modelo preditvo

Neste post do Dean Abbott, ele coloca de uma maneira bem simples a sua forma de realizar a implementação de modelos preditivos que são: 1) certificar que o principal patrocinador do modelo tenha projetado a implementação do modelo desde o princípio do projeto, 2) certificar que o arquiteto de modelagem entenda o propósito do modelo, e por último 3) que os patrocinadores saibam que os modelos podem e o que não podem fazer.

3 formas de implementar um modelo preditvo

Obama irá vencer as eleições de 2012

Em uma entrevista para o podcast IEEE Spectrum’s “Techwise Conversations” David Rothschild (Economista do Yahoo Labs) fala um pouco sobre a previsão elaborada por ele de que Obama irá vencer as eleições presidenciais desse ano. O destaque de fato da entrevista é que ele como economista apresenta diversas justificativas para o seu modelo de predição; no qual ele considerou diversas variáveis importantes e principalmente revelou que teve atenção especial sobre as tendências. Ótimo para quem quer saber em alto nível como se define um modelo para predição baseado em dados. 

Obama irá vencer as eleições de 2012

Algorithmic Finance Journal

Um dos bons achados na internet, é esse excelente Journal of Algorithmic Finance que entre outros aspectos inerentes á área das finanças tem trabalhos muito interessantes sobre aplicação desses modelos dentro da esfera computacional. Vale a pena conferir.

Algorithmic Finance Journal