您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > 一元线性回归的matlab实现(含R方和F分布检验)
一元线性回归的matlab实现(含检验)【更新】说明:正文中命令部分可以直接在Matlab中运行,作者(Yangfd09_LZU)在MATLABR2009a(7.8.0.347)中运行通过%求一元线性回归方程%数据要求:两行。第一行存放x的观察值,第二行存放y的观察值%数据文件名:data_yyhg.mat;变量名:test%loaddata_yyhg.matN=length(test(1,:));%注:也可以用[M,N]=size(test)%但不能用N=size(test(1,:))sx=0;sx2=0;sy=0;sy2=0;sxy=0;Lxy=0;Lyy=0;fori=1:Nsx=sx+test(1,i);sx2=sx2+test(1,i)^2;sy=sy+test(2,i);sy2=sy2+test(2,i)^2;sxy=sxy+test(1,i)*test(2,i);Lxy=Lxy+(test(1,i)-sum(test(1,:))/N)*(test(2,i)-sum(test(2,:)/N));Lyy=Lyy+(test(2,i)-sum(test(2,:))/N)^2;endr=[N,sx;sx,sx2]\[sy;sxy];a=r(1);b=r(2);%F分布检验U=b*Lxy;Q=Lyy-U;F=(N-2)*U/Q;%拟合优度检验x=test(1,:);y=a+b*x;eq=sum(test(2,:))/N;ssd=0;ssr=0;fori=1:Nssd=ssd+(test(2,i)-y(i))^2;ssr=ssr+(y(i)-eq)^2;endsst=ssd+ssr;RR=ssr/sst;%命令窗口中显示回归方程str=[blanks(5),'y=','(',num2str(a),')','+','(',num2str(b),')','*x'];disp('')disp('回归方程为:')disp(str)disp('R^2拟合优度检验:')strin=['R^2=',num2str(RR)];disp(strin)disp('F-分布显著性检验:')stri=['F计算值:',num2str(F),blanks(4),'自由度:f1=1,f2=',num2str(N-2)];disp(stri)disp('注:请对照F-分布表找到所需置信水平下的F临界值Fa,若FFa,则通过检验。')%绘制x-y散点图和回归直线yy=a+b*test(1,:);plot(test(1,:),test(2,:),'r.'),holdonplot(test(1,:),yy,'b-'),holdofftitle(str)附(可以直接粘贴到.mat文件中):3.845.8811.314.416.516.213.810.86.74.777.751.260.154.155.456.84555.367.573.376.679.6
本文标题:一元线性回归的matlab实现(含R方和F分布检验)
链接地址:https://www.777doc.com/doc-4727138 .html