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

 
Dr.Trader:

Ho disegnato un grafico di R^2 e della percentuale di casi vincenti in funzione del numero di componenti utilizzati. Il miglior risultato sul fronttest è stato con 41 componenti (guadagno di circa il 70%, molto buono). Ma non si può dire che dai grafici di backtest, continuano a salire continuamente. Se ci basiamo sull'importanza dei componenti, dovremmo prenderne 73, che non è il miglior risultato nel fronttest.

R^2 del fronttest può essere negativo anche con >50% di guadagno, a causa di risultati richiesti sbilanciati, il numero di classi "0" è diverso da "1", quindi la loro media non è 0,5, e R^2 è un po' peggiore da questo.

Usa la convalida incrociata per scegliere il numero di componenti. Il miglior valore sulla convalida incrociata controlla poi il set di convalida.
 

Se è il caso, allego il mio dataset (classificazione binaria).

Ci sono nove parametri di input (all'inizio) - tutti informativi e un parametro di output (nella colonna più a destra).

Se l'output è 1 allora la differenza di prezzo di apertura della prossima barra è positiva, se 0 allora è negativa.

La domanda di interesse è: quale avrà una migliore capacità di generalizzazione del mio algoritmo?

File:
datasets.zip  21 kb
 
Yury Reshetov:

Dato che è la prima volta, allego il mio set di dati.

Ci sono nove parametri di input (all'inizio) - tutti informativi e un parametro di output (nella colonna più a destra).

Se l'output è 1, allora la differenza di prezzo di apertura della prossima barra è positiva, se è 0, allora è negativa.

Mi interessa la domanda: chi ha una capacità di generalizzazione migliore del mio algoritmo?

1. Come si dimostra "l'informatività dei predittori"?

2. Cos'è la "generalizzabilità"?

 
SanSanych Fomenko:

1. Come si dimostra l'"informatività dei predittori"?

2. Cos'è la "generalizzabilità"?

1. Un marcato deterioramento della generalizzabilità se almeno un predittore informativo viene rimosso dal campione

2. Vedere il video:


 
Yury Reshetov:

1. Marcato deterioramento della generalizzabilità se almeno un predittore informativo viene rimosso dal campione

2. Vedere il video:


Yury, ciao. Cercherò di vedere i vostri dati.
 
Alexey Burnakov:
Yuri, ciao. Cercherò di dare un'occhiata ai suoi dati.

Saluti!

Se siete interessati ai dati, posso creare uno script che raccoglie le informazioni dai grafici e le scrive in un file.

 
Yury Reshetov:

1. Marcato deterioramento della generalizzabilità se almeno un predittore informativo viene rimosso dal campione

2. Vedere il video:


2. Vedere il video:

Scusate, ma le solite sciocchezze di un dottorando poco istruito a cui non è stato ancora spiegato che ci sono molte altre persone oltre al suo amato che non solo sanno tutto, non solo hanno progredito molto di più, ma lo hanno implementato in algoritmi usati da milioni di persone (se si includono gli studenti qui)

1. Un notevole deterioramento della generalizzabilità se si rimuove almeno un predittore informativo dal campione

Credetemi, purtroppo questo non prova nulla. Inoltre, se l'insieme dei predittori è cattivo (molto rumore), questo effetto sarà tanto più forte quanto maggiore è il rumore. Questo si spiega molto semplicemente: più c'è rumore, più è facile per l'algoritmo trovare un valore "conveniente".

Per quanto riguarda il problema in generale.

Esiste un numero abbastanza grande di algoritmi che determinano l'importanza dei predittori per una data variabile obiettivo. Questi algoritmi possono essere divisi in due gruppi: quelli che sono incorporati nell'algoritmo di costruzione del modello e quelli che esistono autonomamente. Secondo me e secondo l'opinione delle persone sul ramo e sul link che ho citato qui, tutti questi algoritmi soffrono di un difetto comune: se c'è un certo numero critico di predittori rumorosi tra i predittori, l'algoritmo smette di funzionare e inoltre inizia a scartare i predittori che sono rilevanti per la variabile obiettivo.

Questo è il motivo per cui qui al ramo cerchiamo di pulire preliminarmente il set iniziale di predittori, e poi lavorare con il resto dei predittori usando metodi standard.

Per quanto riguarda il suo file.

1. Non sono stato in grado di costruire 6 modelli di classificazione sui tuoi dati: errori superiori al 50%. Se vuoi posso postare i risultati qui

2. La ragione di questo risultato è che avete un insieme molto povero di predittori - rumore, cioè predittori non rilevanti per la variabile obiettivo. I predittori 6, 7 e 8 hanno un certo potere predittivo, ma molto poco. Non lavoro con questi predittori. Gli altri sono solo rumore.

PS.

Se sei davvero interessato all'argomento, tieni d'occhio. Una volta che la padroneggiate, insegnerete a questo ragazzo intelligente del video. Caret ha quasi 200 modelli + funzioni di preparazione molto utili + due algoritmi di selezione dei predittori molto buoni.

PPSS.

Una volta su un forum ho postato la mia visione di ciò che significa "il predittore è rilevante per la variabile obiettivo".

Quindi.

Prendiamo la variabile obiettivo: maschio/femmina.

Predittore: abbigliamento.

Se il predittore (vestiti) contiene solo gonne e pantaloni, allora per la popolazione di un certo numero di paesi questo predittore sarà rilevante al 100% per la variabile obiettivo - inter-ambiguo. Ma i vestiti sono di diverse varietà e di una maggiore varietà. Quindi, non il 100%, ma meno. Cioè otteniamo che un certo insieme di vestiti può avere una relazione con la variabile obiettivo, e un altro insieme può in linea di principio non avere alcuna relazione. Cioè il rumore. Quindi il problema è come trovare tali predittori NOT-noise che saranno rumore in una finestra e non in un'altra. E qual è la misura di questa "rumorosità"?

 
Yury Reshetov:

Saluti!

Se sei interessato ai dati, posso postare uno script che raccoglie le informazioni dai grafici e le scrive in un file.

Anch'io ho una domanda. Dovete costruire un predittore su un treno e misurare l'errore su un test? E possiamo confrontarlo con il tuo risultato, giusto?
 
Alexey Burnakov:
Anch'io ho una domanda. Dovrei costruire un predittore sul treno e misurare l'errore sul test? E possiamo confrontarlo con il tuo risultato, giusto?
Mm-hmm.
 

Colleghi, se avete tempo, potete farmi delle domande sotto l'articolo?https://habrahabr.ru/company/aligntechnology/blog/303750/

Habr è silenzioso a tutti!

Методические заметки об отборе информативных признаков (feature selection)
Методические заметки об отборе информативных признаков (feature selection)
  • habrahabr.ru
Всем привет! Меня зовут Алексей Бурнаков. Я Data Scientist в компании Align Technology. В этом материале я расскажу вам о подходах к feature selection, которые мы практикуем в ходе экспериментов по анализу данных. В нашей компании статистики и инженеры machine learning анализируют большие объемы клинической информации, связанные с лечением...
Motivazione: