Regressão Bayesiana - Alguém já fez um EA usando este algoritmo? - página 51

 
Дмитрий:
E como você determina a "melhor" combinação?
Crossvalidação com 5 iterações. Mas não o habitual que seleciona exemplos aleatoriamente, mas um adaptado às séries temporais - com isolamento de exemplos por tempo. O blog descreve tudo isso.

O valor médio da métrica alvo sobre as 5 faltas de teste indica a melhor combinação de parâmetros de treinamento.

Em seguida, o modelo é treinado na amostra de treinamento completo e validado em outra amostra.
 
  • Estou me perguntando o que mais eu deveria mudar no experimento. Tentou mudar a lógica de indexação de casos para a validação cruzada, sem melhorias.
  • Pensando em levar os insumos a uma forma discreta.
  • Outra opção é descer de um modelo complexo para um modelo mais simples. Um modelo complexo é uma floresta de decisão acelerada. O mais simples são os modelos de regressão linear acelerada, onde os parâmetros de regularização também podem ser ajustados.
  • Mas a questão é que melhorar a precisão de 55% para 60% apenas mudando algo em termos de design é difícil.
  • Os modelos de comitês de construção também darão, na melhor das hipóteses, uma fração de uma melhora percentual. Demora mais tempo para desenvolver e treinar a arquitetura.
  • Há uma idéia de olhar para os preditores importantes e se eles estão frequentemente na borda da janela (724 minutos), então você poderia estender a janela para 1440 minutos por dia. Mas então o número de amostras será reduzido pela metade, porque as tomarei em 1440 +- aumentos aleatórios de prazo.
  • Também é possível prever outra meta, por exemplo, a quebra do nível de preços (Take Profit / Stop Loss) ou "direção" geral, por exemplo, o coeficiente de regressão linear.
Tudo leva tempo. Mas eu definitivamente dedicarei mais dois meses à experiência. Talvez algo venha à tona.
 
O problema básico é o da lista de preditores. Tendo justificado a lista de preditores, podemos passar para o resto.
 
СанСаныч Фоменко:
O problema básico é o da lista de preditores. Tendo justificado a lista de preditores, podemos passar para o resto.
Obrigado. Eu, também, estou inclinado a acrescentar mais preditores.
 
Alexey Burnakov:
Obrigado. Estou inclinado a acrescentar mais preditores também.
Você acha que o número de preditores que você usa não é suficiente?
 
Алексей Тарабанов:
Você acha que o número de preditores que você usa é insuficiente?
Não sei ao certo.

Ou os preditores disponíveis não trazem informações suficientes,
Ou as relações mudam muito com o tempo e a generalização diminui
Ou os próprios preditores mudam os parâmetros de distribuição ao longo do tempo.

Para o primeiro ponto, mais pode ser acrescentado, e a seleção dos melhores é sempre possível.
Nos outros pontos, o processamento de dados pode ajudar, mas não cem por cento.

Estou inclinado a uma combinação de todos esses fatores. A questão é que ainda na validação cruzada a precisão é de 55-60% e cai à medida que o horizonte de previsão aumenta. Portanto, os preditores também não dão muitas informações sobre a amostra de treinamento.

Isso se eu visse uma alta precisão no teste e ele cai acentuadamente na validação, com o experimento corretamente construído, de modo que as dependências são não-estacionárias.
 
Alexey Burnakov:
Não sei ao certo.

Ou os preditores disponíveis não trazem informações suficientes,
Ou as relações mudam muito com o tempo e a generalização diminui
Ou os próprios preditores mudam os parâmetros de distribuição ao longo do tempo.

Para o primeiro ponto, mais pode ser acrescentado, e a seleção dos melhores é sempre possível.
Nos outros pontos, o processamento de dados pode ajudar, mas não cem por cento.

Estou inclinado a uma combinação de todos esses fatores. A questão é que ainda na validação cruzada a precisão é de 55-60% e cai à medida que o horizonte de previsão aumenta. Portanto, os preditores também não dão muitas informações sobre a amostra de treinamento.

Isso se eu visse uma alta precisão no teste e ele cai drasticamente na validação, com a experiência construída corretamente, então as dependências não são estacionárias.
O mais provável é que o façam.
 
Alexey Burnakov:
Não sei ao certo.

Ou os preditores disponíveis não trazem informações suficientes,
Ou as relações mudam muito com o tempo e a generalização diminui
Ou os próprios preditores mudam os parâmetros de distribuição ao longo do tempo.

Para o primeiro ponto, mais pode ser acrescentado, e a seleção dos melhores é sempre possível.
Nos outros pontos, o processamento de dados pode ajudar, mas não cem por cento.

Estou inclinado a uma combinação de todos esses fatores. A questão é que ainda na validação cruzada a precisão é de 55-60% e cai à medida que o horizonte de previsão aumenta. Portanto, os preditores também não dão muitas informações sobre a amostra de treinamento.

Isso se eu visse que há alta precisão no teste e ela cai drasticamente na validação, com o experimento construído corretamente, então as dependências são não-estacionárias.

Eu já escrevi, vou dizer novamente.

Realizei o trabalho de seleção de preditores várias vezes, inclusive sob demanda. Os resultados são apresentados abaixo

Portanto.

Vamos pegar alguns palpitadores, não menos de 50, e melhor que uma centena.

Todos os conjuntos de preditores que lidei (isto é, não pretendo generalizar) podem ser divididos em duas partes:

  • a parte dos preditores que são relevantes para a variável-alvo
  • a parte dos preditores que nada tem a ver com a variável alvo - ruído

Escrevo "relação" com muito cuidado e de forma bastante deliberada não utilizo nenhum termo.

Exemplo de preditores:

  • ondulação - NÃO está relacionada com a variável-alvo ZZ
  • O desvio de preço da raspka é relevante para a variável-alvo ZZ

Favor observar que estou especificando a variável alvo. Para a outra variável-alvo, pode ser o contrário

O problema de ter esses dois grupos de preditores no conjunto original de preditores é que as ferramentas padrão para determinar a IMPORTÂNCIA não funcionam. Portanto, algumas ferramentas são necessárias, e eu as desenvolvi e utilizo, o que permite a peneirada grosseira dos preditores de ruído. Deve-se notar que não há aqui nenhuma ambiguidade. O algoritmo quantifica separadamente para preditores válidos e nominais. Menos de 2 (algum valor relativo) é ruído, com certeza. Entre 2 e 3: pode ser usado, mas é melhor não....

O problema com o ruído é que os preditores relevantes para os preditores de ruído não são relevantes para eles. Por exemplo, a floresta aleatória, ada, algoritmos svm, por alguma razão, constroem o modelo mais sobre estes preditores de ruído.

Depois de ter selecionado os preditores ruidosos, e em meus conjuntos havia cerca de 80%(!), pegamos o resto da lista de preditores e a ela começamos a aplicar as ferramentas de R para determinar a importância das variáveis. O número real de preditores usados para treinar o modelo é cerca da metade dos preditores de ruído NOT, ou seja, cerca de 10% do conjunto original.

Eu determino a importância dos preditores na janela. À medida que a janela se move, a lista de preditores a partir dos 20% básicos muda o tempo todo. Isto é, 12-15 preditores são usados para construir o modelo, mas eles são diferentes conforme a janela se move seguindo a citação.

Qual é a razão?

Bem, a questão é que a limpeza do conjunto de preditores de ruído leva à criação de modelos que NÃO são retrabalhados.

Em números.

Em um conjunto completo de preditores é possível construir modelos com erro de previsão de 3%-5%! E quaisquer algoritmos que dividem a amostra em partes, os chamados "out-of-sample" - OOV, confirmam este resultado. Isto é muito bem visto no raatle, que sempre divide a amostra original em partes e está muito satisfeito com os resultados.

Mas.

Se a amostra inicial contém preditores de ruído, então se pegarmos um "fora da amostra" real, isto é, por exemplo, a amostra para treinamento de 01.06.2015 a 01.01.2016, e depois calcularmos na amostra após 1 de janeiro, podemos facilmente obter um erro de 50% e 70% ao invés de 3%-5%! Além disso, quanto mais longe de 1 de janeiro, pior será o resultado.

MODELO É REQUALIFICADO

Se eu limpar o conjunto original de preditores de ruído, os resultados são os seguintes e os mesmos para floresta aleatória, ada SVM assim como vários outros modelos - ou seja, o modelo não resolveu nada em meus casos, os resultados são: o erro de predição é de cerca de 30% em qualquer conjunto. Aplicando as ferramentas de previsão da importância do R, podemos reduzir ainda mais o erro para cerca de 25%. Não foi possível melhorar este resultado para a variável-alvo ZZ.

 
СанСаныч Фоменко:

Eu já escrevi, vou dizer novamente.

Fiz o trabalho de selecionar os preditores várias vezes, inclusive em comissão. Os resultados são apresentados abaixo

Portanto.

Vamos pegar alguns palpitadores, não menos de 50, e de preferência mais de uma centena.

Todos os conjuntos de preditores que lidei (isto é, não pretendo generalizar) podem ser divididos em duas partes:

  • a parte dos preditores que são relevantes para a variável-alvo
  • a parte dos preditores que nada tem a ver com a variável alvo - ruído

Escrevo "relação" com muito cuidado e de forma bastante deliberada não utilizo nenhum termo.

Exemplo de preditores:

  • ondulação - NÃO está relacionada com a variável-alvo ZZ
  • O desvio de preço da raspka é relevante para a variável-alvo ZZ

Favor observar que estou especificando a variável alvo. Para a outra variável-alvo, pode ser o contrário

O problema de ter esses dois grupos de preditores no conjunto original de preditores é que as ferramentas padrão para determinar a IMPORTÂNCIA não funcionam. Portanto, algumas ferramentas são necessárias, e eu as desenvolvi e utilizo, o que permite a peneirada grosseira dos preditores de ruído. Deve-se notar que não há aqui nenhuma ambiguidade. O algoritmo quantifica separadamente para preditores válidos e nominais. Menos de 2 (algum valor relativo) é ruído, com certeza. Entre 2 e 3: pode ser usado, mas é melhor não....

O problema com o ruído é que os preditores relevantes para os preditores de ruído não são relevantes para eles. Por exemplo, os algoritmos de floresta aleatória, ada e svm, por alguma razão, constroem o modelo mais sobre estes preditores de ruído.

Depois de ter selecionado os preditores ruidosos, e em meus conjuntos havia cerca de 80%(!), pegamos o resto da lista de preditores e a ela começamos a aplicar as ferramentas de R para determinar a importância das variáveis. O número real de preditores usados para treinar o modelo é cerca da metade dos preditores de ruído NOT, ou seja, cerca de 10% do conjunto original.

Eu determino a importância dos preditores na janela. À medida que a janela se move, a lista de preditores a partir dos 20% básicos muda o tempo todo. Isto é, 12-15 preditores são usados para construir o modelo, mas eles são diferentes conforme a janela se move seguindo a citação.

Qual é a razão?

Bem, a questão é que a limpeza do conjunto de preditores de ruído leva à criação de modelos que NÃO são retrabalhados.

Em números.

Em um conjunto completo de preditores é possível construir modelos com erro de previsão de 3%-5%! E quaisquer algoritmos que dividem a amostra em partes, os chamados "out-of-sample" - OOV, confirmam este resultado. Isto é muito bem visto no raatle, que sempre divide a amostra original em partes e está muito satisfeito com os resultados.

Mas.

Se a amostra inicial contém preditores de ruído, então se pegarmos um "fora da amostra" real, ou seja, por exemplo, a amostra para treinamento de 01.06.2015 a 01.01.2016, e depois calcularmos sobre a amostra após 1º de janeiro, podemos facilmente obter um erro de 50% e 70% ao invés de 3%-5%! Além disso, quanto mais longe de 1 de janeiro, pior será o resultado.

MODELO É REQUALIFICADO

Se eu limpar o conjunto original de preditores de ruído, os resultados são os seguintes e os mesmos para a floresta aleatória, ada SVM assim como vários outros modelos - ou seja, o modelo não resolveu nada em meus casos, os resultados são os seguintes: o erro de predição é de cerca de 30% em qualquer conjunto. Aplicando as ferramentas de previsão da importância do R, podemos reduzir ainda mais o erro para cerca de 25%. Não foi possível melhorar este resultado para a variável-alvo ZZ.

Obrigado.

Estou vendo o que você está pensando. De tudo isso, vi uma possibilidade de calcular a importância dos preditores em várias partes da amostra de treinamento, depois comparar as listas e selecionar duplicatas.

Não posso dizer nada sobre a seleção manual, prefiro usar a máquina imediatamente.

SZZ: Vou tentar aplicar meu método homebrew, baseado na função de informação mútua, além da importância das variáveis da floresta de decisão. Mostrarei os resultados mais tarde.

 
СанСаныч Фоменко:


O problema com o ruído é que os preditores relativos ao ruído obstruem os preditores não relacionados a ele. Por exemplo, os algoritmos de floresta aleatória, ada e svm, por alguma razão, constroem o modelo mais sobre estes preditores de ruído.


Pergunta: a SVM é responsável pelas interações entre as variáveis ou é apenas a soma dos componentes individuais ponderados?