当前位置:文档之家› 正态分布相关

正态分布相关

如何检验数据是否服从正态分布一、图示法1、P-P图以样本的累计频率作为横坐标,以安装正态分布计算的相应累计概率作为纵坐标,把样本值表现为直角坐标系中的散点。

如果资料服从整体分布,则样本点应围绕第一象限的对角线分布。

2、Q-Q图以样本的分位数作为横坐标,以按照正态分布计算的相应分位点作为纵坐标,把样本表现为指教坐标系的散点。

如果资料服从正态分布,则样本点应该呈一条围绕第一象限对角线的直线。

以上两种方法以Q-Q图为佳,效率较高。

3、直方图判断方法:是否以钟形分布,同时可以选择输出正态性曲线。

4、箱式图判断方法:观测离群值和中位数。

5、茎叶图类似与直方图,但实质不同。

二、计算法1、偏度系数(Skewness)和峰度系数(Kurtosis)计算公式:g1表示偏度,g2表示峰度,通过计算g1和g2及其标准误σg1及σg2然后作U检验。

两种检验同时得出U<U0.05=1.96,即p>0.05的结论时,才可以认为该组资料服从正态分布。

由公式可见,部分文献中所说的“偏度和峰度都接近0……可以认为……近似服从正态分布”并不严谨。

2、非参数检验方法非参数检验方法包括Kolmogorov-Smirnov检验(D检验)和Shapiro- Wilk(W 检验)。

SAS中规定:当样本含量n≤2000时,结果以Shapiro – Wilk(W检验)为准,当样本含量n >2000时,结果以Kolmogorov – Smirnov(D检验)为准。

SPSS中则这样规定:(1)如果指定的是非整数权重,则在加权样本大小位于3和50之间时,计算Shapiro-Wilk统计量。

对于无权重或整数权重,在加权样本大小位于3和5000之间时,计算该统计量。

由此可见,部分SPSS教材里面关于“Shapiro –Wilk适用于样本量3-50之间的数据”的说法是在是理解片面,误人子弟。

(2)单样本Kolmogorov-Smirnov检验可用于检验变量(例如income)是否为正态分布。

对于此两种检验,如果P值大于0.05,表明资料服从正态分布。

三、SPSS操作示例SPSS中有很多操作可以进行正态检验,在此只介绍最主要和最全面最方便的操作:1、工具栏--分析—描述性统计—探索性2、选择要分析的变量,选入因变量框内,然后点选图表,设置输出茎叶图和直方图,选择输出正态性检验图表,注意显示(Display)要选择双项(Both)。

3、Output结果(1)Descriptives:描述中有峰度系数和偏度系数,根据上述判断标准,数据不符合正态分布。

S k=0,K u=0时,分布呈正态,Sk>0时,分布呈正偏态,Sk<0时,分布呈负偏态,时,Ku>0曲线比较陡峭,Ku<0时曲线比较平坦。

由此可判断本数据分布为正偏态(朝左偏),较陡峭。

(2)Tests of Normality:D检验和W检验均显示数据不服从正态分布,当然在此,数据样本量为1000,应以W检验为准。

(3)直方图直方图验证了上述检验结果。

(4)此外还有茎叶图、P-P图、Q-Q图、箱式图等输出结果,不再赘述。

结果同样验证数据不符合正态分布。

如何在SPSS中做数据正态转化?在何以建老师培训班上,将数据标准正态化,何老师用的方法是:先将各原始分数按百分位排列,然后按照正态分布的面积(P值即百分位)找对应的Z值,这要转换到EXCEL表格里,用NORMSINV函数[ NORMSINV(p) 返回数值z 这样概率p 与一个标准的正常随机变量将采用为小于或等于z 的值。

],然后再导入SPSS表格中,导放可不是件容易的事,因为有重复的分数,帮还要粘贴替代。

一个功能强大的SPSS,难道一个常用的数据正态化按纽也没有?当然有!我用的是SPSS18.0,这是个汉化版,将一组数据正态化的按纽分别是:“转换”——“个案排秩”——把要正态化的数据迁入“变量”栏——把要呈现的表格式样迁入“排序标准”——再点右上角“秩的类型”——再点右下角“正态得分”,基本上就差不多了,只是正态化有四个选择项,我用的是Tukey法,这种方法对负偏态比较严重的分数相当好。

(何以建老师一个一个尝试过)。

注:在EXCEL中,函数NORMSINV 和NORMSDIST 是相关的功能。

如果NORMSDIST(z) 返回p,然后NORMSINV(p) 返回z。

其实,正态化没有那么神秘,如果我们知道了每个一分数在群体中的排名即可求出它的正态Z分,因为知道排位,即可知道它的百分位置,即面积P值。

那当然轻而易举地知道Z 分了。

数据的标准化、正态化、正态标准化的区别和联系,近期将一个一个描述清楚,到时请你关注我的博客。

现在网上找到一种算法,这个方法比较简单:严格说来,回答你的问题需要讲四个What's normal transformation?(什么是正态转换)Why do we need normal transformation?(为何做正态转换)When is normal transformation needed? (何时做正态转化)How can we do normal transformation?(如何做正态转化)我担心如果只讲How(如何做),也许有些初学者不分场合,误用滥用。

但是,我同样担心如果从ABC讲起,难免过分啰嗦,甚至有藐视大家的智商之嫌。

所幸者,我们已经进入Web 2.0年代,有关上述What, Why, When问题的答案网上唾手可得。

如果对这些问题不甚了了的读者,强烈建议先到google上用“How to transform data to normal distribution"搜一下(或点击下面的“前10条”),前10条几乎每篇都是必读的经典。

' 有了上述交代,我们可以比较放心地来讨论如何做正态转化的问题了。

具体来说,涉及以下几步:第一步,查看原始变量的分布形状及其描述参数(Skewness和Kurtosis)。

这可以用Frequencies 中的Histogram或Examination中的BoxPlot第二步,根据变量的分布形状,决定是否做转换。

这里,主要是看一下两个问题: !左右是否对称,也就是看Skewness(偏差度)的取值。

如果Skewness为0,则是完全对称(但罕见);如果Skewness为正值,则说明该变量的分布为positively skewed(正偏态,见下图1b);如果Skewness为负值,则说明该变量的分布为negatively skewed(负偏态,见图 1a)。

然而,肉眼直观检查,往往无法判断偏态的分布是否与对称的正态分布有“显著”差别,所以需要做显著性检验。

如同其它统计显著性检验一样,Skewness的绝对值如大于其标准误差的1.96倍,就被认为是与正态分布有显著差别。

如果检验结果显著,我们也许(注意这里我用的是“也许”一词)可以通过转换来达到或接近对称。

峰态是否陡缓适度,也就是看Kurtosis(峰态)是否过分peaked(陡峭)或过分flat(平坦)。

如果Kurtosis为0,则说明该变量分布的峰态正合适,不胖也不瘦(但罕见);如果Kurtosis 为正值,则说明该变量的分布峰态太陡峭(瘦高个,见图2b);反之,如果Kurtosis为负值,该变量的分布峰态太平缓(矮胖子,见图2a)。

峰态是否适度,更难直观看出,也需要通过显著检验。

如同Skewness一样,Kurtosis的绝对值如果大于其标准误差的1.96倍,就被认为与正态分布有显著差别。

这时,我们也许可以通过转换来达到或接近正态分布(峰态)。

" 第三步、如果需要做转化图,还是根据变量的分布形状,确定相应的转换公式。

最常见的情况是正偏态加上陡峰态。

如果是中度偏态(如Skewness为其标准误差的2-3倍),可以考虑取根号值来转换,以下是SPSS的指令(其中"nx"是原始变量x的转换值,参见注2):如果高度偏态(如Skewness为其标准误差的3倍以上),则可以取对数,其中又可分为自然对数和以10为基数的对数。

如以下是转换自然对数的指令(注2):以下是转换成以10为基数的对数(其纠偏力度最强,有时会矫枉过正,将正偏态转换成负偏态,注2):另外,在计量经济学中广泛使用Box-Cox转换方法,有些时间序列分析的专用软件中提供转换程序,但SPSS并不提供。

虽也可以写syntax来做,但很复杂,在此不谈了。

上述公式只能减轻或消除变量的正偏态(positive skewed),但如果不分青红皂白(即不仔细操作第一和第二步)地用于负偏态(negative skewed)的变量,则会使负偏态变得更加严重。

如果第一步显示了负偏态的分布,则需要先对原始变量做reflection(反向转换),即将所有的值反过来,如将最大值变成最小值、最小值变成最大值、等等。

如果一个变量的取值不多(如7-分量表),可用如下指令来反转:如果变量的取值很多或有小数、分数,上述方法几乎不可能,则需要写如下的指令(不知大家现在是否信服了为什么要学syntax吗?):其中max是x的最大值。

第四步、回到第一步,再次检验转换后变量的分布形状。

如果没有解决问题,或者甚至恶化(如上述的从正偏态转成负偏态),需要再从第二或第三步重新做起,然后再回到第一步的检验,等等,直至达到比较令人满意的结果(见注3)。

1.如同其它统计检验量一样,Skewness和Kurtosis的的标准误差也与样本量直接有关。

具体说来,Skewness的标准误差约等于6除以n后的开方,而Kurtosis的标准误差约等于24除以n后的开方,其中n均为样本量。

由此可见,样本量越大,标准误差越小,因此同样大小的Skewness和Kurtosis在大样本中越可能与正态分布有显著差别。

这也许就是SW在问题中提到的“很多学科都在讲大样本不用太考虑正态分布问题”的由来。

我的看法是,如果小样本的Skewness和Kurtosis是显著的话,一定要转换;在大样本的条件下,如果Skewness 和Kurtosis是轻度偏差,也许不需要转换,但如果严重偏差,也是要转换。

2.大家知道,根号里的x不能为负数,对数或倒数里的x不能为非正数(即等于或小于0)。

如果你的x中有是负数或非正数,需要将其做线性转换成非负数(即等于或大于0)或正数(大于0),如 COMPUTE nx = SQRT (x - min) 或 COMPUTE nx = LN (x - min + 1),其中的min是x的最小值(为一个非正数)。

不是任何分布形态的变量都可以转换的。

例外之一是“双峰”或“多峰”分布(distribution with dual or multiple modality),没有任何公式可以将之转换成单峰的正态分布。

相关主题