BOX-COX 变换

  • Author: 杜七

一、为什么要做正态变换

统计分析中,基础数据的分布可能比较特别,不符合所谓的“正态分布”。
日常的数据都是什么样子,离正态分布差距有多少,看看Dealing with Non-normal Data: Strategies and Tools。这篇文章介绍的很详细。

二、如何做正态分布变换

日常解决业务问题的时候,不管是线性回归分析,还是分析问题的时候,都需要把数据变换成类似正态分布的样子,比如RFM模型的应用,需要根据客户价值分数来划分客户,若转换成正态分布,更容易别人理解。
原始数据是非正态分布的,或者原始数据右偏,或者左偏,需要对原数据做一定的变换。
正态分布的变换,比较经典的就是BOX-COX transformation

三、实际应用的变换介绍

R语言中有一个AID package,专门用来做BOX-COX的变换,如下:

Information on package ¡®AID¡¯  
Description:  
Package:            AID  
Type:               Package  
Title:              An R Package to Estimate Box-Cox Power   Transformation Parameter  
Version:            1.4  
Date:               2014-01-21  
Depends:            MASS, tseries, nortest, stats  
Author:             Osman Dag, Ozgur Asar, Ozlem Ilk  
Maintainer:         Osman Dag   
Description:        Includes a function to estimate the power   transformation parameter and some
                datasets  
License:            GPL (>= 2)  
Packaged:           2014-01-21 13:58:01 UTC; METU  
NeedsCompilation:   no  
Repository:         CRAN  
Date/Publication:   2014-01-21 15:17:05  
Built:              R 3.0.2; ; 2014-02-05 00:15:39 UTC; windows  

Index:  

AID     :  An R Package to Estimate Box-Cox Power
                    Transformation Parameter  
boxcoxnc :  A Function to Estimate Box-Cox Power
                    Transformation Parameter via Normality Tests
                    and Artifical Covariate Method     
grades: Student Grades Data  
textile:Textile Data

1,网络实例

Making Data Normal Using Box-Cox Power Transformation ,这篇文章写的比较详细。
应用BOX-COX方法最大的问题在于如何确定lambda,采取的方法是最大似然估计.在关于lambda的对数最大似然图像上找估计值的95%置信区间。

2,RFM模型客户价值分数变换

  • 参考AID package里面的boxcoxnc函数,来实现RFM的分数的变换。 注意:实际boxcoxnc变化过程中, 数据量有一定限制,比如boxcoxnc,要求样本数据是3-5000。这个如果原数据比较多,可以抽样;
  • 调用boxcoxnc,比如boxcoxnc(rfm$days,method="all");
  • boxcoxnc的参数有几个,其中,method是用来估计box-cox的参数lambda的,方法可以选择的,默认是all;lam是选择预测的lamba的区间,即在哪个区间内求似然估计,默认是(-2,2),迭代步长0.01;
  • 其他参数可不单独设置,plotid会画出正态检验的似然估计,默认是plotit=TRUE;
  • 确定lambda,可以根据box-cox变换对原数据做处理,这样处理后的数据的分布会接近正态分布。

你可能感兴趣的:(BOX-COX 变换)