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

 
Dr. Trader:

J'ai dessiné un graphique du R^2 et du pourcentage de cas gagnants en fonction du nombre de composants utilisés. Le meilleur résultat du fronttest a été obtenu avec 41 composants (gain d'environ 70%, très bon). Mais on ne peut pas le voir sur les graphiques de backtest, ils ne cessent de monter. Si nous nous basons sur l'importance des composants, nous aurions dû prendre 73, ce qui n'est pas le meilleur résultat du fronttest.

Le R^2 du fronttest peut être négatif même avec un gain >50%, en raison du déséquilibre des résultats requis, le nombre de classes "0" est différent de "1", donc leur moyenne n'est pas 0,5, et le R^2 est un peu plus mauvais à partir de là.

Utilisez la validation croisée pour choisir le nombre de composants. La meilleure valeur sur la validation croisée est ensuite vérifiée sur l'ensemble de validation.
 

Si c'est le cas, je joins mon jeu de données (classification binaire).

Il y a neuf paramètres d'entrée (au début) - tous informatifs - et un paramètre de sortie (dans la colonne la plus à droite).

Si le résultat est 1, alors la différence de prix d'ouverture de la barre suivante est positive, si 0, elle est négative.

La question qui nous intéresse est la suivante : lequel aura une meilleure capacité de généralisation que mon algorithme ?

Dossiers :
datasets.zip  21 kb
 
Yury Reshetov:

Comme c'est la première fois, je joins mon jeu de données.

Il y a neuf paramètres d'entrée (au début) - tous informatifs - et un paramètre de sortie (dans la colonne la plus à droite).

Si la sortie est 1, alors la différence de prix d'ouverture de la barre suivante est positive, si elle est 0, alors elle est négative.

Je suis intéressé par la question suivante : qui a une meilleure capacité de généralisation que mon algorithme ?

1. Comment est prouvée l'"informativité des prédicteurs" ?

2. Qu'est-ce que la "généralisabilité" ?

 
SanSanych Fomenko:

1. Comment prouver l'"informativité des prédicteurs" ?

2. Qu'est-ce que la "généralisabilité" ?

1. Une détérioration marquée de la généralité si au moins un prédicteur informatif est retiré de l'échantillon.

2. Voir la vidéo :


 
Yury Reshetov:

1. Détérioration marquée de la généralisabilité si au moins un prédicteur informatif est retiré de l'échantillon.

2. Voir la vidéo :


Yury, salut. Je vais essayer de voir vos données.
 
Alexey Burnakov:
Yuri, salut. Je vais essayer d'examiner vos données.

Salutations !

Si les données vous intéressent, je peux élaborer un script qui collecte les informations des graphiques et les écrit dans un fichier.

 
Yury Reshetov:

1. Détérioration marquée de la généralisabilité si au moins un prédicteur informatif est retiré de l'échantillon.

2. Voir la vidéo :


2. Voir la vidéo :

Désolé, mais c'est l'absurdité habituelle d'un étudiant diplômé non instruit à qui on n'a pas encore expliqué qu'en dehors de son bien-aimé, il y a beaucoup d'autres personnes qui non seulement savent tout, non seulement ont avancé beaucoup plus loin, mais l'ont mis en œuvre dans des algorithmes utilisés par des millions de personnes (si vous incluez les étudiants ici).

1. Une détérioration notable de la généralité si vous retirez au moins un prédicteur informatif de l'échantillon.

Croyez-moi, malheureusement, cela ne prouve rien. De plus, si l'ensemble des prédicteurs est mauvais (beaucoup de bruit), cet effet sera d'autant plus fort que le bruit sera important. Cela s'explique très simplement : plus il y a de bruit, plus il est facile pour l'algorithme de trouver une valeur "convenable".

En ce qui concerne le problème en général.

Il existe un nombre assez important d'algorithmes qui déterminent l'importance des prédicteurs pour une variable cible donnée. Ces algorithmes peuvent être divisés en deux groupes : ceux qui sont intégrés dans l'algorithme de construction du modèle et ceux qui existent de manière autonome. A mon avis et de l'avis des personnes sur la branche et sur le lien que j'ai cité ici, tous ces algorithmes souffrent d'un inconvénient commun : s'il y a un nombre critique de prédicteurs bruyants parmi les prédicteurs, l'algorithme cesse de fonctionner et de plus commence à écarter les prédicteurs qui sont pertinents pour la variable cible.

C'est pourquoi, ici, à la direction, nous essayons de nettoyer au préalable l'ensemble initial de prédicteurs, puis de travailler avec le reste des prédicteurs en utilisant des méthodes standard.

En ce qui concerne votre dossier.

1. Je n'ai pas réussi à construire 6 modèles de classification sur vos données : erreurs supérieures à 50%. Si vous voulez, je peux poster les résultats ici

2. La raison de ce résultat est que vous avez un très mauvais ensemble de prédicteurs - du bruit, c'est-à-dire des prédicteurs non pertinents pour la variable cible. Les prédicteurs 6, 7 et 8 ont un certain pouvoir prédictif, mais très faible. Je ne travaille pas avec de tels prédicteurs. Les autres ne sont que du bruit.

PS.

Si vous êtes vraiment intéressé par le sujet, faites attention. Une fois que vous l'aurez maîtrisé, vous apprendrez à ce gars intelligent de la vidéo. Caret dispose de près de 200 modèles + des fonctions de préparation très utiles + deux très bons algorithmes de sélection des prédicteurs.

PPSS.

Un jour, j'ai posté sur un forum ma vision de ce que signifie "le prédicteur est pertinent pour la variable cible".

Donc.

Prenons la variable cible : homme/femme.

Prédicteur : vêtements.

Si le prédicteur (vêtements) ne contient que des jupes et des pantalons, alors pour la population d'un certain nombre de pays, ce prédicteur sera pertinent à 100% pour la variable cible - inter-ambiguë. Mais les vêtements existent dans différentes variétés et dans une plus grande variété. Donc, pas 100%, mais moins. C'est-à-dire que nous obtenons qu'un ensemble de vêtements peut avoir une relation avec la variable cible, et qu'un autre peut en principe n'avoir aucune relation. C'est-à-dire le bruit. Le problème est donc de trouver de tels prédicteurs NON-bruit qui seront du bruit dans une fenêtre et pas dans une autre. Et quelle est la mesure de ce "bruit" ?

 
Yury Reshetov:

Salutations !

Si vous êtes intéressé par les données, je peux poster un script qui collecte les informations des graphiques et les écrit dans un fichier.

J'ai aussi une question. Faut-il construire un prédicteur sur un train et mesurer l'erreur sur un test ? Et nous pouvons le comparer avec votre résultat, non ?
 
Alexey Burnakov:
J'ai aussi une question. Devrais-je construire un prédicteur sur le train et mesurer l'erreur sur le test ? Et on peut le comparer à votre résultat, non ?
Mm-hmm.
 

Chers collègues, si vous avez le temps, pouvez-vous me poser des questions sous l'article ?https://habrahabr.ru/company/aligntechnology/blog/303750/.

Habr n'est pas du tout silencieux !

Методические заметки об отборе информативных признаков (feature selection)
Методические заметки об отборе информативных признаков (feature selection)
  • habrahabr.ru
Всем привет! Меня зовут Алексей Бурнаков. Я Data Scientist в компании Align Technology. В этом материале я расскажу вам о подходах к feature selection, которые мы практикуем в ходе экспериментов по анализу данных. В нашей компании статистики и инженеры machine learning анализируют большие объемы клинической информации, связанные с лечением...