分享

话题5:为什么不能将数学建模简单地看作数据拟合?

 遇见数学 2022-01-08

因为在建立数学模型解决实际问题的过程中经常会面临定量分析的要求,这就需要基于观测数据对模型中的待定参数进行拟合,所以许多初学者容易将数学建模简单地理解为“数据拟合”,这是不正确的。首先,并非所有的数学模型都需要数据拟合,即使是面对定量分析的需求,也有大量十分漂亮的模型不需要数据拟合;其次,数据拟合的效果不能用来作为建立模型的依据,只能用来得到参数近似值、检验模型有效性或分析模型优缺点等;最后,即使需要进行数据拟合,不同方法的效果也往往不同,数据拟合本身也是一种数学模型,不能仅仅当作算法来套用。

1. 是不是只要是数学建模就需要数据拟合?

为了搞清楚这个问题,我们首先需要对数学模型有一个大致的分类。这里强调:下面的分类方式基于笔者的教学与研究经验,并非严格的学术划分;实际上学术上也还没有对于数学模型公认的细致分类,我们做大致分类只是为了方便回答本小节标题中提出的问题。

从广义上来讲,数学、物理乃至一切使用数量和数学表达式作为信息描述载体的学科,都是数学建模的产物,所以数学建模是一种天然的跨学科方法。数学建模从涉及到的学科来划分,可以分为面向数学内部的数学建模(例如:平面与立体几何、解析几何、线性代数、微积分、微分方程、群、拓扑、流形、层、概型等等),和面向数学外其它学科的数学建模(例如:牛顿力学、万有引力定律、麦克斯韦方程组、广义相对论、晶体空间结构、热力熵与信息熵等等),以及面向人类社会生活的数学建模(例如:博弈论、金融数学、供需关系模型等等)。

如果从功能上来看,数学模型又可大致分为如下六个类型:

类型 1:优化模型。 即面对某种来自理论或实际的目标需求,在给定的约束条件下寻求变量最优取值的数学模型。例如药剂量模型,就是通过优化给药时间表和给药剂量减少病人在医院所消耗的总时长的数学模型。

类型 2:预测模型。 即基于已有信息对未知信息进行预测、挖掘和插值的数学模型——面向未来的未知信息就是预测;面向过去的未知信息就是挖掘;面向采样点之间的信息补充,就是插值。例如人口模型,一方面可以用来预测未来人口发展趋势,另一方面可以用来挖掘从前的人口发展规律,第三方面还可以近似地补全历史上缺失的人口数据。

类型 3:分类模型。 即将所给对象进行分类的数学模型。这类模型在人工智能领域有重要的应用,是机器智能的起点,大约也是终点。按照模式挖掘的方式不同,又可分为有监督分类模型和无监督分类模型。前者依赖带标签数据作为训练集,后者则可以通过对无标签数据的内在结构的分析生成标签并完成分类。例如人脸识别,就是通过一套训练好的数学模型将获取的人脸图像归类到不同标签。

类型 4:度量模型。 即用来实现对于某些难以直接测量的量的度量的数学模型。一维的度量是长度,二维的度量是面积,三维的度量是体积,以此类推。例如古希腊人借助相似三角形模型测量地球半径。值得注意的是,对误差的度量也属于这类模型;再比如信息熵这个概念,可以视为对一个随机变量所包含信息量多少的度量模型。

类型 5:博弈模型。 即在博弈场景中为博弈的参与者提供最优策略,或者分析和预测整个博弈趋势的数学模型。博弈模型又可分为离散模型和连续模型,其中离散模型例如“击球手投球手模型”和“水流协议模型”(这两个模型参见《面向建模的数学》第 14 章),连续模型例如“捕猎食饵模型”(参见《面向建模的数学》第 13 章)。

类型 6:状态转移模型。 即研究和分析若干状态之间带有随机性地转化行为的内在规律的数学模型。典型的状态转移模型例如离散马尔可夫链(用于研究离散状态之间的随机转移)、隐马尔科夫链(广泛用于语义识别领域),甚至从广义来说一般的随机偏微分方程都可以视为状态转移模型,因为它们给出了相空间不同状态之间转移轨迹的概率分布。

类型 7:解释模型。 即用来解释某种自然或社会现象的模型。这类模型的数量数不胜数。无论是古希腊的天球模型,还是哥白尼的日心说模型,抑或是牛顿的万有引力模型,其提出的初衷都是为了解释自然现象。一个生活中常见的例子是“教室里男女生座位的自然分布”问题——在没有约束的情况下,经常会发生男生和女生在教室里扎堆而坐的现象——这种宏观现象的微观动机是什么?这个模型存在于诺贝尔经济学奖得主谢林(Schelling)的名著《微观动机与宏观行为》一书中,作者奇妙地使用了两个二次函数解释了这个现象。

需要注意的是,上述各类型并不能泾渭分明地区分,各个类别往往有所交叉和渗透,这也是交叉学科方法的共性特点。例如:在传染病模型中,既有对于机理的解释和建模,又有对于未来趋势的预测;对捕猎食饵模型,既可视其为相邻两层食物链中两个物种间的博弈模型,又可通过此模型对生态系统的未来状态做出预测,也可以用来解释食物链存在的必然性。

有了上面的分类,我们就能方便且晰地看到,并非所有的数学模型都需要数据拟合:对于一些优化模型,其目标函数和约束条件均可以通过机理分析得到,对于一些博弈和状态转移模型,其行为方式也可以通过机理分析得到,这三类模型不一定总存在待定参数,所以并不总需要数据拟合;对于预测、分类和度量模型,因为它们本身带有数据挖掘的属性,所以往往需要进行数据拟合,但是其数据拟合的目的、意义和方法也不尽相同。

2. 数据拟合的前提和作用是什么?

在实际工作中,数据拟合往往需要较大的成本。这些成本主要来自于四个方面:数据的采集、储存、传输的经费成本和空间成本,计算机处理的硬件成本和时间成本,拟合方法与数据是否匹配的机会成本,以及对于历史数据的拟合结果是否适用于未来数据的风险成本。为了降低后两个方面的成本,目前采用方式是尽可能保证数据的 3V 特征——大量性(Volume),以降低随机噪声;多样性(Variety),以消除统计偏差;及时性(Velocity),以降低数据的陈旧性;我们也把具有这 3V 特征的数据集称为“大数据”——需要注意的是,“大数据”虽然缓解了后两个方面的成本,但是代价却是增加了前两个方面的成本——3V 特征的要求不仅给计算机的处理性能带来了新的挑战,也提升了数据采集的成本,其中主要是采集和标注的人力成本。这也引发了一些社会矛盾:企业为了降低人力成本而期望压缩待遇水平,但是一切以数据驱动的领域的核心价值的源头就是这些由“廉价劳动力”所采集和标注的数据集,这就引发了对于信息时代数据价值再分配的公平性争论。

数据拟合的成本就意味着我们不能在不考虑需求的情况下轻易地、毫无准备地进行数据拟合。那么数据拟合的前提都有哪些呢?需要做什么准备才能进行有效的数据拟合呢?具体来说有如下四个方面。

数据拟合的前提 1:模型中带有现实意义明确的待定参数,且这些参数强烈依赖于历史数据,对模型的结果也会产生影响。

数据拟合的前提 2:明确待拟合参数的组织形式,即明确待拟合函数的函数型(即使是对于神经网络方法,也至少应明确待拟合参数与模型变量之间的拓扑网络结构和训练方法)。

数据拟合的前提 3:对数据拟合的结果有恰当的预期,包括但不限于截取精度、拟合优度、拟合方法的灵敏性及鲁棒性等等。

数据拟合的前提 4:用来做拟合的数据的来源要尽量统一和权威,如果是通过调查问卷获取的数据,需要首先进行数据过滤和整理。

依然以我们熟悉的人口模型举例说明。

第一,在建立人口模型时我们通过机理分析得到了数列递推模型

其中 表示第 年人口数量, 表示人口数量的内禀增长率, 表示环境所能容纳的极限人口数量。参数 均具有明确的现实意义,并且很明显针对不同国家二者的取值不尽相同,同时也会影响对未来人口数量预测,符合“前提 1”。

第二,模型具有明确的数学结构,对其变形可得

如果将 看作一个整体 ,将 视作 ,则 之间就具有明显的线性关系,符合“前提 2”。

第三,通过线性回归的方式即可获得对其斜率 和截距 的拟合值,进而获得参数 的基于历史数据的合理近似值。线性回归所通常使用的最小二乘法是一个凸优化问题,其稳定性和鲁棒性十分良好,符合“前提 3”。

最后,以研究我国的人口问题为例,相关数据在国家统计局官网的各年统计年鉴中均可找到,符合“前提 4”。

综上所述,在得到关系式并从统计局官网上获取了历史人口数据后,进行针对参数 的拟合就是十分可行且必要的步骤。

需要补充说明的是,随着信息技术尤其是神经网络技术及其相关算法的发展,对于一些不容易通过机理模型获取函数型的问题,可以通过神经网络(本文后面会有更细致地介绍)这类“黑箱算法”来实现对于数据集的拟合、分类与预测——所谓“黑箱”是指虽然模型有效,但其计算过程太过复杂、参数数量太过巨大、算法的拓扑网络过于繁琐,导致人们无法弄清被封装成整体的算法内部到底经历了什么,丧失或部分丧失了可解释性——这种可解释性的欠缺,是神经网络方法的主要局限性之一,在渴望使用它来解决实际问题的人们的头顶蒙上了一片乌云,幸而人们正在通过更深刻的数学(例如将其视为分布空间中沿测地方向的最优传输问题)来重构神经网络的数学基础,相当于从“前提 2”的角度给神经网络方法打造一个“可解释”的“理论基石”。

既然在数据拟合之前需要这么多前提准备,它一定也会为我们解决问题带来相匹配的作用,具体来说有如下四点。

数据拟合的作用 1:得到参数的合理近似取值,为进一步数值分析创造条件。

有些模型(例如传染病模型)是无法解出解析解的,但是可以通过欧拉近似法转化为递推数列来进行数值迭代。数值运算必须首先确定参数取值,所以数据拟合是数值分析的一项重要准备工作。

数据拟合的作用 2:提供了评价模型适用性的一种角度。

如果模型在做数据拟合时,发现拟合效果很差,那么就说明所建模型没有挖掘出历史数据中所蕴含的信息。这时候就有必要重新审视模型的构建,甚至需要重新调整基本假设,迭代模型结构以提高数据的拟合效果。这里要强调的是:虽然拟合效果是评价模型适用性的一种角度,但是绝不是唯一的角度,很多时候也并非是最重要的角度。所以在做模型迭代时应当首要考虑模型的实际意义,而非仅仅为了提升拟合效果而做出脱离现实的形式化调整。

数据拟合的作用 3:有时数据拟合的结果可以启发下一步的分析方向。

数学建模往往需要从简入繁。当我们通过基本假设抽象掉次要信息而只观察主要信息时,所得到的模型有可能无法很好地拟合历史数据。这可能是由两类原因造成的——随机误差和系统误差。如果是随机误差,那么残差的分布一般来说符合正态分布;而一旦残差分布不符合正态分布,则很可能存在某种系统误差,也就是说存在某些依然很重要的“次要信息”需要考虑进来。这时候通过观察残差的分布,往往可以定位到这些关键“次要信息”的来源。

数据拟合的作用 4:有时数据拟合的结果可以帮助人们发现例外数据。

由于数据采集自现实情景,所以难以保证所有的数据都是在合理且合法的情况下被采集的,数据在储存和传输的过程中也会偶尔发生难以避免的错乱。这时候建立某种“纠错”机制是很必要的。通常情况下,如果绝大多数数据都能很好地被某个模型拟合,仅有极少数数据无法被模型很好拟合,那么这些极少数数据就有可能是“例外数据”。它们的出现有可能是因为数据被篡改,也有可能是因为填写问卷的人没有说真话等等。

3. 数据拟合的常用方法有哪些?它们各自的优缺点是什么?

对于中学生和低年级本科生而言,大约有如下几种常见的数据拟合方法。这些方法都没有维度的限制,但是为了介绍起来简洁直观,下面都只针对二维数据集来谈。

方法 1:拉格朗日多项式方法

这种方法预期使用一个多项式函数经过每一个数据点,这在没有两个数据点拥有共同的横坐标时是一定存在的。具体来说,如果数据集形如 均有 ,这里 ,则一定存在一个至多 次多项式函数

其中 为待定系数。之所以提到“至多 次”,是因为有可能最高次项系数 为零。实际上,函数 个待定参数,而数据集中有 个数据点,由于我们希望函数的图像经过每个数据点,于是可得

这是由 个方程构成的关于 的线性方程组。根据线性代数中范德蒙行列式的结论,可知方程组一定存在唯一解。而现实中我们所面对的数据集往往很庞大,通过求解庞大的方程组来获取函数 并不是最明智的选择。实际上只要通过刚才的论述知晓了 的唯一存在性,则可以通过构造的方式来找到它。下面的函数被称为拉格朗日多项式函数,它就对应方程组的唯一解,读者很容易验证它经过每一个数据点。

看起来这个方法十分便捷且有效,毕竟我们得到了一个经过每一个数据点的函数,并且居然它的解析式可以直接通过式写出!但是如果我们真的使用拉格朗日多项式函数来拟合数据时,就会发现如下严重的问题。

首先我们人为地构造一个点集

其中 为取值于区间 中的随机数,这个随机数视为随机误差,通过计算机生成,我们得到了下面 个带有随机波动的数据点

,, , , , , , ,, , , , , ,

可以看出,这 个点均位于直线 附近, 为其本质规律。而当我们把这 个点代入拉格朗日多项式的公式中,得到的多项式函数为

从形式上看,各项系数近似于“乱码”,显然已经无法看出 的总体趋势。为了更清楚地对比,我们将 及这 个数据点画在同一个平面直角坐标系中,如图 1 所示。

图 1 拉格朗日多项式在数据边界附近表现不如人意

从图 1 中可以看出:在中间的部分,拉格朗日多项式函数 能够大致反映数据点的变化趋势;但是越往两端延伸,函数图像波动越大,最后就根本无法反映数据点的趋势了。

之所以会产生这种现象,是因为拉格朗日多项式将随机误差也容纳进来了。这些误差在数据的中间地带因“必须通过每一个数据点”的限制被约束起来,而在数据的边界附近则因一侧的数据点的数量不多而无法继续维持有力的约束,从而发生了近似“不可控”的现象。

因为这个局限性,拉格朗日多项式方法经常用来作为插值函数而非拟合函数使用。

方法 2:样条方法

另一种数据拟合方法是通过分段函数来寻找经过每个数据点的函数。通常情况下我们还希望所得函数具有光滑性(即任意阶导数存在且连续)。一个有效的实现方法利用了三次函数的特性。具体来说,如果数据集形如 ,则构造分段函数 如下所示

其中 为待定系数,。函数共含有 个待定参数,所以我们需要 个线性方程来解出它们。根据连续性何光滑性要求可得如下方程组

其中前两个方程保证了 经过每一个数据点且保持连续,第三个和第四个方程分别保证了函数 的二阶导数(可用来衡量函数的凹凸性)的存在与连续性。这样一来,我们得到了

个线性方程(注意:中的方程全部是关于待定系数的线性方程)。但是这距离我们要找的 个方程还少两个。而如果方程个数少于未知数个数的话,一般来说是有无穷多组解的,这就为我们计算具体的函数 带来了困难。解决这个困难的办法有很多,例如

补救办法 1:添加边界条件,即在的基础上添加如下两个方程

其中 为根据需要所事先确定的两个实数。方程的实际意义相当于规定了函数 的入射角度和出射角度。

补救办法 2:削减待定参数的个数,比如令 ,等价于令 为(至多)二次函数。这样未知数的个数就变为

下面的图 2 给出了两种不同的边界条件下的样条拟合效果图,可以看到边界条件的选取对于边界数据附近的拟合效果影响较大。

图 2 用样条法拟合正弦函数,虚线为正弦函数图像,实线为拟合函数图像, 左图为 情形,右图为 情形

样条法的主要局限性在于其“分段”的结构。分段函数在储存和使用上都不是很方便,尤其在计算其迭代时更加如此。例如计算 时,一般来说其解析式就从一个分 段的函数,变成了分 段的函数;计算函数 次符合,其分段数就会暴增为 这个数量级;这样一来很快就指数爆炸到连计算机都无法处理的状态了。由于这个局限性,样条方法通常也是用来作为插值方法而非拟合方法。

方法3:最小二乘法

前面说的两种方法都要求拟合函数通过每一个数据点,但是这种要求一般来说并不合理,因为数据在采集的时候多少都会存在噪声或误差,所以收集的数据应该是在某个“真实值”周围的一个“偏差值”。如果要求在拟合时经过每一个数据点,就相当于把这些偏差也引入到了拟合函数中。一个聪明的办法是并不强求拟合函数经过每一个数据点,而是寻找“最能符合数据整体趋势”的那个函数。在这类办法中,最著名的之一就是由勒让德发明,又由高斯改进的“最小二乘法”。而人们普遍最常用的是最小二乘线性回归,这在线性的高中课本中有专门的章节讲授。

最小二乘线性回归并不需要数据集中任两个数据点的横坐标不同,这就降低了对数据集的限制。具体来说,如果数据集形如 ,我们希望寻找一条直线 来反映数据点的综合趋势,就等价于求解如下的无约束二次优化问题。

其中和式中的每一项 用来衡量“拟合值” 与“数据值” 之间的偏差大小,这些偏差大小通过“取平方和”来衡量拟合直线相对所有数据的总偏差。这里之所以采用“平方和”有很多层面的原因,这可以归结到统计中“二阶矩”的几何意义上——式中的目标函数恰为残差点到原点的欧式距离的平方。式的凸二次形式决定了其最优解一定存在且唯一,既然如此就可以使用“算二次方法”来求解的最优解。首先把式变形如下,看成是关于 的一元函数(此时将 当成参数)

其最小值一定取在对称轴处,即

同理,也可以把式变形如下,看成是关于 的一元函数(此时将 当成参数)

其最小值一定取在对称轴处,即

刚才我们已经论证了最优解一定存在且唯一,所以式应当同时成立。现在我们有了什么呢?有了式所构成的关于 的两个二元一次方程,这就能解出最优解对应的 的值了!特别地,式等价于

,这也是目前高考中涉及到线性回归考察最多的考点。

利用最小二乘法,除了可以做线性回归之外,还可以做非线性回归。只要给出含参函数型 的具体形式,就可以转化为和式形式类似的如下无约束优化问题

根据多元微积分知识,该无约束最优化问题的解位于如下方程组(可能是非线性的)的解集中

方法 4:神经网络方法

最小二乘法求拟合函数有两个本质难点:首要难点就是含参函数型 的确定,这个函数型只要没确定就无法进行最小二乘法的求解,而确定该函数型往往需要靠经验;另一个难点就是方程组的求解,在非线性回归的情形下,这个方程组往往是非线性的,往往没有直接的公式解。

最近一些年重新开始流行的神经网络方法本质上就是在解决上述两个难点:一方面使用“大量”阶梯函数的叠加来逼近任意函数型,另一方面使用诸如“梯度下降法”等数值方法来求解方程组。所以从这个意义上来讲,神经网络就等价于最小二乘法。

神经网络方法虽然有理论上的“万有逼近性”,但是也有其局限性,最明显的局限性是由于采用大量阶梯函数来实现万有逼近,使得其函数形式极端复杂,难以看出参数背后的现实意义。关于神经网络的数学基础可参见《面向建模的数学》第 24 章,这里不再赘述。

作为本节结尾,下面的表 1 总结并对比了上述四种拟合(插值)方法之间的优缺点。

表 1 四种基本拟合(插值)方法的优缺点对比

数学建模话题系列:

» 话题1:面对无处不在的纷繁现象,如何选题?
» 话题 2:确定选题后,数学模型建立的真实经过是什么?
» 话题 3:是什么在引导我们找到正确的建模方向?
» 话题 4:隐秘在字里行间的思考——为什么把式子列成这样?

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多