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

 
elibrarius:
Se unico, è storto. Per esempio, ci sono 100 stringhe di cui 10 sono uniche, di cui 2 sono 45 stringhe e 8 sono 1. Diviso per 5 quanti, è possibile che solo 5 per 1 saranno scelti, e i 2 più rappresentativi (45 ciascuno) saranno saltati.

Diversi approcci funzionano in modo diverso ed efficace su diversi predittori, ecco perché voglio avere diversi algoritmi per capire come sceglierli meglio. Condividerò la mia ricerca se potete tradurre il codice in MT5.

 
Aleksey Vyazmikin:

Con la distribuzione uniforme vedo - creerei prima un array di valori unici e lo userei per tagliare.

Ma ci sono altri metodi per dividere la griglia:

Uniforme - divide semplicemente la gamma di valori, per esempio i valori in una colonna da 0 a 100, passo quantico = 100/255 = 0,39 solo non in righe, ma in valori. Cioè 0,0,39,0,78 .... 99.61

Poi si possono usare questi valori per trovare quelli effettivamente presenti nella colonna e rimuovere i duplicati.


UniformAndQuantiles - basta cercare metà 255/2 = 127 quanti con il metodo 1 e 128 con il metodo 2, e combinarli in un unico array.

I restanti 3 metodi sono complicati - non ho dato un'occhiata.

 
Aleksey Vyazmikin:

Questi sono i metodi di quantizzazione del campionamento per CatBoost - questi sono i confini con cui l'enumerazione/apprendimento procede.

I miei esperimenti mostrano che la griglia dovrebbe essere scelta per ogni predittore separatamente, poi si osserva un guadagno di qualità, ma CatBoost non può farlo e io non posso costruire una griglia e devo costruire griglie e caricarle in csv e poi iterare attraverso di esse per valutare il comportamento del target in esse. Penso che questo sia un chip molto promettente, ma è necessario tradurre il codice in MQL.

1) Ecco come funziona. Prende una colonna separata ordinata e la divide in quanti.

2) È esattamente quello che fa.

 

Uniforme - divide semplicemente la gamma di valori, per esempio i valori in una colonna da 0 a 100, passo quantico = 100/255 = 0,39 solo non in righe, ma in valori. Cioè 0,0,39,0,78 .... 99.61

Poi si possono trovare i valori effettivamente presenti nella colonna e rimuovere i duplicati.


UniformAndQuantiles - basta cercare metà 255/2 = 127 quanti con il metodo 1 e 128 con il metodo 2, e combinarli in un unico array.

Gli altri 3 metodi sono complicati - non li ho approfonditi.

Questi sono quelli complessi che ci interessano :)

E su UniformAndQuantiles conosco la teoria, ma come farlo nella vita reale non capisco - come definire l'area in cui così quanti e così quantili. Qui non capisco - o fino al centro con un metodo, e dopo con un altro - ma è pazzesco.

 
Aleksey Vyazmikin:

La scelta della giusta ripartizione ha un impatto significativo sul risultato.

Ecco un esempio su Recall - fino al 50% di spread - per me è significativo.

Aumentando i limiti da 8 a 512 in incrementi di 512 - anche se non in ordine sull'istogramma - ho i nomi un po' d'impaccio.


Sto ancora sperimentando con la selezione delle mesh, ma è già ovvio che ci sono diversi predittori per i quali hai bisogno di mesh diverse per seguire la logica, non solo per adattarsi.

Prendi 65535 quanti e non preoccuparti. I calcoli saranno il più precisi possibile.

 
Aleksey Vyazmikin:

Questi sono quelli complessi che mi interessano :)

E su UniformAndQuantiles conosco la teoria, ma non capisco come farlo nella vita reale - come definire l'area dove quantizzare e dove quantizzare. Qui non capisco - o fino al centro con un metodo, e dopo un altro - ma è pazzesco.


 
elibrarius:

1) Ecco come funziona. Prende una colonna separata, la ordina e la divide in quanti.

2) È esattamente quello che fa- cosa te lo fa pensare?

Non sa come stimare la relazione tra l'obiettivo e l'insieme di valori quando viene quantizzato. Divide la griglia in un dato numero di segmenti, se possibile, per tutti i predittori, e questo non è sempre necessario. Ma CatBoost sa lavorare con la griglia di quantizzazione alimentata (preparata separatamente), quella che uso io.

 
elibrarius:

Prendi 65535 quanti e non preoccuparti. I calcoli saranno il più precisi possibile.

No, sarà un adattamento, non un modello significativo!

 
elibrarius:


È piuttosto bizzarro.

 
Aleksey Vyazmikin:

Non sa come stimare la relazione tra l'obiettivo e l'insieme di valori quando si quantifica. La griglia è divisa in un dato numero di sezioni, se possibile, per tutti i predittori, e questo non è sempre necessario. Ma CatBoost sa come lavorare con la griglia di quantizzazione presentata (preparata separatamente), quella che uso io.

E sai come?