曲线拟合计算器
粘贴 x 和 y 值,一次性拟合线性、多项式(2–6 次)、指数、对数和幂函数曲线。您会得到每个方程及其 R²、调整 R²、RMSE、AIC 和 AICc 的并排对比,并附有所有曲线的图形、残差诊断、参数标准误以及新 x 值的预测。免费,无需注册;全部在您的浏览器中运行。
0 个值
0 个值
请至少输入四个 (x, y) 数据对,并且至少有三个不同的 x 值。
如何使用曲线拟合计算器
- 1. 输入数据。 输入两个顺序一一对应的列表,或每行一个“x, y”数据对。至少需要四个点,且至少有三个不同的 x 值;点越多越好。
- 2. 选择模型。 勾选要比较的曲线。对数和幂函数模型要求所有 x 均大于 0;指数和幂函数模型要求所有 y 均大于 0。无法拟合的模型会说明原因。
- 3. 为指数和幂函数曲线选择拟合方法。 对原始 y 进行非线性最小二乘法拟合,与您的实际数值拟合得最好。变换法则是对 ln y 拟合一条直线,即电子表格趋势线所用的方法。
- 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² | RMSE | AICc | Δ AICc |
|---|---|---|---|---|
| 幂函数:y = 0.5897 x^1.5493 | 0.6654 | 15.06 | 417.59 | 0 |
| 指数:y = 9.4045 e^(0.0917x) | 0.6649 | 15.07 | 417.66 | 0.07 |
| 二次 | 0.6673 | 15.18 | 419.66 | 2.07 |
| 线性:y = −17.58 + 3.932x | 0.6511 | 15.38 | 419.68 | 2.09 |
| 三次 | 0.6732 | 15.20 | 421.25 | 3.66 |
| 对数 | 0.5607 | 17.26 | 431.19 | 13.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 位于观测范围之外时,预测框会给出警告。