Box-Cox变换
Posted shida-liu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Box-Cox变换相关的知识,希望对你有一定的参考价值。
Box-Cox变换的一般形式为:
式中
为经Box-Cox变换后得到的新变量,
为原始连续因变量,
为变换参数。以上变换要求原始变量
取值为正,若取值为负时,可先对所有原始数据同加一个常数
使其
为正值,然后再进行以上的变换。对不同的
所作的变换不同。在
时该变换为对数变换,
时为倒数变换,而在
时为平方根变换。Box-Cox变换中参数
的估计有两种方法:(1)最大似然估计;(2)Bayes方法。通过求解
值,就可以确定具体采用哪种变换形式。
Box-Cox变换是对回归因变量Y的如下变换:
在这里
是一个待定变换参数。对于不同的
,所作的变换也不相同,所以Box-Cox变换是一族变换,它包括了平方根变换(
),对数变换(
)和倒数变换(
)等常用变换,对因变量的n个观测值
,应用上述变换,可得变换后的向量
我们要确定变换参数
,使得
满足
即要求通过因变量的变换,使得变换过的向量
与回归自变量具有线性相依关系,误差也服从正态分布.误差各分量是等方差且相互独立,故Box-Cox变换是通过参数
的适当选择。达到对原来数据的“综合治理”,使其满足一个正态线性回归模型的所有假设条件。
用极大似然方法来确定
,由于
,故对固定的
,
和
的似然函数为
其中,
为变换的Jacobi行列式
当
固定时,
是不依赖于参数
和
的常数因子,
的其余部分关于
和
求导数,令其等于零,可求得
和
的极大似然估计
残差平方和为
对应的似然最大值为
该式为
的一元函数,通过求它的最大值来确定
,因为
是x的单调函数,问题可转化为求
的最大值,对式(3)求对数,略去与
无关的常数项,得
其中,
式(4)对Box-Cox变换在计算机上实现带来很大的方便,因为我们只要求出残差平方和
的最小值,就可以求出
的最大值,虽然很难找出使
达到最小值的
的解析表达式,但是对一系列的
给定值,通过最普通的求最小二乘估计的回归程序,很容易计算出对应的
,画出
关于
的曲线,可在图上近似地找出
达到最小值的
。
Box-Cox变换变换的具体步骤如下:
(1)对给定的
值,计算
,如果
,用式(6)计算,否则用式(7);
(2)利用式(5)计算残差平方和
;
(3)对一系列的
值,重复上述步骤,得到相应的残差平方和
的一串值,以
为横轴,作出相应的曲线,用直观的方法,找出使
达到最小值的点
。
(4)利用式(2),求出
。
以上是关于Box-Cox变换的主要内容,如果未能解决你的问题,请参考以下文章
R语言构建回归模型诊断(正态性无效)进行变量变换使用car包中的powerTransform函数对目标变量进行Box-Cox变换(Box–Cox transform to normality)