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

 
Alexey Burnakov:
Há alguns anos. Aqui no fio está o resultado dela.
Por favor, dá-me um link.
 
Vadim Shishkin:
Podes dar-me um link, por favor?
Todo o tema é o resultado.
 
Yury Reshetov:

Pelo menos com separação rigorosa em uma amostra de treinamento e uma amostra de teste por datas, em vez de misturar aleatoriamente as amostras com uma distribuição uniforme na amostra geral e depois dividi-la em partes. Pode acontecer que uma parte da amostra contenha principalmente tendências verticais, enquanto a outra parte contenha tendências laterais. Se aplicarmos uma mistura aleatória, a probabilidade de recolha de padrões semelhantes em diferentes partes da amostra diminui.

A propósito, tal desvantagem também está presente no testador de estratégia integrado do MetaTrader, ou seja, divide a amostra de treinamento e o teste de avanço estritamente por datas. Devido a isso, a mudança de tendências de mercado próximas à linha divisória pode levar a um excesso deliberado de formação.

Este é o ponto-chave no planejamento da experiência. Na realidade, há uma separação temporal rigorosa. É assim que o modelo é testado no futuro, no sentido pleno da palavra.

Eu também tenho isto: na validação o mercado estava predominantemente em queda e há um excesso de calções. Bem, pode crescer predominantemente no futuro. Qualquer coisa pode acontecer.
 
Vadim Shishkin:
Então você, como qualquer comerciante respeitável, deu a resposta.
A resposta do universo, se quiseres.
 
Alexey Burnakov:
Este é o ponto-chave do planeamento de experiências. Na realidade, há uma separação rigorosa no tempo. É assim que o modelo é testado para o futuro, no sentido pleno da palavra.

Eu também tenho isto: na validação o mercado estava predominantemente em queda e há um excesso de calções. Bem, pode crescer predominantemente no futuro. Qualquer coisa pode acontecer.

É chamado de amostra desequilibrada e é um problema de aprendizagem da máquina.

Para que fique mais claro, vou dar-lhe um exemplo. Suponha que temos uma amostra de treinamento onde prevalecem as tendências de alta e, portanto, as de baixa estão menos presentes na amostra do que nas de alta, ou seja, temos um desequilíbrio.

Suponha que temos 1.000 movimentos para baixo na amostra, e 10.000 movimentos para cima. E assumir que o erro de classificação para movimentos ascendentes é de 10%. Mas que dez por cento para 10.000 exemplos é igual a 1.000 sinais falsos classificados como previsão de movimentos descendentes e temos apenas 1.000 exemplos com movimentos descendentes na amostra. Isto significa que não importa quão precisa seja a classificação de um movimento descendente, para qualquer resposta de um classificador que preveja um movimento futuro como potencialmente descendente, o seu erro será de pelo menos 50%. Ou seja, quanto mais exemplos na amostra de treinamento para qualquer classe for um desequilíbrio, maior o impacto de uma classificação errada para essa classe na qualidade das respostas do classificador para outra classe.

Por isso é muito difícil prever fenómenos raros: terramotos, erupções vulcânicas, crises económicas, etc. Porque se o fenómeno é muito raro e não representativo em amostra, qualquer erro para exemplos de classes opostas torna-se excessivo para fenómenos raros.

Portanto, uma amostra de treinamento deve ser pré-balanceada para que contenha o mesmo número de exemplos para todas as aulas. Caso contrário, é mais provável que as classes de baixa representação sejam reprovadas nos testes fora do conjunto de treinamento. Além disso, ao dividir a amostra geral em treinamento e partes de teste, é necessário misturar exemplos usando PRNG com uma distribuição de probabilidade uniforme, a fim de evitar a aglomeração de exemplos com preditores semelhantes em uma parte e diferentes preditores na outra parte. Ou seja, para evitar um desequilíbrio nos preditores e não apenas nas variáveis dependentes.

 
Yury Reshetov:

Isto é chamado de amostragem desequilibrada e é um problema de aprendizagem da máquina.

Para que fique mais claro, deixe-me dar-lhe um exemplo. Suponha que temos uma amostra de treinamento onde prevalecem as tendências de alta, o que significa que há menos tendências de baixa do que de alta, ou seja, temos um desequilíbrio.

Suponha que temos 1.000 movimentos para baixo na amostra, e 10.000 movimentos para cima. E assumir que o erro de classificação para movimentos ascendentes é de 10%. Mas que dez por cento para 10.000 exemplos é igual a 1.000 sinais falsos classificados como previsão de movimentos descendentes e temos apenas 1.000 exemplos com movimentos descendentes na amostra. Isto significa que não importa quão precisa seja a classificação de um movimento descendente, para qualquer resposta de um classificador que preveja um movimento futuro como potencialmente descendente, o seu erro será de pelo menos 50%. Ou seja, quanto mais exemplos na amostra de treinamento para qualquer classe for um desequilíbrio, maior o impacto de uma classificação errada para essa classe na qualidade das respostas do classificador para outra classe.

Por isso é muito difícil prever fenómenos raros: terramotos, erupções vulcânicas, crises económicas, etc. Afinal de contas, se um evento é muito raro e pouco representado na amostra, então qualquer erro para exemplos de classes opostas torna-se excessivo para eventos raros.

Portanto, a amostra de treinamento precisa ser pré-balanceada para que tenha o mesmo número de exemplos para todas as aulas. Caso contrário, é mais provável que as classes de baixa representação sejam reprovadas nos testes fora do conjunto de treinamento. Além disso, ao dividir a amostra geral em treinamento e partes de teste, é necessário misturar exemplos usando PRGPs com uma distribuição de probabilidade uniforme, a fim de evitar a aglomeração de exemplos com preditores semelhantes em uma parte e diferentes preditores na outra parte. Isto é, para evitar desequilíbrios em preditores e não apenas em variáveis dependentes.

Yury, eu percebi. A amostragem pode, de facto, ser desequilibrada tanto na formação como na validação. Mas na realidade você está negociando o futuro onde o viés pode ser muito forte. E a estratégia precisa ser resiliente a tal resultado.
 
Yury Reshetov:


E, portanto, a amostra de treinamento deve ser pré-balanceada, de modo que contenha exemplos para todas as classes em igual número. Caso contrário, é mais provável que as classes de baixa representação sejam reprovadas nos testes fora do conjunto de treinamento. Além disso, ao dividir a amostra geral em treinamento e partes de teste, é necessário misturar exemplos usando PRGPs com uma distribuição de probabilidade uniforme, a fim de evitar a aglomeração de exemplos com preditores semelhantes em uma parte e diferentes preditores na outra parte. Isto é, para evitar desequilíbrios em preditores e não apenas em variáveis dependentes.

pacote de cartão

Um par de funções: downSample/upSample - diminui/acresce o número de observações, obtendo classes totalmente equilibradas. A amostra para baixo/amostra para cima é baseada em um algoritmo de amostragem aleatória simples.

PS.

Reshetov!

Comece a estudar R. Cada vez com mais frequência você desliza para os lugares-comuns.

 
SanSanych Fomenko:

Reshetov!

Comece a estudar R. Estás cada vez mais a escorregar para os lugares-comuns.

Vou largar tudo e tornar-me adepto do R para poder jogar com números com um olhar sério na cara.
 
Alexey Burnakov:
Yuri, percebi a ideia. A amostra pode, de facto, estar desequilibrada, tanto na formação como na validação. Mas na realidade você está negociando o futuro onde o viés pode ser muito forte. E a estratégia deve ser resistente a tal resultado.
É preciso evitar o potencial de sobre-aprendizagem, porque é a única forma de alcançar a estabilidade. E uma amostra desequilibrada de treinamento é uma causa potencial de excesso de treinamento para aulas não representativas. Afinal de contas, o algoritmo de aprendizagem tenta agir como entende, e não como precisa, a fim de aumentar a generalização. Se a amostra for desequilibrada, irá minimizar os erros de aprendizagem nas aulas menos representativas, porque os exemplos para estas aulas são poucos e é mais fácil de os distribuir em vez de os generalizar. Após tal aprendizagem, não é surpreendente que fora da amostra de treinamento, os erros de algoritmos ocorram com maior probabilidade nas aulas menos representativas.
 

separar os dados exactamente por data (antes do dia X - treino, depois - validação)

A questão é simples. No mundo real, ninguém lhe permitirá tirar uma amostra mista contendo observações do futuro e do passado para avaliar a qualidade da negociação real. Todas as observações serão feitas após o dia x.

Assim, ao retirar uma amostra mista na validação (sem separação de datas), o usuário está superestimando a métrica de qualidade na validação. É isso mesmo. Então haverá surpresas desagradáveis.