大数据、预测类话题热门了很久了,各种宏观微观的预测案例都是媒体喜闻乐道的话题。
这就涉及到“预测”这件事情的边界问题。预测是否有边界?有的事情类似牛顿力学是决定论、像太阳从东方升起一样不用预测;有的事情被认为至今“不能预测”、比如对地震提前数月数天预测从古至今都难以做到;天气可以大致预测、精确到城镇和小时则很不容易。
那么,事件是可以有方法可以衡量“可预测的程度”的吗?
为什么有不少事情,事后人们认为“显而易见”“早有预示”、却为什么“没早点想到”呢?
“在终极的分析中,一切知识都是历史;在抽象的意义下,一切科学都是数学;在理性的基础上,所有的判断都是统计学。”C.R.劳在《统计与真理——怎样运用偶然性》中这样说。
那么,像第一次登月、第一次核试爆、第一次发射卫星,这类事情有何“历史”可“统计”、来“预测”呢?
有没有“不是历史的知识”的知识呢?
像“薛定谔的猫”这类“海森堡测不准”的事情和“预测”又是什么关系呢?预测一定要有“度量”这个前提吗?
既然抽象的意义下,一切科学都是数学;我们已经知道,“哥德尔不完备定律”已经证明一切形式逻辑要么不完备、要么内部有悖论。那么“度量”、“预测”是不是也需要避开“量子纠结”的场景呢?
比如,预测房价涨,如果这个预测的资讯马上被潜在购房人群吸收的话,那么涨幅和速度可能甚至超过预测;又比如,老师预测学生潜力不凡,对学生的影响就会真的让学生愈加超出原本的能力水平;又比如,知名专家在机构内部对于股票的预测意外的传播甚广之后,对于实际股价的影响。比如,医生对病情的预测、有的时候也会影响患者的心态和病情,古代有“医不自医”“关心则乱”、名医自身和关切的人需要诊断的时候往往请另外的名医帮助。
那么,“预测”的结果又会“自返放大”或者“自返缩小”、从而对被预测对象的原本发展趋势造成了影响?
“理性的判断都是基于统计学”,但我们的日常经验知道,芸芸众生、繁华世界很多的决策和判断都并不是基于统计,那么,我们的工作和生活中的常见“预测”有哪些方面是可考虑改进的呢?从统计学和数学来看,现代人的数学知识比古人平均是要多一些了,决策和预测有“先见之明”的人,要不数学和统计学知识丰富的人要稀有的多。这又涉及《思考,快与慢》中所说的人类决策习惯的“奥卡姆剃刀”了。
另外,即便是规约到统计学和数学,也还是存在一些问题。《系统化思维》的温伯格说,最容易控制的、就是简单又有序,比如机械系统、牛顿的世界,这是第一层;第二层,还有虽复杂、但有序,就是虽然量大,但是所涉及的元素,都是各个领域内已经比较有把握的东西;但是,模块内已经比较靠谱的各个模块、数量一多、聚在一起、组合到一起,却未必靠谱。第三层,就是最不容易控制的,就是量很大、分解到各个元素,各个元素自身都很无需难以控制,很难建模、或者计算量大到NP的程度,这种情况就是只能看历史结果的统计了。
要简化给这三个性质不同的情形各给一个代号名称的话,我这里暂时称呼第一层叫机械世界、第二层叫中数世界、第三层叫NP世界。我们日常遇到的场景,第一层已经基本都机器自动化了,第三层里有时称“不可抗力”下的概率。
第二层中数世界是比较常见的情形,就是虽复杂、但有序,就是虽然量大,但是分解后、所涉及的元素,都是各个领域内已经比较有把握的东西。问题在于,模块内已经比较靠谱的各个模块、数量一多、聚在一起、组合到一起,却未必靠谱。虽然不靠谱,也不必自暴自弃,不必直接就跳到概率的领域去完全听从概率发落;这中间,还有个叫系统论的学问专治各种不服。
通过对系统建模,让我们基于对机械世界的确定性的认识,可以帮助到对中数世界的预期。不断的提升中数世界的能力,尽力把NP世界的一些地盘转化为中数世界的地盘;于是获得某些领域的领先地位。
小结一下零零星星了解的这些,就是,人们决策、或者为了决策支持的“预测”,有几个前提:
一是,人要意识到“问题”。
在《精益数据分析》中,涉及到人认知有两个层面、分出四个象限。
两个层面,一个层面是“显性的”自己有明确意识的领域,一个层面是“人的潜意识”就是人心里隐约感知、或者有这个能力,但没有显性的认识到可语言表达的层面,比如,有的高手的好习惯是下意识、他自己并不一定显性的认识了这些习惯在成效中为何能发挥着作用。
对于四象限,
1我们知道自己知道的,可以用于预测的知识;这种需要数据的检验;
2知道自己不知道,可以去寻求帮助、或者调研,获取一些知识,再检验这些知识;
3不知道自己知道,隐约懵懂,在决策中存在犹豫核模糊;也可以说是直觉,需要评估、训练、整合,从“隐学”变为“显学”。
4不知道自己不知道,就容易遗漏而不自知了;事情出现时才觉得吃惊、没有准备、仓促应对。这个领域需要的是探索。数据分析,既有描述型的数据分析,也有探索型的数据分析。
如果对于某个领域,我们的象限4很大,那么很可能根本就不知道去发起“预测”这件事、只觉得惊诧莫名、险象环生。
所以,很多人都知道用麦肯锡的MECE法来分析问题,但很多问题却MECE执行有局限。因为MECE是结构化思维的范畴、假设能够结构化的分解“相互独立、穷举不遗漏”。各因素是不是“相互独立”?是否“有遗漏”?这两件事情都考察着使用MECE的人的“不知道自己不知道”的盲点。
在傅盛的认知升级论中,称之为“认知的打怪升级过程”:
不知道自己不知道——以为自己什么都知道,自以为是的认知状态。
知道自己不知道——有敬畏之心,开始空杯心态,准备丰富自己的认知。
知道自己知道——抓住了事情的规律,提升了自己的认知。
不知道自己知道——永远保持空杯心态,认知的最高境界。
二是,“问题”要至少是可度量的,无论是定性还是定量。度量、预测的行为至少在一定时间和范围内,需要避免“自返”。比如上文说的股价、房价、教师、医生的例子。
三是,“问题”自身的复杂度。如果是上文的机械世界、不需要预测,要确保一贯的确定性的结果和表现;如果是NP世界的问题,就多从概率层面去预期;尽力提高对于中数世界的建模水平和计算能力,就是预测的主要着力之处。
这就是为什么预测要求的精细度、颗粒度,会直接影响到预测的可行性和工作量。某个地区的气候常常是可预期的,某一天是否会降雨就不那么确定了,未来48小时某个片区是否降雨预报比较有把握,但精确到点钟和小镇就很不容易了。“就好像知道一锅水十分钟会开是很好预测的,但要预测各个气泡先后从哪里冒出则很困难。”
以上就是我自己“民科”小结的关于预测的一些架构性的问题,之后关于什么样的中数问题,如何解耦、系统化,解耦后的模块的数量级,耦合的关系如何处理,如何选择模型,分解到算法上的可执行性如何,这其中的学问更是浩瀚深邃,且学且珍惜吧。