MatLab应用范例之财政收入预测问题数学模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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])

得到:

相关文档
最新文档