引言
不论是优化以及统计学学习,还是在生活中,因为固有的‘平均思维’,最小二乘法是最直观的理解。假设是想要估计的值,学习过数学的同学首先想到的是找到一个,使手上数据的残差最小。
- 一次残差 : = -
- 二次残差: =
- 高次残差: =
一次残差会因为正负而抵消掉,二次则很好地保留了每一个数据的残差信息,而为什么不用高次,可能源于奥卡姆剃须刀吧。(最小二乘法的最优性质讨论不在本文讨论范围)
进入正题,因为上课老师总是说,线性回归中,最小二乘法和极大似然法在正态残差的条件下是等价的,本文的目的是想记录下具体数学推导。
线性回归的矩阵标记法
如果数据满足(Gauss-Markov conditions):
- E() = 0: 残差之和为零
- 独立且同方差(Var() = )
刚刚提到,最小二乘法是要优化二次残差使其最小,因此对目标函数 求导然后令倒数等于零即可得到的(全局)最优解。
上面的全局之所以打括号,是因为对数据,也就是X和y有一定要求。同学门都知道,一阶导数需要满足单调,才能使一阶导数等于0所计算得出的参数为全局最小(倒数为单调递增且过x轴)或者最大(倒数为单调递减且过x轴)。
回到倒数求解,可以转换成矩阵表示方法,最小二次残差下的满足 . 因此,如果 Rank(X) = ,即等价于前述的单调条件,可以求得最优解。
从公式可以看出,最小二乘估计利用了数据的所有信息(X和y)。
另外插播一段,如果为非奇异矩阵(同X不满秩),则目标函数存在许多局部最小值,我们成为存在多重共线性,具体本文不做讨论。这也牵涉到为什么比如神经网络的优化需要用搜索目标函数最小值的办法,因为如果要更精确地求出最优解需要使用到更高次求导,给计算机程序设计带来了许多挑战。
极大似然法
极大似然法是典型的参数模型(也就是不是非参数模型),使用前需要假设数据分布。同样,假设残差满足正态,期望为零,独立且同方差的条件,那么Y也服从正态分布。
(直观解释也就是重复实验使用相同的X值,会得到服从正态分布的Y,且对于所有X都满足,标准差都为)
因此,可以得到似然函数为
注意:如果方差不相同,似然函数累乘则不能化简为上式。可见假设的重要性。
对对数似然函数(log-likelihood function)中的求导取零,得到等式为,
有木有似曾相识!!!
没错,可以看出极大似然下的估计值和完全一致。
回到两种方法的对比,里面都对数据做了正态残差假设。对于最小二乘法,是希望给定X的情况下得到Y的期望为回归所得值,即;而对于极大似然估计,是为了使用正态分布的概率密度函数(正态残差可以推导出y服从正态分布)。隐约可以感受到正态分布所带来的强大力量。(统计推断更能体现)
最后作为附录,给出估计值的推导过程。(其中用到了对矩阵求倒数的公式,具体请参考Wiki: Matrix_calculus。下面给出使用了的三个公式,截图自wiki。注意第三列为行向量表示结果,第四列为列向量表示结果。下面的证明(也是习惯)使用的是列向量表示方法。