matlab中f分布,一元线性回归的matlab实现(含R方和F分布检验)

一元线性回归的matlab实现(含检验)【更新】说明:正文中命令部分可以直接在Matlab中运行,作者(Yangfd09_LZU)在

MATLAB R2009a(7.8.0.347)中运行通过

%求一元线性回归方程

%数据要求:两行。第一行存放x的观察值,第二行存放y的观察值

%数据文件名:data_yyhg.mat;变量名:test

%load data_yyhg.mat

N=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;

for i=1:N

sx=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;

end

r=[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;

for i=1:N

ssd=ssd+(test(2,i)-y(i))^2;

ssr=ssr+(y(i)-eq)^2;

end

sst=ssd+ssr;

RR=ssr/sst;

%命令窗口中显示回归方程

str=[blanks(5),'y=','(',num2str(a),')','+','(',num2str(b),')','*x'];

disp(' ')

disp('回归方程为:')

disp(str)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值