《GDP与国债关系的数学模型.docx》由会员分享,可在线阅读,更多相关《GDP与国债关系的数学模型.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、兰州交通大学2014年大学生数学建模竞赛论文题目: A题 GDP与国债关系的数学模型 参赛组号:学校统一编号,个人不得填写论文编号: A题 GDP和国债关系的数学模型摘要本文针对GDP和国债关系的问题,分别建立微分方程模型和统计回归模型加以分析,得出国债将随着GDP的增长而增长的结论。针对问题(1),根据假设GDP年均增长率为7%和国债增长率与GDP成正比,建立微分方程组 dMtdt=0.07Mt和dNtdt=kMt,k0描述增长率间的关系。针对问题(2), t0=0的初始值 M0和N0,解出微分方程组,得到描述GDP的子模型Mt=M0e0.07t和描述国债的子模型Nt=kM00.07(e0.
2、07t-1)+N0,,从而建立微分方程模型。针对问题(3),考虑国债与GDP之比,即N(t)M(t)=k0.07-kM0-0.07N00.07M0e0.07t,当t趋于无穷时,有 limtN(t)M(t)=k0.07为与t无关的常量。从而得到,当k0.07时有N(t)M(t),即如果国债增长率与GDP的比例系数k大于0.07时,国债最终会超过GDP。针对问题(4),分别用微分方程模型和统计回归模型进行分析。模型一微分方程模型:根据我国历年经济数据,令 M0,N0分别等于1992的GDP和国债数据,由模型一计算20年的预测值,与实际数据进行对比。模型二统计回归模型:在由我国历年GDP和国债数据作
3、出的散点图上,GDP与国债显示出较强的线性关系,因此用线性回归的方法,建立线性回归模型N=0.0462M1-678.1164+,描述GDP和国债的线性关系。通过MATLAB对数据进行数据分析和图像对比,对两个模型作出比较:(1)模型一预测的国债和GDP增长趋势与实际情况相吻合,但GDP的预测值与实际数据存在较大误差。原因可能是简单的假设GDP年均增长率为7%造成的。故模型一只能进行趋势预测,不能预测数值。(2)模型二描述了GDP与国债的线性关系,计算得到国债预测值与实际数据误差较小,可以对数据进行精确预测。因此相对于模型一更为优良。两个模型均描述了GDP与国债间的关系,即国债将随着GDP的增长
4、而增长。关键词: GDP与国债关系 微分方程模型 统计回归模型 数据拟合1.问题的提出国内生产总值1(Gross Domestic Product,GDP),是一定时期内一个国家的经济中所生产出的全部最终成果的市场价值。国内生产总值是国民经济核算的核心指标也是衡量一个国家或地区经济状况和发展水平的重要指标。假设GDP以年均7% 的增长率增长,而国债的增长率与GDP总量成比例。(1) 建立一个描述GDP和国债的数学模型;(2) 假设在第0年时的GDP为M0,国债为N0,求解 (1)中的数学模型;(3) 用国债与GDP之比的形式,确定国债最终是否会大于GDP;(4) 查阅相关资料,利用(1)中数学
5、模型就某一国家GDP与国债的关系加以分析;2.问题的分析该问题需要建立一个描述GDP与国债关系的数学模型。问题中假设“GDP以每年7%的速度增长,国债随着GDP成比例增长”,因增长率可以表示为微分,所以使用常微分方程组表示这一关系,建立微分方程模型作为模型一对该问题进行解答。考虑到现实生活中GDP的增长率是变化的,假定增长率恒定而构建的微分方程模型不够精确。因此使用我国历年GDP总量和国债发行额的数据,建立描述GDP和国债关系的统计回归模型作为模型二,用线性回归方程对数据进行拟合,分析GDP与国债的关系,并将结果与模型一进行对比,以此分析模型一的建模效果。对于问题(1),由GDP和国债的增长率
6、的关系构建常微分方程组,建立GDP和国债关系的微分方程模型作为模型一;对于问题(2),由初始值M0、N0解出常微分方程组,分别确定模型一中的表示GDP和国债增长的子模型;对于问题(3),考虑模型一中的国债子模型与GDP子模型之比,当年份t趋于无穷时,即可得出GDP与国债的最终大小关系;对于问题(4),用模型一分析我国历年GDP总量与国债发行额的数据,得出二者关系。并由历年数据建立线性回归模型作为模型二,分析GDP与国债的关系,并与模型一对比结果。3.模型假设与符号假设3.1 模型假设3.1.1 模型一:微分方程模型的假设(1)GDP以年均7% 的增长率增长; (2)国债发行额的增长率与GDP总
7、量成成正比,比例系数k0;(3)在第0年时的GDP为M0,国债为N0。3.1.2 模型二:线性回归方程模型的假设(1)经济正常发展,社会稳定;(2)国债的发行额只取决于GDP总量,忽略其他因素影响;(3)一段时期内生产力水平不会发生变化;(4)所有统计数据真实可靠。3.2 符号假设 Mt 表示在第t年的GDP总量; Nt 表示在第t年的国债发行额; M0 表示在第0年的GDP总量; N0 表示在第0年的国债发行额; k表示国债的增长率与GDP总量的比例系数; t 表示年份; R 表示复相关系数; F 表示统计量; 表示随机误差; i表示参数。4.模型的建立与求解4.1模型一:微分方程模型4.1
8、.1 问题(1)模型的建立4.1.1.1 描述GDP增长率的子模型GDP以年均7% 的增长率增长,可以用微分方程表示这一关系,从而得到: dMtdt=0.07Mt4.1.1.2 描述国债增长率的子模型国债的增长率与GDP总量成正比,比例系数k0,构建微分方程得到:dNtdt=kMt, k04.1.2 问题(2)模型的建立与求解4.1.2.1 求解GDP子模型因第0年GDP为 M0,所以dMtdt=0.07Mt t0=0, Mt0=M0方程两端分离变量dMtMt=0.07dt两端积分,得到lnMt=0.07t+C由第0年时GDP为M0解出C=lnM0 故lnMt=0.07t+lnM0因此得到Mt
9、=M0e0.07t即为GDP子模型4.1.2.2 求解国债子模型因第0年国债为N0,所以 dN(t)dt=kMt,(k0)t0=0, Nt0=N0分离变量dNt=kMtdt=kM0e0.07tdt,(k0)两端积分,得到Nt=kM00.07e0.07t+C,(k0)由第0年国债为N0解出C=N0-kM00.07故Nt=kM00.07(e0.07t-1)+N0,(k0)即为国债子模型4.1.3问题(3)模型的建立与求解考虑国债子模型与GDP子模之比: NtM(t)=kM00.07(e0.07t-1)+N0M0e0.07t =kM0e0.07t-kM0+0.07N00.07M0e0.07t =k0
10、.07-kM0-0.07N00.07M0e0.07t即N(t)M(t)=k0.07-kM0-0.07N00.07M0e0.07t当t趋于无穷时有 limtN(t)M(t)=limt(k0.07-kM0-0.07N00.07M0e0.07t) =limtk0.07 =k0.07即t趋于无穷时,国债与GDP之比为与t无关的常量令 k0.071即 当 k0.07 时 有 N(t)M(t)所以当国债增长率与GDP的比例系数k大于0.07时,国债最终会超过GDP。4.1.4问题(4)模型的建立与求解4.1.4.1 由模型一进行求解从国家统计局国家数据库中查找到我国1992年至2012年国民生产总值2和国
11、债发行额3,见附表1。令 M0等于1992年的GDP总量(即 M0=26923.48亿元),N0等于1992年的国债发行量(N0=460.78亿元),取k=0.01,在MATLAB中编写程序计算出模型一预测的20年(1993年至2012年)的GDP和国债值,与实际GDP总量和国债发行额数据进行图像对比,分别如图1和图2所示: 图1 图2 可以看出模型一的预测趋势与实际情况相吻合,国债发行额随着GDP的增长而增加。将k的赋值分别修改为0.07和0.1,当k=0.07时国债增长趋势与基本GDP相同(图3);当k=0.1时,国债的增长已超过GDP增长(图4),问题(3)的结论得到验证。图3(k=0.
12、07)图4(k=0.1)然而模型一预测数据的数量级是10的四次方,实际数据的数量级是10的五次方,有很大的误差。原因可能是假设GDP增长率恒为7%造成的。在实际情况中,GDP的增长率是变化的。为了更准确的描述国债与GDP之间的关系,考虑使用回归分析方法对历年GDP与国债数据进行分析,建立统计回归模型作为模型二进行描述。4.1.4.2模型二:统计回归模型在MATLAB中对我国1992年至2012年GDP和国债发行额做散点图,如图5所示:图5可以看出二者具有较强的线性关系,因此建立一元线性回归模型N=0+1M1+在MATLAB中使用regress()函数求解这一回归方程,结果如表1所示:表1 回归
13、方程求解结果参数参数估计置信区间0-678.1164-1524.89962346931, 168.66691469508410.04620.0425153898951599, 0.0497962974520615R2=0.9737 F = 704.1915 p=1.76737638209671e-016因R2=0.9737接近于1,F = 704.1915,p远小于0.05,可知线性回归模型N=0.0462M1-678.1164+成立。残差图如图6所示,除第16个和第17个数据外,其余数据的残差离原点均较近,残差区间也包含原点,说明模型二能较好的反映原始数据。图6模型二说明GDP与国债呈线性关
14、系,国债会随着GDP增长而增大,结论与模型一相同。5.结果分析与检验5.1 对模型一的分析与检验令 M0=26923.48(亿元),N0=460.78(亿元),k=0.01,用MATLAB绘出模型一的GDP预测量与实际GDP总量的对比图,如图7所示;并做出模型一的国债预测量与实际国债发行额的对比图,如图8所示。从图中可以看到,模型一与实际值有较大差距,特别是GDP预测量与GDP实际数据的误差很大。用MATLAB计算模型一的GDP和国债预测值,并与实际值作比较分析误差,如表2所示。误差较大的原因可能是由于模型一假设GDP年增长率为7%,而过去二十年GDP的平均增长率超过15%。并且,模型一只是由
15、两个简单的微分方程构成也是造成误差过大的原因之一。因此模型一只能预测趋势,不能用于数值预测。图 7图 8图9为模型一的误差分析图,可以看出模型一对GDP预测的误差很大,对国债预测的误差较小且基本保持稳定:图9表2 模型一预测值与真实值的对比 (误差=实际值-预测值)年份预测GDP总量(亿元)实际GDP总量(亿元)误差(亿元)预测国债发行额(亿元)实际国债发行额(亿元)误差(亿元)199226923.4826923.48/460.78460.78/199328875.6535333.926458.27739.66381.31-278.88199430969.3748197.8617228.491
16、038.761137.5598.78199533214.9160793.7327578.821359.561510.86151.30199635623.2671176.5935553.331703.601847.77144.16199738206.2478973.0340766.792072.602411.79339.19199840976.5084402.2843425.782468.353808.771340.42199943947.6389677.0545729.422892.8040151122.20200047134.2099214.5552080.353348.0246571308
17、.97200150551.81109655.1759103.363836.2648841047.74200254217.23120332.6966115.464359.895934.31574.41200358148.42135822.7677674.334921.496280.11358.61200462364.65159878.3497513.685523.816923.91400.09200566886.61184937.37118050.766169.807042872.20200671736.43216314.43144578.006862.638558.201695.5720077
18、6937.91265810.31188872.407605.708883.301277.60年份预测GDP总量(亿元)实际GDP总量(亿元)误差(亿元)预测国债发行额(亿元)实际国债发行额(亿元)误差(亿元)200882516.54314045.43231528.898402.6516154.207751.55200988499.67340902.81252403.149257.3817100.007842.62201094916.61401512.8306596.1910174.0817927.247753.152011101798.85473104.05371305.2011157.261
19、9778.308621.042012109180.10519470.1410290.0012211.7323139.1010927.375.2 对模型二的分析与检验模型二的线性回归模型为N=0.0462M1-678.1164+编写MATLAB程序由模型二根据历年GDP数据计算国债的预测值并与实际数据做比较,如图10所示。图10由图10可以看出线性回归模型对实际数据的拟合较好,反映了GDP与国债间的线性关系,即国债随着GDP的增长而增加。为了验证模型二的国债预测值的误差,编写MATLAB程序计算模型二的国债预测值与真实值之间的误差,绘出预测值、真实值与误差的图像,如图11所示并将相应数据记录到表
20、3,可以看出数据的拟合度较高,误差较模型一要小很多。因此模型二相对于模型一更为优良。图11表3 模型二预测值与真实值的对比 (误差=实际国债值-预测国债值)年份实际GDP总量(亿元)实际国债发行额(亿元)预测国债发行额(亿元)误差(亿元)199226923.48460.78566.74-185.43199335333.92381.31955.31-494.53199448197.861137.551549.62-412.07199560793.731510.862131.55-620.69199671176.591847.772611.24-763.47199778973.032411.792
21、971.43-559.64199884402.283808.773222.26586.50199989677.0540153465.96549.03200099214.5546573906.59750.402001109655.1748844388.95495.042002120332.695934.34882.251052.042003135822.766280.15597.89682.202004159878.346923.96709.26214.632005184937.3770427866.99-824.992006216314.438558.209316.61-758.4120072
22、65810.318883.3011603.31-2720.012008314045.4316154.2013831.782322.41年份实际GDP总量(亿元)实际国债发行额(亿元)预测国债发行额(亿元)误差(亿元)2009340902.8117100.0015072.592027.402010401512.817927.2417872.7754.462011473104.0519778.3021180.29-1401.992012519470.123139.1023322.40-183.306.模型的优缺点与改进方向通过构建微分方程模型和构建统计回归模型,描述了GDP与国债发行量之间的关系。
23、在模型一中,因简单的将GDP增长率假设为每年7%,导致模型一对GDP的预测结果与实际值有很大误差,而且由于模型一是简单的两个微分方程组,故对实际数据的预测不够准确,只能进行趋势的预测。在模型二中,通过回归分析的方法,得到了GDP与国债关系的线性回归方程,对实际数据有较好的预测效果。但依然存在误差。如果构建二次或更高次方程,应该能得到更好的拟合效果。可以改进的方向:比如在建模时考虑影响国债的其他因素,如国家的经济形势、国家的经济政策、地区局势、有无突发事件爆发等。由于GDP、国债等经济变量均有一定的时间滞后性,前一时间点的数据会对后一时间点的数据产生影响,因此可考虑构建时间序列模型来更好的描述G
24、DP与国债间的关系。7.参考文献1维基百科.国民生产总值.http:/zh.wikipedia.org/wiki/GDP2国家统计局.国家数据库.年度数据.国民生产总值.3国家统计局.国家数据库.国债发行额.国债发行额.8.附录附表1 我国1992年至2012年GDP总量和国债发行额数据年份GDP总量(亿元)国债发行额(亿元)199226923.48460.78199335333.92381.31199448197.861137.55199560793.731510.86199671176.591847.77199778973.032411.79199884402.283808.7719998
25、9677.054015200099214.5546572001109655.1748842002120332.695934.32003135822.766280.12004159878.346923.92005184937.3770422006216314.438558.202007265810.318883.302008314045.4316154.202009340902.8117100.002010401512.817927.242011473104.0519778.302012519470.123139.10MATLAB程序1:模型一预测值与实际值对比GDP=35333.92 4819
26、7.86 60793.73 71176.59 78973.03 84402.28 89677.05 99214.55 109655.17 120332.69 135822.76 159878.34 184937.37 216314.43 265810.31 314045.43 340902.81 401512.80 473104.05 519470.10;GuoZhai=381.31 1137.55 1510.86 1847.77 2411.79 3808.77 4015.00 4657.00 4884.00 5934.30 6280.10 6923.90 7042.00 8558.20 88
27、83.30 16154.20 17100.00 17927.24 19778.30 23139.10;year=1:20;k=0.01;t=0.07.*year;M0=26923.48;N0=460.78;M=M0.*exp(t);k=k*M0/0.07;N=(exp(t)-1).*k)+N0;subplot(2,1,1)plot(year,M,year,GDP,r*)xlabel(年份)ylabel(GDP总量)title(微分方程模型GDP预测值与实际GDP总量)legend(微分方程模型GDP预测值,实际GDP总量)subplot(2,1,2)plot(year,N,year,GuoZh
28、ai,r*)xlabel(年份)ylabel(国债发行额)title(微分方程模型国债预测值与实际国债发行额(k=0.01)legend(微分方程模型国债预测值,实际国债发行额)MATLAB程序2:模型一GDP与国债关系与实际GDP与国债关系的对比GDP=35333.92 48197.86 60793.73 71176.59 78973.03 84402.28 89677.05 99214.55 109655.17 120332.69 135822.76 159878.34 184937.37 216314.43 265810.31 314045.43 340902.81 401512.80
29、473104.05 519470.10;GuoZhai=381.31 1137.55 1510.86 1847.77 2411.79 3808.77 4015.00 4657.00 4884.00 5934.30 6280.10 6923.90 7042.00 8558.20 8883.30 16154.20 17100.00 17927.24 19778.30 23139.10;year=1:20;k=0.01;t=0.07.*year;M0=26923.48;N0=460.78;M=M0.*exp(t);k=k*M0/0.07;N=(exp(t)-1).*k)+N0;subplot(1,2
30、,1)plot(year,M,kx,year,N,r*)title(模型一GDP预测值与国债预测值的关系(k=0.01)legend(GDP预测值,国债预测值)subplot(1,2,2)plot(year,GDP,kx,year,GuoZhai,r*)xlabel(年份)ylabel(亿元)title(实际GDP总量与实际国债发行额的关系)legend(实际GDP总量,实际国债发行额)MATLAB 程序3:求解线性回归方程GDP=26923.48 35333.92 48197.86 60793.73 71176.59 78973.03 84402.28 89677.05 99214.55 1
31、09655.17 120332.69 135822.76 159878.34 184937.37 216314.43 265810.31 314045.43 340902.81 401512.80 473104.05 519470.10;GuoZhai=460.78 381.31 1137.55 1510.86 1847.77 2411.79 3808.77 4015.00 4657.00 4884.00 5934.30 6280.10 6923.90 7042.00 8558.20 8883.30 16154.20 17100.00 17927.24 19778.30 23139.10;M=
32、ones(21,1) GDP;N=GuoZhai;b,bint,r,rint,stats=regress(N,M)b,bint,statsrcoplot(r,rint)MATLAB 程序4:计算模型一预测值与实际值的误差GDP=35333.92 48197.86 60793.73 71176.59 78973.03 84402.28 89677.05 99214.55 109655.17 120332.69 135822.76 159878.34 184937.37 216314.43 265810.31 314045.43 340902.81 401512.80 473104.05 5194
33、70.10;GuoZhai=460.78 1137.55 1510.86 1847.77 2411.79 3808.77 4015.00 4657.00 4884.00 5934.30 6280.10 6923.90 7042.00 8558.20 8883.30 16154.20 17100.00 17927.24 19778.30 23139.10;year=1:20;k=0.01;t=0.07.*year;M0=26923.48;N0=460.78;M=M0.*exp(t);k=k*M0/0.07;N=(exp(t)-1).*k)+N0x=GDP-M;y=GuoZhai-Nplot(ye
34、ar,x,r*,year,y,kx)xlabel(年份)ylabel(误差(亿元))title(模型一的误差分析)legend(GDP误差,国债误差)MATLAB 程序5:计算模型二预测值与实际值的误差GDP=26923.48 35333.92 48197.86 60793.73 71176.59 78973.03 84402.28 89677.05 99214.55 109655.17 120332.69 135822.76 159878.34 184937.37 216314.43 265810.31 314045.43 340902.81 401512.80 473104.05 5194
35、70.10;GuoZhai=381.31 460.78 1137.55 1510.86 1847.77 2411.79 3808.77 4015.00 4657.00 4884.00 5934.30 6280.10 6923.90 7042.00 8558.20 8883.30 16154.20 17100.00 17927.24 19778.30 23139.10;t=1:21M=GDP;N=0.0462.*M-677.1164x=GuoZhai-Nsubplot(1,2,1)plot(M,N,GDP,GuoZhai,r*)xlabel(GDP总量(亿元)ylabel(国债发行量(亿元)title(实际GDP国债数据散点图与模型二拟合直线)subplot(1,2,2)plot(t,GuoZhai,r*,t,N,t,x,kx)xlabel(年)ylabel(误差(亿元)title(模型二误差分析)legend(实际国债数据,预测国债数据,误差)17