Discussão do artigo "Algoritmo de aprendizado de máquina CatBoost da Yandex sem conhecimento prévio de Python ou R" - página 3
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Ah, tente repetir o mesmo experimento, adicionando apenas mais um ou dois meses de histórico à amostra de treinamento e, em seguida, compare os dois testes. Se a rede neural permanecerá estável, qual a influência que os movimentos de preços mais recentes têm sobre esse modelo...
Cuidado - não se trata de uma rede neural, mas de gradient bousting - uma abordagem muito diferente para encontrar um padrão, embora ambos sejam métodos de aprendizado de máquina.
Estou convencido de que os dados são escassos em amostras curtas, mas estou treinando amostras agora para satisfazer a curiosidade dos leitores:
1. janela de um ano com número diferente de árvores - vamos comparar o resultado. (nenhuma amostra de controle é usada)
2. janela para o ano 3 com número diferente de árvores - compare o resultado. (nenhuma amostra de controle é usada)
3. janela para um ano com novos dados adicionados todos os meses com diferentes números de árvores - compare o resultado. (nenhuma amostra de controle é usada)
Você terá de aguardar a conclusão do processo computacional - há muitos modelos sendo criados.
Vamos passar das abstrações para os números. Quanto uma pequena janela será eficaz?
A questão é que você sugere pular atrás das condições de mercado, enquanto eu sugiro usar o conhecimento sobre diferentes condições de mercado. Quanto mais conhecimento for respaldado pelo histórico, mais lentamente os padrões construídos com base nele mudarão.
E então, como você define os hiperparâmetros em uma amostra pequena - quantas iterações de treinamento, no mínimo. Eu coloco o mesmo em todos os lugares.A largura deve ser pelo menos tão grande quanto a largura dos estados estáveis, nos quais você pode obter lucro. Não estou sugerindo isso, sei que é difícil hoje em dia. Pensei nas disposições de que o aprendizado é produtivo em estados estáveis. Ou seja, o resultado do treinamento em um estado estável de BP será melhor do que na mesma quantidade de dados, mas o estado de BP consistirá em vários segmentos de diferentes estados estáveis.
A largura deve ser pelo menos igual à largura dos estados estáveis nos quais você pode lucrar. Não estou sugerindo isso, sei que é difícil hoje em dia. A ideia das cláusulas é que o aprendizado é eficiente em estados estáveis. Ou seja, o resultado do treinamento em um estado estável de BP será melhor do que na mesma quantidade de dados, mas o estado de BP consistirá em vários segmentos de diferentes estados estáveis.
Portanto, podemos descobrir a largura ideal somente depois de detectarmos um novo estado de mercado.
Neste artigo, não usamos séries temporais em sua forma pura, porque a coleta de dados se baseia em um determinado estado de mercado, e há um número diferente de barras entre os estados.
Cuidado - essa não é uma rede neural, mas um gradient bousting - uma abordagem muito diferente para encontrar um padrão, embora ambos sejam métodos de aprendizado de máquina.
Estou convencido de que os dados são escassos em amostras curtas, mas estou treinando amostras agora para satisfazer a curiosidade dos leitores:
1. janela de um ano com número diferente de árvores - vamos comparar o resultado. (nenhuma amostra de controle é usada)
2. janela para o ano 3 com número diferente de árvores - compare o resultado. (nenhuma amostra de controle é usada)
3. janela para um ano com novos dados adicionados a cada mês com número diferente de árvores - compare o resultado. (nenhuma amostra de controle é usada)
Teremos que aguardar a conclusão do processo computacional - há muitos modelos sendo criados.
É isso mesmo... Para mim, a questão interessante é: o gradient bousting pode ser usado para procurar padrões nos quais se pode amostrar dados para treinar uma rede neural? Esse é o problema de encontrar uma solução para proteger as negociações com redes neurais treinadas em diferentes padrões de mercado...
É isso mesmo... Para mim, a questão interessante é: o gradient bousting pode ser usado para procurar padrões nos quais os dados de amostragem possam ser usados para treinar uma rede neural? Esse é o problema de encontrar uma solução para proteger as negociações com redes neurais treinadas em diferentes padrões de mercado...
Como você planeja obter uma resposta para a pergunta sem experimentar redes neurais em uma amostra?
Podemos estimar o desempenho dos preditores ao longo do tempo, por exemplo, a porcentagem de fechamento de "algo lá fora" - você pode ver no gráfico que o viés varia ao longo das linhas (cada linha N linhas da amostra) - e se pegarmos 1/10 da amostra, não teremos informações suficientes quando o indicador se mover lateralmente (por exemplo, ele depende da tendência global no TF superior).

A propósito, a figura mostra como os dados são particionados (quantificados) na forma de uma grade do SatBoost.Por enquanto, a primeira versão está pronta:
1. janela para um ano com número diferente de árvores - vamos comparar o resultado. (nenhuma amostra de controle é usada)
400 árvores não é suficiente e 1600 é excessivo.
A dinâmica das curvas é semelhante. Alguma ideia do motivo?
Por enquanto, o primeiro rascunho está pronto:
1. janela para um ano com número diferente de árvores - vamos comparar o resultado. (nenhuma amostra de controle é usada)
400 árvores não é suficiente e 1600 é excessivo.
A dinâmica das curvas é semelhante. Alguma ideia do motivo?
200 não é informação suficiente, e 1600 é perda de informação ou não identificação de informações significativas.
200 é a falta de informações e 1600 é a perda de informações ou a não identificação de informações significativas.
As informações são sempre as mesmas para o treinamento, mas o tamanho da memória para lembrar as condições é diferente. Acredito que a semelhança das árvores nos primeiros dez determina a lógica básica do comportamento do modelo e, mais adiante, há apenas seu aprimoramento, por isso as curvas são semelhantes em suas quebras.
2.janela para o ano 3 com número diferente de árvores - compare o resultado. (nenhuma amostra de controle é usada)
Novamente, observamos que 800 iterações são ideais, portanto, para a terceira variante, não fiz mais. O que é confuso é uma forte falha em março de 2020 - seja o impacto da crise além do modelo ou um erro de amostragem - fiz o treinamento na colagem e pode haver uma lacuna devido à transição para um novo contrato de futuros, o que não aconteceu na vida real. Pelo lado positivo, o aprendizado é claramente melhor do que em 12 meses (veja esse período de tempo no último gráfico!), o que é bom de se ver e mostra novamente que 12 meses não acomodam toda a variabilidade do mercado.
3. janela para um ano com novos dados adicionados a cada mês com um número diferente de árvores - vamos comparar o resultado.(nenhuma amostra de controle é usada)
A figura mostra que o crescimento do modelo de 400 iterações foi mais rápido ou alinhado, mas, à medida que o tamanho da amostra aumentou, a tendência mudou e o modelo de 800 iterações começou a se distanciar com menos erros e melhor fechamento do mês. Aparentemente, precisamos aumentar dinamicamente o tamanho do modelo aqui.
A partir desse estudo, podemos concluir que o método descrito no artigo e o resultado obtido não são um acaso.
Sim, concordo que há mudanças significativas no comportamento dos preços, e o comportamento antigo não se repete e, portanto, a amostragem em um período grande impedirá que você ganhe dinheiro com os novos dados. A identificação da variabilidade no comportamento dos preços em um modelo está sujeita a mais pesquisas, mas prefiro usar o máximo possível de informações sobre preços, embora um pouco desatualizadas.
A figura abaixo fornece informações sobre o Recall - o histograma azul são os modelos com acumulação de amostra e o histograma vermelho são os modelos com uma janela fixa de 12 meses.
É possível observar que os modelos de 12 meses tentaram se ajustar à situação atual do mercado e tiveram mais recalls em vários períodos de baixa volatilidade, enquanto os modelos com acumulação explicitamente em 2020 usaram a experiência de aumento da volatilidade em 2014-2016 e conseguiram reconhecer movimentos fortes durante a crise de 2020.