在生态学数据分析时,首先面临的问题就是很多数据呈非正态分布,这时候就必须对其进行正态分布检验和数据转换,否则就等着审稿人的差评吧。
先来说正态分布检验,方法有很多种,有定性的,也有定量的。我最常用的就是用Kolmogorov-Smirnov
test和Shapiro-Wilk
tests,至于什么峰度系数、偏度系数、直方图、P-P图、Q-Q图之类,我就不推荐使用了,这几种方法大多要根据图来自己判断,准确性不够。
在此以Imn(水体中的高锰酸钾指数)为例介绍其正态分布检验的过程。在SPSS中-Analyze-Descriptive
Statistics-Explore-Plots-Normality plots with
test,输出的结果中就有Kolmogorov-Smirnov test和Shapiro-Wilk
tests值,如果你的样本数在3-2000之间,就用Shapiro-Wilk
tests,我们一般也就这个样本数,如果你样本数超过了2000,则需用Kolmogorov-Smirnov
test。如果检验的结果Sig.>0.05表明数据呈正态分布,那恭喜你,省了以下很多事。如果Sig.<0.05,那么接下来要做的事情就是数据转换了。
http://s15/middle/4e015ce5g97a942bd5d6e&690
http://s7/middle/4e015ce5g97a9473c4bb6&690
数据转换是个比较麻烦的事情,这里涉及到待转换数据是左偏斜还是右偏斜的问题了。首先我们还是要先回到上一步正态分布检验过程中,在在SPSS中-Analyze-Descriptive
Statistics-Explore-Plots框中选中Normality plots with
test外,还要选择Plots框中Descriptive-Histogram,这样在分布检验过程中就会出现Histogram,并以此判断待转换数据时左偏还是右偏,我这里用的Imn呈明显左偏。
http://s12/middle/4e015ce5g97a97afc563b&690
如果是左偏的话,那么数据转换就相对简单多了,用传统的Ln, Lg10(如果数值小于1,还可以加1再对数转换),
Sqrt等方式基本就可以搞定了。这里引用的Imn在SPSS-Transform-Compute中进行Ln转换后,当然转换也可以在EXCEL中进行,重新在SPSS中正态分布检验,发现转换后的数据符合正态分布了。
http://s1/middle/4e015ce5g97a99ee8dd80&690
如果数据是右偏的话,那么数据转换就有点麻烦了,我在一篇文章中用到的就是Box-Cox转换,首先要计算λ
值,根据λ 来选用不同的转换公式。值得一提的是当λ不等于0时,有其他一些相类似的公式,但效果差不多。
http://s10/middle/4e015ce5g97a9e46b2859&690
确定λ值,需要在Minitab软件中进行,在该软件页面上选择统计-控制图-Box-Cox变换。我们这里以TSI(营养状态指数)为例说明。在SPSS中正态分布检验发现TSI数据不符合正态分布,且呈明显右偏。然后在Minitab软件Box-Cox变换中计算λ,最后根据λ值和上图中的公式来计算TSI转换的值,把转换后的值在SPSS中重新进行正态分布检验。
http://s1/middle/4e015ce5g97aa3df84910&690
http://s11/middle/4e015ce5g97aa556148ca&690
http://s1/middle/4e015ce5g97aa64293d40&690
最后说一句,数据转换不是万能的,我也碰到过历经无数转换非正态分布本性不变的原始数据,当然这种数据是比较少的,在这种情况下,写文章的时候直接说明下,审稿人也会理解的。正所谓“转不转换是作者水平与态度问题,能不能转换是数据和软件的问题”。
加载中,请稍候......