专栏名称: 混沌巡洋舰
混沌巡洋舰, 给您洞穿未来的视力。我们以跨界为特色, 用理工科大牛的科学思维帮你梳理世界的脉络。
目录
51好读  ›  专栏  ›  混沌巡洋舰

数据分析案例——机器学习模型预测大盘涨跌

混沌巡洋舰  · 公众号  · 科学  · 2017-03-02 07:59

正文

请到「今天看啥」查看全文


模型测试:

这里我们直接使用sklearn的SVM包中的分类模型SVC。在训练模型后,使用score函数,获得的预测准确率为:0.68。超过了0.5,所以可以认为该模型是初试有效的,值得进一步测试。

我们用2016年1月到12月来回测,得到上图,发现该模型是有效的,此时的夏普比率为0.99.,大于纯随机策略的-0.72,同时,我们的策略线(蓝线)确实明显优于HS300大盘指数(黑线)。

调整参数:

接下来,我将调整SVM的参数C,以便进一步提高SVM对于该模型的表现,观察随着C的变化,Score值的变化趋势:

我首先做了一个图,观察在C值在1~1000范围内,得到的Score值的变化:

我们发现,模型表现随着C值的提高而提高,在C值为360左右的时候,表现达到了最高。

接下来调整gamma,也是相似的方法,我们观察gamma在0~10之间的变化,得到下图:

可以看出,gamma在1.8左右的时候,score表现得最好。

至于核函数,通常都是默认核函数最佳,这里由于是第一个模型,还是检验一下吧:

果不其然是rbf(默认的高斯核函数)是最佳的。

接下来我们用GridSearchCV来确切获得最佳的C值和gamma值:运行函数后,我们得到最佳的C值为300,最佳的gamma值为1.03。根据这两个参数,此时我们模型test后获得的score为0.76,明显高于之前的0.68。

接下来通过不同的数据集(改变数据集中的数据数量)的方法测试score的方法,判断模型是否稳健,得到下图:

发现根据数据集的不同,准确率上下摆动,摆动幅度在0.1左右。但是始终没有低于过0.72,0.72大于0.5,所以可以认为模型一定程度上是稳健的。

但是由于0.72小于0.8,低于了我们设定的阈值,所以认为SVM模型对于该问题的解决表现不够良好。

7、决策树预测:

简要介绍:

由于决策树是归纳型算法,所以当其预测的数据集如果是人类很容易理解的信息,那么决策树可以表现良好。决策树可以清晰地处理大量数据,了解不同特征的影响重要性。这种算法在特征明确,杂音小,特别熟数据量较大时,效果较好。

决策树属于局部贪婪的算法,容易过拟合,有时无法保持全局最优,所以泛化能力较差。在股票交易中使用时,应当随时更新数据,否则有可能过拟合过去的经验,对未来的预测能力下降。

模型测试:

这里我们直接使用sklearn的tree包中的分类模型DecisionTreeClassifier。在训练模型后,使用score函数,获得的预测准确率为:0.88。超过了0.5,所以可以认为该模型是初步有效的。

我们用2016年1月到12月来回测,得到下图








请到「今天看啥」查看全文