交易中的机器学习:理论、模型、实践和算法交易 - 页 2733 1...272627272728272927302731273227332734273527362737273827392740...3399 新评论 mytarmailS 2022.09.06 16:15 #27321 Maxim Kuznetsov #:它有用吗? 我们 先 从一个更简单的东西开始:一个二维代理,它有 9 只眼睛,分别指向前方的不同角度,每只眼睛都能感知其方向上的 3 个值(最大可视距离):与墙壁的距离、与绿色物体的距离或与红色物体 的距离。代理通过 5 个动作中的一个动作来导航,这些动作会使代理转向不同的角度。红色的东西是苹果,特工吃了会得到奖励。绿色的东西是毒药,代理吃了会得到负奖励。按照目前的参数设置,训练需要几十分钟。您可以点击开始学习......然后停止学习.....蟑螂应该奔跑,并喜欢红点而避开绿点......实际上:停止学习后,它或多或少会遵循上次的运动模式,而不会区分红色和绿色。或者是我的蟑螂异常愚蠢 :-) 因为在 学习 完成之前 ,您不应该按停止学习键。 Maxim Kuznetsov 2022.09.06 19:09 #27322 mytarmailS #:因为在 学习 完成之前 ,你不会停止学习 。 万岁!成功了......学习了 3 个小时,我差点忘了它。 现在,蟑螂跑得跟它应该跑的一样(差不多),尽量避开绿色的,吃红色的。 很显然,"感觉器 "少了一个,训练的 "感觉器 "就少了一个:-)也就是说,如果被罚的绿色蟑螂在某一边,它就会立即被吃掉。反之,则会避开某条横线上的红色小鱼。 不过,这可能是一个系统故障。 Aleksey Vyazmikin 2022.09.07 02:57 #27323 Aleksey Nikolayev #:这只适用于独立特征的情况,因为它们是以相同的价格计算的,所以这是不可能的。在依赖关系的情况下,情况就复杂得多了--我们可以用共线法来举例,在共线法中,单变量分布总是相同的统一分布,但同时双变量分布也可能非常不同。 也许在同一个 R 上有一个解决方案,但你只需要去寻找它? Aleksey Nikolayev#: 你偏爱繁重的枚举计算)我们必须(在已经相当多的枚举中)增加按特征类型枚举,当然,也可以按特征参数枚举。不过,在我看来,您的方法有其合理之处,值得思考。 是的,显然我不善于在没有实验的情况下预测结果,所以与其建立多阶段的逻辑计算,在其中的某一步可能会出现错误,还不如进行测试并经常失望。 即使你学会了将样本划分为子样本,接下来的问题是如何对当前样本进行正确分类,并对其应用必要的模型。 Aleksey Vyazmikin 2022.09.07 04:09 #27324 mytarmailS #: 或许,不需要样本均匀性的统计标准,只需要观察模型在动态(滑动窗口)中特征重要性的变化即可。 如果当前状态与之前的状态有很大差异,就意味着我们已经进入了另一个样本....。 优点 1.您无需编程统计。测试,一切开箱即用 2.它不仅考虑了采样时间的变化,还考虑了目标的变化,我认为这一点同样重要 在什么时候进行观察?您建议如何进行动态观察? 我有一个脚本,可以在动态中显示模型叶片的激活情况,也就是说,您可以看到哪些叶片被触发了。也许我们应该计算它们在训练片段中的平均激活频率,然后查看测试片段中的偏差?这样,我们至少可以尝试从理论上监测模型效率的下降。 mytarmailS 2022.09.07 07:24 #27325 Aleksey Vyazmikin #:在什么时候观察,在训练的时候?您建议如何进行动态观察,如何实现?我有一个脚本,可以动态显示模型叶片的激活情况,也就是说,你可以看到哪些叶片被激活了。也许我们应该计算它们在训练片段中被激活的平均频率,然后再看看在测试片段中的偏差?这样,我们至少可以尝试从理论上监测模型效率的下降。 查看旧模型没有任何意义,因为它无法捕捉市场.... 的变化。 我建议按建议实施)))))) 在一个滑动窗口中重新训练模型,观察迹象的重要性,或者只提取一些好迹象的决定因素,在一个滑动窗口中观察它。窗口 下面是一个随机生成的包含 5 个特征和 1 个二进制目标的样本的示例。Forest 和 Fiche 选择器X <- matrix(rnorm(1000),ncol = 5) Y <- as.factor(sample(0:1,nrow(X),replace = T)) head(X) head(Y) #install.packages("randomForest") library(randomForest) rf_imp_mat <- matrix(ncol = ncol(X),nrow = nrow(X)) for(i in 30:nrow(X)){ ii <- (i-29):i rf <- randomForest(Y[ii]~.,X[ii,],ntree=100) rf_imp_mat[i,] <- importance(rf)[,1] } #install.packages("FSelectorRcpp") library(FSelectorRcpp) fs_imp_mat <- matrix(ncol = ncol(X),nrow = nrow(X)) for(i in 30:nrow(X)){ ii <- (i-29):i infg <- information_gain(y = Y[ii],x = as.data.frame(X[ii,])) fs_imp_mat[i,] <- infg$importance } par(mfrow=c(1,2)) matplot(rf_imp_mat , t="l",lty=1,main="rf_var_imp") matplot(fs_imp_mat , t="l",lty=1,main="fs_var_imp") 在 R-ka 中,如果没有必要,当然不习惯于循环书写,但这种风格会让新手感到困惑,而像我这样的中间人也会感到困惑....。但你可以这样写,代码量减少3 倍,而结果是一样的。X <- matrix(rnorm(1000),ncol = 5) Y <- as.factor(sample(0:1,nrow(X),replace = T)) idx <- embed(1:nrow(X),dimension = 30)[,30:1] library(randomForest) rf_imp_mat <- t(apply(idx,1,function(i) importance(randomForest(Y[i]~.,X[i,]))[,1])) library(FSelectorRcpp) fs_imp_mat <- t(apply(idx,1,function(i) information_gain(y=Y[i],x=as.data.frame(X[i,]))$importance)) par(mfrow=c(1,2)) matplot(rf_imp_mat , t="l",lty=1,main="rf_var_imp") matplot(fs_imp_mat , t="l",lty=1,main="fs_var_imp") 此外,您还可以根据自己的喜好 选择不同的选择器,这可能是 R-ka 中可用 选择器 的 5%。 GitHub - FrancisArgnR/R-FeatureSelection-Packages: Brief guide to feature selection packages in R FrancisArgnRgithub.com Feature selection or variable selection in machine learning is the process of selecting a subset of relevant features (variables or predictors) for use in model construction. Packages FSinR Boruta caret spFSR varSelRF CORElearn FSelector Maxim Kuznetsov 2022.09.07 08:02 #27326 或查看两种或三种货币的窗口,并延迟第三种货币的交易时间。 例如,下半日看欧元、瑞士法郎和美元兑加元,清晨看日元(澳元、新西兰元)......这样,系统就能学会判断美元的趋势,并有时间在 "它还没有腐烂 "之前买入。 只怕一句话,"所有的路都走过了",用现有的方法是不可能捞到鱼的。 [删除] 2022.09.07 10:20 #27327 要发明某样东西,就必须先确定研究对象,然后再确定它的属性,这样它就不会像猴子和眼镜一样了。 Evgeny Dyuka 2022.09.07 14:42 #27328 Maxim Dmitrievsky #: 要发明什么东西,首先要确定研究对象,然后再确定其属性,这样就不会像猴子和眼镜那样了。 现在界定研究对象及其属性还为时过早,论坛才成立 6 年。别这么难听! [删除] 2022.09.07 18:06 #27329 Evgeny Dyuka #:现在确定研究对象及其属性还为时过早,论坛才成立 6 年。别那么讨厌! 如果您开始将报价作为一个时间序列进行研究,您可能会发现一些其他时间序列所没有的特殊性。也许这些特征中蕴含着一些规律。是的,并不是所有的东西都能直接利用滞后特征进行自回归和分类,但如果加上巧妙的方法,您可以 Renat Akhtyamov 2022.09.07 18:52 #27330 Maxim Kuznetsov #:(我希望他们不会因为 CodeBase 链接向你开枪:https://www.mql5.com/ru/code/36558)该指标只是显示(并总结)"黑/白 "迹象。 我将在这里显示条形符号,这并不可惜。 我将翻阅我那不多的发展档案,并将它们公布出来。 当然,这很有趣,我并不反驳,但这也存在非平稳性。 这就是为什么预测的概率略低于 1。 但从根本上说,如果现在是上涨,那么下一根柱子就会下跌。 较年轻的 TFMs 的这种变动会反映在较年长的 TFMs 上。 因此,趋势并不是一条直线,而是有很多回调,回调的持续时间和回调的条形图大小都是多重的。 然而,您似乎可以应用傅立叶法找到这些波浪,但事实并非如此,因为 时间尺度是以同样的方式前后调制的。 要理解这个奇迹并不容易,如果正面去做,会有很多问题。 例如,我们可以考虑从左到右或从右到左的价格走势,不一定从右边开始。 这样就有了向前和向后,向上和向下。 1...272627272728272927302731273227332734273527362737273827392740...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
它有用吗?
我们 先 从一个更简单的东西开始:一个二维代理,它有 9 只眼睛,分别指向前方的不同角度,每只眼睛都能感知其方向上的 3 个值(最大可视距离):与墙壁的距离、与绿色物体的距离或与红色物体 的距离。代理通过 5 个动作中的一个动作来导航,这些动作会使代理转向不同的角度。红色的东西是苹果,特工吃了会得到奖励。绿色的东西是毒药,代理吃了会得到负奖励。按照目前的参数设置,训练需要几十分钟。
您可以点击开始学习......然后停止学习.....
蟑螂应该奔跑,并喜欢红点而避开绿点......
实际上:停止学习后,它或多或少会遵循上次的运动模式,而不会区分红色和绿色。或者是我的蟑螂异常愚蠢 :-)
因为在 学习 完成之前 ,您不应该按停止学习键。
因为在 学习 完成之前 ,你不会停止学习 。
万岁!成功了......学习了 3 个小时,我差点忘了它。
现在,蟑螂跑得跟它应该跑的一样(差不多),尽量避开绿色的,吃红色的。
很显然,"感觉器 "少了一个,训练的 "感觉器 "就少了一个:-)也就是说,如果被罚的绿色蟑螂在某一边,它就会立即被吃掉。反之,则会避开某条横线上的红色小鱼。
不过,这可能是一个系统故障。
这只适用于独立特征的情况,因为它们是以相同的价格计算的,所以这是不可能的。在依赖关系的情况下,情况就复杂得多了--我们可以用共线法来举例,在共线法中,单变量分布总是相同的统一分布,但同时双变量分布也可能非常不同。
也许在同一个 R 上有一个解决方案,但你只需要去寻找它?
你偏爱繁重的枚举计算)我们必须(在已经相当多的枚举中)增加按特征类型枚举,当然,也可以按特征参数枚举。
不过,在我看来,您的方法有其合理之处,值得思考。
是的,显然我不善于在没有实验的情况下预测结果,所以与其建立多阶段的逻辑计算,在其中的某一步可能会出现错误,还不如进行测试并经常失望。
即使你学会了将样本划分为子样本,接下来的问题是如何对当前样本进行正确分类,并对其应用必要的模型。
或许,不需要样本均匀性的统计标准,只需要观察模型在动态(滑动窗口)中特征重要性的变化即可。
在什么时候进行观察?您建议如何进行动态观察?
我有一个脚本,可以在动态中显示模型叶片的激活情况,也就是说,您可以看到哪些叶片被触发了。也许我们应该计算它们在训练片段中的平均激活频率,然后查看测试片段中的偏差?这样,我们至少可以尝试从理论上监测模型效率的下降。
在什么时候观察,在训练的时候?您建议如何进行动态观察,如何实现?
我有一个脚本,可以动态显示模型叶片的激活情况,也就是说,你可以看到哪些叶片被激活了。也许我们应该计算它们在训练片段中被激活的平均频率,然后再看看在测试片段中的偏差?这样,我们至少可以尝试从理论上监测模型效率的下降。
下面是一个随机生成的包含 5 个特征和 1 个二进制目标的样本的示例。
Forest 和 Fiche 选择器
在 R-ka 中,如果没有必要,当然不习惯于循环书写,但这种风格会让新手感到困惑,而像我这样的中间人也会感到困惑....。
但你可以这样写,代码量减少3 倍,而结果是一样的。
此外,您还可以根据自己的喜好 选择不同的选择器,这可能是 R-ka 中可用 选择器 的 5%。
或查看两种或三种货币的窗口,并延迟第三种货币的交易时间。
例如,下半日看欧元、瑞士法郎和美元兑加元,清晨看日元(澳元、新西兰元)......这样,系统就能学会判断美元的趋势,并有时间在 "它还没有腐烂 "之前买入。
只怕一句话,"所有的路都走过了",用现有的方法是不可能捞到鱼的。
要发明什么东西,首先要确定研究对象,然后再确定其属性,这样就不会像猴子和眼镜那样了。
现在界定研究对象及其属性还为时过早,论坛才成立 6 年。别这么难听!
现在确定研究对象及其属性还为时过早,论坛才成立 6 年。别那么讨厌!
(我希望他们不会因为 CodeBase 链接向你开枪:https://www.mql5.com/ru/code/36558)
该指标只是显示(并总结)"黑/白 "迹象。
我将在这里显示条形符号,这并不可惜。
我将翻阅我那不多的发展档案,并将它们公布出来。
当然,这很有趣,我并不反驳,但这也存在非平稳性。
这就是为什么预测的概率略低于 1。
但从根本上说,如果现在是上涨,那么下一根柱子就会下跌。
较年轻的 TFMs 的这种变动会反映在较年长的 TFMs 上。
因此,趋势并不是一条直线,而是有很多回调,回调的持续时间和回调的条形图大小都是多重的。
然而,您似乎可以应用傅立叶法找到这些波浪,但事实并非如此,因为
时间尺度是以同样的方式前后调制的。
要理解这个奇迹并不容易,如果正面去做,会有很多问题。
例如,我们可以考虑从左到右或从右到左的价格走势,不一定从右边开始。
这样就有了向前和向后,向上和向下。