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

 
mytarmailS:

Alexei, devias aprender píton ou r-core, tentar construir algo lá... Acredita em mim, mil perguntas desapareceriam...

Que bom desejo, e seria útil aprender um par de línguas estrangeiras, e dominar todas as outras competências, que não dependeriam de outras pessoas. No entanto, não sou talentoso em tudo, e percebo que não alcançarei resultados altos na codificação, e muito esforço será gasto.

mytarmailS:

Para que serve verificar a eficiência dos métodos de selecção de traços se já estão experimentados e funcionam? caso contrário não existiriam

A questão aqui foi mais sobre a eficácia do método, ou seja, em quanto ele pode melhorar o resultado em comparação com a alimentação da amostra sem excluir os preditores. Isto é, a própria experiência.


mytarmailS:

O problema não está na rejeição de traços, está nos próprios traços, se você alimentar 10 indicadores, então selecione até azul no rosto e você terá o mesmo resultado de QUALQUER algoritmo de seleção...

Eu tenho cerca de 5 preditores neste momento, é por isso que esta abordagem é interessante.

mytarmailS:

Você ouviu no vídeo? Eles estão selecionando entre dezenas de milhares de recursos, e até mencionam o MSUA onde estão falando sobre a criação e enumeração de bilhões de recursos

É disso que deveríamos estar falando - sistemas que geram milhões de idéias e as verificam automaticamente, essa é a essência, são decisões individuais, e a seleção de características é a pequena parte final do processo e não há nada de interessante nele, basta pegar qualquer algoritmo e ir em frente, não há nada para falar, simplesmente não é interessante.

Estou apenas trabalhando com um grande número de características, e desenvolvendo métodos de geração a partir de um padrão. O processo de binarização dos recursos, possivelmente com a manutenção de diferentes indicadores dentro do novo preditor, o que faria 50000 recursos em 5000, e eles precisam ser investigados para relações mútuas para criar novos recursos saturados a partir dos quais o modelo já será construído.

Em suma, não sei porque é que uma visão tão primitiva da minha actividade...

 
Aleksey Vyazm

Seja como for, não sei porque tens uma visão tão primitiva do meu desempenho...

Alexey, você não entende que todos os seus sinais binários de 5k podem ser substituídos por 2-3 componentes principais, ou seja, 2-3 sinais e todos)) mas você tem que fazer isso para saber...

Você também não entende que seu modelo legal com 5k características pode ser apenas uma característica entre centenas de outras para um modelo de ranking superior, que por sua vez será uma característica para um modelo de ranking ainda mais alto...

Estas são as categorias em que estou a pensar actualmente.


Olha para Ivakhnenko MHUA, como os conceitos são muito elaborados e profundos, quando o leio sinto-me como um aluno do primeiro ano de MO...

 
mytarmailS:
Alexei, como você pode não entender que todos os seus atributos binários de 5k podem ser substituídos por 2-3 -maiores componentes, ou seja, 2-3 atributos e todos)) mas você tem que fazer isso para saber...

De onde tira tais conclusões sobre a minha compreensão ou não? O tópico de MGUA não é tocado por mim, pois não há experiência real de sua aplicação. Estás pronto para condensar os meus sinais para 2-3? Eu estaria interessado em vê-lo e compará-lo com a minha abordagem. Uma vez que já tem tudo isso afinado, acho que não seria um problema, pois não?

mytarmailS:
Além disso, não compreende que todo o seu modelo fixe com 5k atributos pode ser apenas um atributo entre centenas de outros para um modelo de classificação superior, que por sua vez será um atributo para um modelo de classificação ainda mais elevada...

Estas são as categorias em que estou a pensar agora.

Há muito tempo que o ponho em prática, tirando folhas de modelos - são um componente saturado para modelos mais globais.

Muito do que eu inventei tem outros nomes e é implementado para uso geral, mas quando você faz tudo do zero, há uma compreensão subjacente de como e porque funciona, não apenas teoria.

 
mytarmailS:
Leia o mesmo Ivakhnenko MSUA, como os conceitos são elaborados e profundos, quando o leio sinto-me como um aluno do primeiro ano de MO...

Tenho de fazer coisas - já tenho pensamentos suficientes para verificar, tenho de codificar e verificar.

 
mytarmailS:

Você também não percebe que todo o seu modelo fixe com 5k características pode ser apenas uma característica entre centenas de outras para um modelo com classificação superior, que por sua vez será uma característica para um modelo com classificação ainda mais elevada...

Fã de filmes Matrix?

 

Estive pensando sobre como melhorar o método de seleção de preditores/atributos/características através da análise do modelo resultante.

Tenho algumas ideias para a implementação do algoritmo, mas decidi partilhá-las com a comunidade respeitada, talvez haja algumas críticas construtivas ou adições/refinamentos ao algoritmo antes de começarmos a trabalhar na implementação deste algoritmo. É interessante pensar que nada vai funcionar com justificação.


Seleção de preditores por frequência de uso (Importância da característica) ao criar um modelo CatBoost
.

A idéia é que cada algoritmo tem suas próprias peculiaridades de construção de árvores e vamos selecionar aqueles preditores que são usados mais frequentemente pelo algoritmo, neste caso CatBoost.

Contudo, para estimar a uniformidade na escala temporal, utilizaremos várias amostras e agregaremos os seus dados numa única tabela. Esta abordagem irá eliminar eventos aleatórios que têm uma forte influência na escolha do preditor em um dos modelos. As regularidades sobre as quais o modelo é construído devem ocorrer em toda a amostra, o que pode facilitar a classificação correta sobre os novos dados. Esta característica é aplicável aos dados do mercado, ou seja, dados sem completude, incluindo a ciclicidade oculta, ou seja, não temporal, mas orientada por eventos. Ao fazer isso, é desejável penalizar os preditores que não estão no topo 30%-50% em uma das parcelas, o que permitirá a seleção dos preditores que estão mais frequentemente em demanda de modelos em diferentes horizontes temporais.

Além disso, para reduzir o fator de aleatoriedade devemos usar modelos com diferentes valores de Semente, acho que deveria haver de 25 a 100 modelos desse tipo. Se o coeficiente deve ser adicionado dependendo da qualidade do modelo obtido ou apenas a média de todos os resultados por preditores - ainda não sei, mas acho que devemos começar com um simples, ou seja, apenas a média.

A questão da utilização de uma tabela de quantização é importante, pode ser crucial na seleção dos preditores. Se a tabela não for fixa, cada modelo irá criar a sua própria tabela para a subamostra, tornando impossível a comparação de resultados, pelo que a tabela deve ser comum a todas as amostras.

É possível obter uma tabela de quantização:

  1. Ao definir hiperparâmetros para CatBoost sobre o tipo e número de partições em quanta de toda a amostra de treinamento, e salvando os resultados em csv.
  2. Defina hiperparâmetros para CatBoost por tipo e número de partições em quanta, selecionando uma das áreas de amostra, digamos a melhor, e salve os resultados em csv.
  3. Obtenha uma tabela usando um script separado que selecione as melhores escolhas a partir de um conjunto de tabelas.
As tabelas obtidas anteriormente são utilizadas para cada amostra através do carregamento forçado da tabela durante o treinamento.
 
Você pode conectar valores de shap ao boot e ver a interação dos recursos na saída em qualquer dado, é para aqueles que gostam de cavar na roupa íntima, como Alexei :) Existem também bibliotecas semelhantes, semelhantes ao Lime e independentes de modelos. Claro que, se você analisar centenas de sinais sem sentido, então qualquer empreendimento desse tipo está condenado. É uma tarefa simples e ninguém o fará por você de graça, porque é um incrível assassino do tempo com um resultado conhecido.
 
Maxim Dmitrievsky:
Você pode conectar valores de shap ao boot e ver a interação de recursos na saída em qualquer dado, é para aqueles que gostam de cavar em roupas íntimas, como Alexey :)

A questão da métrica é aberta, existem diferentes variantes - devemos tentar, qual é melhor - impacto no modelo, número de divisões, número de exemplos corretos após a divisão - as métricas são diferentes. A questão está na correcção do seu uso para a tarefa em questão. A propósito, tanto quanto me lembro,valores shap não podiam ser usados em construções iniciais para linha de comando, mas desta forma você pode fazer um script para visualização.

 
Maxim Dmitrievsky:
É claro, se você analisar centenas de sinais sem sentido, então qualquer tentativa desse tipo está condenada. É uma tarefa simples, e é improvável que alguém o faça por você de graça, pois é um incrível assassino do tempo com um resultado conhecido.

Porquê o pessimismo - o objectivo é precisamente gerar um conjunto de atributos, em teoria adequados a qualquer estratégia alvo/base e seleccionar o melhor de entre eles para um determinado alvo.

Duvidando do aumento da qualidade da classificação após a manipulação?
 
Aleksey Vyazmikin:

Porquê o pessimismo - o objectivo é precisamente gerar um conjunto de atributos, em teoria adequados a qualquer estratégia alvo/base e seleccionar o melhor de entre eles para um determinado alvo.

Tem dúvidas quanto ao ganho de qualidade da classificação após a manipulação?
Não vejo o porquê de isto poder funcionar.