643834722e5d21e0c28d97fcd687b1a7.png

本文针对著名的心理学现象——斯特鲁普效应,基于统计学假设检验中配对样本检验方法,尝试使用Python 3.7对该心理学现象进行假设检验,以检验笔者利用Python进行假设检验的能力。

一、斯特鲁普效应简介

斯特鲁普效应(Stroop Effect)在心理学中指优势反应对非优势反应的干扰。例如当测试者被要求回答有颜色意义的字体的颜色时,回答字本身的意义为优势反应,而回答字体颜色为非优势反应,若字体颜色与字意不同,被测者往往会反应速度下降,出错率上升。

二、验证斯特鲁普效应

1、测试简介

给定两组数据:第一组数据,字体字义和字体颜色一致;第二组数据字体字义和字体颜色不一致。选取25名测试人员依次读出两组数据中字体的正确颜色,并分别记录完成时间。

第一组数据测试样例

f21e460eb85c3786206ebdfcbdf5b2a2.png
第二组数据测试样例

08a9c8134ee67b689d6155226f8af191.png

2、描述统计分析

(1)获取数据集基本描述统计信息

代码
#导入包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
import seaborn as sns

#导入字体
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False

#导入数据
TE_data=pd.read_csv('E:DocsPythonStroop_Effect.csv',encoding = 'GBK')

#列名重命名
AlterNameDict={'Congruent':'一致','Incongruent':'不一致'}
TE_data.rename(columns=AlterNameDict,inplace=True)

#描述统计分析

'''查看数据集前五行信息'''
TE_data.head(5)

'''查看数据集描述统计信息'''
TE_data.describe()
结果

d7a206c8b942c2595fdf44673383c334.png

0cff8b1d8af570255948f2954c985d0f.png

从上图结果可知,第一组数据测试结果,平均反应时间为14.07秒,标准差为3.54秒;第二组数据测试结果,平均反应时间为22.35秒,标准差为4.90秒。

(2)通过柱状图对两组数据测试结果进行比较

代码
'''绘制柱状图对两组测试结果进行比较'''
fg=plt.figure(figsize=(20,10))
ax=fg.add_subplot(1,1,1)
TE_data.plot(kind='bar',ax=ax)
plt.show()
结果

a4f042fef0852b4aa38573e6339a6cea.png

从上图可知,在字体字义和字体颜色不一致情况下测试人员的反应时间都大于在字体字义和字体颜色一致情况下测试人员的反应时间。

3、推论统计分析——假设检验

根据数据测试样例可知,第二组数据测试样例相较于第一组数据测试样例,字体颜色发生了变化,与字体字义出现了不一致的情况,因此在该问题中,字体颜色为自变量。因为字体颜色发生变化,测试人员对两组测试数据的反应时间可能出现不一致的情况,因此在该问题中,测试人员的反应时间为因变量。

(1)零假设和备选假设

  • 零假设(H0)

斯特鲁普效应不存在,第一组平均值=第二组平均值(U1=U2) 或 第一组平均值-第二组平均值=0(U1-U2=0)

  • 备选假设(H1)

斯特鲁普效应存在,第一组平均值<第二组平均值(U1<U2)

(2)检验类型

根据测试简介,本次假设检验采用的检验类型为配对样本检验中t检验中单尾检验(左尾)。

(3)抽样分布类型

根据测试简介,本次假设检验的样本大小为25,小于30,因此属于小样本。由于小样本采用t检验的前提为样本分布近似正态分布,因此笔者需检测差值数据集是否符合正态分布。

代码
#推论统计分析

'''抽样分布类型'''
TE_data['差值']=TE_data['一致']-TE_data['不一致']
sns.distplot(TE_data['差值'])
plt.title('差值数据集分布')
plt.show
结果

42cb2ddd8685d7d67f6a903a7f9aa94d.png

从上图结果可知,差值数据集分布近似正态分布,所以满足t检验的使用条件。

(4)检验方向

因备选假设(H1)为:斯特鲁普效应存在,第一组平均值<第二组平均值(U1<U2),笔者使用t检验中单尾检验中的左尾检验,显著水平为:5%,自由度(df)为:n-1=25-1=24。

(5)检验结果

  • 假设检验
代码
'''配对样本检验'''

'''计算t值和p值'''
t,p_twotail=stats.ttest_rel(TE_data['一致'],TE_data['不一致'])
print('nt值=',t,'n双尾检验的p值=',p_twotail)
p_onetail=p_twotail/2
print('单尾检验的p值=',p_onetail)

'''假设检验'''
if(t<0 and p_onetail<0.05):
    print('n拒绝零假设,有统计显著,斯特鲁普效应存在。')
else:
    print('n接受零假设,没有统计显著,斯特鲁普效应不存在')
结果

1a4543f8829f38e540e5a78536af4040.png
  • 置信区间
代码
'''置信区间'''
t_ci=0.0634
sample_mean=TE_data['差值'].mean()
se=stats.sem(TE_data['差值'])
a=sample_mean-t_ci*se
b=sample_mean+t_ci*se
print('n两组平均值差值的置信区间在95%置信水平 CI=[','%.2f'%a,',','%.2f'%b,']')
结果

33450192c7651c760d66ae952dd6c85a.png
  • 效应量
代码
'''效应量'''
pop_mean=0
sample_std=TE_data['差值'].std()
d=(sample_mean-pop_mean)/sample_std
print('n本次配对样本检验的效应量 d=%.2f'%d)
结果

2d41d65206bce68abfc37f3b241575db.png

三、结论

从假设检验结果看,拒绝零假设(H0),统计显著,斯特鲁普效应存在。从效应量结果看,|d|=1.64>0.8,效果显著。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐