9赞
941
当前位置:  开发笔记 > 编程语言 > 正文

长尾理论的数学分析:真的彻底颠覆了二八法则?

随着中信出版社引进出版的《长尾理论》,关于这一Web2.0以来最重要的概念又被大家如火如荼地炒作起来。概念是模糊的,科学是严谨的。虽然我之前就某些问题质疑过长尾理论,本文试图通过数学方法来看

随着中信出版社引进出版 的《长尾理论》,关于这一Web 2.0以来最重要的概念又被大家如火如荼地炒作起来。概念是模糊的,科学是严谨的。虽然我之前就某些问题质疑过长尾理论,本文试图通过数学方法来看看长尾理论是否真的彻底颠覆了二八法则?

长尾理论通常使用左边这张长尾曲线图来解释,头部是大热门,流行度曲线陡然下坠,但一直没有到零点。这个长长尾巴的价值就是长尾理论通篇讲述的核心。


《长尾理论》书中第110页中讲到“长尾就是一种幂率(power-law)曲线”,学过中学数学的都知道,幂率曲线就是类似f(x)=c/x的曲线,其中c为常量。大家看看确实和Chris Anderson描述的长尾曲线一模一样。

有了这个前提,我们来看看长尾理论是否真的彻底颠覆了二八法则?首先,了解一下“二八法则”,“二八法则”又称“帕累托法则”,是意大利经济学家帕累托在19世纪末发现的经济规律,他发现在经济活动中,少数群体显得更为重要,比如:20%的人口掌握80%的财富、20%的产品产生80%的销售额等等。因此这个法则也称为“重要少数法则”。

我们在任何一个地方截断长尾,比如x=5n的地方,这时候20%多数是x=n之前的部分。2个部分的总量分别是:

总量 = c+c/2+c/3+c/4+...+c/5n
头部 = c+c/2+c/3+c/4+...+c/n

很显然,这2个部分构成都是数学中最常见的调合级数,我们知道调合级数是发散的。如何估算(1)和(2)的值并进而计算它们的比例呢?幸好著名的数学家Euler证明了
1+1/2+1/3+1/4+...+1/n = ln(n+1)+r

其中r是一个常量,现在称为Euler常数,约为0.577218。这样,我们就得到长尾理论环境(丰饶经济)下,20%的头部所占的比例基本为:
头部/总量 = (ln(n)+r) / (ln(5n)+r) = (ln(n)+r) / (ln(n)+ln5+r)

因为ln(n)是发散的,所以当n越来越大的时候,这个比率越来越接近于100%。形象一点,我们来计算几个值:
n 20%的头部比例
100 75.3%
1000 82.3%
10000 85.9%

所以从数学计算上来说,长尾理论依然没有摆脱“重要少数法则”。

 

其实Chris Anderson也承认:“真正的80/20法则只是承认帕累托分布的有效性,承认某些东西卖得远比其他东西要好,这在长尾市场和传统市场中都是成立的。”所以,长尾理论彻底颠覆了二八法则是没有根据的。

长尾理论不是颠覆性的概念,更多地是指导我们在丰饶经济的条件下,寻找合适的长尾市场,开拓新的销售渠道。所以Chris Anderson也重点谈到“即使有二八法则的统治,在丰饶经济环境下,我们也没有理由不去经营其它的80%产品”。或许,这就是对长尾理论最深刻的注解。


数学小知识:欧拉常数的由来

对于今天我们称为调和级数的

1+1/2+1/3+1/4+...

很早就有数学家研究,比如中世纪后期的数学家Oresme在1360年就证明了这个级数是发散的。他的方法很简单:
1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+...
1/2+1/2+(1/4+1/4)+(1/8+1/8+1/8+1/8)+...

注意后一个级数每一项对应的分数都小数调合级数中每一项,而且后面级数的括号中的数值和都为1/2,这样的1/2有无穷多个,所以后一个级数是趋向无穷大的,进而调合级数也是发散的。

 

随后很长一段时间,人们无法使用公式去逼近调合级数,直到无穷级数理论逐步成熟。1665年Newton(牛顿)在他的著名著作《流数法》中推导出第一个幂级数:

ln(1+x) = x - x 2/2 + x 3/3 - ...

 

Euler(欧拉)在1734年,利用Newton的成果,首先获得了调和级数有限多项和的值。结果是:

1+1/2+1/3+1/4+...+1/n = ln(n)+r (r为常量)

他的证明是这样的:
根据Newton的幂级数有:

ln(1+1/x) = 1/x - 1/2x 2 + 1/3x 3 - ...

于是:
1/x = ln((x+1)/x) + 1/2x 2 - 1/3x 3 + ...

代入x=1,2,...,n,就给出:
1/1 = ln(2) + 1/2 - 1/3 + 1/4 -1/5 + ...
1/2 = ln(3/2) + 1/2*4 - 1/3*8 + 1/4*16 - ...
......
1/n = ln((n+1)/n) + 1/2n 2 - 1/3n 3 + ...

相加,就得到:
1+1/2+1/3+1/4+...1/n = ln(n+1) + 1/2*(1+1/4+1/9+...+1/n 2) - 1/3*(1+1/8+1/27+...+1/n 3) + ......

后面那一串和都是收敛的,我们可以定义
1+1/2+1/3+1/4+...1/n = ln(n+1) + r

Euler近似地计算了r的值,约为0.577218。这个数字就是后来称作的欧拉常数。不过遗憾的是,我们对这个常量还知之甚少,连这个数是有理数还是无理数都还是个谜。

 


推荐阅读
author-avatar
骷髅怪天堂_821
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有