这个计算器能做什么
本工具可将形如 \(y = A \cdot B^{x}\) 的 ab 指数趋势线拟合到频数分布表的数据点上。每一行包含一个 x 值、一个 y 值,以及频率 \(f\)(即该 (x, y) 数据对出现的次数或权重)。这是一种纯粹的统计方法,在任何地方的计算结果都完全一致——不涉及单位,也不受任何国家或地区的规则限制。
使用方法
每行输入一个数据点,格式为 x, y, f。由于该方法要对 y 取自然对数,y 值必须严格为正数。如果你想做普通的非加权拟合,只需把每行的频率都设为 1(也可以省略第三个数字,此时默认 f = 1)。选择系数显示的有效数字位数,即可读取 A、B 以及相关系数 r。
公式详解
关键在于把模型线性化:对 \(y = A \cdot B^{x}\) 两边取对数,得到 \(\ln y = \ln A + x \cdot \ln B\),这在 (x, ln y) 坐标系中是一条直线。我们对 ln y 关于 x 做频率加权最小二乘回归。设 \(n = \sum f\),加权均值为 \(\bar{x}\) 和 \(\overline{\ln y}\),加权和为 \(S_{xx}\)、\(S_{yy}\)、\(S_{xy}\),则斜率为 \(S_{xy}/S_{xx}\),截距为 \(\overline{\ln y} - \bar{x} \cdot \text{斜率}\)。取指数即得 \(B = e^{\text{斜率}}\)、\(A = e^{\text{截距}}\)。相关系数 \(r = S_{xy} / (\sqrt{S_{xx}} \cdot \sqrt{S_{yy}})\) 用于衡量对数线性模型的拟合优度。
$$y = A \cdot B^{x}, \qquad B = e^{\,S_{xy}/S_{xx}}, \quad A = e^{\,\overline{\ln y} - \bar{x}\,(S_{xy}/S_{xx})}$$ $$\text{where}\quad \left\{ \begin{aligned} n &= \textstyle\sum f, \quad \bar{x} = \frac{\sum f x}{n}, \quad \overline{\ln y} = \frac{\sum f \ln y}{n} \\ S_{xx} &= \textstyle\sum f x^{2} - n\,\bar{x}^{2} \\ S_{xy} &= \textstyle\sum f\,x \ln y - n\,\bar{x}\,\overline{\ln y} \\ x,\,y,\,f &= \text{Data points (x, y, f)} \end{aligned} \right.$$
实例演算
以完美翻倍的数据 (1, 2)、(2, 4)、(3, 8)、(4, 16)(全部 f = 1)为例:\(n = 4\),\(\bar{x} = 2.5\),\(\overline{\ln y} = 1.732868\),\(S_{xx} = 5\),\(S_{xy} = 3.465735\),\(S_{yy} = 2.402224\)。于是 $$B = e^{3.465735/5} = e^{0.693147} = 2, \quad A = e^{0} = 1, \quad r = 1$$ 因此拟合曲线为 \(y = 1 \cdot 2^{x}\),与预期完全吻合。
常见问题
频率这一列有什么作用?它按每个数据点出现的频次为其加权,因此 f = 5 的一行相当于五行相同的数据。若要做普通回归,把所有 f 都设为 1 即可。
如何解读 r?\(|r| > 0.7\) 表示强相关,0.4–0.7 为中等相关,0.2–0.4 为弱相关,低于 0.2 则几乎不相关。r 是在 (x, ln y) 坐标系中计算的。
为什么 y 必须为正?因为模型要对 y 取自然对数,而当 \(y \le 0\) 时 ln y 没有定义,所以非正数的行会被忽略。