没有合适的资源?快使用搜索试试~ 我知道了~
前言 1、学三条命令 polyfit(x,y,n)---拟合成一元幂函数(一元多次) regress(y,x)----可以多元, nlinfit(x,y,’fun’,beta0) (可用于任何类型的函数,任意多元函数,应用范围最主,最万能的) 2、同一个问题,这三条命令都可以使用,但结果肯定是不同的,因为拟合的近似结果,没有唯一的标准的答案。相当于咨询多个专家。 3、回归的操作步骤: 根据图形(实际点),选配一条恰当的函数形式(类型)---需要数学理论与基础和经验。(并写出该函数表达式的一般形式,含待定系数)------选用某条回归命令求出所有的待定系数。所以可以说,回归就是求待定系数的过程(需确定函数的形式)
资源推荐
资源详情
资源评论
matlab 回归(拟合)总结
前言
1、学三条命令
polyfit(x,y,n)---拟合成一元幂函数(一元多次)
regress(y,x)----可以多元,
nlinfit(x,y,’fun’,beta0) (可用于任何类型的函数,任意多元函数,应用范围最主,最万
能的)
2、同一个问题,这三条命令都可以使用,但结果肯定是不同的,因为拟合的近似结果,
没有唯一的标准的答案。相当于咨询多个专家。
3、回归的操作步骤:
根据图形(实际点),选配一条恰当的函数形式(类型)---需要数学理论与基础和经验。
(并写出该函数表达式的一般形式,含待定系数)------选用某条回归命令求出所有的待定系
数。所以可以说,回归就是求待定系数的过程(需确定函数的形式)
一、回归命令
一元多次拟合 polyfit(x,y,n);一元回归 polyfit;多元回归 regress---nlinfit(非线性)
二、多元回归分析
对于多元线性回归模型(其实可以是非线性,它通用性极高):
exxy
pp
�����
���
�
110
设变量
1 2
, , ,
p
x x x yL
的 n 组观测值为
1 2
( , , , ) 1, 2, ,
i i ip i
x x x y i n=L L
记
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
npnn
p
p
xxx
xxx
xxx
x
�
�����
�
�
21
22221
11211
1
1
1
,
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
n
y
y
y
y
�
2
1
,则
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
p
�
�
�
�
�
1
0
的估计值为排列方式
与线性代数中的线性方程组相同(),拟合成多元函数---regress
使用格式:左边用 b=[b, bint, r, rint, stats]右边用=regress(y, x)或 regress(y, x, alpha)
---命令中是先 y 后 x,
---须构造好矩阵 x(x 中的每列与目标函数的一项对应)
---并且 x 要在最前面额外添加全 1 列/对应于常数项
---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-----点估计----区间估计
此段上课时不要:---- 如果
i
b
的置信区间(bint 的第
1i +
行)不包含 0,则在显著水
平为
a
时拒绝
0
i
b
=
的假设,认为变量
i
x
是显著的.*******(而 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
88
91
92
93
93
95
96
98
97
96
98
99
100
102
配成 y=a+b*x 形式
>> x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]';
>> y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]';
140 145 150 155 160 165
84
86
88
90
92
94
96
98
100
102
>> 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.7071 1.5612------每一行为一个区间
0.7194 0.6047 0.8340
stats = 0.9282 180.9531 0.0000
即
7194.0
ˆ
,073.16
ˆ
10
���
��
;
0
ˆ
�
的 置 信 区 间 为 [-33.7017 , 1.5612],
1
ˆ
�
的 置 信 区 间 为
[0.6047,0.834]; r
2
=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 能较好的符合原始数据,而第二个数
据可视为异常点(而剔除)
2 4 6 8 10 12 14 16
-5
-4
-3
-2
-1
0
1
2
3
4
Residual Case Order P lot
Residuals
Case Number
4、预测及作图:
>> plot(x,y,'r+') >> hold on
>> a=140:165; >> b=b(1)+b(2)*a;
>> plot(a,b,'g')
例 2
观测物体降落的距离 s 与时间 t 的关系,得到数据如下表,求 s 关于 t 的回归方程
2
ˆ
ctbtas ���
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
t (s)
8/30
9/30
10/30
11/30
12/30
13/30
14/30
s (cm)
61.49
72.90
85.44
99.08
113.77
129.54
146.48
法一:直接作二次多项式回归
t=1/30:1/30:14/30;
s=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54
146.48];
>> [p,S]=polyfit(t,s,2)
p =489.2946 65.8896 9.1329
得回归模型为 :
1329.98896.652946.489
ˆ
2
��� tts
140 145 150 155 160 165
84
86
88
90
92
94
96
98
100
102
剩余29页未读,继续阅读
资源评论
风,风,风
- 粉丝: 4
- 资源: 99
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功