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

 
Aleksey Vyazmikin:

évaluation de l'oob (out of bag)

 
Maxim Dmitrievsky:

oob (out of bag) estimation

J'ai lu des informations sur cette méthode ici, à l'adresse https://habr.com/company/ods/blog/324402/, mais je ne voyais pas comment l'estimation pouvait affecter la recherche d'un modèle dans les données modifiées. Peut-être que je ne m'exprime pas correctement, mais voici un exemple simple dans un échantillon, nous avons, disons, un modèle comme celui-ci

"

1+2=3

...

1+2=3,5

...

1+2=3,8

...

1+2=3,5

...

1+2=3

"

"..." - n'est pas une période de temps définie après laquelle une règle change. Même si, idéalement, il y a un modèle de changement de règles. Comment peuvent-ils trouver cette régularité en disant qu'une règle sera modifiée dans n lignes d'échantillons et qu'ensuite n*x règles reviendront à leur état initial ? Et si la nature du changement de règle n'est pas seulement un intervalle de temps, mais l'influence d'autres circonstances dont les données sont dans l'échantillon, mais la régularité de leur influence ne peut être estimée que par la séquence des événements (c'est-à-dire par l'ordre dans lequel chaque ligne de données est soumise) ? Les forêts tirent des morceaux par différentes méthodes, comment peuvent-elles voir non seulement la régularité horizontale (ensemble de prédicteurs), mais aussi verticale (changement des prédicteurs par rapport au n passé) ?

 
Aleksey Vyazmikin:

Je répondrai plus tard dans la soirée... une envie soudaine de pizza et de blondie.

 
Maxim Dmitrievsky:

Je répondrai plus tard ce soir... J'ai soudainement envie de pizza et de blondie.

Le printemps - cela pourrait expliquer la soudaineté :)

Je vais attendre une réponse, merci de prendre le temps de poser mes questions probablement stupides.

 
Aleksey Vyazmikin:

Le printemps - peut expliquer la soudaineté :)

J'ai hâte d'avoir de vos nouvelles et je vous remercie de prendre le temps de poser mes questions probablement stupides.

Au contraire, de bonnes questions logiques, je me les suis posées récemment.

 
Aleksey Vyazmikin:

"..." - n'est pas une période de temps définie après laquelle une règle change. Même si, idéalement, il y a un modèle de changement de règles. Comment l'échafaudage peut-il trouver cette régularité disant qu'une règle sera modifiée en n lignes d'échantillon et qu'ensuite, en n*x lignes, la règle reviendra à son état initial ? Et si la nature du changement de règle n'est pas seulement un intervalle de temps, mais l'influence d'autres circonstances dont les données sont dans l'échantillon, mais la régularité de leur influence ne peut être estimée que par la séquence des événements (c'est-à-dire par la séquence de remplissage de chaque ligne avec des données) ? Les forêts tirent des morceaux en utilisant différentes techniques, comment peuvent-ils voir non seulement le modèle horizontal (ensemble de prédicteurs) mais aussi le vertical (changement dans les prédicteurs par rapport au passé n) ?

Eh bien, pas exactement un changement dans le modèle. Plutôt une approximation plus grossière. Si l'échantillon est suffisamment grand, par exemple, l'échafaudage est entraîné sur des sous-ensembles aléatoires, on en retire des morceaux, oui, et sur oob (les morceaux restants) le modèle est validé, et les erreurs sont comparées. Si les erreurs sont +- les mêmes, alors l'échafaudage n'est pas sur-entraîné, il y a donc une plus grande probabilité de prédictions correctes dans le futur. Si l'erreur sur oob n'est pas satisfaisante, nous pouvons jouer un peu avec les paramètres, par exemple réduire le sous-ensemble d'entraînement (ajouter plus de bruit au modèle) et augmenter le sous-ensemble de validation. En procédant ainsi, le modèle se rapprochera déjà moins bien des échantillons d'apprentissage, l'erreur sera plus grande, mais sur les nouvelles données, il y a une chance d'obtenir exactement la même erreur, c'est-à-dire que le modèle sera stable sur les deux sous-échantillons. Et comme les sous-échantillons eux-mêmes sont choisis de manière aléatoire, un grand nombre d'inconnues dans le sous-échantillon de formation sont couvertes. Évidemment, ce n'est pas la panacée, mais cela donne plus de souplesse au travail par rapport aux arbres simples. Idem pour les ensembles NS.

 
Maxim Dmitrievsky:

Eh bien, pas exactement un changement dans le modèle. Plutôt une approximation plus grossière. Si l'échantillon est suffisamment grand, par exemple, alors l'échafaudage est entraîné sur des sous-ensembles aléatoires, en en tirant des morceaux, oui, et sur oob (les morceaux restants) le modèle est validé, et les erreurs sont comparées. Si les erreurs sont +- les mêmes, alors l'échafaudage n'est pas sur-entraîné, il y a donc une plus grande probabilité de prédictions correctes dans le futur. Si l'erreur sur oob n'est pas satisfaisante, nous pouvons jouer un peu avec les paramètres, par exemple réduire le sous-ensemble d'entraînement (ajouter plus de bruit au modèle) et augmenter le sous-ensemble de validation. En faisant cela, le modèle se rapprochera déjà moins bien des échantillons d'apprentissage, l'erreur sera plus grande, mais sur les nouvelles données, il y a une chance d'obtenir exactement la même erreur, c'est-à-dire que le modèle sera stable sur les deux sous-échantillons. Et comme les sous-échantillons eux-mêmes sont choisis de manière aléatoire, un grand nombre d'inconnues dans le sous-échantillon de formation sont couvertes. Évidemment, ce n'est pas la panacée, mais cela donne plus de souplesse pour travailler, contrairement à ce qui se passe avec les arbres. Même chose pour les ensembles NS.

Eh bien, à peu près comme je le pensais, si primitivement, alors il y a simplement vérification des règles, sur l'échantillon de chaque arbre conditionnellement indépendant, et à cause de l'erreur de croisement est acheté, sur-entraînement, mais de la même manière sont coupés toutes les régularités temporelles, dont la causalité n'a pas pu être établie (et pour établir cette causalité il était possible seulement casually, si l'arbre a vérifié son résultat avec cet échantillon, où la régularité a été préservée).

Et si l'on découpe l'échantillon et que l'on s'entraîne sur de plus petits morceaux (disons que l'on découpe une année en 12 mois et que l'on prend 2 à 3 ans), puis, dans le cas de l'arbre, que l'on rassemble toutes les règles de chaque arbre ayant le plus de poids et qu'on les fait correspondre à 24 échantillons (si une règle fonctionne pour moins de x% de l'échantillon, on la jette), ne peut-on pas voir que différentes règles fonctionneront pour différentes périodes ? Nous pouvons alors faire l'hypothèse d'une cyclicité, ce qui doit être le cas sur les marchés financiers, en raison du calendrier (rapports financiers).

Par exemple, de nombreuses personnes parlent de l'analyse de corrélation comme d'une méthode préliminaire pour estimer les prédicteurs, mais lorsque je regarde le tableau, je ne comprends pas, la corrélation est faible, mais l'arbre donne plus de valeur à cet élément après sa construction. Pourquoi cela se produit-il ?


Si nous prenons un prédicteur nommé "arr_TimeH" et que nous y réfléchissons, il est évident que nous pouvons nous attendre à un comportement différent du marché à différents moments, par exemple à 10 heures du matin à l'ouverture de la bourse, il y aura un fort mouvement, car les informations (événements accumulés) depuis le moment de l'absence de négociation sont traitées, et à d'autres moments la situation peut être différente, les mêmes nouvelles planifiées peuvent être publiées, après quoi un fort mouvement du marché est très probable, d'autre part il y a une session du soir, où le mouvement change souvent par rapport au jour précédent, peut être moins amplitudinal, donc le temps est évidemment influencé. C'est pourquoi je pense que les méthodes MO devraient être utilisées pour le trading au lieu de se fier aux traditions déjà établies, y compris le prétraitement des données.


P. S. J'ai dessiné les tableaux dans Photoshop, je les ai cochés à volonté, afin de faire apparaître les couleurs, et j'ai été choqué quand j'ai vu que la couleur des cases à cocher coïncidait avec la couleur des échelles de signification - hausse du ton ! Comment est-ce possible ? Il s'avère que j'y ai prêté attention inconsciemment et que cela a influencé mon choix. Peut-être que les gens négocient intuitivement de la même manière, c'est-à-dire qu'ils utilisent un système dont ils ne se rendent pas compte.

 
Aleksey Vyazmikin:

Par exemple, de nombreuses personnes parlent de l'analyse de corrélation comme d'une méthode préliminaire d'évaluation des prédicteurs, mais lorsque je regarde le tableau, je ne comprends pas que la corrélation est faible, mais l'arbre donne plus d'importance à cet élément après sa construction. Pourquoi cela se produit-il ?

Peut-être que selon la combinaison de vos prédicteurs temporels (mois, semaine, jour, heure...) l'arbre se dirige simplement vers une certaine barre de BUY/SELL.

C'est comme mémoriser le temps des grandes barres et les utiliser pour trader de manière rentable sur l'historique, même si la corrélation de cet attribut avec le mouvement des prix sera presque nulle.

 
Ivan Negreshniy:

Peut-être qu'en combinant vos prédicteurs temporels (mois, semaine, jour, heure...), l'arbre va juste à une barre particulière d'achat/vente.

C'est comme mémoriser des barres de temps et les utiliser pour trader sur l'historique, même si la corrélation de cet attribut avec le mouvement des prix sera presque nulle.

Peut-être, mais il n'y a que deux prédicteurs - le jour de la semaine et l'heure, c'est-à-dire que nous pouvons obtenir 5*14=70 groupes avec cet attribut, alors que l'échantillon contient 403933 lignes, c'est-à-dire 5770 lignes tombent dans ce groupe, d'autre part, la cible 33000 lignes, c'est-à-dire 471 lignes cibles tombent dans chaque groupe. Et si nous tenons également compte du fait qu'il existe d'autres prédicteurs, nous aurons déjà beaucoup de groupes. C'est comme si on découpait une pomme en tranches, qu'on marquait les tranches et qu'on mettait dans un tableau les tranches qui présentent plus d'un trait que les autres, mais comme il y a beaucoup de tranches, il y aura des tranches avec un seul trait. La question se pose donc de savoir combien de prédicteurs doivent être utilisés pour une taille d'échantillon donnée. Quelle taille doivent avoir les tranches de pomme ?

Il existe un modèle en soi dans les jours et les heures, et il est influencé par des facteurs chronométriques - ouverture de la session de négociation, période des sessions de négociation, nouvelles (économiques/statistiques, qui sont généralement publiées à la même heure et le même jour de la semaine).

 
Aleksey Vyazmikin:

Peut-être, mais il n'y a que deux prédicteurs - le jour de la semaine et l'heure, donc nous pouvons obtenir 5*14=70 groupes par ce critère, et l'échantillon a 403933 lignes, donc le groupe obtient 5770 lignes, d'autre part la cible 33000, donc nous obtenons 471 lignes cibles pour chaque groupe. Et si nous tenons également compte du fait qu'il existe d'autres prédicteurs, nous aurons déjà beaucoup de groupes. C'est comme si on découpait une pomme en tranches, qu'on marquait les tranches et qu'on mettait dans un tableau les tranches qui présentent plus d'un trait que les autres, mais comme il y a beaucoup de tranches, il y aura des tranches avec un seul trait. La question se pose donc de savoir combien de prédicteurs doivent être utilisés pour une taille d'échantillon donnée. Quelle taille doivent avoir les tranches de pomme ?

Mais il existe un modèle en soi, et il est influencé par des facteurs chronométriques - ouverture d'une session de négociation, période des sessions de négociation, nouvelles (économiques/statistiques, qui sont généralement publiées à la même heure et le même jour de la semaine).

Maxim Dmitrievsky, comment résolvez-vous ce problème ?

En général, quelles sont les options ? Les morceaux de la pomme peuvent être différents.
Pour chaque ns de l'ensemble, ajoutez un contexte et utilisez ces contextes dans certains ns de contrôle ?
Par contexte, je veux dire, par exemple, un lien vers une définition de base, un concept, un prédicteur et plus quelques données...