Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 1928

 
Aleksey Vyazmikin:

É assim que os recursos serão gerados - precisamos preparar um construtor sob a forma de regras básicas.

Por exemplo, descreva uma vez como um preço se comporta em um canal e depois apenas mude de canal, e assim por diante.

Entendo que isto faz parte das regras, se assim for, pode ser implementado.

 
Aleksey Vyazmikin:

Durante o agrupamento, muitas linhas foram alocadas para diferentes áreas, e foi gerado um mapa, que eu suponho que possa ser chamado através:

E depois pesando cada linha e atribuindo-a a um ou outro centro de agrupamento. Só não percebo como é que uma única fila é ponderada...


Este mapa é chamado de protótipos ou centros de agrupamento, novos dados são comparados com cada centro e obtém a etiqueta do centro mais próximo

Para cada função, há ajuda embutida, basta escrever "?" no console e nomear a função como "?Kmeans".

há sempre exemplos no fundo.

como preverhttps://stackoverflow.com/questions/53352409/creation-prediction-function-for-kmean-in-r


Decidiu olhar para as inversões significativas do mercado. U-turno significativo como alvo. Pensei que fosse o caos, mas não.

Qual é a regra para classificar uma reversão como significativa?

Joelho em ziguezague.


Então, muito interessante. Obrigado pela dica.

Podes partilhar o código para os bonecos?

Vladimir afixou o código. Você pode precisar aprender o básico, caso contrário você pode ter muitas perguntas e acrescentar pouca ajuda.


Obrigado, eu consegui descarregar o agrupamento.

.

 
Aleksey Vyazmikin:

Então como é o seu método melhor do que o meu - a recolha de folhas é essencialmente novos preditores derivados de dados existentes. Você só precisa construir árvores não só usando comparação, mas também transformação e combinação de níveis do alvo, em geral você pode implementar isso com base em uma árvore normal e arrastar as folhas de lá.

Se o seu método pode gerar tais regras como eu escrevi ao Maxim, nada.

 
mytarmailS:

Se o seu método pode gerar tais regras como eu escrevi ao Maxim, então nada

O meu método permitirá gerar não aleatoriamente, mas de forma significativa - mais rendimento, por assim dizer, mas com base numa árvore normal.

Em geral, quero dizer que podemos adicionar uma série de procedimentos de transformação ao algoritmo de árvore para treinamento, como comparar um preditor com outro, multiplicação, divisão, adição, subtração e outras operações. A questão é que durante a construção genética da árvore a variante será selecionada não ao acaso, mas dando alguma descrição da amostra, o que reduzirá o período de busca da solução. Lançando fora os preditores aleatórios da amostra, seremos capazes de construir árvores diferentes tendo em conta estas transformações.

 
Rorschach:
Em nenhum lugar você encontrou algum estudo sobre a melhor maneira de normalizar as entradas: incremental, ma de subtração, janela deslizante?

O que você quer dizer com "normalizar"? Trazer a distribuição da variável o mais próximo possível do normal?

 
Aleksey Vyazmikin:

O meu método permitirá gerar não aleatoriamente, mas de forma significativa - mais rendimento, por assim dizer, mas com base numa árvore normal.

Em geral, quero dizer que podemos adicionar uma série de procedimentos de transformação ao algoritmo da árvore durante o treinamento, como comparar um preditor com outro, multiplicação, divisão, adição, subtração, outras ações. A questão é que durante a construção genética da árvore a variante será selecionada não ao acaso, mas dando alguma descrição da amostra, o que reduzirá o período de busca da solução. Lançando fora os preditores da amostra ao acaso, seremos capazes de construir árvores diferentes levando em conta essas transformações.

Leia essa regra que eu dei como exemplo e tente construir um gerador de regras desse tipo na árvore.

 
Vladimir Perervenko:

O que você quer dizer com "normalizar"? Trazer a distribuição de uma variável o mais próxima possível do normal?

Trazendo o intervalo da variável para +-1

 
Vladimir Perervenko:

Na continuação de uma conversa pessoal

sua versão

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 simples

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

Como você pode ver os valores são bem diferentes, você mesmo pode verificá-los


No meu modelo

n_components = 1

portanto só uma coluna, mas isso não importa.

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

Meu, eles são diferentes cada vez que você corre umap_tranform, não deveria ser assim

 
mytarmailS:

Leia a regra que eu dei como exemplo e tente construir este tipo de gerador de regras na árvore.

Qual é o problema - criar componentes no início dos quais as regras serão empilhadas.

 
Aleksey Vyazmikin:

Qual é o problema - criar componentes no início para compor as regras.

Não sei, não consigo pôr o dedo na ferida.

Razão: