交易中的机器学习:理论、模型、实践和算法交易 - 页 253

 

在 "有趣的事情 "下。))

DTW算法

想象一下,你需要在系列中找到一些价格相等的部分,但由于价格不是静止的,当然由于这个属性,这些部分的大小会不同,如何处理这种情况?

我知道两个可能的解决方案--插值和dwt算法。

про dwt - https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9_%D1%88%D0%BA%D0%B0%D0%BB%D1%8B

我就不说公式了,因为我自己也不知道,我也不说文字了,我只给出注释过的代码,供大家转载......

所以这个代码是用来解决一个问题的。

我们有一个特定的图案,让我们称之为"主图案",大小(长度)为8点(这个数字是一个任意的猜测)。

你应该找到与主图案 相似的图案,但它们的尺寸是5点和13点(数字是随机抽取的)。

结果在图片上

ч

如何使用它以及它是否可能是一个开放的问题,在我看来,我已经成功地使用了它,但你需要记住,所有这些只是一个实现你的想法的工具,而不是想法本身......。

我把代码贴在下面

Алгоритм динамической трансформации временной шкалы — Википедия
  • ru.wikipedia.org
Алгоритм динамической трансформации временно́й шкалы (DTW-алгоритм, от англ.  ) — алгоритм, позволяющий найти оптимальное соответствие между временными последовательностями. Впервые применен в распознавании речи, где использован для определения того, как два речевых сигнала представляют одну и ту же исходную произнесённую фразу. Впоследствии...
附加的文件:
zzz.txt  4 kb
 

简单地说,该代码的全部意义在于此。

library(dtw)

X <- rnorm(10)
Y <- rnorm(20)

my.dtw <- dtw(X ,Y)

my.dtw$distance

其中

my.dtw$distance
[1] 14.17198

这是一个衡量接近程度的指标(欧氏距离),它越小,X和Y的接近程度就越大。

 
mytarmailS:

简单地说,该代码的全部意义在于此。

library(dtw)

X <- rnorm(10)
Y <- rnorm(20)

my.dtw <- dtw(X ,Y)

my.dtw$distance

其中

my.dtw$distance
[1] 14.17198

这是一个衡量接近程度的指标(欧氏距离),它越小,X和Y的接近程度就越大。

以防万一:如果接近度量=1,那么第二行是通过变形从第一行得到的?
 
桑桑尼茨-弗门科
以防万一:如果接近度量=1,那么第二行是通过变形从第一行得到的?

通常,当你想改变两行之间的距离时,规则是这些行必须是相同的长度。

dtw可以测量两个不同尺寸的行,当然 它会扭曲行以找到正确的接近值。

 

mytarmailS:

我们有一个图案,让我们称它为"主图案",尺寸(长度)为8点(图中是随机的)。

我需要找到与主图案 类似的图案,但它们有5点和13点(数字是随机抽取的)。

这是在同一个主题中,第1页。130.

简而言之,经典的DTW算法分别对固定长度为n和m的两个片段进行比较,填入数组[1...n, 1...m],并从单元格[n, m]中获取结果。如果你想让某些段有随机的长度,例如n=8,m的值从5到13,你可以填充数组8*13,并从单元格[8,5]到[8,13]中取最小的结果除以路径长度。

事实证明,俄罗斯的维基百科在这段时间内重写了整篇文章,而我却不知道。在英文文章没有任何变化,伪代码仍然存在,通过它可以更容易地理解算法的原理。

 
蜴_

方法#4)但没有进入 "前一百名 "俱乐部(133)(0.68705),被书呆子们打脸))。


哇,太棒了
 
Awl作家

这是在同一个主题中,第1页。130.

简而言之,在经典的DTW算法中....................

或者你可以用另一种方式,直接把所有任意部分插值到一个单一的尺寸,然后直接测量那里的相关性或欧几里得。

 

大家好!

我请求帮助,并提议共同努力创建一些称为 "多谐波逼近 "的算法--这是在 "MSUA "系列算法中非常深入和巧妙的函数逼近,为什么我这么认为,我将在以后用解释和可能的图片来表达

ссылкаhttps://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%83%D1%87%D1%91%D1%82%D0%B0_%D0%B0%D1%80%D0%B3%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2

链接中的摘录

Обычно степень полинома опорной функции выбирается не выше {\displaystyle N-1} N-1, где {\displaystyle N} N - количество точек выборки. Часто бывает достаточно использовать в качестве опорных функции полиномы второй степени. В таком случае на каждом шаге итерации степень результирующего полинома удваивается.

Вместо полинома Колмогорова-Габора можно использовать ряды Фурье. Их имеет смысл применять, если в исходных данных наблюдается периодичность (например, уровень воды в реках, температура воздуха, объём осадков). Полученная в таком случае модель будет полигармонической [1].

===================================================

还有一个链接,是那些 "MSUA "关于这种奇妙方法的众多书籍中的一本。

这本书有很强的思想性,而且很容易阅读(直到公式开始)非常 强烈推荐阅读https://www.gmdh.net/articles/theory/bookNoiseIm.pdf

===================================================

也有一些评论证实,多谐波近似是为MO预处理数据的正确方式。

评论摘录

...................................…Следующим шагом была новая модель: к цене закрытия применяем фильтр низких частот (я использовал фильтр Батерворта 2-го порядка), применяем полиномиально-гармоническую аппроксимацию, преобразуем A*cos(wx)+B*sin(wx) к виду M*sin(wx+f) и в качестве вторичных признаков берем M и f.
…. И вот с такой моделью мне удалось построить сеть, которая имела очень хорошие обобщающие свойства: новые данные почти все правильно распознавала........................

链接到原始来源http://www.kamynin.ru/archives/4917

 
mytarmailS:

它看起来很复杂,而且没有确定的结果,我还是算了吧。
R有一个GMDH包(英文是 "MGUA")。

顺便说一下,在Numerai中,我也将模型最终确定为logloss<0.69。
0.68930
但不知道从哪里冒出来一百个人,结果是0.4-0.5,有些是地狱,现在涨价了,奖品一般是月亮。