【机器学习】想要预测未来,机器学习有种“神秘力量”

2019 年 10 月 12 日 产业智能官



数据科学实际上涵盖了许多学科,包括统计推断、分析学、可视化、分类与预测。通常情况下,大家最感兴趣的当属预测。


一提到预测未来,无论是发掘产品的潜在客户还是预知股价的后期走向,这些听起来都非常神奇。如果能够准确地预知未来,那我们就掌握了一项非凡的技能。


机器学习在预测未来这一“神秘力量”的发展中发挥了很大的作用。随着预测模型的复杂性不断提高(可解释性也随之降低),它们将能够发现先前未发现的相互关系,并且充分利用之前无法使用的数据资料。


但是就其本质而言,预测其实是非常简单的。本文将介绍一种关于预测的心智模型,该模型的学习或许能够帮你解开心中对于预测的迷惑,并且将预测加入到自己的定量工具箱中进行进一步学习。


利用线性回归进行预测


在学习统计学时,最早接触的模型之一就是线性回归。线性回归分析不仅功能强大,而且易于理解。因此在预测时,它也是一个非常好的辅助手段。


用通俗易懂的语言来说,线性回归就是要找到一条最适合的线,并且这条线要穿过尽可能多的数据点。描绘这条线就能够发现数据的趋势和走向。在以下这幅图中,标蓝的线就是最优拟合线。接下来,让我们进一步分析一下这幅图。


1. 图中每个点都代表一个观测值。每个观测值的纵坐标表示的是因变量(也就是要预测的对象)的值,而横坐标代表的则是自变量的值。


2. 从图中可以看出,自变量和因变量之间存在很明显的正相关线性关系(注意观察这些点向上和向右的分布趋势)。


3. 最优拟合线是指顺应总体趋势的那条线,并且要穿过图中尽可能多的点。最优拟合线能够反映出自变量和因变量之间的相互关系。


最优拟合线(蓝色)


但是说了这么多,这和预测未来又有什么关系呢?假设我们要预测美国GDP的增长趋势,并且我们猜测GDP增长与企业利润率(也就是每个公司的纯利润)之间存在一定关系。因此,我们将以上假设绘制成一幅图,并且从中发现了以下关系。(图中所涉及所有数据纯属虚构,仅在本文中用于阐述目的)


GDP增长与企业利润关系(模拟数据)


从图中可以看到很明显的正相关关系。但是,光凭这一点就可以说企业利润越大,美国GDP的增长就越快吗?先别这么快下结论,在这个时候应该时刻在脑子里提醒自己这样一句话:相互关系并不意味着因果关系。


的确,经济扩张经常会带来企业利润的增长。但是,我们所要研究的是能否通过企业利润预测经济的增长。为此,需要稍微调整一下分析方法。


•  错误:当前的企业利润VS. 当前的GDP增长


•  正确:当前的企业利润VS. 下一年的GDP增长


区分好这一点非常重要,因为要找的不是与GDP增长同时发生变化的相关变量,而是能够预测GDP增长前景的影响因素。换言之,需要找到与下一时期的GDP增长存在相互关系的自变量(因变量则是下一年度GDP增长的变化)。所以,需要重新构建一幅散点图。


未来GDP增长与目前企业利润的关系


再仔细观察一下这幅图,这次还能找到正相关关系吗?由此可见,预测未来没那么容易。当我们把一个变量转换为其未来状态(也就是说测量其预测相关性)时,那么原先非常明显的同时相关性就会不复存在。


然而,这并不意味着预测未来就毫无希望。因为通常只要发挥创造性思维,并且进行深入的研究,还是能够找出一些预测关系的。但是,最好也别期待其相关性会有多么的强或者明显,因为从我的个人经历来看(对金融市场进行预测的经历),预测相关性只要在0.20到0.30之间就已经非常不错了。


用于理解预测的心智模型


假设继续研究未来GDP增长与其他变量之间的关系,可以画出以下这幅关系图。


未来GDP增长与目前就业青年人口增长的关系


可以发现,未来的GDP增长趋势与目前年轻人(25至35岁)的就业率之间存在一定关系。从图中可以看出,虽然其正相关性没有之前的研究(GDP增长与企业利润直接的同时相关性)那么强,但是可以使用该预测关系来建立一个预测模型。(再次强调,图中所涉及所有数据纯属虚构,并且仅在本文中用于阐述目的)


但是,如何构建预测模型呢?实际上,我们已经在图中构建出来了,因为蓝色的那条最优拟合线就是我们的模型。在进行预测时,只需要先了解目前就业青年人口数量(也就是图中金色虚线所表示的数值),然后再观察金色虚线与蓝色最优拟合线交点的纵坐标所对应的值(图中绿色虚线),而这个值就是所预测的值。


作出预测


听到这里,是不是觉得很棒?预测是不是超级简单?其实,如果预测涉及多个自变量或者需要用到更加复杂的预测算法,其预测过程也是如此。


但是就其本质而言,预测到底意味着什么?事实上,每一种预测,无论其涉及的模型有多复杂,其实都是一种条件期望。所谓的条件期望,不过是一种期望值,或者说平均值。


然而现在,你突然发现自己用XGBoost进行回归预测所得到的值不过是一个平均值而已,那不就是刚开始在统计课上学的最基础的概念嘛!


确实如此,但稍微有一点区别。如果你还不相信,那我们来做一个思维小游戏。假设我要求你去预测明天的天气,并且不能上网查,那么你会怎么做?这时你或许会进行以下推测,“因为昨天很热,并且现在是八月的圣何塞,因此我预测明天也是一个炎热的晴天。


为什么你会得出这样一个结论呢?因为你在记忆中组建了一个关于每一天的“心智库存”,而这一点你自己可能都没有意识到。然后,你知道自己是在圣何塞,并且现在是夏天,前几天都非常热。因此在你的“心智库存”中,平均每天的天气与前几天都差不多,都是炎热的晴天。


因此你在做出这个预测时,只过滤筛选了相关的观测值(夏天的圣何塞,并且前几天都很热),然后取其平均值。而这,是我们作为人类在做出预测时的本能反应。何况我们人类都这样,为什么还要求模型和机器不能这样呢?其实,无论是模型还是机器,它们的预测原理和人类没什么不同,只不过它们处理数据的量更大,并且更加公正没有偏见而已。


因此,为了能更好地理解对未来的预测,我建议大家把每一次预测都看作是对平均值的探讨,并且该平均值是基于相关性最高的先前观测值。总而言之,预测未来不过是在回答下面这个问题:如果我看到过去也发生了类似的事情,那么接下来通常会发生什么?


可视化条件平均值(即预测)


上文有说到,预测其实是指条件平均值。为了能更加清楚而直观地理解这一点,可以对上文中的例子进行可视化处理。以下这幅图就是处理过后的线性回归模型,也就是最后的预测模型。在这幅图中,金色的矩形代表当自变量在某一特定范围内时,其所对应的部分观测值。例如,图中左边第一个矩形表示的是:当就业青年人口增长率(也就是位于X轴的自变量)处于0%与0.1%之间时,GDP增长观测值(也就是位于Y轴的因变量)的大小。


一个回归模型就像一连串的快照


仔细观察就会发现,图中的蓝色预测线(最优拟合线)大体上处于每一个金色矩形的中部。这是为什么呢?实际上,这一巧合是人为设计的,因为每一个矩形的中部代表着该部分观测值的平均值(上文说过每个矩形代表一部分观测值)。如果把这些矩形再进行细分(随着矩形数量的增加,其宽度也逐渐减小),许许多多的条件平均值(每个矩形中部所代表的值)最终就会汇聚于这一条回归线上。


在这个时候,你或许会疑惑,有些矩形的中部很明显不是这部分观测值的平均值啊。比如第一个矩形里面只有一个观测值,并且位于预测线的上方。所以,怎么能立马得出结论说预测线就代表着条件平均值,或者是该部分的平均值呢?


实际上,对于简单的线性回归模型来说,由于回归算法在自变量和因变量之间强加了一种线性关系,所以条件平均值与每一部分观测值的平均值并不会完全匹配。但是这些值在这一过程中也不会丢失,因为心智模型仍然会发挥作用。


为了找到最优拟合线,在回归分析过程中最常使用的方法是最小二乘法。该方法就像一串的条件平均值,但是有一些扭曲和拉扯。为了更加清楚地理解这种方法,我们可以把它比喻成投票:


• 假设每一个金色的矩形都代表一个独立的选区。


• 每一个选区都想把自己选区内蓝色预测线的值(也就是每个金色矩形竖直方向的中点值)往自己这边拉,使其尽可能的接近自己选区的平均值(也就是该选区内所有黑点的纵坐标平均值)。


• 这个时候,如果某一个选区拉动了预测线,那么这次移动就会影响到其他所有选区内预测线的值(因为预测线必须是一条直线)。


• 然而,每个选区影响预测线的能力其实与该选区内观测值的数量成正比,也就是说,某个选区内观测值数量越多,其对预测线的影响力也就越大。


因此最后的结果就是,每一个选区都尽自己最大的努力来拉扯预测线,使其朝自己的平均值方向移动。与此同时,每个选区也受着其他选区的拉扯力的影响,尤其是那些观测值多的选区。最终,这条预测线在稳定下来之后就会呈现出以下特点:


1. 每一个选区或多或少都得到了满足,并且朝自己的平均值方向移动了预测线。


2. 所有的平均值都纳入了考虑范围(因为每一个选区都想把预测线朝自己的平均值方向移动)。


虽然从严格意义上来说,通过线性回归所做出的预测并不能算作是条件平均值。但是,它们其实也差不了多少,因为每一个选区都想把预测线朝自己的平均值方向移动一点。


结语


条件平均值能怎样帮助我们更好地理解预测呢?实际上,条件平均值是进行每一次预测的基石。在预测过程中,无论涉及的算法有多复杂,其本质都是为了找出与预测目标最相似的观测值。基于这些最为相似的观测值,算出其平均值,最后再根据平均值来作出进一步预测。


有一些算法只会使用到非数值的类属特征,并且通过条件平均值来作出预测,比如K近邻算法和线性回归模型。


因此,预测未来也并不是一种什么神秘力量。无论是算法还是人类,都无法基于现有数据来对未来作出精准的预测。我们能做到只是通过分析过去发生的事情,并且以此作为指导以推断未来可能出现的情况。


提示


在构建预测算法时,应时刻记住以下两点。


首先,因为对未来的预测是基于对过去的分析,所以背景资料就显得尤为重要。如果环境完全不同于模型所接受训练的历史数据,那么预测也不会很准确。


第二,为了避免出现过度拟合,可以构建一个心智模型。在构建模型时,为了让模型能够合理地概括并且反映出其特点,必须遵循以下两条原则:


1. 确保每个条件平均值要涵盖足够多的观测值(如果观测值过少,那么其平均值就更有可能出现偏差)。为此,可以尝试减少自变量的数量,因为如果变量太多,那么矩形就会变得过窄,每个矩形内观测值的数量也会随之减少。


2. 在使用某些算法时需要注意,有的选区会给自己选区内的预测值施加过多的影响。如果一个算法内包含过多的非线性关系,比如多项式回归和深度神经网络,那么每个选区就会使该选区内预测值等于其平均值。然而,这将会大大降低预测结果的合理性和稳定性,从而也无法清楚地反映出其总体趋势。


先进制造业+工业互联网




产业智能官  AI-CPS


加入知识星球“产业智能研究院”:先进制造业OT(自动化+机器人+工艺+精益)和工业互联网IT(云计算+大数据+物联网+区块链+人工智能)产业智能化技术深度融合,在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的产业智能化平台;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链。


产业智能化平台作为第四次工业革命的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎; 重构设计、生产、物流、服务等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生 新技术、新产品、新产业、新业态和新模式; 引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。

产业智能化技术分支用来的今天,制造业者必须了解如何将“智能技术”全面渗入整个公司、产品、业务等商业场景中, 利用工业互联网形成数字化、网络化和智能化力量,实现行业的重新布局、企业的重新构建和焕然新生。

版权声明产业智能官(ID:AI-CPS推荐的文章,除非确实无法确认,我们都会注明作者和来源,涉权烦请联系协商解决,联系、投稿邮箱:erp_vip@hotmail.com。



登录查看更多
0

相关内容

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y = w'x+e,e为误差服从均值为0的正态分布。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
338+阅读 · 2020年3月17日
机器学习速查手册,135页pdf
专知会员服务
338+阅读 · 2020年3月15日
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
专知会员服务
115+阅读 · 2019年12月24日
【机器学习课程】机器学习中的常识性问题
专知会员服务
73+阅读 · 2019年12月2日
【机器学习课程】Google机器学习速成课程
专知会员服务
164+阅读 · 2019年12月2日
未来20年(2019—2039)的50个技术预测
全球创新论坛
5+阅读 · 2018年12月16日
关于机器学习你要了解的 5 件事
机器学习算法与Python学习
7+阅读 · 2018年9月7日
时间序列深度学习:状态 LSTM 模型预测太阳黑子(上)
R语言中文社区
19+阅读 · 2018年6月15日
机器学习各种熵:从入门到全面掌握
AI研习社
10+阅读 · 2018年3月22日
孙正义:未来30年的人工智能和物联网
智能交通技术
3+阅读 · 2018年3月4日
机器学习新手必看10大算法
深度学习世界
4+阅读 · 2018年2月1日
数据科学与机器学习数据集
Datartisan数据工匠
8+阅读 · 2017年12月14日
快速掌握机器学习,这 3 种算法你必须知道
开源中国
8+阅读 · 2017年11月9日
Financial Time Series Representation Learning
Arxiv
10+阅读 · 2020年3月27日
Arxiv
22+阅读 · 2019年11月24日
A Comprehensive Survey on Transfer Learning
Arxiv
121+阅读 · 2019年11月7日
Bivariate Beta LSTM
Arxiv
5+阅读 · 2019年10月7日
Arxiv
7+阅读 · 2018年5月23日
Arxiv
5+阅读 · 2018年5月5日
Arxiv
10+阅读 · 2018年2月17日
VIP会员
相关VIP内容
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
338+阅读 · 2020年3月17日
机器学习速查手册,135页pdf
专知会员服务
338+阅读 · 2020年3月15日
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
专知会员服务
115+阅读 · 2019年12月24日
【机器学习课程】机器学习中的常识性问题
专知会员服务
73+阅读 · 2019年12月2日
【机器学习课程】Google机器学习速成课程
专知会员服务
164+阅读 · 2019年12月2日
相关资讯
未来20年(2019—2039)的50个技术预测
全球创新论坛
5+阅读 · 2018年12月16日
关于机器学习你要了解的 5 件事
机器学习算法与Python学习
7+阅读 · 2018年9月7日
时间序列深度学习:状态 LSTM 模型预测太阳黑子(上)
R语言中文社区
19+阅读 · 2018年6月15日
机器学习各种熵:从入门到全面掌握
AI研习社
10+阅读 · 2018年3月22日
孙正义:未来30年的人工智能和物联网
智能交通技术
3+阅读 · 2018年3月4日
机器学习新手必看10大算法
深度学习世界
4+阅读 · 2018年2月1日
数据科学与机器学习数据集
Datartisan数据工匠
8+阅读 · 2017年12月14日
快速掌握机器学习,这 3 种算法你必须知道
开源中国
8+阅读 · 2017年11月9日
相关论文
Financial Time Series Representation Learning
Arxiv
10+阅读 · 2020年3月27日
Arxiv
22+阅读 · 2019年11月24日
A Comprehensive Survey on Transfer Learning
Arxiv
121+阅读 · 2019年11月7日
Bivariate Beta LSTM
Arxiv
5+阅读 · 2019年10月7日
Arxiv
7+阅读 · 2018年5月23日
Arxiv
5+阅读 · 2018年5月5日
Arxiv
10+阅读 · 2018年2月17日
Top
微信扫码咨询专知VIP会员