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

 
Aleksey Nikolayev #:

Acho que a questão do que fazer com as caixas identificadas é complexa e dificilmente tem regras claras e inequívocas para todos os casos possíveis. Um algoritmo bom e bem pensado é provavelmente um "know-how" bastante secreto).

Se os casos forem obtidos com o mesmo conjunto de preditores, sua não interseção provavelmente será suficiente. Se houver uma interseção, ela poderá ser alocada em uma caixa separada, e seus complementos poderão ser divididos em várias caixas. Entretanto, um número muito grande de caixas fragmentará demais a amostra. Portanto, podemos generalizar a noção de uma caixa - na linguagem das regras, isso significa adicionar negações e OU a E.

Se as caixas forem obtidas em preditores completamente diferentes (por exemplo, pelo método de floresta aleatória), elas poderão se sobrepor somente no sentido das partes da amostra que se enquadram nelas. Algumas ideias próximas ao portfólio provavelmente são necessárias aqui.

Se os conjuntos de preditores se sobrepuserem parcialmente, então deve haver alguma mistura de abordagens, mas é difícil dizer com certeza.

Não está claro para mim como isso pode ser colocado em um esquema unificado. A maneira padrão de construir árvores de decisão contorna esses problemas de forma simples e "agradável", o que a torna não muito adequada para nossos objetivos. Talvez seja possível aprimorá-la selecionando um algoritmo de poda, mas, em minha opinião, é melhor reformular criativamente o algoritmo de construção de regras.

Conclusões mais inteligentes...

Os algoritmos prontos para uso têm apenas regras de aproximação, ou seja, são burros como o inferno, como:

X[1]>0,5 && X[3]> -0,2 &...

Eles têm apenas variáveis (colunas da matriz ou quadro X1.....X10) e limites abstratos (dígitos X[1]>0,5 ), que ele mesmo inventa no processo de aprender a criar limites nas aulas.

E o que dizer do trivial X1 > X2

ou a negação de X1 !> X2.

E quanto a X1> (X2*X3)?

E a vinculação a índices, que não funciona em um mercado não estacionário?


Estou me referindo à expressão: se houve "A", mas não houve "B", então "C".

Isso simplesmente não se aplica aos algoritmos prontos para uso.

O algoritmo é o mesmo, apenas cria centenas de regras e analisa a soma das probabilidades de classe. No mercado, nos preocupamos com eventos raros, portanto, precisamos mudar para o número de regras, não para o número de regras.

 

Gostaria de saber como o algoritmo de redução de dimensionalidade vê as amostras com diferentes tipos de dados com e sem normalização

Por exemplo, existem tipos de dados, string e dígitos.

q1           q2
1    c -1.630015623
2    c  1.781979246
3    b -0.598134088
4    a -0.611477494
5    b -0.347432530
6    b -0.474427356
7    e -1.048827859
.....

Primeiro, converto q1 em dígitos.

q1           q2
1    3 -1.630015623
2    3  1.781979246
3    2 -0.598134088
4    1 -0.611477494
5    2 -0.347432530
6    2 -0.474427356
7    5 -1.048827859

.... 

Feito

Agora enviamos para o algoritmo UMAP e obtemos os vetores próprios.

                  [,1]         [,2]
    [1,]   6.762433406   9.08787260
    [2,] -21.488330368  10.67183802
    [3,]   6.810413818   9.35273386
    [4,] -20.950310976  15.20258097
    [5,]  32.100723691  -9.74704393
    [6,]   6.892939805  16.84639975
    [7,] -17.096480607  -6.63144430

Visualize os pontos

Temos bons worms ))

Vamos tentar colorir os pontos com a variável q1.


Como podemos ver, a variável q1 cria a estrutura desses worms, ela meio que puxa a importância para si mesma, reduzindo a contribuição da variável q2.

Isso ocorre porque a variável q1 tem valores grandes e os dados não estão normalizados.

Se normalizarmos os dados, cada variável terá a mesma contribuição e obteremos

Entendo que para alguns participantes isso é meio óbvio, precisamos normalizar blá blá blá blá,

mas você já pensou que, ao aumentar ou diminuir a contribuição das variáveis, é possível controlar o agrupamento?

 
mytarmailS #:

visualizar os pontos


Parecem parasitas :)

 
mytarmailS #:

Mas você já pensou que, ao aumentar ou diminuir a contribuição das variáveis, o agrupamento pode ser controlado?

Sim, superestimando ou subestimando deliberadamente a importância.
Mas isso é uma arte, é difícil de analisar.
A situação é agravada pela não estacionariedade dos preços. Há muito tempo venho lutando com sinais: se você mudar a escala ou a normalização, as propriedades do modelo treinado mudam.
 
Maxim Dmitrievsky #:
com preços não estacionários, estou em guerra com os sinais há muito tempo.
Todos nós estamos lutando contra isso.
 
mytarmailS de redução de dimensionalidade vê as amostras com diferentes tipos de dados com e sem normalização

Por exemplo, há tipos de dados, strings e dígitos.

Primeiro converto q1 em dígitos

É melhor converter cadeias de caracteres em formato categórico em vez de numérico. É claro, se o seu UMAP puder processá-las.

a=1 não é 5 vezes diferente de e=5. Eles são apenas diferentes, como quente e macio. E ao digitalizá-los, você os tornou cada vez mais quentes.

 
elibrarius #:

a=1 não é cinco vezes diferente de e=5. Eles são apenas diferentes,

Hmm, sim, você está absolutamente certo, eu fui estúpido.

Você tem que fazer uma conversão de um quente ou algo assim.
 
Aleksey Nikolayev #:

Acho que a questão do que fazer com as caixas identificadas é complexa e dificilmente tem regras claras e inequívocas para todos os casos possíveis. Um algoritmo bom e bem pensado é provavelmente um "know-how" bastante secreto).

Se os casos forem obtidos com o mesmo conjunto de preditores, sua não interseção provavelmente será suficiente. Se houver uma interseção, ela poderá ser alocada em uma caixa separada, e seus complementos poderão ser divididos em várias caixas. Entretanto, um número muito grande de caixas fragmentará demais a amostra. Portanto, podemos generalizar a noção de uma caixa - na linguagem das regras, isso significa adicionar negações e OU a E.

Se as caixas forem obtidas em preditores completamente diferentes (por exemplo, pelo método de floresta aleatória), elas poderão se sobrepor somente no sentido das partes da amostra que se enquadram nelas. Algumas ideias próximas ao portfólio provavelmente são necessárias aqui.

Se os conjuntos de preditores se sobrepuserem parcialmente, então deve haver alguma mistura de abordagens, mas é difícil dizer com certeza.

Não está claro para mim como isso pode ser colocado em um esquema unificado. A maneira padrão de construir árvores de decisão contorna esses problemas de forma simples e "agradável", o que a torna não muito adequada para nossos objetivos. Talvez seja possível aprimorá-la selecionando um algoritmo de poda, mas, em minha opinião, é melhor reformular criativamente o algoritmo de construção de regras.

Bem, sem entender os detalhes, é difícil fazer alterações na lógica.

Eu, pessoalmente, não entendi o que são as duas coordenadas adicionais da caixa (2 - limites quânticos) - presumi que fosse um corte de amostra.

Estou apenas procurando algo útil para desenvolver meu método. Também tenho colagem de "caixas", mas o algoritmo não é perfeito.

 
Aleksey Vyazmikin #:

É isso aí, sem entender os detalhes é difícil fazer alterações na lógica.

Eu, pessoalmente, não entendi o que são as 2 coordenadas adicionais da caixa (2 - limites quânticos) - presumi que fosse um corte de amostra.

Só estou procurando algo útil para desenvolver meu método. Também tenho colagem de "caixas", mas o algoritmo não é perfeito.

Se estiver falando especificamente sobre o PRIM, então meu link acabou de dar um exemplo de como ele funciona para dois preditores x1 e x2. Dessa forma, uma caixa com o formato (a1<x1<b1)&(a2<x2<b2) é selecionada. O que fica fora da caixa é aparentemente considerado como pertencente a uma classe diferente da que está dentro. Houve uma tentativa de mostrar, por meio de um exemplo simples, a essência do algoritmo - cortar um pequeno pedaço (descascar) da caixa a cada etapa. Qual pedaço é cortado e por qual preditor é escolhido a partir da condição de otimização da etapa de "trajetória".

Eu estava interessado nesse algoritmo como um exemplo de como um algoritmo padrão para criar regras (para uma árvore de solução) pode e deve ser modificado para atender às necessidades de cada um.

 
Aleksey Nikolayev #:

Se estiver falando especificamente sobre o PRIM, meu link acabou de dar um exemplo de como ele funciona para dois preditores x1 e x2. Dessa forma, uma caixa com o formato (a1<x1<b1)&(a2<x2<b2) é selecionada. O que fica fora da caixa é aparentemente considerado como pertencente a uma classe diferente da que está dentro. Houve uma tentativa de mostrar, por meio de um exemplo simples, a essência do algoritmo - cortar um pequeno pedaço (descascar) da caixa a cada etapa. Qual pedaço é cortado e por qual preditor é escolhido a partir da condição de otimização da etapa de "trajetória".

Eu estava interessado nesse algoritmo como um exemplo de como um algoritmo padrão para criar regras (para uma árvore de solução) pode e deve ser modificado para atender às necessidades de cada um.

É bom que você tenha descoberto isso - eu não entendi a princípio, obrigado pelo esclarecimento.

Mas, então, verifica-se que o algoritmo no primeiro estágio deve encontrar pares de preditores que serão melhor separados em caixas e, em seguida, aplicar o "peeling" a eles.