Interpolazione, approssimazione e simili (pacchetto alglib) - pagina 10

 
Nikolai Semko:

Onestamente - stai dicendo sciocchezze.
Se la funzione è periodica con un periodo uguale all'intervallo di decomposizione, allora perché abbiamo bisogno di approssimazione ed estrapolazione?

Basta copiare le ultime 1000 barre e incollarle all'ultima barra di destra e voilà - la previsione è pronta.


Questo è esattamente quello che ho scritto nel primo post ;))))))). Per quanto riguarda la spazzatura - è il tuo modo di parlare con persone sconosciute?

Un'altra cosa:


Nikolai Semko:

Capite almeno il significato di queste formule?

Come poteva un ex dipendente del Dipartimento di Matematica Applicata e un insegnante universitario di matematica capire formule così complicate? ;)))))))
Ancora una volta, cercate di capire il significato fisico di quello che state facendo.

 
Vladyslav Goshkov:

Questo è esattamente quello di cui ho scritto nel primo post ;))))))). Per quanto riguarda il blaterare, è questo il tuo modo di parlare alle persone che non conosci bene?

Anche:

Come può un ex dipendente di un dipartimento di matematica applicata e un insegnante universitario di matematica capire formule così complicate? ;)))))))
Ancora una volta, cercate di capire il significato fisico di quello che state facendo.

Credo di capire l'origine del suo malinteso.
In quel post ho scritto che non uso la trasformata veloce di Fourier, che usa frequenze equidistanti.

Questo tipo di trasformazione ha uno scopo diverso - è usato principalmente per comprimere la musica. E per il fatto che tutti i periodi delle armoniche sono multipli di un periodo comune osservato, questo tipo di trasformazione ha un periodo comune, che è quello di cui stai parlando. Ma questo tipo non è adatto all'estrapolazione perché l'estrapolazione ripeterà semplicemente i valori precedenti. È un caso molto speciale che ha lo scopo di comprimere l'informazione piuttosto che prevederla.
La previsione dei prezzi usa un diverso tipo di decomposizione, che è quello di cui ho scritto in questo post. Ecco perché ho registrato la gif animata e ho fornito il codice da studiare. Non c'è una periodicità pari alla dimensione del campione dei dati. Il periodo di ogni armonica è calcolato in modo ottimale e sequenziale, e i periodi non sono nemmeno sempre in ordine decrescente, il periodo dell'armonica successiva può anche essere più lungo del precedente.
Non si offenda per i suoi sproloqui. Ho i nervi a pezzi. :))

 
Nikolai Semko:

No, questo algoritmo per trovare le armoniche non usa la trasformata veloce di Fourier, mausa l' algoritmo di calcolo della frequenza di Queen-Fernandez. (codice sorgente) A proposito, non sei tu l'autore? Il nome è lo stesso, ma i profili sono diversi.

Le frequenze sono calcolate in modo sequenziale e non sono multipli l'una dell'altra. Questo può essere visto sia dalla gif animata che dal codice che ho presentato sopra e ora.
Ecco un esempio di rapporti di frequenza armonica da questo esempio (appena stampato w):

No, non sono l'autore. E una serie di funzioni trigonometriche le cui frequenze non sono multipli l'una dell'altra non è una serie di Fourier.
 
Vladimir:
No, non sono l'autore. E una serie di funzioni trigonometriche le cui frequenze non sono multipli l'una dell'altra non è una serie di Fourier.

Non si può trovare alcuna menzione di serie di Fourier nei miei post. Stavo parlando delle trasformate di Fourier.
La serie di Fourier è un caso particolare della trasformata di Fourier di una funzione periodica.

Il grafico dei prezzi non è una funzione periodica. Pertanto, una serie di Fourier non è necessaria in questo caso.

La Fast Fourier Transformation (FFT) calcola le serie di Fourier. Non uso la FFT nei miei esempi.

Questo è l'errore tuo e di Vladislav, che pensate che la serie di Fourier applicabile a una funzione periodica sia la trasformata di Fourier.

L'ho detto più volte - è un caso speciale, non applicabile al mercato.

Studiare le fonti primarie.

Ecco alcune citazioni da Wikipedia:


La trasformata di Fourier è applicabile anche a funzioni definite su intervalli limitati, poiché tali funzioni possono essere periodicamente estese su tutta la linea.

La serie di Fourier è un caso particolare della trasformata di Fourier, se quest'ultima è intesa nel senso difunzioni generalizzate. Per qualsiasi funzione 2π-periodica abbiamo


In altre parole, la trasformata di Fourier di una funzione periodica è una somma di cariche puntuali in punti interi, ed è uguale a zero al di fuori di essi.


 
Nikolai Semko:

No, questo algoritmo per trovare le armoniche non usa la trasformata veloce di Fourier, mausa l' algoritmo di calcolo della frequenza di Queen-Fernandez. (codice sorgente) A proposito, non sei tu l'autore? Il nome è lo stesso, ma i profili sono diversi.

Le frequenze sono calcolate in modo sequenziale e non sono multipli l'una dell'altra. Questo può essere visto sia dalla gif animata che dal codice che ho presentato sopra e ora.
Ecco un esempio dei coefficienti delle frequenze armoniche di questo esempio (appena stampato w):

Devo ripetere la domanda sulle differenze tra il metodo che proponi e la serie di Fourier:

"Cosa c'è di sbagliato nel vostro metodo? I valori dei coefficienti della prima decomposizione cambiano quando cambia il numero di armoniche considerate?"

Non so come scoprire da un grafico animato per 40 frequenze se i coefficienti dell'armonica più lenta su 40 sono costanti. Per favore non fate riferimento alle variabili nel vostro codice. La questione del significato dell'espansione di 40 armoniche diventa fondamentale se, quando la quarantunesima armonica viene aggiunta all'espansione, i coefficienti della prima armonica possono anche cambiare segno, per esempio.

Dite Sì o No. O meno rigorosamente, qualsiasi cosa.

Che la serie di Fourier abbia questa domanda risolta senza ambiguità, "No". Così come nelle serie di Taylor e in altre scomposizioni, che hanno già portato e continuano a portare indubbi benefici. Supponiamo che nel tuo caso non sia così inequivocabile, ma anche tu dovresti avere un'idea della stabilità dei coefficienti di espansione con il tuo metodo proposto.

 
Vladimir:

Devo ripetere la domanda sulle differenze tra il metodo che proponi e la serie di Fourier:

"Perché, lo fai in modo diverso? I valori dei coefficienti della prima decomposizione cambiano quando cambia il numero di armoniche considerate?"

Non so come scoprire da un grafico animato per 40 frequenze se i coefficienti dell'armonica più lenta su 40 sono costanti. Per favore non fate riferimento alle variabili nel vostro codice. La questione del significato dell'espansione di 40 armoniche diventa fondamentale se, quando si aggiunge la quarantunesima armonica all'espansione, i coefficienti della prima armonica possono anche cambiare segno, per esempio.

Dite Sì o No.

Questo non è il mio metodo, anche se ho alcune idee su come velocizzarlo. Ho dato i link al codice sorgente e agli autori di questo metodo.

E soprattutto, c'è il codice. Non sei un programmatore? Ma si può capire il codice, è semplice e trasparente.
Se guardate il codice della funzione MathFourier2, la risposta è ovvia: certo che no. L'aggiunta di una nuova armonica non cambia le precedenti.

Se trovate che le armoniche sono cambiate, significa che i dati di ingresso sono cambiati. Hai spostato il mouse con shift o ctrl premuto, o è arrivata una nuova barra.

E per favore non fatemi altre domande, alle quali potete rispondere da soli, avendo il codice e l'articolo di questo metodo.

Non siamo all'esame. Mi dispiace per il mio tempo.

Sto resettando il codice ancora una volta.

Per controllare questo indicatore, prima cliccate sul grafico con il mouse (per attivare la finestra), premete Ctrl (e rilasciatelo) e spostate il mouse per cambiare la posizione iniziale, per finire il processo, premete qualsiasi tasto (tranne Ctrl e Shift). Lo stesso con il tasto Shift per cambiare il periodo (intervallo di barre per calcolare la funzione approssimativa)e il numero di armoniche.

File:
7Fourier.mq5  16 kb
 

In generale, il compito, come lo capisco, è che abbiamo dei dati (probabilmente i prezzi di apertura o chiusura di una barra) per un certo periodo, e abbiamo bisogno di descrivere le fluttuazioni in questo campione in qualche modo, ma dovrebbe essere una funzione, in modo che alla prossima fluttuazione possiamo capire quale punto si riferisce a una nuova figura. Come risultato, dovremmo ottenere un valore numerico addizionale ad ogni prezzo, che mostrerà a quale "parte" della funzione appartiene la fluttuazione, si otterrà una sorta di classificazione, che permetterà di dire che il punto originale appartiene ad un certo spazio. Tale metodo può talvolta avere un effetto nel caso del MO. Poiché la funzione non è inizialmente nota, ma ci si aspetta che esista, c'è bisogno di generare diverse funzioni per partizionare le cifre nel campione in gruppi. Cioè è un metodo di classificazione non per caratteristiche, ma per struttura e attributi.

Questa è la mia ipotesi.

 
Aleksey Vyazmikin:

Avrebbe dovuto essere chiaro molto tempo fa, i link sono stati dati. La questione è l'attuazione. C'è un intero strato di algoritmi veloci ed efficienti che possono essere utilizzati insieme al cloud

Avete solo il tempo di imparare le basi. R e Python hanno da tempo tutto, naturalmente.
 
Maxim Dmitrievsky:

Avrebbe dovuto essere chiaro molto tempo fa, i link sono stati dati. La questione è l'attuazione. C'è un intero strato di algoritmi veloci ed efficienti che possono essere utilizzati, anche in combinazione con il cloud.

Non ho tempo di studiare il codice. Lavoro in R e Python da molto tempo, naturalmente.

Dopo aver letto il thread, non ho visto alcuna comprensione da parte del pubblico, quindi ho deciso di riformulare, forse qualcuno capirà l'essenza della questione in questa presentazione.

Se questo è già stato implementato in altre lingue, perché non possiamo portare il codice a MQL5?

 
Aleksey Vyazmikin:

Dopo aver letto il thread, non ho visto alcuna comprensione da parte del pubblico, così ho deciso di riformularlo per vedere se qualcuno capisce di cosa sto parlando.

Se questo è già stato implementato in altre lingue, perché non posso portare il codice in MQL5?

Ho solo chiesto se qualcuno l'ha fatto per risparmiare tempo.

Che domanda stupida.

Motivazione: