L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 56
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Qualche anno. Qui nel thread c'è il suo risultato.
Puoi darmi un link, per favore?
Almeno con una rigorosa separazione in un campione di allenamento e un campione di test per date, invece di mischiare casualmente i campioni con una distribuzione uniforme nel campione generale e poi dividerlo in parti. Può succedere che una parte del campione contenga soprattutto tendenze verticali, mentre l'altra parte contiene tendenze laterali. Se applichiamo il mescolamento casuale, la probabilità di raccogliere modelli simili in diverse parti del campione diminuisce.
A proposito, un tale svantaggio è presente anche nel tester di strategia integrato di MetaTrader, cioè divide il campione di allenamento e il test in avanti rigorosamente per date. A causa di ciò, il cambiamento delle tendenze del mercato vicino alla linea di demarcazione può portare a un sovrallenamento deliberato.
Così lei, come ogni commerciante che si rispetti, ha pronunciato la risposta.
Questo è il punto chiave della pianificazione degli esperimenti. In realtà, c'è una rigida separazione nel tempo. È così che il modello viene testato per il futuro nel pieno senso della parola.
Si chiama campione sbilanciato ed è un problema di apprendimento automatico.
Per renderlo più chiaro, vi farò un esempio. Supponiamo di avere un campione di allenamento in cui prevalgono le tendenze al ri alzo e quindi le tendenze al ribasso sono meno presenti nel campione rispetto alle tendenze al rialzo, cioè abbiamo uno squilibrio.
Supponiamo di avere 1.000 movimenti al ribasso nel campione e 10.000 movimenti al rialzo. E supponiamo che l'errore di classificazione per i movimenti verso l'alto sia del 10%. Ma quel dieci per cento per 10.000 esempi equivale a 1.000 falsi segnali classificati come predittivi di movimenti al ribasso e noi abbiamo solo 1.000 esempi con movimenti al ribasso nel campione. Ciò significa che non importa quanto sia accurata la classificazione di un movimento verso il basso, per qualsiasi risposta di un classificatore che prevede che un movimento futuro sia potenzialmente verso il basso, il suo errore sarà almeno del 50%. Cioè, più gli esempi nel campione di formazione per una qualsiasi classe sono sbilanciati, maggiore è l'impatto dell'errore di classificazione per quella classe sulla qualità delle risposte del classificatore per un'altra classe.
Per questo motivo è molto difficile prevedere i fenomeni rari: terremoti, eruzioni vulcaniche, crisi economiche, ecc. Perché se il fenomeno è molto raro e poco rappresentativo nel campione, qualsiasi errore per gli esempi di classi opposte diventa eccessivo per i fenomeni rari.
Quindi un campione di allenamento deve essere pre-bilanciato in modo da contenere lo stesso numero di esempi per tutte le classi. Altrimenti, le classi poco rappresentative hanno maggiori probabilità di fallire i test al di fuori del set di allenamento. Inoltre, quando si divide il campione generale in porzioni di allenamento e di test, è necessario mescolare gli esempi utilizzando PRNG con una distribuzione di probabilità uniforme, al fine di evitare l'affollamento di esempi con predittori simili in una porzione e predittori diversi nell'altra. Cioè, per evitare uno squilibrio nei predittori e non solo nelle variabili dipendenti.
Questo è chiamato campionamento sbilanciato ed è un problema di apprendimento automatico.
Per renderlo più chiaro, vi faccio un esempio. Supponiamo di avere un campione di allenamento in cui prevalgono le tendenze al rialzo, il che significa che ci sono meno tendenze al ribasso che al rialzo, cioè abbiamo uno squilibrio.
Supponiamo di avere 1.000 movimenti al ribasso nel campione e 10.000 movimenti al rialzo. E supponiamo che l'errore di classificazione per i movimenti verso l'alto sia del 10%. Ma quel dieci per cento per 10.000 esempi equivale a 1.000 falsi segnali classificati come predittivi di movimenti al ribasso e noi abbiamo solo 1.000 esempi con movimenti al ribasso nel campione. Ciò significa che non importa quanto sia accurata la classificazione di un movimento verso il basso, per qualsiasi risposta di un classificatore che prevede che un movimento futuro sia potenzialmente verso il basso, il suo errore sarà almeno del 50%. Cioè, più gli esempi nel campione di formazione per una qualsiasi classe sono sbilanciati, maggiore è l'impatto dell'errore di classificazione per quella classe sulla qualità delle risposte del classificatore per un'altra classe.
Per questo motivo è molto difficile prevedere i fenomeni rari: terremoti, eruzioni vulcaniche, crisi economiche, ecc. Dopo tutto, se il fenomeno è molto raro e scarsamente rappresentato nel campione, allora qualsiasi errore per esempi di classi opposte diventa eccessivo per fenomeni rari.
Quindi il campione di allenamento deve essere pre-bilanciato in modo che abbia lo stesso numero di esempi per tutte le classi. Altrimenti, le classi poco rappresentative hanno maggiori probabilità di fallire i test al di fuori del set di allenamento. Inoltre, quando si divide il campione generale in porzioni di allenamento e di test, è necessario mescolare gli esempi utilizzando PRNG con una distribuzione di probabilità uniforme, al fine di evitare l'affollamento di esempi con predittori simili in una porzione e predittori diversi nell'altra. Cioè evitare lo squilibrio nei predittori e non solo nelle variabili dipendenti.
E quindi il campione di allenamento dovrebbe essere pre-bilanciato, in modo che contenga esempi per tutte le classi in numero uguale. Altrimenti, le classi poco rappresentative hanno maggiori probabilità di fallire i test al di fuori del set di allenamento. Inoltre, quando si divide il campione generale in parti di addestramento e di test, è necessario mescolare gli esempi utilizzando PRGPs con una distribuzione di probabilità uniforme al fine di evitare l'affollamento di esempi con predittori simili in una parte e predittori diversi nell'altra parte. Cioè evitare lo squilibrio nei predittori e non solo nelle variabili dipendenti.
pacchetto caret
Una coppia di funzioni: downSample/upSample - diminuisce/aumenta il numero di osservazioni, ottenendo classi completamente bilanciate. Il downsample/upsample si basa su un semplice algoritmo di campionamento casuale.
PS.
Reshetov!
Iniziare a studiare R. Sempre più spesso si scivola nei luoghi comuni.
Reshetov!
Iniziare a studiare R. Stai scivolando sempre più spesso nei luoghi comuni.
Yuri, ho capito l'idea. Il campione può effettivamente essere sbilanciato sia nella formazione che nella convalida. Ma in realtà state negoziando il futuro dove il bias può essere molto forte. E la strategia dovrebbe essere resistente a tale risultato.
ti accechi agli intervalli di date; - separare i dati esattamente per data (prima del giorno X - formazione, dopo - convalida)
Il punto è semplice. Nel mondo reale nessuno vi permetterà di prendere un campione misto contenente osservazioni dal futuro e dal passato per valutare la qualità del trading reale. Tutte le osservazioni andranno dopo il giorno x.
Quindi, prendendo un campione misto nella convalida (senza separazione delle date), state sovrastimando la metrica di qualità sulla convalida. Questo è tutto. Allora ci saranno sorprese spiacevoli.