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

 
好吧。我在开市前一周开始,积极测试14版。我想说以下几点。一个人训练的时间越长,参与TS的投入就越多。更多的谓语。我最多有8-9个条目。然而,其概括能力通常不高。而这样的TS几乎不起作用。也就是说,他们可以勉强达到3的标准。但有4-6个输入的谓词总体上工作得令人满意。我把参赛作品的数量从50个增加到150个。现在已经进入第三个小时的训练。但我认为这次的投入数量也不会少。因此,让我们看看......
 
嗯,我又注意到了同样的事情。事情是,我有一组数据,perdicts 12,然后去他们相同的滞后,lag1和lag2。以前,输入大多是在集合的开始,即有很少的滞后,然后不超过滞后1,很少当有滞后2。我可以理解,样本的数据量过大,但事实是,在泛化之前,滞后1和滞后2的使用频率更高。但事实是,以前的概括主要是在初始列,现在是在最后列....。实际上,所以让我们得出一些结论....。
 
Mihail Marchukajtes:
好吧,我又注意到这件事了。事情是这样的,我有一个数据集,perdicts 12,然后他们的滞后期来了,lag1和lag2。以前,输入大多是在集合的开始,即滞后很少,然后不超过滞后1,很少滞后2。我可以理解,样本的数据量过大,但事实是,在归纳之前,滞后1和滞后2的频率更高。但事实是,以前的概括主要是在初始列,现在是在最后列....。几乎,所以推断....

所以你需要回滚到以前的版本。

我的航班很好。也许是因为样本中没有滞后期?

 
Dr.Trader:

总的来说,它看起来不错,我想知道最后会发生什么。

关于委员会--我已经贴出了一些例子,但也有使用回归与四舍五入进行分类的模型,那里就不是那么明确了。我试着用两种不同的方式来组合投票。

1) 把所有的东西都归类到班级,选票多的班级。
即有三个模型的4条预报
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) 我将进一步把它四舍五入到班上
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) ,最后的预测向量将是c(0, 1, 1, 0),按票数计算。

2) 另一个选择是马上找到平均结果,然后再四舍五入到班级中去
结果将是c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3)
或(0.2666667, 0.4000000, 0.53333, 0.4000000),或
c(0, 0, 1, 0)

你可以看到,结果是不同的,这取决于哪一步四舍五入。我不知道哪种方式更标准,但我认为第二种方式对新数据更有效。

包tsDyn SETAR功能

结果发现,阈值(像RSI中可以有两个阈值)是可变的。给出了惊人的结果。

另外,我们不要忘记分类中的校准算法。问题是,现实中的类别预测不是一个名义值,算法计算的是类别概率,是一个真实的数字。然后将这个概率除以例如一半,你就得到两个等级。如果概率是0.49和051,那就是两个班级呢?0.48和052怎么样?这是在划分阶级吗?这里是SETAR将分为两类的地方,在这两类之间将是Reshetovskie "围墙"。

 
Dr.Trader:

总的来说,它看起来不错,我想知道最后会发生什么。

关于委员会--我已经贴出了一些例子,但也有使用回归与四舍五入进行分类的模型,那里就不是那么明确了。我已经尝试了两种不同的合并投票方式。

1)把所有的东西都归类为班级,选取得票最多的班级。
即有一个来自三个模型的4条预测
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0。7) 我将进一步四舍五入到类
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) ,最后的预测向量将是c(0, 1, 1, 0) 按票数计算。

2)另一个选择是直接找到平均结果,然后才四舍五入到班级
,结果将是c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3)
或(0.2666667, 0.533333, c(0,0,1)或
)

正如你所看到的,结果是不同的,这取决于哪一步的取舍。我不知道这两种方法哪个更标准,但我相信第二种方法在新数据方面更有效。
这是gbpusd货币对。这意味着该模型正等待Brexit的测试。我甚至还没有处理去年的数据....可能是一棵梅花...

根据最终测试的结果,我将确定文章的基调。看到模型工作时总是有点惊讶,而看到它排水时则是常态。

我将按以下方式组建委员会。

我在训练数据的模型数量上建立了n个数字型的预测向量(价格增量的回归)。

我对所选模型的反应进行平均。

我计算的是量值0.05和0.95。

在验证时,我重复步骤1和2。

我只选择那些平均数在四分位边界之外的例子。

我把反应乘以预测符号,然后减去差值。

在获得的向量上,我建立了m个子样本,根据预测范围,以每天1-4个交易的速度随机纳入。

该委员会已经显示,与单一模型相比,MO增加了三倍。因为模型是多样的...

 
Как из данных вычленить некие группы данных по условию
Как из данных вычленить некие группы данных по условию
  • ru.stackoverflow.com
нужно найти такие строчки которые повторяются не менее 10 раз в всей выборке и в каждой из найденных одинаковых групок которые повторялись, количество "1" в target.label должно превышать 70% по отношению к "0" вот найденные одинаковые строчки единичек больше чем нулей...
 

那我就在这里回答吧。

#пара строк из той таблицы, не буду я всё текстом копировать, потом первая строка повторена ещё дважды
dat <- data.frame(cluster1=c(24,2,13,23,6), cluster2=c(5,15,13,28,12), cluster3=c(18,12,16,22,20), cluster4=c(21,7,29,10,25), cluster5=c(16,22,24,4,11), target.label=c(1,1,0,1,0))
dat <- rbind(dat, dat[1,], dat[1,])
#результат последней строки поменян на 0 для эксперимента
dat[7,"target.label"]=0

library(sqldf)
#для sqldf точек в названиях колонок быть не должно
colnames(dat)[6] <- "target"

dat1 <- sqldf( "select cluster1, cluster2, cluster3, cluster4, cluster5, avg(target) as target_avg, count(target) as target_count from dat group by cluster1, cluster2, cluster3, cluster4, cluster5" )
dat1
dat1[ dat1$target_count>=10 & dat1$target_avg>0.63 , ]
dat1[ dat1$target_count>=10 & ( dat1$target_avg<0.37 | dat1$target_avg>0.63 ), ] #на случай если оба "0" или "1" встречаются чаще 70%
 
桑桑尼茨-弗门科

tsDyn包是一个SETAR函数

SETAR具体指的是委员会的校准,还是说这是创建财务模型的一个独立话题?

我翻阅了软件包的手册,没有看到我需要的东西......情况是这样的:我有一个有10000个例子的训练表。并且有100个模型在这些例子上训练。为了测试这些模型,你可以用它们来预测相同的输入数据,得到100个向量,每个向量有10000个预测结果。SETAR可以用来以某种方式将所有这100个向量合并成一个?
然后,对于有新数据的预测,又会有100个预测,我们需要将它们合并成一个(不会有100个向量,而是100个单一的预测)。使用从训练数据中获得的委员会参数,SETAR是否也能做到这一点?

 
Dr.Trader:

SETAR具体指的是委员会的校准,还是说这是创建财务模型的一个独立话题?

我翻阅了软件包的手册,我没有看到我需要的东西...情况是这样的:我有一个有10000个例子的训练表。我有100个模型在这些例子上训练。为了测试这些模型,你可以用它们来预测相同的输入数据,得到100个向量,每个向量有10000个预测值。SETAR可以用来以某种方式将所有这100个向量合并成一个?
然后,对于有新数据的预测,又会有100个预测,我们需要将它们合并成一个(不会有100个向量,而只是100个单一的预测)。SETAR是否也能做到这一点,使用从训练数据中得出的委员会参数?

根据我的理解,与委员会无关。
 
尤里-雷舍托夫

所以你需要回滚到以前的版本。

我运行良好。也许是因为样本中没有滞后期?

嗯,是的,我在做滞后,因为在以前的版本中,滞后增加了计数能力,现在我认为在改进了预取算法后,我不需要滞后了,所以我在尝试没有滞后的训练。我正努力在没有他们的情况下进行训练。我稍后将报告今天的练习结果...