问题
给定一组数据,数据内容是一组坐标如图所示
目的
很明显可以看出所有数据都在一条直线附近,如图所示
假设某一个原始数据为(a,b),我们的目标就是找到一条直线,得到这条直线上的点(a,c),使 (c - b)的差值最小。
寻找直线的方法
直线方程 y = ax + b(1),我们现在就是要找到合适的a和b;
设数据集的数据为(x_i,y_i)//i表示第几个数据 例如:(x_1,y_1)表示第一个数据,(x_2,y_2)表示第二个数据;
把x_i带入方程(1),设直线上y轴对应的值为z_i , z_i = a(x_i) + b;
我们的目的是找到一条合适的直线,在这里合适的直线就是指 (z_i - y_i)的差值尽可能的小的直线。
由于有多个点,所以我们最终的目的是让所有的差值之和最小。
即Σ(z_i - y_i)最小(Σ指 i 从0开始到最后一个数据结束(z_i - y_i)的差值之和,及所有的差值加在一起),
把z_i 替换为 (a(x_i) + b) 得到 Σ(a(x_i) + b - y_i),我们把 (a(x_i) + b - y_i) 用Q来表示,Q = (a(x_i) + b - y_i) , 数据的总个数用m表示。
一般计算是通过 Σ(Q^2)/(2*m) (别问为什么,只要知道这样是判断差值最有的公式就行了,即用平方差缩小误差),
最终我们要通过 Σ(Q^2/2*m) 求解公式求出a和b的值。