插值、近似等(alglib包)。 - 页 8

 
所有这些转换都不适合我的任务,这些库是无用的(研究过的)。让我们走另一条路。但由于没有人了解这个问题的本质,所以我不会告诉你是哪一个。
 
Maxim Dmitrievsky:
所有这些转换都不适合我的任务,这些库是无用的(研究过的)。让我们走一条不同的路。但由于没有人理解这个问题的实质,我不会告诉你是哪一个。

谢谢你,马克西姆,谢谢你的这个主题。我个人对你感兴趣。我将关注你的创作过程。

我总是被拖入人工智能的深渊。
深渊吸引着我。

 
是的,读起来非常有趣。非常感谢@Nikolai Semko
 
Maxim Dmitrievsky :
所有这些转换对我的任务来说都不适合,它们是无用的(学来的)。让我们走另一条路。但既然没有人明白什么,我就不说如何明白。

我在一定程度上理解了这个问题的优点,并且肯定想帮助和解决这个问题,因为我在一定程度上理解了这个问题的整体理论部分,但是当涉及到MQL5代码的实际执行时,如果没有准确理解你所卡住的代码,我就很难正确理解,从而给出一些如何解决问题或问题到底在哪里的想法。我的意思是,你在MQL5中实现了什么程度,你在MQL5代码或公式或功能 等方面到底在寻找什么。

如果你能把你的想法或问题以几行MQL5代码的形式表达出来,那么我将尽力提供一些想法,至少能解决这个问题。

 
Nikolai Semko:

对不起,我不明白你的意思。显然是由于我的局限性。但我努力了。
但看一看,用这个例子。
https://www.mql5.com/ru/forum/216298/page5#comment_6484839


任何周期性函数都可以表示为一系列和谐相关的正弦和余弦,这一观点是由让-巴蒂斯特-约瑟夫-傅里叶男爵(1768-1830提出的


傅里叶数列的定义

如果f(x+P)=f(x)对所有x的值 来说,一个函数f( x) 被称为周期P函数f(x)周期 这种情况下,只需考虑函数在区间[-π]中的行为
  1. 假设周期为函数f(x) 在区间[-π] 内是完全可积分的 在这种情况下,所谓的Dirichlet积分 是有限的:π∫-π|f(x)|dx< ∞。

  2. 还假设函数f(x) 是单值的,片断连续的(即有有限数量的不连续)和片断单调的(有有限数量的最大值和最小值)。

如果条件12 得到满足,那么函数f(x)傅里叶级数存在,并收敛于给定的函数

非周期性的函数可以扩展成傅里叶级数吗?是的--为了做到这一点,我们假设我们想获得扩张的区间是周期,并将其扩展到[-π]
。但是,当外推超过分解区间(超过右边缘)时,你应该得到极限中的周期函数值,即左边缘的值与相应的移位--周期P。
绘图是很懒的--它在大学的数字方法课程中,大约在学习的第二或第三年。更确切地说,过去是研究(在我的时代)--我不知道现在是怎样的。
 
Vladyslav Goshkov:

任何周期性函数都可以表示为一系列和谐相关的正弦和余弦,这一观点是由让-巴蒂斯特-约瑟夫-傅里叶男爵(1768-1830提出的

傅里叶数列的定义

如果f(x+P)=f(x)对所有x的值 来说,一个函数f( x) 被称为周期P函数f(x)的周期 这种情况下,只需考虑函数在区间[-π]中的行为
  1. 假设周期为函数f(x) 在区间[-π] 内是完全可积分的 在这种情况下,所谓的Dirichlet积分 是有限的:π∫-π|f(x)|dx< ∞。

  2. 还假设函数f(x) 是单值的,片断连续的(即有有限数量的不连续)和片断单调的(有有限数量的最大值和最小值)。

如果条件12 得到满足,那么函数f(x)傅里叶级数存在,并收敛于给定的函数

非周期性的函数可以扩展成傅里叶级数吗?是的--为了做到这一点,我们假设我们想获得扩张的区间是周期,并将其扩展到[-π]
。但是,当外推到分解区间之外时(超过右侧边缘),你应该得到极限中的周期函数值,也就是左侧边缘的值,并有相应的位移--周期P。
绘图是很懒的--它在大学的数字方法课程中,大约在学习的第二或第三年。更确切地说,他们曾经(在我的时代)研究过它--现在我不知道是怎样的。

看来你并不了解将函数 分解为谐波的意义。
什么左手边被带在右手边上?你是什么意思?

你明白,傅里叶分解的意义在于得到一组不同频率、振幅和相移的谐波(正弦波),这样当你把它们加起来时,你就能从数据集中得到类似于原始函数的东西。

每个正弦波就像一个无限的函数,既没有左边缘也没有右边缘。要推断它,你只需要继续它,而不是把 "左 "边与 "右 "边连接起来。

而这个谐波总和的周期性将不等于原始近似数据的采样范围,而是等于所有不同频率相移的谐波同时返回其起始值的时刻之间的距离,而不是可以发生的事实,因为只有当所有谐波频率都是同一数值的倍数时才能发生。

蓝线是近似值,红线是推断值。

附加的文件:
 
Nikolai Semko:

你似乎对函数 分解为谐波的含义有误解。
哪条左边的边会延续到右边的边?你在说什么呢?

你明白,傅里叶分解的意义在于得到一组不同频率、振幅和相移的谐波(正弦波),这样,当你把它们加起来时,就能从数据集中得到类似于原始函数的东西。

每个正弦波就像一个无限的函数,既没有左边缘也没有右边缘。要推断它,你只需要继续它,而不是把 "左 "边与 "右 "边连接起来。

而这个谐波总和的周期性将不等于原始近似数据的采样范围,而是等于所有不同频率相移的谐波同时返回其起始值的时刻之间的距离,而不是可以发生的事实,因为只有当所有谐波频率都是同一数值的倍数时才可以发生。

蓝线是近似值,红线是推断值。

傅里叶数列中的这个非常 "当所有相移......的时刻之间的距离 "正好等于一个周期,因为其中的三角函数的参数是x,2x,3x,......nx,它们的周期分别是1,2,3......n倍的公共。正因为如此,这样的三角函数集具有正交性,导致傅里叶扩展的系数彼此独立,并与用于扩展的频率数无关。在计算了n=1的膨胀系数(a1和b1)之后,我们已经知道,如果我们在5个频率的膨胀中找到ai和bi,这些值不会改变。这就是它的美妙之处。

为什么,这不是你正在做的事吗?当你改变所考虑的谐波数量时,第一个分解系数的值是否会改变?

 
Vladyslav Goshkov:

...

有一种特殊的傅里叶推断技术。对谐波进行分解,对振幅进行外推,然后用这个变化的振幅收集谐波。我不太记得了,但它是这样的。 在代码库里有一个这个方法的例子。

 
Maxim Dmitrievsky:

每个人都想通了,他们只是不知道如何做

对神经网络的特征进行随机转换,作为一个输出函数,以便新的数据可以被替换。

非常有趣))。"神经网络的性状转化"。一个神经网络在哪里有特征?一个神经网络有输入和输出。通过演绎法,我们得出结论,它是这些标志对神经网络的输入。但是!!!"......作为一个输出函数"......。

这是一场惨败,玛丽瓦娜,一场惨败!

 
Vladimir:

傅里叶数列中的这个非常 "当所有相移......的时刻之间的距离 "正好等于周期,因为其中三角函数的参数是x、2x、3x、......nx,它们的周期分别适合于共同的1、2、3......n次。正因为如此,这样的三角函数集具有正交性,导致傅里叶扩展的系数彼此独立,并与扩展中使用的频率数无关。在计算了n=1的膨胀系数(a1和b1)之后,我们已经知道,如果我们在5个频率的膨胀中找到ai和bi,这些值不会改变。这就是它的魅力所在。

为什么,对你来说有什么不同吗?当你改变所考虑的谐波数量时,第一个分解系数的值是否会改变?

不,这种寻找谐波的算法并不使用快速傅里叶变换,而是使用Queen-Fernandez频率计算算法(源代码)对了,你不是作者吗?名字是一样的,但简介是不同的。

这些频率是按顺序计算的,并不是相互之间的倍数。这可以从GIF动画和我上面和现在提出的代码中看出。
下面是这个例子中的谐波频率系数的例子(刚打印出来的w)。

2018.08.24 00:22:11.921 !Fourier (EURUSD,M1)    Гармоника 1 = 0.00492908
2018.08.24 00:22:11.921 !Fourier (EURUSD,M1)    Гармоника 2 = 0.01176861
2018.08.24 00:22:11.921 !Fourier (EURUSD,M1)    Гармоника 3 = 0.02124126
2018.08.24 00:22:11.921 !Fourier (EURUSD,M1)    Гармоника 4 = 0.02651676
2018.08.24 00:22:11.921 !Fourier (EURUSD,M1)    Гармоника 5 = 0.03511149
2018.08.24 00:22:11.922 !Fourier (EURUSD,M1)    Гармоника 6 = 0.01191667
2018.08.24 00:22:11.922 !Fourier (EURUSD,M1)    Гармоника 7 = 0.00586503
2018.08.24 00:22:11.922 !Fourier (EURUSD,M1)    Гармоника 8 = 0.04684633
2018.08.24 00:22:11.923 !Fourier (EURUSD,M1)    Гармоника 9 = 0.07585431
2018.08.24 00:22:11.923 !Fourier (EURUSD,M1)    Гармоника 10 = 0.05593456
附加的文件:
6Fourier.mq5  16 kb