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

 
Forester #:

在统计学中,用平均值代替是指根本没有数据,然后用平均值代替。他们把 NAN 用作数据的缺乏或遗漏--他们需要以某种方式标记这一时刻--他们决定为此目的使用 NAN,然后用平均数代替。

我有 NAN--数据准备过程中出现了错误,我得到了例如 /0 之后的数据(但有时我得到 + - INF)。我不需要将错误数据视为正常数据或平均数据。
错误应予以纠正(我打印出该列包含 NAN 和缺失)。不过谁会看这些打印输出呢?)))

那就没什么好问的了,除了扔掉它,你还能做什么呢?


为了以防万一,我已经写了一个替换 NAN 的示例。

m <- round(matrix(rnorm(100),ncol = 5,nrow = 10),2)
m[ sample(1:nrow(m),5,replace = T) , sample(1:ncol(m),5,replace = T) ] <- NaN
m

[,1]  [,2]  [,3]  [,4]  [,5]
 [1,] -1.17 -0.10 -0.22 -1.49 -1.23
 [2,]   NaN   NaN  0.85   NaN -2.13
 [3,]  0.60  0.06  1.50 -0.31  0.05
 [4,]   NaN   NaN -0.41   NaN -0.43
 [5,]  1.17  0.86 -0.51  1.43 -0.07
 [6,] -0.44  0.79 -0.61  0.68  0.11
 [7,]  0.85  0.74  0.31 -1.16 -0.38
 [8,]   NaN   NaN  1.09   NaN -0.36
 [9,]   NaN   NaN -0.58   NaN -1.27
[10,] -0.19 -0.42  0.07  0.31  1.92

和解决方案

library(imputeTS)
m2 <- round(apply(m,2,na_ma),2)
m2

 [,1]  [,2]  [,3]  [,4]  [,5]
 [1,] -1.17 -0.10 -0.22 -1.49 -1.23
 [2,] -0.14  0.12  0.85 -0.57 -2.13
 [3,]  0.60  0.06  1.50 -0.31  0.05
 [4,]  0.49  0.49 -0.41  0.27 -0.43
 [5,]  1.17  0.86 -0.51  1.43 -0.07
 [6,] -0.44  0.79 -0.61  0.68  0.11
 [7,]  0.85  0.74  0.31 -1.16 -0.38
 [8,]  0.37  0.51  1.09 -0.14 -0.36
 [9,]  0.14  0.14 -0.58  0.04 -1.27
[10,] -0.19 -0.42  0.07  0.31  1.92
 
mytarmailS #:

那就没什么好问的了,也没什么好做的了,只能把它扔掉。


为了以防万一,我已经写了一个替换净资产的例子。

和解决方案

谢谢,也许代码会对某人有用。

 
网站上的 onnx 帮助已更新 -https://www.mql5.com/ru/docs/onnx
Документация по MQL5: ONNX модели
Документация по MQL5: ONNX модели
  • www.mql5.com
ONNX модели - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
mytarmailS #:


我一直在思考你的例子。

疑点重重。

首先,我的理解是否正确。

在报价的某些部分,已经找到了能够提供某种完美平衡线的切入点。

如果是这样的话,这就是对历史的过度拟合。找到的入口/出口点根本不符合 "历史重演 "的基本 MO 理念。通过分析方法,我们可以找到一些抽象的模式,并希望/证明这些模式会在未来重演。下面是一些价格区域的标记....


还有其他方法吗?还是我遗漏了什么?

 
СанСаныч Фоменко #:

想到了你的例子。

疑点重重。

首先,我的理解是否正确。

在 Quotir 的某些路段上,已经找到了入口点,这些入口点会给出某条理想的平衡线。

如果是这样,这就是对历史的过度适应。找到的入口/出口点完全不符合 "历史会重演 "这一 MO 的基本思想。通过 MO,人们会寻找一些抽象的模式,并希望/证明这些模式在未来会重复出现。下面是某个价格区域的标记....


还有其他方法吗?还是我遗漏了什么?

这个例子的重点/目的是要说明,不仅可以用现成的目标来训练模型,也可以用任何复杂程度的损失函数来训练模型,使 FF 最小化或最大化。

在本例中(应热心读者的要求),我们展示了如何训练 AMO 以获得最大稳定利润,但也可以根据您的喜好使用任何 FF....。

此外,没有人阻止在训练中添加测试和验证采样,这样就不会出现过度训练的情况,但这会使代码复杂化,而且超出了示例的范围。
 
mytarmailS #:
这个例子的意义/目的在于说明,不仅可以在现成的目标上训练模型,还可以通过最小化或最大化 FF,在任何复杂程度的损失函数上训练模型。

在本例中(应感兴趣者的要求),我们展示了如何训练 AMO 以获得最大稳定利润,但绝对可以根据您的喜好使用任何 FF....。

此外,没有人阻止在训练中添加测试和验证采样,这样就不会出现过度训练的情况,但这会使代码复杂化,而且超出了示例的范围。

我明白了,非常好奇

 
СанСаныч Фоменко #:

我明白了,非常好奇

好奇什么?几个月前在这个主题的对话中就说过,我也参与了)))在这里,许多人认为最大/最小 ff 不应该以任何方式)))))。

因为您设置了 ff,所以船只会航行....。

 
Andrey Dik #:

有什么奇怪的?几个月前,在我参与的对话中,有人在这个主题中说过))在这里,许多人认为最大/最小 ff 不应该以任何方式出现))))。

因为您设置了 ff,所以飞船会航行....。

该算法有自己的 ff,不能更改(不会起作用),它只是为了曲线拟合的美观而添加的。它不会对全局产生任何影响。这里已经有一个变体,在利润因素上有自定义损失,在托盘上则一如既往地漂亮。

我们转了一圈又一圈,每次都有惊喜。健忘症是一种令人愉快的折磨,每天的新闻😀。
 
Maxim Dmitrievsky #:
该算法有自己的 ff,不能更改(将无法工作),它只是曲线拟合的一个附加功能,使其更美观)。它不会对全局产生任何影响。

Max,你可以设置任何 FF,而且最好根据训练目标来设置。

如果学习目标是曲线拟合,那么它就是曲线拟合))。

但这并不能抹杀一个事实,即任何训练的本质都是对某个 FF 的优化(最大/最小化)。

 
Andrey Dik #:

马克斯,FF 可以任意设置,设置适当的学习目标是个好主意。

如果学习目标是 "kurwafing",那么它就是 "kurwafing"))。

但这并不能否认,任何训练的本质都是对某种 FF 的优化(最大/最小化)。

但我想象不出 TC 如何能通过这一点被拉出来:)也许有人有一个超强的 FF,但他保持沉默