非正态分布数据转换成正态分布

常用的变量变换方法有对数变换、平方根变换、倒数变换、平方根反正弦变换等,应根据资料性质选择适当的变量变换方法。

1. 对数变换

即将原始数据X的对数值作为新的分布数据:
X’=lgX
当原始数据中有小值及零时,亦可取X’=lg(X+1)
还可根据需要选用X’=lg(X+k)或X’=lg(k-X)


对数变换常用于

(1)使服从对数正态分布的数据正态化。如环境中某些污染物的分布,人体中某些微量元素的分布等,可用对数正态分布改善其正态性。

(2)使数据达到方差齐性,特别是各样本的标准差与均数成比例或变异系数CV接近于一个常数时。

 在numpy 中使用:

转换成符合正态分布的数据,log(price+1), 反转使用:np.expm1()

2.平方根变换


即将原始数据X的平方根作为新的分布数据。
X’=sqrt(X)


平方根变换常用于:

1)使服从Poission分布的计数资料或轻度偏态资料正态化,可用平方根变换使其正态化。

2)当各样本的方差与均数呈正相关时,可使资料达到方差齐性。

3.倒数变换


即将原始数据X的倒数作为新的分析数据。
X’=1/X


常用于资料两端波动较大的资料,可使极端值的影响减小。

4.平方根反正弦变换


即将原始数据X的平方根反正弦值做为新的分析数据。
X’=sin-1sqrt(X)


常用于服从二项分布的率或百分比的资料。一般认为等总体率较小如<30%时或较大(如>70%时),偏离正态较为明显,通过样本率的平方根反正弦变换,可使资料接近正态分布,达到方差齐性的要求。

发现没有,除了倒数转换,其他数据值都要求 y 值必须为正值,如果要使用负值呢?可以使用Box-Cox变换:

5.Box-Cox变换:

x=\left\{\begin{matrix}\frac{y^\lambda-1}{\lambda}---\lambda\neq 0 \\ log(y)---\lambda=0 \end{matrix}\right.

逆变换为:

y=\left\{\begin{matrix} (1+\lambda y)^{\frac{1}{\lambda}}---\lambda\neq 0 \\ exp(x)---\lambda=0 \end{matrix}\right.

2.当y 可以小于 0 时:

Box-Cox变换:

x=\left\{\begin{matrix} \frac{(y+c)^\lambda-1}{\lambda g}---\lambda\neq 0 \\ \frac{log(y+c)}{g}---\lambda=0 \end{matrix}\right.   g 默认为 1

逆变换为:

y=\left\{\begin{matrix} (1+\lambda y)^{\frac{1}{\lambda}}-c---\lambda\neq 0 \\ exp(x)-c---\lambda=0 \end{matrix}\right.


 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值