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

 
ivanivan_11:

continuare a usare la R di mt5 tramite stampelle. meno male che le hanno - mt4r.

Mi scusi. mt4r funziona anche per il 5? Avete controllato?
 
Alexey Burnakov:
Mi dispiace. Funziona anche mt4r per 5? Avete controllato?
Guarda qui, youtz https://www.mql5.com/ru/forum/37931/page10#comment_2945898
Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""
Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""
  • www.mql5.com
Мы создадим индикатор и эксперт, использующие модель глубокой сети и работающих в связке по схеме клиент-сервер и проведем их тестирование.
 
ivanivan_11:
vedere qui, youtz https://www.mql5.com/ru/forum/37931/page10#comment_2945898
О. E non c'è altro da dire. Voglio appuntare un modello di binning a gradiente con 500 alberi, per favore. Voglio una regressione robusta con un regolarizzatore a rete elastica, per favore. E questi metodi non sono qualcosa che si vede molto spesso. E sotto la R ce ne sono molti.
 
Quantum:

Articolo "Computing discrete mixtures of continuous distributions" è disponibile sul sito web dell'autore.

Gli autori dell'articolo dicono che il problema è nel criterio di convergenza della serie.


L'implementazione del loro algoritmo di ricorrenza proposto 7.2 https://github.com/neurodebian/afni_removeme_eventually/blob/master/nct.c.

Tuttavia, il calcolo della ricorrenza ha delle incertezze. Per esempio, per la funzione beta:


#include <Math\Stat\Math.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double a=1;
   double b=1;
   double r_beta=MathBeta(a,b);
   for(int j=0; j<40; j++)
     {
      if(j>0)
        {
         r_beta*=((a+j-1)/(a+b+j-1));
        }
      double beta=MathBeta(a+j,b);
      PrintFormat("%d   error=%5.20e",j,beta-r_beta);
     }
  }

Il calcolo della CDF può essere abbastanza accurato, ma per convertire i quantili con grande precisione, la sua accuratezza può non essere sufficiente.

Pertanto, abbiamo usato la somma diretta senza calcoli di ricorrenza nell'algoritmo per il calcolo dei quantili.

Grazie per le informazioni!
 
ivanivan_11:

Signori, qual è l'argomento di 100.500 pagine? Chi ne sa di più in matematica? Che differenza fa per voi come questione di principio se la funzione è definita in 0 o non definita, se un errore in R è scritto nell'articolo o no. È come se vostro figlio venisse discusso qui e gli si dicesse che è un totale... e voi lo difendete con tutto il vostro petto.

Prendilo come un dato di fatto e usa le funzioni integrate in mt5, chiedi agli sviluppatori nuove funzioni, se manca qualcosa, scrivi il tuo. Dovete usare nuovi chip, scrivere i vostri, se manca qualcosa, scrivete i vostri.

Non c'è una differenza fondamentale. Non abbiamo alcuna differenza in linea di principio, tanto meno nella pratica.

Ma c'è - una risposta ai cliché categorici. E se non ci sono queste risposte, puoi pisciare su qualsiasi standard (incluso IEEE - la più grande comunità scientifica) e scrivere quello che vuoi.

 
Alexey Burnakov:

Non c'è differenza di principio. Non ce n'è nessuna, tanto meno una pratica.

C'è una risposta ai cliché categorici. Se non ci saranno risposte di questo tipo, ci si può adagiare su qualsiasi standard (compreso l'IEEE - la più grande comunità scientifica) e scrivere quello che si vuole.

Non si potrebbe opporre nulla alla spiegazione di @Quantum, che è un argomento molto approfondito e ha mostrato la radice dell'errore. Lui ha scritto la biblioteca, ha fatto una ricerca profonda, ha mostrato la logica, mentre voi fate solo domande e credete in R.

Le nostre conclusioni erano corrette.

 
ivanivan_11:

Signori, qual è l'argomento di 100.500 pagine? Chi capisce meglio la matematica? Che differenza fa per voi come questione di principio se la funzione è definita in 0 o no, se l'articolo dice che c'è un errore in R o no. È come se qui si discute di vostro figlio e gli si dice che è un totale... e voi lo difendete con tutto il petto.

Alexey Burnakov:

Non c'è differenza di principio. Non c'è differenza di principio, tanto meno nella praticità.

Non potrei essere più d'accordo. Forse non lo incontrerete nei calcoli pratici, ma la densità deve essere definita correttamente.

Un esempio è stato trovato

> dgamma(0,0.5,1,log=FALSE)[1] Inf

il che dimostra che non si può semplicemente restituire il valore limite, altrimenti la funzione di densità di probabilità diventa infinita. Questo è un errore.

Il modo corretto di definirlo è questo:

Allora tutto è logico e corretto.

In Matlab si fa allo stesso modo:

>> gamma_pdf(0.5,1,0)

ans =

0.00000000000000e+000

>> gamma_pdf(1,1,0)

ans =

0.00000000000000e+000

 
Renat Fatkhullin:

Non potresti controbattere nulla alle spiegazioni di @Quantum, che ha lavorato molto profondamente sull'argomento e ha mostrato la radice dell'errore. Ha scritto la biblioteca, ha fatto ricerche approfondite, ha mostrato la logica, e da parte vostra solo domande e convinzione in R.

Le nostre conclusioni erano giuste.

La strada che avete scelto è chiara. Costruire un toolkit che permetta (come pensate) di risolvere gli stessi problemi che in R. Forse.

Ma dovete capire che ICL e R sono linguaggi di diverso livello di astrazione.

MCL è un linguaggio di implementazione con tutto ciò che questo implica. Forma il corrispondente modo di pensare dei programmatori.

R/Python sono linguaggi algoritmici, con un livello di astrazione più alto, che permette di risolvere problemi complessi senza doversi preoccupare del livello di implementazione. Sì, a volte appaiono colli di bottiglia quando si profilano calcoli complessi. Quindi, scendiamo, scriviamo un file Cp e andiamo avanti. Se non aiuta, parallelizzatelo, se non basta - collegate la scheda grafica. E per tutto questo, ci sono soluzioni pronte e testate!

Lei suggerisce di iniziare tutto dal basso. Non discuto che i tuoi strumenti possano essere d'oro oggi; potresti anche farne alcuni di platino, ma rimarranno strumenti. In senso figurato, se hai buoni attrezzi e mani vertiginose in garage, puoi costruire una bicicletta, e puoi prendere unità già pronte e assemblare una bicicletta con le proprietà richieste. Discutere quale di questi approcci sia migliore è inutile. Sono diversi ed entrambi hanno diritto alla vita. Ognuno può scegliere secondo le proprie preferenze.

Ma queste sono due strade su piani paralleli, dubito che si incroceranno nel prossimo futuro.

Buona fortuna

 
Quantum:

Non potrei essere più d'accordo qui. Forse non lo incontrerete nei calcoli pratici, ma la densità deve essere definita correttamente.

Un esempio è stato trovato

che mostra che non si può semplicemente restituire un valore limite, altrimenti la densità di probabilità è infinita. Questo è un errore.

Il modo corretto di definirlo è questo:

Allora tutto è logico e corretto.

Matlab fa la stessa cosa:

OK, accettato.

E perché dice: "...correttamente così..."? Da quali considerazioni è corretto? Punzecchiatemi ancora su Wolfram, dove lo statistico zio John ha scritto "altrimenti 0". Le tue considerazioni da esperto, perché è corretto definire la densità come 0 in zero? Ed esempi in cui definire la densità come 1 o inf diventa un problema? Senza puntare a grandi progetti software, per favore...

E ho già dato esempi di discussioni in cui c'erano esempi che 1 è più conveniente... Potete leggere il mio ultimo post al link.

Grazie.

 
Vladimir Perervenko:

La strada che avete scelto è chiara. Costruire un toolkit che permetta (come pensate) di risolvere gli stessi problemi che in R. Forse.

Stai proponendo di iniziare tutto dal basso. Non discuto che i vostri strumenti di oggi possano essere d'oro e che possiate persino farne alcuni di platino, ma rimarranno strumenti. In senso figurato, se si hanno buoni attrezzi e mani vertiginose in garage, si può costruire una bicicletta, e si possono prendere unità già pronte e assemblare una bicicletta con le proprietà richieste. Discutere quale di questi approcci sia migliore è inutile. Sono diversi ed entrambi hanno diritto alla vita. Ognuno può scegliere secondo le proprie preferenze.

Ma queste sono due strade su piani paralleli e dubito che si intersecheranno nel prossimo futuro.

Il nostro approccio - porta i tuoi sviluppi da R a MQL5 usando le nostre librerie standard.

Vedrete che non solo è possibile, ma anche facile. Abbiamo intrapreso una grande campagna per implementare funzioni complesse nelle librerie e nel linguaggio stesso.

Oggi pubblicheremo una beta e mostreremo un altro urto con le librerie grafiche per sostituire la trama in R.