Discussão do artigo "Avaliação e seleção de variáveis para os modelos de aprendizado da máquina" - página 2

 

Alexey Oreshkin:

...e aí está..... não é nem mesmo interessante conversar com essas pessoas.

Mutuamente, ou seja, não há interesse em se comunicar com os "lamers", que ainda têm o "woz", porque eles não podem oferecer nada além de ficar discutindo todos os tópicos, reclamando e impondo sua opinião mesquinha de que supostamente "nada funciona". É muito mais interessante se comunicar com aqueles que oferecem soluções para os problemas de "mudar o vagão" na direção certa com base na experiência pessoal, e não com base em opiniões sem fundamento.
 

O artigo é interessante. Agradeço ao autor por seu trabalho árduo. Seria bom demonstrar os métodos descritos em um exemplo concreto. Sugiro um exemplo desse tipo: prever o S&P500 para dois trimestres à frente. Venho fazendo isso há muito tempo e discuto meus resultados em outro tópico. Tenho minha própria metodologia para selecionar entradas e normalizá-las. Tudo isso está descrito lá. Fornecerei a você e a todos os demais um arquivo com todos os dados econômicos trimestrais desde 1960. Também posso fornecer as médias trimestrais do S&P500 para o mesmo período.

Tarefa:

1. Selecione os dados de entrada. Você pode escolher entre dados econômicos e todos os indicadores conhecidos da própria série de preços do S&P500.

2. Normalize os dados.

3. Crie e treine um modelo para prever os valores trimestrais do S&P500 no intervalo de 1960 a 1999, inclusive. O início do histórico de treinamento pode ser escolhido como qualquer um.

4. Mostre o comportamento do modelo fora do histórico de treinamento, no intervalo de 2000 até hoje.

5. Mostre o erro de previsão dois trimestres à frente no intervalo de treinamento e fora dele. O erro nos dados normalizados é calculado da seguinte forma:

Err = SQRT { SUM(Prediction[i] - Real Value[i])^2 / SUM(Real Value[i])^2 }

O cálculo do erro de previsão dessa forma faz muito sentido. A metodologia geralmente aceita para calcular o erro do modelo é baseada no RMS:

RMS_model_error = SUM(Prediction[i] - Real Value[i])^2

As previsões banais são baseadas na suposição de que o valor não normalizado da variável prevista será igual ao seu último valor conhecido. Quando normalizada com relação ao último valor conhecido, uma previsão trivial é simplesmente 0. Assim, o RMS de previsões normalizadas triviais é

RMS_ trivial = SUM(0 - Real Value[i])^2 = SUM(Real Value[i])^2

A fórmula proposta para calcular o erro de previsão Err é simplesmente a raiz quadrada da razão SCO_model/SCO_basic. Se Err > 1, então o modelo construído é pior do que as previsões triviais.

Se minha sugestão lhe interessar, publicarei aqui as tabelas de indicadores econômicos e do S&P500. Os detalhes do modelo, a normalização dos dados e a seleção de dados não me interessam. Estou interessado nos resultados das previsões na seção não treinada de 2000 até hoje (gráfico de valores reais e valores previstos e erro de previsão calculado pela minha fórmula Err).

 
Vladimir:

O artigo é interessante. Agradeço ao autor por seu trabalho árduo. Seria bom demonstrar os métodos descritos em um exemplo concreto. Sugiro um exemplo desse tipo: prever o S&P500 para dois trimestres à frente. Venho fazendo isso há muito tempo e discuto meus resultados em outro tópico. Tenho minha própria metodologia para selecionar entradas e normalizá-las. Tudo isso está descrito lá. Fornecerei a você e a todos os demais um arquivo com todos os dados econômicos trimestrais desde 1960. Também posso fornecer as médias trimestrais do S&P500 para o mesmo período.

Tarefa:

1. Selecione os dados de entrada. Você pode escolher entre dados econômicos e todos os indicadores conhecidos da própria série de preços do S&P500.

2. Normalize os dados.

3. Crie e treine um modelo para prever os valores trimestrais do S&P500 no intervalo de 1960 a 1999, inclusive. O início do histórico de treinamento pode ser escolhido como qualquer um.

4. Mostre o comportamento do modelo fora do histórico de treinamento, no intervalo de 2000 até hoje.

5. Mostre o erro de previsão dois trimestres à frente no intervalo de treinamento e fora dele. O erro em dados normalizados é calculado da seguinte forma:

Err = SQRT { SUM(Prediction[i] - Real Value[i])^2 / SUM(Real Value[i])^2 }

O cálculo do erro de previsão dessa forma faz muito sentido. A metodologia geralmente aceita para calcular o erro do modelo é baseada no RMS:

RMS_model_error = SUM(Prediction[i] - Real Value[i])^2

As previsões banais são baseadas na suposição de que o valor não normalizado da variável prevista será igual ao seu último valor conhecido. Quando normalizada em relação ao último valor conhecido, uma previsão trivial é simplesmente 0. Assim, o RMS de previsões normalizadas triviais é

RMS_ trivial = SUM(0 - Real Value[i])^2 = SUM(Real Value[i])^2

A fórmula proposta para calcular o erro de previsão Err é simplesmente a raiz quadrada da relação SCO_model/SCO_basic. Se Err > 1, então o modelo construído é pior do que as previsões triviais.

Se minha sugestão lhe interessar, postarei aqui as tabelas de indicadores econômicos e do S&P500. Os detalhes do modelo, a normalização dos dados e a seleção de dados não me interessam. Estou interessado nos resultados das previsões na seção não treinada de 2000 até hoje (gráfico de valores reais e valores previstos e erro de previsão calculado pela minha fórmula Err).

Tudo o que você descreve é uma previsão de regressão, ou seja, um determinado valor é previsto com um intervalo de confiança especificado

Não entendo o valor prático de tais previsões na negociação. E aqui está o motivo.

O terminal suporta ordens de compra/venda. Essa é uma variável puramente nominal que assume valores qualitativos.

Você deve se lembrar que também existem ordens de limite. Mas elas também são baseadas em ordens de compra/venda.

Se prevermos o valor em vez da compra/venda, o erro de previsão poderá cobrir o último valor da variável prevista e não será possível determinar o tipo de ordem de compra/venda.

PS. Os modelos de regressão de aprendizado de máquina são amplamente usados na economia, em quase todas as empresas, por exemplo, na previsão do volume de vendas. Nos mercados de câmbio, ao cobrir riscos cambiais (componentes para moedas e vendas para rublos). Mas e na negociação?

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

Tudo o que você descreveu é uma previsão de regressão, ou seja, algum valor é previsto com um intervalo de confiança dado

Não entendo o valor prático de tais previsões na negociação. E aqui está o motivo.

O terminal suporta ordens de compra/venda. Essa é uma variável puramente nominal que assume valores qualitativos.

Você deve se lembrar que também existem ordens de limite. Mas elas também são baseadas em ordens de compra/venda.

Se prevermos o valor em vez da compra/venda, o erro de previsão poderá cobrir o último valor da variável prevista e não será possível determinar o tipo de ordem de compra/venda.

PS. Os modelos de regressão de aprendizado de máquina são amplamente usados na economia, em quase todas as empresas, por exemplo, na previsão do volume de vendas. Nos mercados de câmbio, ao cobrir riscos cambiais (componentes para moedas e vendas para rublos). Mas e na negociação?

Se os sinais de saída são para comprar ou vender, então como avaliamos a importância ou a adequação dos insumos de acordo com este artigo? Como quantificamos o sucesso do modelo? Com base no lucro? Com base no drawdown? PF? Já vi esses modelos aqui muitas vezes, não vou apontar o dedo, os autores se reconhecerão. A escolha de indicadores de negociação como uma função-alvo para avaliar as entradas e o modelo está repleta do fato de que, em vez de escolher as entradas e o modelo corretos, os criadores começam a química com diferentes formas de medir o sucesso e acabam com EAs-soversers/slivators. Há muitas oportunidades criativas para o autoengano.
 
Vladimir:
Se o resultado indicar compra ou venda, como avaliaremos a importância ou a adequação dos inputs de acordo com esse artigo? Como quantificamos o sucesso do modelo? Com base no lucro? Com base no drawdown? PF? Já vi esses modelos aqui muitas vezes, não vou apontar o dedo, os autores se reconhecerão. A escolha de indicadores de negociação como uma função-alvo para avaliar as entradas e o modelo está repleta do fato de que, em vez de escolher as entradas e o modelo corretos, os criadores começam a química com diferentes maneiras de medir o sucesso e acabam com EAs-soversers/slivators. Há muitas oportunidades criativas para o autoengano.

A regressão tem suas estimativas, e a classificação tem suas estimativas.

A maneira mais óbvia de avaliar o desempenho dos modelos de classificação é a porcentagem de correspondência entre as classes de fatos e de previsão (porcentagem de compra/venda prevista corretamente). O documento usa métodos mais informativos para avaliar o desempenho dos modelos de classificação. Não apenas as ferramentas são usadas, mas também as ferramentas são especificadas.

PS.

O ROC é o mais comum.

 
Yury Reshetov:

Onde você viu a regressão? O artigo trata de classificação binária:

Respondi a Vladimir
 
СанСаныч Фоменко:

A regressão tem suas próprias estimativas, e a classificação tem suas próprias estimativas.

A maneira mais óbvia de avaliar o desempenho dos modelos de classificação é a porcentagem de correspondência entre as classes de fato e de previsão (porcentagem de compra/venda prevista corretamente). O documento usa métodos mais informativos para avaliar o desempenho dos modelos de classificação. Não apenas as ferramentas são usadas, mas também as ferramentas são especificadas.

PS.

O ROC é o mais comum.

Por classificação, você se refere à classificação das barras em COMPRAR, VENDER, MANTER, certo? Em princípio, essa classificação está errada, pois é inconsistente. Por exemplo, você pode classificar uma barra como COMPRA mesmo que o preço tenha caído depois dela e, em seguida, argumentar que o sinal estava correto porque você deveria ter ficado de fora do drawdown até obter lucro. A mesma barra pode ser facilmente classificada como VENDA porque o preço caiu. A mesma barra pode ser classificada como HOLD se o preço após essa barra flutuar no corredor menos do que o lucro esperado. Portanto, temos ambiguidade. Com essa classificação, precisamos acrescentar condições adicionais, como, por exemplo, a quantidade de rebaixamento que permitiremos, quanto tempo esperaremos até obter lucro, qual é a meta de lucro, o que faremos no fechamento da sessão (esperaremos pela segunda-feira?).

É muito mais fácil classificar as barras pela direção esperada do movimento do preço nessa barra: para cima ou para baixo. No meu exemplo de previsão do S&P500 descrito acima, em vez de prever o movimento quantitativo do preço para dois trimestres à frente, podemos nos limitar a prever a direção do movimento do preço. Isso não será ambíguo e o erro pode ser calculado como a porcentagem de acerto de adivinhar a direção do movimento.

Minha sugestão acima ainda é válida, mas parece-me que os autores de artigos aqui continuarão a descrever métodos e diretrizes para o uso de algumas ferramentas em vez de demonstrar essas ferramentas em exemplos concretos. Tudo isso é teoria, e o dinheiro é ganho escrevendo artigos e livros, não usando essas ferramentas nas negociações. O argumento sobre a utilidade prática dos artigos não é novo aqui.

 
Vladimir:

Por classificação, você se refere à classificação das barras em COMPRAR, VENDER, MANTER, certo? Essa classificação está errada em princípio, pois é inconsistente. Por exemplo, você pode classificar uma barra como COMPRA mesmo que o preço tenha caído depois dela e, em seguida, argumentar que o sinal estava correto porque você deveria ter ficado no drawdown até obter lucro. A mesma barra pode ser facilmente classificada como VENDA porque o preço caiu. A mesma barra pode ser classificada como HOLD se o preço após essa barra flutuar no corredor menos do que o lucro esperado. Portanto, temos ambiguidade. Com essa classificação, precisamos acrescentar condições adicionais, como, por exemplo, a quantidade de rebaixamento que permitiremos, quanto tempo esperaremos até obter lucro, qual é a meta de lucro, o que faremos no fechamento da sessão (esperaremos pela segunda-feira?).

É muito mais fácil classificar as barras pela direção esperada do movimento do preço nessa barra: para cima ou para baixo. No meu exemplo de previsão do S&P500 descrito acima, em vez de prever o movimento quantitativo do preço para dois trimestres à frente, podemos nos limitar a prever a direção do movimento do preço. Isso não será ambíguo e o erro pode ser calculado como a porcentagem de acerto de adivinhar a direção do movimento.

Minha sugestão acima ainda é válida, mas parece-me que os autores de artigos aqui continuarão a descrever métodos e diretrizes para o uso de algumas ferramentas em vez de demonstrar essas ferramentas em exemplos concretos. Tudo isso é teoria, e o dinheiro é ganho escrevendo artigos e livros, não usando essas ferramentas nas negociações. O argumento sobre a utilidade prática dos artigos não é novo aqui.

1. Se você tivesse aprendido a ler livros e artigos quando criança, teria entendido que o que eu e o autor do artigo escrevemos e o que você escreveu são a mesma coisa.

2. Se o hábito de respeitar as outras pessoas tivesse sido incutido em sua infância, você não teria se permitido escrever ou escrever "peeps".

Boa sorte ao aprender a ler.

 
Vladimir:

Por classificação, você se refere à classificação das barras em COMPRAR, VENDER, MANTER, certo? Essa classificação está errada em princípio, pois é inconsistente. Por exemplo, você pode classificar uma barra como COMPRA mesmo que o preço tenha caído depois dela e, em seguida, argumentar que o sinal estava correto porque você deveria ter ficado no drawdown até obter lucro. A mesma barra pode ser facilmente classificada como VENDA porque o preço caiu. A mesma barra pode ser classificada como HOLD se o preço após essa barra flutuar no corredor menos do que o lucro esperado. Portanto, temos ambiguidade. Com essa classificação, precisamos acrescentar condições adicionais, como, por exemplo, a quantidade de rebaixamento que permitiremos, quanto tempo esperaremos até obter lucro, qual é a meta de lucro, o que faremos no fechamento da sessão (esperaremos pela segunda-feira?).

É muito mais fácil classificar as barras pela direção esperada do movimento do preço nessa barra: para cima ou para baixo. No meu exemplo de previsão do S&P500 descrito acima, em vez de prever o movimento quantitativo do preço para dois trimestres à frente, podemos nos limitar a prever a direção do movimento do preço. Isso não será ambíguo e o erro pode ser calculado como a porcentagem de acerto de adivinhar a direção do movimento.

Minha sugestão acima ainda é válida, mas parece-me que os autores de artigos aqui continuarão a descrever métodos e diretrizes para o uso de algumas ferramentas em vez de demonstrar essas ferramentas em exemplos concretos. Tudo isso é teoria, e o dinheiro é ganho escrevendo artigos e livros, não usando essas ferramentas nas negociações. O argumento sobre a utilidade prática dos artigos não é novo aqui.

Primeiro, a definição de Classificação é dada no nível do jardim de infância. Em seguida, ele fala sobre o fato de que a incerteza é gerada(!?) E termina como sempre: "Onde está a chave para o apartamento onde está o dinheiro?".

Você precisa de mais treinamento teórico. Estudar, estudar e estudar novamente... Você sabe.

E seja mais modesto.

PS. Coloque sua proposta no Freelance. Obtenha um produto real.

 
СанСаныч Фоменко:
Eu estava respondendo ao Vladimir.
Perdoe-me