matlab多元非线性回归_精品文档Word文档格式.doc

上传人:b****2 文档编号:14435721 上传时间:2022-10-22 格式:DOC 页数:22 大小:235KB
下载 相关 举报
matlab多元非线性回归_精品文档Word文档格式.doc_第1页
第1页 / 共22页
matlab多元非线性回归_精品文档Word文档格式.doc_第2页
第2页 / 共22页
matlab多元非线性回归_精品文档Word文档格式.doc_第3页
第3页 / 共22页
matlab多元非线性回归_精品文档Word文档格式.doc_第4页
第4页 / 共22页
matlab多元非线性回归_精品文档Word文档格式.doc_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

matlab多元非线性回归_精品文档Word文档格式.doc

《matlab多元非线性回归_精品文档Word文档格式.doc》由会员分享,可在线阅读,更多相关《matlab多元非线性回归_精品文档Word文档格式.doc(22页珍藏版)》请在冰豆网上搜索。

matlab多元非线性回归_精品文档Word文档格式.doc

---y必须是列向量

---结果是从常数项开始---与polyfit的不同。

其中:

b为回归系数,的估计值(第一个为常数项),bint为回归系数的区间估计,r:

残差,rint:

残差的置信区间,stats:

用于检验回归模型的统计量,有四个数值:

相关系数r2、F值、与F对应的概率p和残差的方差(前两个越大越好,后两个越小越好),alpha:

显著性水平(缺省时为0.05,即置信水平为95%),(alpha不影响b,只影响bint(区间估计)。

它越小,即置信度越高,则bint范围越大。

显著水平越高,则区间就越小)(返回五个结果)---如有n个自变量-有误(n个待定系数),则b中就有n+1个系数(含常数项,---第一项为常数项)(b---b的范围/置信区间---残差r---r的置信区间rint-----点估计----区间估计

此段上课时不要:

----如果的置信区间(bint的第行)不包含0,则在显著水平为时拒绝的假设,认为变量是显著的.*******(而rint残差的区间应包含0则更好)。

b,y等均为列向量,x为矩阵(表示了一组实际的数据)必须在x第一列添加一个全1列。

----对应于常数项-------而nlinfit不能额外添加全1列。

结果的系数就是与此矩阵相对应的(常数项,x1,x2,……xn)。

(结果与参数个数:

1/5=2/3-----y,x顺序---x要额外添加全1列)

而nlinfit:

1/3=4------x,y顺序---x不能额外添加全1列,---需编程序,用于模仿需拟合的函数的任意形式,一定两个参数,一为系数数组,二为自变量矩阵(每列为一个自变量)

有n个变量---不准确,x中就有n列,再添加一个全1列(相当于常数项),就变为n+1列,则结果中就有n+1个系数。

x需要经过加工,如添加全1列,可能还要添加其他需要的变换数据。

相关系数r2越接近1,说明回归方程越显著;

(r2越大越接近1越好)F越大,说明回归方程越显著;

(F越大越好)与F对应的概率p越小越好,一定要P<

a时拒绝H0而接受H1,即回归模型成立。

乘余(残差)标准差(RMSE)越小越好(此处是残差的方差,还没有开方)(前两个越大越好,后两个越小越好)

regress多元(可通过变形而适用于任意函数),15/23顺序(y,x---结果是先常数项,与polyfit相反)y为列向量;

x为矩阵,第一列为全1列(即对应于常数项),其余每一列对应于一个变量(或一个含变量的项),即x要配成目标函数的形式(常数项在最前)x中有多少列则结果的函数中就有多少项

首先要确定要拟合的函数形式,然后确定待定的系,从常数项开始排列,须构造x(每列对应于函数中的一项,剔除待定系数),拟合就是确定待定系数的过程(当然需先确定函数的型式)

重点:

regress(y,x)重点与难点是如何加工处理矩阵x。

y是函数值,一定是只有一列。

也即目标函数的形式是由矩阵X来确定

如s=a+b*x1+c*x2+d*x3+e*x1^2+f*x2*x3+g*x1^2,

一定有一个常数项,且必须放在最前面(即x的第一列为全1列)

X中的每一列对应于目标函数中的一项(目标函数有多少项则x中就有多少列)

X=[ones,x1,x2,x3,x1.^2,x2.*x3,x1.ˆ2](剔除待定系数的形式)

regress:

y/x顺序,矩阵X需要加工处理

nlinfit:

x/y顺序,X/Y就是原始的数据,不要做任何的加工。

(即regress靠矩阵X来确定目标函数的类型形式(所以X很复杂,要作很多处理)而nlinfit是靠程序来确定目标函数的类型形式(所以X就是原始数据,不要做任何处理)

例1

测16名成年女子的身高与腿长所得数据如下:

身高

143

145

146

147

149

150

153

154

155

156

157

158

159

160

162

164

腿长

88

85

91

92

93

95

96

98

97

99

100

102

配成y=a+b*x形式

>

x=[143145146147149150153154155156157158159160162164]'

;

y=[8885889192939395969897969899100102]'

plot(x,y,'

r+'

z=x;

x=[ones(16,1),x];

----常数项

[b,bint,r,rint,stats]=regress(y,x);

---处结果与polyfit(x,y,1)相同

b,bint,stats

得结果:

b=bint=

-16.0730-33.70711.5612------每一行为一个区间

0.71940.60470.8340

stats=0.9282180.95310.0000

即;

的置信区间为[-33.7017,1.5612],的置信区间为[0.6047,0.834];

r2=0.9282,F=180.9531,p=0.0。

p<

0.05,可知回归模型y=-16.073+0.7194x成立.

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

-----结果相同

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

polyfit(x,y,1)-----当为一元时(也只有一组数),则结果与regress是相同的,只是

命令中x,y要交换顺序,结果的系数排列顺序完全相反,x中不需要全1列。

ans=0.7194-16.0730--此题也可用polyfit求解,杀鸡用牛刀,脖子被切断。

3、残差分析,作残差图:

rcoplot(r,rint)

从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点(而剔除)

4、预测及作图:

)>

holdon

a=140:

165;

>

b=b

(1)+b

(2)*a;

plot(a,b,'

g'

例2

观测物体降落的距离s与时间t的关系,得到数据如下表,求s关于t的回归方程

t(s)

1/30

2/30

3/30

4/30

5/30

6/30

7/30

s(cm)

11.86

15.67

20.60

26.69

33.71

41.93

51.13

8/30

9/30

10/30

11/30

12/30

13/30

14/30

61.49

72.90

85.44

99.08

113.77

129.54

146.48

法一:

直接作二次多项式回归

t=1/30:

1/30:

14/30;

s=[11.8615.6720.6026.6933.7141.9351.1361.4972.9085.4499.08113.77129.54146.48];

>

[p,S]=polyfit(t,s,2)

p=489.294665.88969.1329

得回归模型为:

方法二----化为多元线性回归:

t=1/30:

s=[11.8615.6720.6026.6933.7141.9351.1361.4972.9085.4499.08113.77129.54146.48];

T=[ones(14,1),t'

(t.^2)'

]%?

是否可行?

等验证...----因为有三个待定系数,所以有三列,始于常数项

[b,bint,r,rint,stats]=regress(s'

T);

b,stats

b=9.1329

65.8896

489.2946

stats=1.0e+007*

0.00001.037800.0000

%结果与方法1相同

T=[ones(14,1),t,(t.^2)'

]%?

等验证...

polyfit------一元多次

regress----多元一次---其实通过技巧也可以多元多次

regress最通用的,万能的,表面上是多元一次,其实可以变为多元多次且任意函数,如x有n列(不含全1列),则表达式中就有n+1列(第一个为常数项,其他每项与x的列序相对应)?

?

此处的说法需进一步验证证……………………………

例3

设某商品的需求量与消费者的平均收入、商品价格的统计数据如下,建立回归模型,预测平均收入为1000、价格为6时的商品需求量.

需求量

75

80

70

50

65

90

110

60

收入

1000

600

1200

500

300

400

1300

1100

价格

5

7

6

8

4

3

9

选择纯二次模型,即

----用户可以任意设计函数

x1=[10006001200500300400130011001300300];

x2=[5766875439];

y=[10075807050659010011060]'

X=[ones(10,1)x1'

x2'

(x1.^2)'

(x2.^2)'

];

%注意技巧性?

[

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1