Interpolation, approximation et autres (paquet alglib) - page 10

 
Nikolai Semko:

Honnêtement - vous dites n'importe quoi.
Si la fonction est périodique avec une période égale à l'intervalle de décomposition, alors pourquoi avons-nous besoin d'approximation et d'extrapolation ?

Il suffit de copier les 1000 dernières barres et de les coller à la dernière barre de droite et voilà - la prévision est prête.


C'est exactement ce que j'ai écrit dans le premier message ;))))))). Concernant les déchets - est-ce votre façon de parler aux personnes inconnues ?

Une dernière chose :


Nikolai Semko:

Comprenez-vous seulement la signification de ces formules ?

Comment un ancien employé du département de mathématiques appliquées et un professeur de mathématiques à l'université pouvaient-ils comprendre des formules aussi compliquées ? ;)))))))
Une fois encore, essayez de comprendre la signification physique de ce que vous faites.

 
Vladyslav Goshkov:

C'est exactement ce que j'ai écrit dans le premier message ;))))))). Quant au blabla, c'est votre façon de parler aux gens que vous ne connaissez pas bien ?

Aussi :

Comment un ancien employé d'un département de mathématiques appliquées et un professeur de mathématiques à l'université peuvent-ils comprendre des formules aussi compliquées ? ;)))))))
Une fois encore, essayez de comprendre la signification physique de ce que vous faites.

Je crois que je comprends la source de votre malentendu.
Dans ce billet, j'ai écrit que je n'utilisais pas la transformée de Fourier rapide, qui utilise des fréquences équidistantes.

Ce type de transformation a un but différent - il est utilisé principalement pour compresser la musique. Et comme toutes les périodes des harmoniques sont des multiples d'une période commune observée, ce type de transformation a bien une période commune, ce dont vous parlez. Mais ce type ne convient pas à l'extrapolation car celle-ci ne fera que répéter les valeurs précédentes. C'est un cas très particulier qui vise à comprimer l'information plutôt qu'à la prédire.
La prédiction des prix utilise un type différent de décomposition, qui est ce que j'ai écrit dans ce post. C'est pourquoi j'ai enregistré le gif animé et fourni le code pour que vous puissiez l'étudier. Il n'y a pas de périodicité égale à la taille de l'échantillon des données. La période de chaque harmonique y est calculée de manière optimale et séquentielle, et les périodes ne sont même pas toujours en ordre décroissant, la période de l'harmonique suivante pouvant même être plus longue que la précédente.
Ne vous offensez pas pour vos divagations. J'ai les nerfs en pelote. :))

 
Nikolai Semko:

Non, cet algorithme pour trouver les harmoniques n'utilise pas la transformée de Fourier rapide, maisl'algorithme de calcul de fréquence de Queen-Fernandez. (code source) Au fait, n'êtes-vous pas l'auteur ? Le nom est le même, mais les profils sont différents.

Les fréquences sont calculées de manière séquentielle et ne sont pas des multiples les unes des autres. Cela peut être vu à la fois dans le gif animé et dans le code que j'ai présenté ci-dessus et maintenant.
Voici un exemple de rapports de fréquence harmonique tiré de cet exemple (juste imprimé w) :

Non, je ne suis pas l'auteur. Et une série de fonctions trigonométriques dont les fréquences ne sont pas des multiples les unes des autres n'est pas une série de Fourier.
 
Vladimir:
Non, je ne suis pas l'auteur. Et une série de fonctions trigonométriques dont les fréquences ne sont pas des multiples les unes des autres n'est pas une série de Fourier.

Vous ne trouverez aucune mention des séries de Fourier dans mes articles. Je parlais des transformées de Fourier.
La série de Fourier est un cas particulier de la transformée de Fourier d'une fonction périodique.

Le graphique des prix n'est pas une fonction périodique. Par conséquent, une série de Fourier n'est pas nécessaire ici.

La transformation de Fourier rapide (FFT) calcule des séries de Fourier. Je n'utilise pas de FFT dans mes exemples.

C'est votre erreur et celle de Vladislav, de penser que la série de Fourier applicable à une fonction périodique est la transformée de Fourier.

Je l'ai dit plusieurs fois - c'est un cas particulier, non applicable au marché.

Étudiez les sources primaires.

Voici quelques citations de Wikipedia :


La transformée de Fourier est également applicable aux fonctions définies sur des intervalles limités puisque ces fonctions peuvent être périodiquement étendues sur toute la ligne.

La série de Fourier est un cas particulier de la transformée de Fourier, si cette dernière est comprise dans le sensdes fonctions généralisées. Pour toute fonction 2π-périodique, nous avons


En d'autres termes, la transformée de Fourier d'une fonction périodique est une somme de charges ponctuelles en des points entiers, et est égale à zéro en dehors de ceux-ci.


 
Nikolai Semko:

Non, cet algorithme pour trouver les harmoniques n'utilise pas la transformée de Fourier rapide, maisl'algorithme de calcul de fréquence de Queen-Fernandez. (code source) Au fait, n'êtes-vous pas l'auteur ? Le nom est le même, mais les profils sont différents.

Les fréquences sont calculées de manière séquentielle et ne sont pas des multiples les unes des autres. Cela peut être vu à la fois dans le gif animé et dans le code que j'ai présenté ci-dessus et maintenant.
Voici un exemple de coefficients de fréquences harmoniques de cet exemple (juste imprimé w) :

Je dois répéter la question sur les différences entre la méthode que vous proposez et les séries de Fourier :

"Quel est le problème avec votre méthode ? Les valeurs des premiers coefficients de décomposition changent-elles lorsque le nombre d'harmoniques considérés change ?"

Je ne sais pas comment déterminer, à partir d'un graphique animé pour 40 fréquences, si les coefficients de l'harmonique la plus lente sur 40 sont constants. Veuillez ne pas faire référence aux variables dans votre code. La question de la signification du développement à 40 harmoniques devient essentielle si, lorsque la quarante et unième harmonique est ajoutée au développement, les coefficients de la première harmonique peuvent même changer de signe, par exemple.

Dites oui ou non. Ou moins strictement, n'importe quoi.

Que la série de Fourier permette de résoudre cette question sans ambiguïté, "Non". Ainsi que dans les séries de Taylor et autres décompositions, qui ont déjà apporté et continuent d'apporter des avantages indéniables. Supposons que dans votre cas, ce n'est pas aussi clair, mais vous aussi devriez avoir une idée de la stabilité des coefficients d'expansion par la méthode que vous proposez.

 
Vladimir:

Je dois répéter la question sur les différences entre la méthode que vous proposez et les séries de Fourier :

"Pourquoi, vous le faites différemment ? Les valeurs des premiers coefficients de décomposition changent-elles lorsque le nombre d'harmoniques considérés change ?"

Je ne sais pas comment déterminer, à partir d'un graphique animé pour 40 fréquences, si les coefficients de l'harmonique la plus lente sur 40 sont constants. Veuillez ne pas faire référence aux variables dans votre code. La question de la signification de l'expansion de 40 harmoniques devient clé si, en ajoutant la quarante et unième harmonique à l'expansion, les coefficients de la première harmonique peuvent même changer de signe, par exemple.

Dites oui ou non.

Ce n'est pas ma méthode, même si j'ai quelques idées pour l'accélérer. J'ai donné des liens vers le code source et vers les auteurs de cette méthode.

Et le plus important, il y a le code. Vous n'êtes pas un programmeur ? Mais vous pouvez comprendre le code, il est simple et transparent.
Si vous examinez le code de la fonction MathFourier2, la réponse est évidente : bien sûr que non. L'ajout d'une nouvelle harmonique ne modifie pas les précédentes.

Si vous constatez que les harmoniques ont changé, cela signifie que les données d'entrée ont changé. Vous avez déplacé la souris en appuyant sur shift ou ctrl, ou une nouvelle barre est apparue.

Et s'il vous plaît, ne me posez pas plus de questions, auxquelles vous pouvez répondre vous-même, en ayant le code et l'article de cette méthode.

Nous ne sommes pas à l'examen. Je suis désolé pour mon temps.

Je réinitialise le code une fois de plus.

Pour contrôler cet indicateur, cliquez d'abord sur le graphique avec la souris (pour activer la fenêtre), appuyez sur Ctrl (et relâchez-la) et déplacez la souris pour changer la position de départ, pour terminer le processus, appuyez sur n'importe quelle touche (sauf Ctrl et Shift). Même chose avec la touche Shift pour modifier la période (intervalle de mesures pour calculer la fonction d'approximation)et le nombre d'harmoniques.

Dossiers :
7Fourier.mq5  16 kb
 

En général, la tâche, telle que je la comprends, est que nous avons des données (probablement les prix d'ouverture ou de fermeture d'une barre) pour une certaine période, et nous devons décrire les fluctuations de cet échantillon d'une manière ou d'une autre, mais il devrait s'agir d'une fonction, de sorte qu'à la prochaine fluctuation, nous pouvons comprendre quel point se réfère à une nouvelle figure. En conséquence, nous devrions obtenir une valeur numérique supplémentaire à chaque prix, qui montrera à quelle "partie" de la fonction appartient la fluctuation, une sorte de classification sera obtenue, qui permettra de dire que le point original appartient à un certain espace. Une telle méthode peut parfois avoir un effet dans le cas du MO. Comme la fonction n'est pas connue au départ, mais qu'on s'attend à ce qu'elle existe, il est nécessaire de générer différentes fonctions pour répartir les chiffres de l'échantillon en groupes. C'est-à-dire qu'il s'agit d'une méthode de classification non pas par caractéristiques, mais par structure et attributs.

C'est mon avis.

 
Aleksey Vyazmikin:

Cela aurait dû être clair depuis longtemps, les liens ont été donnés. La question est celle de la mise en œuvre. Il existe toute une série d'algorithmes rapides et efficaces qui peuvent être utilisés en conjonction avec le nuage.

Vous n'avez que le temps d'apprendre les bases. R et Python ont depuis longtemps tout pour eux, bien sûr.
 
Maxim Dmitrievsky:

Cela aurait dû être clair depuis longtemps, les liens ont été donnés. La question est celle de la mise en œuvre. Il existe toute une série d'algorithmes rapides et efficaces qui peuvent être utilisés, notamment en liaison avec le cloud.

Je n'ai pas le temps d'étudier le code. Je travaille en R et en Python depuis longtemps, bien sûr.

Après avoir lu le fil de discussion, je n'ai pas vu de compréhension de la part de l'auditoire, alors j'ai décidé de reformuler, peut-être que quelqu'un comprendra l'essence de la question dans cette présentation.

Si cela a déjà été mis en œuvre dans d'autres langues, pourquoi ne pouvons-nous pas porter le code à MQL5 ?

 
Aleksey Vyazmikin:

Après avoir lu le fil de discussion, je n'ai pas vu de compréhension de la part du public, alors j'ai décidé de le reformuler pour voir si quelqu'un comprend ce dont je parle.

Si cela a déjà été mis en œuvre dans d'autres langues, pourquoi ne puis-je pas porter le code à MQL5 ?

Je demandais simplement si quelqu'un avait fait cela pour gagner du temps.

Quelle question stupide.