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

 
Andrey Dik:
Vous semblez m'avoir mal compris. Je ne dis pas au filet où entrer, ni avec un zz, ni avec un autre indicateur. Un filet entraîné choisit lui-même où entrer.

Oh mec... Je ne comprends pas alors...

 
mytarmailS:

Qu'est-ce qui doit être corrélé avec quoi ? Comment faire ? Je ne comprends pas non plus.

Je pense que personne ne l'a fait ici, à part toi.)

Laissez-moi vous expliquer une fois de plus et vous encourager à vous renseigner sur la validation croisée imbriquée.

Voici un exemple de mon travail. Je construisais un modèle de régression pour prédire un paramètre technique dans un système très complexe.

Je passe en revue les paramètres d'apprentissage du modèle, je sélectionne le meilleur modèle sur les plis de test de la validation croisée, puis je le valide. J'ai sélectionné un total de 100 modèles dans le test (points sur le graphique). Ce sont les meilleurs modèles de l'échantillon test. Ce qui les différencie, c'est qu'ils utilisent des prédicteurs différents.

Vous pouvez voir que le modèle sous-entraîné sur le test s'avère être également sous-entraîné sur la validation. Le modèle entièrement formé sur le test et sur la validation est formé. L'état de surentraînement, lorsque les résultats sont élevés au test et faibles à la validation, n'existe pas du tout.

Nous avons une corrélation entre la performance des modèles sélectionnés sur le test et la performance sur la validation.

En faisant varier le nombre de prédicteurs, le modèle passe d'un sous-ajustement à un ajustement complet. Et cette croissance est commune à la fois aux données où le meilleur modèle est sélectionné et aux données où le meilleur modèle sélectionné est validé. Il y a de la cohérence !

En d'autres termes, je ne me suis pas contenté de choisir un modèle qui était le meilleur en validation (hors échantillon), mais j'ai formé plusieurs modèles, en les sélectionnant par test et en comparant les mesures de qualité en validation. Il s'agit d'une validation croisée imbriquée. Ce modèle n'est pas réentraîné. Je peux prendre le meilleur modèle en validation croisée et obtenir l'une des meilleures métriques hors échantillon.

Et si la variation de la performance du modèle sur le forex n'explique pas la variation de la performance du modèle sur la validation, alors ayant les échantillons sur lesquels nous sélectionnons le meilleur modèle (dans ce cas, la qualité moyenne sur les fautes de test de validation croisée), nous ne pouvons pas prédire la performance de la qualité hors échantillon.

Ainsi, en effectuant une sélection de modèle mais sans tester la procédure de sélection hors échantillon elle-même, nous ajustons un modèle.

Une image comme la mienne ressort sur des données stationnaires et cohérentes - elles contiennent des dépendances stables. À titre d'exemple, la surchauffe du capteur dégrade la valeur modélisée dans tous les cas, ce qui est expliqué physiquement.

Lors de la modélisation de séries chronologiques financières, j'ai déjà montré, avec 2 000 modèles sélectionnés, que leurs mesures de qualité sur les échantillons de test ne sont pas corrélées avec les échantillons de validation.

La validation croisée imbriquée implique l'entraînement multiple de différents modèles - ou de modèles avec différentes entrées ou paramètres - sur des échantillons d'entraînement uniques, suivi de tests. Pour chaque échantillon unique, le meilleur modèle est sélectionné. Il est ensuite testé à nouveau sur un échantillon de validation unique. Ce processus est répété plusieurs fois. Une couche externe de tests est nécessaire pour montrer que le modèle lui-même et sa procédure de sélection donnent des résultats cohérents en échantillon et hors échantillon.

Je l'ai fait remarquer à SanSanych, au Dr et à d'autres. Le docteur m'a compris. SanSanSanych n'a pas compris.

Ainsi, si nous obtenons cette image pour le forex ou tout autre marché financier, nous pouvons exécuter le meilleur modèle en termes de seuil de test en production.

 
Alexey Burnakov:

Permettez-moi de vous expliquer à nouveau et de vous encourager à vous renseigner sur la validation croisée imbriquée.

Voici un exemple de mon travail. Je construisais un modèle de régression, faisant une prédiction d'un paramètre technique dans un système très complexe.

Je passe en revue les paramètres d'apprentissage du modèle, je sélectionne le meilleur modèle sur les plis de test de la validation croisée, puis je le valide. J'ai sélectionné un total de 100 modèles dans le test (points sur le graphique). Ce sont les meilleurs modèles de l'échantillon test. Ce qui les différencie, c'est qu'ils utilisent des prédicteurs différents.

Vous pouvez voir que le modèle sous-entraîné sur le test s'avère être également sous-entraîné sur la validation. Le modèle entièrement formé sur le test et sur la validation est formé. L'état de surentraînement, lorsque les résultats sont élevés au test et faibles à la validation, n'existe pas du tout.

Nous avons une corrélation entre la performance des modèles sélectionnés sur le test et la performance sur la validation.

En faisant varier le nombre de prédicteurs, le modèle passe d'un sous-ajustement à un ajustement complet. Et cette croissance est commune à la fois aux données où le meilleur modèle est sélectionné et aux données où le meilleur modèle sélectionné est validé. Il y a de la cohérence !

En d'autres termes, je ne me suis pas contenté de choisir un modèle qui était le meilleur en validation (hors échantillon), mais j'ai formé plusieurs modèles, en les sélectionnant par test et en comparant les mesures de qualité en validation. Il s'agit d'une validation croisée imbriquée. Ce modèle n'est pas ré-entraîné. Je peux prendre le meilleur modèle en validation croisée et obtenir l'une des meilleures métriques hors échantillon.

Et si la variation de la performance du modèle sur le forex n'explique pas la variation de la performance du modèle sur la validation, alors ayant les échantillons sur lesquels nous sélectionnons le meilleur modèle (dans ce cas, la qualité moyenne sur les fautes de test de validation croisée), nous ne pouvons pas prédire la performance de la qualité hors échantillon.

Ainsi, en effectuant une sélection de modèle mais sans tester la procédure de sélection hors échantillon elle-même, nous ajustons un modèle.

Une image comme la mienne ressort sur des données stationnaires et cohérentes - elles contiennent des dépendances stables. À titre d'exemple, la surchauffe du capteur dégrade la valeur modélisée dans tous les cas, ce qui est expliqué physiquement.

Lors de la modélisation de séries chronologiques financières, j'ai déjà montré, avec 2 000 modèles sélectionnés, que leurs mesures de qualité sur les échantillons de test ne sont pas corrélées avec les échantillons de validation.

La validation croisée imbriquée implique l'entraînement répété de différents modèles - ou de modèles avec différentes entrées ou paramètres - sur des échantillons d'entraînement uniques, suivi de tests. Pour chaque échantillon unique, le meilleur modèle est sélectionné. Il est ensuite testé à nouveau sur un échantillon de validation unique. Ce processus est répété plusieurs fois. Une couche externe de tests est nécessaire pour montrer que le modèle lui-même et sa procédure de sélection donnent des résultats cohérents en échantillon et hors échantillon.

Je l'ai fait remarquer à SanSanych, au Dr et à d'autres. Le docteur m'a compris. SanSanSanych n'a pas compris.

Ainsi, si nous obtenons cette image pour le forex ou tout autre marché financier, nous pouvons exécuter le meilleur modèle en termes de segment de test en production.

Je ne comprends toujours pas, désolé.

Les erreurs de validation : sont-elles dans le même fichier que les erreurs de test ou la validation se fait-elle sur un tout nouveau fichier ?

PS.

Par validation croisée, j'entends l'algorithme suivant : le fichier est divisé, par exemple, en 10 fautes. Enseigner sur les 9 premiers, et valider sur les 10. Ensuite, ils enseignent sur 2-10 et valident sur 1 pli. Et donc ils déplacent la faute de validation. N'est-ce pas ?

 
SanSanych Fomenko:

Je ne comprends toujours pas, désolé.

Les erreurs de validation : sont-elles dans le même fichier que les erreurs de test ou la validation se fait-elle sur un tout nouveau fichier ?

PS.

Par validation croisée, j'entends l'algorithme suivant : le fichier est divisé, par exemple, en 10 fautes. Enseigner sur les 9 premiers, et valider sur les 10. Puis enseignement sur 2-10, et validation sur 1 pli. Et donc ils déplacent la faute de validation. N'est-ce pas ?

Oui.

Un cycle d'apprentissage avec validation croisée M1 sur 10 fautes, vous avez bien compris. Pour chaque combinaison de paramètres d'apprentissage : sur 9 fautes apprendre, sur un retard vérifier. Donc 10 fois. Nous obtenons la valeur moyenne de la métrique de qualité sur 10 plis. Appelons-le m1.

Répétons cette procédure N fois (en ajoutant toujours de nouvelles données à la formation et au test).

Validation croisée emboîtée :

Nous répétons M - N fois. Chaque cycle M est un échantillon d'entraînement unique. Nous obtenons m1, m2, . mn métriques de qualité obtenues pendant l'entraînement et la sélection des meilleurs modèles, tous sur des données différentes.

Couche extérieure. Chaque modèle M sélectionné est testé sur l'échantillon de validation unique. On obtient k1, k2, ... les tests de kn en dehors de l'échantillon.

Dessinons un graphique à points M vs. K. Nous obtenons une estimation de la façon dont un changement de la qualité du modèle sur la validation croisée prédétermine la qualité hors échantillon.

A propos de la sélection des prédicteurs. Si vous n'avez pas la possibilité d'obtenir une telle quantité de données, il suffit de donner à chaque cycle N du modèle un ensemble unique de prédicteurs. Vous vérifierez s'il existe une cohérence dans la performance du modèle en fonction des prédicteurs sélectionnés lors du test et de la validation. En gros, un modèle sous-entraîné sur le test devrait donner de moins bons résultats sur la validation également. Un modèle surentraîné sur le test donnera des résultats bien pires sur la validation.

 
Alexey Burnakov:


J'ai tué la moitié de l'année 15 sur cette illusion. La validation du modèle ne doit être effectuée que sur des données qui n'ont RIEN à voir avec la procédure de formation, de test et de validation. Je suis trop paresseux pour chercher les résultats des calculs pertinents. Mais à cause du hochet, qui fait comme vous l'écrivez, j'ai perdu une demi-année.

 
SanSanych Fomenko:

La validation du modèle ne doit être effectuée que sur des données qui n'ont RIEN à voir avec la procédure de formation, de test et de validation.

Brrrrr.

C'est ce qu'il est censé faire ! La validation se fait sur un échantillonnage différé (ou plutôt des échantillons, si l'on parle de l'approche imbriquée).

Quelle illusion ? Cette approche est en tout cas plus objective que l'ajustement d'un modèle à un échantillon.

 
Alexey Burnakov:

Brrrrr.

C'est comme ça que ça doit être ! La validation se fait sur un échantillon (ou plutôt des échantillons, si l'on parle de l'approche imbriquée) retardé.

Quelle illusion ? Cette approche est en tout cas plus objective que l'ajustement d'un modèle à un échantillon.

Vous êtes le mieux placé pour le savoir.

Ça marche pour moi. Si je supprime les prédicteurs de bruit, un modèle formé sur les données de juin fonctionnera sur les données de juillet, et lorsque je forme un modèle sur les données de juillet, l'erreur de cette formation sur les données de juillet sera la même que la prédiction que j'ai utilisée en juillet, sur le modèle formé en juin. C'est ce que j'appelle le manque de recyclage.

 
SanSanych Fomenko:

Vous êtes le mieux placé pour le savoir.

Tout fonctionne pour moi. Si je supprime les prédicteurs de bruit, le modèle formé sur les données de juin fonctionnera sur les données de juillet, et lorsque je formerai le modèle sur les données de juillet, l'erreur de cette formation sur les données de juillet sera la même que la prédiction que j'ai utilisée en juillet sur le modèle formé en juin. C'est ce que j'appelle le manque de recyclage.

Supposons que cela fonctionne en permanence et pas seulement sur un exemple de 2 mois, ce qui peut être un cas d'espèce.

Vous enseignez quoi, l'appartenance au genou en zigzag ? Je n'exclus pas que cette cible particulière apprenne régulièrement bien, mais le fait d'appartenir à un genou ne permet pas d'obtenir des données précises. C'est là le problème. Je peux prédire la volatilité de manière assez précise un jour à l'avance, mais cela ne me donnera rien en matière de négociation.

 
Alexey Burnakov:

Supposons que cela fonctionne en permanence et pas seulement pour un exemple de 2 mois, ce qui pourrait être un cas d'espèce.

Vous enseignez quoi, l'appartenance au genou en zigzag ? Je n'exclus pas que cette cible particulière apprenne régulièrement bien, mais le fait d'appartenir à un genou ne permet pas d'obtenir des données précises. C'est là le problème. Je peux prévoir avec précision la volatilité un jour à l'avance, mais cela ne m'apportera rien sur le plan commercial.

Les lacunes de l'objectif n'ont rien à voir avec la méthodologie de détermination du surentraînement des modèles. J'ai exécuté plusieurs ordres avec des cibles et des prédicteurs inconnus. Le résultat est le même partout si l'on supprime les prédicteurs de bruit.
 
SanSanych Fomenko:
La cible défectueuse n'a rien à voir avec la méthodologie permettant de déterminer l'overfitting du modèle.

Je pense que vous vous trompez. Les étiquettes bruyantes (zelevka) donnent une dissonance entre ce que vous voyez sur votre test et ce que vous verrez dans le futur. C'est pour de tels cas que toutes sortes d'artifices comme la validation imbriquée sont introduits. Il existe même des approches qui prouvent que, parmi plusieurs modèles alternatifs au test, vous devriez choisir celui qui est le plus mauvais.

Le résultat est le même partout si l'on supprime les prédicteurs de bruit.

Comment l'avez-vous déterminé ? Avez-vous suivi les performances de vos prédicteurs sur l'avenir alors inconnu ?

Raison: