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

 
Mihail Marchukajtes:

Le vrai point, cependant, est le suivant. S'il y a un mauvais fractionnement dans la section test, le fait que le fractionnement soit correct ou non n'a pas d'importance, le fait que le fractionnement soit faible. Si le modèle n'a pas fonctionné pendant plus de 50 % de l'intervalle d'apprentissage, alors le modèle est considéré comme surentraîné..... IMHO

A propos, vous vous souvenez, dans votre article sur les séquences, vous avez suggéré de compter plusieurs signaux à la suite, en les inversant... la superposition des signaux.

J'ai trouvé une solution intéressante pour implémenter quelque chose comme ça à travers la logique floue et l'intégrer dans le processus d'apprentissage... Je posterai quelque chose plus tard :)

 
Maxim Dmitrievsky:

Parfois le cerveau commence à se décomposer... à propos du bruit dans le forex, ce n'est pas un signal radio, n'est-ce pas ? D'où vient le bruit sur le marché des changes ?


Le concept de "bruit" sur le marché des changes a fait l'objet d'une discussion approfondie sur ce fil de discussion. Je l'ai fait moi-même ou je l'ai copié de quelqu'un d'autre - je ne me souviens pas, et cela n'a pas d'importance. En tout cas, j'ai posté des liens vers des articles similaires dans ce fil de discussion.

Selon moi, le "bruit" est tout ou partie du prédicteur qui n'a aucune relation avec la variable cible, une sorte de marc de café.


Je vais vous expliquer avec un exemple (je répète ce que j'ai écrit précédemment).


Prenons une cible qui se compose de deux classes : les hommes et les femmes.

Prenons un prédicteur : les vêtements.

Il n'y a que deux valeurs prédictives : les pantalons et les jupes. Dans certains pays, ce prédicteur a une capacité prédictive de 100%, c'est-à-dire que les jupes prédisent les femmes et les pantalons les hommes. Ce prédicteur n'a pas de bruit du tout. Erreur de classification = 0. Il n'y a pas de surentraînement.

L'exemple est tiré par les cheveux et le prédicteur "vêtements" peut contenir des vêtements portant le nom "unisexe". Pour nous, cela signifie que ces vêtements peuvent être portés aussi bien par des hommes que par des femmes, c'est-à-dire que pour notre variable cible, les vêtements "unisexes" n'ont AUCUN pouvoir prédictif - c'est ma compréhension du SHUM.

Si nous prenons un prédicteur qui a les valeurs "pantalon", "jupe" et "unisexe", alors "unisexe" sera une source d'erreur de classification. Si la proportion de vêtements "unisexes" est de 30%, alors on peut théoriquement obtenir une erreur d'apprentissage du modèle = 30%, mais sur un tel prédicteur, une erreur de 29% signifie un surentraînement du modèle de 1% !


Je l'utilise dans la pratique. Grâce à cela, j'ai pu sélectionner des prédicteurs pour une forêt aléatoire avec une erreur inférieure à 30%. Celui-ci n'est pas un modèle surentraîné. L'erreur est à peu près la même lors de la formation, sur les échantillons de test dans le même fichier et sur d'autres fichiers externes.

Que signifie réduire l'erreur dans mon exemple ? Il s'agit de trouver des prédicteurs dont les valeurs, les valeurs de bruit, seraient inférieures à ces 30%. Je n'ai pas réussi. Peut-être que quelqu'un réussira.

Mais sans cette analyse, l'utilisation de tout modèle de MO n'est qu'un exercice vide, un jeu intellectuel de chiffres sur le marc de café.


PS.

L'erreur ci-dessus ne dépend généralement pas du type de modèles. J'ai essayé différents échafaudages, variantes de l'ADA - à peu près la même chose. Mais NS, qui est nnet, donne un résultat nettement moins bon.

 
SanSan Fomenko:

J'ai discuté du concept de "bruit" sur le marché des changes de manière assez approfondie dans ce fil de discussion. Je ne me souviens pas si je l'ai inventé moi-même ou si je l'ai emprunté à quelqu'un d'autre, et cela n'a pas d'importance. En tout cas, j'ai posté des liens vers des articles similaires dans ce fil de discussion.

Selon moi, le "bruit" est tout ou partie du prédicteur qui n'a aucune relation avec la variable cible, une sorte de marc de café.


Je vais vous expliquer avec un exemple (je répète ce que j'ai écrit précédemment).


Prenons une cible qui se compose de deux classes : les hommes et les femmes.

Prenons un prédicteur : les vêtements.

Il n'y a que deux valeurs prédictives : les pantalons et les jupes. Dans certains pays, ce prédicteur a une capacité prédictive de 100%, c'est-à-dire que les jupes prédisent les femmes et les pantalons les hommes. Ce prédicteur n'a pas de bruit du tout. Erreur de classification = 0. Il n'y a pas de surentraînement.

L'exemple est tiré par les cheveux et le prédicteur "vêtements" peut contenir des vêtements portant le nom "unisexe". Pour nous, cela signifie que ces vêtements peuvent être portés aussi bien par des hommes que par des femmes, c'est-à-dire que pour notre variable cible, les vêtements "unisexes" n'ont AUCUN pouvoir prédictif - c'est ma compréhension du SHUM.

Si nous prenons un prédicteur qui a les valeurs "pantalon", "jupe" et "unisexe", alors "unisexe" sera une source d'erreur de classification. Si la proportion de vêtements "unisexes" est de 30%, il est théoriquement possible d'obtenir une erreur d'apprentissage du modèle = 30%, mais sur un tel prédicteur, une erreur de 29% signifierait un surentraînement du modèle de 1% !


Seulement, nous ne savons pas à l'avance dans quelle mesure ce prédicteur de bruit peut donner une erreur minimale, si dans des conditions réelles lors de la sélection des prédicteurs ... il suffit de trier ceux qui ne sont pas informatifs et c'est tout.

mais en général, cela semble être clair )

 
Maxim Dmitrievsky:

...il suffit de passer au crible les informations non pertinentes.


Il s'agit d'une profonde méprise : l'algorithme de minimisation des erreurs fonctionne, ce qui peut être compris de plusieurs manières différentes. Le bruit qui contient plus de diversité que le bruit NON est le plus approprié. L'algorithme récupère la mousse du marc de café.

 
SanSanych Fomenko:

Il s'agit d'une profonde méprise : l'algorithme de minimisation des erreurs fonctionne, ce qui peut être compris de plusieurs manières différentes. Le bruit qui contient PLUS de variété que le bruit NON est le plus approprié. L'algorithme récupère la mousse du marc de café.

Je voulais dire Jpredictor... il élimine les parasites tout seul.

Il s'agit donc plus d'expériences que d'une tentative de comprendre ce qui se passe là-bas.)

je veux essayer cette plateforme h2O, c'est juste une forêt avec du boosting... peut-être que tu as entendu ? les gens disent que c'est ok, avec mcroft's et xgbboost

https://www.h2o.ai/

 

Pour ceux qui ne l'ont pas vu, je vous recommande de consulter ce fil de discussion.

 
Vizard_:

Fa et Mishan ne sont pas des mineurs)))
Ça fera l'affaire pour se branler sur des perroquets. + LightGBM, + CatBoost.
Vous voulez obtenir une coupe un peu mieux - mettre python et tout sur GPU...

De nombreux paquets R fonctionnent parfaitement avec le GPU.

Avez-vous utilisé SatBoost ? Si intéressé.

Bonne chance

 
Maxim Dmitrievsky:
Je veux dire Jpredictor... il filtre les caractéristiques du bruit par lui-même.

Quoi qu'il en soit, ce sujet est plus destiné à l'expérimentation qu'à la compréhension de ce qui se passe ici.)

Je veux essayer cette plateforme h2O, c'est juste une forêt avec du boosting... peut-être que tu en as entendu parler ? les gens disent que c'est ok, avec mcroft's et xgbboost

https://www.h2o.ai/

Il est écrit en Java et utilise beaucoup de mémoire. Il ne fonctionne ni mieux ni moins bien que les paquets R similaires. Elle présente un inconvénient et un avantage - l'amélioration continue sans rétrocompatibilité.

Il est possible d'expérimenter, mais je ne le recommande pas pour le travail (IMHO).

Bonne chance

 
SanSanych Fomenko:

Il s'agit d'une profonde méprise : l'algorithme de minimisation des erreurs fonctionne, ce qui peut être compris de plusieurs manières différentes. Le bruit qui contient PLUS de variété que le bruit NON est le plus approprié. L'algorithme récupère la mousse du marc de café.

Le "bruit" et l'"overfitting" sont des jargons que chacun définit différemment. Intuitivement, nous comprenons la différence entre "appris" et "surajustement" - il est difficile de la traduire en langage programme. Je le définis simplement - le moment où l'erreur de test commence à croître et constitue le début du "surentraînement" (différent du "surajustement"). Si je le trouve, je vous enverrai un lien vers une discussion intéressante sur ce sujet sur le net anglophone.

Bonne chance

 
SanSanych Fomenko:

J'ai discuté du concept de "bruit" sur le marché des changes de manière assez approfondie dans ce fil de discussion. Je ne me souviens pas si je l'ai inventé moi-même ou si je l'ai emprunté à quelqu'un d'autre, et cela n'a pas d'importance. En tout cas, j'ai posté des liens vers des articles similaires dans ce fil de discussion.

Selon moi, le "bruit" est tout ou partie du prédicteur qui n'a aucune relation avec la variable cible, une sorte de marc de café.


Je vais vous expliquer avec un exemple (je répète ce que j'ai écrit précédemment).


Prenons une cible qui se compose de deux classes : les hommes et les femmes.

Prenons un prédicteur : les vêtements.

Il n'y a que deux valeurs prédictives : les pantalons et les jupes. Dans certains pays, ce prédicteur a une capacité prédictive de 100%, c'est-à-dire que les jupes prédisent les femmes et les pantalons les hommes. Ce prédicteur n'a pas de bruit du tout. Erreur de classification = 0. Il n'y a pas de surentraînement.

L'exemple est tiré par les cheveux et le prédicteur "vêtements" peut contenir des vêtements portant le nom "unisexe". Pour nous, cela signifie que ces vêtements peuvent être portés aussi bien par des hommes que par des femmes, c'est-à-dire que pour notre variable cible, les vêtements "unisexes" n'ont AUCUN pouvoir prédictif - c'est ma compréhension du SHUM.

Si nous prenons un prédicteur qui a les valeurs "pantalon", "jupe" et "unisexe", alors "unisexe" sera une source d'erreur de classification. Si la proportion de vêtements "unisexes" est de 30%, alors il est théoriquement possible d'obtenir une erreur d'apprentissage du modèle = 30%, mais sur un tel prédicteur, une erreur de 29% signifie un surentraînement du modèle de 1% !


Je l'utilise dans la pratique. Grâce à cela, j'ai pu sélectionner des prédicteurs pour une forêt aléatoire avec une erreur inférieure à 30%. Celui-ci n'est pas un modèle surentraîné. L'erreur est à peu près la même lors de la formation, sur les échantillons de test dans le même fichier et sur d'autres fichiers externes.

Que signifie réduire l'erreur dans mon exemple ? Il s'agit de trouver des prédicteurs dont les valeurs, les valeurs de bruit, seraient inférieures à ces 30%. Je n'ai pas réussi. Peut-être que quelqu'un réussira.

Mais sans cette analyse, l'utilisation de tout modèle de MO n'est qu'un exercice vide, un jeu intellectuel de chiffres sur le marc de café.


PS.

L'erreur ci-dessus ne dépend généralement pas du type de modèles. J'ai essayé différents échafaudages, variantes de l'ADA - à peu près la même chose. Mais nnet NS, en revanche, donne des résultats nettement moins bons.

Vous pouvez supprimer les exemples non pertinents, isoler les composants principaux ou indépendants, discrétiser enfin. Avez-vous prétraité les prédicteurs ? J'espère que les valeurs aberrantes ont été supprimées (pour les forêts, non critiques).

Vous avez l'air pessimiste.

C'est juste moi ?

Bonne chance