如何写好策略——因子篇(二):因子是否越多越好?
在这个模型里的18个因子,难以衡量每个因子的作用。目前有一套shap包,对黑箱有一定的解释性。这个解释原理比较简单,按照添加该因子的顺序观察结果变化。比如添加该因子前和添加因子后,模型输出结果的变化是否发生了变化,结果对模型的敏感度或者贡献度有什么影响,这个可以评判因子对预测值起到了拉高还是降低的作用,进而计算shap值作为评估。BigQuant以后逐步地把这个功能加进来,形成标准化、模块化的产品功能。
同时,可以参考一下相关的研报。例如华泰证券有对黑箱模型的解释: Shap包应用、因子之间的相互作用。但对于线性模型,多个因子之间只有保持一定的正交性,才能保证因子之间互相起作用,这就是逐步回归法或正交化法。正交化研报上有4种方法,最终目的就是去掉因子之间的一个相关性,然后提高他们整体的解释性。
如果因子之间的数据没有处理好,组合难以匹配。例如均匀分布的因子和正态分布的因子,两者叠加会降低正态分布的因子效果。由于均匀分布的因子存在,数据经常要做标准化正交化,目的是把分布从偏态分布掰回来,或者从肥尾分布掰回来。线性模型可以通过标准化之后具有一定的可比性,然后把它的分布转换成近似正态,这样所有的模型独立分布,可以进行模型的叠加。通过这种方式,逐步叠加1~2个因子,评判每一个新加入因子是否提升了整体解释性。这个过程是比较透明的,但是对于黑箱的机器算法来说,这个因子到底起什么作用呢?
刚刚提到的shap包,可以深入研究这个包的应用。shap包类似对每个样本打分并且每一条打分都有记录,可以判断因子在样本中是提升预测值还是降低预测值,通过这种方式可以进行更全面的进行因子评估。
详细可戳以下视频:
BigQuant AI量化专家 Meetup(update:1203)