桌上放着一杯刚倒好的热水。你每隔五分钟量一次温度,记下一串逐渐变小的数。现在要选一个函数描述它,第一反应也许是:把散点画出来,看哪条曲线最像。
先别急。
真正该问的是:水为什么会冷却?温差大时,散热通常更快;温差小了,每五分钟降下来的度数也会变少。这个机制已经在提醒你,温度不太可能永远按固定数量下降。就算一条直线能贴住前几个点,往后延伸也可能预测出低于室温很多的结果。
这就是本章要练的本事:不是在函数名单里盲猜,而是从现实机制、数据变化、定义域、单位和使用目标出发,选出一个说得通、算得准、也知道什么时候该停用的模型。
一个模型不需要复制现实的每个细节。它要抓住当前问题里最重要的关系,并把没有考虑的条件说清楚。
函数模型把一个输入量和一个输出量连起来。输入可能是时间、速度、产量、价格或面积;输出可能是温度、距离、成本、销量或半径。
但只写一个公式还不够。完整的模型至少包含四样东西:
比如打印店的收费可以写成
其中 是打印页数,单位是页; 是总费用,单位是元。斜率 的单位是元/页,表示每多打一页增加 元;截距 元是固定服务费。
代数上,这个式子对所有实数都能计算。现实里却不能打印 页,也通常不会打印 页。所以真正的定义域应写成
这里有个很容易被忽略的区别:公式的自然定义域回答“算不算得出来”,现实定义域回答“这个输入有没有意义”。建模时,两道门都要过。
同一组数据,因为目标不同,模型选择也会不同。
如果只想估计明天的销量,一个局部线性模型也许已经够用。如果要预测五年后的市场规模,就必须认真检查长期趋势和容量上限。如果要找收益最大值,模型还要能可靠描述最高点附近的形状。
所以拿到题目后,先用一句完整的话写下目标。比如:
在室温保持稳定的前 30 分钟内,根据已经测得的数据估计第 25 分钟的水温。
这句话同时交代了输出、时间范围和用途。比“求函数”清楚得多。
先把问题说清楚。是要解释、预测、比较、求临界值,还是找最大值或最小值?
定义变量和单位。写明 、 分别是什么, 代表哪个时刻,输入是连续量还是整数。
建模不是一条只往前走的流水线。第六步发现残差成弧形,就回到第四步;预测出现负质量或负费用,就回到第二步检查定义域,也可能回到第三步重想机制。
物体竖直运动的高度常用二次式近似:
如果 以秒计、 以米计,这个式子描述的是物体离开手以后、落地以前的飞行段。解出 的正根后,模型的使用区间就到那里为止。再往后代入得到 ,不代表物体真的钻进地面,而是你已经把公式用出了有效范围。
再看根式函数
它把圆的面积 换算成半径 。因为面积不能为负,所以 。这个限制不是为了照顾根号,而是现实和运算同时要求如此。
有理函数的限制常藏在分母里。若
那么 时平均成本没有定义。若 表示当天产量,现实定义域通常还是正整数:
线性模型
中,若 的单位是小时, 的单位是千米,那么 的单位必须是千米/小时, 的单位必须是千米。把“每小时增加多少”和“原来有多少”混在一起,单位立刻会报警。
指数模型写成
时, 与 同单位, 是每一个固定时间单位对应的倍数,因此没有单位。如果把时间单位从小时改成分钟,底数也必须跟着改变。每小时乘 ,不等于每分钟也乘 。
对数里面不能直接塞一个带单位的量。比较稳妥的写法是先除以基准量。例如 是练习时长,先定义
这样 是“以一小时为单位的数值”,没有单位。模型可以写成
这里的 也不是随手补上的。它让 时对数仍有意义,并明确表示我们在比较“练习时长加一个基准单位”后的倍数变化。
参数不是为了把曲线调漂亮才出现的。参数的符号、单位和数量级如果解释不通,模型通常还没有想清楚。
函数图像当然重要,不过只凭“看起来像”很容易误判。对数据来说,更可靠的线索是变化方式;对情境来说,更可靠的线索是形成这个变化的机制。

图:曲线轮廓只能帮助你提出候选;真正的选择还要结合变化规律、定义域和现实机制。
线性函数的典型形式是
当输入每次增加相同的 ,输出的改变量为
它与当前的 无关。这就是线性最核心的特征。
固定服务费加固定单价、匀速运动、短时间内近似稳定的产量,常把问题推向线性模型。
不过“差分接近常数”要和噪声一起看。现实数据不会每次都整齐地增加 。如果相邻增量在 附近波动,线性仍可能合理;如果增量一路从 涨到 ,就该换思路了。
二次函数写成
输入等距时,一阶差分通常不是常数,但二阶差分是常数。若步长为 ,二阶差分恰好为
看一组刹车距离的简化数据:
一阶差分每次都增加 米,所以二阶差分为 米。步长 ,于是
得到 。继续利用数据可得到
先别把这个式子无限外推。它只是在给定车辆、路面和速度范围内的近似,不是所有速度下的物理定律。
二次模型还有一个非常实用的信号:现实里存在一个最高点或最低点。
假设票价为 元时,预计售票数为
收入是“单价乘数量”:
现实要求 且 ,所以 。抛物线开口向下,顶点在
此时
注意,顶点算对只是代数完成了一半。最后还要说:在这个简化的需求关系和允许票价区间内,票价 元给出最大预计收入 元。
指数模型可以写成
当 每增加 ,输出都乘以 。如果 ,是增长;如果 ,是衰减。
所以判断指数要看相邻比值:
“每年增加 300 人”偏向线性,“每年增加 ”才偏向指数。增长这两个字本身,远远不够。
指数衰减也常带着一条水平边界。热水冷却时,真正适合做指数模型的量通常不是温度 ,而是它与室温 的差:
若 ,那么 趋近 ,也就是 趋近室温。这样写,渐近线才有正确的现实含义。
对数是指数关系的反方向。若
那么输入从 变成 时,输出增加
输入翻倍,输出加同样多——这才是识别对数的强线索。
对数图像也会“先快后慢”,但不要只靠这四个字。练习收益、感知尺度、信息量等情境可能出现对数关系;一个由面积反求长度的问题即使同样先快后慢,也更应该用根式。
高次多项式能表达多个转折、多个零点和指定的端行为。若问题明确告诉你曲线要经过哪些点、在哪些位置与横轴相交、两端朝哪里走,多项式是很有力的形状工具。
这里有个坑:只要 个点的横坐标互不相同,就能找到唯一一个次数不超过 的多项式穿过它们。于是,五个数据点总能被某个四次多项式“完美拟合”。训练误差可以变成零,但这不表示真实过程就是四次函数。
点与点之间,高次曲线可能突然摆动;数据范围之外,它还可能快速冲向完全荒唐的数值。多项式次数越高,越要追问:这些转折有机制支持吗?还是曲线只是在追着噪声跑?
有理函数的典型形式是
“总量除以数量”“固定路程除以速度”“反比”“逐渐靠近某个基线”,都可能带来有理模型。
工厂每天固定成本 元,每件可变成本 元。产量为 件时,总成本为
平均成本不是再拟合一条曲线,而是直接按定义相除:
这里 是正整数。随着产量增大,固定成本被更多产品分摊, 逐渐接近 元/件。水平渐近线 不是画图技巧,它就是长期单件可变成本。
根式模型常见于“已知面积求长度”“已知能量求速度”“已知平方量反求原量”。
圆形油膜的面积与半径满足
要从面积估计半径,就解出
半径随面积增加而增加,但越往后,同样增加一平方米带来的半径增量越小。这个“越来越慢”来自平方的反解,不是对数机制。
当输入值等距时,变化表非常好用。设相邻输入间隔相同,记
若所有 ,还可以看相邻比值

图:差分与比值是候选线索,不是无需思考的自动判定器。
如果 的间隔不一样,直接比较 会把“走了多远”和“变化得多快”混在一起。应该先看区间平均变化率:
例如两段销量都增加 件,一段用了两天,另一段用了十天,它们的变化速度显然不同。
二阶差分接近常数也只适用于等距输入。先检查横坐标间隔,再检查纵坐标规律,这个顺序别反。
测量值很少整整齐齐。你不需要期待所有比值都等于 ,而是看它们是否围绕某个数小幅摆动,以及这种稳定是否明显优于差分的稳定。
还有一个提醒:相邻比值只有在分母不为 、数据符号合适时才好解释。数据在正负之间穿过时,硬算比值通常没有多少建模意义。
一杯热水放在室温稳定的房间里。我们记录“水温减去室温”的温差 :
现在要在相同条件下估计第 分钟的温差。
温差越大,散热越快;温差变小,单位时间内下降的度数也会变少。温差应保持非负,并逐渐接近 。
这三个条件都支持指数衰减。线性模型可以作为比较对象,但不该是首选。
每五分钟的差值约为
差值明显不固定。相邻比值约为
比值稳定得多。于是设每五分钟保留的比例为 :
利用 时 ,得到
所以
模型为
如果一定要写成“每分钟乘一次”的形式,每分钟保留因子为
因此也可以写成
两个式子是同一个模型,只是时间步长不同。
第 分钟比第 分钟又过了一个五分钟区间,所以
若室温是 ,那么预计水温为
答案要带回原问题:在室温稳定、杯子和水量不变、没有继续加热的条件下,第 分钟水温约为 。
若只连接首尾两点,线性模型为
指数模型记作 。残差统一定义为
残差为正,表示模型预测偏低;残差为负,表示模型预测偏高。
线性残差在中间连续为负,而且形成清楚的弯曲模式。这不是随机误差,而是在提醒你:直线漏掉了衰减变慢的结构。
两个常用误差指标是
和
这组数据中,指数模型的
线性模型的
更关键的是长期行为。线性模型在
分钟时会让温差变成 ,之后继续变成负数;指数模型则让温差逐渐接近 。误差和机制在这里指向了同一个选择。
拟合后,把每个残差画在横轴 上,就得到残差图。读残差图时,不要只问“点离零远不远”,还要看它们怎样排列。
如果残差有正有负,没有清楚的弧线、斜线或分段,说明模型已经抓住主要趋势。真实测量有噪声,残差不可能全为零,也没有必要全为零。
残差先正、后负、再正,常说明直线漏掉了弯曲;二次或其他非线性模型值得尝试。反过来,如果二次残差仍有两次以上转折,也许还缺了更复杂的结构。
残差在左侧很紧、右侧越来越散,说明大输入处的波动更大。此时一个统一的绝对误差指标可能掩盖问题,百分比误差或变量变换有时更合适。
一个残差特别大,不要立刻删掉。先问:抄错了吗?仪器失灵了吗?那天发生了特殊事件吗?异常点也可能在告诉你,模型漏了一个重要变量。
RMSE 更小,不自动等于模型更好。还要看残差模式、参数含义、模型复杂度、定义域和问题目标。
假设有五个测量点:
线性模型 的残差为
所以
当然也能找到一个次数不超过 的多项式穿过全部五个点,让训练残差全为零。可如果现实机制是“每单位输入大约增加 ”,那条直线更简洁,也更容易解释。
这就是过拟合的典型样子:记住了已有点,未必学会了关系。
数据在 到 分钟之间,用模型估计第 分钟,属于插值。它仍可能有误差,但至少没有离开观察区间。
用同一组数据估计第 分钟,就是外推。你必须额外相信:形成规律的机制没有改变。
外推最怕三类事:
所以报告外推结果时,要把它降级成带条件的估计。比如“若未来十天仍保持相同增长比例”,而不是“十天后一定达到”。
数据足够时,不要让所有点都参加参数拟合。可以先用一部分数据确定模型,再用没有参与拟合的点检查预测误差。
这像做完练习后换一道新题。只会复述原题的模型,在新点上很快就会露馅。
一个线性模型可能在 到 件的局部范围里很好用,扩大到 到 件就失效。模型的好坏总要连着使用范围说。
你可以把结论写成:
在已观察的 区间内,线性模型残差没有明显模式,适合做局部估计;区间外是否仍线性,现有数据无法保证。
这样的答案比单独报一个公式负责任得多。
表格只能帮你提出候选,不能替你做最终判断。最后还得让模型接受五项检查:
直线、根式、对数、许多多项式都能在某个区间上升。指数真正要求的是比例规律。
二次曲线没有渐近线,只有一个顶点。若数据逐渐贴近水平线,优先想指数衰减或有理模型;若一直增长但越来越慢,还要区分对数和根式的来源。
热水不会趋近 ,它会趋近室温。应该建模的是温差,或者在模型中加入室温基线。
的写法不完整。先除以一个基准时间,得到无单位比值,再取对数。
高次多项式参数多,当然更容易追上数据。要比较验证误差,也要看每个转折有没有现实理由。
人数、件数、页数通常取非负整数。连续模型可以帮助画图、求趋势,但最后的可行方案要回到整数上检查。
本章统一使用
是模型低估, 是模型高估。只要先写清定义,使用另一种约定也可以;最怕的是算到一半悄悄换方向。
做下面的题时,别只写函数名称。至少写出变量、定义域或使用区间、选择理由和一句现实解释。
某植物在实验早期的高度如下:
在线性、二次、指数三种模型中,哪一个值得先尝试?写出一个近似模型,并说明不能怎样外推。
某物体在等时间间隔内的位移记录为
判断函数族,并求一个恰好符合数据的模型。
一辆车行驶固定距离 千米,平均速度为 千米/小时。写出所需时间 的模型,说明函数类型、定义域和单位。
某工作室每天固定成本 元,每件产品还需 元。若当天生产 件,写出平均成本模型,并求生产 件时的平均成本。
一个圆形区域的面积从 平方米增大到 平方米。用面积估计半径时,应该优先选对数还是根式?半径增加了多少?
同一组数据上,线性模型的 RMSE 为 ,二次模型的 RMSE 为 。能否只凭这两个数断定二次更好?
某水池放水时,水量越少,流出速度越慢。一个线性模型在前十分钟拟合尚可,却预测第 分钟剩余水量为 升。怎样评价?
某活动的预计销量与票价关系为
其中 的单位是元, 的单位是张。求收入模型、现实定义域和最大预计收入。
遇到真实问题时,先别急着问“这像哪条曲线”。先问:输入每增加一点,现实过程究竟发生了什么?是多出固定数量,乘上固定比例,逐渐靠近边界,还是从一个平方关系反解回来?
机制帮你缩小函数族,数据变化帮你检验候选,定义域和单位帮你排除不可能,残差告诉你还漏了什么。最后,使用范围替模型画出边界。
能写出公式,只算完成了一半。能说明为什么选它、参数是什么意思、误差怎样、在哪儿必须停用,这才是真正完成了一次建模。
问现实机制。每次增加的是固定数量还是固定比例?有没有上限、下限、转折、分母或平方关系?
画散点图并整理变化表。输入等距时看一阶差分、二阶差分和相邻比值;输入不等距时比较平均变化率。
列出一到三个候选函数族。候选不必多,理由必须具体。然后用条件或拟合求参数。
算预测值与残差。残差小还不够,还要看它有没有弯曲、分段或越来越散的模式。
回到现实解释答案。检查单位、定义域、长期行为和外推风险;不合理就回头换模型。
| 一阶差分(m) |
| 线性残差 |
|---|
可写成
其中 以天计。这个模型适合实验早期;植物接近成熟后高度不会无限指数增长。
所以 。模型为
现实定义域是正整数。生产 件时
当产量增加时,平均成本趋近 元/件;它不会因为分摊固定成本而低于单件可变成本 元。
面积为 时 米,面积为 时 米,半径增加 米。图像虽然也是“增长越来越慢”,但机制来自平方关系的反解,不是对数。
顶点横坐标为
于是
在给定的线性需求假设与票价区间内,票价 元时最大预计收入为 元。实际定价还可能受座位容量、成本和整数票价限制。