什么是指数回归?
指数回归就是把一组成对的观测数据拟合成 y = A·Bx 形式的曲线。只要某个量随着 x 每增加一个单位、就大致按固定倍数增长或衰减,它就是合适的分析工具——人口增长、复利、放射性衰变、细菌培养以及许多自然过程都属于这种情况。它是一种通用的统计方法,不涉及任何地区或国家的特定规则。
如何使用
每行输入一对数据,格式为 x,y。至少需要两个数据点;x 值不能全部相同;并且每个 y 值都必须严格为正(因为该方法要对 y 取自然对数)。再选择要显示的小数位数,即可读出 A、B 和相关系数 r。
公式详解
这个模型本身是非线性的,但取对数后就变成了线性关系:ln(y) = ln(A) + x·ln(B)。因此,我们对变换后的点 (xi, ln yi) 做普通最小二乘直线拟合。记 x̄ 为 x 的均值,meanLnY 为 ln y 的均值,定义 Sxx = Σ(xi−x̄)²、Syy = Σ(ln yi−meanLnY)²、Sxy = Σ(xi−x̄)(ln yi−meanLnY)。于是有 B = exp(Sxy/Sxx),A = exp(meanLnY − x̄·ln B),r = Sxy / (√Sxx·√Syy)。
实例演算
以这五个点 (1, 2.7)、(2, 7.4)、(3, 20.1)、(4, 54.6)、(5, 148.4) 为例:n = 5,x̄ = 3,meanLnY ≈ 2.99906。Sxx = 10,Sxy ≈ 10.01167,Syy ≈ 10.02337。所以 B = exp(1.001167) ≈ 2.7215,A = exp(2.99906 − 3·1.001167) ≈ 0.9956,r ≈ 0.99999985。拟合得到的模型 y ≈ 0.9956·2.7215x 与背后的真实规律 y ≈ ex 高度吻合。
解释你的结果
指数回归返回三个数字 — \(A\)、\(B\) 和 \(r\) — 它们一起描述模型 \(y = A \cdot B^{\,x}\)。以下是如何理解每一个的方法。
底数 \(B\):增长或衰减
底数 \(B\) 控制对于每一个 \(x\) 单位增加,变化的方向和速度:
- \(B > 1\) 意味着增长。 \(x\) 中的每一步将 \(y\) 乘以 \(B\),所以曲线上升。每单位百分比变化是 \((B-1)\times100\%\)。例如,\(B = 1.08\) 对应 8% 的 \(x\) 每单位增长。
- \(B < 1\) 意味着衰减。 每一步将 \(y\) 乘以小于一的数字,所以曲线下降趋向于零。同样的公式 \((B-1)\times100\%\) 给出负结果;例如 \(B = 0.85\) 是每单位 \(-15\%\) 的变化。
- \(B = 1\) 是平的。 无论 \(x\) 是什么,\(y\) 始终等于 \(A\)(零百分比变化)。
系数 \(A\):y 截距
\(A\) 是当 \(x = 0\) 时 \(y\) 的值,因为 \(A \cdot B^{0} = A\)。它在垂直方向锚定曲线,代表初始金额、初始人口、本金或你的 \(x\) 轴原点处的剂量。
相关系数 \(r\):对数尺度上的拟合
这个拟合的工作原理是取 \(z_i = \ln y_i\) 并对 \(z\) 与 \(x\) 进行普通线性回归。因此,\(r\) 衡量对数变换数据 \(\ln(y)\) 在直线上的拟合程度 — 而不是原始 \(y\) 值与曲线的拟合程度。接近 \(+1\) 或 \(-1\) 的 \(r\) 值表示强指数关系;符号匹配方向(增长为正,衰减为负)。
使用 \(|r|\) 的标准相关解释范围:
- 0.9 – 1.0:非常强的拟合 — 数据密切遵循指数模型。
- 0.7 – 0.9:强拟合 — 指数是一个很好的描述,有一些离散。
- 0.5 – 0.7:中等拟合 — 存在趋势但其他因素在起作用。
- 低于 0.5:弱拟合 — 指数模型可能不合适。
因为 \(r\) 反映对数尺度上的拟合,高的 \(r\) 不能保证原始 \(y\) 尺度上的小误差;大的 \(y\) 值在 \(\ln\) 变换后的权重较小。始终将拟合的曲线与你的原始数据绘制在一起作为理智检查。
常见问题
为什么 y 必须为正?拟合是基于 ln(y) 进行的,而 0 或负数的对数没有定义。
这里的 r 代表什么?它是 x 与 ln(y) 之间的相关系数。可参照以下标准判断:0.7 < |r| ≤ 1 为强相关,0.4 < |r| < 0.7 为中等相关,0.2 < |r| < 0.4 为弱相关,低于 0.2 则基本无相关。
如果我的 x 值全都相同怎么办?那么 Sxx = 0,斜率无法确定;请至少提供两个不同的 x 值。