轻轻一按就能预测未来?数据科学迎来自动化

全文共2860字,预计学习时长5分钟

 

 

未来预测平台的用户只需轻轻一按,就会获得需要的预测结果。用户只需要输入历史数据和预测范围。历史数据可以是CVS格式,也可以是一条查询链接。你想预测多远呢?数据之下便是答案。

Uber数据科学总监弗兰基斯卡·贝尔(Franziska Bell)

预测真的可以商品化到这种程度吗?Uber并不是第一个吃螃蟹的人,微软、谷歌还有亚马逊也开始为其客户提供更多“拖放式(即抓取对象以后拖到另一个位置)”的机器学习方案。

 

Bell的话能得出两种完全不一样的结论:其一,Uber的预测平台已非常先进;其二,他们认为预测带来的挑战无足轻重。下面我们也来“预测”一下两种结论分别带来可能吧:

 

Uber的预测平台已非常先进——Uber如何在只需要目标变量历史数据的条件下,轻松产生预测呢?

 

1. 获取数据,确定是否需要包含其他特征,并明确这批数据之间是否有一定的特征。在这个过程中,特别是目标对象十分复杂的时候,需要外生变量来帮助构建模型。Uber不仅需在生成数据之前就已经收集所有的数据,还需了解这些数据中包括哪些特征,以及如何转化它们。

 

2. 需比较不同的预测算法(线性回归、随机森林还有神经网络等),同时还为每种算法选择最佳超参数。

 

3. 需对预测结果进行反向测试(当从样本中取出模型时,反向测试可以减少模型爆炸的风险),Uber需要跟用户说明模型所基于的假设以及导致故障的原因。

 

这么多的假设依然未实现,如果平台能够将它们一一实现,确实值得表扬。

 

如果uber认为预测无足轻重,那又会有什么结果呢?——反对者认为预测平台只是一个ARIMA模型或长短时记忆模型,仅可根据目标过去的观测数据来预测未来,应用范围不广泛。

 

倘若将目标变量的滞后作为特征的话,反而会忽略了关键的外生关系,这样会使得模型极其不匹配,表现也不理想。

 

 

保持怀疑态度

 

我们对Uber“预测即服务”的目标表示怀疑。Uber允许其员工使用预先构建好的模型来预测某些关键业务指标的需求,而且该公司的数据科学团队已深度研究完善过这批模型。但这个目标与弗兰基斯卡·贝尔的想法还是有点距离。贝尔似乎是想按下按钮,就可以预测所有的事情。

 

这个想法不容易,可以说几乎不可能实现。下面我们将仔细推敲预测过程的每一步,看看自动化的对象究竟是什么。

 

首先要明确——预测的对象是什么?

 

如果没有问题需要解决,那么构建模型进行预测的意义就不大了。因此第一步需要做的便是——我的问题是什么?预测什么才可以更好地解决问题?

 

这个问题很难立马回答。本文继续以Uber为例——假设我们是Uber的分析师,要想预测明年旧金山市的Uber需求,只给出过去Uber的需求数据,预测平台就可以凭此完成预测吗?

 

可能不太行。“需求”指的是什么呢?

 

可能是:

 

· 明年乘客的数量。

 

· 明年的总乘车次数,即乘客数×乘车次数。

 

· 明年乘车总费用,即乘客数×乘车次数×平均乘车价格。

 

预测对象模棱两可,而且随着“需求”定义的深入,需要预测的变量也越来越多。

 

单单是乘客数这一个变量就与许多因素有关:

 

· 跟司机数量有关——司机的数目与乘客数目相互影响,司机越多,使用Uber的乘客也会也多(也就是网络效应)。

 

· 竞争形式(Lyft、出租车、滑板车等)随时间流逝而变化,接下来的变量就包括竞争者数量,以及他们的营销策略和价格策略等。

 

这个本来看起来很简单的问题最终变得越来越复杂,更谈不上自动化。综上所述,合理的预测模型通常包括多个模型和预测结果。如果考虑的变量不够多,模型将很快失效。但如果一次性使用太多的模型,最终只会过于复杂,无法产出理想结果。

 

要搞清楚预测对象并不容易。经验丰富的数据科学家在这个过程中十分重要,因为他们可以区分清楚模型中每一部分,最终模型不会过于简单,也不会过于复杂。

 

识别有意义的数据

 

确定需要预测的变量后,给所有模型集合画一个简洁的流程图,这是不是就完事了呢?当然不是。首先需要确定是否已掌握所有需要的数据。在最理想的状态下,所有数据都可用于模型中,分析师梳理数据完毕后,输入到数据库——但这种情况几乎不可能存在。

 

确定预测对象后,则需要决定用于生成预测的候选特征集。但要拿到这些数据并不容易,通常是由数据科学家们确定获取数据的途径和方式。如果直接观察难以实现,那么可能需要其他的候选数据了。

 

这一步也很难实现自动化。如果一个公司的数据库纷繁复杂,那么就需要数据科学家灵活巧妙地摘选其中最有用的数据了。

 

构建预测——特征工程,选择最佳算法

 

这可能是最容易自动化的一部分了。假设已成功获得并处理好数据后(实际并没有这么简单),下一步就是构建模型了。

 

在挑选合适模型、准确设置数据的过程中,有经验丰富的数据科学家或统计学家参与是十分重要的,但也可以采取一种强硬的自动化手段。

 

也许有人会说,并不需要逐一测试以得到最佳模型。XGboost和神经网络原本训练就已经十分充分,不会过度拟合,它们即可成为首选算法。

 

以上两种算法均可有效使特征工程过程自动化。比方说,给定足够多的神经元和神经层,神经网络可以轻易捕获特征和目标之间的非线性效应。这种情况下无需考虑日志文件、特征成分以及特征之间的互动了。

 

当然,这种自动化也付出了一定的代价:解释性低,也就是说,我们不知道是什么推动了自动化。举个例子,在线性回归中,β系数A表示A特征中每增加一个单位将会给预测带来一定影响;但在神经网络中却无法知道增加A特征是如何影响预测的。

 

在当下这个庞大而复杂的数据世界中,模型的解释性似乎并不是必须的。但其实,一个更简单、解释性更强的模型并不会降低模型准确度,因此还是建议使用简单模型。

 

 

预估模型崩溃的时间

 

如果每个人都有预测能力也会带来难以预估的风险——过去没有预测经验的人并不了解,无效或过度拟合的模型很容易崩溃。

 

当我们看到定量精准度的预测时,会习惯性陷入一种虚假的安全感(我们坚信这些数据准确)。但经验丰富的数据科学家则会质疑模型的假设,同时还会考虑模型表现不佳的情况。

 

解释性较低的模型还有别的缺点——

 

如果不了解推动预测的关键关系,那么就无法了解所处环境中这些关系何时会失效。

 

事实上,自动化的目标还是难以实现。但了解构建模型生成预测的好处和风险的人总能在这个领域中有一席之地。

 

总结

 

所有的自动化结果都殊途同归。因此,当数据科学和机器学习或多或少实现自动化时,千万别感到太惊讶。相反,我们更应该关注还没有实现自动化的部分,并为可预测的将来增添新的价值点。

 

· 了解业务发展的关键推动力量以及其他影响因素。

 

· 了解如何准确检查和设计模型,使其既不太简单也不会太复杂。

 

· 了解如何挖掘可用于构建数据科学模型的有用数据。

 

· 构建解释性“合理”的模型。

 

· 预估判断模型崩溃,预测结果出错的时间和原因。

 

留言 点赞 发个朋友圈

我们一起分享AI学习与发展的干货

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值