线性回归漫谈
线性回归是一项假设因果线性的数据拟合方法,如今也是被大家广泛使用。但是其中对应underlying的条件假设都被大家忽略了,这篇文章尝试详细整理线性回归的方方面面,方便之后回顾和参考。大部分的资料都可以在参考文献中找到。
目录
[TOC] ## 假设 首先我们将各个后续使用到的假设条件在这个section
列举出来:
Assumption1: Linearity \[ Y = X\beta + \epsilon, Y \in \mathbb{R}^{N \times 1}, X \in \mathbb{R}^{N \times (K+1)}, \beta \in \mathbb{R}^{(K+1) \times 1}, \epsilon \in \mathbb{R}^{N \times 1} \]
这个假设是我们采取限性回归的基础,即假设因果关系符合现行表达。\(N\)代表着样本数量,\(K+1\)代表因变量的个数\(K\)加上\(1\)个biasness
。\(\epsilon\)是我们俗称的残差项,当然在金融领域,很多人也称之为特异性误差。
Assumption2: Strict Exogenity \[ \mathbb{E}[\epsilon | X] = 0 \]
这假设告诉我们,\(Y\)能够被\(X\)的线性表示充分表达。同时这个假设也意味着, \[ \mathbb{E}[\epsilon] = 0, \mathbb{E}[\epsilon X] = 0, \mathbb{Cov}[\epsilon, X] = 0 \]
Assumption3: Conditional Homoskedasticity \[ \mathbb{Var}[\epsilon | X] = \sigma_{\epsilon}^2 I \]
Assumption4: Conditionally Uncorrelated \[ \mathbb{Cov}(\epsilon_i, \epsilon_j | X) = 0, \forall i \neq j \]
值得注意的是假设2-4,三个假设是非常强的假设。他们都要求在任意给定的\(X\)条件下,\(\epsilon\)的一阶和二阶统计量满足一些条件,这就意味着\(\epsilon\)本身也需要满足这些条件,但是反之却不然。举个例子,\(\mathbb{E}[f(\epsilon)] = \mathbb{E}_X \left[\mathbb{E}[f(\epsilon)|X]\right]\), 当\(\mathbb{E}[f(\epsilon)|X]\)是一个\(X\)无关的量的时候,我们可以claim\(\mathbb{E}[f(\epsilon)]\)也满足的相同的性质,但是反过来,\(\mathbb{E}[f(\epsilon)]\) 满足某个性质的时候,我们不能claim \(\mathbb{E}[f(\epsilon|X)]\) 也满足改性质
Assumption5: Linear Independence \[ \sum_{k=1}^K c_{k}X_{ik} = 0, \forall i=1,\cdots, N \Leftrightarrow c_k = 0, \forall k = 1, \cdots, K \]
该假设则保证模型选取的因变量是线性独立的,即我们没有选取“重复”的因变量。该假设也保证了线性回归模型在数学上的可求解性,因为它意味着, \[ rank(X) = k + 1, \\ \det{X^T X} \neq 0 \]
Assumption6: Gaussional Res \[ \epsilon | X \sim \mathcal{N}(0, \sigma_\epsilon^2 I) \]
残差符合高斯分布这个假设则是更加强于假设2-4,我相信有一部分人会认为该假设是线性回归的underlying的假设。我们后续回揭晓这个假设其实对于线性回归没有任何的作用。
下面我们详细讨论这些假设在线性回归模型的应用,并且试图慢慢抹去其中的一些,然后来看看其带来的影响,以及新的求解方法
OLS
Estimator
假设我们需要的解决的问题满足Assumption 1-5。 Assumption2-4 告诉我们可以选取\(\mathcal{L}_{OLS}:=\mathbb{E}[\epsilon^T \epsilon]\) 作为优化的目标函数是合适,即我们需要解决下面的问题: \[ \min_{\beta} \mathcal{L}_{OLS} = \min_{\beta}\mathbb{E}\left[Y^TY -Y^TX\beta - \beta^T X^TY + \beta^T X^TXY\right] \] 我们可以发现\(\frac{\partial \mathcal{L}_{OLS}}{\partial \beta} = -2X^T + 2X^TX\beta\), 因此,
OLS estimator \[ \hat{\beta} = (X^TX)^{-1} X^T Y \]
回顾之前的Assumption,我们会发现Assumption5在这个时候保证了可解性。 说到了这边,我们是时候引入线性回归中一个最重要的(个人观点)的定理: Gauss-Markov Theorem
Theorem: Gauss-Markov 在Assumption1-5都成立的条件下,OLS estimator构成一个consistent BLUE(Best Linear Unbiased Estimator).
我们在附录里,大概展开了其证明的一些关键。
衡量OLS
上面的讨论,都是在比较的理想的情况下,最优的estimator应该长成OLS这个样子。但是在实际中,我们获取的数据终究和理想会有一些偏差,那么这个应该方法来衡量OLS在这些情况下的表现。
Hypothesis Testing
检验OLS所获得得\(\hat{\beta}\)的优劣,最简单的方式就是假说检验了。这个时候我们就需要利用到Assumption6, 即 \[\hat{\beta}|X \sim \mathcal{N}(\beta, \sigma^2(X^TX)^{-1})\] 既然\(\hat{\beta}|X\)服从高斯分布,那么就经典的t-检验(单因子分析)或者F-检验(多因子分析)来做假说检验。
单因子
如果\(\hat{\beta}\)只有一维,那么可以直接使用t-检验,检验\(\hat{\beta}\)本身。当然这个时候,我们需要估计的\(\hat{\sigma}\)去代替\(\sigma\)。这样\(t:=\frac{\hat{\beta}-\beta}{\hat{\sigma}{(X^TX)^{-\frac{1}{2}}}}\) 服从t-分布。而这边\(\hat{\sigma}^2\)则是对于\(\mathbb{Var}[\epsilon]\)的估计,我们可以采用最简单的方法来估计, \[
\hat{\sigma}^2 = \frac{1}{N-(k+1)}\sum_{i=1}^N (Y_i - X_i \hat{\beta})^2
\] 这边\(N-(k+1)\)则是Bessel correction
。 有了这些,我们可以将完整的假说检验描述成:
Single Factor \[ H_0: \hat{\beta} = \beta_0 \\ H_1:\hat{\beta} \neq \beta_0 \]
If \(t < t_{\frac{\alpha}{2}}\) or \(t > t_{1-\frac{\alpha}{2}}\), We can reject \(H_0\), where \(\alpha\) is tolerance.
多因子
R-square
R-square \[ R^2 := \frac{\mathrm{ESS}}{\mathrm{TSS}} = \frac{\sum_{i=1}^N (\hat{Y}_i - \bar{Y})^2}{\sum_{i=1}^N (Y_i-\bar{Y})^2} = 1 - \frac{\mathrm{RSS}}{\mathrm{TSS}} = 1 - \frac{\sum_{i=1}^N \hat{\epsilon}_i^2}{\sum_{i=1}^N (Y_i-\bar{Y})^2} \] R-square is also called coefficient of determination.
从上面这个表达式,我们可以从几何的角度大概理解了一下,\(R^2\)是衡量个什么。首先,我们可以看到\(\hat{\epsilon}\)表达的意思,就是\(N\)维空间里的一个点\(Y\)到\(\{X_{:,0},X_{:,1},X_{:,2},\cdots, X_{:,K}\}\)构成的空间最近的欧式距离。那么很明显,我们可以得到关于\(R^2\)的几个结论: - \(R^2\)随着\(K\)的增大而增大 - \(K\ge N-1\),并且在满足Assumption5的时候,\(R^2=1\) 因此,在使用\(R^2\)去评价一个因子对目标的贡献的时候,永远都会得到一个非负的结果,而这个结果可能是由于过拟合导致的,并不是该因子一定做出来真正意义上的贡献了。
为了解决上面的这个问题,有人提出了一个调整后的\(R^2\),称之为\(R_{adj}^2\) > Adjusted R-square > \[ R_{adj}^2 := 1 - \frac{\mathrm{RSS}/(N-K-1)}{\mathrm{TSS}/(N-1)}= 1 - (1-R^2)\frac{N-1}{N-K-1} > \]
这边其实借鉴了F-test的思想。\(\mathrm{RSS}\)其实有\(N-(K+1)\)个“随机自由度”(\(K+1\)个维度被\(X\)所解释了)。\(\mathrm{TSS}\)有\(N-1\)个“随机自由度”(\(\bar{Y}\)约束了其中一个维度)。
最后我们考虑一下\(R^2,R^2_{adj}\)等于0的情况,那就是我们不采取任何其他的因子去解释\(Y\),永远就用样本的平均\(\bar{Y}\)去作为\(Y\)的估计值,这个时候,\(\mathrm{RSS}=\mathrm{TSS},K=1\)。
AIC && BIC
\(R^2_{adj}\)对于\(R^2\)的调整,就是期望我们在最小化\(\mathrm{RSS}\)的过程中,对于因子的个数有一定的惩罚。这个和现在机器学习里正则化的思想我认为也是大同小异。那么\(\mathrm{AIC}\)和\(\mathrm{BIC}\)两种information criterion
则是将这个约束变得更加有数学意义点。
AIC and BIC \[ \mathrm{AIC} = N + N\log2\pi + N \log \frac{\mathrm{RSS}}{N} + 2(K+1), \\ \mathrm{BIC} = N + N\log 2\pi + N \log \frac{\mathrm{RSS}}{N} + (K+1)\log N \]
Out-of-Sample RMSE
最后这种,则是目前机器学习中,相对主流的方法,对于一个回归问题,使用样本外的均方差来评价模型的好坏。
RLS
在考虑完简单的OLS之后,我们考虑一个跟实际更加接近的模型,即在现实生活中,我们真实的\(\beta\)往往不是可以在空间里任意选择,而是仅仅只会位于某些更加低维的空间里面,即我们需要解决下面的问题, \[ Y = X\beta + \epsilon, \\ L\beta = r, L \in \mathbb{R}^{M\times {K=1}}, r \in \mathbb{R}^{M\times 1} \] 当然这边\(M < K+1\),否则就没有自由度供我们去优化\(\hat{\beta}\)了。 对于RLS的解,我们借助拉格朗日方法可以求解得到,细节见附录
RLS estimator \[ \hat{\beta}^{RLS} = \hat{\beta}^{OLS}- (X^TX)^{-1}L^T\left(L(X^TX)^{-1}L^T\right)^{-1}(L\hat{\beta}^{OLS}-r) \]
衡量RLS
通过对构造出来的优化问题的求解,我们得到了\(\hat{\beta}^{RLS}\),那么我也需要去从各个方面去评价其的好坏。 首先就是,我们需要证明的\(\hat{\beta}^{RLS}\)需要满足给定的限制条件\(L\hat{\beta}^{RLS} = r\),这点从其表达可以直接看出来。 再之,我们可以检查一下\(\hat{\beta}^{RLS}\)作为一个估计算子,是否是无偏的并且一致的。对于偏置,我们计算一下期望\(\mathbb{E}[\hat{\beta}^{RLS}]\). 因为\(\mathbb{E}[\hat{\beta}^{OLS}] = \beta\)(Assumption2), 我们很容易得出来,\(\hat{\beta}^{RLS}\)也是一个无偏估计。对于一致性,因为\(\mathbb{Var}[\hat{\beta}^{OLS}] = \sigma^2 (X^TX)^{-1}\), 当\(N\to\infty\), \(\mathbb{Var}[\hat{\beta}^{OLS}] \to 0\), 也就是\(\hat{\beta}^{OLS} \to \beta\), 那么我们也很容易发现\(\hat{\beta}^{RLS} \to \beta\)。总结一下,
那么\(\hat{\beta}^{RLS}\)的效率如何呢,在对\(\beta\)有限制的前提下,\(\hat{\beta}^{RLS}\)会不会比\(\hat{\beta}^{OLS}\)估计更加的高效呢,那么只需要两个估计算的协方差\(\mathbb{Var}[\hat{\beta}^{RLS}]\)和\(\mathbb{Var}[\hat{\beta}^{OLS}]\), 通过一些简单的计算,我们可以发现, \[ \mathbb{Var}[\hat{\beta}^{OLS}] - \mathbb{Var}[\hat{\beta}^{RLS}] = \sigma^2(X^TX)^{-1}L^T\left(L(X^TX)^{-1}L^T\right)^{-1}L(X^TX)^{-1} \ge 0 \]
RLS Summary If the restrictions are correct, \(L\beta = r\), and all assumptions satisfies then: - \(\hat{\beta}^{RLS}\) is unbiased - \(\hat{\beta}^{RLS}\) is more efficient than \(\hat{\beta}^{OLS}\) - \(\hat{\beta}^{RLS}\) is BLUE \(\hat{\beta}^{RLS}\) is consistent \(\hat{\beta}^{RLS}\) is asymptotically normally distributed: \[ \hat{\beta}^{RLS} \sim \mathcal{N}\left(\beta, \sigma^2D(X^TX)^{-1}\right), \] where \(D=I-(X^TX)^{-1}L^T\left(L(X^TX)^{-1}L^T\right)^{-1}L\)
If the restrictions are wrong, \(L\beta = r\), then: \(\hat{\beta}^{RLS}\) is biased(no longer BLUE) \(\hat{\beta}^{RLS}\) is remains more efficient than \(\hat{\beta}^{OLS}\) \(\hat{\beta}^{RLS}\) is inconsistent
这边我们需要说明的,\(\hat{\beta}^{RLS}\)的方差一直比\(\hat{\beta}^{OLS}\)要小,无论限制条件是否满足,但是这并不影响\(\hat{\beta}^{OLS}\)是BLUE
在没有限制条件的下,因为一旦限制条件被破坏,\(\hat{\beta}^{RLS}\)虽然效率更加高,但是它不再是一个无偏的估计算子了。
既然先验的条件,对于一个估计算子来说是异常之重要,那么我们可以采用传统的假说检验,来帮助我们验证先验的正确性。 \[ H_0: L\beta = r, H_1 : L\beta \neq r \] 采用F-test去做假说检验的话,只需要计算, \[ F := \frac{(\mathrm{RSS}_R - \mathrm{RSS}_{UR})/M}{\mathrm{RSS}_{UR}/(N-(k+1))} \]
共线性
上面两个问题,无论是OLS还是RLS,要想求解都离不开Assumption5,也就是说我们需要\((X^TX)\)这个矩阵是可逆的,或者就是我们给出因子之间不要存在线性关联。但是在实际建模中,尤其是面对可解释性没有那么强的因子时,这个条件往往不成立,或者说我们很难准确地判断这个条件是不是成立。因此在实际中使用的时候,因此数据或多或少存在一些噪声,求解器往往不会直接抛出\((X^TX)\)不可逆的错误,但是我们并不能忽略共线性带来的影响。
我们很容想到的问题就有:
- 估计算子的方差\(\sigma^2(X^TX)^{-1}\)会很大,很不稳定
- 在做预测的时候,因子的微笑变化,甚至该变化是来源自噪声,也可能导致\(Y\)的巨大差异
- \(R^2\)远超预期的大,(这点我觉得因素太多,未必是共线性导致的)
- 过拟合,因为共线性的因子包含的信息其实就是那么多,但是因子个数却在增加,因此很容易造成过拟合,这点和\(R^2\)超预期也是类似
那么如何去检验我们因子中是否存在严重的共线性,则是在做线性回归的时候,一个前置问题。 一般可能会有两种方法
Variance Inflation Factor(VIF)
VIF的想法则是十分简单的,如果被检测的因子\(X_{:,j}\)是一个连续变量,那么我们直接用剩余的因子对其做一个线性回归,并且计算其对应的\(R^2_j\), 如果\(R_j^2\)过大,则认为该因子和其他因子存在比较严重的共线性。 \[
X_{:,j} = \sum_{k\neq j}X_{:,k}\alpha_k + e_j
\] 当然这边为了和之后定义的GVIF
有个对应的关系,一般检测的是下面这个值
VIF \[ \mathrm{VIF}_j := \frac{1}{1-R_j^2} \]
Generalized Variance Inflation Factor(GVIF)
VIF要求我们构建出一个线性回归问题,但是在有些时候线性回归问题并不是可以构造的,例如被检测因子和其他因子存在多项式关系,或者被检测因子是一个类别性质的因子。那么这个时候我们需要将被检测的因子归入到一个集合内,比如, - 多项因子:\(\mathcal{F}=(x_1, x_1^2, x_1^3, \cdots)\) - 类别哑变量:\(\mathcal{F}=(1_{x\in C_1}, 1_{x\in C_2}, \cdots)\)
这个时候我们的因子被分成两个集合\(\mathcal{F}, \mathcal{F}_C\), 那么我们可以计算他们的correlation matrix。
GVIF \[ \mathrm{GVIF} := \frac{\det \mathbb{Cov}(\mathcal{F}) \det \mathbb{Cov}(\mathcal{F}_C)}{\det \mathbb{Cov}(\mathcal{F} \cup \mathcal{F}_C)} \]
处理共线性
处理共线性的方法:
- 警惕哑变量陷阱,即当你对类别因子采用哑变量的时候,如果这个时候还有一个偏置项,那么偏置和哑变量则必然构成共线性。
- 通过上述检测方法,剔除共线性强烈的因子,但是如果目标不是做因子检测,而是单纯的想去预测\(Y\),剔除并不是一个很好的方法,因为我们会丢失对\(Y\)的信息。这个时候,最好的方法去寻找规避过拟合的方法
- 防止过拟合
- 增加正则项
- 获取更多的数据,缓解过拟合和共线性带来的影响
- 有限bound的因子,选择合适的normarlize技术
GLS
在共线性部分,我们考虑了relax Assumption 5的各个方面。那么在GLS
这个部分,我们考虑的是relax Assumption 3-4。Assumption3-4 要求的是对于随机变量\(\epsilon\), 它们之间的协方差矩阵是一个正比于单位矩阵的量,也是保证各个error之间是相互无关而且各向同性。那么当然,这边抹除这个假设,则是我们认为协方差可以写成一个通用的形式, \[
\mathbb{Cov}(\epsilon, \epsilon) = \sigma^2 \Omega
\] 这边\(\Omega\)是一个半正定矩阵。
OLS表现
我们可以先看一下\(\hat{\beta}^{OLS}\)在这个场景下面的表现。首先因为Assumption2的成立,因此\(\hat{\beta}^{OLS}\)依然是无偏的,而且很容易计算, \[ \mathbb{Cov}(\hat{\beta}^{OLS}, \hat{\beta}^{OLS}) = \sigma^2 (X^TX)^{-1}X^T\Omega T (X^TX)^{-1} \neq \sigma^2 (X^TX)^{-1} \] 从上面的表示,我们依然可以看到\(N\to\infty, \mathbb{Cov}(\hat{\beta}^{OLS}, \hat{\beta}^{OLS}) \to 0\), 因此,在这种情况下面, \(\hat{\beta}^{OLS}\) 仍然是一个无偏并且一致的估计算子
但是我们上面的统计推断的很多方法在这边都不再使用了,因为在没有关联并且各向同性的误差假设,我们采用了\(\hat{\epsilon}^T \hat{\epsilon}\)来估计\(\hat{\sigma}^2\),那么显然在这边\(\hat{\epsilon}^T \hat{\epsilon}=\frac{1}{N-(K+1)}((Y-X\hat{\beta}^{OLS})^T(Y-X\hat{\beta}^{OLS}))\)是一个有偏并且不一致的估计了。
通用的估计算子
基本线性代数方法,告诉我们对于相关的随机变量的协方差矩阵,要对这些随机变量进行解耦,最简单的方法就是使用正交矩阵直接对角化这个协方差矩阵。然后为了保证各个方向的各向同性,我们再在新的坐标系下进行一些简单的伸缩变换就可以了。综合上面两步,我们可以找到一个三角矩阵\(U\),满足 \[
\Omega^{-1} = UU^T
\] 那么很容易我们可以将通过下面的变换GLS
转化成OLS
\[
\tilde{Y} = \tilde{X} \beta + \tilde{\epsilon}, \tilde{Y}:=U^TY, \tilde{X}:=U^TX, \tilde{\epsilon}:=U^T \epsilon
\] 因此
GLS Estimator \[ \hat{\beta}^{GLS} = (X^TUU^TX)^{-1}X^TUU^TY = (X^T\Omega^{-1}X)^{-1}X^T\Omega^{-1}Y \]
Summary
通过\(U\)变换之后,OLS
的那些分析都可以拓展到GLS
中来,这边只是总结一下最终的结果,具体可自行根据上面的内容推导.
GLS Summary - The error variance \[\hat{\sigma}^2=\frac{1}{N-(K+1)}(\tilde{Y}-\tilde{X}\hat{\beta}^{GLS})^T(\tilde{Y}-\tilde{X}\hat{\beta}^{GLS}) \\ = \frac{1}{N-(K+1)}((Y-X\hat{\beta}^{GLS})^T)\Omega^{-1}(Y-X\hat{\beta}^{GLS})\] \(\hat{\sigma}^2\)是对\(\sigma^2\)的一个无偏,一致的估计。 - \(\hat{\beta}^{GLS}\) 是一个无偏的估计, \(\mathbb{E}[\hat{\beta}^{GLS}] = \beta\) - 协方差矩阵为\(\mathbb{Cov}(\hat{\beta}^{GLS}, \hat{\beta}^{GLS}) = \sigma^2(X^T\Omega^{-1}X)^{-1}\) - 如果Assumption5成立,那么\(\hat{\beta}^{GLS} | X \sim \mathcal{N}(\beta, \sigma^2(X^T\Omega^{-1}X)^{-1})\) - \(\hat{\beta}^{GLS}\) is BLUE
现实与理想
我们可以发现上面的所有关系,从线性变换开始,都隐含假设了我们知道了\(\Omega\)这个矩阵。当然在现实中,我们有的情况是知道\(\Omega\)的,比如Barra纯因子模型中,假设了波动和股票市值的平方根成正比,从而认为的构造出了一个\(\Omega\)。但是在绝大部分数学分析的工作中,\(\Omega\)都是未知的。因此如何去构造一个\(\Omega\)的估计\(\hat{\Omega}\)才是整个建模的关键。
附录
Gauss-Markov Theorem
任何一个线性的estimator \(\tilde{\beta} = M Y\), 我们需要证明的 \(\hat{\beta}\)在所有的\(\tilde{\beta}\)中拥有最小的估计方差,以及其能保证一致性。 对于一致性来说,我们需要证明\(\mathbb{E}[\hat{\beta}]=\beta\). \[ \mathbb{E}[\hat{\beta}] = \mathbb{E}_X\left[\beta |X + (X^TX)^{-1}X^T\mathbb{E}[\epsilon | X]\right] = \beta \] 当然从上面的式子,我们也可以看出来 \[ \mathbb{E}[\hat{\beta}|X] = \beta \] 这边我们只用到了Assumption2
下面我们开始证明,OLS具有最小的条件协方差矩阵,即 \(\mathbb{Cov}(\hat{\beta}, \hat{\beta} | X) \le \mathbb{Cov}(\tilde{\beta}, \tilde{\beta} | X)\). 令\(M = D + (X^TX)^{-1}X^T\), 我们很容易计算出来, \[ \mathbb{Cov}(\tilde{\beta}, \tilde{\beta} | X ) = DYY^TD^T + \mathbb{Cov}{(\hat{\beta}, \hat{\beta} | X)} \] QED
RLS问题
对于RLS的拉格朗日量可以写成, \[ \mathcal{L}(\beta, \lambda) = (Y-X\beta)^T(Y-X\beta) + 2\lambda^T(L\beta -r) \] 其对应的导数为 \[ \frac{\partial \mathcal{L}}{\partial \beta} = -2X^TY + 2X^TX\beta + 2L^T\lambda = 0 \\ \frac{\partial \mathcal{L}}{\partial \lambda} = 2L\beta - 2r = 0 \] 那么\(\beta, \lambda\)则是下面线性方程组的解, \[ \left(\begin{array}{cc}X^TX & L^T \\ L & 0\end{array}\right) \left(\begin{array}{c}\beta \\ \lambda\end{array}\right) = \left(\begin{array}{c}X^TY \\ r\end{array}\right) \] 通过求逆,我们很容易得到 \[ \hat{\beta}^{RLS} = \hat{\beta}^{OLS}- (X^TX)^{-1}L^T\left(L(X^TX)^{-1}L^T\right)^{-1}(L\hat{\beta}^{OLS}-r), \\ \lambda = \left(L(X^TX)^{-1}L^T\right)^{-1}\left(L\hat{\beta}^{OLS} - r\right) \]
参考文献
- Book, Element of statistical learning
- https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1601414
- http://web.vu.lt/mif/a.buteikis/wp-content/uploads/PE_Book/