什么是指数回归?
指数回归就是把一组成对的数据点拟合成 \(y = A\,e^{Bx}\) 形式的曲线。当某个量的增长或衰减速度与它当前的大小成正比时,指数回归就是最常用的建模工具,比如人口增长、放射性衰变、复利累积或细菌培养等。本计算器是一个纯粹的数学与统计工具,不依赖任何国家或地区的特定规则,因此在世界各地的用法完全一致。
如何使用
在 X 值 框中填入自变量,在 Y 值 框中填入因变量,两者都用英文逗号分隔。两组数据的个数必须相同,至少需要两个数据点,并且每个 Y 值都必须严格大于 0(因为该方法要对 y 取自然对数)。选好显示精度后,即可直接读取拟合得到的系数 A、B,相关系数 r,以及拼装好的回归方程。
公式详解
由于 \(y = A\,e^{Bx}\) 是非线性的,我们通过取自然对数将其线性化:\(\ln y = \ln A + B\,x\)。这其实就是把 \(\ln(y)\) 对 \(x\) 做一次普通线性回归。利用中心化求和 \(S_{xx} = \sum (x - \bar{x})^2\)、\(S_{yy} = \sum (\ln y - \overline{\ln y})^2\)、\(S_{xy} = \sum (x - \bar{x})(\ln y - \overline{\ln y})\),可得斜率 \(B = S_{xy}/S_{xx}\),以及 \(A = \exp(\overline{\ln y} - B\,\bar{x})\)。
$$y = A\,e^{Bx} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} B &= \frac{S_{xy}}{S_{xx}} = \frac{\sum (x_i - \bar{x})(\ln y_i - \overline{\ln y})}{\sum (x_i - \bar{x})^2} \\ A &= \exp\!\left(\overline{\ln y} - B\,\bar{x}\right) \end{aligned} \right.$$相关系数 \(r = S_{xy}/(\sqrt{S_{xx}}\cdot\sqrt{S_{yy}})\),取值在 \(-1\) 到 \(1\) 之间;绝对值超过 0.7 表示拟合效果很好。
计算实例
取 \(x = [1, 2, 3, 4, 5]\)、\(y = [2.7, 7.4, 20.1, 54.6, 148.4]\)(大约就是 \(e^{x}\)),可算得 \(S_{xx} = 10\),\(S_{xy} \approx 10.0115\),\(S_{yy} \approx 10.0231\)。于是 \(B \approx 1.0012\),\(A \approx 0.9956\),\(r \approx 1.0000\)。拟合曲线 \(y \approx 0.9956\,e^{1.0012x}\) 印证了这组数据确实来自 \(y = e^{x}\)。
常见问题
为什么 Y 必须为正数?该方法要对 y 取 \(\ln(y)\);而 0 或负数的对数没有定义,所以非正的 Y 值会被拒绝。
r 接近 1 说明什么?说明指数模型能很好地解释这组数据。r 接近 0 则表示数据之间几乎没有指数关系。
x 可以为负数吗?可以。X 可以是任意实数,只有 Y 被限制为正数。