DATA7202 多元线性回归

UQ 2020 Semester 1 DATA7202 Statistical Methods for Data Science

多元线性回归复习笔记(不一定对),省略了很多证明,我能咋办,我也看不懂呀

好文:

https://zhuanlan.zhihu.com/p/25436791

https://www.cnblogs.com/nxld/p/6435677.html

https://zhuanlan.zhihu.com/p/48541799(几乎所有数学证明可以找到)

离散和连续

如果随机变量的值可以都可以逐个列举出来,则为离散型随机变量。如果随机变量X的取值无法逐个列举则为连续型变量。

极大似然估计(MLE)

似然

假如我们抛硬币100次,有80次朝上的,我们猜测抛硬币结果朝上的概率为80%。

这就是似然! 我们通过事实,来反推测出这个事件的各种参数。(抛硬币是概率,也可以是均值,可以是方差等等)

计算一个事件的概率需要参数数据

比如一个事件的数据是\((x_1,…, x_n)\), 它的参数是\((\theta_1,…,\theta_k)\):

它的概率函数表示为 \(f\left(x_1,…,x_{i} ; \theta_{1}, \dots, \theta_{k}\right)\), 也表示为\(f\left(x_1,…,x_{i} {|} \theta_{1}, \dots, \theta_{k}\right)\),

此时参数已知,数据未知,当你知道了数据,你就可以计算出概率。

它的似然函数表示为 \(L_{n}\left(\theta_{1}, \ldots, \theta_{k} ; x_{1}, \ldots, x_{n}\right)\)

此时数据已知,参数未知。

它们的公式相等都表示,都是计算出事件发生概率的公式。

MLE

极大似然估计的理念就是选取最有可能的似然!

翻译一下就是求出\(L_{n}\left(\theta_{1}, \ldots, \theta_{k} ; x_{1}, \ldots, x_{n}\right)\) 每个参数\(\theta\) 的最大值!

最大的参数值的意义代表着最有可能是这个事件的真实参数!

怎么求呢?

极大似然估计首先假设事件结果每一次都是独立的。

根据独立性质,\(f\left(x_1,…,x_{i} {|} \theta_{1}, \dots, \theta_{k}\right) = \prod_{i=1}^{n} f\left(x_{i} ; \theta_{1}, \ldots, \theta_{k}\right)\)

\(\prod\) 表示连乘号,例如:$_{i=1}^{n} x_i = x_1 x_2 … x_n $

因此我们有了极大似然估计的公式:

$L_{n}({1}, , {k} ; x_{1}, , x_{n}) = {i=1}^{n} f(x{i} ; {1}, , {k}) $

例子(抛硬币)

抛10枚硬币,记录出现正面的次数。

假如出现正面的次数为4.

计算概率:

即求 \(f(4|\theta)\)

根据二项分布定理,\(f(x|\theta) = \binom {10}{4} \theta^4 (1-\theta)^6\)

我们要求它的最大值:

  1. 求导:

\(theta\)求导

$ = (43(1-)6-64(1-)5)$

  1. 令其等于0

    $4(1-)-6= 0 $

    \(\theta = 0.4\)

假设我们不知道投硬币的概率,从抛10次得到4次是正面的结果来看,潜意识也会认为是40%。

例子(正态分布)

用极大似然估计证明正态分布的参数\(\mu,\sigma^2\) 是平均值和方差。

\(f\left(x ; \mu, \sigma^{2}\right)=\frac{1}{\sqrt{2 \pi \sigma^{2}}} e^{-\frac{(x-\mu)^{2}}{2 \sigma^{2}}}\)

手算或者网上好多,再打一遍latex有点多。

证明无偏和有偏的我还不懂

多元线性回归

p是coefficent的数量,即\(\Beta\)的数量,n是有多少条数据,即\(X\)矩阵的行数。

以后再举例子,我睿了。

推导

\(\boldsymbol{Y}=\boldsymbol{X} \boldsymbol{\beta}+\boldsymbol{\varepsilon}\)

根据最小二乘法,极大似然估计或者error function都能计算出 \(\boldsymbol{\beta}\)\(\left(X^{\top} X\right)^{-1} X^{\top} Y\)

我们的预测值为:\(\widehat{Y}=X \widehat{\boldsymbol{\beta}} = X\left(X^{\top} X\right)^{-1} X^{\top} Y\)

\(X\left(X^{\top} X\right)^{-1} X^{\top}\)hat matrix,或H

H matrix

\(H = X\left(X^{\top} X\right)^{-1} X^{\top}\)

\(H\) 是一个对称和idempotent(幂等)矩阵

一个矩阵A是idempotent的意思为 \(A^2 = A\)

证明H是idempotent的:

\(H^2 = X\left(X^{\top} X\right)^{-1} X^{\top} (X\left(X^{\top} X\right)^{-1} X^{\top}) = X(X^{\top} X^{-1} (X^{\top} X))X^{\top} X^{-1} X^{\top}\)

因为 \(X^{\top} X^{-1} (X^{\top} X) = I\)

即 $ H^2 = H$

证明\(H\)是对称的:

还不会,网上都说显然可知。。。

##残差

残差residual为:\(e = Y-\widehat{Y}=\left(1_{n}-H\right) Y\)

证明:\(\operatorname{Var}(\mathrm{e})=\left(\mathrm{I}_{n}-\mathrm{H}\right)[\operatorname{Var}(\mathrm{Y})]\left(\mathrm{I}_{n}-\mathrm{H}\right)^{\top}=\sigma^{2}\left(\mathrm{I}_{n}-\mathrm{H}\right)\)

\(\mathrm{I}_{n}-\mathrm{H} = A\)

$() = E((A(Y-))(A(Y-))^T) $

\(= E(A(Y-\mu)(Y- \mu)^TA^T)\)

\(= AE((Y-\mu)(Y- \mu)^T)A^T\)

\(= A\operatorname{Var}(\mathrm{Y})A^T\)

\(= (\mathrm{I}_{n}-\mathrm{H})\operatorname{Var}(\mathrm{Y})(\mathrm{I}_{n}-\mathrm{H})^T\)

因为\((\mathrm{I}_{n}-\mathrm{H})(\mathrm{I}_{n}-\mathrm{H})^T = (\mathrm{I}_{n}-\mathrm{H})\) (根据对称,转置等于本身。再根据幂等,平方等于本身)

\(= \sigma^2(\mathrm{I}_{n}-\mathrm{H})\)

因此\(e_{i}=\sigma^{2}\left(1-h_{i i}\right)\) ,\(h_{ii}\)\(H\) 的对角元,也叫杠杆值(leverage)

leverage杠杆值

\(h_{ii}\)\(H\)矩阵对角线上的值,它能很大的影响预测值,原因如图:

由于\(\sum_{i=1}^{n} h_{i i}=p\)(好像是根据trace,对称幂等矩阵公式推导的,我睿了):

因此如果\(h_{ii} > 2p/n\), 则称观测值\(x_i\) 为异常值。

如果Studentized residual的绝对值非常大,例如\(\left|r_{i}^{*}\right|>2\) ,也可以说\(x_i\)是异常值。

Model assumption

残差对于model assumption很重要,它必须满足下面四条性质。

Normality(QQ-PLOT)

残差的分布应该接近正态分布(均值为0)

可以使用qq-plot来判断数据集是否服从正态分布,当qqplot的图近似为一条45度的直线时,则说明该数据服从正态分布。

上图左半部分近似正态分布,因此qqplot为一条45度直线。而右半分布则不是。

1
2
qqnorm(x)
qqline(x)

Linearity

模型应该捕获所有系统数据中存在的方差,只留下随机噪声。

或者说作出的图像近似一条直线。说明可以和我们假设是线性相关一致。

###homoscedasticity(constant variance)

假设我们有家庭收入和奢侈品支出的数据。使用二元回归,我们使用家庭收入来预测奢侈品消费。不出所料,收入与支出之间有很强的积极联系。通过检查残差,我们发现了一个问题–残差对于家庭收入较低的值很小(几乎所有低收入家庭在奢侈品上的花费都不多),而较富裕家庭的残差大小却存在很大差异(有些家庭在奢侈品上花了很多钱,而有些家庭的奢侈品花销则比较中等)。这种情况表示异方差性,因为误差的大小随自变量的值而变化。

如图所示:

我们发现上述例子就可以对应“nonconstant variance”图,即方差和残差之间存在关联性。

“contant variance“ 图残差对于自变量或者预测值都没有关联性,说明就是随机误差,是我们想要的结果。

直接测试符不符合homoscedasticity的代码为

suggested power transformation 的用处:

suggested power transformation值为\(p\), \(Y^{p}\)更能满足homoscedasticity性。(\(Y\) 就是真实值)

例子:suggested power transformation值为0.5,那么使用 \(Y^{0.5}\) 比使用\(Y\) 更能满足homoscedasticity性,此时残差\(e = Y^{0.5}-\widehat{Y}\)

independence

如果残差根据时间并没有明显线性关系时,说明残差具有独立性。

时间的意思是自变量输入的顺序。

具体操作例子

数据:中风患者出院后康复情况

应变量(\(Y\)): 康复出院时的步行速度

有120组数据,17个自变量属性。

目的:

  1. 尝试预测出院时的步行速度
  2. 找出哪些自变量最能影响预测值

变量的含义就不介绍了

变量处理

对于分类型变量,一般我们将其处理为dummy variables(哑变量)

只有2个分类时,例如性别:我们将female = 1, male = 0

分类数量大于2时,例如例子中的(side of stroke)变量含有“left”,“right”,“other”三个分类

将其变为:“left” = (1 0 0), “right” = (0 1 0), “other” = (0 0 1)

实际上我们可以将3类的进行优化,例如:“left” = (1 0), “right” = (0 1), “other” = (0 0)

既不是left也不是right的自然就是另一个分类。

这样做的目的可以减少空间。

第一步:线性检查(linearity)

我们对所有变量画一次单变量-因变量散点图,观察其是否具有线性。

因为具有线性才能符合我们的假设,我们的公式。

第二步:相关性

为什么属性可以影响到因变量(行走速度)呢?

它可能是相关的,但是相关并不意味着因果关系。 这些变量中有许多相互关联,因为其他因素(例如,运动功能受损的程度)以相似的方式影响其中一个以上的因素。

我们仍然希望看到似乎与出院步行速度直接相关的解释变量会成为多元回归分析中的最佳预测变量。

第三步:缺失数据

在120组数据中只有85组拥有完整的所有变量。

然而大多数的多元线性回归会直接去掉含有未知量的数据组。

这大大缩小了样本大小。鼓励我们尽可能使用较少的解释变量。

对解释变量的初始剔除

对每一个解释变量都做一次简单线性回归,仅保留那些显著关联响应变量的解释变量。

通过这个操作,我们删除了“FIM cognitive”,“MAS 6-8“,“age”,“gender”,“side of stroke”等变量。

第四步:线性回归

对解释变量 "FIM motor score” 和“ walking speed at admission”分别做简单线性回归,如下:

p-value

当p-value小于给定\(\alpha\), 一般为0.005或0.001时,则称该变量是否有意义。(越小越好)

具体一点:

零假设:对于\(x_j\), \(\beta_j = 0\) 含义就是\(x_j\)这个解释变量对于响应变量毫无影响。

备择假设:\(\beta_j \neq 0\)

如何计算?

我们计算\(\hat{\mathrm{y}}=\mathrm{b}_{0}+\mathrm{b}_{1} \mathrm{x}_{1}+\mathrm{b}_{2} \mathrm{x}_{2}+\ldots+\mathrm{b}_{\mathrm{d}} \mathrm{x}_{\mathrm{d}}\) (排除掉\(\mathrm{b}_{j}\)),比较这个值产生的error和包括\(\mathrm{b}_{j}\)时的error。

当小于某个阈值(\(\alpha\))时,则说明\(x_j\)是一个重要的解释变量。

多元线性回归中一个解释变量的p值通常会比简单线性回归中此变量的p值高(说明更少的重要性)

甚至可能从“重要”被偏移到“不重要”

为什么呢?

因为选择其他的变量的时候就可能已经帮助到响应变量了,所以仅仅增加一个并不能很有效的帮助。

因此:仅有一些解释变量是重要的。

我们可以根据p-value值进行排序,讲较大的p-value对应的解释变量剔除。

Coefficient

“Coef.“即是\(\beta\)的值,越大说明对结果影响越大。(越大越好)

###R-squared

https://zhuanlan.zhihu.com/p/47180789

SSTO,SSE

\(SSTO = \sum_{i=1}^{n}\left(y_{i}-\bar{y}\right)^{2}\)

\(y_i\)是真实值,\(\bar{y}\)是样本均值。

\(\mathrm{SSE}=\sum_{i=1}^{n}\left(y_{i}-\hat{y}_{i}\right)^{2}\)

\(\hat{y}_{i}\)\(y\)的预测值。

从图中看出:

每个散点就是\(y\)

绿线就是\(\bar{y}\),因为是常数,所以是一条水平的直线。

红线是\(\hat{y}_{i}\),是由线性回归得出的直线。

所以SSTO是真实情况对于平均值的离散程度,而SSE是真实情况对于随机误差的离散情况(可能是个病句)

由这个两个值我们得到一个重要的判断值:

\(R^{2}=\frac{\mathrm{SSTO}-\mathrm{SSE}}{\mathrm{SSTO}} = 1 - \frac{\mathrm{SSE}}{\mathrm{SSTO}}\)

\(R^2\)越接近1,说明回归线更加的精确。

由于这个是有偏估计,把它变为无偏后的\(R^2\)就是“Adj R_squared”,道理以后再搞懂。

“Adj R_squared” = 0.8,则说明了解释变量解释了80%的响应变量的方差。(越大越好)

多元线性回归的条件

  1. 每一个解释变量和响应变量的关系都逼近一条直线(linearity)
  2. 没有高影响的异常值
  3. 残差逼近正态分布
  4. 残差具有constant varianve(用过 residuals vs fitted values图)
  5. 数据值独立
  6. 解释变量的个数p受到样本大小n的约束,通常我们根据经验法则:\(p \leq n/3\)

多元线性回归图

通常我们使用p-value进行排序(越小越重要),如果p-value值相同,则使用t-test结果的绝对值(越大越重要)

我们还可以查看所有变量之间的correlation。我们发现有些变量之间也有很强的关联性,这并不好,大多数的做法是去掉它们。

总结

  1. 如果需要,可以通过图形,相关性计算以及简单的线性回归与响应进行探索性数据分析,以找出有希望的变量。但是,这不能完全预期多元线性回归的结果。
  2. 估计的斜率系数可以解释为与解释变量的单位增加相关的响应变量的平均变化,而其他解释变量则保持不变。应该报告其置信区间。
  3. 找到关联后,因果关系通常仍然不清楚,但可能存在于变量对之间。这可以激励旨在改善反应变量结果的后续干预研究。
  4. 基于多个解释变量,可以使用多元线性回归为感兴趣的响应变量开发预测方程。
  5. 它还可以量化哪些解释变量与响应变量显着相关。
  6. 分类变量可以变为哑变量放入模型中
  7. 多重线性回归的假设与简单线性回归的假设相同,但对可能的解释变量的数量有额外的限制,建议最多为n / 3,其中n为观察数。