线性回归——最小二乘法

来源:互联网 发布:武汉软件新城怎么样 编辑:程序博客网 时间:2024/06/07 04:43

    • 引用
    • 线性回归
    • 最小二乘法
    • 举例
      • 简单线性回归

引用

线性回归——最小二乘法2


线性回归

简单线性回归:对数据做散点图后,发现有线性相关趋势,因此利用线性回归方法获取散点拟合直线方程式,拟合指标是误差平方和。
利用matlab或者Octave进行线性拟合时,可以用polyfit(x,y,n)函数,但线性回归计算方法是什么呢?根据引用网站,线性回归有最小二乘法、梯度下降法、最大似然法,这里先学习最小二乘法。


最小二乘法

推导
多元线性方程:
y=w0+w1x1+w2x2+...+wnxn

系数阵W和变量
W=w0w1...wn ,X=11...1x11x21...xn1............x1nx2n...xnn

….

最终得到W为线性方程的系数矩阵(常数项为第一位,与系数阵排列格式一致)。


举例

简单线性回归

利用最小二乘法进行简单线性回归,等我遇到多元线性回归问题再补充:

Brand and Model Price Rating Precor 3700 87 Key 2500 84 Octane 2800 82 Life 1900 74 Nordic 1000 73 Schwinn 800 69 Vision 1700 68 Pro 600 55

对不同产品的价格与评分进行简单线性回归:
Matlab/Octave代码:

%%W为系数阵,w0为常数项,w1为一次项系数,X为x的矩阵,Y为y矩阵W=[w0;w1];X=[1,3700;1,2500;1,2800;1,1900;1,1000;1,800;1,1700;1,600];Y=[87;84;82;74;73;69;68;55];%%利用最小二乘法计算WW=inv(X'*X)*X'*Y;

所得结果

W=
5.8158e+001
8.4488e-003

即线性回归方程为:y=5.8158e+001+ 8.4488e-003*x;
利用Octave的polyfit函数验证

x=X(:,2)';y=Y';polyfit(x,y,1)

所得结果为

ans=
8.4488e-003 5.8158e+001

注:Octave的最后一项才是常数项,需要注意


To be continued.

原创粉丝点击