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

 
尤里-雷舍托夫



集成到R中不是更好吗?

而且更多的人将能够工作,与R的mt5桥梁似乎是可用的

 
Dr.Trader:

我从来没有试过这样做,但从技术上讲,你也可以把目标变量作为一个预测因素,把它纳入pca模型。然后,在新的数据中,它的价值将不为人知,所以pca可以填补这些缺失的价值。

我试着预测头部组件,但没有得到任何有趣的结果......

你也可以试试,有一个非常好的、记录良好的软件包 "Rssa"。

 
Dr.Trader:

不,没关系的。由于每个主成分所使用的预测因子是已知的,我们可以安全地筛选出那些在主成分中没有使用的预测因子。

你说它们没有被使用是什么意思?PCA是一种线性转换。可以消除的尺寸是那些可以通过其他尺寸的线性组合得到的尺寸。这意味着任何预测器都可以通过主成分的线性组合得到。 如果采取95%的区间,很有可能因为尺度问题而愚蠢地失去一个好的预测器,小于100%的区间只用于有损数据压缩,否则总是只有那些无效成分被切断。

 
mytarmailS:
该死的,我怀疑这些 "NA "显示在日期中并不是偶然的,但我读了手册,它清楚地说是用神经网络的PCA,但仍然不清楚网站上的这个家伙是如何得到这个漂亮的图片,并按类别进行了很好的分离。

这些图片在那里有不同的观点...这篇文章本身不是关于分类的,而是关于聚类的。你有数据,你需要以某种方式把它们分成几组。你甚至不知道你有多少个小组--两个、三个、十个...。作者使用了PCA中前两个成分的图表,其中重要的是一个组中的点彼此之间有多接近。颜色已经是一种比较分析,并且是从已经知道的目标变量中分配的,这些变量没有经过计算,只是从表格中准备好。如果各组点按颜色分布正确,那么一切都很好,这个方法似乎是有效的,我们可以在其他数据上尝试。但文章中真的没有预测,只有聚类和与已知分类的比较。

你可以在我上一篇文章中画一个类似的图。结果将是一个像这样的图:http://i0.wp.com/www.win-vector.com/dfiles/YAwarePCA_files/figure-html/scaledplotest-1.png 这里没有漂亮的聚类,不同的输入数据。但如果你使用表虹膜作为输入数据,你会得到类似于你给的文章中的图表。

 
组合器
PCA最初是为了降低原始序列的维度。这就是全部。用它来选择预测者是痴心妄想。
你能不能正确地反驳我链接 的文章的内容。在这一点上,Dr.Trader:已经尝试使用这个材料。要很具体地使用它。其结果是否定的。也许你也可以就这个问题给我们一个意见?
Principal Components Regression, Pt. 3: Picking the Number of Components | R-bloggers
Principal Components Regression, Pt. 3: Picking the Number of Components | R-bloggers
  • Nina Zumel
  • www.r-bloggers.com
In our previous note we demonstrated Y-Aware PCA and other y-aware approaches to dimensionality reduction in a predictive modeling context, specifically Principal Components Regression (PCR). For our examples, we selected the appropriate number of principal components by eye. In this note, we will look at ways to select the appropriate number...
 
mytarmailS:

集成到R中不是更好吗?

而且更多的人将能够工作,与R的mt5桥梁似乎是可用的

从Dr.Trader在试图将旧的libVMR移植到R中时已经崩溃,而且对于大型核机来说没有足够的内存,而对于小型核机来说又没有充分的性能(减少了100倍的周期数)这一事实来看,我怀疑会有人愿意犯同样的错误。


所以,最好先不要开始谈移植到R的这种任务--这个唠叨不会拉。

 
尤里-雷舍托夫

从Dr.Trader在试图将旧的libVMR移植到R时已经崩溃的事实来看,对于大型核机来说没有足够的内存,对于小型核机来说也没有充分的性能(周期数减少了100倍),不太可能有人愿意踩着同一个耙子?


所以,像这样在R上进行移植,最好不要喘气--这个破烂儿太慢了。

我的意思是要为 "R "创建一个包。

"R "由70%的用其他语言编写的包组成(C++、C、fortran、java......),所以处理速度不应该受到影响,还是我错过了什么?

著名的 "h2o "包都是用java写的。

 
mytarmailS:

我的意思是要为 "R "创建一个包。

"R "由大约70%的用 "外国 "语言(C++、C、fortran、java......)编写的包组成,所以处理速度应该不会受到影响,还是我错过了什么?

著名的 "h2o "包都是用java写的。

我不知道这一点。我会试着寻找在Java中创建包的说明。
 
Yury Reshetov:


更具体地说,在报告文件中。

/**
* 样本外的建模质量:
*
* 真阳性:182
* 真阴性:181
* 假阳性:1
* 假阴性:1
* 有统计的样本外的总模式:365
* 样本外的总错误:2
* 归纳能力的敏感性:99。4535519125683%
* 概括能力的特异性:99.45054945054946%
* 概括能力:98.90410136311776%
* Reshetov的指标:8.852456238401455
*/

对不起,我不相信,这太图形化 了。请你重复一下这个实验好吗?我附上了另一个档案,那里的数据是不同时期的。模型训练应该在train.csv,测试在test_notarget.csv。我对test_notarget.csv文件的预测结果感兴趣。公平地说,test文件不包含目标变量。但还有一个带密码的档案,里面有测试test.csv的结果,我将给密码,以交换预测结果的比较。

附加的文件:
forex_test.zip  2699 kb
 
组合器

你说它们没有被使用是什么意思?PCA是一种线性转换。可移动的尺寸--那些可以通过其他尺寸的线性组合得到的尺寸。这意味着任何预测器都可以通过主成分的线性组合得到。如果采取95%的区间,很有可能因为尺度问题而愚蠢地失去一个好的预测器,小于100%的区间只用于有损数据压缩,否则总是只有那些为零的成分被切断。

我没说准确,但你说对了。关键是要准确地采取足以达到95%准确度的成分,并抛弃其余的成分。例如:有10000个预测器,这意味着可以创建10000个组件以保证100%的准确性。然后,我们可以丢弃这9900个组件,留下100个,但准确率将只减少5%,从100%降到95%。必须对其余的100个成分进行分析,并删除其中未使用的预测因子。5%的损失不是问题,因为重要的是预测目标变量,而不是毫无损失地重新创建原始数据。