算法交易

如何评价算法的好坏?

元气小坏坏 提交于 2019-11-26 02:09:43
2019-11-23 18:32:55 序言 评价一个算法的好坏,我认为关键是看能不能解决问题。如果算法能很好地解决实际的问题,那么我认为就是好算法。 比如预测的算法,关键是看预测的准确率,即预测值与实际值之间的接近程度,而不是看算法本身的评分高低。 在《 如何用人工智能预测双 11 的交易额 》这篇文章中,利用线性回归算法,我预测 2019 年双 11 交易额为 2471 亿元,而阿里官方公布的实际交易额是 2684 亿元,预测值比实际值少 7.9%,对这个结果,我觉得准确率不够高。反思预测的过程,我认为可以从以下几个方面来进行改进。 1. 样本 为了简化算法模型,我舍弃掉了前几年相对较小的数据,只保留了最近 5 年的数据。 在数据量本身就比较少的情况下,我仍然遵循简单原则,这无形中就加大了算法不稳定的风险,出现了欠拟合的问题。 尽管算法的评分很高,但是评分高并不代表算法就好。所以,样本的选择非常重要,不能单纯地追求算法的评分高,而忽略样本的质量。 2. 算法 如果保留所有样本,那么显然数据呈现的规律并不是线性的,用多项式回归算法应该是个更好的选择。 假如用三次多项式回归算法进行预测,那么算法代码如下: # 导入所需的库 import numpy as np import pandas as pd import matplotlib.pyplot as plt from