11. 高斯模型¶
1800年代, 约翰·卡尔·弗里德里希·高斯(Johann Carl Friedrich Gauss) 提出了最小二乘拟合方法和以他的名字命名的分布,高斯分布。 高斯分布的概率密度函数具有对称的钟形形状,通常又被称为正态分布, 高斯分布是统计学中应用最广泛的概率分布之一。 传统的线性回归模型就是建立在高斯分布假设的基础上, 传统线下回归模型也被称普通最小二乘(ordinary least-squares,OLS)模型。 在最初时,GLM的理论被认为是对普通最小二乘(OLS)模型的扩展, 因此我们先讨论OLS如何适合GLM框架。
11.1. 传统线性回归¶
高斯分布是实数域的连续分布,其输入域是整个实数域 \(R=(-\infty,+\infty)\) 。用均值 \(\mu\) 进行参数化的高斯概率密度函数可以表示为:
其中 \(f(\cdot)\) 表示在给定参数 \(\mu\) 和 \(\sigma^2\) 时,变量 \(y\) 的概率密度函数的一般形式。 \(y\) 表示输出变量, \(\mu\) 表示均值参数, \(\sigma^2\) 表示尺度参数(scale parameter)。
基于高斯分布的回归模型通常称为普通最小二乘(ordinary least-squares,OLS)模型,该回归模型通常是统计学模型的入门模型。 在传统线性回归模型中,我们定义响应变量和特征变量的之间的关系是:
其中 \(\beta^T x\) 是输入变量的线性预测器,\(\epsilon\) 一个误差项, 并且模型假设这个误差项服从均值为0的高斯分布, \(\epsilon \sim \mathcal{N}(0,\sigma^2)\) 。 因此,输出变量 \(y\) 是一个服从高斯分布的变量 \(y \sim \mathcal{N}(\beta^Tx,\sigma^2)\) 。然后模型利用最大似然估计,估计出模型的参数,现在我们用GLM框架来解释OLS。
11.2. 高斯分布¶
11.3. 高斯回归模型¶
当响应变量 \(Y\) 数值范围是实数值时,并且其数据分布是近似高斯分布时, 就可以为响应变量 \(Y\) 建立高斯分布假设,本节我们讨论高斯模型在GLM框架下的解释。 我们首先把高斯分布的概率密度函数转化成指数族的形式。
和 公式(19.1.12) 对比下,可以直接得到:
\(\theta\) 是自然参数,\(b(\theta)\) 是累积函数(cumulant function),\(a(\phi)\) 是分散函数(dispersion function)。 可以看到对于高斯分布,自然参数 \(\theta\) 和期望值 \(\mu\) 之间是恒等函数的关系。 此外,分布的期望值 \(\mu\) 和方差函数 \(\nu(\mu)\) 是可以通过累计函数的导数求得的。 期望 \(\mu\) 可以通过累积函数 \(b(\theta)\) 的一阶导数求得:
方差函数 \(\nu(\mu)\) 可以通过累积函数 \(b(\theta)\) 的二阶导数得到。
分布方差可以通过分散函数 \(a(\phi)\) 和方差函数 \(\nu(\mu)\) 的乘积求得:
可以看到,对于高斯分布,其方差是与期望无关的,只和尺度参数相关。 此外,通过 公式(11.3.2) 可以看到,自然参数 \(\theta\) 和期望值 \(\mu\) 之间是恒等函数的关系, 因此高斯分布的标准连接函数就是恒等函数 。 对于高斯分布来说,标准连接函数(canonical link) \(g\) 是恒等函数,即 \(\eta=\mu\) 。
由于响应函数 \(r\) 是连接函数 \(g\) 的反函数,所以响应函数 \(r\) 也是恒等函数。 因此,高斯模型的预测值为:
显然,这和传统线性回归模型的定义方式是等价的。
11.4. 参数估计¶
对于采用标准连接函数的高斯模型,满足 \(\theta=\mu=\eta=\beta^T x\) ,此时模型的概率函数表达式是简单的,对数似然函数的求导也比较方便, 可以直接利用梯度下降法进行求解。 在GLM框架,我们有一个适用于GLM框架下所有模型的参数估计算法, 迭代重加权最小二乘法(Iteratively Reweighted Least Square,IRLS)。
采用何种参数估计算法,直接影响着模型的概率函数的参数化方法。 比如,如果采用IRLS算法,就用均值 \(\mu\) 参数化模型 ;如果采用牛顿法N-R,就用线性预测器 \(\beta^T x\) 参数化模型。
11.4.1. 似然函数¶
根据 公式(11.3.1) ,可以方便的写出高斯模型的对数似然函数
得分统计量(score statistic)是对数似然函数的一阶偏导数,
上述对数似然函数中是以 \(\mu\) 参数化的模型, 然而采用梯度下降法进行参数求解时,需要求出参数 \(\beta\) 的导数,并使用 \(\beta\) 导数作为每次更新迭代的”梯度”, 所以我们需要用 \(\beta^Tx\) 对概率分布函数进行参数化。 均值参数 \(\mu\) 和线性预测器 \(\eta=\beta^Tx\) 之间可以通过响应函数(也可以叫做激活函数,连接函数的反函数)进行连接, 我们用符号 \(r\) 表示响应函数。 高斯模型的标准连接函数是恒等函数,因此其标准响应函数也是恒等函数。
现在我们用 \(\beta\) 重新参数化对数似然函数。
对于采用标准连接函数的高斯模型的对数似然函数的一阶偏导数为:
二阶偏导数为:
有了参数的偏导数,就可以利用梯度下降法或者牛顿法迭代求解。 这里我们虽然同时给出了 \(\sigma\) 的偏导计算公式,但实际上在进行最大似然估计的过程中, 通常是假设 \(\sigma\) 是已知的,标准的最大似然估计算法是无法同时估计 \(\beta\) 和 \(\sigma\) 的。
11.4.2. IRLS¶
梯度下降法或者牛顿法,需要把对数似然函数用 \(\beta\) 进行参数化表示,并且求解参数的偏导数, 在更换连接函数或者指数族分布时,都需要重新求一遍,比较麻烦。 而IRLS算法提供了一种适用于GLM中全部模型和连接函数的统一的参数迭代求解法,使用起来比较简单。 现在我们讨论下如何利用IRLS算法求解高斯模型的参数。 首先回顾一下IRLS算法的过程,然后再给出采用标准连接函数的高斯模型的IRLS算法过程。 IRLS算法参数更新公式为
其中 \(X\) 是样本特征矩阵,\(W\) 是权重矩阵,它是一个对角矩阵, 计算方法如下:
其中,\(a(\phi)\) 是分散函数,\(\nu(\mu)\) 是方差函数, \(\frac{\partial \mu}{\partial \eta}\) 是响应函数 \(r\) 的导数, 等价于连接函数 \(g\) 的导数的倒数(反函数的导数是原函数导数的倒数)。 公式(11.4.7) 中 \(Z\) 的计算方法如下:
\(\frac{\partial \eta}{\partial \mu}\) 是连接函数 \(g\) 对 \(\mu\) 的导数。 在IRLS算法的过程中,不需要把模型用 \(\beta\) 进行参数化, 只需要根据具体的分布和连接函数计算出 \(W\) 和 \(Z\) 即可。
在采用标准连接函数的高斯模型中,连接函数 \(g\) 和响应函数 \(r\) 都是恒等函数, 连接函数的导数是常数值。
此外,标准链接的高斯模型的方差函数也是常量, \(\nu(\mu)=1,a(\phi)=\sigma^2\) 。 所以在采用标准链接,以及方差为常量1的假设下,高斯模型 \(W\) 和 \(Z\) 可以通过下式计算。
参数 \(\beta\) 的更新过程也就简化成:
我们看到这和最小二乘法的结果是一致的。
11.4.3. 拟合优度¶
11.4.3.1. 偏差统计量¶
在传统线下回归模型中,是通过普通最小二乘法(OLS)定义出模型的损失函数,并极小化损失进行参数估计的。 最小二乘定义的损失称为残差平方和(Residual Sum of Squares,RSS), 也叫平方残差和(sum of squared residuals,SSR), 又叫平方损失和(sum of squared estimate of errors,SSE)。 然而在GLM中,我们通过最大化对数似然或者最小化偏差来估计模型的参数, 最大化对数似然和最小化偏差二者其实的等价的。
高斯分布的概率分布函数为
我们知道似然函数就是所有样本的联合概率, 模型对样本的预测值的对数似然函数称之为观测对数似然函数(observed log-likelihood function), 样本的真实值的对数似然函数称为饱和对数似然函数(saturated log-likelihood function)。 我们首先写出样本的预测值的观测对数似然函数。
其中 \(y_i\) 是第 \(i\) 条样本的真实值, \(\hat{\mu}_i\) 是模型的期望参数,也是模型的拟合值(预测值)。 \(\sigma^2\) 是尺度参数,这里我们假设所有样本是共享尺度参数的,并且暂时认为是常量值, 因此,上式的似然函数可以继续简化。
我们发现上式就是OLS定义的平方损失的负数,显然殊途同归,在 \(\sigma^2\) 是常量的假设下, 最小化平方损失与最大化对数似然是等价的。
现在我们来看下饱和模型的对数似然函数(saturated log likelihood),在饱和模型中, \(\mu_i\) 不再是模型的预测值,而是样本的真实值,因此对数似然函数是如下的形式。
尺度偏差的计算方法是饱和对数似然和观测对数似然的差值的2倍,因此高斯模型的偏差 \(D\) 为:
我们发现,在假设 \(\sigma^2=1\) 的条件下, 高斯模型偏差 \(D=\sum_{i=1}^N (y_i-\hat{\mu}_i)^2\) 就是平方和损失,在高斯模型中,最小化平方和损失与最小化偏差 \(D\) 是等价的,最小化偏差 \(D\) 又和最大化似然是等价的。这里三者的计算公式中用的 \(\mu\) ,所以与连接函数无关的,因此任意连接函数都是成立的。 注意,这不是所有GLM模型都有的特性,仅是高斯模型独有的属性。 在高斯模型中,最小二乘法定义的平方损失是模型偏差的一个特例,偏差是RSS在GLM中的扩展。
我们用符号 \(\hat{\beta}\) 表示参数向量 \(\beta\) 的估计值, 偏差统计量 \(D\) 就可以写成
符号 \(X\) 表示输入数据矩阵,也叫设计矩阵(design matrix), 其中 \(y - X \hat{\beta}\) 可以进行改写, 用 \(\hat{\beta}\) 的解析解 \(\hat{\beta}=(X^TX)^{-1}X^Ty\) 替代。
其中定义矩阵 \(H=X(X^TX)^{-1} X^T\) ,矩阵 \(H\) 被称为 帽子矩阵(hat matrix)。 因此偏差 \(D\) 中的二次项就可以写成
帽子矩阵 \(H\) 是幂等的( \(H=H^T,HH=H\)) ,利用帽子矩阵可以推导出偏差统计量 \(D\) 是精确服从卡方分布的,而不是渐近服从, 这里不介绍推导过程了,有兴趣的可以查看 Graybill 1976。
偏差统计量 公式(11.4.17) 移项可得
如果模型对数据拟合的比较好,则偏差统计量 \(D\) 服从 中心卡方分布 \(\chi^2(N-p)\) ,其期望值是 \(N-p\) ,我们用 \(D\) 的期望值 \(N-p\) 代替 \(D\) 就可以得到方差 \(\sigma^2\) 的一个估计。
在之前的章节中我们多次提到可以用样本的方差作为总体方差的一估计值
其中 \(\bar{y}\) 表示样本的平均值, 公式(11.4.23) 其实是 公式(11.4.22) 的一个特例。 当模型只有一个参数时(线性预测器 \(\eta=\beta_0\) 只有截距参数), 也就是空模型,此时模型对所有样本的输出值都是一样的,并且就等于训练样本的平均值 \(\bar{y}\), 相当于
当模型参数数量 \(p=1\) 时,公式(11.4.22) 就变成了 公式(11.4.23)。
11.4.3.2. 皮尔逊卡方统计量¶
高斯模型的方差统计量是常量, \(\nu(\mu)=1\) , 根据皮尔逊卡方统计量的定义,高斯模型的皮尔逊卡方统计量为
对于高斯模型来说,皮尔逊卡方统计量,偏差,平方损失和,三者其实是等价的。
11.5. 其它连接函数¶
使用GLM作为模型构建框架的重要原因是能够轻松调整模型以适合特定的响应数据情况。 标准链接(canonical-link)高斯模型假定响应数据为正态分布。 尽管正态分布模型对于克服此假设具有一定的鲁棒性,但仍然有许多数据情况不适合正态分布。 不幸的是,许多研究人员已将标准链接高斯模型用于不符合高斯模型假设的数据上。 当然,许多研究人员很少接受非正态分布模型建模方面的培训。
对数高斯(log-Gaussian)模型
线性预测器 \(\eta=\beta^Tx\) 的取值范围是整个实数域 \(R=(-\infty,+\infty)\) ,连接函数的主要作用就是将实数域的 \(\eta\) 映射到响应数据的值域。 当响应数据仍然服从高斯分布,但是其范围不再是整个实数域,而是大于0的实数域时,恒等函数的标准链接(canonical-link)函数将不再适用, 这时就需要选取一个合适的连接函数,将 \(\eta\) 从 \(R=(-\infty,+\infty)\) 映射到 \(R=(0,+\infty)\) 。 log-Gaussian模型仍然是基于高斯分布,但它的连接函数不再是标准链接(canonical-link), 而是对数连接函数,对数链接通常用于响应数据是非负值的情况。
在提出GLM框架之前,研究人员在遇到响应数据都是正数的情形时,采用的方法是把响应数据进行对数转化, \(y=\ln(y)\) ,通过这种转换令数据符合整个实数域上的高斯模型假设,然后再利用标准高斯模型进行建模。 然而事实证明,这种方法在易用性和效果上都不如采用对数连接函数的对数高斯模型。 对数高斯模型的实现非常简单,只需要把标准高斯模型(采用恒等函数,标准连接函数)的连接函数替换成对数连接函数即可。
对数高斯模型的对数似然函数(log-likelihood)为:
对数高斯模型就是在标准高斯模型的基础上,把连接函数由 \(\eta=\mu\) 改成了 \(\eta=\ln(\mu)\) ,相应的响应函数由 \(\mu=\eta\) 变成 \(\mu=\exp(\eta)\) ,对数连接函数及其响应函数的导数分别是
标准连接函数的导数为1,然而对数连接函数的导数为 \(1/\mu\) 。 注意对 公式(8.1.11) 相应位置替换即可得到似然函数的梯度。 同理,我们可以在不改变IRLS算法流程的情况下,仅需替换掉连接函数 \(g\) ,就能使用IRLS算法估计对数高斯模型的参数。
标准或正态线性模型、最小二乘线性回归模型,使用恒等连接函数(identity link), 这是高斯分布模型的标准形式, 它对于大多数较小的违反高斯分布假设的数据上都具有较强的鲁棒性。 但是实际上,它用于对二值、比例和离散计数数据进行建模时,并不适用。
从理论上讲,没有理由将高斯族模型的连接函数限制为恒等连接函数和对数连接函数。 倒数连接函数,\(1/\mu\) ,已经被用于对比例数据进行建模。 此外,幂连接函数也可能与高斯模型一起使用。