用最佳拟合线预测数值

前面讲到如何借助散点图看出是否存在某种模式,从而判定数值之间是否存在关系.那么如何利用散点图根据天晴时数预测音乐会听众人数呢?
–在已知当天天晴时数期望值的情况下,你会如何利用现有散点图预测音乐会听众人数?

其中一个办法是,在散点图上画一条穿过这些点的直线,使这条直线尽量接近各个点.你无法令这条直线穿过每一个点,不过,若存在线性相关性,则应该可以保证每一个点合理的接近你所绘制的直线,如此一来,你就可以根据预计天晴时数找出音乐会人数的估计值.

能最好的接近所有数据点的线被称为最佳拟合线.

用这种方法画出的线只是一种最佳猜测.

用以上方法绘制图线的问题在于:这只是一个估计,因此根据这条线做出的任何预测都值得怀疑.你没有什么精确的方法量度这条线是否确实是最佳匹配线.这条线具有主观性,这条线的拟合质量取决于你的判断.

最佳猜测仍是猜测
假想你请三个人按照他们各自的想法画出音乐会听众人数最佳拟合线,很可能每个人都会画出与别人略有差别的最佳拟合线.
我们确实需要找一个可以通过目测方式绘制最佳拟合线的办法,这不是一种猜测方法,而是一种更可靠的方法–使用数学或统计方法利用手头数据去找出最佳拟合线.

我们需要求出直线公式
直线的公式为y=a+bx,其中a为直线与y轴的交点,b为直线斜率,于是我们可以用公式y=a+bx表示最佳拟合线.
在我们的例子中,我们用x表示预计天晴时数,只要我们能用音乐会听众数据求出a和b的最合适数值,就有可靠的方法求出直线等式,且能够以更为可靠的方法按照预计天晴时数预测音乐会听众人数.

我们需要将误差最小化
让我们看看对最佳拟合线y=a+bx的要求
最佳拟合线既能最准确的预测出所有点的真实值的线,即,对应每一个已知的x值,我们需要让数据几种的每个y变量尽可能接近我们通过最佳拟合线估计出来的数值.即,在已知某个天晴时数时,我们希望自己估计的露天音乐会听众人数尽可能接近实际值.

最佳拟合线即表达式为y=a+bx且使得y的实际观察值与每个x相对应的y的估计值的差距为最小的线.

让我们用yi表示数据集中的每一个y值,用^yi表示通过最佳拟合线得出的估计值.这种表示方法与前面章节的点估计量的表示方法一致,因为^符号代表估计值.

我们想让y实际值和我们根据最佳拟合线得出的估计值之间的差为最小,也就是说,我们想让yi与^yi的差别之和为最小,试算如下:

∑(Yi-^Yi)

可是,这个算式的问题是,实际上所有的距离都会相互抵消.我们需要稍微调整一下算法–这个算法前面已经出现过了.

认识误差平方和
还记得我们第一次推导方差的时候吗?我们希望求出数据组中的数值与均值之间的距离之和,但这些距离却相互抵消.为了解决这个问题,我们将所有距离先求平方,然后加总吗,从而确保所有数值都是正的.
现在我们碰到了类似的情况,需要先将所有距离求平方和再加总,而不是计算一对对实际值和期望值的距离之和,这样我们就能保证所有的数值都是正的.

距离平方之和被称为误差平方和,英文缩写为SSE:

SS-E=∑(y-^y)²

即,取各个数值y,减去通过最佳拟合线得出的y的预测值,求其平方,然后将所有平方数加起来.

方差与SSE的计算方法相似
SSE并非方差,不过,他确实涉及两个特定点之间的距离的平方–他给出了y的实际值和根据最佳拟合线得出的y的预测值之间的距离的平方之和.
我们现在要做的就是根据y=a+bx这条线,求出使得SSE最小的a和b的数值.

求最佳拟合线公式
前面讲到我们想得到误差平方和∑(y-^y)²为最小的直线式,其中y=a+bx,从而可以得到a和b的最优值,进而得到最佳拟合线公式.

让我们先算b
y=a+bx中的b代表这条直线的斜率,或者叫陡度,即b是最佳拟合线的斜率.
我们就不进行证明了,下面直接给出使得∑(y-^y)²为最小的b值

b=∑((x-x-)(y-y-))/∑(x-x-)²

计算初看很复杂,但实际上并不那么难
首先,求出x-和y-手头数据的x均值和y均值,此后,对每一个观察结果计算x-x-乘以y-y-,然后将结果加起来,最后,用整个结果除以∑(x-x-)².公式的最后一部分写样本方差的计算方法十分相似,唯一的区别是这里不除以n-1,你也可以利用软件完成所有计算.

于是得:
x-=4.3375
y-=38.875

借助x-和y-求出b
公式的第一部分是∑((x-x-)(y-y-)),为此我们取各个观察结果的x值和y值,用x减x-,用y减y-,然后将两个差相乘,对每个观察结果完成以上计算之后,再将所有乘积加起来.

得 122.53

求最佳拟合线的斜率
我们正在进行y=a+bx中b值的计算,我们求得
x-=4.3375
y-=38.875
∑((x-x-)(y-y-))=122.53
最后要求的是∑(x-x-)²,让我们继续算下去

=23.02

于是 b=5.32

即,数据的最佳拟合线为 y=a+5.32x

计算a

前面求出了最佳拟合线b的值,现在我们需要计算a的值

直线需要穿过(x-,y-)
最佳拟合线最好穿过x和y的均值(x-,y-),为了确保这一点,我们用x-和y-代入直线公式y=a+bx,得:

a=y–bx-

于是 a=15.8