[matlab]多元线性回归regress

回归分析

回归分析(英语:Regression Analysis)是一种统计学上分析数据的方法,目的在于了解两个或多个变量间是否相关、相关方向与强度,并建立数学模型以便观察特定变量来预测研究者感兴趣的变量。更具体的来说,回归分析可以帮助人们了解在只有一个自变量变化时因变量的变化量。一般来说,通过回归分析我们可以由给出的自变量估计因变量的条件期望。

回归分析是建立因变量 Y Y(或称依变量,反因变量)与自变量 X(或称独变量,解释变量)之间关系的模型。简单线性回归使用一个自变量 X,复回归使用超过一个自变量( X1,X2...Xi X 1 , X 2 . . . X i )

wikipadia回归分析

regress调用格式

regress用于一元及多元线性回归,本质上是最小二乘法,可以通过help命令查看更具体内容

b = regress(Y,X)
//确定回归系数的点估计值

b 为回归系数向量

[b,BINT] = regress(Y,X)
[b,BINT,R] = regress(Y,X)
[b,BINT,R,RINT] = regress(Y,X)
[b,BINT,R,RINT,STATS] = regress(Y,X)
[b,BINT,R,RINT,STATS] = regress(Y,X,ALPHA)
// 求回归系数的点估计和区间估计、并检验回归
模型
  • BINT 回归系数的估计区间
  • R 残差
  • RINT 置信区间
  • STATS 用于检验回归模型的统计量。有4个数值:判定系数 r2 r 2 ,F统计量观测值,检验的p的值,误差方差的估计

r2 r 2 越接近1,回归方程越显著; F>F1α(k,nk1) F > F 1 − α ( k , n − k − 1 ) 时拒绝 H0 H 0 ,F越大,回归方程越显著; p<α p < α 时拒绝 H0 H 0

  • ALPHA 显著性水平(缺少时默认0.05)
简单例子

y=[7613.51 7850.91 8381.86 9142.81 10813.6 8631.43 8124.94 9429.79 10230.81 10163.61 9737.56 8561.06 7781.82 7110.97]’;

x1=[7666 7704 8148 8571 8679 7704 6471 5870 5289 3815 3335 2927 2758 2591]’;

x2=[16.22 16.85 17.93 17.28 17.23 17 19 18.22 16.3 13.37 11.62 10.36 9.83 9.25]’;

目标函数 y=ax21+bx21+cx1+dx2+ex1x2+f y = a x 1 2 + b x 1 2 + c x 1 + d x 2 + e x 1 ∗ x 2 + f

输入数据

y=[7613.51  7850.91  8381.86  9142.81 10813.6 8631.43 8124.94 9429.79 10230.81 10163.61 9737.56 8561.06 7781.82 7110.97];
x1=[7666 7704 8148 8571 8679 7704 6471 5870 5289 3815 3335 2927 2758 2591];
x2=[16.22 16.85 17.93 17.28 17.23 17 19 18.22 16.3 13.37 11.62 10.36 9.83 9.25];
X = [ones(size(y)) x1.^2 x2.^2 x1 x2 x1.*x2];

利用regress进行分析

[b,bint,r,rint,stats] = regress(y,X);

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

b为对应的参数 b1 b 1 为F(最后那个常数项) , b2 b 2 为A(第一个参数), b3 b 3 为B, b4 b 4 为C, b5 b 5 为D, b6 b 6 为E。bint为b的95%置信区间。

stats的第三个参数为F检测的P值,p值很小(P<0.001),说明拟合模型有效。
这里写图片描述

scatter3(x1,x2,y,'filled') %scatter可用于画散点图

image

%拟合,三维视图显示
hold on  %在刚刚那副散点图上接着画
x1fit = min(x1):100:max(x1);   %设置x1的数据间隔
x2fit = min(x2):1:max(x2);     %设置x2的数据间隔
[X1FIT,X2FIT] = meshgrid(x1fit,x2fit);    %生成一个二维网格平面,也可以说生成X1FIT,X2FIT的坐标
YFIT=b(1)+b(2)*X1FIT.^2+b(3)*X2FIT.^2+b(4)*X1FIT + b(5)*X2FIT+b(6)*X1FIT.*X2FIT;    %代入已经求得的参数,拟合函数式
mesh(X1FIT,X2FIT,YFIT)    %X1FIT,X2FIT是网格坐标矩阵,YFIT是网格点上的高度矩阵
view(10,10)  %改变角度观看已存在的三维图,第一个10表示方位角,第二个表示俯视角。
%方位角相当于球坐标中的经度,俯视角相当于球坐标中的纬度
xlabel('x1') %设置X轴的名称
ylabel('x2') %设置y轴的名称
zlabel('y')  %设置z轴的名称

这里写图片描述

参考百度文库

  • 57
    点赞
  • 452
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值