在对数据进行线性拟合时,常常要求该变量满足正态分布,通常变量不满足或者正态分布拟合的不是很好。

如何把这些数据转换成正态分布的数据?

1.使用log()函数通常能使数据集向正态分布靠近。

若数据集中数据存在负数,则需要对数据进行预处理:

大致预处理如下:1)对数据进行归一化,即把数据映射到[0,1]上

2)防止数据出现0,可以使用log(x+1)进行数据映射

 

2.使用box-cox对数据进行转换

Box-Cox变换是统计建模中常用的一种数据变换,用于连续的响应变量不满足正态分布的情况。

Box-Cox变换,变换之后,可以一定程度上减小不可观测的误差和预测变量的相关性。

BoxCox变换

在回归模型号中,Box-Cox变换是对因变量Y作如下变换:

clip_image002            (1.1)

这里clip_image004是一个待定变换参数。对不同的clip_image004[1],所做的变换自然就不同,所以是一个变换族。它包括了对数变换(clip_image004[2]=0),平方根变换(clip_image008)和倒数变换(clip_image004[3]=-1)等常用变换。

clip_image011

图1. 变换前变量的分布

clip_image013

图2.变换后变量分布

posted on 2018-03-18 22:45  郑哲  阅读(2448)  评论(0编辑  收藏  举报