Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 2039

 
elibrarius:

Você pode misturar dentro do trem ou testar, mas não há nenhum ponto, e você não pode misturar entre trem e teste. Por acaso não os misturaste lá, algo muito bom para um teste com um exame.

Eu não os misturei e o resultado não é muito bom para a amostra de teste - A recordação é pequena.

Mas o baralhamento é bom, se acreditarmos que o padrão é estável, e não decrescente no final da amostra. Só aqui o arquivo poderia ter sido moldado com a ajuda de um loop e alguns dos parâmetros simplesmente não entraram na área de estudo.

 
Aleksey Vyazmikin:

Eu não misturei e o resultado não é muito bom para a amostra de teste - A recordação é pequena.

Mas é bem possível baralhar, se acreditarmos que o padrão é estável, e não decrescente até ao final da amostra. O arquivo poderia ter sido moldado com um loop e alguns dos parâmetros não entraram na área de testes.

Se você misturar, o teste vai melhorar imediatamente - você terá uma olhada, pelo bar adjacente. Ou seja, uma barra (10:00) chegou ao traço, a barra adjacente (10:01) chegou ao teste, enquanto são muito semelhantes tanto para a anterior como para a alvo.
 
elibrarius:
Se você misturar, o teste vai melhorar imediatamente - haverá uma olhada, no bar adjacente. Isto é, uma barra (10:00) está no traço, a barra adjacente (10:01) está no teste, e são muito semelhantes entre si, tanto no passado como no alvo.

As barras na amostra são revezadas? Eu simplesmente não treino em todos os bares, apenas recebo sinais e nesse caso acredito que é possível misturar amostras - aumenta a quantidade de informação a ser treinada sem aumentar o tamanho da amostra, o que, de acordo com os meus dados, melhora a amostra de teste.

 
Aleksey Vyazmikin:

As barras na amostra estão lá uma a uma?

Eu já apaguei o arquivo, verifique o seu. Penso que um por um é a forma mais lógica de gerar um ficheiro CSV.

 
elibrarius:

Eu já apaguei o arquivo, verifique o seu. Penso que um a um é a forma mais lógica de gerar um ficheiro CSV.

Há ali qualquer coisa - não sei o que é.

 2 6 0 4 2 6 57 57 100 100 -1
4 2 6 0 4 2 6 57 57 100 200 -1
4 2 6 0 4 2 6 57 57 100 300 -1
4 2 6 0 4 2 6 57 57 100 400 -1
4 2 6 0 4 2 6 57 57 100 500 -1
4 2 6 0 4 2 6 57 57 100 600 -1
4 2 6 0 4 2 6 57 57 100 700 -1
4 2 6 0 4 2 6 57 57 100 800 -1
4 2 6 0 4 2 6 57 57 100 900 -1
4 2 6 0 4 2 6 57 57 100 1000 -1
4 2 6 0 4 2 6 57 57 100 1100 -1
4 2 6 0 4 2 6 57 57 100 1200 -1
4 2 6 0 4 2 6 57 57 100 1300 -1
4 2 6 0 4 2 6 57 57 100 1400 -1
4 2 6 0 4 2 6 57 57 100 1500 -1
4 2 6 0 4 2 6 57 57 100 1600 -1
4 2 6 0 4 2 6 57 57 100 1700 -1
4 2 6 0 4 2 6 57 57 100 1800 -1
4 2 6 0 4 2 6 57 57 100 1900 -1
4 2 6 0 4 2 6 57 57 100 2000 -1
4 2 6 0 4 2 6 57 57 100 2100 -1
4 2 6 0 4 2 6 57 57 100 2200 -1
4 2 6 0 4 2 6 57 57 100 2300 -1
4 2 6 0 4 2 6 57 57 100 2400 -1
4 2 6 0 4 2 6 57 57 100 2500 -1
 
Aleksey Vyazmikin:

Há ali qualquer coisa - não sei o que é.

À espera de resposta do proprietário do ficheiro.
 
elibrarius:
Aguardando o retorno do anfitrião do arquivo.

A propósito, eu tirei 1% de amostra e treinei a árvore C4.5 - ela deu 100% de reconhecimento no treinamento e na amostra de teste, então eu assumo que se trata de loops encomendados, que precisam ser embaralhados. Mas eu não tenho um bom algoritmo de mistura no MQL5 - posso simplesmente puxar n linhas de ambas as amostras de teste e controle e assim formar uma amostra de teste - e então terei alguma sorte novamente com o balanço de classe, e os loops não serão bons aqui.

 
Aleksey Vyazmikin:

É que eu não treino em todos os bares, só aceito sinais e nesse caso acho que é possível misturar amostras - aumenta a quantidade de informação a treinar sem aumentar o tamanho da amostra, o que de acordo com os meus dados melhora a amostra do exame.

Talvez você possa, mas não acho que deva jogar um pouco do futuro na pista, não pode fazer isso no comércio real. Que o futuro permaneça desconhecido na formação, assim como na realidade.
O teste e o exame e têm que ser melhores e piores o tempo todo. Isto é normal. O principal é estar no lado positivo.
Use a validação cruzada (você pode tê-la integrada) ou melhor ainda, avançar.

 
Aleksey Vyazmikin:

A propósito, eu tirei 1% de amostra e treinei a árvore C4.5 - ela me deu 100% de reconhecimento no treinamento e na amostra de teste, então eu assumo que se trata de loops encomendados, que precisam ser embaralhados. Mas não tenho um bom algoritmo de mistura no MQL5 - posso apenas puxar n linhas de ambas as amostras de teste e controle e assim formar uma amostra de teste - e ficarei sem sorte novamente com o balanço de classe, e os loops não serão bons aqui.

Este é o tipo de MSG que você pode misturar bem com https://www.mql5.com/ru/blogs/post/735953
Rand 0 ... Max Int с равномерным распределением
Rand 0 ... Max Int с равномерным распределением
  • www.mql5.com
Потребовалась функция ГСЧ с гнерацией числа Int от 0 до любого значения. Получилась такая функция. Думаю распределение получилось равномерным. На форуме посоветовали другую функцию из статьи. Отбросив лишнее, получилось: Сделал сравнение по скорости обоих функций, оригинальной из статьи и просто MathRand(): Оригинальная из статьи Rnd.Rand_01...
 
elibrarius:

Talvez você possa, mas não acho que você deva jogar parte do futuro no estagiário, você não pode fazer isso no comércio real. Que o futuro permaneça desconhecido nos treinos como na realidade é.
O teste e o exame e têm que ser melhores e piores o tempo todo. Isto é normal. O principal é estar no lado positivo.
Use validação cruzada (pode haver uma incorporada) ou, melhor ainda, valedictorian forward.

Se você não faz isso, e não faz como Maxim fez, aprendendo com o fim, acabamos aprendendo com dados muito ultrapassados, o que não é bom. Eu não proponho tocar na amostra do exame, mas na amostra de treinamento e controle, acho que podemos. E então, se tivermos alcançado um desempenho estável, então, conhecendo as configurações do modelo básico, podemos aprender mais perto do limite para aplicar o modelo na vida real.

Ainda não resolvi isso com validação cruzada - precisa ser automatizado lá, mas ainda não cheguei lá.

Mas testes de mordiscar - sim, esta é a abordagem correta, mas sempre falta história para mim, eu uso esta abordagem ao selecionar as folhas - aí ajuda melhor mesmo em uma amostra que já foi treinada, já que geralmente as respostas das folhas são irregulares em toda a amostra, e eu só preciso de respostas estáveis.

elibrarius:
Esta é uma boa maneira de misturar as coisas

A propósito, você já viu um gerador assim que gera um número aleatório a partir de um array sem repetições - isso é exatamente o que eu preciso.