数学建模-回归分析-多元回归分析

  • 格式:doc
  • 大小:2.24 MB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、 多元线性回归在回归分析中,如果有两个或两个以上的自变量,就称为

多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。

在实际经济问题中,一个变量往往受到多个变量的影响。例如,家庭消费支出,除了受家庭可支配收入的影响外,还受诸如家庭所有的财富、物价水平、金融机构存款利息等多种因素的影响,表现在线性回归模型中的解释变量有多个。这样的模型被称为多元线性回归模型。(multivariable linear regression model )

多元线性回归模型的一般形式为:

其中k 为解释变量的数目,j β

(j=1,2,…,k)称为回归系数(regression coefficient)。上式也被称为总体回归函数的随机表达式。它的非随机表达式为:

j β也被称为偏回归系数(partial regression coefficient)。

2、 多元线性回归计算模型

多元性回归模型的参数估计,同一元线性回归方程一样,也是在要求误差平方和(Σe)为最小的前提下,用最小二乘法或最大似然估计法求解参数。

设(

11

x ,

12

x ,…,

1p

x ,

1

y ),…,(

1

n x ,

2

n x ,…,

np

x ,

n

y )是一个样本,

用最大似然估计法估计参数:

到最小。

把(4)式化简可得:

引入矩阵:

方程组(5)可以化简得:

可得最大似然估计值:

3、Matlab 多元线性回归的实现

多元线性回归在Matlab 中主要实现方法如下:

(1)b=regress(Y, X ) 确定回归系数的点估计值

其中

(2)[b,bint,r,rint,stats]=regress(Y,X,alpha)求回归系数的点估计和区间估计、并检

验回归模型

①bint 表示回归系数的区间估计.

②r 表示残差

③rint 表示置信区间

④stats 表示用于检验回归模型的统计量,有三个数值:相关系数r2、F 值、与F 对应的

概率p

说明:相关系数r2越接近1,说明回归方程越显著;F>F1-alpha(p,n-p-1) 时拒绝H0,F

越大,说明回归方程越显著;与F 对应的概率p<α 时拒绝H0,回归模型成立。

⑤alpha 表示显著性水平(缺省时为0.05)

(3)rcoplot(r,rint) 画出残差及其置信区间

4.基于以上理论分析,求解回归方程

(1) 经分析,拟定以1月份数据进行分析求解回归方程,一月份数据如下表格。

设12345y PM2.5x x x x x 表示二氧化硫 表示二氧化碳 表示可吸入微粒物 表示一氧化碳 表示臭氧 表示

在Matlab 中输入一下程序:

>> x1=[53 47 57 61 55 56 51 58 64 61 74 62 59 50 54 63 57 56 54 55 54 72 57 58 53 85 72 63 47 44];

x2=[89 83 80 92 104 97 97 123 111 111 115 109 111 110 112 109 89 95 94 87 82 92 97 99 101 120 121 110 102 85];

x3=[76 88 51 81 96 99 121 157 127 159 145 143 131 136 124 159 145 137 111 91 82 116 119 112 106 156 236 149 120 96];

x4=[19 29 31 28 34 30 31 54 47 51 65 59 45 44 44 60 61 48 39 41 53 75 66 50 32 52 73 57 40 40 ];

x5=[30 8 13 8 8 10 28 9 8 24 4 27 38 27 9 5 15 36 26 12 11 8 24 32 43 19 18 30 62 23];

y=[90 143 58 142 175 215 250 309 273 329 299 299 246 261 260 295 282 262 204 179 227 277 242 226 173 266 426 307 230 201]; X=[ones(length(y),1),x1',x2',x3',x4',x5']; Y=y';

[b,bint,r,rint,stats]=regress(Y,X); >> b,bint,stats

运行结果为:

b =

-12.2923

-1.5271

0.8327

1.3775

2.0068

-0.3086

bint =

-106.3464 81.7618

-2.9355 -0.1186

-0.4217 2.0871

0.8554 1.8995

1.0254

2.9882

-1.0032 0.3860

stats =

0.9284 62.2206 0.0000 474.4773

因此可得出,

r2=0.9284,F=62.2206,p=0.0000 则p<0.05,回归模型为:

在Matlab命令中输入

Rcoplot(r,rint)