2021大三机器学习:(自我总结)求解简单线性回归的OLS方法+educoder手打线性回归例题说明

2023-05-16

hello,大家好这里是X,不说了不说了,赶博客赶博客!!!冲压!!对了,现在秋天来了,大家要注意添衣噢🍂🍁🍁🍁

在这里插入图片描述
在这里插入图片描述

文章目录

  • 介绍OLS
    • y= α \alpha α+ β \beta βx+u
  • RSS求法
  • α \alpha α β \beta β的求法
  • 例题模板
  • 例题(手打简单线性回归)
    • 第一关
    • 第二关——方差
    • 第三关——协方差
    • 第四关——斜率 β \beta β
    • 求解 α \alpha α

介绍OLS

OLS即为:普通最小二乘法(ordinary least squares ),它是使得全部观察值的残差平方和最小的一种参数估计方法,在回归分析中应用最为广泛。
现在回想简单线性回归是由方程:y= α \alpha α+ β \beta βx
α \alpha α β \beta β

这里X说一句X看到的话:我们想知道两个变量之间的关系,我们可以用直线的斜率来表示X和Y,那么由图中的点确定线的这样的一个过程就是回归

如果说,现在再来一个参数u,来表示误差,那么:

y= α \alpha α+ β \beta βx+u

RSS求法

最优拟合直线应该使得各点到直线的距离的和最小,也可以表述为距离的平方和最小
根据这个原则,我们可以得到另一个表达式:
在这里插入图片描述

那么,使得残差的平方和最小,这个时候就得到了RSS(residual sum of squares,简称RSS):
在这里插入图片描述
我们暂且将这个公式叫做公式一

α \alpha α β \beta β的求法

先求解 β \beta β,方法就是对公式一的所有参数对 β \beta β求导、求偏导,并令其结果为0,即可得到: β \beta β,那么 α \alpha α直接套原公式即可求到:

在这里插入图片描述

例题模板

一套我自认为比较标准的“解题过程”
在这里插入图片描述

例题(手打简单线性回归)

在这里插入图片描述
好啦,例题来啦

第一关

定义一个函数fit(X, Y),其中X和Y都是numpy.ndarray类型的数组,X和Y的形状都是m行1列。函数返回X的平均数 x_bar 和Y的平均数 y_bar
例如:X=[[5], [6]],Y=[[7], [9]],则函数应该返回5.5和8。

def fit(X, Y):
    import numpy as np
    x = np.mean(X)
    y = np.mean(Y)
    return x,y

第二关——方差

在这里插入图片描述

def fit(X, Y):
    import numpy as np
    x_bar = np.mean(X)
    VAR = np.mean((X-x_bar)**2)
    return VAR

第三关——协方差

在这里插入图片描述

def fit(X, Y):
    import numpy as np
    x_bar = np.mean(X)
    y_bar = np.mean(Y)
    COVAR = np.mean((X-x_bar)*(Y-y_bar).reshape(-1,1))
    return COVAR

第四关——斜率 β \beta β

在这里插入图片描述

# @coding: utf-8

def fit(X, Y):
    import numpy as np
    x_bar = np.mean(X)
    y_bar = np.mean(Y)
    COVAR = np.mean((X-x_bar)*(Y-y_bar).reshape(-1,1))
    VAR = np.mean((X-x_bar)**2)
    beta = COVAR/VAR
    return beta

求解 α \alpha α

在这里插入图片描述

# @coding: utf-8

def fit(X, Y):

    #先求解贝塔值,然后根据公式直接求出阿尔法
    import numpy as np
    x_bar = np.mean(X)
    y_bar = np.mean(Y)
    COVAR = np.mean((X-x_bar)*(Y-y_bar).reshape(-1,1))
    VAR = np.mean((X-x_bar)**2)
    beta = COVAR/VAR
    k = y_bar - beta*x_bar
    return k
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2021大三机器学习:(自我总结)求解简单线性回归的OLS方法+educoder手打线性回归例题说明 的相关文章

随机推荐