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

 
Alexey Burnakov:
Quelques années. Voici son résultat dans le fil de discussion.
Veuillez me donner le lien.
 
Vadim Shishkin:
Pouvez-vous me donner un lien, s'il vous plaît ?
Tout le sujet en est le résultat.
 
Yury Reshetov:

Au moins avec une séparation stricte en un échantillon de formation et un échantillon de test par date, au lieu de mélanger aléatoirement les échantillons avec une distribution uniforme dans l'échantillon général et de le diviser ensuite en parties. Il peut arriver qu'une partie de l'échantillon contienne principalement des tendances verticales, tandis que l'autre partie contient des tendances latérales. Si nous appliquons un mélange aléatoire, la probabilité de rassembler des motifs similaires dans différentes parties de l'échantillon diminue.

D'ailleurs, un tel inconvénient est également présent dans le testeur de stratégie intégré de MetaTrader, c'est-à-dire qu'il divise l'échantillon d'entraînement et le test à terme strictement par dates. Pour cette raison, le changement des tendances du marché à proximité de la ligne de démarcation peut conduire à un surentraînement délibéré.

C'est le point clé de la planification de l'expérience. En réalité, il existe une stricte séparation temporelle. C'est ainsi que le modèle est testé sur l'avenir au sens plein du terme.

J'ai cela aussi : lors de la validation, le marché était principalement en baisse et il y a une surproduction de shorts. Eh bien, il pourrait surtout augmenter à l'avenir. Tout peut arriver.
 
Vadim Shishkin:
Alors, comme tout commerçant respectable, vous avez donné la réponse.
La réponse de l'univers, si vous voulez.
 
Alexey Burnakov:
C'est le point clé de la planification des expériences. En réalité, il y a une stricte séparation dans le temps. C'est ainsi que le modèle est testé pour l'avenir dans le plein sens du terme.

J'ai cela aussi : lors de la validation, le marché était principalement en baisse et il y a une surproduction de shorts. Eh bien, il peut surtout augmenter à l'avenir. Tout peut arriver.

C'est ce qu'on appelle un échantillon déséquilibré et c'est un problème d'apprentissage automatique.

Pour que ce soit plus clair, je vais vous donner un exemple. Supposons que nous ayons un échantillon de formation où les tendances à la hausse prédominent et où les tendances à la baisse sont moins présentes dans l'échantillon que les tendances à la hausse, c'est-à-dire que nous avons un déséquilibre.

Supposons que nous ayons 1 000 mouvements à la baisse dans l'échantillon, et 10 000 mouvements à la hausse. Et supposez que l'erreur de classification pour les mouvements ascendants est de 10%. Mais ces dix pour cent pour 10 000 exemples équivalent à 1 000 faux signaux classés comme prédisant des mouvements à la baisse et nous n'avons que 1 000 exemples avec des mouvements à la baisse dans l'échantillon. Cela signifie que quelle que soit la précision de la classification d'un mouvement à la baisse, pour toute réponse d'un classificateur prédisant qu'un futur mouvement est potentiellement à la baisse, son erreur sera d'au moins 50%. En d'autres termes, plus les exemples de l'échantillon d'apprentissage sont déséquilibrés pour une classe donnée, plus l'impact d'une classification erronée pour cette classe sur la qualité des réponses du classificateur pour une autre classe est important.

C'est pourquoi il est très difficile de prévoir les phénomènes rares : tremblements de terre, éruptions volcaniques, crises économiques, etc. Parce que si le phénomène est très rare et non représentatif dans l'échantillon, toute erreur pour des exemples de classes opposées devient excessive pour les phénomènes rares.

Par conséquent, un échantillon d'apprentissage doit être pré-équilibré afin qu'il contienne le même nombre d'exemples pour toutes les classes. Sinon, les classes peu représentatives sont plus susceptibles d'échouer aux tests en dehors de l'ensemble d'entraînement. En outre, lors de la division de l'échantillon général en parties d'entraînement et de test, il est nécessaire de mélanger les exemples en utilisant le PRNG avec une distribution de probabilité uniforme afin d'éviter l'entassement d'exemples avec des prédicteurs similaires dans une partie et des prédicteurs différents dans l'autre. C'est-à-dire éviter un déséquilibre dans les prédicteurs et pas seulement dans les variables dépendantes.

 
Yury Reshetov:

C'est ce qu'on appelle un échantillonnage déséquilibré et c'est un problème d'apprentissage automatique.

Pour être plus clair, laissez-moi vous donner un exemple. Supposons que nous ayons un échantillon d'apprentissage où les tendances à la hausse prédominent, ce qui signifie qu'il y a moins de tendances à la baisse que de tendances à la hausse, c'est-à-dire que nous avons un déséquilibre.

Supposons que nous ayons 1 000 mouvements à la baisse dans l'échantillon, et 10 000 mouvements à la hausse. Et supposez que l'erreur de classification pour les mouvements ascendants est de 10%. Mais ces dix pour cent pour 10 000 exemples équivalent à 1 000 faux signaux classés comme prédisant des mouvements à la baisse et nous n'avons que 1 000 exemples avec des mouvements à la baisse dans l'échantillon. Cela signifie que quelle que soit la précision de la classification d'un mouvement à la baisse, pour toute réponse d'un classificateur prédisant qu'un futur mouvement est potentiellement à la baisse, son erreur sera d'au moins 50%. En d'autres termes, plus les exemples de l'échantillon d'apprentissage sont déséquilibrés pour une classe donnée, plus l'impact d'une classification erronée pour cette classe sur la qualité des réponses du classificateur pour une autre classe est important.

C'est pourquoi il est très difficile de prévoir les phénomènes rares : tremblements de terre, éruptions volcaniques, crises économiques, etc. Après tout, si un événement est très rare et faiblement représenté dans l'échantillon, alors toute erreur pour des exemples de classes opposées devient excessive pour les événements rares.

Par conséquent, l'échantillon d'entraînement doit être pré-équilibré de manière à ce qu'il comporte le même nombre d'exemples pour toutes les classes. Sinon, les classes peu représentatives sont plus susceptibles d'échouer aux tests en dehors de l'ensemble d'entraînement. En outre, lors de la division de l'échantillon général en parties d'entraînement et de test, il est nécessaire de mélanger les exemples en utilisant le PRNG avec une distribution de probabilité uniforme afin d'éviter l'entassement d'exemples avec des prédicteurs similaires dans une partie et des prédicteurs différents dans l'autre. C'est-à-dire éviter le déséquilibre dans les prédicteurs et pas seulement dans les variables dépendantes.

Yury, j'ai compris. L'échantillonnage peut en effet être déséquilibré tant lors de la formation que lors de la validation. Mais en réalité, vous négociez l'avenir où le biais peut être très fort. Et la stratégie doit être résistante à une telle issue.
 
Yury Reshetov:


L'échantillon d'apprentissage doit donc être pré-équilibré, de sorte qu'il contienne des exemples de toutes les classes en nombre égal. Sinon, les classes peu représentatives sont plus susceptibles d'échouer aux tests en dehors de l'ensemble d'entraînement. En outre, lors de la division de l'échantillon général en parties de formation et de test, il est nécessaire de mélanger les exemples utilisant des PRGP avec une distribution de probabilité uniforme afin d'éviter l'entassement d'exemples avec des prédicteurs similaires dans une partie et des prédicteurs différents dans l'autre partie. C'est-à-dire éviter le déséquilibre dans les prédicteurs et pas seulement dans les variables dépendantes.

paquet de soins

Une paire de fonctions : downSample/upSample - diminue/augmente le nombre d'observations, pour obtenir des classes entièrement équilibrées. Le sous-échantillon et le suréchantillon sont basés sur un algorithme d'échantillonnage aléatoire simple.

PS.

Reshetov !

Commencez à étudier R. De plus en plus souvent, vous vous laissez aller à des platitudes.

 
SanSanych Fomenko:

Reshetov !

Commencez à étudier R. Tu glisses dans les platitudes de plus en plus souvent.

Je vais tout laisser tomber et devenir un adepte du R pour pouvoir jouer avec les chiffres avec un visage sérieux.
 
Alexey Burnakov:
Yuri, je comprends l'idée. L'échantillon peut en effet être déséquilibré tant en formation qu'en validation. Mais en réalité, vous négociez l'avenir où le biais peut être très fort. Et la stratégie devrait être résistante à un tel résultat.
Vous devez empêcher un éventuel sur-apprentissage, car c'est le seul moyen d'atteindre la stabilité. Et un échantillon d'entraînement déséquilibré est une cause potentielle de surentraînement pour les classes non représentatives. Après tout, l'algorithme d'apprentissage essaie d'agir comme il l'entend, et non comme il le doit pour augmenter la généralisabilité. Si l'échantillon n'est pas équilibré, il minimisera les erreurs d'apprentissage sur les classes les moins représentatives, car les exemples pour ces classes sont peu nombreux et il est plus facile de les apprendre par cœur plutôt que de généraliser. Après un tel apprentissage par cœur, il n'est pas surprenant qu'en dehors de l'échantillon d'entraînement, les erreurs d'algorithme soient plus susceptibles de se produire dans les classes les moins représentatives.
 

vous vous aveuglez sur les plages de dates ; - vous séparez les données exactement par date (avant le jour X - formation, après - validation)

Le point est simple. Dans le monde réel, personne ne vous permettra de prendre un échantillon mixte contenant des observations du futur et du passé pour évaluer la qualité d'une négociation réelle. Toutes les observations iront après le jour x.

Par conséquent, en prenant un échantillon mixte en validation (sans séparation des dates), vous surestimez la métrique de qualité en validation. C'est tout. Il y aura alors des surprises désagréables.

Raison: