0x01 一元线性回归基础

回归分析

回归分析是对数值型自变量数值型因变量之间相关关系进行分析的方法. 变量之间存在的不确定的数量关系, 称为相关关系(correlation).

在进行相关分析时, 对总体有以下的假定:

  • 两个变量之间是线性关系

  • 两个变量都是随机变量

相关系数

为准确度量两个变量之间的线性关系强度, 需要计算相关系数(correlation coefficient). 相关系数是根据样本数据计算的, 度量两个变量之间线性关系强度的统计量.

  • 如果相关系数是通过总体的全部数据计算得到的, 称为总体相关系数, 记为ρ\rho

  • 如果是根据样本数据计算的, 称为样本相关系数, 记为rr

其中, 样本相关系数rr的计算公式为:

r=nxyxynx2(x)2ny2(y)2r=\frac{n\sum xy - \sum x \sum y}{\sqrt{n\sum x^2-(\sum x)^2} \sqrt{n\sum y^2 - (\sum y)^2}}

上式计算得到的相关系数称为线性相关系数, 也称为皮尔逊相关系数.

注意: rr虽然是两个变量之间线性关系的一个度量, 但不意味着xxyy之间一定有因果关系. 可以通过显著性检验判断两个变之间是否有相关关系.

相关关系的显著性检验

总体相关系数ρ\rho未知的, 通常是将样本相关系数rr作为ρ\rho的近似估计值. 而rr是一个随机变量, 是否能根据样本相关系数, 说明总体的相关程度呢? 需要考察样本相关系数的可靠性, 也就是进行显著性检验.

rr的抽样分布

rr的抽样分布, 随着样本量的增大, 趋于正态分布.

因为rr是在ρ\rho为中心的周围分布的, 因此当总体相关系数ρ\rho很小或者接近0时, 这种趋于正态分布的趋势就非常明显; 当ρ\rho远离0时, rr的抽样分布会呈现出一定的偏态, 除非样本量nn非常大. 这是因为rr取值范围在-1到1之间, 且rr又在ρ\rho的两侧分布, 当ρ\rho的绝对值接近于1时, 所以一个方向的分布变化是有限的, 因此会产生不对称的线性.

rr的显著性检验

从上面的rr的抽样分布的分析可知, 如果直接使用正态分布来检验, 是有较大的风险的, 通常会采用tt检验来进行. 具体的检验步骤如下:

  • 提出假设: H0:ρ=0H_0:\rho=0

  • 计算检验的统计量: t=rn21r2t(n2)t=|r|\sqrt{\frac{n-2}{1-r^2}} \sim t(n-2)

  • 进行决策: 根据显著性水平α\alpha和自由度df=n2df=n-2来查tt分布表, 得出tα/2(n2)t_{\alpha/2}(n-2)的临界值, 若t>tα/2(n2)|t| \gt t_{\alpha/2}(n-2), 则拒绝原假设H0H_0, 表明总体的两个变量之间存在显著的线性关系.

一元线性回归

相关分析的目的在于测量变量之间的关系强度, 借助相关系数进行测度. 回归分析侧重于考察变量之间的数量关系, 并通过一定的数学表达式, 将这种数量关系描述出来, 确定一个或几个自变量对另一个因变量的影响程度.

回归分析可以用来解决下面几个方面的问题:

  • 从一组样本数据出发, 确定变量之间的数学关系式. 这种用途是最通常的

  • 对数学关系式的可信程度进行各种统计检验, 并从影响因变量的诸多自变量中找出影响显著的和不显著的

  • 利用求得的数学关系式, 根据一个或几个自变量的取值来估计或预测因变量的取值, 并给出这种估计或预测的可靠程度. 前半句是机器学习中回归模型的原理, 后半句可以通过一些统计检验方法来对预测值的可靠性程度进行度量

一元线性回归模型

回归模型描述因变量yy如何依赖于自变量xx误差项ε\varepsilon:

y=β0+β1x+εy=\beta_0+\beta_1x+\varepsilon

yy分解成线性函数部分β0+β1x\beta_0+\beta_1x和误差项ε\varepsilon. 线性函数部分反映了由于自变量xx变化而引起的因变量yy线性变化, 误差项是一个随机变量, 反映了除xxyy之间的线性关系外的随机因素yy影响, 是一种变异性.

有以下注意点:

  • 对于所有的xx值, ε\varepsilon的方差σ2\sigma^2都相同, 因此对于任意一个xx对应的yy, yy的方差也是σ2\sigma^2

  • 误差项ε\varepsilon是一个服从正态分布的随机变量, 且独立, 即εN(0,σ2)\varepsilon \sim N(0, \sigma^2). 独立性意味着对于任意xx值, 所对应的ε\varepsilon与其他xx值所对应的ε\varepsilon不相关

回归方程

对回归模型取期望, 得到yy的期望值E(y)E(y)所对应的方差:

E(y)=β0+β1xE(y)=\beta_0+\beta_1x

yy的期望值是xx的线性函数, 将描述期望值如何依赖于自变量的方程称为回归方程. 因此机器学习中的有显式公式的回归模型其实都是描述与因变量期望的关系.

估计的回归方程

回归方程中的参数β0\beta_0, β1\beta_1是未知的, 需要根据样本数据去估计他们, 样本统计量β^0\hat{\beta}_0β^1\hat{\beta}_1来代替回归方程中的参数, 就得到了估计的回归方程:

y^=β^0+β^1x\hat{y}=\hat{\beta}_0+\hat{\beta}_1x

最小二乘估计

根据最小误差来确定估计参数β^\hat{\beta}的方法称为最小二乘法最小平方法, 这里的误差就是指的距离的平方.

回归直线的拟合优度

回归直线与各观测点的接近程度称为回归直线数据拟合优度. 通过计算判定系数来反映拟合优度.

判定系数

判定系数是对估计的回归方程拟合优度的度量.

yy值取值的波动称为变差. 它来源于两个方面:

  • 由自变量xx取值不同造成的

  • xx外的其他因素(xxyy的非线性关系, 测量误差等)

对于一个具体的观测值来说, 变差的大小可以用实际观测值yy与其均值yˉ\bar{y}之差来表示(注意这里的均值指的是所有可能取值xx对应的yy值的均值, 即所有样本的均值). nn个观测值的总变差由这些离差的平方和来表示, 称为总平方和(SST):

SST=(yiyˉ)2SST=\sum (y_i-\bar{y})^2

可以分解为:

SST=(yiyˉ)2=(yiy^i)2+(y^iyˉ)2SST=\sum (y_i-\bar{y})^2=\sum (y_i-\hat{y}_i)^2 + \sum(\hat{y}_i-\bar{y})^2

即:

SST=SSR+SSESST=SSR+SSE

其中(y^iyˉ)2\sum(\hat{y}_i-\bar{y})^2是回归值y^i\hat{y}_i与均值yˉ\bar{y}的离差平方和, 可以看做是由于自变量xx的变化引起的因变量yy的变化, 反映了yy的总变差中由于xxyy之间的线性关系引起的变化部分, 是可以由回归直线来解释的变差部分, 称为回归平方和(SSR):

SSR=(y^iyˉ)2SSR=\sum(\hat{y}_i-\bar{y})^2

(yiy^i)2\sum (y_i-\hat{y}_i)^2是各观测点与回归值的残差的平方和, 反映了除了xxyy的线性影响之外的其他因素引起的变化部分, 是不能由回归直线来解释的变差部分, 记为残差平方和/误差平方和(SSE):

SSE=(yiy^i)2SSE=\sum (y_i-\hat{y}_i)^2

因此, SSR/SSTSSR/SST越大, 回归直线拟合的越好. 回归平方和总平方和的比例称为判定系数, 记为R2R^2:

R2=SSRSST=(y^iyˉ)2(yiyˉ)2=1(yiy^i)2(yiyˉ)2R^2=\frac{SSR}{SST}=\frac{\sum(\hat{y}_i-\bar{y})^2}{\sum (y_i-\bar{y})^2}=1 - \frac{\sum (y_i-\hat{y}_i)^2}{\sum (y_i-\bar{y})^2}

判定系数R2R^2测度了回归直线对观测数据的拟合程度, 取值范围是[0,1][0,1]. 值越大说明拟合的效果越好.

相关系数rr是判定系数的平方根, 相关系数rr与回归系数β^1\hat{\beta}_1的正负号是相同的. 相关系数也从另一种角度说明了回归直线的拟合程度.

估计标准误差

残差平方和可以说明实际观测值与回归估计值之间的差异程度. 估计标准误差就是度量个实际观测点在直线周围散步状况的一个统计量, 它是均方残差(MSE)的平方根, 用ses_e表示:

se=(yiy^i)2n2=SSEn2=MSEs_e=\sqrt{\frac{\sum (y_i-\hat{y}_i)^2}{n-2}}=\sqrt{\frac{SSE}{n-2}}=\sqrt{MSE}

它反映了用估计的回归方程预测因变量yy时, 预测误差的大小. ses_e越小, 回归直线对各观测点的代表性越好, 进行的预测越准确.

显著性检验

根据样本数据建立了估计方程后, 还需要通过检验, 才能判断该方程是否真实地反映了变量xxyy之间的关系. 只有通过了检验, 才能拿来进行预测.

回归分析中的显著性检验包含两方面的内容:

  • 线性关系检验

  • 回归系数检验

线性关系检验

线性关系检验是检验自变量和因变量之间的线性关系是否显著. 首先需要构造统计量, 这里的统计量是用回归平方和SSR残差平方和SSE为基础构造的.

将SSR除以对应的自由度, 得到均方回归MSR; 将SSE除以对应的自由度, 得到均方残差MSE. 此时的原假设为H0:β1=0H_0: \beta_1=0, 即两个变量之间的线性关系不显著. 则有:

F=SSR/1SSE/(n2)=MSRMSEF(1,n2)F=\frac{SSR/1}{SSE/(n-2)}=\frac{MSR}{MSE} \sim F(1, n-2)

这里使用的是FF统计量. 根据显著性水平α\alpha找到临界值FαF_{\alpha}, 如果F>FαF \gt F_{\alpha}, 则说明两个变量之间的关系式显著的.

回归系数检验

回归系数的显著性检验是要检验自变量对因变量的影响是否显著. 回归系数的显著性检验是检验回归系数β1\beta_1是否等于0, 因此原假设为H0:β1=0H_0: \beta_1=0.

接下来是构造统计量. 统计证明β^1\hat{\beta}_1服从正态分布, 数学期望为E(β^1)=β1E(\hat{\beta}_1)=\beta_1, 标准差为:σβ^1=σxi21n(xi)2\sigma_{\hat\beta_1}=\frac{\sigma}{\sqrt{\sum x^2_i - \frac{1}{n}(\sum x_i)^2}}, 其中σ\sigma是误差项ε\varepsilon的标准误差. 由于σ\sigma是未知的, 就用它的估计量ses_e来代替, 代入后得到估计量:

sβ^1=sexi21n(xi)2s_{\hat\beta_1}=\frac{s_e}{\sqrt{\sum x^2_i - \frac{1}{n}(\sum x_i)^2}}

因此, 构造出用于检验回归系数的tt统计量:

t=β^1β1sβ^1t=\frac{\hat\beta_1-\beta_1}{s_{\hat\beta_1}}

服从自由度为n2n-2tt分布. 由于原假设中β1=0\beta_1=0, 因此构造的统计量为t=β^1sβ^1t=\frac{\hat\beta_1}{s_{\hat\beta_1}}, 再根据显著性水平α\alpha, 找到相应的临界值tα/2t_{\alpha/2}, 如果t>tα/2|t| \gt t_{\alpha/2}, 否认原假设, 认为自变量对因变量之间的关系是显著的.

利用回归方程进行预测

回归模型经过各种检验表明合理性后, 就可以用来进行预测, 即预测因变量yy的期望值E(y)E(y). 对于一个给定的x0x_0, 通常我们使用点估计, 给出对应的估计值E(y0)E(y_0). 这里要详细说明的是区间估计.

回归预测的区间估计

利用估计的回归方程, 对于xx的一个特定值x0x_0, 求出yy一个估计值的区间, 称为区间估计. 区间估计也有两种类型:

  • 置信区间估计: 对一个给定的x0x_0, 求出yy的平均值的估计区间, 即E(y)E(y)的区间

  • 预测区间估计: 对一个给定的x0x_0, 求出yy的一个个别值的估计区间

yy的平均值的置信区间估计

x0x_0为自变量xx的一个给定值, E(y0)E(y_0)是给定x0x_0时因变量yy的真实平均值或期望值, y^0\hat{y}_0E(y)E(y)的估计值.

期望估计值y^0\hat{y}_0不能精确地等于E(y0)E(y_0), 因此要用y^0\hat{y}_0来推断E(y0)E(y_0). 这个过程需要考虑估计的回归方程得到的y^0\hat{y}_0的标准, 用sy^0s_{\hat{y}_0}表示:

sy^0=se1n+(x0xˉ)2i=1n(xixˉ)2s_{\hat{y}_0}=s_e\sqrt{\frac{1}{n} + \frac{(x_0-\bar{x})^2}{\sum\limits_{i=1}^n(x_i-\bar{x})^2}}

整体符合tt分布, 因此在1α1-\alpha的置信水平下的置信区间为:

y^0±tα/2se1n+(x0xˉ)2i=1n(xixˉ)2\hat{y}_0 \pm t_{\alpha/2}s_e\sqrt{\frac{1}{n} + \frac{(x_0-\bar{x})^2}{\sum\limits_{i=1}^n(x_i-\bar{x})^2}}

可以看出, 当x0=xˉx_0=\bar{x}时, 标准差最小, 置信区间最窄, 估计是最准确的; 偏离xˉ\bar{x}越远, 估计就越不好.

yy个别值的预测区间估计

对于给定值x0x_0, 求出yy的一个个别值y0y_0的区间估计. 仍然是符合tt分布, 但是此时的标准差变为了:

sind=se1+1n+(x0xˉ)2i=1n(xixˉ)2s_{ind}=s_e\sqrt{1 + \frac{1}{n} + \frac{(x_0-\bar{x})^2}{\sum\limits_{i=1}^n(x_i-\bar{x})^2}}

因此此时的预测区间变为了:

y^0±tα/2se1+1n+(x0xˉ)2i=1n(xixˉ)2\hat{y}_0 \pm t_{\alpha/2}s_e\sqrt{1 + \frac{1}{n} + \frac{(x_0-\bar{x})^2}{\sum\limits_{i=1}^n(x_i-\bar{x})^2}}

两者区别

可以看出, 对个别值的区间估计会比对期望的估计对应的区间宽度会更宽, 说明估计平均值比估计特定值/个别值会更精确.

最后更新于