经济增长模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
经济增长模型
98级管理专业陈玲
实验目的:
1 了解最小二乘法的原理
2 学会用MA TLAB软件所提供的函数解决实际问题
实验内容:
增加生产、发展经济所依靠的主要因素有增加投资、增加劳动力以及技术革新等,在研究国民经济产值与这些因素的数量关系时,由于技术水平不像资金、劳动力那样容易定量化,作为初步的模型,可认为技术水平不变,只讨论产值和资金、劳动力之间的关系。在科学发展不快时,如资本主义经济发展的前期,这种模型是有意义的。
用Q,K,L分别表示产值、资金、劳动力,要寻求数量关系Q(K,L)。经过简化假设与分析,在经济学中,推导出一个著名的Cobb-Douglas生产函数:
Q(K,L)=aKαLβ, 0<α,β<1 (*) 式中α,β,a要由经济统计数据确定。
现有美国马萨诸塞州1900—1926年上述三个经济指数的统计数据,如表1,试用数据拟合的方法,求出(*)式中的参数α,β,a。
表 1
第一种方法:
由于产值Q、资金K、劳动力L之间满足著名的Cobb-Douglas生产函数关系:
Q(K,L)=aKαLβ, 0<α,β<1
我们可以用MATLAB软件中的curvefit()程序来作数据拟合,即寻求函数Q(K,L)中的未知
参数a,α,β,使这个函数尽量逼近表1所给出的统计数据。
现在我们就根据curvefit()函数编以下程序
程序文件a1.m 如下
a=[1.05 1.18 1.29 1.30 1.30 1.42 1.50 1.52 1.46 1.60 1.69 1.81 1.93 1.95 2.01 2.00 2.09 1.96 2.20 2.12 2.16 2.08 2.24 2.56 2.34 2.45 2.58];
y=[1.04 1.06 1.16 1.22 1.27 1.37 1.44 1.53 1.57 2.05 2.51 2.63 2.74 2.82 3.24 3.24 3.61 4.10 4.36 4.77 4.75 4.54 4.54 4.58 4.58 4.58 4.54;1.05 1.08 1.18 1.22 1.17 1.30 1.39 1.47 1.31 1.43 1.58 1.59 1.66 1.68 1.65 1.62 1.86 1.93 1.96 1.95 1.90 1.58 1.67 1.82 1.60 1.61 1.64];
x0=[0.1,0.1,0.2];
x=curvefit('curvefun',x0, y,a)
其中的函数M——文件curvefun.m如下
function a=curvefun( x, y)
a=x(1)*(y(1,:).^x(2)).*(y(2,:).^x(3));
运行a1.m可得以下结果
x=
1.2246 0.4612 -0.1277
则可以得到
a=1.2246 b=0.4612 c=-0.1277
于是公式变为
Q(K,L)= 1.2246K0.4612L-0.1277
这就是产值Q随资金K、劳动力L的变化规律。
如果想得到更直观的关系也可以画出他们之间的关系图形。
在a1.m中加如下命令
m=linspace(0,2.7,27);n=linspace(0,2.7,27);
[M,N]=meshgrid(m,n);
a=x(1)*(M.^x(2)).*(N.^x(3));
surf(M,N,a);
xlabel('K'),ylabel('L'),zlabel('Q')
则可以得到图1所示的图形,其中z轴表示产值Q。
图1
我们知道以上用的MATLAB的convefit() 函数,可以根据需要创建各自的函数去逼近已知数据。而不象函数polyfit() 是用多项式去逼近已知数据。但是用convefit()必须先确定函数的形式,然后再确定参数。所以有一个确定函数的过程,本题由于在经济学上已经知道产值Q、资金K、劳动力L之间满足著名的Cobb-Douglas生产函数关系,因此就省略了机理分析确定函数形式的这个过程。若实际问题的机理不清楚,或太复杂,就需要我们自己去假设,去大致确定。用polyfit()就没有以上麻烦的步骤(因为他有确定的形式,只需要确定未知参数)。但正因为这样简单,决定了他解决问题的粗躁性。但有一点可以知道,convefit()函数可以解决polyfit()函数所能解决的问题。
第二种方法:
由于产值Q、资金K、劳动力L之间有关系
Q(K,L)=aKαLβ
注意到该等式两边取对数后,lnQ是lnK和lnL的线性函数,即
lnQ=lna+αlnK+βlnL;
于是,可用线性函数拟合的方法确定未知参数x=[lna αβ]。
建立M文件:
Q=[1.05 1.18 1.29 1.30 1.30 1.42 1.50 1.52 1.46 1.60 1.69 1.81 1.93 1.95 2.01 2.00 2.09 1.96 2.20 2.12 2.16 2.08 2.24 2.56 2.34 2.45 2.58];
O=log([1.04 1.06 1.16 1.22 1.27 1.37 1.44 1.53 1.57 2.05 2.51 2.63 2.74 2.82 3.24 3.24 3.61 4.10 4.36 4.77 4.75 4.54 4.54 4.58 4.58 4.58 4.54;...
1.05 1.08 1.18 1.22 1.17 1.30 1.39 1.47 1.31 1.43 1.58 1.59 1.66 1.68 1.65 1.62 1.86 1.93 1.96 1.95 1.90 1.58 1.67 1.82 1.60 1.61 1.64]);
x0=[0.1,0.1,0.2];
x=leastsq('funleast',x0,[],[],O,log(Q));
a=exp(x(1)),
alfa=x(2),
beda=x(3),
得出:a=1.1766, α=0.4153, β=0.0619.
两种方法的比较:
由于两种方法作出的结果不同,我们可以用拟合出来的函数与以给数据点的最小平方误差来评判两结果的优劣。在程序a1.m后面增加几条语句
f1=curvefun(x,y);
e1=sum((a-f1).*(a-f1))
x2=[1.1766,0.4153,0.0619];
f2=curvefun(x2,y)
e2=sum((a-f2).*(a-f2))
输出e1=0.4230,e2=0.4456。可见第一种方法得出的结果好一些。即我们应采用关系式Q(K,L)=1.2246K0.4612L-0.1277
作为产值Q随资金K、劳动力L的变化规律。