box-cox

由于线性回归是基于正态分布的前提假设,所以对其进行统计分析时,需经过数据的转换,使得数据符合正态分布。

Box 和 Cox在1964年提出的Box-Cox变换可使线性回归模型满足线性性独立性方差齐性以及正态性的同时,又不丢失信息。

Box-Cox变换是统计建模中常用的一种数据变换,用于连续的响应变量不满足正态分布的情况。在做线性回归的过程中,不可观测的误差可能是和预测变量相关,于是给线性回归的最小二乘法估计系数的结果带来误差,为了解决这样的方差齐性问题,所以考虑对相应因变量做Box-Cox变换,变换之后,可以一定程度上减小不可观测的误差和预测变量的相关性。但是选择的参数要适当,使用极大似然估计得到的参数,可以使上述过程的效果更好。当然,做过Box-Cox变换之后,方差齐性的问题不一定会消失,做过之后仍然需要做方差齐性的检验,看是否还需要采用其他方法。

1. 应用前提:

在做线性回归的过程中,一般线性模型假定;  Y=Xβ + ε, 其中ε满足正态分布,但是利用实际数据建立回归模型时,个别变量的系数通不过。例如往往不可观测的误差 ε 可能是和预测变量相关的,不服从正态分布,于是给线性回归的最小二乘估计系数的结果带来误差,为了使模型满足线性性独立性方差齐性以及正态性,需改变数据形式,故应用box-cox转换。

2. 和其他处理方法的比较:

对于非正太数据的转换方法有:

在一些情况下(P值<0.003)上述方法很难实现正态化处理,所以优先使用Box-Cox转换,但是当P值>0.003时两种方法均可,优先考虑普通的平方变换

Box-Cox推导公式见参考,这里可用sklearn、SAS等实现。

3. 结论

  • 使用Box-Cox变换后的数据得到的回归模型优于变换前的模型,变换可以使模型的解释力度等性能更加优良。
  • 变换后的残差可以更好的满足正态性、独立性等假设前提,降低了伪回归的概率。
  • 使用Box-Cox变换族一般可以保证将数据进行成功的正态变化,但在二分变量或较少水平的等级变量的情况下,不能成功进行转换,此时可以考虑使用广义线性模型,例如logistic模型、johson转换等。

注:关于P值

        假设检验中常见到P值( P-Value,Probability,Pr),P值是进行检验决策的另一个依据。
        P值即概率,反映某一事件发生的可能性大小。统计学根据显著性检验方法所得到的P 值,一般以P < 0.05 为有统计学差异, P<0.01 为有显著统计学差异,P<0.001为有极其显著的统计学差异。其含义是样本间的差异由抽样误差所致的概率小于0.05 、0.01、0.001。实际上,P值不能赋予数据任何重要性,只能说明某事件发生的几率。统计结果中显示Pr > F,也可写成Pr( >F),P = P{ F0.05 > F}或P = P{ F0.01 > F}。统计学上一般P值大于0.05我们可认为该组数据是符合正态分布

参考:

百度文库

最新文章

  1. [RESTful]HTTP状态码
  2. Integer 与int 赋值比较
  3. (转载)linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
  4. PHP文件头部(header)解释
  5. zookeeper 删除snapshot和transaction log的源码解读
  6. Java操作mongoDB2.6的常见API使用方法
  7. poj 3984 迷宫问题(dfs)
  8. pthread线程属性介绍
  9. struts2中action的class属性值意义
  10. 利用sklearn对MNIST手写数据集开始一个简单的二分类判别器项目(在这个过程中学习关于模型性能的评价指标,如accuracy,precision,recall,混淆矩阵)
  11. 深入理解 Java 垃圾回收机制
  12. Ajax中,执行成功却依然刷新本页面
  13. Twitter数据挖掘:如何使用Python分析大数据 (3)
  14. sqlserver 删除表中数据 id 从1开始
  15. JDK1.5新特性,基础类库篇,浅谈并发工具包(Concurrency Utilities)
  16. 解决mysql下区分表名大小写的问题
  17. Oracle管理监控之监控表空间使用率脚本
  18. JavaScript语言精粹 笔记06 方法
  19. CSS_LESS 语法/函数详解
  20. 【BZOJ1085】【SCOI2005】骑士精神 [A*搜索]

热门文章

  1. 自学Zabbix11.1 Zabbix 配置SNMP监控
  2. 机器学习&amp;深度学习资料收集
  3. 【洛谷P3224】永无乡 并查集+Splay启发式合并
  4. MATLAB:图像的与、或、非、异或逻辑运算(&amp;、|、~、xor)
  5. struct字节对齐原则
  6. 数据类型、位运算、sizeof()函数
  7. go 包-锁机制
  8. 标准遗传算法(二进制编码 python实现)
  9. myeclipse设置,提高开发效率
  10. javascript 获取节点元素的封装