初等数学➡已知方程求未知数
高等数学→已知未知数,求方程(从数据中获得结论)
那么今天就从里面最简单的线性回归(Simple linear regression)开始学起
最简单的理解就是通过一些列运算的到初中我们学的y=kx+b
第一步,描述数据(数据可视化)
比如我们通过散点图看到整个数据,好像是接近一条线(类似于y=kx+b)那样分布的,我们就可以使用简单线性回归进行预测(图为探寻工作年限与薪水的关系)
画成热力图
这里先引入协方差(covariance)的概念
作用:描述多维数据集(标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的数据集)
原理:计算两组数据的平均值之间的数据的差距(距离),再把它们的差距进行相乘,以此达到寻求两组数据之间的联系的目的(Linear correlation)
公式:
这里面除的不是n而是n-1的问题详见贝塞尔矫正推导那篇博文
拓展:
与期望的联系
缺陷:只能反应数据是否同向变动(正则同向,负则反向变动)因为当两个数据差距很大比如100与10000它们乘起来数值也会很大,不能说数值越大就代表关联越强
于是,我们这时需要一个新的工具来衡量多维数据之间的联系,这就是相关性,这里我们讨论皮尔逊相关性
这里部分内容源自百度百科
定义:
两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商
公式:
上式定义了总体相关系数,常用希腊小写字母作为代表符号。估算样本的协方差和标准差,可得到皮尔逊相关系数,常用英文小写字母 代表:
观察公式相比协方差,它引入了标准差,标准差公式(后续我会发标准差公式的博文)的意义在于借正态分布公式使得数值在0到1之间和表示事情发生的概率(数据离散程度,联想正态分布的那个图,离中间越远→概率越小→该数据离散)从而达到数据归一化的同时表示数据之间的联系的目的.
为方便说明,我们先假定我们已经有一个模型,y=kx+b,预测值为y1,实际值为ya
这里再明确一个概念,残差
简单来说就是预测值与实际值直接的差值(距离)
即y1-ya
那么模型准确度的评估的方法就是让所有线上的点的残差加起来最小
但是要注意,这个残差的正负不确定,所有不能单纯地对残差进行相加(一般我们不用绝对值,因为这个计算机制要分类讨论会增加电脑的负担,一般直接平方,且分段函数无法求导)
结果越小,拟合效果越好
用python语言就是
E = min(sum((y1-ya)**2))/n(n代表一共有几组数据)→最小二乘法(oridinary least square有时也简称为ols)
回归方程的系数的确定
这里假定我们要求的函数为y=b0+b1x
那么相关系数计算公式就是:
即协方差/方差
把公式套进去就会发现改相关性系数其实就是上面的E即残差的和即预测值与实际值直接的差值(距离)
这个距离的和越小→预测值与实际值的距离越小→改线就越能接近实际值的点→拟合效果越好
b0的话,反推就好了