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

 
Aleksey Vyazmikin:

C'est ainsi que les caractéristiques seront générées - nous devons préparer un constructeur sous forme de règles de base.

Par exemple, décrivez une fois comment un prix se comporte dans un canal, puis changez simplement de canal, et ainsi de suite.

Je comprends que cela fait partie des règles, si c'est le cas, cela peut être mis en œuvre.

 
Aleksey Vyazmikin:

Lors de la mise en grappe, de nombreuses lignes ont été attribuées à différentes zones, et une carte a été générée, qui, je suppose, peut être appelée :

Puis on pondère chaque ligne et on l'affecte à l'un ou l'autre centre de cluster. Je ne comprends pas comment une seule rangée est pondérée...


Cette carte est appelée prototypes ou centres de clusters, les nouvelles données sont comparées à chaque centre et reçoivent l'étiquette du centre le plus proche.

Pour chaque fonction, une aide est intégrée, il suffit d'écrire " ?" dans la console et de nommer la fonction comme "?Kmeans".

il y a toujours des exemples en bas de page.

comment prédirehttps://stackoverflow.com/questions/53352409/creation-prediction-function-for-kmean-in-r


J'ai décidé de regarder les renversements de marché significatifs. Des demi-tours significatifs comme cible. Je pensais que ce serait le chaos, mais non.

Quelle est la règle pour classer une annulation comme significative ?

Genou en zigzag.


Donc, très intéressant. Merci pour le conseil.

Pouvez-vous partager le code pour les nuls ?

Vladimir a posté le code. Vous devrez peut-être apprendre les bases, sinon vous risquez d'avoir trop de questions et d'ajouter peu d'aide.


Merci, j'ai réussi à décharger le clustering.

.

 
Aleksey Vyazmikin:

En quoi votre méthode est-elle meilleure que la mienne - la collecte des feuilles est essentiellement constituée de nouveaux prédicteurs dérivés de données existantes. Il vous suffit de construire des arbres en utilisant non seulement la comparaison, mais aussi la transformation et la combinaison des niveaux de la cible. En général, vous pouvez mettre cela en œuvre sur la base d'un arbre ordinaire et faire glisser les feuilles à partir de là.

Si votre méthode peut générer des règles telles que celles que j'ai écrites à Maxim, rien.

 
mytarmailS:

Si votre méthode peut générer des règles comme celles que j'ai écrites à Maxim, alors rien...

Ma méthode permettra de générer non pas au hasard, mais de manière significative - plus de rendement, pour ainsi dire, mais sur la base d'un arbre régulier.

En général, je veux dire que nous pouvons ajouter un certain nombre de procédures de transformation à l'algorithme de l'arbre pour la formation, comme la comparaison d'un prédicteur à un autre, la multiplication, la division, l'addition, la soustraction et d'autres opérations. L'idée est que lors de la construction génétique de l'arbre, la variante ne sera pas choisie au hasard, mais en donnant une certaine description de l'échantillon, ce qui réduira la période de recherche de la solution. En jetant des prédicteurs aléatoires de l'échantillon, nous pourrons construire différents arbres en tenant compte de ces transformations.

 
Rorschach:
Nulle part vous n'avez trouvé d'études sur la meilleure façon de normaliser les entrées : incrémentale, soustraction ma, fenêtre glissante ?

Que voulez-vous dire par "normaliser" ? Amener la distribution de la variable aussi proche de la normale que possible ?

 
Aleksey Vyazmikin:

Ma méthode permettra de générer non pas au hasard, mais de manière significative - plus de rendement, pour ainsi dire, mais sur la base d'un arbre régulier.

En général, je veux dire que nous pouvons ajouter à l'algorithme de l'arbre un certain nombre de procédures de transformation pendant la formation, comme la comparaison d'un prédicteur à un autre, la multiplication, la division, l'addition, la soustraction, d'autres actions. L'idée est que lors de la construction génétique de l'arbre, la variante ne sera pas choisie au hasard, mais en donnant une certaine description de l'échantillon, ce qui réduira la période de recherche de la solution. En jetant au hasard des prédicteurs de l'échantillon, nous pourrons construire différents arbres en tenant compte de ces transformations.

lisez la règle que j'ai donnée en exemple et essayez de construire un générateur de règles de ce type dans l'arbre

 
Vladimir Perervenko:

Que voulez-vous dire par "normaliser" ? Amener la distribution d'une variable aussi proche de la normale que possible ?

Amener la plage de la variable à +-1

 
Vladimir Perervenko:

Dans le prolongement d'une conversation personnelle

votre version

umap_transform(X = X[tr,], model = origin.sumap, n_threads = 4 L, 
               verbose = TRUE) -> train.sumap
head(train.sumap)
[1,] 22.196741
[2,] 14.934501
[3,] 17.350166
[4,]  1.620347
[5,] 17.603270
[6,] 16.646723

variante simple

train.sumap <- umap_transform(X = X[tr,], model = origin.sumap, n_threads = 4 L, 
               verbose = TRUE)
head(train.sumap)
[1,] 22.742882
[2,]  7.147971
[3,]  6.992639
[4,]  1.598861
[5,]  7.197366
[6,] 17.863510

Comme vous pouvez le constater, les valeurs sont très différentes, vous pouvez les vérifier vous-même.


Dans mon modèle

n_components = 1

donc une seule colonne, mais cela n'a pas vraiment d'importance.

===================UPD

Mec, ils sont différents à chaque fois que tu exécutes umap_tranform, ça ne devrait pas être comme ça.

 
mytarmailS:

Lisez la règle que j'ai donnée en exemple et essayez d'intégrer ce type de générateur de règles dans l'arbre.

Quel est le problème - créer des composants au début desquels les règles seront empilées.

 
Aleksey Vyazmikin:

Quel est le problème ? Créer des composants au début pour établir les règles.

Je ne sais pas, je n'arrive pas à mettre le doigt dessus.