数学建模
2024-01-15 16:49:26 21 举报
AI智能生成
数学建模是一种通过建立数学模型来解决实际问题的方法。它通常包括以下几个步骤:首先,对实际问题进行抽象和简化,确定问题的数学模型;其次,根据模型的特点选择合适的数学方法和工具进行分析和求解;最后,将结果反馈到实际问题中,验证模型的有效性。数学建模在科学研究、工程设计、经济管理等领域有着广泛的应用。它不仅可以帮助我们更好地理解复杂的现象,还可以为决策提供科学依据。总之,数学建模是一种强大的工具,能够帮助我们解决各种实际问题。
作者其他创作
大纲/内容
预处理
插值算法
!插值算法可用于短期预测
分段三次埃尔米特(Hermite)插值
优点:保持插值曲线在节点处有切线(光滑),
使插值函数和被插值函数的密合程度更好。
使插值函数和被插值函数的密合程度更好。
函数:pchip(x,y,new_x)
三次样条插值
函数:spline(x,y,new_x)
相关性分析
皮尔逊相关系数
线性关系(散点图)
正态性检验
正态分布JB检验(大样本n > 30)
雅克-贝拉检验(Jarque-Bera test)
雅克-贝拉检验(Jarque-Bera test)
H0:该随机变量服从正态分布
[h,p] = jbtest(x,alpha) alpha为显著性水平
h = 1,表示拒绝原假设,反之
[h,p] = jbtest(x,alpha) alpha为显著性水平
h = 1,表示拒绝原假设,反之
夏皮洛-威尔克检验(Shapiro-wilk)
(小样本 3<=n<=50)
(小样本 3<=n<=50)
H0:该随机变量服从正态分布
spss:分析-描述统计-探索-含检验的正态图√
spss:分析-描述统计-探索-含检验的正态图√
Q-Q图(数据量非常大)
看图上的点是否近似地在一条直线附近。qqplot(x)
[R,P] = corrcoef(Test)
相关系数表可以做色阶图。根据p值可以在对应r上添加*,代表显著性水平。
斯皮尔曼相关系数
corr(X,'type','Spearman')
假设检验
查临界值表(小样本n<30),r >= 表中临界值,才显著。
大样本,[R,P] = ...
连续,正态,线性——皮尔逊。任一不满足,用斯皮尔曼,两个定序数据也用
多元线性回归分析
模型设定部分
内生性
μ为误差项,包含了所有与y相关,但未添加到回归模型中的变量,如果这些变量和我们已经添加的自变量相关,则存在内生性。
会导致回归系数估计的不准确(不满足无偏和一致性)。实际应用中,只要保证核心解释变量与μ不相关即可。
会导致回归系数估计的不准确(不满足无偏和一致性)。实际应用中,只要保证核心解释变量与μ不相关即可。
取对数
什么时候取
(1)与市场价值相关的,例如,价格、销售额、工资等都可以取对数;
(2)以年度量的变量,如受教育年限、工作经历等通常不取对数;
(3)比例变量,如失业率、参与率等,两者均可;
(4)变量取值必须是非负数,如果包含0,则可以对y取对数ln(1+y)。
(2)以年度量的变量,如受教育年限、工作经历等通常不取对数;
(3)比例变量,如失业率、参与率等,两者均可;
(4)变量取值必须是非负数,如果包含0,则可以对y取对数ln(1+y)。
取对数的好处
(1)减弱数据的异方差性;
(2)如果变量本身不符合正态分布,取了对数后可能渐近服从正态分布;
(3)模型形式的需要,让模型具有经济学意义。
(2)如果变量本身不符合正态分布,取了对数后可能渐近服从正态分布;
(3)模型形式的需要,让模型具有经济学意义。
四类模型回归系数的解释
(1)一元线性回归:𝑦 = 𝑎 + 𝑏𝑥 + 𝜇,x每增加1个单位,y平均变化b个单位;
(2)双对数模型:𝑙𝑛𝑦 = 𝑎 + 𝑏𝑙𝑛𝑥 + 𝜇,x每增加1%,y平均变化b%;
(3)半对数模型:𝑦 = 𝑎 + 𝑏𝑙𝑛𝑥 + 𝜇,x每增加1%,y平均变化b/100个单位;
(4)半对数模型:𝑙𝑛𝑦 = 𝑎 + 𝑏𝑥 + 𝜇,x每增加1个单位,y平均变化(100b)%。
(2)双对数模型:𝑙𝑛𝑦 = 𝑎 + 𝑏𝑙𝑛𝑥 + 𝜇,x每增加1%,y平均变化b%;
(3)半对数模型:𝑦 = 𝑎 + 𝑏𝑙𝑛𝑥 + 𝜇,x每增加1%,y平均变化b/100个单位;
(4)半对数模型:𝑙𝑛𝑦 = 𝑎 + 𝑏𝑥 + 𝜇,x每增加1个单位,y平均变化(100b)%。
虚拟变量
(定类变量,例如性别、地域)
(定类变量,例如性别、地域)
为了避免完全多重共线性的影响,引入虚拟变量的个数一般是分类数减1。
(例如性别有两类,引入gender变量,1为男,0为女)
(例如性别有两类,引入gender变量,1为男,0为女)
代码部分
(stata)
(stata)
数据的描述性统计
(1)定量数据:summarize 变量1 变量2 ... 变量n
(2)定性数据:tabulate 变量名,gen(A)
返回频率分布表,并生成对应的虚拟变量(以A开头)
(2)定性数据:tabulate 变量名,gen(A)
返回频率分布表,并生成对应的虚拟变量(以A开头)
regress y x1 x2 … xk
(默认使用的OLS:普通最小二乘估计法)
探究自变量与因变量关系
(默认使用的OLS:普通最小二乘估计法)
探究自变量与因变量关系
拟合优度R^2
(调整后的拟合优度)
(调整后的拟合优度)
(1)回归分为解释型回归和预测型回归。
预测型回归一般才会更看重R^2。解释型回归更多的关注模型整体显著性以及自变量的统计显著性和经济意义显著性即可。
(2)可以对模型进行调整,例如对数据取对数或者平方后再进行回归。
(3)数据中可能有存在异常值或者数据的分布极度不均匀。
预测型回归一般才会更看重R^2。解释型回归更多的关注模型整体显著性以及自变量的统计显著性和经济意义显著性即可。
(2)可以对模型进行调整,例如对数据取对数或者平方后再进行回归。
(3)数据中可能有存在异常值或者数据的分布极度不均匀。
regress y x1 x2 … xk,beta(标准化回归,去除量纲的影响) 探究影响因变量的影响因素
回归后的检验
异方差
检验异方差
1、在回归结束后运行命令:rvfplot (画残差与拟合值的散点图)rvpplot x (画残差与自变量x的散点图)
2、BP检验,H0:扰动项不存在异方差 (回归结束后使用):estat hettest ,rhs iid
P值小于0.05,说明在95%的置信水平下拒绝原假设,即我们认为扰动项存在异方差。
P值小于0.05,说明在95%的置信水平下拒绝原假设,即我们认为扰动项存在异方差。
3、怀特检验,H0:扰动项不存在异方差 (回归结束后使用):estat imtest,white
解决异方差
(1)使用OLS + 稳健的标准误(最简单,通用)
(2)广义最小二乘估计法GLS原理:方差较小的数据包含的信息较多,
我们可以给予信息量大的数据更大的权重(即方差较小的数据给予更大的权重)
(2)广义最小二乘估计法GLS原理:方差较小的数据包含的信息较多,
我们可以给予信息量大的数据更大的权重(即方差较小的数据给予更大的权重)
regress y x1 x2 … xk,robust
多重共线性
方差膨胀因子VIF
计算各自变量VIF的命令(在回归结束后使用):estat vif 如果VIF>10,则认为存在严重多重共线性
处理方法
(1)如果不关心具体的回归系数,而只关心整个方程预测被解释变量的能力,可忽略假设你的整个方程是显著的)。
(2)如果关心具体的回归系数,但多重共线性并不影响所关心变量的显著性,可忽略。
(3) 如果多重共线性影响到所关心变量的显著性,则需要增大样本容量,剔除导致严重共线性的变量
(不要轻易删除,因为可能会有内生性的影响),或对模型设定进行修改。
(2)如果关心具体的回归系数,但多重共线性并不影响所关心变量的显著性,可忽略。
(3) 如果多重共线性影响到所关心变量的显著性,则需要增大样本容量,剔除导致严重共线性的变量
(不要轻易删除,因为可能会有内生性的影响),或对模型设定进行修改。
逐步回归
向前逐步回归Forward selection:stepwise regress y x1 x2 … xk, pe(#1)
向后逐步回归Backward elimination:stepwise regress y x1 x2 … xk, pr(#2)
注:(1)x1 x2 … xk之间不能有完全多重共线性(和regress不同哦) (2)可以在后面再加参数b和r,即标准化回归系数或稳健标准误
降维算法
主成分分析
根据累计贡献率确定主成分,根据系数分析主成分代表的意义,主成分的结果可用于聚类,回归。
因子分析(可解释性更高)
首先要确定原始数据是否适合进行因子分析,即能否通过KMO检验和巴特利特球形检验。
碎石图检验确定公共因子的个数
评价模型
层次分析法
未给出数据,指标方案数少(一般不大于10)
实现步骤
1、分析各因素中间的关系,建立系统 的层次结构。(目标层,准则层,方案层)层次结构图
2、上下两层间有影响的因素构造判断矩阵。
3、根据判断矩阵计算相对权重(矩阵要通过一致性检验,CR<0.1),使用算术平均法、几何平均法、特征值法计算,保证稳健型。
4、根据权重矩阵计算各方案得分,进行排序。
Topsis优劣解距离法
指标给出数据
实现步骤
1、原始矩阵正向化:极大型、极小型、中间型、区间型。
2、正向化矩阵标准化:去除量纲的影响,(每一个元素/根号下其所在列的元素的平方和)
3、计算得分并归一化:计算,各列的值与其所在列的最大值差值的平方和开根作为其与
最大值的距离(D+),最小值(D-)相反,Si为D-/(D+ + D-) 归一化:得分/总分
最大值的距离(D+),最小值(D-)相反,Si为D-/(D+ + D-) 归一化:得分/总分
拓展:带权值的topsis法。可以使用层次分析法(主观性强)或熵权法确定各因素的权值。
熵权法计算步骤:1、正向化并标准化矩阵(存在负数要使用另外一种标准化方法)2、……(是否建议使用有待商榷)
熵权法计算步骤:1、正向化并标准化矩阵(存在负数要使用另外一种标准化方法)2、……(是否建议使用有待商榷)
模糊综合评价
基本概念
模糊评价问题是要把论域中的对象对应评语集中一个指定的评语或者将方案作为评语集并选择一个最优的方案。
A为模糊概念,U为模糊集合。对于U中的每个元素,均对应A中的一个隶属度,隶属度介于[0,1],越大表示越属于这个集合。
实现步骤
1、确定因素集,评语集,和权重集。
2、确定各因素与评语集中各评语的隶属函数,
并计算隶属度,形成综合评判矩阵R。
并计算隶属度,形成综合评判矩阵R。
隶属函数的确定方法:
1、模糊统计法:(很少用,来不及设计问卷)多个人对同一模糊概念进行描述,用隶属概率来定义隶属度。
2、借助已有的客观尺度:(需要合适的指标,并且有数据)指标要介于[0,1]之间(可以归一化)。
3、指派法(根据性质套用某些函数分布):梯形分布使用最多。(注意正向化)
1、模糊统计法:(很少用,来不及设计问卷)多个人对同一模糊概念进行描述,用隶属概率来定义隶属度。
2、借助已有的客观尺度:(需要合适的指标,并且有数据)指标要介于[0,1]之间(可以归一化)。
3、指派法(根据性质套用某些函数分布):梯形分布使用最多。(注意正向化)
3、计算最终隶属度,B=A(权重集)*(矩阵相乘)R
拓展:多级模糊综合评价
因素集元素过多时,进行归类,简化计算。(同一级权重和为1)
算法
拟合算法
!插值和拟合的区别:拟合的结果会得到一个确定的曲线。
当拟合函数为线性函数(线性于参数)时,可以用R^2评价拟合的好坏。
否则,使用SSE(误差平方和)即可。
否则,使用SSE(误差平方和)即可。
使用matlab拟合工具箱
拟合效果不好时,调整fit options中自变量的初值
图论最短路
迪杰斯特拉算法
不能含负权边
贝尔曼-福特算法
含负权的有向图(不能有负权回路)
分类模型
逻辑回归
对于因变量为分类变量的情况,我们可以使用逻辑回归进行处理。把y看成事件发生的概率,y≥0.5表示发生;y<0.5表示不发生。
spss求解,分类变量要先处理,预测结果差可加入平方项,交互项调整模型。
把数据分为训练组和测试组,用训练组的数据来估计出模型,再用测试组的数据来进行测试。
把数据分为训练组和测试组,用训练组的数据来估计出模型,再用测试组的数据来进行测试。
Fisher线性判别分析
聚类模型
K-means聚类
需要给定类的数目,spss默认使用K-means++算法,可以解决对初值以及孤立数据敏感的问题。(数据量纲需一致)
系统聚类
作聚合系数折线图确定分类个数(肘部法则)。
DBSCAN算法
基于密度的聚类
算法选择:数据作图表现出DBSCAN的特征,选用DBSCAN算法,其余优先系统聚类,可写的内容多。
时间序列分析
(结合背景,合理假设)
(结合背景,合理假设)
时间序列分解
长期趋势、季节趋势、循环变动、不规则变动。四种变动与指标数值最终变动的关系可能是叠加关系,也可能是乘积关系。
叠加模型和乘积模型(要求数据具有年内的周期性):存在季节波动选择乘积,不存在都可以。
缺失值的处理:在开头或结尾可直接删去,中间可采用插值替换缺失值。
具体步骤:1、作时间序列图;
2、判断时间序列包含的变动成分;
3、时间序列分解(有周期性且包含长期趋势、季节变动或循环变动);
4、建立时间序列分析模型;
5、 预测未来的指标数值。
2、判断时间序列包含的变动成分;
3、时间序列分解(有周期性且包含长期趋势、季节变动或循环变动);
4、建立时间序列分析模型;
5、 预测未来的指标数值。
spss时间序列专家建模器
模型巨多,理论复杂,spss会选择最合适的模型(如果是与季节性相关的模型,可采用时间序列分解)。
可以使用平稳的R方或者标准化BIC(BIC准则)比较模型好坏。
从残差的ACF和PACF图和Q检验判断模型是否很好的识别数据。
预测模型
灰色预测
回归模型
BP神经网络
matlab神经网络拟合工具箱
数学规划模型
概述:求⽬标函数在⼀定约束条件下的极值问题。 f(x):目标函数 x:决策变量 不等式约束、等式约束、整数约束。。。
线性规划
如果⽬标函数和和约束条件均是决策变量的线性表达式 , 那么此时的 数学规划问题就属于线性规划。
[x,fval] = linprog(c,A,b,Aeq,beq,lb,ub,x0)
非线性规划
当⽬标函数和或者约束条件中有⼀个是决策变量x的⾮线性表达式 , 那么此时的数学规划问题就属于⾮线性规划 。
[x,fval] = fmincon(@fun,x0,A,b,Aeq,beq,lb,ub,@nonlfun,option)
x0取值很重要,可用蒙特卡罗模拟得到一组初值。
x0取值很重要,可用蒙特卡罗模拟得到一组初值。
整数规划
整数规划是⼀类要求变量取整数值的数学规划。
[x,fval] = intlinprog(c,intcon,A,b,Aeq,beq,lb,ub)
0-1规划
整数规划的特例 ,整数变量的取值只能为0和1 。
[x,fval] = fminimax(@Fun,x0,A,b,Aeq,beq,lb,ub,@nonlfun,option)
多目标规划
若⼀个规划问题中有多个⽬标, 可以对多⽬标函数进⾏加权组合, 使问题变为单⽬标规划 。
0 条评论
下一页