1. 个人在判断模型复杂程度时,绝对不会只看参数数量。模型构建中的参数会增加策略的复杂性;题主所说的主观参数会增加策略的复杂性;回测时数据样本用了多长时间这种模型外部设定也会增加策略的复杂性——只要你不是只测试一次就再也不做量化研究了,这些数字的主观设定和参数无异;除此之外,策略本身的复杂程度也是要考虑进去的,例如有多少层判断、多大范围寻优,等等。一句话,只要是人为进行的策略设定,都会影响策略的复杂程度,而且这个复杂程度是不易量化的,比简单的多少个自由度等概念要复杂。哪些参数会更大的影响结果分布的分散程度,策略模型构造的复杂性大概与增加多少个参数等同,策略寻优时用了多长时间样本、哪些不同市场数据等,都是需要综合考虑的问题。
2. 模型复杂程度,绝不等同于过拟合程度。过拟合之所以是一个错误,原因不在于“拟合”而在于“过分”。如果增加模型的复杂程度可以更好的拟合数据,就谈不上“过拟合”,反而是极大的进步。因此单纯的说要几个参数以下、越简单越好,是错误的。当然,人们之所以有这种看法,是在于人们无法清晰的判断拟合的程度,人毕竟无法看到未来,在历史数据上做测试时的局限性无法突破。这是一个死结。
3. 模型的复杂程度,也跟模型的泛化能力没有直接联系。“过拟合”越强,泛化能力越差,这个说法没有问题。但是正如上面所述,我们根本没有办法直接度量“过拟合”的程度。吊诡的是,为什么有人会直接过渡到模型越复杂,泛化能力越差,这是个明显错误的命题。如果大家不介意,可以去了解一下模式识别研究的动态,DNN和ANN的建模思路是一样的,但是更复杂的DNN就是比ANN实际识别能力要强,这是一个非常好的例证。我的看法是,模型对数据内在模式的刻画程度,才跟模型的泛化能力有直接关系,可惜这种刻画程度谁也说不清。
4. 泛化能力是可以在历史数据上有所体现的。但是绝不保证历史上的泛化能力可以延续到未来。历史数据上测试泛化能力,各有高招,大家都是做这个的,没必要详细说了。

— 完 —

本文作者:杨改之

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 5 个回答,查看全部。
延伸阅读:
国内期货程序化交易都有哪些入门材料可以学习?
程序化交易、算法交易、量化投资、高频交易、统计套利,这些名词之间的关系是怎么样的?

分享到