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

 
Alexey Burnakov:

NS fez muito bem.

A Random Forest não poderia lidar com tal tarefa, onde a interação de um conjunto de variáveis. E o significado individual de cada preditor foi intencionalmente zero.

Não vejo nenhuma prova de que a NS tenha lidado com nada.

O excesso de aprendizagem é um mal mundial na ciência e na construção de modelos, em particular.

Portanto, um erro é necessário para três conjuntos:

  • conjuntos de aprendizagem. A forma como o guizo o entende (OOB, teste, validação) vai funcionar muito bem.
  • um conjunto que está fora, em termos de datas, do conjunto de treino.
  • Outro conjunto que está fora, no sentido das datas, do conjunto de treino.

Os dois últimos conjuntos são desembaciados quando chegam ao terminal, as bases atrás da barra.

Deve haver aproximadamente o mesmo erro em todos os três conjuntos. Ao mesmo tempo, você tem que consertar o conjunto de preditores que você toma ao treinar o modelo.

 
Alexey Burnakov:


A Random Forest não poderia lidar com tal problema, onde a interação de um conjunto de variáveis. E o significado individual de cada preditor foi intencionalmente zero.

A sua ideia de contabilizar a interacção entre os preditores é uma revolução nas estatísticas. Até agora, eu pensava que a interacção entre os preditores era má. Não só os próprios preditores geralmente não são estacionários, como também estamos tentando explicar as relações entre esses processos aleatórios não-estacionários.

Na aprendizagem mecânica, é considerado obrigatório livrar-se das variáveis que interagem. Além disso, estão disponíveis algoritmos muito eficazes como, por exemplo, o método dos componentes principais que permite livrar-se da interacção e converter um conjunto de preditores em um conjunto de preditores independentes.

 
SanSanych Fomenko:

Não vejo nenhuma prova de que a NS tenha lidado com alguma coisa.

O excesso de aprendizagem é um mal mundial na ciência e na construção de modelos, em particular.

Portanto, é necessário um erro para três conjuntos:

  • conjuntos de aprendizagem. A forma como o guizo o entende (OOB, teste, validação) vai funcionar muito bem.
  • um conjunto que está fora, em termos de datas, do conjunto de treino.
  • Outro conjunto que está fora, no sentido das datas, do conjunto de treino.

Os dois últimos conjuntos são desembaciados quando chegam ao terminal, as bases atrás da barra.

Deve haver aproximadamente o mesmo erro em todos os três conjuntos. Dito isto, você terá que consertar o conjunto de preditores que você toma ao treinar o modelo.

Vamos pôr as coisas assim. Apesar de que isto não faz parte da missão. Vou apresentar uma amostra de validação sobre a qual executar o modelo treinado e medir a precisão da previsão da saída.

Mas mais uma vez, isto não é necessário. Note que escrevi a validação novamente com base no padrão inferido.

Arquivos anexados:
 

Um padrão incorporado nos dados:

Количество по полю input_19 output
input_1 input_3 input_5 input_7 input_9 input_11 0 1 сумма предикторов четность
1 1 1 1 1 1 143 6 ИСТИНА
1 1 1 1 1 2 100 7 ЛОЖЬ
1 1 1 1 2 1 121 7 ЛОЖЬ
1 1 1 1 2 2 119 8 ИСТИНА
1 1 1 2 1 1 114 7 ЛОЖЬ
1 1 1 2 1 2 124 8 ИСТИНА
1 1 1 2 2 1 105 8 ИСТИНА
1 1 1 2 2 2 102 9 ЛОЖЬ
1 1 2 1 1 1 101 7 ЛОЖЬ
1 1 2 1 1 2 131 8 ИСТИНА
1 1 2 1 2 1 122 8 ИСТИНА
1 1 2 1 2 2 114 9 ЛОЖЬ
1 1 2 2 1 1 111 8 ИСТИНА
1 1 2 2 1 2 98 9 ЛОЖЬ
1 1 2 2 2 1 123 9 ЛОЖЬ
1 1 2 2 2 2 112 10 ИСТИНА
1 2 1 1 1 1 128 7 ЛОЖЬ
1 2 1 1 1 2 114 8 ИСТИНА
1 2 1 1 2 1 111 8 ИСТИНА
1 2 1 1 2 2 126 9 ЛОЖЬ
1 2 1 2 1 1 143 8 ИСТИНА
1 2 1 2 1 2 95 9 ЛОЖЬ
1 2 1 2 2 1 108 9 ЛОЖЬ
1 2 1 2 2 2 117 10 ИСТИНА
1 2 2 1 1 1 112 8 ИСТИНА
1 2 2 1 1 2 132 9 ЛОЖЬ
1 2 2 1 2 1 92 9 ЛОЖЬ
1 2 2 1 2 2 134 10 ИСТИНА
1 2 2 2 1 1 110 9 ЛОЖЬ
1 2 2 2 1 2 114 10 ИСТИНА
1 2 2 2 2 1 120 10 ИСТИНА
1 2 2 2 2 2 108 11 ЛОЖЬ
2 1 1 1 1 1 109 7 ЛОЖЬ
2 1 1 1 1 2 133 8 ИСТИНА
2 1 1 1 2 1 99 8 ИСТИНА
2 1 1 1 2 2 115 9 ЛОЖЬ
2 1 1 2 1 1 123 8 ИСТИНА
2 1 1 2 1 2 116 9 ЛОЖЬ
2 1 1 2 2 1 131 9 ЛОЖЬ
2 1 1 2 2 2 119 10 ИСТИНА
2 1 2 1 1 1 96 8 ИСТИНА
2 1 2 1 1 2 120 9 ЛОЖЬ
2 1 2 1 2 1 111 9 ЛОЖЬ
2 1 2 1 2 2 99 10 ИСТИНА
2 1 2 2 1 1 132 9 ЛОЖЬ
2 1 2 2 1 2 110 10 ИСТИНА
2 1 2 2 2 1 93 10 ИСТИНА
2 1 2 2 2 2 106 11 ЛОЖЬ
2 2 1 1 1 1 100 8 ИСТИНА
2 2 1 1 1 2 127 9 ЛОЖЬ
2 2 1 1 2 1 127 9 ЛОЖЬ
2 2 1 1 2 2 101 10 ИСТИНА
2 2 1 2 1 1 119 9 ЛОЖЬ
2 2 1 2 1 2 120 10 ИСТИНА
2 2 1 2 2 1 99 10 ИСТИНА
2 2 1 2 2 2 106 11 ЛОЖЬ
2 2 2 1 1 1 133 9 ЛОЖЬ
2 2 2 1 1 2 97 10 ИСТИНА
2 2 2 1 2 1 100 10 ИСТИНА
2 2 2 1 2 2 116 11 ЛОЖЬ
2 2 2 2 1 1 119 10 ИСТИНА
2 2 2 2 1 2 118 11 ЛОЖЬ
2 2 2 2 2 1 102 11 ЛОЖЬ
2 2 2 2 2 2 128 12 ИСТИНА
 
SanSanych Fomenko:

Não vejo nenhuma prova de que a NS tenha lidado com algo.

O Neuronka resolveu este problema, registo de ataque com o código do Rattle. Há algumas alterações no código ao chamar o neurônio - Aumentei o número máximo de iterações, e removi as conexões, que vão da saída da entrada diretamente para a saída, contornando a camada intermediária (skip=TRUE). Porque estas duas limitações estragam tudo.

Eu fiz a validação no novo arquivo, os erros em ambos os casos são quase 0% (há apenas um erro ao validar a partir do segundo arquivo).

Mas como a NS é como uma caixa preta, não há como saber a lógica da solução. Você pode olhar para os pesos, determinar o valor médio absoluto para cada entrada, e desenhar um diagrama. E saberemos que 1, 3, 5, 7, 9, 11 são mais importantes do que os outros. No entanto, os restantes inputs também são utilizados por alguma razão; os pesos zero não são encontrados em nenhum lugar. Em outras palavras, acontece que a aprendizagem ocorre no início, e então podemos determinar os inputs importantes.

Arquivos anexados:
 
Dr. Trader:

O Neuronka resolveu este problema, registo de ataque com o código do Rattle. Há algumas alterações no código ao chamar o neurônio - aumentei o número máximo de iterações e removi as conexões que vão direto da entrada para a saída, contornando a camada do meio (skip=TRUE). Porque estas duas limitações estragam tudo.

Eu fiz a validação no novo arquivo, os erros em ambos os casos são quase 0% (há apenas um erro ao validar a partir do segundo arquivo).

Mas como a NS é como uma caixa preta, não há como saber a lógica da solução. Você pode olhar para os pesos, determinar o valor médio absoluto para cada entrada, e desenhar um diagrama. E saberemos que 1, 3, 5, 7, 9, 11 são mais importantes do que os outros. No entanto, os restantes inputs também são utilizados por alguma razão; os pesos zero não são encontrados em nenhum lugar. Em outras palavras, é o contrário - primeiro aprendemos, e depois identificamos os inputs importantes.

É verdade . O resto das entradas são ruído. Esse é o lado negativo de muitos métodos - as variáveis de ruído não são completamente removidas.

Talvez seja necessário ensinar por mais tempo e em passos menores.

Mas de uma maneira geral, bravo. NS resolveu um problema difícil.
 
SanSanych Fomenko:

Não vejo nenhuma prova de que a NS tenha lidado com alguma coisa.

O excesso de aprendizagem é um mal mundial na ciência e na construção de modelos, em particular.

Portanto, é necessário um erro para três conjuntos:

  • conjuntos de aprendizagem. A forma como o guizo o entende (OOB, teste, validação) vai funcionar muito bem.
  • um conjunto que está fora, em termos de datas, do conjunto de treino.
  • Outro conjunto que está fora, no sentido das datas, do conjunto de treino.

Os dois últimos conjuntos são desembaciados quando chegam ao terminal, as bases atrás da barra.

Deve haver aproximadamente o mesmo erro em todos os três conjuntos. Ao fazer isso, você terá que consertar o conjunto de preditores que você toma ao treinar o modelo.

O óbvio precisa de ser provado? Durante o treinamento, os pesos das entradas com dados contraditórios diminuíram, ou seja, podemos dizer que a entrada de dados contraditórios está bloqueada.

Não há problema de reciclagem neste caso, pois a rede treinada não é utilizada para qualquer outro fim.

A questão é se tal método vale a pena. Não é uma artilharia um pouco pesada?

 
Dmitry Fedoseev:

Se tal método é apropriado é a questão. A artilharia não é um pouco pesada?

Podes tentar outro método. Mas eu acho que o remédio se encaixa no problema.
 
Alexey Burnakov:
Podes tentar de outra maneira. Mas eu acho que o remédio se encaixa no problema.
Ele faz o trabalho, e fá-lo bem. Mas pergunto-me sempre se haverá algo mais eficaz e mais simples.
 
Dmitry Fedoseev:
Ele faz o trabalho, e fá-lo bem. Mas pergunto-me sempre se haverá algo mais eficaz e mais simples.
Até que o tentes, não vais entender. As habituais inclusões e excepções não vão funcionar. O que mais há?