各种分布及其产生机制

判断模型好坏的标准是什么

 

判断模型好坏的首要标准是什么?

 

A open question, the answer depends on your own taste.

来自《少年派》的启示:你看到什么取决于你选择什么样的世界活着。


关于S曲线和logistic 方程的讨论

各种学科中关于S曲线的研究可谓汗牛充栋,罗杰斯的《创新扩散》是典型代表。许多人认为,呈S曲线状的数据说明了该变量的增长满足logistic方程,真的是这样吗?我们发现:


1. 使用许多其他方程都可以拟合S曲线

 

2. 不但其他方程(例如多项式)可以拟合S曲线,logistic方程也可以拟合完全不具备“S”形状的曲线

 

一般我们用logistic方程拟合S曲线,但其实长得像“S”的曲线完全可以用其他方程,如多项式拟合,而logistic方程也完全可以拟合长得根本不想“S”的任意一个单调数据曲线。

小结来说,S曲线,仅仅是数据在人眼中的某种形状,从统计拟合的角度说,与logistic方程,或者任意其他方程没有必然联系。


3. 总是坚持使用logistic方程(或者其他方程)来拟合S曲线并不会有效降低我们犯错误的概率

这篇文章列出了手机扩散的数据,我们来试着拟合一下其中部分数据点。

 


我们先选择1992年到2003年的数据,分别用logistic和多项式进行拟合

 


两者的R方都接近1,不相上下,但是,对未来的预测却区别相当大。

 

补充了2004年的数据点后,我们发现多项式预测的效果比logistic方程好很多。所以原文中用Logistic拟合数据点意义不大。甚至可能误导读者。如果一定要使用logistic模型,那么也应该将数据划分成训练集和测试集,如果logistic模型对未来时间点的预测能通过测试,才可以。因为这个时候logistic方程本身没有理论解释的意义(它并不能在数据之外向我们多提供关于变量本身生长机制的信息),仅仅是为了追求预测力存在,那么就应该接受预测效力的检验。


4. 什么情况下logitsic方程存在解释意义呢?

 

logistic方程在提出的时候,是有理论假设的,不过在后来的误用中变成了一个和K-means这种机器学习方法一样,没有domain-specific的理论意义,仅仅是为了拟合数据而存在模型。实际上, logistic curve 机制的假设是,增长量与已有人口数和剩余资源成正比。根据参数不同,生物种群在增长过程中可以有r策略和t策略,前者多生,后者善养。如果在这种非常具体的生物种群随时间增长场景里,考虑到模型数学假设的实际意义,是可以使用logistic模型的。

各种分布及其产生机制

这两份连续分布离散分布的文献值得参考

推荐阅读:The common patterns of nature

由于数据在时间里的趋势的规律难以把握(考虑股票价格的例子),对于单变量数据,我们可以上升一个抽象层次,考虑数据的分布,而不是时间趋势。下面这张图列出了各种常见的分布及其可能的机制

 

下面这张图列出了各种常见的分布及其相互的关系

 


根据以前的文献,我们可以总结出一些分布及其对应的机制


分布 产生机制
Normal distribution 由大量不完全相关的随机因素决定的事件:同一物种生物个体的大小
Poisson distribution 一块空间或时间内产生的事件的数量(当事件的发生概率比较小时):巴士抵达,DNA变异,机器故障
Exponential distribution 小概率事件首次发生的等待时间,无记忆性,机器与生物体的寿命(功能障碍由于单个部件失效)
Gamma distribution 小概率事件第n次发生的等待时间,生物体的寿命(功能障碍由于多个部件同时失效)
Pareto distribution 能量与物质在时空中快速流动时观察到的分配,地震、飓风与火山爆发的能级,金融动荡,人类社会的财富分配,人类语言中的单词,互联网上的用户活动与网站规模

当然,分布与机制之间的关系也并不是一一对应的,不同的机制可能导致不同的分布,也可能导致相同的分布。

 


上图是不同分布,不同机制的例子,两篇文章分别提出了不同的人类互动间隔时间分布,给出了不同的模型。


 

上图是相同分布,不同机制的例子,两篇文章都试图解释网页之间超链接的幂律分布,但模型确是不同的。

分布与卷积

卷积对应着多个随机变量的合并,近似对应着单个变量统计精度的降低,这两件看起来风马牛不相及的事,背后有没有什么有趣的联系呢?


 

对近似的讨论,我们先从两种画CDF的不同方法开始。

a-c展示了第一种方法。先对数据做frequency,得到PDF,再对PDF做累加,得到CDF。

从一个标准正态分布中取一个规模为1000的随机样本X,保留小数位后8位,这1000个取值都是不同的。如果直接做PDF,就得到一条近似于均匀分布的线,非常靠近x轴。如果只保留7或6位小数做近似处理,有些取值开始重复,PDF的中间渐渐“鼓起来”,而整个曲线也变得越来越光滑。a显示了近似程度不同时候画出的PDF,越外围的曲线保留的小数位越小。为了更清晰地显示出不同曲线的差别,a的y轴以log坐标显示,得到b。

c是根据不同近似程度的PDF画出来的CDF,值得注意的是,不同近似标准下,PDF虽然不重合,CDF却是重合的。这里为了便于比较,把保留小数位较多的CDF往右移。可以清晰地看到,虽然CDF是重合的,但保留小数位小的CDF的数据点也少,因此在判定CDF函数及估计参数时将会因为数据点较少产生偏误。

d图是第二种方法,不考虑PDF,直接画CDF。首先将Xi升序排列,将排列后的Xi作为x轴,其序号rank作为y轴(重复的Xi给与同样的rank)。因为Xi的序号恰好就是“比该Xi小的数值个数”,因此把y轴归一化(除以最大的rank即1000)后即得到CDF。这种CDF的画法不做任何近似,因此最大程度地保留了原始数据的信息。

 

你是否感觉刚才的PDF的图似曾相识呢?对,我们在讨论卷积时(The common patterns of nature)已经见过这个“不断光滑”的正态分布曲线。

总结一下,有两件事都可以使PDF变得更加“光滑”:

1. 在做一个变量的frequency时,不断地降低统计精度,提高近似程度(approximation)(图1)

2. 统计精度不变,但把多变量合并成单变量(aggregation)。如果我们把图2的第一列PDF也弄成CDF,就会发现和上页图3一样的pattern,有了几乎是重合但数据点多少不同5条CDF(第一个CDF只有3个数据点,最后一个CDF几乎已经是完美曲线)。

原来,近似和卷积的共同本质都是“加大观察的scale,忽略信息”。所以它们对应着类似的现象。

现在的问题是,我们能不能将近似表达为与卷积类似的数学过程呢?