【应用回归分析】CH3 回归参数的估计5——Box-Cox变换

目录 

一、Box-Cox变换的含义

二、lambda的确定

三、Box-Cox变换的具体步骤

四、举例


一、Box-Cox变换的含义

        Box-Cox变换是对回归因变量Y的如下变换:

Y^{(\lambda )}=\left\{\begin{matrix} \frac{Y^{\lambda }-1}{\lambda },\lambda \neq 0,\\ lnY,\lambda =0. \end{matrix}\right.(3.5.1)

这里的\lambda是一个待定变换参数。对不同的\lambda,所做的变换自然不同,所以这是一个变换族。它包括了对数变换(\lambda =0),平方根变换(\lambda =\frac{1}{2})和倒数变换(\lambda =-1)等常用变换。对因变量的n个观测值y_{1},y_{2},\cdots,y_{n},应用上述变换,我们得到变换后的向量

y^{\lambda }=(y_{1}^{(\lambda) },y_{2}^{(\lambda) },\cdots,y_{n}^{(\lambda) })^{'}

         我们要确定变换参数\lambda,使得y^{(\lambda )}满足:。

        这就是说,我们要求通过因变量的变换,使得变换过的向量y^{(\lambda )}与回归自变量具有线性相依关系,误差也服从正态分布,误差各分量是等方差且相互独立。因此,Box-Cox变换是通过参数\lambda的适当选择,达到对原来数据的“综合治理”,使其满足一个正态线性回归模型的所有假设条件。

二、\lambda的确定

        我们用极大似然方法来确定\lambda。因为y^{(\lambda )}\sim N(X\beta ,\sigma ^2I),所以对固定的\lambda ,\beta\sigma ^2的似然函数为

L(\beta ,\sigma ^2)=\frac{1}{(\sqrt{2\pi}\sigma )^n}exp\left \{ -\frac{1}{2\sigma ^2}(y^{(\lambda )}-X\beta )^{'} (y^{(\lambda )}-X\beta )\right \}J(3.5.3)

        这里J为变换的Jacobi行列式J=\prod_{i=1}^{n}\left | \frac{dy_{i}^{(\lambda )}}{dy_{i}} \right |=\prod_{i=1}^{n}y_{i}^{\lambda -1}。因此,当\lambda固定时,J是不依赖于参数\beta ,\sigma ^2的常数因子。L(\beta,\sigma ^2)的其余部分关于\beta ,\sigma ^2求导数,令其等于0,可以求得\beta ,\sigma ^2的极大似然估计:

\left\{\begin{matrix} \hat{\beta}(\lambda )=(X^{'}X)^{-1}X^{'}y^{(\lambda )} \\ \hat{\sigma ^2}(\lambda )=\frac{1}{n}y^{(\lambda )^{'}}(I-X(X^{'}X)^{-1}X^{'})y^{(\lambda )}=\frac{1}{n}RSS(\lambda ,y^{(\lambda )}) \end{matrix}\right.(3.5.4)

         这里残差平方和RSS(\lambda ,y^{(\lambda )})=y^{(\lambda )^{'}}(I-X(X^{'}X)^{-1}X^{'})y^{(\lambda )}。对应的似然函数最大值为

L_{max}(\lambda )=L(\hat{\beta }(\lambda ),\hat{\sigma ^2}(\lambda ))=(2\pi e)^{-\frac{n}{2}}J(\frac{RSS(\lambda ,y^{(\lambda )})}{n})^{-\frac{n}{2}}(3.5.5)

        这是\lambda的一元函数,通过求它的最大值来确定\lambda。因lnxx的单调函数,我们的问题可以转化为求lnL_{max}(\lambda)的最大值。对(3.5.5)求对数,略去与\lambda无关的常数项,得

lnL_{max}(\lambda)=-\frac{n}{2}lnRSS(\lambda,y^{(\lambda)})+lnJ=-\frac{n}{2}ln\left [ \frac{y^{(\lambda)^{'}}}{J^{\frac{1}{n}}}(I-X(X^{'}X)^{-1}X^{'})\frac{y^{(\lambda)}}{J^{\frac{1}{n}}} \right ]=-\frac{n}{2}lnRSS(\lambda,z^{(\lambda)})(3.5.6)

         其中,

RSS(\lambda,z^{(\lambda)})=z^{(\lambda)^{'}}(I-X(X^{'}X)^{-1}X^{'})z^{(\lambda)}(3.5.7)

z^{(\lambda)}=(z_{1}^{(\lambda)},z_{2}^{(\lambda)},\cdots,z_{n}^{(\lambda)})^{'}=\frac{y^{(\lambda)}}{J^{\frac{1}{n}}}

{\color{Red} z_{i}^{(\lambda)}=\left\{\begin{matrix} \frac{y_{i}^{\lambda}}{(\prod_{i=1}^{n}y_{i})^{\frac{\lambda -1}{n}}},\lambda\neq 0(3.5.8)\\ (lny_{i})(\prod_{i=1}^{n}y_{i})^{\frac{1}{n}},\lambda=0(3.5.9) \end{matrix}\right.}

        (3.5.6)式对Box-Cox变换在计算机上实现带来很大方便,这是因为为了求lnL_{max}(\lambda)的最大值,我们只要求残差平方和RSS(\lambda,z^{(\lambda)})的最小值。虽然我们很难找出使RSS(\lambda,z^{(\lambda)})达到最小值的\lambda的解析表达式,但对一系列的\lambda给定值,通过最普通的求最小二乘估计的回归程序,我们很容易计算出对应的RSS(\lambda,z^{(\lambda)})。画出RSS(\lambda,z^{(\lambda)})关于\lambda的曲线,从图上可以近似地找出使RSS(\lambda,z^{(\lambda)})达到最小值地\hat{\lambda }

三、Box-Cox变换的具体步骤

  • 对给定的\lambda值,计算z_{i}^{(\lambda)}。若\lambda \neq 0,用(3.5.8)式,否则用(3.5.9)
  • 利用(3.5.7)式计算残差平方和RSS(\lambda,z^{(\lambda)})
  • 对一系列\lambda的值,重复上述步骤,得到相应的残差平方和RSS(\lambda,z^{(\lambda)})的一串值,以\lambda为横轴,RSS(\lambda,z^{(\lambda)})为纵轴,作出相应的曲线。用直观方法,找出使RSS(\lambda,z^{(\lambda)})达到最小值的点\hat{\lambda }
  • 利用(3.5.4),求出\hat{\beta }(\hat{\lambda })

四、举例

【应用回归分析】CH3 回归参数的估计5——Box-Cox变换_第1张图片


你可能感兴趣的:(应用回归分析,回归,数据挖掘,人工智能)