‘壹’ 建模的五种基本方法
量纲分析法
量纲分析是20世纪初提出的在物理领域中建立数学模型的一种方法,它是在经验和实验的基础上,利用物理定律的量纲齐次性,确定各物理量之间的关系。它是一种数学分析方法,通过量纲分析,可以正确地分析各变量之间的关系,简化实验和便于成果整理。
在国际单位制中,有七个基本量:质量、长度、时间、电流、温度、光强度和物质的量,它们的量纲分别为M、L、T、I、H、J和N,称为基本量纲。
量纲分析法常常用于定性地研究某些关系和性质,利用量纲齐次原则寻求物理量之间的关系,在数学建模过程中常常进行无量纲化,无量纲化是根据量纲分析思想,恰当地选择特征尺度将有量纲量化为无量纲量,从而达到减少参数、简化模型的效果。
差分法
差分法的数学思想是通过taylor级数展开等方法把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的方程组,将微分问题转化为代数问题,是建立离散动态系统数学模型的有效方法。
构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。其基本的差分表达式主要有以下几种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。
差分法的解题步骤为:建立微分方程;构造差分格式;求解差分方程;精度分析和检验。
变分法
变分法是处理函数的函数的数学领域,即泛函问题,和处理数的函数的普通微积分相对。这样的泛函可以通过未知函数的积分和它的导数来构造,最终寻求的是极值函数。现实中很多现象可以表达为泛函极小问题,即变分问题。变分问题的求解方法通常有两种:古典变分法和最优控制论。受基础知识的制约,数学建模竞赛大专组的建模方法使用变分法较少。
图论法
数学建模中的图论方法是一种独特的方法,图论建模是指对一些抽象事物进行抽象、化简,并用图来描述事物特征及内在联系的过程。图论是研究由线连成的点集的理论。一个图中的结点表示对象,两点之间的连线表示两对象之间具有某种特定关系(先后关系、胜负关系、传递关系和连接关系等)。事实上,任何一个包含了某种二元关系的系统都可以用图形来模拟。因此,图论是研究自然科学、工程技术、经济问题、管理及其他社会问题的一个重要现代数学工具,更是成为了数学建模的一个必备工具。
第一步:选择模型或自定义模式
一般情况,模型都有一个固定的模样和形式。但是,有些模型包含的范围较广,比如回归模型,其实不是某一个特定的模型,而是一类模型。我们知道,所谓的回归模型,其实就是自变量和因变量的一个函数关系式而已,如下表所示。因此,回归模型的选择,也就有了无限的可能性,回归模型的样子(或叫方程)可以是你能够想到的任何形式的回归方程。所以,从某种意义上看,你自己想出一个很少人见过的回归方程,也可以勉强算是自定义模型了哈!
第二步:训练模型
当模型选择好了以后,就到了训练模型这一步。
我们知道,之所以叫模型,这个模型大致的形状或模式是固定的,但模型中还会有一些不确定的东东在里面,这样模型才会有通用性,如果模型中所有的东西都固定死了,模型的通用性就没有了。模型中可以适当变化的部分,一般叫做参数,就比如前面回归模型中的α、β等参数。
所谓训练模型,其实就是要基于真实的业务数据来确定最合适的模型参数而已。模型训练好了,也就是意味着找到了最合适的参数。一旦找到最优参数,模型就基本可用了。
第三步:评估模型
模型训练好以后,接下来就是评估模型。
所谓评估模型,就是决定一下模型的质量,判断模型是否有用。
前面说过,模型的好坏是不能够单独评估的,一个模型的好坏是需要放在特定的业务场景下来评估的,也就是基于特定的数据集下才能知道哪个模型好与坏。
第四步:应用模型
如果评估模型质量在可接受的范围内,而且没有出现过拟合,于是就可以开始应用模型了。
这一步,就需要将可用的模型开发出来,并部署在数据分析系统中,然后可以形成数据分析的模板和可视化的分析结果,以便实现自动化的数据分析报告。
应用模型,就是将模型应用于真实的业务场景。构建模型的目的,就是要用于解决工作中的业务问题的,比如预测客户行为,比如划分客户群,等等。
五步:优化模型
优化模型,一般发生在两种情况下:
一是在评估模型中,如果发现模型欠拟合,或者过拟合,说明这个模型待优化。
二是在真实应用场景中,定期进行优化,或者当发现模型在真实的业务场景中效果不好时,也要启动优化。
如果在评估模型时,发现模型欠拟合(即效果不佳)或者过拟合,则模型不可用,需要优化模型。所谓的模型优化,可以有以下几种情况:
1)重新选择一个新的模型;
2)模型中增加新的考虑因素;
3)尝试调整模型中的阈值到最优;
4)尝试对原始数据进行更多的预处理,比如派生新变量。
不同的模型,其模型优化的具体做法也不一样。比如回归模型的优化,你可能要考虑异常数据对模型的影响,也要进行非线性和共线性的检验;再比如说分类模型的优化,主要是一些阈值的调整,以实现精准性与通用性的均衡。
‘叁’ 数学建模有哪些方法
一、机理分析法 从基本物理定律以及系统的结构数据来推导出模型.
1.比例分析法--建立变量之间函数关系的最基本最常用的方法.
2.代数方法--求解离散问题(离散的数据、符号、图形)的主要方 法.
3.逻辑方法--是数学理论研究的重要方法,对社会学和经济学等领域的实际问题,在决策,对策等学科中得到广泛应用.
4.常微分方程--解决两个变量之间的变化规律,关键是建立"瞬时变化率"的表达式.
5.偏微分方程--解决因变量与两个以上自变量之间的变化规律.
二、数据分析法 从大量的观测数据利用统计方法建立数学模型.
1.回归分析法--用于对函数f(x)的一组观测值(xi,fi)i=1,2… n,确定函数的表达式,由于处理的是静态的独立数据,故称为数理统计方法.
2.时序分析法--处理的是动态的相关数据,又称为过程统计方法.
三、仿真和其他方法
1.计算机仿真(模拟)--实质上是统计估计方法,等效于抽样试验
① 离散系统仿真--有一组状态变量.
② 连续系统仿真--有解析表达式或系统结构图.
2.因子试验法--在系统上作局部试验,再根据试验结果进行不断分析修改,求得所需的模型结构.
3.人工现实法--基于对系统过去行为的了解和对未来希望达到的目标,并考虑到系统有关因素的可能变化,人为地组成一个系统.
‘肆’ 数学建模都有哪些方法
这些是以前在网上整理的:
要重点突破:
1 预测模块:灰色预测、时间序列预测、神经网络预测、曲线拟合(线性回归);
2 归类判别:欧氏距离判别、fisher判别等 ;
3 图论:最短路径求法 ;
4 最优化:列方程组 用lindo 或 lingo软件解 ;
5 其他方法:层次分析法 马尔可夫链 主成分析法 等 ;
6 用到软件:matlab lindo (lingo) excel ;
7 比赛前写几篇数模论文。
这是每年参赛的赛提以及获奖作品的解法,你自己估量着吧……
赛题 解法
93A非线性交调的频率设计 拟合、规划
93B足球队排名 图论、层次分析、整数规划
94A逢山开路 图论、插值、动态规划
94B锁具装箱问题 图论、组合数学
95A飞行管理问题 非线性规划、线性规划
95B天车与冶炼炉的作业调度 动态规划、排队论、图论
96A最优捕鱼策略 微分方程、优化
96B节水洗衣机 非线性规划
97A零件的参数设计 非线性规划
97B截断切割的最优排列 随机模拟、图论
98A一类投资组合问题 多目标优化、非线性规划
98B灾情巡视的最佳路线 图论、组合优化
99A自动化车床管理 随机优化、计算机模拟
99B钻井布局 0-1规划、图论
00A DNA序列分类 模式识别、Fisher判别、人工神经网络
00B钢管订购和运输 组合优化、运输问题
01A血管三维重建 曲线拟合、曲面重建
01B 工交车调度问题 多目标规划
02A车灯线光源的优化 非线性规划
02B彩票问题 单目标决策
03A SARS的传播 微分方程、差分方程
03B 露天矿生产的车辆安排 整数规划、运输问题
04A奥运会临时超市网点设计 统计分析、数据处理、优化
04B电力市场的输电阻塞管理 数据拟合、优化
05A长江水质的评价和预测 预测评价、数据处理
05B DVD在线租赁 随机规划、整数规划
算法的设计的好坏将直接影响运算速度的快慢,建议多用数学软件(
Mathematice,Matlab,Maple, Mathcad,Lindo,Lingo,SAS 等),这里提供十种数学
建模常用算法,仅供参考:
1、 蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决
问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必
用的方法)
2、数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数
据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab 作为工具)
3、线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多
数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通
常使用Lindo、Lingo 软件实现)
4、图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算
法,涉及到图论的问题可以用这些方法解决,需要认真准备)
5、动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算
法设计中比较常用的方法,很多场合可以用到竞赛中)
6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些
问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,
但是算法的实现比较困难,需慎重使用)
7、网格算法和穷举法(网格算法和穷举法都是暴力搜索最优点的算法,在很
多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种
暴力方案,最好使用一些高级语言作为编程工具)
8、一些连续离散化方法(很多问题都是实际来的,数据可以是连续的,而计
算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替
积分等思想是非常重要的)
9、数值分析算法(如果在比赛中采用高级语言进行编程的话,那一些数值分
析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编
写库函数进行调用)
10、图象处理算法(赛题中有一类问题与图形有关,即使与图形无关,论文
中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问
题,通常使用Matlab 进行处理)
‘伍’ 建模的两种方法
建模的两种方法:
方法 1、机理法建模
根据生产过程中实际发生的变化机理,写出各种 有关的平衡方程
如:物质平衡方程;能量平衡方程;动量平衡方程 以及反映流体流动、传热、传质、化学反应等基本 规律的运动方程,物性参数方程和某些设备的特性 方程等,从中获得所需的数学模型。
用机理法建模的首要条件是生产过程的机理必须为人们充分掌握,可以比较确切的加以数学描述。模型应该尽量简单,保证达到合理的精度。用机理法建模时,出现模型中某些参数难以确 定的情况或用机理法建模太烦琐。 可以用测试的方法来建模。
方法2、测试法建模
根据工业过程的输入和输出的实测数据进行数学 处理后得到的模型。特点是把被研究的工业过程视为一个黑匣子,完 全从外特性上测试和描述它的动态性质,不需要深 入掌握其内部机理。为了获得动态特性,必须使被研究的过程处于 被激励的状态,施加一个阶跃扰动或脉冲扰动 等。用测试法建模一般比用机理法建模要简单和省 力,如果两者都能达到同样的目的,一般都采用测试法建模。
‘陆’ 数据建模的分析方法有哪些并写出他们的大概介绍
从目前的数据库及数据仓库建模方法来说,主要分为四类。
第一类是大家最为熟悉的关系数据库的三范式建模,通常我们将三范式建模方法用于建立各种操作型数据库系统。
第二类是Inmon提倡的三范式数据仓库建模,它和操作型数据库系统的三范式建模在侧重点上有些不同。Inmon的数据仓库建模方法分为三层,第一层是实体关系层,也即企业的业务数据模型层,在这一层上和企业的操作型数据库系统建模方法是相同的;第二层是数据项集层,在这一层的建模方法根据数据的产生频率及访问频率等因素与企业的操作型数据库系统的建模方法产生了不同;第三层物理层是第二层的具体实现。
第三类是Kimball提倡的数据仓库的维度建模,我们一般也称之为星型结构建模,有时也加入一些雪花模型在里面。维度建模是一种面向用户需求的、容易理解的、访问效率高的建模方法,也是笔者比较喜欢的一种建模方式。
第四类是更为灵活的一种建模方式,通常用于后台的数据准备区,建模的方式不拘一格,以能满足需要为目的,建好的表不对用户提供接口,多为临时表。
下面简单谈谈第四类建模方法的一些的经验。
数据准备区有一个最大的特点,就是不会直接面对用户,所以对数据准备区中的表进行操作的人只有ETL工程师。ETL工程师可以自己来决定表中数据的范围和数据的生命周期。下面举两个例子:
1)数据范围小的临时表
当需要整合或清洗的数据量过大时,我们可以建立同样结构的临时表,在临时表中只保留我们需要处理的部分数据。这样,不论是更新还是对表中某些项的计算都会效率提高很多。处理好的数据发送入准备加载到数据仓库中的表中,最后一次性加载入数据仓库。
2)带有冗余字段的临时表
由于数据准备区中的表只有自己使用,所以建立冗余字段可以起到很好的作用而不用承担风险。
举例来说,笔者在项目中曾遇到这样的需求,客户表{客户ID,客户净扣值},债项表{债项ID,客户ID,债项余额,债项净扣值},即客户和债项是一对多的关系。其中,客户净扣值和债项余额已知,需要计算债项净扣值。计算的规则是按债项余额的比例分配客户的净扣值。这时,我们可以给两个表增加几个冗余字段,如客户表{客户ID,客户净扣值,客户余额},债项表{债项ID,客户ID,债项余额,债项净扣值,客户余额,客户净扣值}。这样通过三条SQL就可以直接完成整个计算过程。将债项余额汇总到客户余额,将客户余额和客户净扣值冗余到债项表中,在债项表中通过(债项余额×客户净扣值/客户余额)公式即可直接计算处债项净扣值。
另外还有很多大家可以发挥的建表方式,如不需要主键的临时表等等。总结来说,正因为数据准备区是不对用户提供接口的,所以我们一定要利用好这一点,以给我们的数据处理工作带来最大的便利为目的来进行数据准备区的表设计。
‘柒’ 分析多个因素对某一事物的影响关系应该选用什么数学模型
主要看你这模型当中三个影响因素是什么?这三个影响因素之间有没有关系,如果有关系的话,可以把三个影响因素化解为两个甚至更少。
如果单纯的三个影响因素的话,只能采用多项式的方法来建模了。
‘捌’ 数学建模的方法有哪些
预测模块:灰色预测、时间序列预测、神经网络预测、曲线拟合(线性回归);
归类判别:欧氏距离判别、fisher判别等 ;
图论:最短路径求法 ;
最优化:列方程组 用lindo 或 lingo软件解 ;
其他方法:层次分析法 马尔可夫链 主成分析法 等 。
建模常用算法,仅供参考:
蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决 问题的算法,同时间=可以通过模拟可以来检验自己模型的正确性,是比赛时必 用的方法) 。
数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数 据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab 作为工具) 。
线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多 数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通 常使用Lindo、Lingo 软件实现) 。
图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算 法,涉及到图论的问题可以用这些方法解决,需要认真准备) 。
动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算 法设计中比较常用的方法,很多场合可以用到竞赛中) 。
最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些 问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助, 但是算法的实现比较困难,需慎重使用) 。
网格算法和穷举法(网格算法和穷举法都是暴力搜索最优点的算法,在很 多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种 暴力方案,最好使用一些高级语言作为编程工具) 。
一些连续离散化方法(很多问题都是实际来的,数据可以是连续的,而计 算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替 积分等思想是非常重要的) 。
数值分析算法(如果在比赛中采用高级语言进行编程的话,那一些数值分 析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编 写库函数进行调用) 。
图象处理算法(赛题中有一类问题与图形有关,即使与图形无关,论文 中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问 题,通常使用Matlab 进行处理)。
‘玖’ 数学建模主要有哪些分析方法
2常用的建模方法(I)初等数学法。主要用于一些静态、线性、确定性的模型。例如,席位分配问题,学生成绩的比较,一些简单的传染病静态模型。(2)数据分析法。从大量的观测数据中,利用统计方法建立数学模型,常见的有:回归分析法,时序分析法。(3)仿真和其他方法。主要有计算机模拟(是一种统计估计方法,等效于抽样试验,可以离散系统模拟和连续系统模拟),因子试验法(主要是在系统上做局部试验,根据试验结果进行不断分析修改,求得所需模型结构),人工现实法(基于对系统的了解和所要达到的目标,人为地组成一个系统)。(4)层次分析法。主要用于有关经济计划和管理、能源决策和分配、行为科学、军事科学、军事指挥、运输、农业、教育、人才、医疗、环境等领域,以便进行决策、评价、分析、预测等。该方法关键的一步是建立层次结构模型。
‘拾’ 分析多个因素对某一事物的影响关系应该选用什么数学模型
如果有长期的数据,多元线性回归。
主要看这模型当中三个影响因素是什么,这三个影响因素之间有没有关系,如果有关系的话,可以把三个影响因素化解为两个甚至更少。如果单纯的三个影响因素的话,只能采用多项式的方法来建模了。
数学模型
数学模型是针对参照某种事物系统的特征或数量依存关系,采用数学语言,概括地或近似地表述出的一种数学结构,这种数学结构是借助于数学符号刻划出来的某种系统的纯关系结构。从广义理解,数学模型包括数学中的各种概念,各种公式和各种理论。因为它们都是由现实世界的原型抽象出来的,从这意义上讲,整个数学也可以说是一门关于数学模型的科学。