有一个思考指数和对数问题的技巧。只需问两个问题:
1) 我们在谈论输入(变化的原因)还是输出(发生的实际变化)?
- 对数 揭示导致增长的输入
- 指数(Exponents) 找到增长的最终结果
2) 我们在谈论增长者的视角,还是观察者的?
- e和自然对数来自增长者的瞬时视角
- 以10为底、以2为底等是方便人类观察的单位
在脑海中,我把这些选项放入一个表格:

我的想法像是 “我需要从增长者的角度来理解原因……那就是自然对数。”. (自然对数缩写为小写 LN,源于自命不凡的 logarithmus naturalis.)
我对于课程只描述表格的内部部分、原始函数,却没有解释何时使用它们的说明感到很沮丧!
那行不通,让我们直接练习用对数和指数思考。
场景:描述 GDP 增长
这是一个典型的增长例子:
- 从2000年到2010年,美国GDP从9.9万亿美元变为14.4万亿美元
好的,这些数字确实显示了变化的发生。但我们可能想了解原因:什么样的平均年增长率会导致这种变化?
我立刻想到“对数”,因为我们是从增长逆向推导引起它的速率。我这样开始思考:
![]()
好的开始,但让我们更精确一些。
首先,应该用哪个对数?
默认情况下,我选择自然对数。大多数事件最终是以增长者(而非观察者)的角度来衡量的,我喜欢“伴随”增长元素来可视化正在发生的事情。(弧度类似:它们以运动者的角度测量角度。)
下一个问题:我们将对数应用于什么变化?
我们实际上只关心起点和终点之间的比率:10年内从9.9万亿到14.4万亿。这与在同一时期从9.90美元到14.40美元的增长相同。 速率 在同一时期从9.90美元到14.40美元。
我们可以更精确地思考:
![]()
![]()
好的,原因是0.374或37.4%的速率。我们完成了吗?
还没有。对数不知道变化持续了多长时间(我们没有输入10年,对吗?)。它们给出的速率假设所有变化发生在单个时间段内。
变化确实可以是单个年份37.4%的连续增长,或者是2年每年18.7%的增长,或其他组合。
根据场景,我们知道变化花了10年,所以速率必须是:
![]()
从瞬时连续增长的角度看,美国经济每年增长3.74%。
我们现在完成了吗?还没有!
这个连续速率是从增长者的视角来看的,就好像我们“伴随”经济变化。银行家可能关心人类友好的逐年差异。我们可以通过让连续增长运行一年来计算:
![]()
![]()
![]()
由于复利效应,逐年增长率为3.8%,略高于3.74%的瞬时速率。另一种说法是:
- 从瞬间看,经济的某一部分以3.74%的速率增长,模型为$e^(.0374 * years)$
- 按年计算,考虑复利效应后,经济增长3.81%,模型为$1.0381^years$
在金融领域,我们可能想要可以与其他趋势良好比较的逐年变化率。在科学和工程领域,我们更倾向于基于瞬时速率对行为建模。
场景:描述自然增长
我讨厌像“假设细菌每24小时翻倍,找到其增长公式”这样人为的例子。细菌菌落会在干净的人类时间间隔内繁殖吗?我们会等待恰好翻倍吗?
一个更好的场景:“嘿,我发现了一些细菌,等了一个小时,菌团从2.3克长到了2.32克。我现在要去吃午饭了。请算出3小时后我回来时会有多少。”
让我们来建模。我们需要一个对数来找到增长率,然后用一个指数来预测未来的增长。像之前一样,我们先全部用自然对数来表示。
增长因子是:
![]()
![]()
这是每小时的变化率,而用于预测未来的通用模型将是
![]()
![]()
如果我们从2.32开始,增长3小时,我们将得到:
![]()
顺便问一下,细菌需要多久才能翻倍?想象一下从1变成2:
![]()
我们可以机械地取两边的自然对数来“解除指数”,但让我们直观地思考一下。
如果2是最终结果,那么ln(2)就是让我们达到那个结果的增长输入(某个比率×时间)。我们知道比率是.0086,所以到达2所需的时间是:
![]()
菌落大约在80小时后翻倍。(庆幸你没一直等着吧?)
视角转变的真正含义是什么?
弄清楚你想要的是输入(增长的原因)还是输出(增长的结果)是相当直接的。但如何从生长者的角度来可视化呢?
想象一下,我们有小工人在构建最终的生长模式(参见 关于指数的文章):

如果我们的增长率是100%,我们告诉初始工人(蓝先生)稳步工作,并在年底前制造出他自己的100%副本。如果我们每天跟踪他,我们看到他在年底确实完成了自己的100%副本(绿先生)。
但是……他正在建造的那个工人(绿先生)也开始工作了。如果绿先生在6个月时首次出现,他有半年的时间工作(与蓝先生相同的年增长率),他建造了红先生。当然,红先生只完成了一半,因为绿先生只有6个月。
如果绿先生在4个月后出现呢?一个月?一天?一秒?如果工人立即开始生长,我们就会得到由$e^x$定义的即时曲线:

自然对数从单个工人的角度给出了一个增长率。我们将该比率代入$e^x$来找到最终结果,包括所有的复利。
使用其他基数
切换到另一种对数(以10为底、以2为底等)意味着我们在寻找整体增长中的某种模式,而不是单个工人在做什么。
每个对数在看到变化时都会问一个问题:
- 以e为底的对数:每个工人遵循的瞬时速率是多少?
- 以2为底的对数:需要多少次加倍?
- 以10为底的对数:需要多少次10倍增长?
以下是一个可以分析的情景:
- 在30年间,典型芯片的晶体管数量从1000增长到10亿
你会如何分析这个?
- 微芯片并非一个随时间平稳增长的单一实体。它们是来自不同竞争公司的独立版本,反映了一种普遍的技术趋势。
- 既然我们不是“伴随”一个扩展的微芯片,那就使用一种为人类便利设计的尺度。翻倍比增长10倍更容易思考。
根据这些假设,我们得到:
![]()
![]()
“增长的起因”是20次翻倍,我们知道这发生在30年内。平均每年翻倍2/3次,即每1.5年翻倍一次——一个很好的经验法则。
从种植者的角度来看,我们将计算 $\ln(\text{10亿}/1000) / \text{30年} = 46\%$ 的连续增长(在这种情境下较难理解)。
我们可以将分析总结成一张表:

总结
学习就是找到一个概念背后的隐藏说明。它在何时使用?它为解决什么问题带来了什么视角?
我当前的解释是指数询问了原因与结果、种植者与观察者之间的关系。但我们永远学不完;乐趣之一在于看看我们如何重新诠释旧概念。
数学愉快。
附录:换底公式
以下是关于换底的思考。假设100%的连续增长率,
- ln(x) 是增长到 x 所需的时间
- ln(2) 是增长到 2 所需的时间
由于我们知道翻倍所需时间,我们可以看出在总时间内“容纳”多少次翻倍才能增长到x:
![]()
例如,从1到64发生了多少次翻倍?
嗯,ln(64) = 4.158。而ln(2) = 0.693。能容纳的翻倍次数是:
![]()
在现实中,计算器可能会丢失精度,所以如果可能的话,直接使用以2为底的对数函数。当然,我们可以有分数次:从1到2的平方根是“半次”翻倍,或log2(1.414) = 0.5.
改成以10为底的对数意味着我们在计算能容纳多少次10倍增长:
![]()
很巧妙,对吧? 在现实世界中使用对数 阅读更多例子。