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

 
Maxim Dmitrievsky #:

Qual é a forma correcta de utilizar os resultados do CV depois?

Eu otimizo hiperparâmetros do modelo (profundidade da árvore de treinamento ou número de exemplos na folha, número de árvores, etc.) e conjunto de dados (número de filas, combinações de características são possíveis)

Executo todas essas variantes e depois seleciono a melhor variante dos parâmetros do modelo e do conjunto de dados pelo melhor resultado total da avaliação a termo. Eu acho que a validação cruzada é pior, enquanto o rolamento para a frente é uma cópia do que vai acontecer na realidade: trocar por uma semana, reciclar por mais uma semana, reciclar novamente, etc.

pegar nos melhores parâmetros de modelo encontrados e depois treiná-los em todo o conjunto de dados

Não é lógico treinar em todo o conjunto de dados.
Qual é a melhor profundidade da história, devemos continuar treinando com a mesma profundidade. Meu modelo treinado N vezes em 50 000 linhas de M5 (quase um ano) pode mostrar 52% para a soma de todos os atacantes, se usarmos os mesmos parâmetros, mas com uma diferença apenas na profundidade da história, ou seja, 70 000 ou 30 000 linhas, será inferior a 50% para a soma de todos os atacantes.

A razão é que as folhas não vão conter os mesmos exemplos. As árvores podem ter mais ou menos folhas, etc. Eu acho que para conjuntos de dados de tamanhos diferentes você deve mudar a profundidade ou o número de exemplos na folha.

 
elibrarius #:

Eu otimizo os hiperparâmetros do modelo (profundidade do treinamento das árvores ou número de exemplos na folha, número de árvores, etc.) e conjunto de dados (número de linhas, combinações de características são possíveis)

Executo todas essas variantes e depois seleciono a melhor variante dos parâmetros do modelo e do conjunto de dados pelo melhor resultado total da avaliação a termo. A validação cruzada é pior na minha opinião, a validação cruzada é uma cópia de como será na realidade: trocada por uma semana - reconvertida, outra semana, outra reconvertida, etc.

Em todo o conjunto de dados - ilógico.
Qual é a melhor profundidade da história que tens, vais continuar a treinar com a mesma profundidade. Meu modelo treinado N vezes em 50 000 linhas de M5 (quase um ano) pode mostrar 52% da soma de todos os atacantes. Se usarmos os mesmos parâmetros, mas com uma diferença apenas na profundidade da história, ou seja, 70 000 ou 30 000 linhas, será menos de 50% da soma de todos os atacantes.

A razão é que as folhas não vão conter os mesmos exemplos. As árvores podem ter mais ou menos folhas, etc. Penso que para conjuntos de dados de diferentes tamanhos é necessário alterar a profundidade ou o número de exemplos na folha.

Bem, na minha opinião, o cv é necessário para avaliar a qualidade do conjunto de dados, não a robustez de um determinado modelo. Se o erro médio nas dobras k for aceitável, então podemos treinar um modelo neste conjunto de dados e ele será bom também. Podemos pedir a média dos parâmetros dos modelos utilizados para o cv.
 
Maxim Dmitrievsky #:
Bem, na minha opinião, o cv é necessário para avaliar a qualidade do conjunto de dados, não a robustez de um modelo em particular. Se o erro médio nas dobras k for aceitável, então podemos treinar o modelo neste conjunto de dados e ele será bom também. Você pode tomar emprestado os parâmetros médios dos modelos utilizados para cv.
A partir do conjunto de dados, vamos levar sempre diferentes pedaços. Vou otimizar tanto o conjunto de dados (número de linhas e características) quanto os parâmetros do modelo.
 
Aleksey Nikolayev #:

É provavelmente possível verificar cada observação do teste para ver se é um outlier em algum sentido relativo ao exame.

Isso é o que seria interessante de saber!

Meu ponto é que o mercado é volátil e cíclico, e em teoria qualquer modelo, assumindo que os eventos se repetem (caso contrário não adianta aprender), terá alta precisão em diferentes períodos de sua existência, e é provável que nas seções de teste haja simplesmente outro mercado, outra onda. O treinamento é feito sobre os padrões mais pronunciados, mas temos o direito de assumir que eles serão tão estáveis! Penso que a qualidade de um modelo depende dos preditores que descrevem padrões estáveis e, portanto, devemos treinar sobre aqueles exemplos que são típicos dos resultados em diferentes partes da amostra.

 
mytarmailS #:
Você pode fazer isso através de modelos de madeira...
Desdobrar o modelo em regras, analisar as regras para as estatísticas desejadas (repetibilidade, etc...), ver se a regra aparece nos novos dados...

O pacote "intrees" 5 linhas de código e vai

Há muito tempo que faço isto com folhas, mas não é bem a mesma coisa - não me permite detectar exemplos atípicos na amostra.

 
Vladimir Perervenko #:

PacoteNoiseFiltersR. Dê uma olhada no artigo.

Olhando para o artigo, tanto quanto sei este pacote não dá resultados significativos - aumento de cerca de 3%, mas é interessante - você pode explicar o princípio do seu trabalho?

 
elibrarius #:
Levaremos sempre diferentes pedaços do conjunto de dados. Eu otimizo tanto o conjunto de dados (número de linhas e características) quanto os parâmetros do modelo.

Esqueci-me, tem a cor/tipo da vela da hora actual?

 
Aleksey Nikolayev #:

Enquanto os preditores de ruído são mais ou menos claros, os exemplos de ruído não são tão bons. Eu gostaria de saber mais sobre como eles são definidos (em termos teóricos, não nomes de pacotes/funções utilizados, embora, é claro, há sempre referências a artigos em R). É claro que deve haver uma classe "não negociar" na classificação, já que esforçar-se para estar no mercado o tempo todo é considerado um erro. Mas não está muito claro como descrever correctamente esta aula de uma forma mais ou menos formal.

Há três opções para processar exemplos ruidosos: apagar, re-particionar (corrigir a marcação) e criar uma classe separada para exemplos ruidosos. Pela minha experiência, cerca de 25% da amostra é "ruído". A melhoria da qualidade é de cerca de 5%, depende dos modelos e da preparação dos dados. Eu aplico-o ocasionalmente.

Há outro problema quando se usam os preditores - a sua deriva. E este problema precisa ser identificado e levado em conta tanto nos testes quanto na operação. A tradução do artigo em anexo (procure por outros na rede) e há um pacote para os vagabundos. Não é o único. Mas a questão é que ao selecionar os preditores você precisa considerar não só a sua importância, mas também a sua deriva. No caso dos grandes drifters descarte ou transforme, no caso dos pequenos drifters leve-os em consideração (faça correções) ao testar e trabalhar.

Boa sorte.

Arquivos anexados:
Drift1.zip  2238 kb
 
Aleksey Vyazmikin #:

Esqueceu-se, está a apontar para a cor/tipo da vela de hora a hora actual?

A cor do castiçal, mesmo com um erro de 30%, pode ser uma cor perdida. Não sabemos quanto lucro podemos obter com isso... a cor é normalmente bem adivinhada nos movimentos lentos do preço (durante a noite), e 1 candelabro diário forte perdido pode valer 10 candelabros pequenos durante a noite. Eu acho que adivinhar a cor dos castiçais é novamente uma saída aleatória (devido às dimensões aleatórias).
Foi por isso que eu fiz a classificação com TP, SL. Se forem iguais, então 52% dos negócios bem sucedidos já são lucrativos. Se TP=2*SL. Então >33% dos negócios bem sucedidos serão rentáveis. O melhor que eu já tive foi 52-53% de sucesso em 2 anos com TP=SL. Mas em geral, estou a pensar em usar a regressão com TP/SL fixo. Mais precisamente, estou a pensar em fazer uma classificação baseada na regressão.
 

Não vou ao fórum há alguns anos e ainda lá está, como na canção: "O que foste, o que ficaste, águia estepe, cossaco afoito...".

A estatística começa com um axioma que, sendo um axioma, não é discutido:


"Lixo a entrar, lixo a sair".


Em princípio, não há e não pode haver métodos matemáticos que façam do lixo um doce. Ou um conjunto de preditores que PREVENDEM o professor, ou não há.

E os modelos não desempenham praticamente nenhum papel, nem as validações cruzadas e outras perversões computacionalmente intensivas.


PS.

A propósito, a "importância" dos preditores no modelo nada tem a ver com a capacidade de predizer o professor.

Razão: