L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 4

 
Alexey Burnakov:

NS a très bien fait.

Random Forest ne pouvait pas gérer une telle tâche, où l'interaction d'un ensemble de variables. Et la signification individuelle de chaque prédicteur était intentionnellement nulle.

Je ne vois pas de preuve que NS a réussi quoi que ce soit.

Le sur-apprentissage est un mal mondial en science et en particulier dans la construction de modèles.

Une erreur est donc nécessaire pour trois ensembles :

  • des ensembles d'apprentissage. La façon dont Rattle le comprend (OOB, test, validation) fera l'affaire.
  • un ensemble qui est en dehors, en termes de dates, de l'ensemble d'apprentissage.
  • Un autre ensemble qui se trouve en dehors, au sens des dates, de l'ensemble de formation.

Les deux dernières séries ne sont pas mélangées lorsqu'elles arrivent dans le terminal, les bases derrière le bar.

Il devrait y avoir à peu près la même erreur sur les trois ensembles. En même temps, vous devez fixer l'ensemble des prédicteurs que vous prenez lors de la formation du modèle.

 
Alexey Burnakov:


Random Forest ne pouvait pas gérer un tel problème, où l'interaction d'un ensemble de variables. Et la signification individuelle de chaque prédicteur était intentionnellement nulle.

Votre idée de tenir compte de l'interaction entre les prédicteurs est une révolution dans les statistiques. Jusqu'à présent, je pensais que l'interaction entre les prédicteurs était un mal. Non seulement les prédicteurs eux-mêmes sont généralement non stationnaires, mais nous essayons également de rendre compte des relations entre ces processus aléatoires non stationnaires.

En apprentissage automatique, il est considéré comme obligatoire de se débarrasser des variables en interaction. De plus, des algorithmes très efficaces sont disponibles, par exemple la méthode des composantes principales qui permet de se débarrasser de l'interaction et de convertir un ensemble de prédicteurs en interaction en un ensemble de prédicteurs indépendants.

 
SanSanych Fomenko:

Je ne vois aucune preuve que NS a fait face à quoi que ce soit.

Le sur-apprentissage est un mal mondial en science et en particulier dans la construction de modèles.

Une erreur est donc nécessaire pour trois ensembles :

  • des ensembles d'apprentissage. La façon dont Rattle le comprend (OOB, test, validation) fera l'affaire.
  • un ensemble qui est en dehors, en termes de dates, de l'ensemble d'apprentissage.
  • Un autre ensemble qui se trouve en dehors, au sens des dates, de l'ensemble de formation.

Les deux dernières séries ne sont pas mélangées lorsqu'elles arrivent dans le terminal, les bases derrière le bar.

Il devrait y avoir à peu près la même erreur sur les trois ensembles. Cela dit, vous devrez fixer l'ensemble des prédicteurs que vous prenez lors de la formation du modèle.

Disons-le comme ça. Malgré le fait que cela ne fasse pas partie de la mission. J'établirai un échantillon de validation sur lequel j'exécuterai le modèle entraîné et mesurerai la précision de prédiction de la sortie.

Mais là encore, ce n'est pas nécessaire. Notez que j'ai réécrit la validation sur la base du modèle déduit.

Dossiers :
 

Un modèle intégré dans les données :

Количество по полю 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:

Je ne vois aucune preuve que NS a fait face à quelque chose.

Neuronka a résolu ce problème, en attachant le journal avec le code de Rattle. Il y a quelques changements dans le code lors de l'appel de neuron - j'ai augmenté le nombre maximum d'itérations, et supprimé les connexions qui vont directement de l'entrée à la sortie, en contournant la couche intermédiaire (skip=TRUE). Parce que ces deux limites gâchent tout.

J'ai effectué la validation sur le nouveau fichier, les erreurs dans les deux cas sont presque nulles (il n'y a qu'une seule erreur lors de la validation à partir du deuxième fichier).

Mais comme le SN est comme une boîte noire, il n'y a aucun moyen de connaître la logique de la solution. Vous pouvez examiner les pondérations, déterminer la valeur absolue moyenne de chaque entrée et dessiner un diagramme. Et on saura que 1, 3, 5, 7, 9, 11 sont plus importants que les autres. Cependant, les autres entrées sont également utilisées pour une raison quelconque ; les poids nuls sont introuvables. En d'autres termes, il s'avère que l'apprentissage a lieu dans un premier temps, puis nous pouvons déterminer les intrants importants.

Dossiers :
 
Dr. Trader:

Neuronka a résolu ce problème, en attachant le journal avec le code de Rattle. Il y a quelques changements dans le code lors de l'appel de neuron - j'ai augmenté le nombre maximum d'itérations, et supprimé les connexions qui vont directement de l'entrée à la sortie, en contournant la couche intermédiaire (skip=TRUE). Parce que ces deux limites gâchent tout.

J'ai fait la validation sur le nouveau fichier, les erreurs dans les deux cas sont presque nulles (il n'y a qu'une seule erreur lors de la validation à partir du deuxième fichier).

Mais comme le SN est comme une boîte noire, il n'y a aucun moyen de connaître la logique de la solution. Vous pouvez regarder les poids, déterminer la valeur absolue moyenne de chaque entrée, et dessiner un diagramme. Et on saura que 1, 3, 5, 7, 9, 11 sont plus importants que les autres. Cependant, les autres entrées sont également utilisées pour une raison quelconque ; les poids nuls sont introuvables. En d'autres termes, c'est l'inverse qui se produit : nous apprenons d'abord, puis nous identifions les données importantes.

C'est vrai. Le reste des entrées est du bruit. C'est l'inconvénient de nombreuses méthodes : les variables de bruit ne sont pas complètement éliminées.

Il est peut-être nécessaire d'enseigner plus longtemps et par petites étapes.

Mais dans l'ensemble, bravo. NS a résolu un problème difficile.
 
SanSanych Fomenko:

Je ne vois aucune preuve que NS a fait face à quoi que ce soit.

Le sur-apprentissage est un mal mondial en science et en particulier dans la construction de modèles.

Une erreur est donc nécessaire pour trois ensembles :

  • des ensembles d'apprentissage. La façon dont Rattle le comprend (OOB, test, validation) fera l'affaire.
  • un ensemble qui est en dehors, en termes de dates, de l'ensemble d'apprentissage.
  • Un autre ensemble qui se trouve en dehors, au sens des dates, de l'ensemble de formation.

Les deux dernières séries ne sont pas mélangées lorsqu'elles arrivent dans le terminal, les bases derrière le bar.

Il devrait y avoir à peu près la même erreur sur les trois ensembles. Ce faisant, vous devrez fixer l'ensemble des prédicteurs que vous prenez lors de la formation du modèle.

L'évidence doit-elle être prouvée ? Pendant la formation, le poids des entrées contenant des données contradictoires a diminué, c'est-à-dire que nous pouvons dire que les données contradictoires entrantes sont bloquées.

Il n'y a pas de problème de recyclage dans ce cas, car le réseau formé n'est pas utilisé à d'autres fins.

La question est de savoir si une telle méthode en vaut la peine. N'est-ce pas un peu d'artillerie lourde.

 
Dmitry Fedoseev:

La question est de savoir si une telle méthode est appropriée. L'artillerie n'est-elle pas un peu lourde ?

Vous pouvez essayer une autre méthode. Mais je pense que le remède correspond au problème.
 
Alexey Burnakov:
Vous pouvez essayer un autre moyen. Mais je pense que le remède correspond au problème.
Il fait le travail, et il le fait bien. Mais je me demande toujours s'il n'y a pas quelque chose de plus efficace et de plus simple.
 
Dmitry Fedoseev:
Il fait le travail, et il le fait bien. Mais je me demande toujours s'il n'y a pas quelque chose de plus efficace et de plus simple.
Tant que vous ne l'aurez pas essayé, vous ne comprendrez pas. Les inclusions et exceptions habituelles ne fonctionneront pas. Qu'y a-t-il d'autre ?