如何把数组拉伸成正态分布

如题所述

分布数据:
X’=lgX
当原始数据中有小值及零时,亦可取X’=lg(X+1)
还可根据需要选用X’=lg(X+k)或X’=lg(k-X)
对数变换常用于(1)使服从对数正态分布的数据正态化。如环境中某些污染物的分布,人体中某些微量元素的分布等,可用对数正态分布改善其正态性。(2)使数据达到方差齐性,特别是各样本的标准差与均数成比例或变异系数CV接近于一个常数时。
2、平方根变换 即将原始数据X的平方根作为新的分布数据。
X’=sqrt(X)
平方根变换常用于:1)使服从Poission分布的计数资料或轻度偏态资料正态化,可用平方根变换使其正态化。2)当各样本的方差与均数呈正相关时,可使资料达到方差齐性。
3、倒数变换 即将原始数据X的倒数作为新的分析数据。
X’=1/X
常用于资料两端波动较大的资料,可使极端值的影响减小。
4、平方根反正旋变换 即将原始数据X的平方根反正玄值做为新的分析数据。
X’=sin-1sqrt(X)
常用于服从二项分布的率或百分比的资料。一般认为等总体率较小如<30%时或较大(如>70%时),偏离正态较为明显,通过样本率的平方根反正玄变换,可使资料接近正态分布,达到方差齐性的要求。
5. 计量经济学中常用的BOX-COX变换

6.在SPSS中:
在转换-计算变量里面点进去,就可以把一个变量进行各种变换,就和计算器类似
不过最好的方法是把数据标准化,
分析——描述统计——描述,有个选项是将标准化得分另存为变量
这样你的变量都符合正态性了

或者在SPSS上的操作方法:工具栏transform-Rank cases,将左边你要进行正态化的变量拖入右边“变量”框中;点选rank types对话窗,选中normal scores选项(共四种计算方法,系统默认的是bloom计算方法,可根据你的需要进行改进),点击continue,ok。
spss会在数据观察表中生成两列新变量,其中N总分变量就是你想要的正态化结果。欢迎来参加《小白爱上SPSS》课程

小白爱上SPSS
这是加餐课程:如何将非正态分布数据转换为正态分布。手把手教你SPSS操作

在前面我们学过的参数检验中,比如两独立样本T检验和单因素方差分析中,有一个重要前提条件是连续型变量要满足正态分布。

如果遇到非正态分布数据怎么办?一种建议是选用合适的非参数检验方法,比如两样本秩和检验;另一种是对原始进行转换使得其满足正态分布特性。

这一讲,我们来讲解下如何转换?

一、正负偏态的转换方法

正态分布转换方法有很多,比如:对数变换、平方根变换、平方根反正弦变换、平方变换、倒数变换、Box-Cox变换、正态得分法。

这里选择几种常用方法讲解,起示范作用。数据转换分成两种情况,一种是正偏态数据,另一种是负偏态数据,每种又分成轻度、中度和严重三种情况。

(一)正偏态数据转换方法

1、轻度正偏态分布

当偏度值>0,偏度值为其标准误差的2-3倍,即Z-score=2~3,此时认为资料分布呈现轻度的正偏态分布,故考虑对变量x取根号开平方的方法来进行转换。

SPSS语句如下:

COMPUTE x_new = SQRT(x)

(SQRT为开平方根Square Root缩写)

2、中度正偏态分布

当偏度值>0,偏度值为其标准误差的3倍以上时,即Z-score>3,此时认为资料分布呈现中度的正偏态分布,可以考虑对变量x取对数来进行转换。可以取自然对数(ln)或以10为底的对数(log10)。

SPSS语句如下:

COMPUTE x_new = LN(x)

COMPUTE x_new = LG10(x)

注意:LG10的纠正力度较强,有时甚至会矫枉过正,将正偏态转换为负偏态,因此在进行正态转换后一定要对该变量再次进行正态性检验。

3、重度正偏态分布

对于两端波动比较大的数据资料,极端值可能产生较大的影响,此时可以考虑取倒数的方法来进行转换。

SPSS语句如下:

COMPUTE x_new = 1/x

若你不太熟悉SPSS语法编辑窗口,则可通过SPSS中“转换”—“计算变量”实现,找到sqrt, ln, lg10等函数。

注意:根号下要求数据均为非负数(即≥0),对数要求数据均为正数(即>0);取倒数要求分母不为0, 如果变量x中出现上述情况,则需要先将其进行一定的转换,如x+K或K-x,再对其取根号、对数或倒数。其中K为一个常数,可以根据需要进行赋值,例如赋值为1,或取数据的最小值、最大值等。

(二)负偏态数据转换方法

对于负偏态分布的数据资料,首先需要将负偏态资料进行反转,转换为正偏态,然后再参考正偏态分布资料的转换方法进行转换。

反转的方法:首先找出该数据系列的最大值max,用最大值+1,再减去每个数值。

1、轻度负偏态分布

SPSS语句如下:

COMPUTE x_new = SQRT(max+1-x)

2、中度负偏态分布

SPSS语句如下:

COMPUTE x_new = LN(max+1-x)

COMPUTE x_new = LG10(max+1-x)

3、重度负偏态分布

SPSS语句如下:

COMPUTE x_new = 1/(max+1-x)

二、实战案例

下面是42名员工的月收入,试检验其正态性。若不服从正态性,请将其转化为正态分布(关注本公众号,回复【小白数据】即可下载原始数据 )。

三、正态性检验

这里主要通过SPSS的探索性描述统计方法来考察收入的分布情况。

(一)操作如下
点击分析——描述统计——探索

将“收入”选入因变量列表,点击 图 --勾选直方图--勾选含检验的正态图--继续--确定。

(二)结果解读

1.描述看峰度偏度

2.计算偏度系数

3.计算峰度系数

由以上结果可知,偏度系数的绝对值均大于1.96,可以认为该组样本数据不服从符合正态分布。

4.看正态性检验结果

5.结果解读:

当数据量≤50时,倾向于以夏皮洛-威尔克(S-W)检验结果为准;

当数据量>50时,倾向以柯尔莫戈洛夫-斯米诺夫(K-S)检验结果为准;当数据量>5000时,SPSS只会显示K-S检验结果。

本例中,我们检验40名员工收入的正态分布情况,由上表显示,样本量(可参考自由度那一列数值)小于50,故以夏皮洛-威尔克(S-W)检验结果为准。检验的p值(即显著性那一列)为0.000,小于0.05,说明40名员工收入不符合正态分布,故认为收入不满足正态性。

四、SPSS:对数转换法

(一)选择检验方法和操作步骤

由上可知,因本案例中偏度值<0,为负偏态,偏度值为其标准误差的3倍以上,故考虑对变量x取对数来进行转换。对于负偏态分布的数据资料,首先需要将负偏态资料进行反转,转换为正偏态,然后再参考正偏态分布资料的转换方法进行转换。
温馨提示:答案为网友推荐,仅供参考
相似回答