最新MATLAB一元线性回归方程的计算和检验.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateMATLAB一元线性回归方程的计算和检验MATLAB一元线性回归方程的计算和检验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. 每种计算法都要有计算框图,且每种计算法都要编成一个自定义函数。function yiyuanclc;disp('从键盘输入一组数据:');x=input('please Input data x:');y=input('please Input data y:');disp('一元线性回归的计算和检验:');disp('1.公式法');disp('2.最小二乘');disp('3.检验');disp('0.退出');global a0 b0;while 3 num=input('选择求解的方法:'); switch num case 1 a0,b0=huigui(x,y) case 2 a0,b0=zxec(x,y) case 3 break; case 0 return; otherwise disp('输入错误,请重先输入!'); endendX=x'Y=y'X=ones(size(X),X;alpha=0.5;b,bint,e,rint,stats=regress(Y,X)if stats(3)<alpha disp('有效的x')endn=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;for i=1:n x1=x1+x(i); y1=y1+y(i);endx0=x1/n;y0=y1/n;a1=0;a2=0;for j=1:n a1=a1+(x(j)-x0)*(y(j)-y0); a2=a2+(x(j)-x0)*(x(j)-x0);enda0=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=Ry'A=zeros(2,2);A(2,2)=n;B=zeros(2,1);for p=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);endA(2,1)=A(1,2);a0=a(1);b0=a(2);endMATLAB 线性回归 2011-07-03 09:40二、一元线性回归21命令 polyfit最小二乘多项式拟合 p,S=polyfit(x,y,m)多项式y=a1xm+a2xm-1+amx+am+1其中x=(x1,x2,xm)x1xm为(n*1)的矩阵;y为(n*1)的矩阵;p=(a1,a2,am+1)是多项式y=a1xm+a2xm-1+amx+am+1的系数;S是一个矩阵,用来估计预测误差.22命令 polyval多项式函数的预测值Y=polyval(p,x)求polyfit所得的回归多项式在x处的预测值Y;p是polyfit函数的返回值;x和polyfit函数的x值相同。23命令 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值相同。24 命令 polytool(x,y,m)一元多项式回归命令 25命令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)。 三、多元线性回归31命令 regress(见2。5)32命令 rstool 多元二项式回归命令:rstool(x,y,model, alpha)x 为n*m矩阵y为 n维列向量model 由下列4个模型中选择1个(用字符串输入,缺省时为线性模型):linear(线性):purequadratic(纯二次): interaction(交叉):quadratic(完全二次):alpha 显著性水平(缺省时为0.05)返回值beta 系数返回值rmse剩余标准差返回值residuals残差 四、非线性回归41命令 nlinfitbeta,R,J=nlinfit(X,Y,model,beta0)X 为n*m矩阵Y为 n维列向量model为自定义函数beta0为估计的模型系数beta为回归系数R为残差J 42命令 nlintoolnlintool(X,Y,model,beta0,alpha)X 为n*m矩阵Y为 n维列向量model为自定义函数beta0为估计的模型系数alpha显著性水平(缺省时为0.05) 43命令 nlparcibetaci=nlparci(beta,R,J)beta为回归系数R为残差J返回值为回归系数beta的置信区间 44命令 nlpredciY,DELTA=nlpredci(model,X,beta,R,J)Y为预测值DELTA为预测值的显著性为1-alpha的置信区间;alpha缺省时为0.05。X 为n*m矩阵model为自定义函数beta为回归系数R为残差J-