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

 
SanSanych Fomenko:

Tenho números semelhantes para a floresta e a Ada.

Agora, para voltar aos nossos "carneiros" - como descartar o ruído de uma lista arbitrária de preditores? Eu tenho algum algoritmo empírico que selecionou meus 27 preditores de 170. Também o usei para analisar os conjuntos de preditores de outras pessoas e também com sucesso. Com base nesta experiência, eu defendo que todos os métodos de R que usam variáveis de "importância" em seus algoritmos não conseguem limpar o conjunto preditor de ruído.

Apelo a todos os leitores do tópico: estou disposto a fazer a análise apropriada se os dados brutos forem apresentados como RData ou um arquivo Excel que não requer processamento.

Tirando isso.

Em anexo, anexei uma série de artigos que supostamente resolvem o problema de limpar o conjunto original de preditores do ruído, e com muito melhor qualidade. Infelizmente, não tenho tempo para experimentar de momento. Talvez alguém experimente e afixe o resultado?


Decidi ler o tópico primeiro (afinal não li). E depois surgiu uma série de questões, tais como:

1. o andaime é treinado num subconjunto aleatório de características, isso significa que as características não seleccionadas aleatoriamente para o treino serão rotuladas como "não importantes"?

2. O que fazer\ou compreender quando existem características categóricas e o andaime lhes dará menos importância do que características com mais categorias?

3. PCA em cada nova amostra não irá alocar "novos" componentes, que serão muito diferentes dos componentes da amostra de treinamento, como lidar com isso?

E uma última coisa: um método de eliminação de características recursivas ligeiramente diferente:http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/

O artigo tem links para artigos anteriores descrevendo andaimes também.

Selecting good features – Part IV: stability selection, RFE and everything side by side
  • 2014.12.20
  • blog.datadive.net
In this post, I’ll look at two other methods: stability selection and recursive feature elimination (RFE), which can both considered wrapper methods. They both build on top of other (model based) selection methods such as regression or SVM, building models on different subsets of data and extracting the ranking from the aggregates. As a wrap-up...
 
Maxim Dmitrievsky:

decidiu ler o tópico primeiro (afinal não li). E depois surgiu uma série de questões, tais como:

1. a floresta é treinada em um subconjunto aleatório de características, isso significa que características que não estão aleatoriamente em treinamento serão rotuladas como "não importantes"?

2. O que fazer\ou compreender quando existem características categóricas e o andaime lhes dará menos importância do que características com mais categorias?

3. PCA em cada nova amostra não irá alocar "novos" componentes, que serão muito diferentes dos componentes da amostra de treinamento, como lidar com isso?

E uma última coisa: um método de eliminação de características recursivas ligeiramente diferente:http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/

O artigo tem links para partes anteriores do artigo que descrevem também os andaimes.


Infelizmente, minha resposta pessoal não vai acrescentar nada ao que está escrito aqui ou em outra literatura sobre o assunto.

Há uma série de algoritmos para determinar a "importância" das características (regressão ou categoria não importa) - todos eles estão em R.

Passei muito tempo dominando-os, e no final descobri que a coisa PRIMÁRIA a fazer é se livrar de ruídos, irrelevantes para os atributos da variável alvo, e depois usar de R, o que dará uma redução de erro de 5-7%. Menos de 20% de erro não pôde ser alcançado.

Mais uma vez, observo que faço uma seleção de componentes importantes em cada barra, e no conjunto resultante reciclar a floresta.


Os números são os seguintes.

  • De várias centenas de preditores, seleccionei 27 preditores por critério de ruído, ou seja, "relevantes" para a variável alvo.
  • Selecionei de 27 em cada barra por critério de importância (RFE)
  • em 5-15 atributos obtidos eu aprendo a floresta. Esta lista muda o tempo todo dentro dos 27 utilizados.


Critério de qualidade desta abordagem: Eu pego dois arquivos, no primeiro eu ensino, treinamento, validação = aproximadamente o mesmo erro. Eu verifico o modelo obtido no segundo arquivo = aproximadamente o mesmo erro que no primeiro arquivo. Concluo com isto que o modelo não está sobretreinado e no futuro, pelo menos uma barra, se comportará da mesma forma que no treinamento.

Quaisquer outras abordagens não funcionam para mim, e substituir um tipo de modelo por outro não melhora nada em termos de requalificação.



Em relação ao PCA. Obtive um resultado negativo, no sentido de que a utilização dos componentes principais não reduziu o erro em comparação com o conjunto original. Eu não entendo porque foi assim, embora teoricamente deva reduzir os erros.

 
SanSanych Fomenko:

PCA é geralmente inútil quando se usa o modelo sobre traços heterogêneos, por exemplo, forex... na minha opinião. Eu acho inútil usar um modelo com atributos heterogêneos, por exemplo, forex.

se voltarmos para o andaime.

Eu terei que ir ao código fonte, ao que parece, para entender como são avaliados os traços que não entraram na amostra de treinamento, não é mencionado lá (muito provavelmente avaliado como ruim).

+ o processo de aprendizagem dos andaimes é aleatório, com vários treinamentos consecutivos podemos obter resultados diferentes, às vezes significativamente diferentes... também não é muito claro como trabalhar com este truque. Muito bem, se afinámos o modelo, guardamo-lo e usamo-lo mais tarde... mas se o modelo é auto-treino... precisamos de o treinar várias vezes seguidas, escolher o erro mínimo, algo do género... caso contrário, múltiplas corridas no testador produzem resultados diferentes, de acordo com as minhas observações até 5 ou mais, depois repetem-se/repetição para corridas subsequentes

 
Maxim Dmitrievsky:

PCA é geralmente inútil quando se usa o modelo sobre traços heterogêneos, por exemplo, forex... na minha opinião. Porque treinamos em alguns componentes, e no teste apareceu outra combinação de componentes, não levada em conta pelo modelo de forma alguma.

Se voltarmos para o andaime.

Eu terei que ir ao código fonte, ao que parece, para entender como são avaliados os traços que não entraram na amostra de treinamento, não é mencionado lá (muito provavelmente avaliado como ruim).

+ o processo de aprendizagem dos andaimes é aleatório, com vários treinamentos consecutivos podemos obter resultados diferentes, às vezes significativamente diferentes... também não é muito claro como trabalhar com este truque. Está bem, se afinámos o modelo, guardamo-lo e usamo-lo mais tarde... mas se o modelo é auto-formação... precisamos de o treinar várias vezes seguidas, seleccionar o erro mínimo, etc... caso contrário, quando há várias corridas no testador, obtemos resultados diferentes, de acordo com as minhas observações até 5 ou mais, então repetem-se/repetição para as corridas seguintes


Não me lembro das paixões que descreveste. Com a mesma semente, os resultados são consistentemente os mesmos.

 
SanSanych Fomenko:

Não me lembro das paixões que descreveste. Com a mesma semente, o resultado é sempre o mesmo.


O que faz a semente? Não me lembro... do número de características, certo? Eu uso alglib forest

 
inverte45:
Professor que não conhece a tabela de multiplicação e desenvolvedor de NS que não a impõe, soluções aleatórias e corretas - chega de despejar!

Eu apoio isso.

É só um abanão de ar ocioso. Lançar um exemplo, dados de teto, para que você possa verificar.

Existem três formas principais de formação: sem um professor (o alvo não é apresentado), com um professor (o alvo está totalmente marcado) e semisupervisionado (não sei como traduzi-lo correctamente). Isto é quando o modelo é apresentado com um alvo que não está totalmente (parcialmente) marcado. Todos os outros são do maligno.

Boa sorte.

 
Maxim Dmitrievsky:

O que faz a semente? Não me lembro... do número de características? Eu uso a floresta de algibeiras.

Vá lá...

set.seed define um gerador de números aleatórios para um determinado estado e tem um resultado reprodutível quando o cálculo é repetido.

Aprenda a sua matemática.

 
Vladimir Perervenko:

Vá lá...

set.seed ajusta o gerador de números aleatórios para um determinado estado e tem um resultado reprodutível quando o cálculo é repetido.

Aprenda a matemática.


Não tenho tal cenário, foi por isso que perguntei.

Também o posso fazer no MT5, obrigado.

 
Vladimir Perervenko:

Eu apoio isso.

É só um abanão de ar ocioso. Lançar um exemplo, dados de teto, para que você possa verificar.

Existem três formas principais de formação: sem um professor (o alvo não é apresentado), com um professor (o alvo está totalmente marcado) e semisupervisionado (não sei como traduzi-lo correctamente). Isto é quando o modelo é apresentado com um alvo que não está totalmente (parcialmente) marcado. Todos os outros são do maligno.

Boa sorte.

Bem, bem...) Se você conhece completamente o algoritmo e pode encontrar o alvo, então por que você precisa de NS? Você pode fazer tudo sem ele).

NS e outros DMs são necessários precisamente quando não se sabe.

Quanto aos algoritmos de aprendizagem, eles são desenvolvidos e modificados para cada tarefa específica. Principalmente com base no básico.

E o que estás a dizer é apenas a abanar o ar. Leia qualquer coisa além da introdução. )

Boa sorte.

 
Yuriy Asaulenko:

Bem, bem...) Se você conhece totalmente o algoritmo e pode encontrar o alvo, por que precisa de NS? Você pode fazer tudo sem ele).

Percebeste o que escreveste? O alvo não é encontrado, é predefinido como algo que o modelo deve aprender. De que algoritmo estás a falar?

NS e outros DMs são necessários precisamente quando não se sabe.

O que é que nós não sabemos?

Quanto aos algoritmos de aprendizagem, eles são desenvolvidos e modificados para cada tarefa específica. Baseiam-se, na sua maioria, nas básicas.

Estamos falando aqui de duas tarefas a serem resolvidas: regressão e classificação (omitindo agrupamento e classificação). Que outras "tarefas específicas" você tem em mente?

E o que você está falando é de agitar o ar. Leia qualquer coisa além da introdução. )

???

Boa sorte.