用MATLAB求解回归分析
时间:2025-02-24
时间:2025-02-24
用MATLAB求解回归分析
统计工具箱中的回归分析命令多元线性回归y = β 0 + β 1 x1 + ... + β p x p
1、确定回归系数的点估计值: 、确定回归系数的点估计值:
b=regress( Y, X ) β0 β b= 1 ... β p
Y1 Y Y = 2 ... Yn
1 x11 1 x 21 X = ... ... 1 x n1
x12 x 22 ... xn 2
... x1 p ... x 2 p ... ... ... x np
对一元线性回归,取p=1即可。
用MATLAB求解回归分析
2、求回归系数的点估计和区间估计、并检验回归模型: 、求回归系数的点估计和区间估计、并检验回归模型: [b, bint,r,rint,stats]=regress(Y,X,alpha)回 归 系 数 的 区 间 估 计 F 检验回归模型的 计 数 : 系数r2、 、 F 的 p 差 区 间 时 为 水 0 平 05 ) . 性 残 信 省 著 置 (缺 显
系数 r2 F > F1F k 的 n-k-1
1
回归 H0 F H0 回归模型 回归 .
p< α
3、 、
区间: 区间:
rcoplot
r
rint
用MATLAB求解回归分析
、输入数据: 例1 解:1、输入数据: x=[143 145 146 147 149 150 153 154 155 156 157 158 159 题目 160 162 164]'; X=[ones(16,1) x]; Y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]'; 2、回归分析及检验: 、回归分析及检验: [b,bint,r,rint,stats]=regress(Y,X) b,bint,stats得结果:b = -16.0730 0.7194 stats = 0.9282 180.9531 0.0000 bint = -33.7071 0.6047 1.5612 0.8340
即 β 0 = 16.073, β 1 = 0.7194 ; β 0 的置信区间为[-33.7017,1.5612], β 1 的置信区间为[0.6047,0.834];
r2=0.9282, F=180.9531, p=0.0000 p<0.05, 可知回归模型 y=-16.073+0.7194x 成立.
用MATLAB求解回归分析
3、残差分析,作残差图: 、残差分析,作残差图: rcoplot(r,rint) 从残差图可以看出,除第二个数据外,其余数据的残 差离零点均较近,且残差的置信区间均包含零点,这说明 回归模型 y=-16.073+0.7194x能较好的符合原始数据,而第 二个数据可视为异常点.Residual Case Order Plot 4
4、预测及作图: 、预测及作图: z=b(1)+b(2)*x plot(x,Y,'k+',x,z,'r')
3 2 1 Residuals 0 -1 -2 -3 -4 -5 2 4 6 8 10 Case Number 12 14 16
用MATLAB求解回归分析
多项式回归 (一)一元多项式回归 y=a1xm+a2xm-1+…+amx+am+1 1、回归: 、回归: (1)确定多项式系数的命令:[p,S]=polyfit(x,y,m) ) 其中 x=(x1,x2,…,xn) ,y=(y1,y2 ,…,yn) ; m m-1 p=(a1,a2,…,am+1)是多项式 y=a1x +a2x +…+amx+am+1 的系数;S 是一个矩阵,用来估计预测误差. 2) polytool x y m (2)一元多项式回归命令:polytool(x,y,m) 2、预测和预测误差估计: 、预测和预测误差估计: (1)Y=polyval(p,x)求polyfit所得的回归多项式在 x处 的预测值Y; (2)[Y,DELTA]=polyconf(p,x,S,alpha)求 polyfit所得的回归多项式在x处的预测值Y及预测值的 显著性为 1-alpha的置信区间Y DELTA;alpha缺省时为0.5
用MATLAB求解回归分析
例 2 观测物体降落的距离 s 与时
间 t 的关系,得到数据如下表, 求 s 关于 t 的回归方程 s = a + bt + ct 2 .t s (s) (cm) 1/30 11.86 2/30 15.67 3/30 20.60 4/30 26.69 5/30 33.71 6/30 41.93 7/30 51.13
t s
(s) (cm)
8/30 61.49
9/30 72.90
10/30 85.44
11/30 99.08
12/30 113.77
13/30 129.54
14/30 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) 得回归模型为 : s = 489.2946t 2 + 65.8896t + 9.1329
用MATLAB求解回归分析
法二 化为多元线性回归: 化为多元线性回归: 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]; T=[ones(14,1) t' (t.^2)']; [b,bint,r,rint,stats]=regress(s',T); b,stats 得回归模型为 : s = 9.1329 + 65.8896t + 489.2946t 2 预测及作图 Y=polyconf(p,t,S) plot(t,s,'k+',t,Y,'r')
用MATLAB求解回归分析
(二)多元二项式回归 命令:rstool(x,y,’model’, alpha) n×m矩阵 n维列向量 显著性水平 (缺省时为0.05)
由下列 4 个模型中选择 1 个(用字符串输入,缺省时为线性模型): linear(线性): y = β 0 + β 1 x1 + L + β m x m purequadratic(纯二次): interaction(交叉): y =
y = β 0 + β 1 x1 + L + β m x m + ∑ β jj x 2 jj =1
n
β 0 + β 1 x1 + L + β m x m +
1≤ j ≠ k ≤ m
∑
β jk x j x k β jk x j x k
quadratic(完全二次): y =
β 0 + β 1 x1 + L + β m x m +
1≤ j , k ≤ m
∑
用MATLAB求解回归分析
例3 设某商品的需求量与消费者的平均收入、商品价格的统计数 据如下,建立回归模型,预测平均收入为1000、价格为6时 的商品需求量.需求量 收入 价格 100 1000 5 75 600 7 80 1200 6 70 500 6 50 300 8 65 400 7 90 1300 5 100 1100 4 110 1300 3 60 300 9
方法一
2 2 选择纯二次模型,即 y = β 0 + β 1 x1 + β 2 x 2 + β 11 x1 + β 22 x 2
直接用多元二项式回归: x1=[1000 600 1200 500 300 400 1300 1100 1300 300]; x2=[5 7 6 6 8 7 5 4 3 9]; y=[100 75 80 70 50 65 90 100 110 60]'; x=[x1' x2']; rstool(x,y,'purequadratic')
用MATLAB求解回归分析
在左边图形下方的方框中输入1000,右边图形下方的方框中输入6。 则画面左边的“Predicted Y”下方的数据变为88.47981,即预测 出平均收入为1000、价格为6时的商品需求量为88.4791. 在画面左下方的下拉式菜单中选”all”, 则beta、rmse和residuals都 传送到Matlab工作区中.
用MATLAB求解回归分析
在Matlab工作区中输入命令: beta, rmse得结 …… 此处隐藏:3019字,全部文档内容请下载后查看。喜欢就下载吧 ……