**
Matlab实现简单和多元线性回归分析
**
简单线性回归分析
首先看看简单线性回归分析的公式如下(一个因变量和一个自变量)
y=ax+b
多元线性回归分析
多元线性回归分析(一个因变量,多个自变量),公式如下
代码实现
简单回归分析
matlab实现如下(我并没有很好的理解matlab如何实现这个的原理,只是因为需要这么一个图,在网上查阅一下,并直接写了套用并更改,所以该文章写的不一定是对的,若发现错误,可以私信或者评论哦)
clc
close all
% % % 生成数据
x = [2 3 4 5 6 7]'
y=[2,4,5,5,6,8]'
[p,S] = polyfit(x,y,2);%polyfit函数基于最小二乘法, 如果是用一元polyfit(x,y,1) 则结果p与regress()结果b 是一样的
f=polyval(p,x);%作出拟合函数
% % % 绘图
figure
plot(x, y, 'o', 'MarkerSize', 7)
hold on
plot(x, f, '-')
运行得到简单回归分析拟合的曲线如下:
多元回归分析
matlab实现如下(我并没有很好的理解matlab如何实现这个的原理,只是因为需要这么一个图,在网上查阅一下,并直接写了套用并更改,所以该文章写的不一定是对的,若发现错误,可以私信或者评论哦)
%接下来多元回归分析
x = [2 3 4 5 6 7]'
x1 = [4 5 6 7 8 9]'
y=[3,4,5,6,7,8]'
figure
plot(x, y, 'o', 'MarkerSize', 7)
hold on
plot(x1, y, '*', 'MarkerSize', 7)
X=[ones(size(x1)),x,x1];
[b,bint,r,rint,stats]=regress(y,X);%基于最小二乘法
Y=x1*b(3)+x*b(2)+b(1);
hold on
plot(x, f, '-')
运行得到多元回归分析拟合的曲线如下:
参考过的文献
**[1]: https://blog.csdn.net/baidu_38131614/article/details/110171552
**[2]: https://www.zhihu.com/question/395666858