Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 189
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Se você pegar quase qualquer livro sobre datamining, os procedimentos para remover os preditores correlatos são necessariamente descritos.
Os preditores interactivos não estão necessariamente correlacionados... Eles interagem em .....
E a presença de interação produz resultados da espécie:
> summary(lm(data = train_sample_list[[1]], price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16))
Call:
lm(formula = price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16,
data = train_sample_list[[1]])
Residuals:
Min 1Q Median 3Q Max
-0.035970 -0.000824 0.000001 0.000847 0.027278
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.883e-05 3.146e-05 1.234 0.21714
price_diff_lag_11 4.828e-02 9.092e-03 5.310 1.12e-07 ***
price_diff_min_lag_16 -3.055e-02 1.141e-02 -2.678 0.00743 **
price_diff_lag_11:price_diff_min_lag_16 -3.520e+00 3.515e-01 -10.014 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.0024 on 10465 degrees of freedom
Multiple R-squared: 0.01611, Adjusted R-squared: 0.01583
F-statistic: 57.11 on 3 and 10465 DF, p-value: < 2.2e-16
Todos os preditores são significativos (e a sua interacção). As estatísticas F são espectaculares...
Os preditores interactivos não se correlacionarão necessariamente... Eles interagem em .....
E a presença de interação produz os resultados da espécie:
> summary(lm(data = train_sample_list[[1]], price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16))
Call:
lm(formula = price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16,
data = train_sample_list[[1]])
Residuals:
Min 1Q Median 3Q Max
-0.035970 -0.000824 0.000001 0.000847 0.027278
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.883e-05 3.146e-05 1.234 0.21714
price_diff_lag_11 4.828e-02 9.092e-03 5.310 1.12e-07 ***
price_diff_min_lag_16 -3.055e-02 1.141e-02 -2.678 0.00743 **
price_diff_lag_11:price_diff_min_lag_16 -3.520e+00 3.515e-01 -10.014 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.0024 on 10465 degrees of freedom
Multiple R-squared: 0.01611, Adjusted R-squared: 0.01583
F-statistic: 57.11 on 3 and 10465 DF, p-value: < 2.2e-16
Todos os preditores são significativos (e a sua interacção). As estatísticas F são espectaculares...
Vizard_:
Sem dados...
Sem dados, então não há nada para discutir.
Descansa... tu!
Yur, pelo menos não sejas estúpido) Só me esqueci de quem te disse em 9 anos que a tua rede não está devidamente configurada, e com um politanalista pode puxar a fórmula))))
Não há pretensões e segredos, eu estou usando ferramentas padrão dm, às vezes com pequenas edições. Se só estás interessado nas referências, ouve,
mas a realidade é um pouco diferente... A experiência anterior estava em dados reais. Fi-lo com dados artificiais simples. O primeiro conjunto foi absolutamente reconhecido
corretamente. Acabei de adicionar ......... A resposta deve ser 100%, mas o jPrediction 11 é tão afiado "ii", que ele consegue dar))))) Em suma, afina,
O dispositivo ainda não funciona. Não te vou dar os dados, estás a exibir-te, vais descobrir sozinho... Versão 20 talvez eu olhe novamente, se o "anúncio" for como hoje))))
Bem, talvez eu tenha tido uma ideia diferente do significado da palavra "interacção".
Existem regras claras para tratar as interações em modelos lineares. Eles são um pouco mais complicados do que o tratamento de combinação linear:https://www.r-bloggers.com/interpreting-interaction-coefficient-in-r-part1-lm/
Mas você tem que cavar através de muitas combinações para encontrar interações significativas. Isso é uma vergonha.
Você está ciente de que múltiplas otimizações sempre produzem resultados diferentes? É otimização, se desse sempre o mesmo resultado seria bom, mas é muito estranho, tente otimizar várias vezes, tenho certeza que você vai conseguir os 100% por 8 em cada 10 vezes. Então é assim....
Ele nem percebe que a amostra geral antes do treinamento é dividida em partes ao acaso: alguns padrões vão para a parte de treinamento, outros para testar parte. E com tal quebra, pode muito bem acontecer que alguns padrões necessários para esclarecer os padrões estejam lotados na parte do teste e não representados na parte do treinamento. E como o algoritmo só treina na parte de treinamento e não tem habilidades telepáticas para descobrir o que está na parte de teste, erros ocorrerão ao calcular a capacidade de generalização. Ou seja, não acontece nada de surpreendente.
Mas quando os padrões que devem especificar padrões acabam por se distribuir uniformemente por diferentes partes da amostra, a capacidade de aprendizagem é maior do que no caso descrito acima.
Em outras palavras, há um efeito caso a caso e qualquer aleatoriedade pode mais cedo ou mais tarde mostrar seu lado indesejável.
É bem possível que se possa encontrar um método pelo qual a amostra geral seja dividida em partes não aleatórias, mas deterministicamente? Mas, até agora, a experiência tem mostrado que todo o determinismo na divisão de amostras é repleto de ajuste, seguido de sobre-aprendizagem.
Talvez seja possível encontrar um método pelo qual a amostra geral seja dividida em partes de uma forma determinista e não aleatória? Mas, até agora, a experiência mostra que todo o determinismo na partição de amostras está repleto de encaixe e posterior reciclagem.
Talvez você precise fazer o treinamento várias vezes e dividir a amostra aleatoriamente a cada vez? E a partir deste conjunto pronto de modelos treinados você pode escolher e em geral você pode avaliar se o modelo é bom ou não.
Isto já está implementado no jPrediction, ou seja, várias partições de amostra diferentes são calculadas em paralelo em diferentes núcleos de CPU (dois classificadores binários são um terrário por núcleo livre). O processador acaba por estar 100% carregado. O problema é que o número de núcleos na CPU é limitado, portanto a probabilidade de distribuição desigual de padrões só pode ser reduzida, mas é muito problemático minimizá-los. A menos que você treine os padrões em supercomputadores e não em PCs.
Por exemplo, se você computar padrões no supercomputador chinês Tianhe-2, ele tem 3.120.000 núcleos. A probabilidade de distribuição desigual dos padrões por partes da amostra seria insignificante. Se calcularmos padrões em uma equipe de 4 núcleos (mais alguns núcleos reservados a outras tarefas), não é surpreendente que, mais cedo ou mais tarde, possamos encontrar irregularidade.
Isto já está implementado no jPrediction, ou seja, várias partições de amostra diferentes são calculadas em paralelo em diferentes núcleos de CPU (dois classificadores binários são um terrário por núcleo livre). O processador acaba por estar 100% carregado. O problema é que o número de núcleos na CPU é limitado, portanto a probabilidade de distribuição desigual do padrão só pode ser reduzida, mas é muito problemático minimizá-los. A menos que você treine os padrões em supercomputadores e não em PCs.
Por exemplo, se você computar padrões no supercomputador chinês Tianhe-2, ele tem 3.120.000 núcleos. A probabilidade de distribuição desigual dos padrões por partes da amostra seria insignificante. Se você computar padrões em uma equipe de 4 núcleos (e reservar um par de núcleos para outras tarefas), não é surpreendente que, mais cedo ou mais tarde, você vai encontrar irregularidade.
Quero dizer, é uma coisa útil a fazer. Portanto, em vez de 4 partições, obviamente não o suficiente, você deveria fazer 40 partições. Para 4 núcleos levaria 10 vezes mais tempo a contar, mas suponho que o tempo pode ser sacrificado em favor da robustez.
"Se pode ser feito e se vai fazer algum bem, deve ser feito". (c) Papo Carlo Albertovich.