用数据拟合简单模型,就是选一条规则,通常是直线 y = mx + c,并确定其中的数字,使直线尽量靠近给定的点。然后你要用每一个点来检验这条规则,而不只是用建模时用过的点。
这一课接在定义变量与假设之后,属于International Mathematics 建模。会拟合模型之后,就可以开始解读其中数字的含义。
怎样手工拟合直线?
- 先看规律。 x 每增加相同的量,看 y 每次的变化是否大致相同。如果是,直线就合理。
- 选相距较远的两个点,计算斜率(gradient):y 的变化量除以 x 的变化量。
- 求截距(intercept)。 把其中一点代入 y = mx + c,解出 c。
- 写出带变量名和单位的模型。
- 用其余所有点来检验,并记下差距。
差距反映模型的好坏。如果差距小,并且分布在零的两侧,这条直线就是合理的描述。
例题
一位学生每周 w 测量植物高度 h(cm)。读数如下:
| w(周) | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| h(cm) | 3.1 | 4.9 | 7.2 | 8.8 | 11.1 |
拟合直线模型并检验。
步骤 1,规律: 高度的增量是 1.8、2.3、1.6、2.3。虽不完全相同,但都接近 2,所以直线合理。
步骤 2,用第一个和最后一个点求斜率: (11.1 − 3.1) ÷ (5 − 1) = 8.0 ÷ 4 = 2.0。
步骤 3,截距: h = 2w + c。用 (1, 3.1),得 3.1 = 2 + c,所以 c = 1.1。
步骤 4,模型: h = 2w + 1.1,h 的单位是 cm,w 的单位是周。
步骤 5,用中间的点检验:
| w | 模型 h | 实测 h | 差距(实测 − 模型) |
|---|---|---|---|
| 2 | 5.1 | 4.9 | −0.2 |
| 3 | 7.1 | 7.2 | +0.1 |
| 4 | 9.1 | 8.8 | −0.3 |
差距很小,而且落在零的两侧,所以这条直线很好地描述了数据。检查:w = 5 时模型给出 2 × 5 + 1.1 = 11.1,与最后一个读数完全一致。
要留意的错误
常见的失误是只用前两个点建直线,然后就停手。
错误的模型: 用 (1, 3.1) 和 (2, 4.9),斜率是 1.8,c = 3.1 − 1.8 = 1.3,所以 h = 1.8w + 1.3。
w = 5 时预测 1.8 × 5 + 1.3 = 10.3,但学生实际测得 11.1。
相邻的两个点,其测量噪声对斜率的影响最大,而在末端做一次检验就能发现这个错误。改正的方法是选相距较远的点,并在相信模型之前,用其余所有读数去检验它。
自我检测
不用计算器,先做再看答案。
1. 数据为 (0, 50)、(2, 42) 和 (5, 30)。求线性模型 y = mx + c,并用没用过的点检验。
显示答案
用 (0, 50) 和 (5, 30):斜率 = (30 − 50) ÷ 5 = −4,c = 50。模型:y = 50 − 4x。
用 x = 2 检验:50 − 8 = 42,与数据吻合。
2. 一条直线经过 (1, 7) 和 (4, 19)。求它的方程,并用两个点检验。
显示答案
斜率 = (19 − 7) ÷ (4 − 1) = 12 ÷ 3 = 4。于是 7 = 4 × 1 + c,c = 3。模型:y = 4x + 3。
检查:x = 1 得 7;x = 4 得 16 + 3 = 19。两者都吻合。
3. 数据:(1, 2)、(2, 5)、(3, 10)。直线是好模型吗?请说明理由。
显示答案
不是。 增量先是 3 再是 5,斜率不是常数,数据是弯曲的。事实上 y = x² + 1 对三个点都成立:1 + 1 = 2,4 + 1 = 5,9 + 1 = 10。
接下来学什么
有了拟合的直线,下一项技能是说明其中的数字在情境里是什么意思:带单位解读参数。综合题在建模练习题中,免计算器解题训练器可以检查你的斜率计算。
有些学生直线拟合对了,却跳过能拿最后一分的检验步骤。我们的老师在一对一线上数学补习中帮学生改掉这个习惯。