L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 645

 
SanSanych Fomenko:

Non ha senso eseguire dei test sulla citazione originale, perché è ovvio a occhio che la serie non è stazionaria.

E interessanti (non per me - lo uso sempre) sono i grafici per le serie temporali log(p/p-1).

Cosa c'è lì dentro? E naturalmente avete bisogno di una scala sull'asse delle ordinate.

Non ho usato una scala per adattare due grafici in un frame, per risparmiare spazio, ma le coordinate Y erano originariamente diverse.

Il risultato è totalmente diverso dall'ultima volta, qui ci sono i grafici più interessanti, il resto è nell'archivio, quindi non devo incollare 10 immagini qui. Ma il grafico dell'entropia non è affatto interessante.

Script Atacha, in R-Studio è possibile scorrere avanti e indietro la storia di tutti i plot

Ops, errore di battitura nel codice di nuovo, ho riattaccato il file .txt

 
SanSanych Fomenko:


Ha discusso i componenti principali e ha visto lo svantaggio di avere un algoritmo senza un insegnante.

Qui è con l'insegnante:

Pacchetto spls.

Grazie, dalla descrizione in cran non l'avrei mai detto (Sparse Partial Least Squares (SPLS) Regression and Classification)

 
Ildottor Trader:

Non ho usato la scala per adattare due grafici in un frame, per risparmiare spazio, ma le loro coordinate Y erano originariamente diverse.

Il risultato è abbastanza diverso dall'ultima volta, qui ci sono i grafici più interessanti, il resto è nell'archivio per non attaccare 10 immagini qui. Ma il grafico dell'entropia non è affatto interessante.

Script Atacha, in R-Studio è possibile scorrere avanti e indietro la storia di tutti i plot

Ops, errore di battitura nel codice di nuovo, ho riattaccato il file .txt.

Grandi foto!

Si può dire dall'arch-test che ci sono trame in cui i modelli arima funzionano. Ma c'è sempre un problema: siamo tutti molto intelligenti sulla storia e impariamo che possiamo usare arima solo dopo averla superata! E così con tutte le nostre teorie: forte senno di poi.

 
Ildottor Trader:

Per continuare su questo -https://www.mql5.com/ru/forum/86386/page643#comment_6472393


La funzione per setacciare i predittori random.forest.importance() ha mostrato risultati abbastanza decenti su alcuni test. È sconveniente che a suo parere tutti i predittori siano almeno un po' importanti... ma se per esempio calcoliamo l'importanza media e prendiamo solo i predittori che hanno un'importanza superiore alla media, otteniamo ottimi risultati.

Qual è l'importanza? Gini o Permutazione (MDA)

P.s. Ci sono altri metodi che potete usare per confrontare 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...
 
Ildottor Trader:

Ho trovato un altro pacchetto interessante per setacciare i predittori. Si chiama FSelector. Offre circa una dozzina di metodi per setacciare i predittori, compresa l'entropia.

Ho preso un file con predittori e un obiettivo da qui -https://www.mql5.com/ru/forum/86386/page6#comment_2534058


La valutazione del predittore per ogni metodo che ho mostrato nel grafico alla fine.

Il blu è buono, il rosso è cattivo (per il corrplot i risultati sono stati scalati a [-1:1], per una stima accurata vedere i risultati delle chiamate a cfs(targetFormula, trainTable), chi.squared(targetFormula, trainTable), ecc.)
Puoi vedere che X3, X4, X5, X19, X20 sono ben valutati da quasi tutti i metodi, puoi iniziare con loro, poi provare ad aggiungere/rimuovere altro.

Tuttavia, i modelli in rattle hanno fallito il test con questi 5 predittori su Rat_DF2, di nuovo nessun miracolo. Cioè, anche con i predittori rimanenti devi regolare i parametri del modello, fare la validazione incrociata, aggiungere/rimuovere i predittori da solo.

FSelector viene da WEKA, significa che usa Java. Consuma molta memoria. È meglio usare FSelectorRcpp.

Buona fortuna

 

Ecco più entropia(prezzo) e archTest(log(p/p-1)) allo stesso tempo. Ad occhio non sembrano correlati, non vedo alcun segnale. Chi ha occhio per gli indicatori può notare qualcosa.


 
Maxim Dmitrievsky:

Qual è l'importanza? Gini o Permutazione (MDA)

Ci sono 2 tipi tra cui scegliere -
1=diminuzione media della precisione (questo è probabilmente mda, corrisponde alle prime lettere)
2=diminuzione media dell'impurità del nodo

 
Ildottor Trader:

Ci sono 2 tipi tra cui scegliere -
1=diminuzione media della precisione (probabilmente è quello che è mda, corrisponde alle prime lettere)
2=diminuzione media dell'impurità del nodo

Sì, è lui, grazie, il secondo mdi.

 
Ildottor Trader:

Ecco più entropia(prezzo) e archTest(log(p/p-1)) allo stesso tempo. Ad occhio non sembrano correlati, non vedo alcun segnale. Chi ha occhio per gli indicatori - può notare qualcosa.


un indicatore di volatilità regolare risulta )

Ma il test dell'arco non mostra nulla

 

Vedo che c'è un innegabile interesse a valutare l'importanza dei predittori.

Il sistema più vario è nel pacchetto CORElearn (un tempo era fortemente raccomandatoda Vladimir Perervenko)

Ha diverse funzioni di valutazione.

Al primo stadio è una funzione:

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

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

Al secondo stadio la funzione

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). 



Come potete vedere, c'è molto spazio per gli esercizi nel determinare l'importanza dei predittori.