龙听期货论坛's Archiver

龙听 发表于 2019-11-2 09:40

量化模型的选择准则介绍

[p=30, 2, left]量化模型的参数是可以通过对数据样本的校正或训练得到的,但是决定量化模型结构的超参数却无法从数据训练中的得到,而只能通过选择得到。不同的量化模型可能包含不同的超参数,例如多维时间序列模型的超参数包含了各个维度所代表的输入特征、时间序列的延时等;神经网络的超参数则包含了,每层神经元的连接方式,神经元层数等。有的研究结果甚至显示模型的超参数甚至比模型的参数训练更为重要。[/p][p=30, 2, left]因此从不同的模型超参数组合中选择出一个预测能力较强的模型既是重点也是难点。量化模型的评价和选择准则有多种,最简单的就是看模型对数据的拟合效果。这个可以考察模型对样本的均方根误差等指标。但是模型对数据的拟合效果往往不能代表量化模型的预测能力。即使所有模型与数据的拟合都存在一定的偏差,研究人员仍然希望能从中找出具有一定预测能力的模型,因为模型应用到交易当中最主要的是看模型的预测效果,模型开发人员更希望根据模型的预测效果来改进模型。一个比较直接的方法就是使用交叉验证,但是这种方法需要大量的模型拟合计算,对计算量要求较高,所以研究人员普遍希望能找到计算量较小的替代品。所以从实际操作的角度来讲,一些简单通过平衡拟合效果和参数数量的模型选择准则,仍然有一定的存在价值。但是目前学术界对使用哪种信息量准则来衡量模型并没有达成共识。[/p][p=30, 2, left]下面介绍三个常用的信息量准则原理,包括赤池信息准则,贝叶斯信息准则和交叉验证CV(Cross Validation)。[/p][p=30, 2, left][b](1) 赤池信息准则(Akaike information criterion, AIC)[/b][/p][p=30, 2, left]AIC信息量准则由学者Akaike赤池提出,所以中文又称赤池信息量准则。假设一个模型包含了个需要估计的参数。是该量化模型的最大似然函数,则AIC可以表示为[/p]
[attach]13703[/attach]

[p=30, 2, left]从上式可以看到当模型参数数量越少,AIC越小。最大似然函数越大,即模型的拟合效果越好,AIC越小。因此AIC同时考虑到了参数数量和模型的拟合效果,AIC对模型过度拟合的惩罚主要来源于对参数数量的控制。因为通常来说增加参数数量的同时会增加模型的拟合效果,即最大似然函数增加。比较不同超参数模型组合的AIC值,最优的模型就是AIC值最小者。[/p][p=30, 2, left][b](2) 贝叶斯信息准则(Bayesian information criterion, BIC)[/b][/p][p=30, 2, left]BIC在AIC的基础上把模型训练样本数量也考虑在内,BIC可以表示如下[/p]
[attach]13704[/attach]

[p=30, 2, left]比较公式(1)和(2)可以发现,BIC的差别主要在于对参数数量的惩罚。当时,=2.079,所以当,。通常样本数量都会大于8,因此与AIC相比,BIC更加偏向于参数数量少的模型。通常线性模型的AIC和BIC都可以直接调用软件包的函数进行计算,因此这两个准则在实际使用上比较方便。[/p][p=30, 2, left][b](3) 交叉验证(Cross Validation, CV)[/b][/p][p=30, 2, left]无论AIC还是BIC,计算时都只需要拟合模型一次,求出样本内数据的拟合效果,即似然函数即可,然后根据参数使用数量和拟合效果去推断样本外数据的预测效果。因此AIC和BIC都无法直接衡量样本外数据的预测效果。而CV,即交叉验证则不同,CV直接使用样本外数据来衡量模型的预测效果。假设样本的数量为,则预留个样本用于衡量模型的预测效果,只用个样本来训练模型。这种方法面临的问题是如何选择这个样本,选多少比较合适。因为根据值不同,从个样本中选个样本总共有种选法。如果模型训练的计算量不大,可以使用LOOCV(Leave One Out Cross Validation),即留一交叉验证。这种方法从第1,第2,…至第个样本中,依次留出一个样本,然后用剩余的个样本进行模型训练,这样需要训练次模型,才能收集到个样本外预测误差,然后根据这个样本外预测误差的统计量,例如均方根值等来进行模型评价。如果有组模型超参数组合,那就要训练次模型。与AIC和BIC相比LOOCV的计算量是他们的倍。显然当样本数量较大且单个模型训练时间较长的时候,这种方法实际上并不可行,所以这种情况下可以使用k-fold CV,这种方法就是把样本随机分成份,用份数据训练模型,剩余的一份作为样本外数据统计误差,这样可以累积统计份样本外预测误差,这种方法只需要训练模型次即可,通常使用的是=5或=10。当时,k-fold CV就成了LOOCV。[/p][p=30, 2, left]以上就常见的是量化模型的选择准则,AIC和BIC常见于似然函数较为方便计算的线性模型,而CV则常见于神经网络等非线性模型。(作者:陈维嘉)[/p]

赖玉良 发表于 2019-12-5 15:37

学习了,感谢!

页: [1]