L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 57
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
Ebbene, la sostenibilità si ottiene prevenendo il potenziale eccesso di apprendimento. E un campione di allenamento sbilanciato è una potenziale causa di sovrallenamento per le classi poco rappresentative. Dopo tutto, l'algoritmo di apprendimento cerca di agire come meglio crede, non come deve per aumentare la generalizzabilità. Se il campione è sbilanciato, minimizzerà gli errori di apprendimento sulle classi meno rappresentative, perché gli esempi per queste classi sono pochi ed è più facile imparare a memoria invece di generalizzare. Dopo un tale apprendimento meccanico non c'è nulla di cui sorprendersi se al di fuori del campione di allenamento gli errori algoritmici più probabili saranno nelle classi meno rappresentative.
Il pensiero è semplice. Nella vita reale, nessuno vi permetterà di prendere un campione misto contenente osservazioni del futuro 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.
Cosa c'entra il pensiero? Il pensiero è soggettivo. Il pensiero può essere sia corretto che deliberatamente sbagliato. Perché l'immaginazione è problematicamente limitata. Il criterio della verità è sempre l'esperienza.
Prendete due campioni di allenamento, uno pre-bilanciato e l'altro altamente sbilanciato. Addestrare l'algoritmo su entrambi i campioni e misurare la capacità di generalizzazione sulle parti di prova. Poi confrontare la capacità di generalizzazione. Quello che dà la migliore capacità di generalizzazione sarà il criterio di verità.
Altrimenti penseremo e speculeremo fino a perdere il polso. Dopo tutto, il disaccordo nasce nel dibattito, la verità nasce nell'esperienza.
Quindi ho finito di discutere ulteriormente l'argomento del campione di allenamento bilanciato. Altrimenti questo coro può continuare all'infinito, dato che ci sono due opinioni diverse e continuare a misurare chi di noi pensa più correttamente è una perdita di tempo.
Bene, la stabilità si ottiene evitando il sovrallenamento. E un campione di allenamento sbilanciato è una potenziale ragione di sovrallenamento per le classi poco rappresentative. Dopo tutto, l'algoritmo di apprendimento cerca di agire come meglio crede, non come deve per aumentare la generalizzabilità. Se il campione è sbilanciato, minimizzerà gli errori di apprendimento sulle classi meno rappresentative, perché gli esempi per queste classi sono pochi ed è più facile imparare a memoria invece di generalizzare. Dopo un tale apprendimento meccanico, non è sorprendente che al di fuori del campione di allenamento, gli errori dell'algoritmo nelle classi meno rappresentative sono più probabili.
1. Su classi sbilanciate, è un casino: l'errore tra le classi può divergere di diverse volte. E qual è quello giusto?
2. Non è sempre possibile bilanciare le classi.
Il tuo esempio con BUY|SELL. Quando il numero di osservazioni (barre) è superiore a 3000 la differenza di squilibrio sarà del 10% al massimo del 20%. È abbastanza possibile bilanciare.
E quiDr.Trader ha suggerito la variabile target "Pivot/Non Pivot". Credo che l'abbia preso da ZZ. Quindi, in questa variabile obiettivo, le classi sbilanciate varieranno di ordini di grandezza. Se aumentiamo alla classe massima, possiamo insegnare su un campione così equilibrato? Mi sembra di no.
Quindi non è così semplice con il bilanciamento.
Dalla mia esperienza personale:
Non ho potuto trovare altre soluzioni.
Mollo tutto e divento un adepto della R per poter giocare i numeri con una faccia seria.
Finora non ho notato che giochi a numeri, ma non so la tua faccia - non riesco a vederla.
Cosa c'entra il pensiero? Il pensiero è soggettivo. Il pensiero può essere sia corretto che deliberatamente sbagliato. Perché l'immaginazione è problematicamente limitata. Il criterio della verità è sempre l'esperienza.
Prendete due campioni di allenamento, uno pre-bilanciato e l'altro altamente sbilanciato. Addestrare l'algoritmo su entrambi i campioni e misurare la capacità di generalizzazione sulle parti di prova. Poi confrontare la capacità di generalizzazione. Quello che dà la migliore capacità di generalizzazione sarà il criterio di verità.
Altrimenti penseremo e speculeremo fino a perdere il polso. Dopo tutto, il disaccordo nasce nella discussione e la verità nasce nell'esperienza.
E quindi smetterò di discutere ulteriormente l'argomento del bilanciamento del campione di allenamento. Altrimenti questo cholivar può continuare all'infinito perché ci sono due opinioni diverse e continuare a misurare a chi di noi pensa correttamente - una perdita di tempo.
Io intendo una cosa, tu un'altra. Io dico che bisogna dividere il set rigorosamente per date. E tu parli di equilibrio.
Mi dispiace, ma ho già detto che non vedo il motivo di continuare questo coro. Ho già cercato di spiegare i difetti dell'equilibrio con degli esempi. Probabilmente non è molto convincente, vero? Non sono bravo nella retorica nera, quindi non posso trasformare il nero in bianco con una faccia seria. Quindi non siate troppo duri con me.
È più probabile che tu stia cercando di convincermi che stai presumibilmente cercando di "costringerti" a bilanciare la realtà? Ma non ho questa intenzione. So che la realtà è, purtroppo per me, spesso sbilanciata e le opportunità di equilibrarla non sono sempre disponibili. Perciò nei miei post ho cercato di spiegarvi che non è necessario cercare di bilanciare la realtà al di fuori del campione di allenamento, ma è necessario e sufficiente bilanciare il campione di allenamento, in modo che il modello ottenuto da esso non sia sbilanciato nella direzione delle classi altamente rappresentative. Quando si divide il campione generale in parti per date, è anche spesso impossibile raggiungere un equilibrio. Ecco perché io bilancio il campione di formazione non in base alle date, ma in base all'equa rappresentatività delle classi in esso contenute.
Non ho intenzione di rispondere ad altre domande sul bilanciamento del set di allenamento. Quindi questo coro si è già trascinato.
Mi dispiace, ma ho già detto che non vedo il motivo di continuare questo coro. Ho già cercato di spiegare i difetti dell'equilibrio con degli esempi. Probabilmente non è molto convincente, vero? Non sono bravo nella retorica nera, quindi non posso trasformare il nero in bianco con una faccia seria. Quindi non siate troppo duri con me.
È più probabile che tu stia cercando di convincermi che stai presumibilmente cercando di "costringerti" a bilanciare la realtà? Ma non ho questa intenzione. So che la realtà è, purtroppo per me, spesso sbilanciata e le opportunità di equilibrarla non sono sempre disponibili. Perciò nei miei post ho cercato di spiegarvi che non è necessario cercare di bilanciare la realtà al di fuori del campione di allenamento, ma è necessario e sufficiente bilanciare il campione di allenamento, in modo che il modello ottenuto da esso non sia sbilanciato nella direzione delle classi altamente rappresentative. Quando si divide il campione generale in parti per date, è anche spesso impossibile raggiungere un equilibrio. Perciò equilibro il campione di allenamento non in base alle date, ma in base all'equa rappresentatività delle classi in esso contenute.
Non risponderò ad altre domande sul bilanciamento del set di allenamento. Quindi stiamo già facendo un gran casino.
Voglio intervenire per completare il quadro e ribadire la mia opinione sopra il thread.
1. Bisogna avere due serie di dati: la seconda è un'estensione della prima nel tempo.
2. Bilanciare la prima serie di dati. Sicuramente lo bilanciamo.
3. Dividiamo casualmente il primo set di dati in tre parti: training, testing e validazione.
4. Otteniamo un errore sul secondo set, che è una continuazione del primo set nel tempo.
Se l'errore su tutti i QUATTRO set è circa lo stesso, allora il modello non viene riqualificato. Se l'errore ha un valore decente, possiamo tranquillamente andare oltre, cioè farlo passare attraverso il tester.
Se c'è una differenza significativa (più del 30%), allora il set di predittori originale porta al retraining del modello e per esperienza personale sostituire il tipo di modello non può risolvere nulla, in termini di retraining. Dobbiamo sbarazzarci dei predittori di rumore. Può facilmente accadere che non ci siano affatto predittori di rumore tra i predittori.