在对数据进行线性拟合时,常常要求该变量满足正态分布,通常变量不满足或者正态分布拟合的不是很好。
如何把这些数据转换成正态分布的数据?
1.使用log()函数通常能使数据集向正态分布靠近。
若数据集中数据存在负数,则需要对数据进行预处理:
大致预处理如下:1)对数据进行归一化,即把数据映射到[0,1]上
2)防止数据出现0,可以使用log(x+1)进行数据映射
2.使用box-cox对数据进行转换
Box-Cox变换是统计建模中常用的一种数据变换,用于连续的响应变量不满足正态分布的情况。
Box-Cox变换,变换之后,可以一定程度上减小不可观测的误差和预测变量的相关性。
1 Box-Cox变换
在回归模型号中,Box-Cox变换是对因变量Y作如下变换:
这里是一个待定变换参数。对不同的,所做的变换自然就不同,所以是一个变换族。它包括了对数变换(=0),平方根变换()和倒数变换(=-1)等常用变换。
图1. 变换前变量的分布
图2.变换后变量分布