什么是对数回归?
对数回归是把数据拟合成 \(y = A + B\cdot\ln(x)\) 形式曲线的一种方法。当某个量在初期增长很快、随后逐渐趋于平缓时,它就特别适用——也就是 x 每按相同倍数变化,y 大致会有相同的增量。只要对每个 x 取自然对数,问题就转化为对变换后变量 \(u = \ln(x)\) 做普通的最小二乘直线拟合。
如何使用本计算器
在表格区域中输入数据,每行一对 (x, y),用逗号或空格分隔。每个 x 都必须严格为正,因为 \(\ln(x)\) 对零和负数没有定义;不符合要求的行以及空行都会被自动忽略。选择要显示的有效数字位数,即可读取拟合得到的截距 A、系数 B、相关系数 r 以及各项均值。
公式详解
令 \(u_i = \ln(x_i)\)。先算出 u 与 y 的均值,再计算平方和 \(S_{xx} = \sum (u-\bar{u})^2\)、\(S_{yy} = \sum (y-\bar{y})^2\),以及交叉乘积和 \(S_{xy} = \sum (u-\bar{u})(y-\bar{y})\)。于是斜率为 $$B = \frac{S_{xy}}{S_{xx}}$$ 截距为 $$A = \bar{y} - B\,\bar{u}$$ 相关系数为 $$r = \frac{S_{xy}}{\sqrt{S_{xx}} \cdot \sqrt{S_{yy}}}$$ 请注意,结果中显示的"x 均值"是几何平均数 \(\exp(\bar{u})\),而不是算术平均数,因为拟合是在对数空间中完成的。
实例演算
以数据点 (1, 2.0)、(2, 4.0)、(3, 5.0)、(4, 5.5)、(5, 6.0) 为例:\(\text{meanLnX} = 0.957498\),\(\text{meanY} = 4.5\),\(S_{xx} = 1.615493\),\(S_{yy} = 10.0\),\(S_{xy} = 4.003192\)。由此得 \(B = 2.4780\),\(A = 2.1273\),\(r = 0.9963\)(相关性很强)。拟合直线为 $$y = 2.1273 + 2.4780\cdot\ln(x)$$ x 的几何平均数为 \(\exp(0.957498) = 2.6051\)。
常见问题
为什么"x 均值"不是我那些 x 值的平均数? 因为回归是基于 \(\ln(x)\) 计算的,在这个模型里 x 数据的自然中心是几何平均数 \(\exp(\overline{\ln x})\),所以报告的就是这个值。
该如何解读相关系数 r? \(|r|\) 大于 0.7 表示关系很强,0.4–0.7 为中等,0.2–0.4 较弱,低于 0.2 则基本无相关性。
如果我所有的 x 值都相同会怎样? 那么 \(S_{xx} = 0\),斜率无法定义(被零除),拟合也就无法计算;你至少需要两个互不相同的 x 值。