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

 
Maxim Dmitrievsky:

Não entendo bem o que está nos números e qual é o problema.

Os números mostram o resultado financeiro (eixo y) do modelo ao escolher diferentes probabilidades para a classificação binária (eixo x). Utilizando uma amostra de teste, entendi que se deve sempre entrar no mercado quando aparece um sinal de ativação (o treinamento decide se entra ou não). O paradoxo é que a aprendizagem só causa deterioração do sinal básico de ativação e eu não teria visto isso, se não tivesse decidido ver como o resultado financeiro muda dependendo da mudança do ponto de classificação no segmento de probabilidade.

Maxim Dmitrievsky:

Eu próprio fiz muitas variantes de modelos, agora estou a tentar descobrir qual escolher para a monitorização :D ou para a melhorar ainda mais.

em suma... estas abordagens não alimentam a saída corretamente, seja em ziguezague ou algum outro absurdo

porque para cada dimensão da janela deslizante deve haver uma distribuição diferente da qual as negociações são feitas. Então o modelo se ajusta melhor, inclusive à amostra de teste. (enquanto que o ziguezague ou outros outputs são eles próprios muito deterministas, há poucos graus de liberdade para o encaixe) Este último é fazê-lo e isto é, a enumeração dos outputs é mais completa, e então não há realmente nada mais a fazer

para introduzir incrementos com diferentes desfasamentos, à maneira antiga, com auto-amostragem através de importadores e talvez através de PCA para se livrar da correlação, tais variantes de bots também feitas. Mas, em geral, a utilização do PCA é uma ideia imperfeita (embora, mais uma vez, o oposto esteja escrito na Internet). Não só as amostras precisam de ser centradas, como com novos dados estes componentes lentamente se transformam em escória.

Nós temos uma abordagem muito diferente do problema. Sou alheio a uma descrição puramente matemática do preço sem qualquer justificação real (padrões visualmente observáveis). Pelo contrário, eu aplico ZZ e vejo eficiências a partir dele (pedicuros em ZZ estão sempre no topo da lista em todos os pacotes MO). Acho que a combinação das duas abordagens poderia melhorar o resultado.

Selecionar modelos através do significado é um disparate - já mostrei antes que a remoção de diferentes preditores significativos no mesmo modelo pode melhorar os resultados da aprendizagem e formar relacionamentos novos, mais produtivos e estáveis nas folhas das árvores. Toda essa "importância" é um princípio ganancioso na construção de árvores, o que não é a priori correto, então eu preciso de métodos significativos separados para avaliação de preditores - eu ainda não os tenho.

 

Maxim Dmitrievsky:

Tudo isto dá algo assim, sem alarido, espera só 10 minutos:

a possibilidade de novas melhorias parece duvidosa, quando o modelo já funciona em mais de 100% dos comboios

talvez com um bom pedaço de gráfico/instrumento, você pode espremer mais dele.

Parece bom, mas o período do modelo é muito curto, como ele se comporta com dados de um ano?

 
Aleksey Vyazmikin:

Os números mostram o resultado financeiro (eixo y) do modelo ao escolher diferentes probabilidades para a classificação binária (eixo x). Na amostra de teste, cheguei à conclusão de que se deve sempre entrar no mercado quando o sinal de activação aparece (o treino decide se se deve ou não entrar no mercado). O paradoxo resultante é que a aprendizagem só causa deterioração do sinal básico de ativação e eu não teria visto, se não tivesse decidido ver como o resultado financeiro muda dependendo do deslocamento do ponto de classificação no segmento de probabilidade.

Nós temos uma abordagem muito diferente do problema. Sou alheio a uma descrição puramente matemática do preço sem qualquer justificação real (padrões visualmente observáveis). Pelo contrário, eu aplico ZZ e vejo eficiências a partir dele (pedicuros em ZZ estão sempre no topo da lista em todos os pacotes MO). Acho que a combinação das duas abordagens poderia melhorar o resultado.

Selecionar modelos através do significado é um disparate - já mostrei antes que a remoção de diferentes preditores significativos no mesmo modelo pode melhorar os resultados da aprendizagem e formar relacionamentos novos, mais produtivos e estáveis nas folhas das árvores. Toda essa coisa da "importância" é um princípio de ganância na construção de árvores, que não é a priori correto, então precisamos de métodos significativos separados para avaliar os preditores - eu ainda não os tenho.

como, importância deve ser olhada na amostra de teste, e finito na amostra de treinamento. Importações classicamente embutidas como gini sempre mentem, temos que fazer permutação (randomizar cada um dos preditores um por um e olhar para o erro do modelo), depois jogar os piores para fora. Você tem que se livrar de características correlatas de antemão, caso contrário as importações através de permutação também mentirão. Sem disparates, você tem o melhor modelo possível. Porquê tentar reinventar a roda se nada melhor foi inventado até agora.

 
Aleksey Vyazmikin:

Não parece mau, mas o período do modelo é muito curto, como se comporta com dados de um ano de idade?

15 minutos, eu só não ensino mais porque demora mais tempo a esperar.

Quanto ao gráfico de 15 minutos, apenas o fxsaber pode ter feito isso mesmo durante alguns anos :)

Eu tenho uma alavancagem sem ação, ou seja, nenhuma estratégia está embutida no modelo desde o início.
 
Aleksey Vyazmikin:

Estou olhando para um gráfico de lucro vs. número de árvores em um modelo (512 modelos)

e parece que os modelos com mais de 60 árvores têm menos probabilidades de se verter ou a amostra é pequena...

Aqui estão outros gráficos com diferentes números de árvores.

Amostra 7400 para todos, algoritmo rf

Número de árvores 50


Os erros diminuem à medida que o número de árvores cresce. Parece aumentar, de repente para zero.

Número de árvores = 150


Com 150 a precisão sobe mas muito modestamente - por um par de centésimos.

Aumentar o número de árvores




Conclusão: até 50 árvores, faz sentido aumentar o número de árvores, mas mais de 100 não faz sentido.

Sou demasiado preguiçoso para o fazer agora, mas estava a mudar o tamanho da amostra.

O tamanho da amostra até 1000 observações afeta muito a precisão do modelo. Mas após 5000 tamanhos de amostra NÃO afecta a precisão do modelo.


Daí eu concluo: o erro não é determinado pelo modelo ou seus parâmetros, mas pela combinação "preditores-alvos".

 
SanSanych Fomenko:

Vamos aumentar o número de árvores.

Daí eu concluo: o erro não é determinado pelo modelo ou seus parâmetros, mas pelo link "predictors-target".

50-100 árvores é recomendado inicialmente, não faz sentido criar tantos classificadores fracos, eu também não vi nenhuma melhoria.

monte carlo e os semelhantes para ajudar, sanSanSanych... construir maços não é uma coisa da mente humana, é apenas uma f... miolos
 
Maxim Dmitrievsky:

Bem, você precisa olhar as importações na amostra de teste, e encaixá-las na amostra de treinamento. Importações classicamente incorporadas como gini sempre mentem, devemos fazer permutação (randomizar cada um dos preditores um por um e olhar para o erro do modelo), depois descartar os piores. Você tem que se livrar de características correlatas de antemão, caso contrário as importações através de permutação também mentirão. Sem disparates, você tem o melhor modelo possível. Porquê inventar uma bicicleta se nada melhor foi inventado até agora.

Sinceramente, não entendo o método - estamos a falar de desligar os preditores do treino passo a passo e comparar os resultados com e sem este preditor? Então o que significa aleatorizar? Como decidir se é uma porcaria ou não - se o preditor permite dividir corretamente 1% da amostra e está na profundidade média da árvore - é bom ou ruim? Talvez seja necessário considerar a qualidade da construção da árvore com preditor radicular, como corta a amostra em cada nível - talvez seja necessária uma queda suave de gradiente... A bicicleta tem que inventar, porque o que está no domínio público não é o melhor do que existe, por exemplo, talvez devêssemos dividir a amostra não pelo máximo mas pela média ou por x-sigma ou o que quer que seja - talvez as regras sejam mais complexas, mas mais estáveis. A propósito, eu não entendo, por que não existe um método de treinamento, que utilizaria não só contadores numéricos para as divisões, mas também lógicos, comparando os preditores?

MaximDmitrievsky:

15 minutos, eu só não treino mais porque a espera é mais longa.

Não sei... acho que só o fxsaber conseguiu fazer um gráfico de 15 min. tão suave durante alguns anos :)

Eu tenho uma atitude perspicaz, ou seja, nenhuma estratégia está incorporada no modelo desde o início.

Você já tentou criar uma estratégia primitiva e treinar filtros para isso, que dessem ou recusassem a entrar no mercado?

 
Aleksey Vyazmikin:

Sinceramente, não entendo o método - estamos a falar de remover os palpiteiros do treino passo a passo e comparar os resultados com e sem este palpite? Então o que significa aleatorizar? Como decidir se é uma porcaria ou não - se o preditor permite dividir corretamente 1% da amostra e está na profundidade média da árvore - é bom ou ruim? Talvez seja necessário considerar a qualidade da construção da árvore com preditor radicular, como corta a amostra em cada nível - talvez seja necessária uma queda suave de gradiente... A bicicleta tem que inventar, porque o que está no domínio público não é o melhor do que existe, por exemplo, talvez devêssemos dividir a amostra não pelo máximo mas pela média ou por x-sigma ou o que quer que seja - talvez as regras sejam mais complexas, mas mais estáveis. A propósito, não entendo porque não existe um método de treino, que utilizaria não só contadores numéricos para as partições, mas também lógicos, comparando os preditores?

Você já tentou criar uma estratégia primitiva e treinar filtros para ela que permitam ou proíbam a entrada no mercado?

primeiro treinar o modelo com todas as características, salvar erros

depois randomize cada um dos preditores, digamos com uma distribuição normal, e verifique novamente o erro em todas as características, incluindo esta randomizada (alterada) e compare-a com a inicial. Não há necessidade de reeducar o modelo. E então verifica cada um dos prognosticadores. Se o preditor foi bom, o erro em toda a amostra (incluindo todos os outros preditores originais) aumentará drasticamente em comparação com o original. Salve as diferenças de erro, peneirando as melhores fichas com base nelas. Depois, no final, treinar apenas os melhores e modelo para a produção. Maus preditores são ruídos para o modelo, não precisam deles com o seu 1%. Os bons normalmente permanecem 5-10, a importância do resto diminui exponencialmente (lei Zipf).

Eu tentei ensinar filtros, mas não muito, não vejo muito sentido, é melhor colocar tudo em um modelo de uma só vez.

Se você puder, apenas sobre a seleção de preditores MUITO competente(já jogado anteriormente)

Beware Default Random Forest Importances
Beware Default Random Forest Importances
  • explained.ai
0.995 worst radius 0.995 mean perimeter 0.994 mean area 0.984 worst perimeter 0.983 worst area 0.978 radius error 0.953 mean concave points 0.944 mean concavity 0.936 worst concave points 0.927 mean compactness 0.916 worst concavity 0.901 perimeter error 0.898 worst compactness 0.894 worst texture 0.889 compactness...
 
SanSanych Fomenko:

Aqui estão os outros gráficos com diferentes números de árvores.

Amostra 7400 para todos, algoritmo rf

Número de árvores 50


O erro diminui à medida que o número de árvores cresce. Parece aumentar, de repente para zero.

Número de árvores = 150


Com 150 a precisão sobe mas muito modestamente - por um par de centésimos.

Aumentar o número de árvores




Conclusão: até 50 árvores, faz sentido aumentar o número de árvores, mas mais de 100 não faz sentido.

Sou demasiado preguiçoso para o fazer agora, mas estava a mudar o tamanho da amostra.

O tamanho da amostra até 1000 observações afeta muito a precisão do modelo. Mas após 5000 tamanhos de amostra NÃO afecta a precisão do modelo.


Daí a minha conclusão: o erro NÃO é determinado pelo modelo ou seus parâmetros, mas sim pela relação preditor-alvo.


Eu acho que pode haver um número diferente de árvores para florestas aleatórias e diferentes tipos de impulso, e o número depende da qualidade dos preditores e das situações, que podem ser diferentes para o mesmo alvo (como um exemplo - alvo 100 pontos de lucro de qualquer ponto). É interessante ver que combinações de folhas e com que frequência elas são usadas para tomar decisões - acho que esse é o tipo de informação que pode estimar melhor o modelo. E, outro problema é que é impossível submeter um modelo estacionário do mercado para testes e treinamento, o que significa que apenas uma parte do modelo treinado será usada em testes e o modelo tem que ser estimado por esta parte, enquanto a outra parte pode vir a ser muito melhor. E se o erro de classificação não for igual a um módulo de classificação correto (usamos uma rede de arrasto e reduzimos o custo do erro), a estimativa do modelo torna-se ainda mais complicada.

 
Maxim Dmitrievsky:

primeiro treinar o modelo em todas as características, salvar os erros

Depois, um a um, randomize cada um dos preditores, digamos por distribuição normal, e verifique novamente o erro em todas as características, incluindo esta randomizada (alterada), e compare-a com a inicial. Não há necessidade de reeducar o modelo. E então verifica cada um dos prognosticadores. Se o preditor foi bom, o erro em toda a amostra (incluindo todos os outros preditores originais) aumentará drasticamente em comparação com o original. Salve as diferenças de erro, peneirando as melhores fichas com base nelas. Depois, no final, treinar apenas os melhores e modelo para a produção. Maus preditores são ruídos para o modelo, não precisam deles com o seu 1%. Os bons normalmente permanecem 5-10, a importância do resto diminui exponencialmente (lei Zipf).

Eu tentei ensinar filtros, mas não muito, não vejo muito sentido, é melhor colocar tudo em um modelo de uma só vez.

Se você puder, apenas sobre a seleção de preditores MUITO competente(já jogado anteriormente)

Obrigado. A aleatorização deve ser os mesmos valores que para o preditor na amostra, certo?

No geral, entendo a abordagem, obrigado, preciso pensar como implementá-la e experimentá-la.

Infelizmente não consigo dominá-lo, por isso vou ouvir a tua paráfrase de vez em quando.

Mas mais uma vez, acho que isto não está muito certo, pois dependerá de quão perto da raiz o preditor está na árvore...