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

 
Je suis d'accord, j'y ai pensé pendant le week-end. En effet, plus le réseau dit souvent "je ne sais pas", plus il est proche du surentraînement. Au début de l'OOS, presque tous les signaux sont interprétés sans ambiguïté, mais avec le temps, le réseau commence de plus en plus à dire "je ne sais pas", ce qui indique que de nouvelles données difficiles à interpréter arrivent. Lorsqu'un certain niveau de "je ne sais pas" est atteint, le réseau est ré-entraîné. Une chose très utile ....
 
Tout le discours sur l'atténuation progressive du modèle sur les OOS et l'utilité de cette information dans le commerce semble peu convaincant sans parler de présélection des prédicteurs.
 
SanSanych Fomenko:
Tout le discours sur l'affaiblissement progressif du modèle sur l'OOS et l'utilité de cette information dans le commerce semble peu convaincant sans parler de présélection des prédicteurs.
Alors quel est le choix. Choisissons un modèle avec le niveau maximum de généralisation, voyons comment il se comporte dans l'intervalle de formation. L'euviti devrait pousser de façon régulière... Et puis il y a la chance. Il n'y a nulle part sans elle...
 
Andrey Dik:

Ato.

Si un modèle donne des signaux erronés sur l'OOS, cela indique une formation défectueuse, et non le fait que le marché a changé.

Je suis d'accord avec cela. Mais comment analyser les signaux de deux grilles ? Ce n'est pas très clair ? Dans quelle mesure divergent-ils ou sont-ils à l'unisson ?
 
Alexey Burnakov:
Je suis d'accord avec cela. Comment analyser les signaux de deux grilles ? Ce n'est pas très clair ? Comment divergent-ils ou sont-ils à l'unisson ?

En ramenant les signaux à un modèle commun comme celui-ci :

VENTE ACHAT Interprétation

-1 0 vendre

0 0 clôture

0 1 achat

-1 1 clôture

Dans un modèle bien formé, les signaux se contredisent rarement. Ils n'ont pas besoin d'un nombre égal de signaux sur la zone d'entraînement, et en règle générale, ils diffèrent, et c'est compréhensible, car il peut y avoir de longues tendances globales sur le marché. Mais je limite le nombre de signaux d'une grille à 2 fois le nombre de signaux de l'autre grille. Je ne peux pas répondre à la question de savoir pourquoi c'est 2 fois, mais c'est un rapport empirique. Par exemple, si la tendance passe d'ascendante à descendante, que le nombre de signaux de vente augmente et que les signaux d'achat commencent à mentir, qu'une contradiction se produit et que le nombre de transactions diminue, c'est le signe qu'une nouvelle formation est nécessaire.

 
Andrey Dik:

En ramenant les signaux à un modèle commun comme celui-ci :

VENTE ACHAT Interprétation

-1 0 vendre

0 0 clôture

0 1 achat

-1 1 clôture

Dans un modèle bien formé, les signaux se contredisent rarement. Un nombre égal de signaux sur la zone d'entraînement n'est pas exigé de leur part, et en règle générale, ils sont différents, ce qui est compréhensible, car le marché peut avoir des tendances globales prolongées. Mais je limite le nombre de signaux d'une grille à 2 fois le nombre de signaux de l'autre grille. Je ne peux pas répondre à la question de savoir pourquoi c'est 2 fois, mais c'est un rapport empirique. Par exemple, si la tendance passe d'ascendante à descendante, que le nombre de signaux de vente augmente et que les signaux d'achat commencent à mentir, qu'une contradiction apparaît et que le nombre de transactions diminue, c'est le signe qu'une nouvelle formation est nécessaire.

Merci. C'est peut-être une idée qui fonctionne.
 
Combinateur:

Oui, mais pas sur la configuration neuronique.

Andrei semble faire allusion à des entrées si puissantes que n'importe quel modèle les utilisera par défaut pour donner de bons résultats non ajustés.

Ou peut-être fait-il référence à quelque chose d'autre. Mais une réponse plus détaillée serait appréciée.

 

Nouvelle version de jPrediction 9.00 publiée

Citation du manuel de l'utilisateur :

"Différences entre jPrediction et les autres logiciels d'apprentissage automatique

La principale différence de jPrediction est l'absence de tout paramètre défini par l'utilisateur, ce qui permet de se débarrasser du facteur humain sous forme d'erreurs humaines, tant dans le processus de configuration et de sélection des algorithmes que dans le processus de sélection des architectures de réseaux neuronaux. L'ensemble du processus d'apprentissage automatique dans jPrediction est entièrement automatisé et ne nécessite aucune connaissance particulière de la part des utilisateurs ni aucune intervention de leur part.

Fonctions exécutées par jPrediction en mode automatique

  1. Lecture et analyse d'un fichier contenant plusieurs exemples pour construire un modèle mathématique de classification ;
  2. Normalisation des données avant l'apprentissage automatique ;
  3. Diviser l'ensemble de tous les exemples de l'échantillon en deux sous-ensembles : un sous-ensemble de formation et un sous-ensemble de test ;
  4. Équilibrage des exemples du sous-ensemble de formation ;
  5. Formation de l'architecture du réseau neuronal ;
  6. Entraînement d'un ensemble de modèles sur un sous-ensemble de cas d'entraînement avec différentes combinaisons de prédicteurs (facteurs) ;
  7. Réduction de l'architecture des réseaux neuronaux - suppression des éléments superflus ;
  8. Test d'un ensemble de modèles sur un sous-ensemble d'exemples et calcul des capacités de généralisation ;
  9. Sélection du meilleur modèle selon le critère de la généralisabilité maximale.

Puisque, à partir de l'ensemble des modèles, dont chacun diffère de toute autre combinaison de prédicteurs, seul celui dont la capacité de généralisation est maximale est sélectionné, la réduction (sélection) des prédicteurs les plus significatifs est donc automatiquement effectuée."

Il convient de préciser qu'à partir de la version 8, jPrediction n'a aucune limite quant au nombre maximal de prédicteurs dans l'échantillon d'entraînement. Avant la version 8, le nombre de prédicteurs dans l'échantillon de formation était limité à dix.

Avant la version 8, jPrediction était à modèle unique. C'est-à-dire qu'un échantillon a été prélevé et qu'un seul modèle a été formé et testé sur celui-ci.

Depuis la version 8, jPrediction est maintenant multi-modèle, c'est-à-dire qu'il entraîne et teste plusieurs modèles différents, sur différentes parties de l'échantillon, et chaque partie contient différentes combinaisons de prédicteurs. L'un de ces modèles donnerait la généralisation maximale sur la partie test de l'échantillon.

Le problème était que si l'on utilise différentes combinaisons de prédicteurs, une recherche complète des combinaisons aboutit à une "explosion" dite combinatoire (du terme combinatoire), c'est-à-dire qu'avec chaque prédicteur supplémentaire, il faut entraîner et tester deux fois plus de modèles que sans lui. Il est tout à fait évident que lorsque le nombre de prédicteurs dans l'échantillon se mesure en dizaines et même en centaines, il devient problématique d'attendre l'entraînement et le test de tous les modèles combinatoires dans un temps raisonnable.

Le problème de l'"explosion" combinatoire dans jPrediction a été résolu non pas en essayant toutes les combinaisons possibles, mais par la méthode de recherche séquentielle. L'essence de la méthode est la suivante :

Supposons que nous ayons trouvé une combinaison contenant N prédicteurs avec une généralisation maximale en essayant toutes les combinaisons possibles de N prédicteurs et moins. Nous devons y ajouter le prédicteur N+1. Pour cela, nous ajoutons un par un tous les prédicteurs de l'échantillon qui n'ont pas été inclus dans la combinaison et nous mesurons leur capacité de généralisation. Si, au cours de cette recherche, nous trouvons une combinaison avec N+1 prédicteurs dont la capacité de généralisation est supérieure à la meilleure combinaison de N prédicteurs, nous pouvons trouver une combinaison avec N+2 prédicteurs de la même manière. Et s'ils ne l'ont pas trouvé, alors il est clair qu'il est inutile de chercher plus loin et que l'algorithme d'essai des combinaisons s'arrête à la meilleure combinaison de N prédicteurs. Par conséquent, l'algorithme de recherche de combinaisons de prédicteurs pour le modèle s'arrête beaucoup plus tôt que si l'on essayait toutes les combinaisons possibles. Une économie supplémentaire de ressources informatiques est due au fait que la recherche commence à partir d'un petit nombre de prédicteurs dans le but d'augmenter ce nombre. Et moins il y a de prédicteurs nécessaires à la formation, moins il faut de temps et de puissance de calcul pour construire les modèles.

C'est le genre de tarte.

Si vous êtes intéressé, l'archive ZIP ci-jointe contient le manuel d'utilisation de jPrediction 9 en russe au format PDF :

Dossiers :
 
Cool ! Êtes-vous la seule personne qui traîne tout ça ? Le terme "réduction" n'est pas clair. Si vous regardez la technologie, c'est une réduction multiple de quelque chose. Et avec vous, c'est une sélection.
 
Yury Reshetov:

Nouvelle version de jPrediction 9.00


Tout est bon sauf une petite chose : il n'y a pas de comparaison avec d'autres modèles.

Je propose mes services à titre de comparaison

1. Vous préparez un fichier Excel d'entrée contenant les prédicteurs et la variable cible.

2. Vous faites le calcul

3. Vous m'envoyez le fichier d'entrée.

4. Je fais les calculs en utilisant randomforest, ada, SVM

Nous comparons.