Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 1276
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
todos os castores constroem a mesma barragem, apesar de não o saberem.
mas cada um teimosamente acredita ter inventado algo novo.
O castor é uma criatura trabalhadora e justa, outra coisa muito diferente ,um castor que estuda é uma criatura má, afugenta-o com uma vassoura de todos os lados, ou melhor simplesmente ignora-o.
O castor é uma criatura trabalhadora e correta, outra coisa bem diferente, o Aprendiz de Cavaleiro é uma criatura desagradável, afugenta-o com uma vassoura de todos os lugares, ou melhor ainda, simplesmente ignora-o.
"Analista num frasco" :))) máquina de lavar louça foda-se
A questão é que, mesmo que 50% de todos sejam levados, então há uma seleção clara desses 50% para a primeira divisão da raiz (ou em Alglib não é assim?). CatBoost não só tem seleção aleatória de preditores, mas também divisão aleatória (pesos são adicionados aleatoriamente aos cálculos) nas primeiras árvores.
Eu recebo resultados diferentes, e meu objetivo não é estimar todo o modelo, mas obter folhas, que com grande probabilidade descrevem a maior parte da amostra. Então essas folhas são testadas na história ano após ano e é feita uma composição delas, que pode não descrever todo o mercado, mas acho que é melhor ter respostas mais precisas para o que você sabe do que adivinhar com 50% de probabilidade na maior parte do tempo.
Os prognosticadores, agora estarão na casa dos 600, portanto um exagero completo não é mais realista.
Em princípio, a partição aleatória não é difícil de fazer.
Não tenho visto árvores individuais com bons resultados nos testes (45-50%), mas uma floresta delas é mais interessante).
Os pacotes xgboost, lightGBM tinham métodos incorporados para estimar a importância dos recursos para "modelos de madeira":
Esta medida mostra a contribuição relativa de cada característica para o modelo. Para calcular isto, passamos por cada árvore, olhamos para cada nó da árvore cuja característica leva a uma divisão do nó, e quanto a incerteza do modelo é reduzida de acordo com a métrica (impureza de Gini, ganho de informação).
Para cada característica, a sua contribuição é somada sobre todas as árvores.
Mostra o número de observações para cada característica. Por exemplo, você tem 4 características, 3 árvores. Suponha que a ficha 1 tem 10, 5 e 2 observações nos nós de árvore 1, 2 e 3 respectivamente. Então a importância para esta ficha seria de 17 (10 + 5 + 2).
Mostra com que frequência uma determinada característica é encontrada em nós de árvore, ou seja, o número total de nós de árvore divididos para cada característica em cada árvore é contado.
Eu tenho uma floresta treinada em 5 bares com resultados melhores num teste do que 100. Mas quando se ensina por 100, os primeiros 5 não são marcados como importantes, mas alguns como longínquos.
Quando se treina a 100, o erro de cada árvore e floresta é menor - obviamente devido ao sobretreinamento e dando importância a 30-100 barras. Mas é óbvio que não são importantes de acordo com a lógica habitual, mas porque a floresta a 5 bares dá melhores resultados.
Há um script R com um algoritmo genético para criar uma árvore, selecionar gerações por melhoramento da entropia. Depois há algum tipo de selecção final. Eu pego todas as árvores para a seleção final e puxo as folhas delas para medições adicionais separadas em MT5. O script não foi publicado publicamente, por isso também não há descrições detalhadas. Aparentemente é como selecionar a melhor árvore da floresta, mas há uma limitação de profundidade para evitar o excesso de treinamento, bem, o processo leva cerca de 2 dias em todos os núcleos na última amostra, onde não todas as barras, mas apenas sinais para entrar, e se todas as barras durante 3 anos, então o cálculo leva 1,5 meses lá. Após os cálculos eu faço a divisão da árvore, ou seja, eu removo a coluna com o preditor raiz da melhor árvore populacional e começo tudo de novo, parecia que mesmo em 40 este procedimento às vezes são criadas folhas muito boas, então eu cheguei à conclusão, que a melhor árvore matemática nem sempre é mais eficaz, e uma informação interfere com outra, que apareceu mais tarde utilizada no mesmo CatBoost, quando os preditores são escolhidos aleatoriamente de todas as amostras para construir uma árvore.
Mas a árvore não é mágica, é a oferecida pelo rpart. Acho que é normal lá.
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)
É uma variante interessante. Vou ter de tentar.
Embora receie que se eu o aplicar a um modelo em 100 barras, e tentar remover 95 barras e deixar as primeiras 5, o resultado será 50%. Afinal de contas, os primeiros 5 quase não estavam envolvidos em rupturas (em média apenas 5% dos nós são construídos sobre eles).
Encontrei o seu posto sobre permutação.
Variante interessante. Tenho de tentar.
Embora eu tenha medo que se eu aplicá-lo no modelo de 100 barras e tentar remover 95 barras e deixar as primeiras 5, o resultado será de 50%. Afinal de contas, os primeiros 5 quase não estavam envolvidos em rupturas (em média apenas 5% dos nós são construídos sobre eles).
Não sei o que estás a fazer com 100 barras, provavelmente deves aplicá-lo correctamente e vais ficar bem.
Eu não sei o que você está fazendo com 100 barras, você provavelmente precisa aplicá-lo corretamente e ele vai funcionar
Eu quero automatizar o processo de peneirar os preditores sem importância)
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)
Eu entendi este método de forma diferente.
De qualquer forma, os resultados do artigo são impressionantes. Eu devia tentar na prática.Para o preditor em estudo, não devemos alimentar valores aleatórios com uma distribuição normal, mas apenas embaralhar as linhas nesta coluna.