Discussão do artigo "Reamostragem avançada e seleção de modelos CatBoost pelo método de força bruta"

 

Novo artigo Reamostragem avançada e seleção de modelos CatBoost pelo método de força bruta foi publicado:

Este artigo descreve uma das possíveis abordagens para a transformação de dados com o objetivo de melhorar a generalização do modelo, ele também discute a amostragem e seleção dos modelos CatBoost.

A amostra aleatória simples de rótulos usada no artigo anterior tem algumas desvantagens:

  • As classes podem estar desbalanceadas. Suponha que o mercado foi de alta durante o período de treinamento, enquanto a população em geral (todo o histórico de cotações) foi de alta e baixa. Nesse caso, a amostragem ingênua criará mais rótulos de compra e menos rótulos de venda. Consequentemente, os rótulos de uma classe prevalecerão sobre a outra, pois o modelo aprenderá a prever negócios de compra com mais frequência do que negócios de venda, que não serão válidos para os novos dados.

  • Autocorrelação das características e rótulos. Se a amostragem aleatória for usada, os rótulos da mesma classe seguem uns aos outros, enquanto as próprias características (como por exemplo, incrementos) mudam insignificantemente. Esse processo pode ser mostrado usando um exemplo de treinamento de um modelo de regressão - neste caso, observamos uma autocorrelação nos resíduos do modelo, o que levará a uma possível superestimação e o overfitting do modelo. Essa situação é mostrada a seguir:


O modelo 1 tem autocorrelação de resíduos, que pode ser comparado ao overfitting do modelo em certas propriedades de mercado (por exemplo, relacionado à volatilidade dos dados de treinamento), enquanto outros padrões não são levados em consideração. O modelo 2 possui resíduos com a mesma variância (em média), o que indica que o modelo cobriu mais informações ou foram encontradas outras dependências (além da correlação de amostras vizinhas).

Autor: Maxim Dmitrievsky

 
Não houve uma ideia de adicionar EM (Expectation Maximisation) em vez de GMM?
[Excluído]  
Stanislav Korotky:
Não houve uma ideia de usar o EM (Expectation Maximisation) em vez do GMM?

e ele já funciona com o algoritmo EM, pelo que entendi.

Há ideias para usar redes neurais profundas para isso, ainda em estudo.

 
Maxim Dmitrievsky:

e já está executando o algoritmo EM, pelo que posso ver.

Há ideias para usar redes neurais profundas para isso, ainda em estudo.

OK. Também estava sendo trabalhada uma abordagem com a inversão da série original, para que as classes fossem equilibradas automaticamente.

[Excluído]  
Stanislav Korotky:

OK. Ainda estava em andamento uma abordagem com a inversão da série original - dessa forma, as classes são equilibradas automaticamente.

Como opção, você pode usar a sobreamostragem e a subamostragem e suas combinações. Mas isso não proporcionou melhorias significativas, enquanto o GMM o fez. Além disso, quanto mais clusters, melhor. Puramente empírico.

Aqui está um bom artigo sobre reamostragem, com exemplos https://imbalanced-learn.readthedocs.io/en/stable/index.html.

A estimativa de densidadedo kernel também é pior do que o GMM. A rede neural profunda deveria ser melhor que o GMM, em teoria. Porque o GMM não funciona bem com espaço de recursos grandes.

Welcome to imbalanced-learn documentation! — imbalanced-learn 0.5.0 documentation
  • imbalanced-learn.readthedocs.io
The exact API of all functions and classes, as given in the doctring. The API documents expected types and allowed features for all functions, and all parameters available for the algorithms.
 

Artigo interessante.

Fiquei com a sensação de que, com esse movimento complicado de atribuição aleatória e geração de pseudoamostra, apenas encontramos dependências semelhantes do período de treinamento significativas no teste.

Qual a porcentagem de modelos que falham no teste?

Seria interessante adicionar uma terceira amostra - vamos aprender com a primeira, selecionar bons resultados no teste e verificar o resultado da seleção no exame.

 
O principal ponto questionável é aprender com os dados mais recentes e testar os dados mais antigos. Isso é um pouco análogo a olhar para o futuro: os modelos atuais mais recentes incorporam algo dos modelos anteriores (afinal, os participantes do mercado têm memória), mas, na direção oposta, é mais difícil prever o futuro. Acredito que se você reiniciar o algoritmo de forma canônica (treinando com dados antigos, testando com dados novos - isso é mais parecido com a realidade), o resultado não será tão bom.
 
Stanislav Korotky:
O principal ponto questionável é aprender com os dados mais recentes e testar os dados mais antigos. Isso é um pouco análogo a olhar para o futuro: os modelos atuais mais recentes incorporam algo dos modelos anteriores (afinal, os participantes do mercado têm memória), mas, na direção oposta, é mais difícil prever o futuro. Acho que se você reiniciar o algoritmo de forma canônica (treinando com dados antigos, testando com dados novos - é mais parecido com a realidade), o resultado não será tão bom.

Pelo que entendi, esse método é apenas uma questão de tempo de força bruta.

 
Aleksey Vyazmikin:

Pelo que entendi, para esse método, é apenas uma questão de tempo de força bruta.

Eu não tinha percebido isso. Posso estar enganado, mas nas configurações é expressamente prescrito treinar no último ano e testar nos anos anteriores, a partir de 2015.

 
Stanislav Korotky:

Eu não sabia disso. Posso estar enganado, mas nas configurações é expressamente prescrito treinar no último ano e fazer o teste nos anos anteriores, a partir de 2015.

Portanto, há uma força bruta, cujo objetivo é encontrar esses padrões em 2020, que estavam em vigor durante todo o período, desde 2015. Teoricamente, pode ser necessário fazer mais força bruta, mas a meta será alcançada. Outra coisa é que não está claro se é um padrão ou um ajuste e, mesmo sem uma resposta hipotética a essa pergunta, é difícil tomar uma decisão sobre a viabilidade de instalar o TC no real....

 
Aleksey Vyazmikin:

Portanto, há uma amostragem excessiva - cujo objetivo é encontrar esses padrões em 2020, que estavam em vigor durante todo o período - desde 2015. Teoricamente, pode ser necessário usar mais força bruta, mas a meta será alcançada. Outra coisa é que não está claro se é um padrão ou um ajuste, e mesmo sem uma resposta hipotética a essa pergunta, é difícil tomar uma decisão sobre a conveniência de instalar o TC no real....

Depende do que considerar uma regularidade; se for a ordem dos incrementos, vinculada ao tempo, é uma regularidade sazonal do comportamento dos incrementos; se não for vinculada, é a mesma sequência de incrementos com alguma liberdade de precisão.

E isso depende do que é considerado ajuste. Se forem séries conscientemente idênticas, então é um ajuste, mas o objetivo do teste (não importa de que lado) é verificar o resultado em áreas não idênticas.

E a lógica do treinamento no período próximo é lógica, mas é a mesma, se testarmos na profundidade do histórico, o resultado deverá ser o mesmo, se treinarmos na profundidade do histórico e testarmos no período próximo.

Apenas confirmamos a hipótese de que há regularidades nos gráficos de teste e treinamento.