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

 
Yury Reshetov:



Não seria melhor integrar-se no R?

E mais pessoas serão capazes de trabalhar e as pontes mt5 com R parecem estar disponíveis

 
Dr. Trader:

Eu nunca tentei isso, mas tecnicamente você também poderia tratar a variável alvo como um preditor, incluindo-a no modelo pca. Então, nos novos dados o seu valor será desconhecido, de acordo com isso o pca pode preencher estes valores em falta.

Tentei prever os componentes da cabeça e não consegui nada interessante...

Você poderia tentar também, há um pacote muito bom e bem documentado para ele "Rssa".

 
Dr. Trader:

Não, está tudo bem. Como os preditores utilizados para cada um dos componentes principais são conhecidos, podemos rastrear com segurança os preditores que não são utilizados nos componentes principais.

Como assim, não são usados? O PCA é uma transformação linear. As dimensões que podem ser eliminadas são aquelas que podem ser obtidas por uma combinação linear das outras. Isso significa que qualquer preditor pode ser obtido por uma combinação linear dos componentes principais. Se você tomar um intervalo de 95%, há uma boa chance de perder um bom preditor estupidamente por causa da escala, um intervalo inferior a 100% só é usado na compressão de dados com perda, caso contrário, apenas os componentes que são nulos são sempre cortados.

 
mytarmailS:
Raios, eu suspeitava que não era por acaso que estes espectáculos de "NA" eram lançados na data, mas li o manual, diz claramente PCA com uma rede neural, mas depois ainda não está claro como é que este tipo do site conseguiu esta bela imagem com uma boa separação por classes

As fotos têm um ponto diferente aí... O artigo em si não é sobre classificação, mas sim sobre agrupamento. Você tem dados, você precisa dividi-los em grupos de alguma forma. Nem sabes quantos grupos tens - dois, três, dez... O autor utiliza um gráfico dos dois primeiros componentes do PCA onde o importante é o quão próximos estão os pontos de um grupo um do outro. As cores já são uma análise comparativa, e são atribuídas a partir de variáveis-alvo já conhecidas, que não são calculadas, mas simplesmente retiradas da tabela. Se os grupos de pontos forem distribuídos corretamente por cores, então tudo está bem, o método parece funcionar e podemos experimentá-lo com outros dados. Mas há realmente zero previsões no artigo, apenas agrupamento e comparação com a classificação conhecida.

Você pode desenhar um gráfico semelhante no artigo do meu post anterior. O resultado será um gráfico como este: http://i0.wp.com/www.win-vector.com/dfiles/YAwarePCA_files/figure-html/scaledplotest-1.png Não há aqui um bom clustering, dados de entrada diferentes. Mas se você usar a íris de tabela como dados de entrada, você receberá algo semelhante aos gráficos do artigo que você deu.

 
Combinador:
O PCA foi originalmente concebido para reduzir a dimensionalidade da série original. É tudo. Utilizá-lo para selecionar os preditores é ilusório.
Poderia, por favor, refutar PROPERIMENTE o conteúdo do artigo ao qual eu liguei. Neste pontoDr.Trader: tentou usar este material. Para o usar muito especificamente. O resultado é negativo. Talvez você possa nos dar uma opinião sobre o assunto também?
Principal Components Regression, Pt. 3: Picking the Number of Components | R-bloggers
Principal Components Regression, Pt. 3: Picking the Number of Components | R-bloggers
  • Nina Zumel
  • www.r-bloggers.com
In our previous note we demonstrated Y-Aware PCA and other y-aware approaches to dimensionality reduction in a predictive modeling context, specifically Principal Components Regression (PCR). For our examples, we selected the appropriate number of principal components by eye. In this note, we will look at ways to select the appropriate number...
 
mytarmailS:

Não seria melhor integrar-se no R?

E mais pessoas serão capazes de trabalhar e as pontes mt5 com R parecem estar disponíveis

A julgar pelo facto do Dr.Trader já se ter despenhado ao tentar portar a velha libVMR para R e não ter memória suficiente para uma grande máquina nuclear e desempenho total para uma pequena (reduziu o número de ciclos em 100 vezes), duvido que houvesse pessoas dispostas a cometer os mesmos erros.


Então, é melhor não começar ainda a falar em portar para R para tais tarefas - este chato não vai puxá-lo.

 
Yury Reshetov:

A julgar pelo facto de o Dr.Trader já se ter despenhado ao tentar portar a velha libVMR para R e não ter memória suficiente para uma grande máquina nuclear, bem como desempenho total para uma pequena (o número de ciclos foi reduzido em 100 vezes), é pouco provável que haja pessoas dispostas a pisar no mesmo ancinho?


Por isso, é melhor não dizer uma palavra sobre o retrato em R como esta - este clunker é muito lento.

Eu queria criar um pacote para "R" .

"R" consiste em 70% dos pacotes escritos em outras línguas (C++, C, fortran, java...) então a velocidade de processamento não deve sofrer, ou estou a perder alguma coisa?

o famoso pacote "h2o" está todo escrito em java

 
mytarmailS:

Eu queria criar um pacote para "R".

"R" consiste em cerca de 70% das embalagens escritas em línguas "estrangeiras" (C++,C,fortran,java...) pelo que a velocidade de processamento não deve sofrer, ou estou a perder alguma coisa?

o famoso pacote "h2o" está todo escrito em java

Eu não sabia disso. Vou tentar procurar por instruções sobre como criar pacotes em Java.
 
Yury Reshetov:


Mais especificamente no ficheiro do relatório:

/**
* A qualidade da modelagem fora da amostra:
*
* TruePositives: 182
* TrueNegative: 181
* FalsePositives: 1
* FalseNegative: 1
* Total de padrões dentro fora da amostra com estatísticas: 365
* Total de erros dentro fora da amostra: 2
* Sensibilidade de generalização abiliy: 99.4535519125683%
* Especificidade da capacidade de generalização: 99,45054945054946%
* Capacidade de generalização: 98,90410136311776%
* Indicador da Reshetov: 8,852456238401455
*/

Desculpa, não acredito, é demasiado gráfico. Pode repetir a experiência, por favor? Anexei outro arquivo, ali os dados são para um período de tempo diferente. O treinamento modelo deve ser em train.csv, teste em test_notarget.csv. Estou interessado nos resultados previstos para o arquivo test_notarget.csv. O arquivo para teste não contém a variável alvo, para ser justo. Mas há mais um arquivo com senha com resultados para test test.csv, eu darei senha para comparação em troca dos resultados previstos.

Arquivos anexados:
forex_test.zip  2699 kb
 
Combinador:

Como assim, não são usados? O PCA é uma transformação linear. Dimensões removíveis -- aquelas que podem ser obtidas por uma combinação linear das outras. Isto significa que qualquer preditor pode ser obtido por uma combinação linear dos componentes principais. se você tomar um intervalo de 95%, há uma boa chance de perder um bom preditor estupidamente por causa da escala, um intervalo inferior a 100% só é usado na compressão de dados com perda, caso contrário, apenas os componentes que são zero são sempre cortados.

Não o disse com precisão, mas acertou. O objetivo é exatamente pegar componentes suficientes para 95% de precisão e descartar o resto. Exemplo: existem 10000 preditores, isto significa que podem ser criados 10000 componentes para uma precisão garantida de 100%. Podemos então descartar os 9.900 componentes para deixar 100, mas a precisão será reduzida em apenas 5%, de 100% para 95%. O resto dos 100 componentes deve ser analisado e os preditores que não são usados neles devem ser removidos. Uma perda de 5% não é um problema, porque é importante prever a variável alvo, não para recriar os dados originais sem perda.