跳转到正文

曲线拟合计算器

粘贴 x 和 y 值,一次性拟合线性、多项式(2–6 次)、指数、对数和幂函数曲线。您会得到每个方程及其 R²、调整 R²、RMSE、AIC 和 AICc 的并排对比,并附有所有曲线的图形、残差诊断、参数标准误以及新 x 值的预测。免费,无需注册;全部在您的浏览器中运行。

数据输入

0 个值

0 个值

要拟合的模型
指数和幂函数拟合

请至少输入四个 (x, y) 数据对,并且至少有三个不同的 x 值。

如何使用曲线拟合计算器

  1. 1. 输入数据。 输入两个顺序一一对应的列表,或每行一个“x, y”数据对。至少需要四个点,且至少有三个不同的 x 值;点越多越好。
  2. 2. 选择模型。 勾选要比较的曲线。对数和幂函数模型要求所有 x 均大于 0;指数和幂函数模型要求所有 y 均大于 0。无法拟合的模型会说明原因。
  3. 3. 为指数和幂函数曲线选择拟合方法。 对原始 y 进行非线性最小二乘法拟合,与您的实际数值拟合得最好。变换法则是对 ln y 拟合一条直线,即电子表格趋势线所用的方法。
  4. 4. 比较并检查。 先读表格,然后查看您正在考虑的模型的图形和残差:如果曲线的形状有误,最好的数值也没有多大意义。对于新的 x 值,可使用预测框。

各种曲线

模型方程典型用途
线性y = a₀ + a₁x稳定的变化
多项式,d 次y = a₀ + a₁x + … + a_dx^d带弯曲的平滑曲线;至多 d − 1 个拐点
指数y = a·e^(bx)以恒定百分比率增长或衰减
对数y = a + b·ln x快速变化后趋于平缓
幂函数y = a·x^b标度律;b 为弹性

每个多项式都在经过中心化和重新缩放的 x 上用 QR 分解拟合,因此对日历年份(1990–2020)做的六次拟合与对 0–1 做的拟合同样精确,预测也使用这一稳定形式。方程中展开的系数在 x 很大且远离零时,仍可能因抵消而损失有效数字,页面在此情况下会给出警告。电子表格趋势线方程会把系数舍入到几位有效数字,因此出于同样的原因,它无法在以年份为量级的 x 上重现高次曲线。

为何指数和幂函数拟合的方法很重要

变换法先取 ln y,求出最小二乘直线,再换算回去。这会使对数尺度上的误差最小,即对较小的数值赋予较大的权重,对较大的数值赋予较小的权重。非线性拟合则最小化 y 本身的平方误差,这通常才是您真正关心的。对于同一组数据,两种方法会得出不同的参数和不同的 R²。本计算器为每个模型都报告基于原始 y 的 R²,以便公平比较;对于变换拟合,还会给出电子表格所显示的对数尺度 R²。

示例

示例载入了经典的 50 组汽车制动数据(R 的 cars 数据集):车速(英里/小时)与制动距离(英尺)。以下六个模型均在原始尺度上拟合:

模型R²RMSEAICcΔ AICc
幂函数:y = 0.5897 x^1.54930.665415.06417.590
指数:y = 9.4045 e^(0.0917x)0.664915.07417.660.07
二次0.667315.18419.662.07
线性:y = −17.58 + 3.932x0.651115.38419.682.09
三次0.673215.20421.253.66
对数0.560717.26431.1913.61

R² 随每一个多项式项而上升——三次为 0.6732,六次多项式为 0.6888——但 AICc 会对每个参数施加惩罚,它把两参数的幂函数和指数曲线排在最前。幂函数曲线还有合理的含义:制动距离大致随车速的 1.5 次方增长(b = 1.55,标准误 0.19),介于物理学所示的线性关系与平方关系之间。排在前面的几个模型彼此的 AICc 相差约 2 以内,因此数据无法区分它们;应选择更合理的那个。若改为拟合变换后的幂函数,对数尺度上的 R² 为 0.7331,但原始尺度上的 R² 则降至 0.6583。

明智地选择模型

  • 先看图形,再看残差。 残差中若有规律,说明曲线形状有误。
  • 比较参数个数不同的模型时用 AICc,而不用 R²。 AICc 只能用于比较针对同一组 y 值拟合的模型。相差约 2 以内的差异没有意义。
  • 优先依据理论。 若您了解所研究的过程(复利增长、标度律),即使另一模型得分略高,也应使用相应的模型。
  • 保持多项式的次数较低。 超过 3 或 4 次的多项式通常会拟合噪声,并在数据之外剧烈摆动。不要用它做外推。

常见问题

如何选择拟合最好的曲线?
绘制数据和每条曲线,检查残差是否均匀地分布在零的两侧,并比较各模型的 AICc。仅凭 R² 总会偏向参数最多的模型。之后还要问一问:这个胜出的模型是否符合您所研究的过程,以及您是否只会在最小和最大 x 之间使用它。
为什么我的指数拟合 R² 与 Excel 不同?
Excel 的指数趋势线是对 ln y 拟合一条直线,并报告该对数尺度拟合的 R²。非线性最小二乘法则最小化 y 本身的误差,其 R² 以 y 计算。本计算器两种方法都能完成:变换法显示对数尺度的 R²,所有模型都显示原始尺度的 R²,以便公平比较。
应使用几次多项式?
使用能够捕捉所见形状的最低次数,通常是 2 次或 3 次。每增加一次,曲线就多一次弯曲的机会,也就多拟合一部分噪声;R² 会上升,但预测会变差。您至少需要 d + 2 个数据点(d 为次数),若要得到可靠的拟合则需要多得多。
为什么我无法对数据拟合对数、幂函数或指数模型?
对数只对正数有定义。对数和幂函数模型需要所有 x 均大于 0;指数和幂函数模型需要所有 y 均大于 0,因为拟合要通过 ln y 或 ln x 进行。只有在对您的问题有意义的情况下,才可以平移数据(例如从 1 而不是 0 开始计时)。
AIC 和 AICc 是什么意思?
AIC 在拟合优度与复杂度之间取得平衡:它等于 −2 乘以对数似然,再加上参数个数的两倍(包括误差方差)。当 n 相对于参数个数较小时,AICc 会增加一项修正。数值越小越好,只有差值才有意义。这里的数值采用 R 的定义,因此与 R 对同一模型给出的 AIC 一致。
我可以用拟合方程对数据范围之外进行预测吗?
只能非常谨慎地使用。这里的每条曲线都只是对您所测量范围的经验描述。多项式在数据之外可能剧烈摆动,指数曲线则可能迅速爆炸。当新的 x 位于观测范围之外时,预测框会给出警告。

相关工具

统计计算器中的更多工具