通过MCP连接 →

输入计算

Enter one (x, y) pair per line, separated by a comma or space. x must be > 0.

数学公式

数学公式: 对数回归计算器

广告

结果

拟合的对数趋势线
y = 2.127318 + 2.478001 · ln(x)
based on 5 data points
截距 A 2.1273178629
系数 B 2.4780012839
相关系数 r 0.9959866744
ln(x) 的均值 0.9574983486
x 均值(几何平均) 2.6051710847
y 的均值 4.5

什么是对数回归?

对数回归是把数据拟合成 \(y = A + B\cdot\ln(x)\) 形式曲线的一种方法。当某个量在初期增长很快、随后逐渐趋于平缓时,它就特别适用——也就是 x 每按相同倍数变化,y 大致会有相同的增量。只要对每个 x 取自然对数,问题就转化为对变换后变量 \(u = \ln(x)\) 做普通的最小二乘直线拟合。

带有先升后平的对数最佳拟合曲线的散点图
对数回归拟合曲线 \(y = A + B\cdot\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})\),而不是算术平均数,因为拟合是在对数空间中完成的。

Advertisement
展示对数曲线上截距 A 和斜率系数 B 的示意图
A 决定曲线的垂直位置,B 控制其随 \(\ln(x)\) 上升的陡峭程度。

实例演算

以数据点 (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 值。

最后更新: