L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 1277
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
J'ai compris cette méthode différemment.
Quoi qu'il en soit, les résultats de l'article sont impressionnants. Il est nécessaire de l'essayer en pratique.Pour le prédicteur étudié, vous ne voulez pas introduire des valeurs aléatoires avec une distribution normale, mais simplement mélanger les lignes de cette colonne.
mélangez-les, quelle différence cela fait-il ?
Alglib passe en revue tous les prédicteurs restants de 50%, les divise en 4 parties par quartiles, et choisit la division avec la meilleure erreur parmi tous les choix.
Les splits aléatoires ne sont en principe pas difficiles à trouver.
Je n'ai pas vu d'arbres individuels avec de bons résultats (45-50%), mais une forêt d'arbres est plus intéressante).
Je vois, c'est ce que je pensais, il y a donc de fortes chances que la division des racines soit la même dans la plupart des arbres, ce qui écarte d'autres options.
Je pars du principe que toute feuille n'est qu'une tentative de description d'un modèle, et que nous ne pouvons pas savoir à l'avance si la description sera correcte ou s'il s'agit d'une coïncidence aléatoire dans l'échantillon. C'est pourquoi je recrute des feuilles différentes et uniques (non répétitives) et les vérifie séparément, plutôt que l'arbre entier.
Alglib a une ramification excessive, donc il ne s'agit pas d'apprendre, mais de se souvenir. Je pense que l'échafaudage est une bonne idée, mais il fonctionnera correctement si chaque arbre contient des règles uniques (feuilles) et si le nombre de divisions n'est pas très grand - 4-10.
En termes d'importance des prédicteurs examinés :
Les paquets xgboost, lightGBM avaient des méthodes intégrées pour estimer l'importance des caractéristiques pour les "modèles en bois" :
Cette mesure montre la contribution relative de chaque caractéristique au modèle. Pour la calculer, nous allons à chaque nœud de l'arbre, regardons quelle caractéristique conduit à la séparation des nœuds et de combien l'incertitude du modèle est réduite selon la métrique (impureté de Gini, gain d'information).
Pour chaque caractéristique, sa contribution est additionnée sur tous les arbres.
Indique le nombre d'observations pour chaque caractéristique. Par exemple, vous avez 4 éléments, 3 arbres. Supposons que le fichier 1 comporte 10, 5 et 2 observations dans les nœuds 1, 2 et 3 de l'arbre respectivement, l'importance de ce fichier serait de 17 (10 + 5 + 2).
Indique la fréquence à laquelle une caractéristique donnée est trouvée dans les nœuds de l'arbre, c'est-à-dire que le nombre total de nœuds d'arbre divisés pour chaque caractéristique dans chaque arbre est compté.
J'ai une forêt entraînée pour 5 barres donne de meilleurs résultats dans le test qu'à 100. Mais lorsqu'ils sont formés par 100, les 5 premiers ne sont pas marqués comme importants, mais comme lointains.
Lors de l'entraînement à 100, l'erreur des arbres individuels et des forêts est plus faible - manifestement en raison du surentraînement et de l'importance accordée aux barres 30-100. Mais il est évident qu'ils ne sont pas importants selon la logique conventionnelle, mais par le fait que la forêt à 5 barres donne de meilleurs résultats.
Oui, avec une estimation importante, les approches standard ne sont pas très efficaces. Je veux essayer une sorte de score d'unicité, c'est-à-dire quand il y a déjà des feuilles prêtes, et que nous essayons de changer chaque prédicteur à tour de rôle par n'importe quel autre (en tenant compte du fractionnement de la grille), collecter les statistiques, et comparer la meilleure variante de remplacement avec la variante par défaut, considérer la précision ou un autre score (le concept est important), et ainsi collecter les scores pour chaque prédicteur pour l'ensemble du modèle.
Après un regard rapide sur le code, j'ai vu une sélection génétique de fonctionnalités pour construire un arbre à partir du paquet rpart. En d'autres termes, chaque arbre s'est vu offrir un ensemble différent de caractéristiques pour l'apprentissage. En raison de la génétique, cet ensemble de caractéristiques est plus rapide que la force brute complète.
Mais l'arbre n'est pas magique, c'est celui proposé par rpart. Je pense que c'est la norme là-bas.
L'arbre lui-même est complètement standard, l'idée originale du script est de trouver les prédicteurs les plus significatifs, et la génétique semble y contribuer.
Je ne comprends pas comment vous pouvez changer l'entropie en un autre indicateur (précision ou exhaustivité ou autre) pour créer une nouvelle génération.
J'ai regardé une conférence sur la ME il n'y a pas si longtemps, et il y avait une situation où un modèle fonctionne dans une gamme étroite de probabilité, mais pour les modèles de boosting, cela est considéré comme presque la norme, car le modèle ne sort pas essentiellement une probabilité pure, et en raison de ce fait, il y a le concept de calibrer un tel modèle pour des interprétations correctes des prédictions. Et j'ai connu une telle situation l'année dernière, lorsque des modèles donnaient leurs résultats dans la fourchette de 40 à 60, et on m'a assuré qu'il s'agissait d'une très mauvaise variante... J'avais des doutes car les modèles étaient stables et donnaient de bons résultats financiers.
J'ai regardé une conférence sur la ME il n'y a pas si longtemps, et il y avait une situation où un modèle fonctionne dans une gamme étroite de probabilité, mais pour les modèles de boosting, cela est considéré comme presque la norme, car le modèle ne sort pas essentiellement de la probabilité pure, et pour cette raison, il y a un concept de calibrage d'un tel modèle pour des prédictions correctes. Et j'ai connu une telle situation l'année dernière, lorsque les modèles donnaient leurs résultats dans la fourchette de 40 à 60 et qu'on m'assurait qu'il s'agissait d'une très mauvaise variante... J'avais des doutes, car les modèles étaient stables et donnaient de bons résultats financiers.
Alexei, disons que le taux d'erreur est de 99% - est-ce bon ou mauvais ?
Je comprends que le 1 % restant est la probabilité de réussite.
Pas beaucoup, mais c'est cool, car nous savons déjà où se trouve l'erreur et comment l'éviter.
Cela dit, le rapport est de 99k1Alexei, disons que la probabilité d'erreur est de 99 % - est-ce bon ou mauvais ?
Je suppose que les 1 % restants représentent la probabilité de succès.
C'est petit, mais cool, car nous savons déjà où se trouve l'erreur et comment l'éviter.
Une probabilité d'erreur aussi élevée nous indique que nous ne savons pas grand-chose sur ce qui se passe.
Il est assez précis et c'est une bonne chose, mais il est loin d'être un succès - 1% pourrait n'être qu'un coup de chance.
Et ça, c'est si on parle spécifiquement de probabilité.
Je vois, c'est ce que je pensais, il y a donc de fortes chances que la division des racines soit la même dans la plupart des arbres, ce qui écarte d'office les autres options.
Environ 50%. Mais ce paramètre peut être modifié, à n'importe quel moment, dans le cadre d'un autre appel de forêt.
Je veux essayer comme une évaluation d'une sorte d'indicateur d'unicité, c'est-à-dire quand il y a déjà des feuilles prêtes et que nous essayons de changer chaque prédicteur un par un à n'importe quel autre (en tenant compte de la division de la grille), recueillir des statistiques, et comparer la meilleure variante de remplacement avec la variante par défaut, considérer la précision ou un autre indicateur (le concept est important), et ainsi recueillir des points pour chaque prédicteur pour l'ensemble du modèle.
Quelque chose de similaire à la permutation que Maxim a trouvé. Mais cela a-t-il un sens de substituer un prédicteur avec une variation de 0,1 à 0,2 avec une variation de 800 à 300000 au lieu d'un prédicteur avec une variation de 0,1 à 0,2 ? Non !
Mais le brassage de ses lignes le fait. La gamme de nombres et la distribution de probabilité resteront inchangées, mais les valeurs de chaque exemple deviendront aléatoires.
Ce que je ne comprends pas, c'est comment on peut changer l'entropie en une autre valeur (précision ou exhaustivité ou autre) pour créer une nouvelle génération.
Certains packages R permettent d'utiliser leur fonction d'erreur. Xgboost le peut, mais là vous devez trouver une formule pour la dérivée de votre f-fi et l'alimenter avec. Pour moi, la dérivation est un problème. Regardez la description du paquet rpart, peut-être pouvez-vous utiliser vos fonctions là aussi, ou même sans dérivé.
Quelque chose de similaire avec la permutation que Maxim a trouvé. Mais cela a-t-il un sens de remplacer un prédicteur avec une variation de 0,1 à 0,2 par une variation de 800 à 300000 au lieu d'un prédicteur avec une variation de 0,1 à 0,2 ? Non !
Mais remanier ses rangs le fait. La gamme de nombres et la distribution de probabilité resteront inchangées, mais les valeurs de chaque exemple deviendront aléatoires.
J'ai écrit,"disonsn. spread". Trouvez la moyenne et la variance et allez-y. Il est préférable de randomiser par Bruit plutôt que de simplement mélanger.
Il y a beaucoup d'idiots ici qui aiment déformer les mots et faire des captures d'écran, pour essayer de s'imposer par la suite.
J'ai écrit,"supposonsune distribution n.". Naturellement, cela a du sens avec des traits normalisés. Trouvez la moyenne et la variance et allez-y.
Il y a beaucoup d'idiots ici qui aiment déformer les mots et en faire des captures d'écran, en essayant de s'affirmer par la suite.Mais la distribution de probabilité d'une distribution normale se situera au milieu (environ 0,5), alors que le véritable prédicteur peut être décalé latéralement, par exemple d'environ 0,8. Ou une sorte de selle entre 0,2 et 0,8, ou autre chose...
En remuant, vous préserverez également la distribution.
La normalisation aidera la gamme - c'est un oui.
Mais la distribution de probabilité d'une distribution normale se situera au milieu (environ 0,5), et le véritable prédicteur peut être décalé latéralement, par exemple d'environ 0,8. Ou une sorte de selle entre 0,2 et 0,8, ou autre chose...
En remuant, vous préserverez également la distribution.
Prenez la moyenne et la variance, lol, et ne vous inquiétez pas pour ça.
Prenez la moyenne et la variance, lol, et ne vous inquiétez pas pour ça.
c'est plus facile à mélanger)
Et pour le lien vers la méthode intéressante (permutation) - merci !