3.4 数据分析的三个要点
本书后面的章节中将会以前面发现的均值回归的性质为依托,设计实时机器学习交易策略进行交易。好多读者看到这里可能已经跃跃欲试,等不及要开始搭建服务器开始赚他一个亿了。但是在这之前我们需要总结一下在开展机器学习工作前期关于数据分析的几个原则。
3.4.1 不断验证假设
验证假设是否正确是机器学习前期数据分析最重要的目的。这里的假设包括但不限于:数据的格式、变量的数量、数据是否缺失、是否有极端值、采样是否均衡等。上面这些假设,如果稍有差错,就会让在后面得到的机器学习模型无用武之地。
与此同时,我们通过数据清理得到的结果也需要经过假设验证以保证数据的完整性。最后,在实时应用中,我们往往需要考虑如下这些情况。
极端值:线下建模往往都会在第一步就过滤掉极端值,但是在实时环境中,极端值是客观存在的。
缺失值:再优秀的系统也有宕机出错的时候,这个时候缺失值的出现就要求系统具有灵活的错误处理能力。
延迟:本章练习数据的时间戳是交易所时间,还是到达客户端服务器的时间?任何网络延迟都可能让我们的模型不再有效。多问这样的问题在进行快速机器学习应用的时候显得尤为重要。
3.4.2 全面可视化,全面监控化
为了连续验证假设,我们必须自动化数据的监控和可视化。一个完备的实时机器学习系统至少需要以下两个部件。
实时关键数据可视化:通过实时面板对关键数据进行可视化,让操作人员能够一目了然地判断系统和数据的健康情况。
实时诊断监控:通过规则设定,对异常情况进行实时判断和报警。
本书的系统架构章节(第9章)将介绍如何利用 ELK(Elasticsearch、Logstash、Kibana)集群实现实时数据监控。