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

 
SanSanych Fomenko:

Não faz sentido fazer testes e a citação original, porque é óbvio para os olhos que a série não é estacionária.

E interessantes (não para mim - eu sempre o uso) são os gráficos para log das séries cronológicas(p/p-1).

O que está aí dentro? E é claro que precisas de uma escala no eixo das ordenadas.

Eu não usei uma escala para caber dois gráficos em um quadro, para economizar espaço, mas as coordenadas Y eram originalmente diferentes.

O resultado é totalmente diferente da última vez, aqui estão os gráficos mais interessantes, o resto está no arquivo, por isso não tenho que colar 10 fotos aqui. Mas o gráfico de entropia não é nada interessante.

Atacha script, em R-Studio você pode rolar para frente e para trás na história de todos os enredos

Oops, erro de digitação no código novamente, reatacou o arquivo .txt

Arquivos anexados:
 
SanSanych Fomenko:


Discutiu os componentes principais e viu a desvantagem de ter um algoritmo sem um professor.

Aqui está com o professor:

Estrias de embalagem.

Obrigado, pela descrição na grua eu nem teria adivinhado (Regressão e Classificação dos mínimos quadrados parciais (SPLS) Sparse Partial Least Squares)

 
Dr. Trader:

Eu não usei a escala para caber dois gráficos em um quadro, para economizar espaço, mas suas coordenadas em Y eram originalmente diferentes.

O resultado é bem diferente da última vez, aqui estão os gráficos mais interessantes, o resto está no arquivo para não colar 10 figuras aqui. Mas o gráfico de entropia não é nada interessante.

Atacha script, em R-Studio você pode rolar para frente e para trás na história de todos os enredos

Oops, digite o código novamente, reintegre o arquivo .txt.

Fotos fantásticas!

Você pode dizer pelo teste de arco que há parcelas onde funcionam modelos de arima. Mas há sempre um problema: somos todos muito espertos na história e aprendemos que só podemos usar arima depois de a termos passado! E assim com todas as nossas teorias: forte visão a posteriori.

 
Dr. Trader:

Para dar seguimento a isto -https://www.mql5.com/ru/forum/86386/page643#comment_6472393


A função para peneirar os preditores aleatórios.forest.importance() mostrou resultados bastante decentes em alguns testes. É inconveniente que, na sua opinião, todos os preditores sejam pelo menos um pouco importantes... Mas se, por exemplo, calcularmos a importância média e tomarmos apenas os preditores que estão acima da média, obtemos resultados muito bons.

Qual a importância? Gini ou Permutação (MDA)

P.s. há outros métodos que você pode usar para comparar http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/

Selecting good features – Part IV: stability selection, RFE and everything side by side
  • 2014.12.20
  • blog.datadive.net
In this post, I’ll look at two other methods: stability selection and recursive feature elimination (RFE), which can both considered wrapper methods. They both build on top of other (model based) selection methods such as regression or SVM, building models on different subsets of data and extracting the ranking from the aggregates. As a wrap-up...
 
Dr. Trader:

Encontrei outro pacote interessante para peneirar os preditores. Chama-se FSelector. Oferece cerca de uma dúzia de métodos para peneirar os preditores, incluindo a entropia.

Recebi o arquivo com os preditores e o alvo dohttps://www.mql5.com/ru/forum/86386/page6#comment_2534058.


A avaliação do preditor por cada método que apresentei no gráfico no final.

Azul é bom, vermelho é ruim (para corrplot os resultados foram escalados para [-1:1], para uma estimativa precisa veja resultados de chamadas para cfs(targetFormula, trainTable), chi.squared(targetFormula, trainTable), etc.)
Você pode ver que X3, X4, X5, X19, X20 são bem avaliados por quase todos os métodos, você pode começar com eles, então tente adicionar/remover mais.

No entanto, os modelos em chocalho falharam no teste com estes 5 preditores no Rat_DF2, mais uma vez não aconteceu nenhum milagre. Ou seja, mesmo com os demais preditores você tem que ajustar os parâmetros do modelo, fazer a validação cruzada, adicionar/remover os preditores você mesmo.

O FSelector veio da WEKA, significa que usa Java. Consome muita memória. É melhor usar o FSelectorRcpp.

Boa sorte.

 

Aqui está mais entropia(preço) e archTest(log(p/p-1)) ao mesmo tempo. Aos olhos que não parecem estar correlacionados, não vejo nenhum sinal. Quem tem olho para indicadores pode notar alguma coisa.


 
Maxim Dmitrievsky:

Qual é a importância disso? Gini ou Permutação (MDA)

Há 2 tipos à escolha -
1=mínimo diminuição da precisão (isto é provavelmente mda, corresponde às primeiras letras)
2=mínimo decréscimo na impureza do nó

 
Dr. Trader:

Há 2 tipos à escolha -
1=mínimo decréscimo na precisão (é provavelmente o que é mda, corresponder às primeiras letras)
2=mínimo decréscimo na impureza do nó

Sim, é ele, obrigado, o segundo mdi.

 
Dr. Trader:

Aqui está mais entropia(preço) e archTest(log(p/p-1)) ao mesmo tempo. Aos olhos que não parecem estar correlacionados, não vejo nenhum sinal. Quem tem olho para os indicadores - pode notar alguma coisa.


um indicador de volatilidade regular acaba por se revelar )

Mas o teste do arco não mostra nada.

 

Há um interesse indubitável em avaliar a importância dos preditores.

O sistema mais variado está no pacote CORElearn (em tempos foi fortemente recomendadopor Vladimir Perervenko)

Tem várias funções para avaliação.

Na primeira fase, é uma função:

ordEval(formula, data, file=NULL, rndFile=NULL,
variant=c("allNear","attrDist1","classDist1"), ...)

ordEval вычисляет результирующие вероятностные факторы, соответствующие эффекту увеличение/уменьшение значимости атрибута для класса.
Алгоритм оценивает строго зависимые упорядоченные атрибуты, в которых значения отдельных атрибутов зависят от других атрибутов в разной манере.

Na segunda etapa, a função

attrEval(formula, data, estimator, costMatrix = NULL, ...)

estimator       Имя метода оценки. Ниже 37 имен.

[1]     "ReliefFequalK"      "  ReliefFexpRank" "ReliefFbestK"  "Relief"
[5]     "InfGain"            "GainRatio"        "MDL"            "Gini"
[9]     "MyopicReliefF"      "Accuracy"         "ReliefFmerit"  "ReliefFdistance"
[13]    "ReliefFsqrDistance"    "DKM"           "ReliefFexpC"   "ReliefFavgC"
[17]    "ReliefFpe"          "ReliefFpa"        "ReliefFsmp"    "GainRatioCost"
[21]    "DKMcost"            "ReliefKukar"      "MDLsmp"        "ImpurityEuclid"
[25]    "ImpurityHellinger"     "UniformDKM"    "UniformGini"   "UniformInf"
[29]    "UniformAccuracy"       "EqualDKM"      "EqualGini"     "EqualInf"
[33]    "EqualHellinger"        "DistHellinger" "DistAUC"       "DistAngle"
[37]    "DistEuclid"                     


Дополнительный параметр costMatrix может включить неоднородную матрицу стоимости для классификаций, чувствительных к стоимости мер 
(ReliefFexpC, ReliefFavgC, ReliefFpe, ReliefFpa, ReliefFsmp, GainRatioCost, DKMcost, ReliefKukar и MDLsmp). 



Como você pode ver, há muito espaço para exercícios para determinar a importância dos preditores.