古希腊哲学家赫拉克利特说:“唯一不变的就是变化”。时间拥有着我们无法撼动的强大力量,无论是观念、社会还是人类本身,都会随着时间的推移而发生巨大的变化。
往日比较先进的事物会被当今所淘汰,如今新颖的想法也可能在接下来几年被遗忘。了解变化对企业来说至关重要。
15年前,如果一家手机制造公司没有搭上研发智能手机的列车,还有可能生存下来吗?它们几乎都已经从市场上消失了。拥有功能简单的移动手机是曾经的常态,然而人们的需求迅速转向了智能手机,未能适应变化的公司付出了代价。
数据分析,逐渐开始获得了世界的支配权,机器学习模型成为了促成公司决策的主要力量。这些模型和所有商业策略一样,需要随时间推移而不断调校,技术上来说是由于“模型漂移”。
什么是“模型漂移”
虽然大多数课程、文章和帖子都定义了机器学习的生命周期——从收集数据开始,到在不同环境中部署机器学习模型结束,但人们往往会忘记机器学习生命周期中一个十分重要的特性,那就是模型漂移。
本质上来说,目标变量与自变量之间的关系随时间而变化。模型漂移使模型无法保持稳定,预期也会逐渐出现越来越多的错误。
我们试着从简单的线性回归这一技术角度来理解这一情况。线性回归中,我们简单地映射自变量x_i来预测目标变量y:
y = α + β_1*x_1 + β_2*x_2+ β_3*x_3 + …
其中,α是截距,β_i对应于变量x_i的系数。
通常会假设这一映射是静态的,即我们假设系数β_i(和截距α)不随时间而变化,且控制目标变量y预测的关系对未来的数据也合理有效。
然而,这一假设在所有情况下都不成立。企业的盈利很大程度上依赖于这样的模型,一旦假设不成立,就会对企业构成严重的威胁。
这些模型可能代表了未来发展中的情况,所以之后一定是站不住脚的。由于基本条件的变化,预测会随着时间失去准确性。
漂移的种类
模型漂移可以分为两大类:
第一类是“概念漂移”,一旦目标变量本身的统计特性发生变化,就会发生这种情况。显然,如果试图预测变量的重要意义改变了,模型就不能有效适用于这个定义了。
第二类也是最常见的一类是“数据漂移”,预测的统计特性改变时发生。同样,如果基础变量在改变,模型就会失效。
一个经典的例子就是季节性导致的数据模式变化。夏季有用的商业模型到冬季就可能失效了。假期里航班需求大大增加,而淡季里只能勉强维持客座率。再如人们偏好的改变,就像开头提到的智能手机。
如何解决?
优秀的解决方案就是不断修改模型。模型里开始出现漂移后,可基于以往经验来进行预估。这样一来,模型能够得到积极的重建以降低漂移带来的风险。
如果数据随着时间不断变化,权衡数据是一个不错的选择。基于近期交易来决定特定参数的金融模型能够增加一些特性,如赋予近期交易更多权重而减少对过往交易的关注。这不仅保证了模型的稳健性,而且也有助于避免出现与漂移相关的潜在问题。
应对模型漂移更复杂的一个方法就是对变化本身进行建模。开发的第一个模型必须保持静态并作为基线。现在,由于近期数据行为的改变,可以建立新的模型来纠正对这个基线模型的预测。
应多久重新调校一次模型?
我们已经知道了比较常见的解决方法是持续重新调校模型,接下来的问题就是,需要多久重新调校一次呢?这需要具体问题具体分析。
有时,问题会自己出现。虽然等待问题出现不是最简便的方法,但是对新建的模型来说这是唯一的选择,因为无法从过往的经验知晓问题会如何出现。当问题浮出水面,就可以研究问题并进行修改,以应对日后会出现的相关问题。
有时,数据与模型中处理的实体相关,遵循季节性模式。这种情况下,应随季节变化来重新调校模型。随着节假日支出增加,信贷贷款机构需要特殊的模型来应对模式中突然出现的此类变化。
然而,检测漂移的优秀方法是持续的监测。与模型稳定性有关的度量需要在连续的时间间隔内进行监测。间隔时间可以是一周、一个月或一个季度,取决于不同的领域和业务。
监测可以是由人工操控或交给自动脚本。若突发异常情况,自动脚本要能够触发警报并发送通知。
变化是永恒存在的,只有做好准备接受变化并监测变化的公司才会取得成功,这一点需谨记。