邏輯斯諦函數()是一种常见的S型函数,其函數圖像稱為逻辑斯谛曲线()。简单的逻辑斯谛函数可用下式表示:
: f(x) = \frac{L}{1 + e^{-k(x-x_0)}}
其中:
: 为S形曲线中点的值;
: 为曲线的最大值
: 为逻辑斯谛增长率或曲线的陡度。
当趋向于正无穷时,的值逼近L,而趋向于负无穷时,的值逼近0。
逻辑斯谛函数应用领域广泛,包括生物学(特别是生态学)、數理生物學、化學、人口学、经济学、地球科学、数学心理学、概率、社会学、政治学、语言学、统计学和人工神经网络等。例如,可以模仿一些情况人口增长(P)的S形曲线。起初阶段大致是指数增长;然后随着开始变得饱和,增长变慢;最后,达到成熟时增长停止。
实际上,逻辑斯谛函数是双曲正切函数经过平移缩放获得。
歷史
曲线对比]]
逻辑斯谛函数是于1838年至1847年间发表的三篇论文中提出的,他在阿道夫·凯特勒的指导下,通过调整指数增长模型,将其设计为人口增长模型。韦吕勒在1830年代中期设计了该函数,并在1838年发表了一个简短的说明,第三篇论文调整了比利时人口增长模型中的修正项。
命名
原本选用“逻辑斯谛”(,)一词时,韦吕勒没有解释其原由,但在提出该增长模型前,他讨论了算术增长和几何增长(他称之为“对数曲线”,即指数曲线),因此“逻辑斯谛增长”可能是通过类比命名的,“逻辑斯谛”来自古希腊语(logistikós),是指古希腊数学的一个分支,大致相当于应用数学,韦吕勒可能是暗示他的增长模型比一次函数和指数函数更贴合实际。“逻辑斯谛函数”中的“逻辑”与逻辑学(logic)和军队后勤/物流(logistics,自法语,且此词的来源亦饱受争议)均没有关系。
数学特性
标准逻辑斯谛函数的参数设定为k = 1, x_0 = 0, L = 1,即
: f(x) = \frac{1}{1 + e^{-x}} = \frac{e^x}{e^x + 1} = \frac12 + \frac12 \tanh\left(\frac{x}{2}\right)
实际上,由于指数函数e^{-x}的特性,函数的取值很快会逼近极限,在很小的实数范围内(例如[−6, +6])的取值就足以计算标准逻辑斯谛函数的极限。
标准逻辑斯谛函数具有如下对称性:
: 1 - f(x) = f(-x)
因此,x \mapsto f(x) - 1/2是奇函数。
标准逻辑斯谛函数可视为双曲正切函数的偏移和缩放:
: f(x) = \frac12 + \frac12 \tanh\left(\frac{x}{2}\right)
或
: \tanh(x) = 2 f(2x) - 1.
推导过程如下:
:
\begin{align}
\tanh(x) & = \frac{e^x - e^{-x}}{e^x + e^{-x}} = \frac{e^x \cdot \left(1 - e^{-2x}\right)}{e^x \cdot \left(1 + e^{-2x}\right)} \\
&= f(2x) - \frac{e^{-2x}}{1 + e^{-2x}} = f(2x) - \frac{e^{-2x} + 1 - 1}{1 + e^{-2x}} = 2f(2x) - 1.
\end{align}
导数
标准逻辑斯谛函数的导数称为密度,公式如下:
: f(x) = \frac{1}{1 + e^{-x}} = \frac{e^x}{1 + e^x},
: \frac{\mathrm{d}}{\mathrm{d}x}f(x) = \frac{e^x \cdot (1 + e^x) - e^x \cdot e^x}{(1 + e^x)^2} = \frac{e^x}{(1 + e^x)^2} = f(x)\big(1 - f(x)\big)
逻辑斯谛分布的均值为,方差为。
积分
标准逻辑斯谛函数的不定积分可用换元积分法求得,令u = 1 + e^x,f(x) = \frac{e^x}{1 + e^x} = \frac{u'}{u},去掉積分常數,得到其不定积分:
: \int \frac{e^x}{1 + e^x}\,dx = \int \frac{1}{u}\,du = \ln u = \ln (1 + e^x).
在人工神经网络中,它称作线性整流函数,(缩放后)可视为平滑近似的斜坡函数,类似于逻辑斯谛函数(缩放后)是平滑近似的单位阶跃函数。
逻辑斯谛微分方程
标准逻辑斯谛函数是简单的一阶非线性常微分方程的解:
: \frac{d}{dx}f(x) = f(x)\big(1 - f(x)\big)
边界条件为f(0) = 1/2。该方程是逻辑斯谛映射的连续版本。注意倒数逻辑斯谛函数是简单的一阶线性常微分方程的解。
邏輯斯諦差分方程
: x_{n+1} = k x_n (1-x_n)
是混沌理论的一个模型。这个函数对初始值和参数的变化很敏感,往往微小的变化会引起混沌。如图所示,当,参数从0.1变到4时,系统变化很大。
- 当由0.1变到1时,曲线很快趋向于0
- 当继续增加,曲线由0.3上升到 一个稳定值
- 继续增加,曲线出现摆动,有2个稳定值。
- 继续增加, 曲线相继出现4个、8个、16个、32个....稳定值
- 增加到一个临界值,系统进入混沌状态。
- 再增加,系统突然垮塌。
变化
: x_{n+1} = k x_n (1-x_n^2)
应用
生态学:种群增长模型
逻辑斯谛方程的一个典型应用是种群(或人口)增长的通用模型(另见),这也是韦吕勒提出该函数的理由,以修正馬爾薩斯模型。韦吕勒推导出他的逻辑斯谛方程来描述生物种群的自限性增长。该方程于1911年被A. G. McKendrick用于描述肉汤中细菌的生长,他使用非线性参数估计的方法进行了实验测试。在约翰斯·霍普金斯大学的Raymond Pearl(1879–1940)和Lowell Reed(1888–1966)于1920年使用该方程后,这一方程有时也称为Verhulst-Pearl方程。另一位科学家阿弗雷德·洛特卡在1925年再次推导出该方程,称其为种群增长律(law of population growth)。
令为种群(人口)规模(生态学经常用代替),代表时间,该模型用以下微分方程表示:
: \frac{dP}{dt}=r P \left(1 - \frac{P}{K}\right),
其中常数为种群(人口)增长率,为环境承载力。
方程中,早期的几乎无阻力的增长率来自。增长率代表种群(人口)数量在一个单位时间内的增长比例。后来,随着人口的增长,第二项变得几乎和第一项一样大,种群内的个体之间开始争夺某些关键资源(例如食物或生存空间)而相互干扰。这种对抗效应称为“瓶颈”,由参数代表。竞争会降低总合增长率,直到停止增长(种群/人口成熟)。方程的解(为初始种群/人口数量)为
: P(t) = \frac{K P_0 e^{rt}}{K + P_0 \left( e^{rt} - 1\right)} = \frac{K}{1+\left(\frac{K-P_0}{P_0}\right)e^{-rt}},
其中:
: \lim_{t\to\infty} P(t) = K.
可以说,是的极限值,即经过无限长时间后(或在有限时间内近似),种群(人口)规模所能达到的最大值。须注意,只要初始值P(0) > 0,无论取值多少,种群数量都会渐近环境承载力的值,包括P(0) > K的情况下。
生态学中有时称一个物种是策略或策略的,这是指它们在自然选择过程形成的生物生命週期策略。选取变量的量纲,使代表以环境承载力单位计的种群数量,\tau代表以1/r的单位计量的时间,得出无量纲微分方程:
: \frac{dn}{d\tau} = n (1-n).
时变承载力
由于环境条件会影响环境承载力,因此它可能是随时间变化的,K(t) > 0,得出以下数学模型:
: \frac{dP}{dt} = rP \cdot \left(1 - \frac{P}{K(t)}\right).
其中一种特别重要的情况是承载力随时期以为周期变化的情况:
: K(t + T) = K(t).
可见,只要初始值P(0) > 0,无论具体取值为多少,P(t)会逼近一个周期为T的周期解P_*(t)。
T的典型取值为1年,在此情况下,K(t)可表示天气条件的周期性变化。
另一个有趣的一般化情形是考虑承载能力作为关于较早时间的种群数量的函数,以表示种群改变其所处环境的延迟。这就构成了一个逻辑斯谛时滞方程,它具有非常丰富的行为,在某些参数范围内呈现双稳定,以及单调衰减至零、平滑指数增长、间断无限增长(即多个S形)、间断增长或交替到平稳水平、振荡接近稳定水平、持续振荡、有限时间奇异点以及有限时间死亡。
延伸应用:肿瘤生长模型
在医学上,逻辑斯谛微分方程可用于肿瘤生长的建模。这一用法可视为上述的生态学/人口学模型的延伸。以X(t)表示肿瘤在时间t的大小,其变化动态遵循
: X' = r\left(1 - \frac X K \right)X,
属于以下类型:
: X' = F(X)X, \quad F'(X) \le 0,
其中F(X)为肿瘤增殖率。
如果采用化疗产生对数杀伤效果,则等式修改为
: X' = r\left(1 - \frac X K \right)X - c(t) X,
其中c(t)为治疗引起的肿瘤死亡率。在理想化的极长的治疗下,c(t)可模型化为周期为T的周期函数或(在持续的输液治疗下)常数函数,有
: \frac 1 T \int_0^T c(t)\, dt > r \to \lim_{t \to +\infty} x(t) = 0,
即,如果平均治疗引起的肿瘤死亡率大于基线增殖率,则疾病能被根除。当然,这是一个过于简化的生长和治疗模型(例如没有考虑克隆抗性现象)。
统计学和机器学习
逻辑斯谛函数在统计学中有多种应用。例如,它们是的累积分布函数,它们可用于模拟國際象棋棋手在埃洛等级分系统下击败对手的概率。以下是一些更具体的案例。
邏輯迴歸
邏輯斯諦迴歸使用逻辑斯谛函数来模拟一个事件的概率如何可能会受到一个或多个解释变量的影响:一个案例模型如下
: p = f(a + bx),
其中为解释变量,和为欲拟合的模型参数,为标准逻辑斯谛函数。
邏輯斯諦迴歸和其他也常用于机器学习。将逻辑斯谛函数推广至多元输入情景即为Softmax激活函数,用于。
医学:传染病模型
在人群中未被免疫的新型传染性病原体,通常会在早期呈指数级传播,有大量易感个体尚未被感染。例如2020年初,导致2019冠状病毒病的SARS-CoV-2病毒在多国的感染过程中呈现出指数级增长。此后,易感宿主减少(持续感染直到超过群体免疫阈值)或通过社交距离措施减少潜在宿主的被传染概率等因素,可能使呈指数增长的传染曲线首先线性化,然后趋缓,达到最大值。
逻辑斯谛函数或相关的函数(例如)通常以描述性或现象学方的式使用,因为它们非常符合早期的指数上升,也符合随着人群形成群体免疫而最终趋于平稳的趋势。它与流行病的实际模型不同,后者试图根据大流行的动态(例如接触率、潜伏期、社交距离等)来描述感染状态。不过,一些简单的模型有逻辑斯谛解。
早期COVID-19病例数建模
(又称Richards增长曲线)已应用于对COVID-19爆发的早期阶段建模。研究者将广义逻辑斯谛函数拟合到累计感染病例数(称为传染轨迹)。文献中对广义逻辑斯谛函数有不同的参数化。一种常用的形式是:
: f(t ; \theta_1,\theta_2,\theta_3, \xi) = \frac{\theta_1}{[1 + \xi \exp (-\theta_2 \cdot (t - \theta_3) ) ]^{1/\xi}}
其中\theta_1,\theta_2,\theta_3取实数, \xi 为正实数。曲线f的灵活性由 \xi 赋予:(i)若 \xi = 1 ,则曲线衰减为逻辑斯谛函数,(ii)若 \xi 收敛至0,则曲线收敛至龚珀兹函数。在传染病模型中,\theta_1, \theta_2和\theta_3分别代表传染病最终的规模、感染率和滞后期。见右侧的范例的传染轨迹,其中(\theta_1,\theta_2,\theta_3)设定为(10 000, 0.2, 40)。
在流行病学建模中,使用类似广义逻辑斯谛函数的增长函数的好处之一是它相对容易应用于多级模型框架,其中来自不同地理区域的信息可以汇总在一起。
化学:反应模型
自催化反应中,反应物和产物的浓度遵循逻辑斯谛函数。例如燃料电池阴极中不含铂族金属(PGM-free)的氧还原反应催化剂的劣化遵循逻辑斯谛衰减函数,表明这是一种自催化分解机制。
物理:费米-狄拉克分布
费米子在热平衡系统的能量状态上的统计分布遵循逻辑斯谛函数。特别地,根据费米-狄拉克统计,它是每个可能的能级被一个费米子占据的概率分布。
语言学:语言变化
语言学中,逻辑斯谛函数可用于对語言變化进行建模:一种最初处于边缘地位的新词随着时间的推移开始传播得更快,然后传播速度随着其普及而减慢。
经济学和社会学:创新扩散
逻辑斯谛函数可用于描绘一项发明创新在其生命周期内扩散的过程.
参见
- 指數增長
*
- 創新擴散理論
*
*
- 单位阶跃函数
*
*
- 單峰映象
- 邏輯斯諦迴歸
*
*
*
- 馬爾薩斯模型
*
- r/K选择理论
*
- 倾覆点
- 线性整流函数
- 克羅斯流體
- 希尔方程 (生物化学)
- 米-门二氏动力学
注释
参考文献
*
*
*
*
外部链接
- L.J. Linacre, [http://rasch.org/rmt/rmt64k.htm Why logistic ogive and not autocatalytic curve?] , accessed 2009-09-12.
- https://web.archive.org/web/20060914155939/http://luna.cas.usf.edu/~mbrannic/files/regression/Logistic.html
- [http://8020world.com/jcmendez/2007/04/business/modeling-market-adoption-in-excel-with-a-simplified-s-curve Modeling Market Adoption in Excel with a simplified s-curve]
*
- [http://jsxgraph.uni-bayreuth.de/wiki/index.php/Logistic_process Online experiments with JSXGraph]
评论 (0)