MALAB一元线性回归方程的计算和检验.docx
- 文档编号:9243356
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:8
- 大小:22.08KB
MALAB一元线性回归方程的计算和检验.docx
《MALAB一元线性回归方程的计算和检验.docx》由会员分享,可在线阅读,更多相关《MALAB一元线性回归方程的计算和检验.docx(8页珍藏版)》请在冰点文库上搜索。
MALAB一元线性回归方程的计算和检验
1.从input语句键盘输入一组数据(xi,yi),i=1,2,…n。
2.计算一元线性回归方程y=ax+b的系数a和b,用两种方法计算:
一是公式:
;
二是用最小二乘法的公式求出最小值点(a,b),使
3.检验回归方程是否有效(用F分布检验)。
4.把散列点(xi,yi)和回归曲线y=ax+b画在一个图上。
5.每种计算法都要有计算框图,且每种计算法都要编成一个自定义函数。
functionyiyuan
clc;
disp('从键盘输入一组数据:
');
x=input('pleaseInputdatax:
');
y=input('pleaseInputdatay:
');
disp('一元线性回归的计算和检验:
');
disp('1.公式法');
disp('2.最小二乘');
disp('3.检验');
disp('0.退出');
globala0b0;
while3
num=input('选择求解的方法:
');
switchnum
case1
[a0,b0]=huigui(x,y)
case2
[a0,b0]=zxec(x,y)
case3
break;
case0
return;
otherwise
disp('输入错误,请重先输入!
');
end
end
X=x';Y=y';
X=[ones(size(X)),X];alpha=0.5;
[b,bint,e,rint,stats]=regress(Y,X)
ifstats(3) disp('有效的x') end n=[min(x): 0.1: max(x)]; f=a0*n+b0; xlabel('x','b');ylabel('y','r');legend('散点','k'); end %................................. function[a0,b0]=huigui(x,y) n=length(x); x1=0;y1=0; fori=1: n x1=x1+x(i); y1=y1+y(i); end x0=x1/n; y0=y1/n; a1=0;a2=0; forj=1: n a1=a1+(x(j)-x0)*(y(j)-y0); a2=a2+(x(j)-x0)*(x(j)-x0); end a0=a1/a2; b0=y0-a0*x0; x2=min(x): 0.05: max(x); y2=a0*x2+b0; end %............................... function[a0,b0]=zxec(x,y) %m=length(x); %R=[x'ones(m,1)];a=R\y'; A=zeros(2,2); A(2,2)=n; B=zeros(2,1); forp=1: n A(1,1)=A(1,1)+x(i)*x(i); A(1,2)=A(1,2)+x(i); B(1,1)=B(1,1)+x(i)*y(i); B(2,1)=B(2,1)+y(i); end A(2,1)=A(1,2); a0=a (1);b0=a (2); end MATLAB线性回归 2011-07-0309: 40 二、一元线性回归 2.1.命令 polyfit最小二乘多项式拟合 [p,S]=polyfit(x,y,m) 多项式y=a1xm+a2xm-1+…+amx+am+1 其中x=(x1,x2,…,xm)x1…xm为(n*1)的矩阵; y为(n*1)的矩阵; p=(a1,a2,…,am+1)是多项式y=a1xm+a2xm-1+…+amx+am+1的系数; S是一个矩阵,用来估计预测误差. 2.2.命令 polyval多项式函数的预测值 Y=polyval(p,x)求polyfit所得的回归多项式在x处的预测值Y; p是polyfit函数的返回值; x和polyfit函数的x值相同。 2.3.命令 polyconf 残差个案次序图 [Y,DELTA]=polyconf(p,x,S,alpha)求polyfit所得的回归多项式在x处的预测值Y及预测值的显著性为1-alpha的置信区间DELTA;alpha缺省时为0.05。 p是polyfit函数的返回值; x和polyfit函数的x值相同; S和polyfit函数的S值相同。 2.4 命令 polytool(x,y,m)一元多项式回归命令 2.5.命令regress多元线性回归(可用于一元线性回归) b=regress(Y, X) [b,bint,r,rint,stats]=regress(Y,X,alpha) b 回归系数 bint 回归系数的区间估计 r 残差 rint 残差置信区间 stats 用于检验回归模型的统计量,有三个数值: 相关系数R2、F值、与F对应的概率p,相关系数R2越接近1,说明回归方程越显著;F>F1-α(k,n-k-1)时拒绝H0,F越大,说明回归方程越显著;与F对应的概率p 时拒绝H0,回归模型成立。 Y为n*1的矩阵; X为(ones(n,1),x1,…,xm)的矩阵; alpha显著性水平(缺省时为0.05)。 三、多元线性回归 3.1.命令 regress(见2。 5) 3.2.命令 rstool 多元二项式回归 命令: rstool(x,y,’model’,alpha) x 为n*m矩阵 y为 n维列向量 model 由下列4个模型中选择1个(用字符串输入,缺省时为线性模型): linear(线性): purequadratic(纯二次): interaction(交叉): quadratic(完全二次): alpha 显著性水平(缺省时为0.05) 返回值beta 系数 返回值rmse剩余标准差 返回值residuals残差 四、非线性回归 4.1.命令 nlinfit [beta,R,J]=nlinfit(X,Y,’’model’,beta0) X 为n*m矩阵 Y为 n维列向量 model为自定义函数 beta0为估计的模型系数 beta为回归系数 R为残差 J 4.2.命令 nlintool nlintool(X,Y,’model’,beta0,alpha) X 为n*m矩阵 Y为 n维列向量 model为自定义函数 beta0为估计的模型系数 alpha显著性水平(缺省时为0.05) 4.3.命令 nlparci betaci=nlparci(beta,R,J) beta为回归系数 R为残差 J 返回值为回归系数beta的置信区间 4.4.命令 nlpredci [Y,DELTA]=nlpredci(‘model’,X,beta,R,J) Y为预测值 DELTA为预测值的显著性为1-alpha的置信区间;alpha缺省时为0.05。 X 为n*m矩阵 model为自定义函数 beta为回归系数 R为残差 J THANKS! ! ! 致力为企业和个人提供合同协议,策划案计划书,学习课件等等 打造全网一站式需求 欢迎您的下载,资料仅供参考
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MALAB 一元 线性 回归 方程 计算 检验