L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 210
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
Alexey Burnakov:
Ho iniziato a ricevere risposte alla mia domanda in R.
Corrispondenza continua con la stessa persona...
No. The value of a density at any particular point is irrelevant.
Duncan Murdoch
Sull'imputato: http://www.stats.uwo.ca/faculty/murdoch/other.shtml
In particolare:
Sonoun membro del gruppo di sviluppo del nucleo di R; vedi www.r-project.org per i dettagli sul progetto R. Mantengo laversione per Windows di R e houna pagina web di suggerimenti per chi scrive DLL per R.
Beh, lo sai meglio tu.
Sì, più chiaramente e onestamente.
E non ho la capacità politica di abbozzare come un estraneo al forum.
Non esitate nemmeno a chiamare Matlab, Wolfram e Mathematics "non so chi sia".
Dammi un link a classifiche di pacchetti statistici che avevano Mathlab (Wolfram) al loro interno. Matlab lo era, ma è morto. Ho dato nel mio blog sul vostro sito e molte volte postato sul forum
Lei tace su cosa:
Matlab non è andato da nessuna parte, e nemmeno gli altri pacchetti. Sì, è pagato, ma è di qualità. Sì, la popolarità scenderà, ma la precisione e la qualità non vanno da nessuna parte.
Leggete di Wolfram Alpha e fate ricerche sul suo sito web - è un investimento fondamentale nell'analitica che pochi possono fare. E Wolfram Alpha ha una precisione di 30 cifre, il che dimostra la loro attenzione maniacale alla qualità del calcolo.
Purtroppo, lei ha formulato la domanda in modo incompleto e ha ricevuto una risposta mal concepita e brevemente educata "non importa".
Lei voleva una risposta "così concordata/convenzione" formulandola nella domanda stessa. Ma Duncan se l'è cavata con "ciò che è giusto" la prima volta e l'ha ripetuto la seconda volta.
Non hai avuto la prova della precisione in R e non hai avuto una risposta sul perché il risultato è diverso in altri pacchetti. La domanda "perché la risposta è diversa in altri pacchetti" è più importante e può essere più rivelatrice.
La nostra posizione:
выражение для dgamma
(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s)
for x ≥ 0, a > 0 and s > 0в точке 0 является неопределенным.
R ritiene che si possa includere questo punto nel calcolo, ma prendere i valori limite anche se sono infiniti come nel caso di dgamma(0,0.5,1).
Tuttavia, se si calcolano le probabilità date all'infinito nel punto zero, tutti gli integrali di dgamma diventano formalmente infiniti e per questa logica pgamma dovrebbe essere uguale a infinito per tutti i valori di x.
Tuttavia, questo contraddice i risultati di pgamma, dove tutti i valori risultano essere finiti. Sono corretti, perché se nel punto x=0 si assume che la densità sia =0.Per @SanSanych Fomenko - MQL4/MQL5 è salito al 41° posto nella classifica mondiale dei linguaggi di programmazione TIOBE: http://www.tiobe.com/tiobe-index/
R al 19° posto, Mathlab al 15° posto.
Questo per sfatare le vostre affermazioni sul "non essere un'autorità" e "non essere il top del mondo".
Per non perdere il filo della discussione, ecco l'errore di calcolo dei quantili della distribuzione t non centrale trovato nel processo di test di R.
Per esempio:
L'algoritmo AS 243 proposto da Lenth [6] è usato per calcolare la probabilità della distribuzione T non centrale della distribuzione t di Student in R. Il vantaggio di questo metodo è il rapido calcolo della ricorrenza dei termini di serie infinita con funzioni beta incomplete. Tuttavia è stato dimostrato nell'articolo [7], che questo algoritmo porta ad errori dovuti all'errore nella stima della precisione quando si sommano i termini della serie (Tabella 2 nell'articolo [7]), specialmente per grandi valori del parametro di non centralità delta. Gli autori dell'articolo [7] hanno proposto un algoritmo corretto per il calcolo basato sulla ricorsività della probabilità di distribuzione T non centrale.
La nostra libreria statistica MQL5 utilizza l'algoritmo corretto per il calcolo delle probabilità dall'articolo [7], che dà risultati accurati.
Inoltre, in R, il modo in cui definiamo le densità per le distribuzioni Gamma, ChiSquare e Noncentral ChiSquare nel punto x=0 porta a espressioni infinite:
Così si scopre che il punto x=0 in R è incluso nel dominio di definizione dell'espressione per le densità e la soluzione sono i valori limite.
In questo caso, il valore limite a x=0 è infinito. In questo approccio, come risultato dell'integrazione da 0 a x>0, a causa della divergenza nel punto x=0, le probabilità dovrebbero essere infinite.
Tuttavia, il risultato del calcolo delle probabilità (ad esempio per x=0,1) è un'espressione finita:
Nonostante il fatto che nel punto x=0 la densità sia considerata infinita, i risultati del calcolo delle probabilità in R non sono infiniti, coincidono con i valori di Wolfram Alpha(Gamma, ChiSquare, NoncentralChiSquare).
Per evitare problemi con l'integrazione di funzioni che vanno all'infinito a x=0, in Wolfram Alpha (Mathematica) e Matlab la densità nel punto x=0 è 0 per definizione:
Figura 3. Determinazione della densità di probabilità della distribuzione gamma in Wolfram Alpha
Fig.4. Determinazione della densità di probabilità della distribuzione ChiSquare in Wolfram Alpha
Fig. 5. Determinazione della funzione di densità di probabilità della distribuzione Noncentral ChiSquare in Wolfram Alpha
Pensiamo che questo approccio sia corretto. Permette di evitare incertezze nella funzione di densità di probabilità e risolve il problema dei valori infiniti, che possono verificarsi quando si integra la funzione di densità di probabilità.
Per questo motivo, nel punto x=0 le densità di queste distribuzioni sono assunte pari a zero per definizione, non infinite come in R.
Abbiamo incluso diversi script di test unitari nella consegna per essere sicuri che i calcoli siano accurati e per dare la possibilità a sviluppatori di terze parti di controllare la qualità della libreria.
Letteratura
Per @Sanych Fomenko - MQL4/MQL5 è 41° nella classifica mondiale dei linguaggi di programmazione TIOBE: http://www.tiobe.com/tiobe-index/
R al 19° posto, Mathlab al 15° posto.
Questo per sfatare le vostre affermazioni su "nessuna autorità" e "non in cima al mondo".
Sto discutendo di statistiche. E le mie classifiche per pacchetto statistico.
Inoltre. Nella citazione che hai citato, R è al di sopra di MQL4/5 in quelle statistiche per i linguaggi algoritmici. Ma questo NON è affatto un motivo per passare da MQL a R, per esempio. Non sto affatto discutendo le capacità algoritmiche di R.
Per me, la forza principale di R sono i suoi pacchetti, è il supporto di tutto questo sistema, è l'autorità delle persone che li hanno sviluppati, è un enorme ritrovo di R, dopo tutto un enorme numero di pubblicazioni legate a R.
Ma come qualcuno che è stato nei consigli scientifici per 15 anni. Se si scrive "analogo di R" allora è un analogo senza eccezioni. E non c'è altro modo per evitarlo. Altrimenti NON è un analogo di R, può anche essere molto più corretto, ma non è un analogo
Discuto di statistiche. E le mie valutazioni sui pacchetti statistici.
Inoltre. Nella citazione che citi, R è al di sopra di MQL4/5 in queste statistiche per i linguaggi algoritmici. Ma per me questo NON è affatto un motivo per passare da MQL a R, per esempio. Non sto affatto discutendo le capacità algoritmiche di R.
E stiamo discutendo un errore specifico nella R.
Quindi non preoccupatevi delle vostre valutazioni, dato che non conoscete la matematica e il caso particolare che state trattando.
SanSanych Fomenko:
...
Per me, la forza principale di R sono i suoi pacchetti, il supporto di tutto il sistema, l'autorità delle persone che li hanno sviluppati, un enorme ritrovo su R, alla fine un enorme numero di pubblicazioni legate a R.
...
Che cosa marcia è questa R - una bicicletta con ruote quadrate. Cosa dire di alcuni dei suoi pacchetti quando la base, cioè il kernel R, è storto e ha bisogno di una seria messa a punto con un "pencil file"? Che autorità può avere chi non si è nemmeno preoccupato di controllare la correttezza delle funzioni di base in R per così tanti anni? Quale può essere la "forza" nella debolezza di R - la scorrettezza dei calcoli attraverso di esso?
È bene che MetaQuotes ha aperto gli occhi di alcuni utenti al fatto e ai test con l'open source, così tutti potrebbero indipendentemente ricontrollare e assicurarsi, piuttosto che infondato. Non tutti, naturalmente, sono stati aperti, perché alcuni fanatici religiosi della setta distruttiva di R continueranno a credere ciecamente nell'"infallibilità" dei calcoli nel loro linguaggio e pacchetti storti, invece di rivolgersi ai test presentati e ricontrollarli essi stessi, ma non fanaticamente cazzate, difendendo la stortura di R come "standard generalmente accettato".
Ora è abbastanza ovvio che è meglio usare la funzionalità MQL per creare strategie di trading, perché il risultato sarà più corretto, piuttosto che cercare di farlo tramite curve e slash R.
Gli sviluppatori di MetaQuotes meritano un ringraziamento speciale per il loro approccio costruttivo, i test e le loro fonti, così come per l'identificazione del"Naked King - R"!
Non ci interessa la larghezza 0, dobbiamo capire come si comporta un tale integrale, cioè la cdf(x). Che tipo di funzione si ottiene, coincide con pgamma(x)?
> dgamma_05_1 <- function(x)dgamma(x,0.5,1) #всего 1 параметр, чтоб удобней работать
> pgamma_05_1 <- function(x)pgamma(x,0.5,1) #всего 1 параметр, чтоб удобней работать
> pgamma_05_1_integralform <- function(x)integrate(dgamma_05_1, 0, x)$value #вычисление pgamma путём интегрирования dgamma>
> pgamma_05_1(0.00001)
[1] 0.003568236
> pgamma_05_1_integralform(0.00001)
[1] 0.003568236
> pgamma_05_1(0.00001) - pgamma_05_1_integralform(0.00001)
[1] -6.938894 e-18
>
> pgamma_05_1(0.0001)
[1] 0.01128342
> pgamma_05_1_integralform(0.0001)
[1] 0.01128342
> pgamma_05_1(0.0001) - pgamma_05_1_integralform(0.0001)
[1] 3.295975 e-17
>
> pgamma_05_1(0.001)
[1] 0.03567059
> pgamma_05_1_integralform(0.001)
[1] 0.03567059
> pgamma_05_1(0.001) - pgamma_05_1_integralform(0.001)
[1] 1.595946 e-16
>
> pgamma_05_1(0.01)
[1] 0.1124629
> pgamma_05_1_integralform(0.01)
[1] 0.1124629
> pgamma_05_1(0.01) - pgamma_05_1_integralform(0.01)
[1] 1.096345 e-15
>
> pgamma_05_1(0.1)
[1] 0.3452792
> pgamma_05_1_integralform(0.1)
[1] 0.3452792
> pgamma_05_1(0.1) - pgamma_05_1_integralform(0.1)
[1] 1.126876 e-13
>
> pgamma_05_1(1)
[1] 0.8427008
> pgamma_05_1_integralform(1)
[1] 0.8427008
> pgamma_05_1(1) - pgamma_05_1_integralform(1)
[1] 3.460265 e-11
pgamma() trovato nel modo standard e integrare(dgamma()) quasi coincidono, vediamo che l'errore è solo3,460265e-11 a x=1. Tuttavia, un tale errore è abbastanza atteso poiché l'integrazione qui viene eseguita come una somma di piccoli passi, senza alcuna analisi preliminare o semplificazione. La funzione pgamma() stessa è scritta in C++ e dovrebbe essere più accurata di integrare(). Ecco perché dovreste usare pgamma(x,0.5,1) invece di integrare(dgamma(x,0.5,1),0,x)
Cosa si può dire di uno qualsiasi dei suoi pacchetti, quando il nucleo, cioè il kernel di R, è storto e ha bisogno di una seria messa a punto con "matita e lima"?
Il kernel R è storto e lento.
Se si divide la discussione in statistiche puramente classiche, che sono sia nella consegna di base che in pacchetti aggiuntivi, penso che non ci siano problemi qui. Se fate milioni di test statistici, le prestazioni di altri linguaggi (incluso MQL) saranno un vantaggio.
Se parliamo di programmazione R in generale, ti dirò, Yuri, la gente usa ancora pacchetti per l'elaborazione veloce dei dati (dplyr, data.table, e per i grafici - ggplot2). R stesso è di nuovo un linguaggio di scripting, antico, non progettato per dati massicci.
Ma nonostante tutto questo, il flusso di fango dalla vostra parte è ancora ingiustificatamente alto. Stavamo discutendo di statistiche qui, e non anche di refactoring del codice e altre cose tecniche. Era una discussione su concetti matematici.