MatLab应用范例之财政收入预测问题数学模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MatLab应用范例之
财政收入预测问题数学模型
赵崇新
本文的唯一授权方为百度文库,为保证您使用的版本为正版,请到百度文库购买。请支持原创,您的支持是我前进的动力!
摘要:本文给出财政收入及其相关因素的样本数据,分别建立线性回归模型,逐步回归模型和广义差分模型对其进行分析,最后得出逐步回归模型为其最佳预测模型。
关键词:线性回归模型;逐步回归模型;广义差分模型;统计回归模型财政收入与国民收入、工业总产值、农业总产值、总人口、就业人口、固定
下面分别建立线性回归模型,逐步回归模型和广义差分模型,对样本数据进
行分析。
1.线性回归模型[1] ⑴模型假设
设第t 年的国民收入为t x 1、工业总产值t x 2、农业总产值t x 3、总人口t x 4、就业人口t x 5、固定资产投资t x 6,财政收入为t y .为了大致地分析t y 与nt x (6~1 n )的关系,分别画出它们的散点图.先在Matlab 中创建样本数据的M 文件,命名为“data1”,再在命令窗口输入: M=dlmread('data1.m'); y=M(:,8); x1=M(:,2);
[p,s]=polyfit(x1,y,1); y1=polyval(p,x1);
plot(x1,y,'o',x1,y1,'r-') xlabel('x1t'),ylabel('yt')
可得t y 对t x 1的散点图,其他如此类推.
图1.1 t y 对t x 1的散点图 图1.2 t y 对t x 2的散点图
图1.3 t y 对t x 3的散点图 图1.4 t y 对t x 4的散点图
图1.5 t y 对t x 5的散点图 图1.6 t y 对t x 6的散点图
⑵模型建立
可见,t y 与nt x 基本呈线性关系,建立线性回归模型:
t t t t t t t t x b x b x b x b x b x b b y ε+++++++=6655443322110
式中,6543210,,,,,,b b b b b b b 为回归系数,t ε为随机误差, )1,0(~N t ε.
⑶模型求解
在Matlab 的命令窗口输入: M=dlmread('data1.m'); y1=M(:,8); n=size(M,1);
X1=[ones(n,1) M(:,2:7)];
[b1 bint1 r1 rint1 s1]=regress(y1,X1)
得到:
t t t t t t t t x x x x x x y ε++++=6543210.3165.00280-0008.05125.0-0.012-5854.059.14401
⑷结果分析
因为15983.021≈=R ,42.2)03,6(5292.22850.01=>=F F ,50.001<=p ,所以从整体来看,模型基本可用.
检查6543210,,,,,,b b b b b b b 的估计值及其置信区间,发现0b 的置信区间包含零点,这表明模型并不可靠.
因为01=p ,所以可能存在变量之间的多重共线性.下面用判定系数检验法判断是否存在多重共线性.在Matlab 的命令窗口输入: M=dlmread('data1.m'); n=size(M,1);
X1=[ones(n,1) M(:,2:7)]; R=corrcoef(X1)
可得nt x 的自相关系数,如下表:
表1.4 n x 的自相关系数
可见,nt x 的自相关系数大部分都超过0.85,所以变量之间存在多重共线性.为了消除变量之间的多重共线性,可用逐步回归法消除.
2.逐步回归模型[1] ⑴模型建立
在Matlab 的命令窗口输入: M=dlmread('data1.m'); y1=M(:,8); n=size(M,1);
X1=[ones(n,1) M(:,2:7)]; stepwise(X1,y1)
[b2,bint2,r2,rint2,s2]=regress(y1,[ones(n,1) X1(:,[1])])
弹出Stepwise Regression 对话框,按下All Steps 键后,显示如下:
图2.1 逐步回归模型的计算结果
得到逐步回归模型:
t t t t t x x x y ε++=6420.0041-0.7501-0.60776.768427
⑵结果分析
虽然5983.09813.0212
2=<=R R ,但5292.22855.337412=>=F F ,且按下
Export 键,确保勾上Coefficients 项与Confidence Intervals 项,在Workspace 可查得:
变量之间的多重共线性虽然已经消除,但是同一变量可能存在序列相关性,可用广义差分法消除.
3.广义差分模型[1] ⑴模型建立
设ρ为残差的自相关系数,由⎩⎨
⎧++++=++++=1-1)-6(61)-(441)-(2201-6644220t t t t t t
t t t t x b x b x b b y x b x b x b b y ρερρρρρε两式相减得:
)
-()-()-()-()-1(-1-1)-(6661)-(4441)-(22201-t t t t t t t t t t x x b x x b x x b b y y ρεερρρρρ++++=作广义差分变换,令1-*-t t t y y y ρ=,1)-(*-t i it t x x x =,1--t t t u ρεε=则
t t t t t u x b x b x b b y ++++=*
66*44*220*
用Matlab 的命令窗口输入:
M=dlmread('data1.m'); y1=M(:,8); n=size(M,1);
X1=[ones(n,1) M(:,2:7)];
[b2,bint2,r2,rint2,s2]=regress(y1,[ones(n,1) X1(:,[2,4,6])]);
DW=sum(diff(r2).^2)/sum(r2(2:n).^2) rho=1-DW/2
y3=y1(2:n,:)-rho*M(1:n-1,8);
X3=M(2:n,[2,4,6])-rho*M(1:n-1,[2,4,6]);
[b3 bint3 r3 rint3 s3]=regress(y3,[ones(n-1,1) X3])
得到: