交易中的机器学习:理论、模型、实践和算法交易 - 页 39 1...323334353637383940414243444546...3399 新评论 Dr. Trader 2016.07.09 13:46 #381 尤里,我能够训练一个vmr模型,但我不能在上面预测新的数据,你能告诉我哪里出了问题吗?我选择加载模型菜单,从附件中选择train.vmr文件,然后点击使用模型。我在日志中看到 "输入数据并按 "确定 "的文字。但就是这样,无论我输入什么数据,我仍然看到一个灰色的不活动的 "OK "按钮,无法得到答案。train.csv和test.csv文件也在atache中,它们是你之前发布的文件。 附加的文件: train.zip 38 kb Yury Reshetov 2016.07.09 14:20 #382 Dr.Trader: 尤里,我能够训练一个vmr模型,但我不能在上面预测新的数据,请你告诉我哪里出了问题?我选择加载模型菜单,从附件中选择train.vmr文件,然后点击使用模型。我在日志中看到 "输入数据并按 "确定 "的文字。但就是这样,无论我输入什么数据,我仍然看到一个灰色的不活动的 "OK "按钮,无法得到答案。Train.csv和test.csv文件也在atache中,这些是你之前发布的文件。一定是输入了非数字的东西?这将触发一个异常处理程序,并停用OK按钮。在这种情况下,你需要重新启动jPrediction。我将在不久的将来研究这个问题,至少在用户输入非数字数据时给出某种警告信息。P/S 我已经修复了它。例如,让我们输入符号 "z "而不是数字。这将导致一个错误信息。现在要激活OK键,选择菜单项 "文件">"使用模型"。将更正后的版本上传到我的网站 Dr. Trader 2016.07.09 16:55 #383 我想明白了,错误是在错误的数据格式中。我按照你在pdf中的格式化了数据--增加了第二行的解释,第一列的指数,并删除了预测器中的列名。一切正常。在这两种情况下,模型都是在原始数据和格式化数据上训练的。但是,只有当特殊格式的数据被送入训练时,预测才能发挥作用。但不幸的是,你的模型在你自己的数据上没有通过测试。你之前发布了train.csv和test.csv文件,你有良好的预测性能。我检查了一下,预测的误差是50%,根本没有好的表现。测试的步骤。1) 如上所述格式化train.csv文件。然后将文件一分为二 - train_part1.csv 和 train_part2.csv。第二个文件包含train.csv的最后20行。第一个文件 包含除最后20行以外的所有其他内容,因此两个文件中的数据不会重叠。2) 在train_part1.csv上训练模型,进入预测模式。从train_part2.csv中交替输入行,进行预测。我在20次中只得到了9次正确的答案,没有奇迹。我不明白,如果你的模型自己把原始训练文件分成两部分进行训练和验证,然后做一个样本外测试,最后的预测准确率为100,为什么?如果你用物理方法分割训练文件,并手动进行样本外测试,那么预测结果就不会比掷硬币好?如果我从训练样本中输入任何样本进行预测,那么预测工作就会正确,也就是说,预测功能似乎是可以的。这都是非常糟糕和错误的,你的代码中存在一些严重的错误。 附加的文件: vmr_test.zip 44 kb Vladimir Perervenko 2016.07.09 18:11 #384 桑桑尼茨-弗门科。只有对R非常肤浅的熟悉,才能谈及 "唠叨"。当然,我们放上R,看到的是一个字符串解释器。如果你深入了解,你可以看到字节码,但它并没有解决解释器在效率方面的任何问题。甚至没有什么可讨论的--唠叨。但如果你深入研究一下R包,你很快就会发现,你在R代码中看到的是指其他代码。而如果你开始调查,你会发现,对于计算密集型的算法,R总是使用第三方软件包,这些软件包的选择是以最大效率为原则。这些通常是C或Fortran库。或者,比如说,矩阵运算。考虑到R没有标量的概念,一切都从向量开始,矩阵运算对R来说是完全自然的,使用一个合适的、不是用R写的库是一个原则问题。使用了英特尔数学内核 库。除此之外,不仅对自己的计算机的所有核心进行并行计算,而且对相邻的计算机进行并行计算,这在R中是一种常见的操作。因此,什么是 "唠叨",什么不是,这是一个大问题。PS。你不必将任何东西移植到R,你只需学习数学。R拥有你所需要的一切,而且远远不止这些。我同意SanSanych的观点。你的任何想法所需要的一切都已经在R/中存在。雷舍托夫的傲慢言论并不令人惊讶。这就是这样一种世界观。 没有必要改变你的想法。这毫无意义。 Yury Reshetov 2016.07.09 18:56 #385 Dr.Trader:我不明白,如果你的模型本身将原始训练文件分成两部分进行训练和验证,然后做一个样本外测试,最后的预测准确率为100,为什么?如果你用物理方法分割训练文件,并手动进行样本外测试,那么预测结果就不会比掷硬币好?如果我从训练样本中输入任何样本进行预测,那么预测工作就会正确,也就是说,预测功能似乎是可以的。这都是非常糟糕和错误的,你的代码中存在一些严重的错误。 你是对的,代码中存在一个错误。我会纠正它。 mytarmailS 2016.07.09 19:07 #386 弗拉基米尔-佩雷文科。我支持桑桑尼茨。你的任何想法所需要的一切都已经在R/。如果可以的话,我想在这里争论一下,唠叨是指速度方面,我绝对同意尤里的观点......对于几乎所有的问题,你都可以在R中找到现成的解决方案,但有时你会被速度所困扰我记得,我正在通过相关函数对许多参数进行非常艰难的搜索,起初我使用了内置的R函数(顺便说一下,它是用C++编写的),但由于它被不同的方法所重载,我的一轮计算大约需要3.9分钟或230秒,这个时间是不能接受的,第二步是在R中编写我自己的函数,没有其他的东西,我的函数在30秒内工作,但它不能满足我,因为R是我第一个也是唯一的语言,我要求我的朋友为我编写一个函数corr所以我们来比较一下R中默认的相关系数是230秒。自写的R相关函数 - 30秒。用C++编写的函数 - 0,33 sec所以,是的,Yuri是对的,在他的意思中,R是一个杯子,但这个问题可以解决,至于方便和写代码的速度,我认为R离所有的语言都很远,因为我不需要写任何东西,所有东西都是现成的,这就是为什么我喜欢R ... Vladimir Perervenko 2016.07.09 19:39 #387 mytarmailS:我在这里争论一下,如果可以的话,唠叨是指速度方面的,我绝对同意尤里的观点......你很可能找到一个现成的解决方案来解决几乎任何问题,但有时你会被速度所困。我记得,我正在通过相关函数对许多参数进行非常艰难的搜索,起初我使用了内置的R函数(顺便说一下,它是用C++编写的),但由于它被不同的方法所重载,我的一轮计算大约需要3.9分钟或230秒,这个时间是不能接受的,第二步是在R中编写我自己的函数,没有其他的东西,我的函数在30秒内工作,但它不能满足我,因为R是我第一个也是唯一的语言,我要求我的朋友为我编写一个函数corr所以我们来比较一下R中默认的相关系数是230秒。自写的R相关函数 - 30秒。用C++编写的函数 - 0,33 sec所以,是的,Yuri是对的,R在他的意思中是一个唠叨,但这个问题已经解决了,至于编码的便利性和速度,我认为R离所有的语言都很远,因为我几乎不用写任何东西,所有东西都是现成的,这就是为什么我喜欢R ...那么这与R有什么关系呢? 再一次,R拥有你实现你的想法所需的一切,包括速度。另一件事是,并不是每个人和所有东西都知道如何使用它们。但这并不是语言的问题。顺便说一下,Srr中的内联函数的方便性和简单性是惊人的。祝好运 СанСаныч Фоменко 2016.07.09 19:40 #388 mytarmailS:我在这里争论一下,如果可以的话,唠叨是指速度方面的,我绝对同意尤里的观点......你有可能为R的几乎任何问题找到现成的解决方案,但有时你会被速度所困。我记得,我正在通过相关函数对许多参数进行非常艰难的搜索,起初我使用了内置的R函数(顺便说一下,它是用C++编写的),但由于它被不同的方法所重载,我的一轮计算大约需要3.9分钟或230秒,这个时间是不能接受的,第二步是在R中编写我自己的函数,没有其他的东西,我的函数在30秒内工作,但它不能满足我,因为R是我第一个也是唯一的语言,我要求我的朋友为我编写一个函数corr所以我们来比较一下R中默认的相关函数是230秒。自写的R相关函数 - 30秒。用C++编写的函数 - 0,33 sec所以是的,Yuri是对的,R在他所指的背景下是个杯具,但这个问题已经解决了,至于编码的便利性和速度,我认为R离所有的语言都很远,因为我几乎不用写任何东西,所有东西都是现成的,这就是为什么我喜欢R ...我们不要用一个特定的例子来代替一般的问题。如果我们笼统地谈论R编程系统中代码的效率,我写过关于效率的基本知识。与大多数编程系统相比,R中的计算密集型算法是间接使用的,在一般的编程中,在一些内容函数内最有效地使用,尽管有可能直接使用它们,例如优化或GA。这种效率最明显的例子是矩阵运算,它属于计算容量最大的运算。程序员可能根本没有意识到正在使用的库,因为矩阵操作只是一行简单的代码。此外,我在关于效率的帖子中没有写到的是你写的内容。它是写一段snr代码的能力,强调R的结构是这样的:这种插入将是对主代码的有机补充。而你举的例子是非常典型的R的例子。 mytarmailS 2016.07.09 20:59 #389 好吧,我建议关闭效率R的话题,因为我们已经开始重复显而易见的事情了,其含义是 "石油,天是蓝的,草是绿的"。 mytarmailS 2016.07.10 08:56 #390 你好!我发现了一个带有递归神经网络的软件包https://cran.r-project.org/web/packages/rnn/rnn.pdf, 在我的数据上检查它是很有趣的(也许其他人会感兴趣;) )但是我遇到了一些我还没有遇到过的事情,因为递归网络,数据是以一种特殊的方式以三维阵列的形式输入的,尽管有一个例子,我还是不能理解它是如何工作的。如果我没有2个预测器,而是100个,代码应该如何在 "X "变量中显示,这里有一个例子。# create training numbers X1 = sample(0:127, 7000, replace=TRUE) X2 = sample(0:127, 7000, replace=TRUE) # create training response numbers Y <- X1 + X2 # convert to binary X1 <- int2bin(X1) X2 <- int2bin(X2) Y <- int2bin(Y) # Create 3 d array: dim 1: samples; dim 2: time; dim 3: variables. X <- array( c(X1,X2), dim=c(dim(X1),2) ) 1...323334353637383940414243444546...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
尤里,我能够训练一个vmr模型,但我不能在上面预测新的数据,请你告诉我哪里出了问题?我选择加载模型菜单,从附件中选择train.vmr文件,然后点击使用模型。我在日志中看到 "输入数据并按 "确定 "的文字。但就是这样,无论我输入什么数据,我仍然看到一个灰色的不活动的 "OK "按钮,无法得到答案。Train.csv和test.csv文件也在atache中,这些是你之前发布的文件。
一定是输入了非数字的东西?这将触发一个异常处理程序,并停用OK按钮。在这种情况下,你需要重新启动jPrediction。
我将在不久的将来研究这个问题,至少在用户输入非数字数据时给出某种警告信息。
P/S 我已经修复了它。
例如,让我们输入符号 "z "而不是数字。这将导致一个错误信息。
现在要激活OK键,选择菜单项 "文件">"使用模型"。
将更正后的版本上传到我的网站
我想明白了,错误是在错误的数据格式中。我按照你在pdf中的格式化了数据--增加了第二行的解释,第一列的指数,并删除了预测器中的列名。一切正常。在这两种情况下,模型都是在原始数据和格式化数据上训练的。但是,只有当特殊格式的数据被送入训练时,预测才能发挥作用。
但不幸的是,你的模型在你自己的数据上没有通过测试。你之前发布了train.csv和test.csv文件,你有良好的预测性能。我检查了一下,预测的误差是50%,根本没有好的表现。
测试的步骤。
1) 如上所述格式化train.csv文件。然后将文件一分为二 - train_part1.csv 和 train_part2.csv。第二个文件包含train.csv的最后20行。第一个文件 包含除最后20行以外的所有其他内容,因此两个文件中的数据不会重叠。
2) 在train_part1.csv上训练模型,进入预测模式。从train_part2.csv中交替输入行,进行预测。我在20次中只得到了9次正确的答案,没有奇迹。
我不明白,如果你的模型自己把原始训练文件分成两部分进行训练和验证,然后做一个样本外测试,最后的预测准确率为100,为什么?如果你用物理方法分割训练文件,并手动进行样本外测试,那么预测结果就不会比掷硬币好?如果我从训练样本中输入任何样本进行预测,那么预测工作就会正确,也就是说,预测功能似乎是可以的。这都是非常糟糕和错误的,你的代码中存在一些严重的错误。
只有对R非常肤浅的熟悉,才能谈及 "唠叨"。
当然,我们放上R,看到的是一个字符串解释器。如果你深入了解,你可以看到字节码,但它并没有解决解释器在效率方面的任何问题。甚至没有什么可讨论的--唠叨。
但如果你深入研究一下R包,你很快就会发现,你在R代码中看到的是指其他代码。而如果你开始调查,你会发现,对于计算密集型的算法,R总是使用第三方软件包,这些软件包的选择是以最大效率为原则。这些通常是C或Fortran库。
或者,比如说,矩阵运算。考虑到R没有标量的概念,一切都从向量开始,矩阵运算对R来说是完全自然的,使用一个合适的、不是用R写的库是一个原则问题。使用了英特尔数学内核 库。
除此之外,不仅对自己的计算机的所有核心进行并行计算,而且对相邻的计算机进行并行计算,这在R中是一种常见的操作。
因此,什么是 "唠叨",什么不是,这是一个大问题。
PS。
你不必将任何东西移植到R,你只需学习数学。R拥有你所需要的一切,而且远远不止这些。
我同意SanSanych的观点。你的任何想法所需要的一切都已经在R/中存在。
雷舍托夫的傲慢言论并不令人惊讶。这就是这样一种世界观。
没有必要改变你的想法。这毫无意义。
我不明白,如果你的模型本身将原始训练文件分成两部分进行训练和验证,然后做一个样本外测试,最后的预测准确率为100,为什么?如果你用物理方法分割训练文件,并手动进行样本外测试,那么预测结果就不会比掷硬币好?如果我从训练样本中输入任何样本进行预测,那么预测工作就会正确,也就是说,预测功能似乎是可以的。这都是非常糟糕和错误的,你的代码中存在一些严重的错误。
我支持桑桑尼茨。你的任何想法所需要的一切都已经在R/。
如果可以的话,我想在这里争论一下,唠叨是指速度方面,我绝对同意尤里的观点......
对于几乎所有的问题,你都可以在R中找到现成的解决方案,但有时你会被速度所困扰
我记得,我正在通过相关函数对许多参数进行非常艰难的搜索,起初我使用了内置的R函数(顺便说一下,它是用C++编写的),但由于它被不同的方法所重载,我的一轮计算大约需要3.9分钟或230秒,这个时间是不能接受的,第二步是在R中编写我自己的函数,没有其他的东西,我的函数在30秒内工作,但它不能满足我,因为R是我第一个也是唯一的语言,我要求我的朋友为我编写一个函数corr所以我们来比较一下
R中默认的相关系数是230秒。
自写的R相关函数 - 30秒。
用C++编写的函数 - 0,33 sec
所以,是的,Yuri是对的,在他的意思中,R是一个杯子,但这个问题可以解决,至于方便和写代码的速度,我认为R离所有的语言都很远,因为我不需要写任何东西,所有东西都是现成的,这就是为什么我喜欢R ...
我在这里争论一下,如果可以的话,唠叨是指速度方面的,我绝对同意尤里的观点......
你很可能找到一个现成的解决方案来解决几乎任何问题,但有时你会被速度所困。
我记得,我正在通过相关函数对许多参数进行非常艰难的搜索,起初我使用了内置的R函数(顺便说一下,它是用C++编写的),但由于它被不同的方法所重载,我的一轮计算大约需要3.9分钟或230秒,这个时间是不能接受的,第二步是在R中编写我自己的函数,没有其他的东西,我的函数在30秒内工作,但它不能满足我,因为R是我第一个也是唯一的语言,我要求我的朋友为我编写一个函数corr所以我们来比较一下
R中默认的相关系数是230秒。
自写的R相关函数 - 30秒。
用C++编写的函数 - 0,33 sec
所以,是的,Yuri是对的,R在他的意思中是一个唠叨,但这个问题已经解决了,至于编码的便利性和速度,我认为R离所有的语言都很远,因为我几乎不用写任何东西,所有东西都是现成的,这就是为什么我喜欢R ...
那么这与R有什么关系呢?
再一次,R拥有你实现你的想法所需的一切,包括速度。
另一件事是,并不是每个人和所有东西都知道如何使用它们。
但这并不是语言的问题。
顺便说一下,Srr中的内联函数的方便性和简单性是惊人的。
祝好运
我在这里争论一下,如果可以的话,唠叨是指速度方面的,我绝对同意尤里的观点......
你有可能为R的几乎任何问题找到现成的解决方案,但有时你会被速度所困。
我记得,我正在通过相关函数对许多参数进行非常艰难的搜索,起初我使用了内置的R函数(顺便说一下,它是用C++编写的),但由于它被不同的方法所重载,我的一轮计算大约需要3.9分钟或230秒,这个时间是不能接受的,第二步是在R中编写我自己的函数,没有其他的东西,我的函数在30秒内工作,但它不能满足我,因为R是我第一个也是唯一的语言,我要求我的朋友为我编写一个函数corr所以我们来比较一下
R中默认的相关函数是230秒。
自写的R相关函数 - 30秒。
用C++编写的函数 - 0,33 sec
所以是的,Yuri是对的,R在他所指的背景下是个杯具,但这个问题已经解决了,至于编码的便利性和速度,我认为R离所有的语言都很远,因为我几乎不用写任何东西,所有东西都是现成的,这就是为什么我喜欢R ...
我们不要用一个特定的例子来代替一般的问题。
如果我们笼统地谈论R编程系统中代码的效率,我写过关于效率的基本知识。与大多数编程系统相比,R中的计算密集型算法是间接使用的,在一般的编程中,在一些内容函数内最有效地使用,尽管有可能直接使用它们,例如优化或GA。
这种效率最明显的例子是矩阵运算,它属于计算容量最大的运算。程序员可能根本没有意识到正在使用的库,因为矩阵操作只是一行简单的代码。
此外,我在关于效率的帖子中没有写到的是你写的内容。它是写一段snr代码的能力,强调R的结构是这样的:这种插入将是对主代码的有机补充。而你举的例子是非常典型的R的例子。
你好!
我发现了一个带有递归神经网络的软件包https://cran.r-project.org/web/packages/rnn/rnn.pdf, 在我的数据上检查它是很有趣的(也许其他人会感兴趣;) )但是我遇到了一些我还没有遇到过的事情,因为递归网络,数据是以一种特殊的方式以三维阵列的形式输入的,尽管有一个例子,我还是不能理解它是如何工作的。
如果我没有2个预测器,而是100个,代码应该如何在 "X "变量中显示,这里有一个例子。