查看原文
其他

SPSS详细操作:正态转换的多种方法

2017-05-17 龚志忠 医咖会

在上一期的内容中,我们介绍了如何利用偏度值、峰度值、直方图、P-P图(Q-Q图)以及非参数检验的方法来对数据资料进行正态性检验。详见:SPSS教程:判断数据正态分布的超多方法!


当数据分布呈现非正态时,我们可以将原始数据作某种函数的转换,使偏态资料正态化,从而满足T检验或其他统计分析方法对资料的要求,这一节内容我们将向大家介绍如何对数据资料进行正态转换。

一、正偏态分布资料

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


注意根号下要求数据均为非负数(即≥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)

三、SPSS操作:函数转换法

以分析某人群甘油三酯(TG)的分布特征为例。


1、对TG分布进行正态性检验


采用上期介绍的Explore方法:Analyze→Descriptive Statistics→Explore


结果显示:偏度值为1.314>0,峰度值为1.596>0,偏度Z-score=1.314/0.172 = 7.640>3,Kolmogorov–Smirnov和Shapiro-Wilk检验P值均<0.001,从直方图也可以直观的看出TG在该人群中的分布呈现中度正偏态分布特征。




 

2、对TG进行正态转换


根据以上正态性检验结果,拟采用取对数的方法进行正态转换,以Log10为例。


(1) 选择Transform → Compute Variable


(2) 在Target Variable框中输入一个新的变量名,作为数据转换后的变量名,此处设定为TG_new


(3) 在Function group中选择Arithmetic,在Functions and Special Variables中双击Lg10,此时在Numeric Expression框中显示LG10(?)


(4) 从变量列表中双击TG,此时在Numeric Expression框中显示LG10(TG)


(5) 点击OK完成操作



3、对转换后的TG_new再次进行正态性检验


(1) 在结果输出的Descriptives表格中显示,偏度值为0.204≈0,峰度值为-0.338≈0,偏度Z-score=0.204/0.172=1.186<1.96,提示服从正态分布。



(2) 在结果输出的Tests of Normality表格中显示,Kolmogorov-Smirnov和Shapiro-Wilk检验P值分别为0.200和0.272,均>0.05,提示服从正态分布。



(3) 从直方图和Q-Q图也可以直观的看出,转换后的TG_new服从正态分布。


四、SPSS操作:正态得分法

对于初学者在初学时无法很好掌握数据资料分布特征的情况下,SPSS提供了一种通过计算正态得分的方法来实现正态转换。


1、操作过程


选择Transform→Rank Cases,将TG选入Variable(s)框中


点击Rank Type选项框,取消默认勾选的Rank,勾选Normal scores选项


在Proportion Estimation Formula下有4种方法可供选择,默认Blom方法,其他方法也可以进行尝试。点击OK完成操作。



2、结果解读


程序运行后在变量列表中多出了一个名为NTG的新变量,即为计算的正态得分,采用Explore方法对NTG进行正态性检验以验证转化效果。



(1) 在结果输出的Descriptives表格中显示,偏度值为0.001≈0,峰度值为-0.124≈0,偏度Z-score=0.001/0.172=0.006<1.96,提示服从正态分布。



(2) 在结果输出的Tests of Normality表格中显示,Kolmogorov-Smirnov和Shapiro-Wilk检验P值分别为0.200和1.000,均>0.05,提示服从正态分布。



(3) 从直方图和Q-Q图也可以直观的看出,转换后的NTG服从正态分布。


五、注意事项

1、不是任何非正态数据都可以进行正态转换,若有把握认为数据的总体分布是正态的时候才可以去做正态转换。如果通过变量转换的方法依然无法将数据转化为正态分布的话,就不再适用于T检验、方差分析等方法了,此时可以应用前期介绍过的非参数检验的方法来进行分析,例如Wilcoxon检验和Mann-Whitney U检验方法等。


非参数检验的SPSS教程详见:

1. Wilcoxon秩和检验

2. 配对样本的秩和检验

3. 多个独立样本的秩和检验

4. 多个独立样本非参数检验后的两两比较


2、在进行T检验、方差分析等方法时,要求每组数据均呈正态分布,因此当出现某一组数据正态,另一组数据非正态时,需要对两组数据同时进行转换


3、在进行相关分析或线性回归时,要求变量间存在线性关系,如果因变量与某个自变量之间呈现出曲线趋势,此时转换的变量可以是自变量,也可以是因变量,或者两者均可。如果进行了变量变换,则应当重新绘制散点图,以保证线性趋势在变换后仍然存在


4、在对线性回归模型进行解释时,如果使用函数转换的方法对变量进行了转换,则解释时应按照转换后的变量给予解释,或者可以根据转换时使用的函数关系,倒推原始自变量对原始因变量的效应大小。


SPSS教程回顾

1. SPSS教程:判断数据正态分布的超多方法!

2. 【合集】23种统计方法的SPSS详细操作

医咖会微信:medieco-ykh

关注医咖会,轻松学习统计学!


有临床研究设计或统计学方面的难题?快加小咖个人微信(xys2016ykf),拉你进统计讨论群和其他小伙伴们一起交流学习;或者点击公众号下方自定义菜单的“统计咨询”,提出你遇到的统计难题。


点击左下角“阅读原文”,看看既往小伙伴们都提出了哪些问题,以及该如何去解决,也许正好能帮到你~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存