diff --git a/13.md b/13.md index a2774e5b5939bb7a9bf4693fc9f1ff685c6137f1..ef52bae1baef3cffe92fe08b4d4fa96e109d5f1f 100644 --- a/13.md +++ b/13.md @@ -604,17 +604,17 @@ regression_line(0.6) 在回归中,我们使用一个变量(我们称`x`)的值来预测另一个变量的值(我们称之为`y`)。 当变量`x`和`y`以标准单位测量时,基于`x`预测`y`的回归线斜率为`r`并通过原点。 因此,回归线的方程可写为: -![](http://latex.codecogs.com/gif.latex?%5Cmbox%7Bestimate%20of%20%7Dy%20%7E%3D%7E%20r%20%5Ccdot%20x%20%7E%7E%7E%20%5Cmbox%7Bwhen%20both%20variables%20are%20measured%20in%20standard%20units%7D) +![](img/tex-13-1.gif) 在数据的原始单位下,就变成了: -![](http://latex.codecogs.com/gif.latex?%5Cfrac%7B%5Cmbox%7Bestimate%20of%7D%7Ey%20%7E-%7E%5Cmbox%7Baverage%20of%7D%7Ey%7D%7B%5Cmbox%7BSD%20of%7D%7Ey%7D%20%7E%3D%7E%20r%20%5Ctimes%20%5Cfrac%7B%5Cmbox%7Bthe%20given%7D%7Ex%20%7E-%7E%5Cmbox%7Baverage%20of%7D%7Ex%7D%7B%5Cmbox%7BSD%20of%7D%7Ex%7D) +![](img/tex-13-2.gif) 原始单位的回归线的斜率和截距可以从上图中导出。 -![](http://latex.codecogs.com/gif.latex?%5Cmathbf%7B%5Cmbox%7Bslope%20of%20the%20regression%20line%7D%7D%20%7E%3D%7E%20r%20%5Ccdot%20%5Cfrac%7B%5Cmbox%7BSD%20of%20%7Dy%7D%7B%5Cmbox%7BSD%20of%20%7Dx%7D) +![](img/tex-13-3.gif) -![](http://latex.codecogs.com/gif.latex?%5Cmathbf%7B%5Cmbox%7Bintercept%20of%20the%20regression%20line%7D%7D%20%7E%3D%7E%20%5Cmbox%7Baverage%20of%20%7Dy%20%7E-%7E%20%5Cmbox%7Bslope%7D%20%5Ccdot%20%5Cmbox%7Baverage%20of%20%7Dx) +![](img/tex-13-4.gif) 下面的三个函数计算相关性,斜率和截距。 它们都有三个参数:表的名称,包含`x`的列的标签以及包含`y`的列的标签。 @@ -651,7 +651,7 @@ galton_slope, galton_intercept 回归直线的方程是: -![](http://latex.codecogs.com/gif.latex?%5Cmbox%7Bestimate%20of%20child%27s%20height%7D%20%7E%3D%7E%200.64%20%5Ccdot%20%5Cmbox%7Bmidparent%20height%7D%20%7E+%7E%2022.64) +![](img/tex-13-5.gif) 这也成为回归方程。回归方程的主要用途是根据`x`预测`y`。 @@ -769,13 +769,13 @@ slope(baby, 'Maternal Height', 'Maternal Pregnancy Weight') 为了计算回归线的方程,我们需要斜率和截距。 -![](http://latex.codecogs.com/gif.latex?%5Cmbox%7Bslope%7D%20%7E%3D%7E%20%5Cfrac%7Br%20%5Ccdot%20%5Cmbox%7BSD%20of%20%7Dy%7D%7B%5Cmbox%7BSD%20of%20%7Dx%7D%20%7E%3D%7E%20%5Cfrac%7B0.5%20%5Ccdot%202%20%5Cmbox%7B%20inches%7D%7D%7B5%20%5Cmbox%7B%20pounds%7D%7D%20%7E%3D%7E%200.2%20%7E%5Cmbox%7Binches%20per%20pound%7D) +![](img/tex-13-6.gif) -![](http://latex.codecogs.com/gif.latex?%5Cmbox%7Bintercept%7D%20%7E%3D%7E%20%5Cmbox%7Baverage%20of%20%7Dy%20-%20%5Cmbox%7Bslope%7D%5Ccdot%20%5Cmbox%7Baverage%20of%20%7D%20x%20%7E%3D%7E%2014%20%5Cmbox%7B%20inches%7D%20%7E-%7E%200.2%20%5Cmbox%7B%20inches%20per%20pound%7D%20%5Ccdot%2050%20%5Cmbox%7B%20pounds%7D%20%7E%3D%7E%204%20%5Cmbox%7B%20inches%7D) +![](img/tex-13-7.gif) 回归线的方程允许我们,根据给定重量(磅)计算估计高度(英寸): -![](http://latex.codecogs.com/gif.latex?%5Cmbox%7Bestimated%20height%7D%20%7E%3D%7E%200.2%20%5Ccdot%20%5Cmbox%7Bgiven%20weight%7D%20%7E+%7E%204) +![](img/tex-13-8.gif) 线的斜率衡量随着重量的单位增长的估计高度的增长。 斜率是正值,重要的是要注意,这并不表示我们认为,如果体重增加巴塞特猎狗就会变得更高。 斜率反映了两组狗的平均身高的差异,这两组狗的体重相差 1 磅。 具体来说,考虑一组重量为`w`磅,以及另一组重量为`w + 1`磅的狗。 我们估计,第二组的均值高出 0.2 英寸。 对于样本中的所有`w`值都是如此。 @@ -956,7 +956,7 @@ Root mean squared error: 2701.69078531 首先注意,使均方根误差最小的直线,也是使平方误差最小的直线。 平方根对最小值没有任何影响。 所以我们会为自己节省一个计算步骤,并将平均方差 MSE 减到最小。 -我们试图根据《小女人》的句子数(`x`)来预测字符数量(`y`)。 如果我们使用 ![](http://latex.codecogs.com/gif.latex?%5Cmbox%7Bprediction%7D%20%7E%3D%7E%20ax%20+%20b) 直线,它将有一个 MSE,它取决于斜率`a`和截距`b`。 函数`lw_mse`以斜率和截距为参数,并返回相应的 MSE。 +我们试图根据《小女人》的句子数(`x`)来预测字符数量(`y`)。 如果我们使用 ![](img/tex-13-9.gif) 直线,它将有一个 MSE,它取决于斜率`a`和截距`b`。 函数`lw_mse`以斜率和截距为参数,并返回相应的 MSE。 ```py def lw_mse(any_slope, any_intercept): @@ -1090,11 +1090,11 @@ array([ 0.09834382, 5.95962911]) 无论散点图的形状如何,都有一条独特的线,可以使估计的均方误差最小。 它被称为回归线,其斜率和截距由下式给出: -![](http://latex.codecogs.com/gif.latex?%5Cmathbf%7B%5Cmbox%7Bslope%20of%20the%20regression%20line%7D%7D%20%7E%3D%7E%20r%20%5Ccdot%20%5Cfrac%7B%5Cmbox%7BSD%20of%20%7Dy%7D%7B%5Cmbox%7BSD%20of%20%7Dx%7D) +![](img/tex-13-10.gif) > 译者注:也就是`cov(x, y)/var(x)`。 -![](http://latex.codecogs.com/gif.latex?%5Cmathbf%7B%5Cmbox%7Bintercept%20of%20the%20regression%20line%7D%7D%20%7E%3D%7E%20%5Cmbox%7Baverage%20of%20%7Dy%20%7E-%7E%20%5Cmbox%7Bslope%7D%20%5Ccdot%20%5Cmbox%7Baverage%20of%20%7Dx) +![](img/tex-13-11.gif) ```py fitted = fit(shotput, 'Weight Lifted', 'Shot Put Distance') @@ -1160,13 +1160,13 @@ shotput.with_column('Best Quadratic Curve', shotput_fit).scatter(0) 假设数据科学家已经决定使用线性回归,基于预测变量估计响应变量的值。 为了了解这种估计方法的效果如何,数据科学家必须知道估计值距离实际值多远。 这些差异被称为残差。 -![](http://latex.codecogs.com/gif.latex?%5Cmbox%7Bresidual%7D%20%7E%3D%7E%20%5Cmbox%7Bobserved%20value%7D%20%7E-%7E%20%5Cmbox%7Bregression%20estimate%7D) +![](img/tex-13-12.gif) 残差就是剩下的东西 - 估计之后的剩余。 残差是回归线和点的垂直距离。 散点图中的每个点都有残差。 残差是`y`的观测值与`y`的拟合值之间的差值,所以对于点`(x, y)`: -![](http://latex.codecogs.com/gif.latex?%5Cmbox%7Bresidual%7D%20%7E%7E%20%3D%20%7E%7E%20y%20%7E-%7E%20%5Cmbox%7Bfitted%20value%20of%20%7Dy%20%7E%7E%20%3D%20%7E%7E%20y%20%7E-%7E%20%5Cmbox%7Bheight%20of%20regression%20line%20at%20%7Dx) +![](img/tex-13-13.gif) `residual`函数计算残差。 该计算假设我们已经定义的所有相关函数:`standard_units`,`correlation`,`slope`,`intercept`和`fit`。 @@ -1379,9 +1379,9 @@ round(np.mean(dugong.column('Residual')), 10) ### 残差的标准差 -无论散点图的形状如何,残差的标准差是响应变量的标准差的一个比例。 比例是 ![](http://latex.codecogs.com/gif.latex?%5Csqrt%7B1-r%5E2%7D)。 +无论散点图的形状如何,残差的标准差是响应变量的标准差的一个比例。 比例是 ![](img/tex-13-14.gif)。 -![](http://latex.codecogs.com/gif.latex?%5Cmbox%7BSD%20of%20residuals%7D%20%7E%3D%7E%20%5Csqrt%7B1%20-%20r%5E2%7D%20%5Ccdot%20%5Cmbox%7BSD%20of%20%7Dy) +![](img/tex-13-15.gif) 我们将很快看到,它如何衡量回归估计的准确性。 但首先,让我们通过例子来确认。 @@ -1426,11 +1426,11 @@ np.std(hybrid.column('residual')), np.sqrt(1 - r**2)*np.std(hybrid.column('mpg') 我们可以重写上面的结果,不管散点图的形状如何: -![](http://latex.codecogs.com/gif.latex?%5Cfrac%7B%5Cmbox%7BSD%20of%20residuals%7D%7D%7B%5Cmbox%7BSD%20of%20%7Dy%7D%20%7E%3D%7E%20%5Csqrt%7B1-r%5E2%7D) +![](img/tex-13-16.gif) 互补的结果是,无论散点图的形状如何,拟合值的标准差是观察值`y`的标准差的一个比例。比例是`|r|`。 -![](http://latex.codecogs.com/gif.latex?%5Cfrac%7B%5Cmbox%7BSD%20of%20fitted%20values%7D%7D%7B%5Cmbox%7BSD%20of%20%7Dy%7D%20%7E%3D%7E%20%7Cr%7C) +![](img/tex-13-17.gif) 要查看比例在哪里出现,请注意拟合值全部位于回归线上,而`y`的观测值是散点图中所有点的高度,并且更加可变。 @@ -1471,8 +1471,8 @@ np.std(hybrid.column('fitted mpg'))/np.std(hybrid.column('mpg')) 解释这个结果的更标准的方法是,回想一下: -![](http://latex.codecogs.com/gif.latex?%5Cmbox%7Bvariance%7D%20%7E%3D%7E%20%5Cmbox%7Bmean%20squared%20deviation%20from%20average%7D%20%7E%3D%7E%20%5Cmbox%7BSD%7D%5E2) +![](img/tex-13-18.gif) 因此,对结果的两边取平方: -![](http://latex.codecogs.com/gif.latex?%5Cfrac%7B%5Cmbox%7Bvariance%20of%20fitted%20values%7D%7D%7B%5Cmbox%7Bvariance%20of%20%7Dy%7D%20%7E%3D%7E%20r%5E2) +![](img/tex-13-19.gif) diff --git a/img/tex-13-1.gif b/img/tex-13-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..262df1cd80393977419f0a5f31d5f0706ab2da24 Binary files /dev/null and b/img/tex-13-1.gif differ diff --git a/img/tex-13-10.gif b/img/tex-13-10.gif new file mode 100644 index 0000000000000000000000000000000000000000..e227b30c97d2792a4bbfc828dc66f30de9d2356a Binary files /dev/null and b/img/tex-13-10.gif differ diff --git a/img/tex-13-11.gif b/img/tex-13-11.gif new file mode 100644 index 0000000000000000000000000000000000000000..3de64536dda84c2958a0cfaa215df00c31d910ec Binary files /dev/null and b/img/tex-13-11.gif differ diff --git a/img/tex-13-12.gif b/img/tex-13-12.gif new file mode 100644 index 0000000000000000000000000000000000000000..37defc48df6d701e6a94f0013dc0554372d62b8c Binary files /dev/null and b/img/tex-13-12.gif differ diff --git a/img/tex-13-13.gif b/img/tex-13-13.gif new file mode 100644 index 0000000000000000000000000000000000000000..e3ba1978bf5bdbab4bee4e9040e33357da5c02e5 Binary files /dev/null and b/img/tex-13-13.gif differ diff --git a/img/tex-13-14.gif b/img/tex-13-14.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f4ebd753f74bc020a6f73f867c49c9a31d5d414 Binary files /dev/null and b/img/tex-13-14.gif differ diff --git a/img/tex-13-15.gif b/img/tex-13-15.gif new file mode 100644 index 0000000000000000000000000000000000000000..fd7fab5466dd25e77cef8e17ec253d834e8912b7 Binary files /dev/null and b/img/tex-13-15.gif differ diff --git a/img/tex-13-16.gif b/img/tex-13-16.gif new file mode 100644 index 0000000000000000000000000000000000000000..fd7fab5466dd25e77cef8e17ec253d834e8912b7 Binary files /dev/null and b/img/tex-13-16.gif differ diff --git a/img/tex-13-17.gif b/img/tex-13-17.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab0443082dd8090600e648619b382648ea6b428c Binary files /dev/null and b/img/tex-13-17.gif differ diff --git a/img/tex-13-18.gif b/img/tex-13-18.gif new file mode 100644 index 0000000000000000000000000000000000000000..42b104fe19f039575f13fe823f7b82bc6b9490ef Binary files /dev/null and b/img/tex-13-18.gif differ diff --git a/img/tex-13-19.gif b/img/tex-13-19.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab495d492a4c11212dd107f747cfa14e277fb39b Binary files /dev/null and b/img/tex-13-19.gif differ diff --git a/img/tex-13-2.gif b/img/tex-13-2.gif new file mode 100644 index 0000000000000000000000000000000000000000..dda28a225b0e58dc201729581f4511ad2b1d9f6e Binary files /dev/null and b/img/tex-13-2.gif differ diff --git a/img/tex-13-3.gif b/img/tex-13-3.gif new file mode 100644 index 0000000000000000000000000000000000000000..e227b30c97d2792a4bbfc828dc66f30de9d2356a Binary files /dev/null and b/img/tex-13-3.gif differ diff --git a/img/tex-13-4.gif b/img/tex-13-4.gif new file mode 100644 index 0000000000000000000000000000000000000000..3de64536dda84c2958a0cfaa215df00c31d910ec Binary files /dev/null and b/img/tex-13-4.gif differ diff --git a/img/tex-13-5.gif b/img/tex-13-5.gif new file mode 100644 index 0000000000000000000000000000000000000000..e694f9f46083a132f5ca89ebec4573b204a4bc4a Binary files /dev/null and b/img/tex-13-5.gif differ diff --git a/img/tex-13-6.gif b/img/tex-13-6.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e9dd678c1fb2bcf56de18f986c775e277c3b1e8 Binary files /dev/null and b/img/tex-13-6.gif differ diff --git a/img/tex-13-7.gif b/img/tex-13-7.gif new file mode 100644 index 0000000000000000000000000000000000000000..1233686949ab0b5d5c96818fa735fb5eff527ee5 Binary files /dev/null and b/img/tex-13-7.gif differ diff --git a/img/tex-13-8.gif b/img/tex-13-8.gif new file mode 100644 index 0000000000000000000000000000000000000000..16d0361f40fa61ea5dce5ec52d88dc3b45f60ece Binary files /dev/null and b/img/tex-13-8.gif differ diff --git a/img/tex-13-9.gif b/img/tex-13-9.gif new file mode 100644 index 0000000000000000000000000000000000000000..d983ff821d09ef290e287d9e36c76441ce801b10 Binary files /dev/null and b/img/tex-13-9.gif differ