查看原文
其他

SPSS超详细教程:Pearson相关分析

2017-08-22 豆沙包 医咖会

小咖有话说:每次看到有小伙伴向咱们公众号发“相关分析”之类的关键词,我却没有相应文章可回复,就很焦虑,就忍不住向协调写稿的同事叨叨:相关的文章开始写了吗?啥时候出来?blabla......终于啊终于,Pearson相关分析的稿件出炉啦 厚着脸皮自夸下,这篇文章绝对是你看过的最最最详细的教程

一、问题与数据

研究表明,运动可以帮助预防心脏病。在合理的范围内,运动越多,患心脏病的风险就越小。锻炼可以降低血液中胆固醇水平,进而减少心脏病风险。运动越多,血液中的胆固醇浓度越低。有研究显示,看电视的时间是久坐生活方式的指标,也可能是心脏病的一个预测因素。看电视的时间越长,心脏病的风险越大。


因此,某研究者拟探讨在45岁至65岁健康男性中胆固醇浓度与观看电视的时间是否有关。他们猜测:看电视时间较长者比看电视时间较少者,血液中的胆固醇浓度要高一些。


研究者收集了以下数据:每天看电视时间为变量time_tv,胆固醇浓度为变量cholesterol(部分数据如下图)。


二、对问题的分析

研究者想观察两个变量之间的相关性,可以使用Perason相关分析。使用Pearson相关分析时,需要考虑5个假设。


1. 假设1:两个变量都是连续变量。

2. 假设2:两个连续变量应当是配对的,即来源于同一个个体。

3. 假设3:两个连续变量之间存在线性关系,通常做散点图检验该假设。

4. 假设4:两个变量均没有明显的异常值。Pearson相关系数易受异常值影响。

5. 假设5:两个变量符合双变量正态分布。


那么,进行Pearson相关分析时,如何考虑和处理这5个假设呢?

三、思维导图

(点击图片可查看大图)

四、对假设的判断

1. 假设1和假设2:两个连续变量且来源于同一个个体。和研究设计有关,需根据实际情况判断。


2. 假设3:两个连续变量之间存在线性关系


Pearson要求两个变量之间存在线性关系。本例要求观看电视时间(time_tv)和胆固醇浓度(cholesterol)之间存在线性关系。要确定是否存在线性关系,研究者需要查看两个变量的散点图。如果散点图大致呈一条直线,说明有线性关系。如果不是一条直线(如一条曲线)则没有线性关系。下面的散点图给出了线性和非线性关系的例子:



计算Pearson相关系数时,最好有类似于上述第一个散点图的线性关系。如果两变量间不存在线性关系,下面还会介绍如何应对这种非线性关系并计算Pearson相关系数。


以下先说明将如何在SPSS中生成散点图,检验线性关系。


(1) 在主菜单点击Graphs >Chart Builder...,如下图:



Chart Builder对话框如下图:



(2) 在Chart Builder对话框下,从Choose from:选择Scatter/Dot



(3) Chart Builder对话框中选择 “Scatter/Dot”后呈现8种Scatter/Dot选项。将左上角的选项拖拽到上方的预览区,如下图:



(4) 预览区中显示简单散点图,在X和Y轴边还显示“X-Axis”和“Y-Axis”框,可将关注的连续变量选入框中。


注意:Chart Builder对话框右侧出现了新的对话框Element Properties



(5) 从Variables:拖拽time_tv到预览区的“X-Axis”,拖拽cholesterol到“Y-Axis”。此时界面显示如下图:



注意1:尽管将变量依次拖拽进入预览区时图中散点在不断变化,但预览区的图并不是真实地展示两连续变量的关系。只有生成散点图后才能观察到这两个变量间的关系。


注意2:尽管计算Pearson相关系数时不区分因变量和自变量,但作图时仍习惯性区分X和Y轴。本例假设看电视时间影响胆固醇浓度,而不是反过来。因此,看电视时间选入X轴,胆固醇浓度选入Y轴。

 

(6) 点击Element Properties对话框(Chart Builder对话框右侧)中Edit Properties下的“Y-Axis(Point)”,如下图:



(7) 不勾选-Scale Range-下的Minimum选项,此时Custom框中高亮显示并赋值为0,如下图:



(8) 点击Apply以确认修改。


注意:(6)和(7)两个步骤是为了使Y轴显示胆固醇浓度的合理范围,这些值可能与研究数据不同,研究者可以根据实际情况调整。如果最开始时不确定设置为何值,可以先不改这些设置;观察散点图根据实际情况调整后重新做图。


(9)点击Chart Builder对话框中的OK。


通过上述步骤,可得到time_tv和cholesterol的散点图,如下图:



研究者可以查看上面的散点图并判断两个连续变量间是否存在线性关系。人类大脑十分容易判断直线,研究者可以依赖观察判断线性关系。本例中,查看上图可以判断看电视时间与胆固醇浓度间存在线性关系。有些情况下,线性关系难以判断,研究者需要更加谨慎(如为X和Y轴设置正确的刻度)。


本例中,看电视时间与胆固醇浓度间存在正向的线性关系,即随着time_tv增加,cholesterol值也在增加。研究者在处理自己的数据时也可能观察到负向的相关关系,即随着一个变量值的增加,另一个变量值降低;也可能观察到自己的散点图中线性关系比本例中的更陡或者更缓。但重点始终是判断两个连续变量间是否存在线性关系


如果判断两个连续变量间存在线性关系,即符合线性假设,研究者可以直接跳到假设4。如果两个连续变量间不存在线性关系,则有以下两种处理方法:(a) 对一个或者两个变量数据转换后判断线性关系;(b) 计算不要求线性关系的系数,如Spearman秩相关系数。


  • 如何处理非线性关系


如果两个连续变量间不存在线性关系,首先需要判断这种非线性关系是否单调。单调关系包含以下两种任意一种情况:(a) 一个变量值增加,另一个变量值随之增加;(b) 一个变量值增加,另一个变量值随之降低。单调关系和非单调关系展示如下图:



Spearman秩相关要求两个变量间存在单调关系,因此判断两变量间的单调关系十分重要。如果符合单调关系可以则计算Spearman秩相关系数,代替Pearson相关系数。如果不符合单调关系,则不能计算Spearman秩相关系数,除非对一个或者两个变量数据转换后得到单调关系(严格来讲是做非线性模型,但很少有人这样做)。


总结来讲,如果两连续变量间存在单调关系,研究者可以做两种选择:(a) 计算Spearman秩相关系数;(b) 对一个或者两个变量数据转换后将非线性关系转变为线性关系。如果研究者认为数据转换(log转换)较难或者转换后变量没有实际意义,则应该选择计算Spearman秩相关系数。


但是,研究者需注意不是所有的非线性关系都能转变为线性关系。例如,上图中最右侧的非线性关系图很难通过数据转换变成线性关系。因此,研究者可以对其中一个或者两个变量都进行数据转换。对不同的非线性关系有不同的数据转换方法,这需要单独写文章来介绍。


最后提醒研究者以上只是指导。现实中你可能会碰到一些研究者宁愿将自己的变量转换为无意义的新变量后计算Pearson相关系数也不愿意计算Spearman秩相关系数。


3. 假设4:没有明显的异常值


做Pearson相关分析时,异常值指与大部分数据分布不同的点(观测)。检验线性假设时,做散点图这些点很容易被识别出来。例如,以下6个散点图显示了6种异常值(图中为黑色圆点)。



以上图中的黑点(异常值)均需要从数据库中剔除。Pearson相关系数易受异常值的影响导致被低估。因此,识别数据库中的异常值十分重要。对两个连续变量作散点图可以识别异常值。本例中,散点图如下:



通过观察可以发现本例中没有异常值。研究者需对自己的研究数据作图并判断是否存在异常值:(a) 如果没有异常值,可以跳至假设5;(b) 如果有异常值作如下处理。


  • 如何处理异常值


首先,考虑数据是否存在录入错误。如果存在,应修改为正确值。因为新数值仍可能是异常值或者导致其他观测成为异常值,所以需要重新作散点图。


其次,如果不存在录入错误,还应该考虑测量错误(如仪器故障或者超出仪器测量范围)。如果存在,通常需要剔除这些观测。


如果研究者确认异常值为超出仪器测量范围并且知道测量错误的方向,可以将异常值替换为测量范围上限值。例如,用测量范围为0-100°C的温度计测量,显示温度在100°C以上,此时即使明知真实温度高于100°C,但在SPSS中只能输入100°C。此时比不输入任何值要好。


注意,如果对数据进行了任何修改,都应该重新作散点图并在结果中报告这些修改。但是很多测量错误是无法修改的。


最后,如果异常值不是由于录入或者测量错误导致,这些异常值可能代表了真实的数据情况。尽管这些数据并不符合统计预期,但并没有理由以其不真实而剔除他们,因此这种情况最难处理。目前,这种情况的处理方法还没有统一标准。以下是一些主流观点。研究者可以根据研究的实际情况选择合适的方法,如果难以确定可以咨询相关专业人员。


保留异常值  


如果保留异常值有两个选择:(a) 将相应变量数据转换;(b) 分析中纳入异常值,但在报告结果时需要报告异常值。研究者可以分别计算保留和剔除异常值后的Pearson相关系数,如果没有明显差别则保留异常值。


数据转换对异常值的影响较大,使异常值不会再被识别出来。但研究者需要注意数据转换会影响正态性和线性,所以在数据转换后注意先检查这两个要求。此外,如果进行数据转换,需要对所有假设要求重新检查。


剔除异常值  


相对地,研究者也可以剔除异常值,同样地也要在结果报告中说明。此 42 35743 42 15287 0 0 2038 0 0:00:17 0:00:07 0:00:10 2899时,可以备注:如果不剔除,因为一个或者少量的观测导致分析结果不理想。毕竟研究者的目的是将研究结果推广至更大范围的人群中。例如,如果剔除异常值,研究者说明剔除原因以及剔除对结果产生的影响,能够消除读者对这个研究的疑虑(剔除异常值难道仅是为了分析结果更好看?)。研究者需要注意,目前对待剔除异常值的观点各异,一些人并不赞同这种做法。


出现异常值时研究者还应该注意研究的排除标准是否合适。例如,假设本例中异常值是胆固醇浓度为7.98 mmol/L的观测,这个浓度提示有发生管心脏病的风险。尽管本研究是一个横断面研究,但仍然不希望纳入有潜在临床并发症或者有心脏病高危风险的个体。该个体的胆固醇浓度过高,并不能代表本研究的目标推广人群,因此应该排除该异常值。


4. 假设5:两个变量符合双变量正态分布


检验Pearson相关系数的统计学意义要求双变量正态性,但难以评价。实际操作依赖于双变量正态分布的一个特性,即双变量正态分布存在,则两个连续变量必然都符合正态分布。然而反过来,两个连续变量符合正态分布未必代表双变量正态分布,但能够一定程度上保证双变量正态分布。因此,研究者需要对两个连续变量分别检验正态性,方法如下。


(1) 点击主菜单中Analyze > Descriptive Statistics >Explore...,如下图:



点击后出现Explore对话框,如下图:



(2) 按住电脑键盘上的Shift键选中变量time_tv和cholesterol,点击将这两个变量选入Dependent List框中,如下图:



注意:如果有两个以上变量,需要将所有变量都选入Dependent List框中。例如,还要检验变量CRP和TAG的正态性,如下图:



(3) 点击“Plots...” 键,显示Explore:Plots对话框,如下图。在此对话框中可以检验正态性。



(4) 选择-Boxplots-区域的None,去掉-Descriptive-区域Stem-and-leaf前的勾选,并勾选Normality Plots with tests,此时如下图:



(5) 点击“Continue”键,回到Explore对话框。


(6) 勾选Display区域的Plots选项,可以使统计分析仅计算勾选的内容,如下图。(本例中勾选“Statistics” 得到所有分析内容没有必要)



注意:如果不用上述方法,而是用偏度和峰度判断正态性,则Display区域应保持默认选项Both,此时默认生成所有统计量。


(7) 点击OK键。


如果研究者不是十分熟悉其他统计量,或者样本量较小,推荐使用Shapiro-Wilk检验来判断正态性。检验结果可在Tests of Normality表格中查看,如下图:



上表中展示了每个变量的Shapiro-Wilk检验结果。根据“Shapiro-Wilk”列下“Sig.”判断是否有统计学意义,如下图中红框内:



“Sig.”值小于0.05则不符合正态分布;如果大于0.05则符合正态分布。这是由于Shapiro-Wilk检验的零假设是变量分布符合正态分布。拒绝零假设代表不能认为该变量符合正态分布。


本例中,变量time_tv和cholesterol的“Sig.”值均大于0.05,即符合正态分布。但是研究者注意即使变量符合正态分布,但大样本量(如50例以上)可导致出现有统计学意义的结果(即显示不符合正态分布)。因此,对于大样本量,最好作图判断正态性。


在报告结果时应该报告正态性检验结果:根据Shapiro-Wilk检验(P>0.05),两个连续变量均符合正态分布;或者根据Shapiro-Wilk检验,某一个(或几个)连续变量符合正态分布(P>0.05),某一个(或几个)变量不符合(P<0.05)。


检验正态性后,有两种可能。如果两个变量符合正态分布,跳至计算Pearson相关系数步骤。如果变量不符合正态分布,有三种选择:


(a) 对不符合正态分布的变量进行数据转换生成新变量,并对其检验这些假设,如果满足则计算Pearson相关系数;


(b) 采用非参检验,如计算Spearman秩相关系数;


(c) 由于Pearson相关系数对不符合正态分布的情况具有一定的抗性,检验假阳性率较高,因此仍可计算Pearson相关系数。


(更多阅读的:SPSS教程:判断数据正态分布的超多方法!SPSS详细操作:正态转换的多种方法


五、SPSS操作

计算Pearson相关系数的SPSS操作如下。


1. 点击主菜单中Analyze >Correlate >Bivariate...,如下图:



点击后显示Bivariate Correlation对话框,如下图:



2. 按住键盘上Shift键选中变量time_tv和cholesterol。点击键将两个变量选入Variables:框中,如下图:



注意:如果计算多个相关系数,则将这些变量都选入Varibales:框中。例如,同时选入变量CRP和TAG,如下图:



3. 一般来说,Bivariate Correlation对话框中会默认勾选-Correlation Coefficients-区域的Pearson,不过操作的时候还是再次确认下。


4. 点击Options,显示Bivariate Correlation:Options对话框,如下图:



5. 如果不需要,在Statistics区域可不勾选任何统计量。Missing Values区域勾选Exclude cases pairwise。


注意:只计算一个相关系数时,无论是成对删除还是成列删除,结果相同。


如果一次计算多个相关系数时,这两种选择得到的结果不同。如果选择Exclude cases pairwise,任意变量有缺失值只会影响该变量有关的相关系数计算。例如,如果一个观测的CRP值缺失,只有计算其他变量与CRP的相关系数时会受到影响。


如果选择Exclude cases listwise,任意变量有缺失值会影响所有相关系数的计算。例如,如果一个观测的CRP值缺失,计算任意两变量间的相关系数都会剔除这个观测,即所有的相关系数都会受影响。


6. 点击“Continue”键,回到Bivariate Correlation对话框。


7. 点击OK键,生成分析结果。


六、解释结果

1. 首先,研究者要了解Pearson相关系数是衡量两个连续变量间关系的大小和方向的。Pearson相关系数取值范围在[-1,+1],-1代表负相关,+1代表正相关,0则代表不存在相关关系。


两连续变量间相关的强弱没有规定数值,Cohen(1988)提出了一个大概的准则。总的来讲,相关系数越接近0,相关关系越弱;越接近-1或+1,相关关系越强。


下面将详细解释本例中看电视时间(time_tv)和胆固醇浓度(cholesterol)间相关关系强弱和方向。


查看Correlation表格可获得Pearson相关系数值,如下图:



上表以矩阵形式呈现,以对角线为线两侧结果对称。研究者只需关注time_tv和cholesterol两个变量间的Pearson相关系数,如下图红框内:



表中每行包含三方面信息,如下表:



本例中,Pearson相关系数,即r为0.371(“Pearson Correlation”行),且对应的P值小于0.05,说明看电视时间(time_tv)和胆固醇浓度(cholesterol)存在正相关关系,即随着看电视时间延长胆固醇浓度增加。


注意:一些研究者可能会反对上述表达方式,认为这种方式提示两个变量间存在因果关系,即看电视时间延长会导致胆固醇浓度增加。这种因果关系可能是真实的,但是其真实与否与是否存在相关关系无关,而是与理论有关系。因此研究者也可以表达为高胆固醇浓度与看电视时间长有关系。


Pearson相关系数的大小决定了相关关系的强弱。尽管没有规定数值,Cohen(1988)提出了一个大概的准则,如下表:



此处|r|代表r的绝对值(|r|>0.5代表r>0.5或r<-0.5)。本例中r值为0.371,说明两变量间存在中度的正相关关系。如果r值为-0.371,说明存在中度的负相关关系。结果表述时可表述为“在45-65岁男性中,每天看电视时间与胆固醇浓度间存在中度的正相关关系,r=0.371”。


此外,相关系数的平方(r2)还能说明一个变量的变异被另外一个变量所能解释的比例。本例中r2=0.3712=0.14。需注意此处的“解释”是指统计学意义上,而不是因果关系上。此时可表述为“在统计学上,每天看电视时间能够解释14%的胆固醇浓度变异”。


2. 其次,判断Pearson相关系数是否有统计学意义,即是否拒绝零假设。下面将详细展示如何解读双侧检验时相关系数的统计学意义,判断两个变量间(本例中为time_tv和cholesterol)是否存在相关关系。


本例中相关系数的P值显示为0.000(“Sig.(2-tailed)”行),但这不意味着P值真的是0,而是P<0.001。因此本例中统计上两变量间的相关系数不是0。请注意,P值不代表相关关系的强弱,只代表统计上相关系数是否等于0。


结果表述可进一步修改为:“在45-65岁男性中,每天看电视时间与胆固醇浓度间存在中度的正相关关系,r=0.371,P<0.001”。本例共有100个观测,自由度为N-2即98,结果还可表述为“在45-65岁男性中,每天看电视时间与胆固醇浓度间存在中度的正相关关系,r(98)=0.371,P<0.001”。


注意:切记不要使用提示因果关系的词语,如“导致”等。以下为错误表达方式:“在45-65岁男性中,每天看电视时间可导致胆固醇浓度增加,r(98)=0.371,P<0.001”。


七、撰写结论

报告结果时,研究者可以只报告主要结果,但最好也报告假设检验结果。接下来,将介绍如何简明扼要地报告结果。另外,研究者还可以陈述零假设和备择假设。最后在表格中展示多组相关系数。


1. Pearson相关分析结果报告如下:


本研究采用Pearson相关分析评价在45-65岁男性中胆固醇浓度和每天看电视时间的关系。这两个变量间存在线性关系,根据Shapiro-Wilk检验符合正态分布(P>0.05),并且不存在异常值。每天看电视时间与胆固醇浓度间存在中度正相关关系,r(98)=0.371,P<0.001。每天看电视时间能够解释14%的胆固醇浓度变异。


2. 零假设与备择假设如下:


每天看电视时间与胆固醇浓度的相关关系有统计学意义,因此可以拒绝零假设,接受备择假设。


3. 两个以上变量以表展示结果


SPSS运行结果表格:


 

可以自行整理更简明的表格:



(如果你想使用文中数据进行练习,请随时给小咖(微信:xys2016ykf)发消息,小咖将原始数据发给你。)


相关阅读

1. SPSS:单因素重复测量方差分析(史上最详细教程)

2. 二分类Logistic回归:SPSS详细操作及模型预测

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

医咖会微信:medieco-ykh

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


有临床研究设计或统计学方面的难题?快加小咖个人微信(xys2016ykf),拉你进统计讨论群和众多热爱研究的小伙伴们一起交流学习。如果想进群,添加小咖时请注明“加群”二字。


点击左下角“阅读原文”,看看医咖会既往推送了哪些统计教程

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

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