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 <osman.dag@metu.edu.tr>  
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变换对原数据做处理,这样处理后的数据的分布会接近正态分布。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 《R语言与统计分析》的读书笔记 本书的重点内容及感悟: 第三章 概率与分布 1、随机抽样 通过sample()来实...
    格式化_001阅读 7,013评论 1 12
  • Author: 杜七 一、前言 数据挖掘过程中,不同变量数据单位不一,比如,我们想知道一个人身体健康状况,其身高是...
    杜七阅读 31,349评论 0 12
  • 写在前面 周末在清华MEM连上了2天定量分析课程,感觉受益颇深。定量分析是有一套系统化的、严谨的方法去挖掘数据的内...
    王翔宇sapiens阅读 1,784评论 0 8
  • log结果:-----preHandle-----postHandle-----afterCompletion
    Pascal阅读 366评论 0 1
  • 感恩上天阳光雨露,感恩大地厚德载物。秋天的美好不热不冷不骄不躁,心情完好,出去逛逛街喝喝茶,带带孩子玩耍玩耍,一天...
    念秀阅读 186评论 0 0

友情链接更多精彩内容