Algorithme pour combiner les plages d'un segment - aide à la création - page 7

 
Aleksey Nikolayev:

La question est hors sujet et plutôt philosophique. Se rend-on compte que l'approche de la classification par la division des attributs en segments implique une dépendance discontinue des sorties par rapport aux entrées ? En d'autres termes, il peut arriver qu'une transaction s'ouvre sur un ensemble d'attributs et ne s'ouvre pas sur un autre très, très proche du premier (ils sont proches de la frontière, mais de part et d'autre de celle-ci). Je ne dis pas que c'est une mauvaise approche. Je veux juste demander - y a-t-il une sorte d'intuition du trader derrière cela ou est-ce un choix arbitraire ?

Oui, c'est possible, en théorie. Cependant, la méthode de binning implique la construction d'un ensemble d'arbres consécutifs sur des prédicteurs différents, ce qui signifie que la bonne limite peut être sélectionnée pour un autre caractère (s'il y a une justification statistique), ainsi l'"erreur" est nivelée.

Aleksey Nikolayev:

Comme alternative possible, on peut proposer une classification au moyen de la régression logistique ou de la méthode du plus proche voisin. Là, la sortie peut être une estimation de la probabilité d'appartenir à une classe, qui peut, par exemple, être utilisée pour déterminer le volume de la transaction. Je n'insiste pas sur un algorithme particulier, je m'intéresse simplement à l'aspect du trader qui choisit un algorithme MO spécifique.

CatBoost donne également une estimation de la probabilité d'appartenance à une classe, mais d'après mon observation, c'est exactement le contraire - une plus grande confiance dans les observations rares qui ne se produisent pas assez souvent et cela conduit à leur surestimation, et sur un échantillon indépendant, cela conduira soit à une mauvaise classification, soit à une occurrence encore plus rare d'un indice élevé.

Pourquoi j'utilise CatBoost pour le trading :

1. algorithme rapide.

2. Un algorithme moderne et évolutif avec de nombreuses avancées en matière de MO dès la sortie de la boîte.

3. un moyen autonome d'appliquer le modèle dans MT5 sans Python et R.

 
Aleksey Vyazmikin:

La question ici est de savoir comment identifier "de nombreuses sections précieuses et des sections toxiques" - c'est-à-dire que vous devez identifier leur interchangeabilité, ou le faire en deux temps, comme je l'ai suggéré précédemment. Ou avez-vous une autre option ?

Je connais un moyen de le faire en deux passes seulement. D'abord nous faisons une carte, puis nous choisissons un chemin. Tout de suite, sans carte, vous pouvez aussi y aller, mais c'est beaucoup plus risqué, surtout quand il y a des ravins et des marécages sur le chemin, et que la boussole, les étoiles et le soleil sont absents).

La question est celle du coût de l'action et de la disponibilité des données initiales. Apparemment, vous devez fixer l'objectif à partir de là. Les conditions peuvent être différentes. Nous connaissons le nombre de points et de segments. Nous ne connaissons pas le nombre de segments, mais nous connaissons le nombre de points, nous ne connaissons pas le nombre de points et de segments, nous savons seulement qu'ils sont très nombreux. On sait que le nombre de segments partant d'un point est au plus égal à N.

En général, cette partie doit d'abord être formalisée.

 
Aleksey Vyazmikin:

Oui, c'est possible, en théorie. Cependant, la méthode du boosting implique la construction d'un ensemble d'arbres consécutifs sur différents prédicteurs, ce qui signifie que la bonne limite peut être choisie pour une autre caractéristique (s'il y a une justification statistique), de sorte que l'"erreur" est atténuée.

Parfois, on a l'impression qu'il ne s'agit pas du tout d'une erreur et la dépendance de la réponse aux attributs (dans nos problèmes) peut bienparfois sauter.

Aleksey Vyazmikin:

CatBoost donne également des estimations de la probabilité d'appartenance à une classe, mais d'après mes observations, c'est exactement le contraire - une confiance plus élevée dans les observations rares qui ne se produisent pas assez souvent et cela conduit à leur surestimation, et sur un échantillon indépendant, cela conduira soit à une classification erronée, soit à une occurrence encore plus rare d'un indicateur élevé.

Ce que je veux dire, c'est qu'un modèle entraîné pour chaque ensemble particulier de caractéristiques, au lieu de répondre "soit 0, soit 1", donnera la réponse sous la forme d'un nombre sur une échelle de 0 à 1. La régression logistique, par exemple, fonctionne de cette façon. Dans les forêts aléatoires, cela semble fonctionner de la même manière, mais je ne sais pas si c'est ce que vous voulez dire ou si vous voulez parler de métrique.

 
Dmitry Fedoseev:

Dimitri, aide-moi s'il te plaît, j'ai besoin de changer le tableau cut[] dans l'algorithme de int à float, mais le compilateur jette des erreurs.

 
Valeriy Yastremskiy:

Je ne connais qu'une méthode à deux passages. D'abord vous faites une carte, puis vous choisissez un chemin. Tout de suite, sans carte, vous pouvez aussi y aller, mais c'est beaucoup plus risqué, surtout lorsque des ravins et des marécages se trouvent sur le chemin, et sans boussole, étoiles et soleil).

L'obscurité totale attend les intrépides voyageurs :)

Valeriy Yastremskiy:

La question est celle du coût de l'action et de la disponibilité des données initiales. Apparemment, nous devons fixer l'objectif à partir de là. Les conditions peuvent être différentes. Nous connaissons le nombre de points et de segments. Nous ne connaissons pas le nombre de segments, mais nous connaissons le nombre de points, nous ne connaissons pas le nombre de points et de segments, nous savons seulement qu'ils sont très nombreux. On sait que le nombre de segments partant d'un point est au plus égal à N.

Cette partie doit donc d'abord être formalisée.

Nous connaissons le nombre de points et de segments de ligne au début de notre recherche, nous connaissons même le nombre maximum probable de segments de ligne que nous pouvons faire tenir dans un à 40 (si le segment contient au moins 5% de points de la même cible à deux options).

Le nombre réel de segments peut être différent pour la recherche - maintenant j'ai obtenu de 1 à 263, mais il peut y avoir des doublons.

 
Aleksey Nikolayev:

Parfois, on a l'impression qu'il ne s'agit pas du tout d'une erreur et la dépendance de la réponse par rapport aux caractéristiques (dans nos problèmes) peut bienparfois être sautillante.

Si nous parlons de toucher statistiquement un pourcentage plus élevé d'une des classes, alors oui, les sections voisines peuvent avoir une prédisposition différente à la cible. Je veux même essayer une transformation pour faciliter l'apprentissage, l'essence de la transformation serait de classer les segments selon le type d'appartenance à la cible et le degré de probabilité, ainsi le côté gauche serait les segments pour les zéros, et le côté droit pour les unités - au centre faiblement exprimé.

Aleksey Nikolayev:

Je veux dire que le modèle formé pour chaque ensemble particulier de caractéristiques, au lieu de répondre "soit 0 soit 1", donnera la réponse sous la forme d'un nombre sur un segment de 0 à 1. La régression logistique, par exemple, fonctionne de cette façon. Dans les forêts aléatoires, cela semble fonctionner de la même manière, mais je ne sais pas si c'est ce que vous voulez dire ou si vous parlez de métriques.

Voici le modèle CatBoost après la formation sur l'échelle de probabilité de l'axe x - la courbe bleue représente le nombre d'exemples, vous pouvez voir que leur nombre diminue.

Aqua est la classe 0 et magnetta est la classe 1. La courbe rouge représente les pertes, la courbe bleu clair les gains.

et voici le même modèle sur un échantillon indépendant.

Pensez-vous que la régression logistique aura une distribution différente ?

L'algorithme de régression logistique lui-même perd face à CatBoost sans réglage des paramètres.

 
Aleksey Vyazmikin:

Pensez-vous que la régression logistique aura une distribution différente ?

L'algorithme de régression logistique lui-même, sans réglage des paramètres, perd face à CatBoost.

Non, je ne parle pas de comparer les algorithmes dans la pratique. Je m'intéresse à une question philosophique : comment choisir un algorithme et l'entraîner correctement, en tenant compte du fait que les classes peuvent être a) clairement séparées les unes des autres, b) mélangées, c) un mélange des points a) et b). Pour (a), vous avez besoin d'une classification claire, pour (b), vous avez besoin d'une classification floue, et pour (c), vous devez les mélanger d'une manière ou d'une autre, mais pas les secouer.

Je devrais peut-être déplacer ma question vers le fil de discussion sur le ministère de la Défense.

 
Aleksey Nikolayev:

Non, je ne parle pas de comparer les algorithmes dans la pratique. Je m'intéresse à une question philosophique : comment choisir un algorithme et l'entraîner correctement en considérant que les classes peuvent être a) clairement séparées les unes des autres, b) mélangées, c) un mélange de (a) et (b). Pour (a), vous avez besoin d'une classification claire, pour (b), vous avez besoin d'une classification floue, et pour (c), vous devez les mélanger d'une manière ou d'une autre, mais pas les secouer.

Je devrais peut-être déplacer ma question vers le fil de discussion sur le ministère de la Défense.

Tout algorithme peut probablement s'accommoder d'une séparation claire. La question est de savoir quel algorithme peut le mieux allouer un sous-espace pour mettre en évidence les zones de classes mélangées.

Le problème du partitionnement dans le commerce est la validité douteuse du partitionnement - d'où la difficulté supplémentaire de la formation.

Je n'ai pas travaillé avec les nombreuses méthodes de MO actuellement disponibles, et je ne peux donc pas évaluer correctement leurs forces et leurs faiblesses.

 
Peut extrapoler l'espace dans le futur sous forme de grappes fractales .
 
Veniamin Skrepkov:
Peut extrapoler l'espace dans le futur sous forme de grappes fractales .

Pouvez-vous me montrer comment faire ?