Udacity数据分析(进阶)- 统计学:检验心理学现象

统计学:检验心理学现象

背景信息

在一个Stroop (斯特鲁普)任务中,参与者得到了一列文字,每个文字都用一种油墨颜色展示。参与者的任务是将文字的打印颜色大声说出来。这项任务有两个条件:一致文字条件,和不一致文字条件。在一致文字条件中,显示的文字是与它们的打印颜色匹配的颜色词,如“红色”、“蓝色”。在不一致文字条件中,显示的文字是与它们的打印颜色不匹配的颜色词,如“紫色”、“橙色”。在每个情况中,我们将计量说出同等大小的列表中的墨色名称的时间。每位参与者必须全部完成并记录每种条件下使用的时间。

调查问题

(1) 我们的自变量是什么?因变量是什么?
自变量:显示的文字与它们的打印颜色的颜色词是否匹配;因变量:参与者完成将文字的打印颜色说一遍所需的时间
(2) 此任务的适当假设集是什么?你需要以文字和数学符号方式对假设集中的零假设和对立假设加以说明,并对数学符号进行定义。你想执行什么类型的统计检验?为你的选择提供正当理由(比如,为何该实验满足你所选统计检验的前置条件)。
假设集:

μ s a m e \mu_{same} :表示一致文字条件情况下完成时间的总体均值
μ d i f f \mu_{diff} :表示不一致文字条件情况下完成时间的总体均值

零假设:
μ s a m e \mu_{same} μ d i f f \mu_{diff} 即不同文字条件并不会影响完成任务时间

备择假设:
μ s a m e \mu_{same} μ d i f f \mu_{diff} 即不同文字条件会影响完成任务时间

本次检验使用t检验中的配对样本t检验,并构建双尾检验

因为本次使用的试验数据集检验对象是同一样本数据进行两种不同条件的处理,属于配对样本t检验,且由于备择假设中包含不等号,我们需要找出参数的变化,而不是增减,所以选用双尾检验。

(3) 报告关于此数据集的一些描述性统计。包含至少一个集中趋势测量和至少一个变异测量。

import pandas as pd
import scipy.stats as stats
df=pd.read_csv('stroopdata.csv')
#计算汇总统计
df.describe()

在这里插入图片描述

#计算中位数
df.median()
Congruent      14.3565
Incongruent    21.0175
dtype: float64
#计算IQR
stats.iqr(df,axis=0)
array([4.3055 , 5.33475])
#计算极差
df.Congruent.ptp(),df.Incongruent.ptp()
(13.698000000000002, 19.568)

描述性统计(以下顺序均为Congruent,Incongruent)

集中趋势测量

1.平均数:14.051125,22.015917

2.中位数:14.3565,21.0175

3.众数:应为样本数量平均,不适合使用众数

变异测量

1.标准差:3.559358,4.797057

2.极差:13.698,19.568

3.IQR(四分位距):4.3055,5.33475

可视化分析

(4) 提供显示样本数据分布的一个或两个可视化。用一两句话说明你从图中观察到的结果。

import numpy as np
import matplotlib.pyplot as plt
df.index=range(0, len(df.Congruent))
bar_width = 0.7
x_pos = np.arange(len(df.Congruent) * 2, step=2)
plt.figure(figsize=[9,5])
plt.bar(x_pos, df['Congruent'], color='#FF7D40', width=bar_width)
plt.bar(x_pos + bar_width, df['Incongruent'], color='#33A1C9', width=bar_width)
plt.xticks(x_pos + bar_width / 2,df.index+1)
plt.title('Reading time under different conditions', fontsize=16)
plt.ylabel('Time')
plt.legend(df.columns)
plt.tight_layout()
plt.show()

在这里插入图片描述

data = [df.Congruent, df.Incongruent]
plt.title('Boxplot between Congruent and Incongruent', fontsize=12)
plt.boxplot(data,labels=df.columns)
plt.show()

在这里插入图片描述
结论

从图上我们可以看出,每一次Incongruent所用的阅读时间大于Congruent所用的阅读时间,箱线图中Incongruent存在两处异常值,除此之外可以明显看出Incongruent的中位数大于Congruent中75%的数据。

统计结果

(5) 现在,执行统计测试并报告你的结果。你的置信水平和关键统计值是多少?你是否成功拒绝零假设?对试验任务得出一个结论。结果是否与你的期望一致?

均值偏差 = 14.051125 - 22.015917 = -7.964792 (n = 24)

#标准偏差
np.std(df.Congruent-df.Incongruent,ddof=1)
4.864826910359056

使用以下方法计算t统计量

在这里插入图片描述

  • 其中d bar是平均差,s²是样本方差,n是样本大小
    计算t统计量 = -8.0207
    自由度 = 24 - 1 = 23
    使用α=0.05,查表可知ν=23,p=0.025时临界值t=2.069
    95%的置信区间:-7.965±2.069(4.865/√24) 即 (-10.02,-5.91)
    p-value 查表可知远小于0.0001
#使用stats的配对样本t检验计算p-value
stats.ttest_rel(df.Congruent,df.Incongruent,axis=0)
Ttest_relResult(statistic=-8.020706944109957, pvalue=4.103000585711178e-08)

使用stats自带的配对样本t检验计算得到了相同的结果

结论

我们选择95%的置信水平,即显著性水平α=0.05,从计算结果看p值远小于0.05,那么我们可以选择拒绝零假设,接受备择假设,即显示的文字与它们的打印颜色不匹配时对实验者的阅读时间会产生影响。

参考资料

1.为什么要使用配对 t 检验?http://support.minitab.com/zh-cn/minitab/17/topic-library/basic-statistics-and-graphs/hypothesis-tests/tests-of-means/why-use-paired-t/

2.有趣的心理学实验——斯特鲁普效应
https://blog.csdn.net/VucNdnrzk8iwX/article/details/79946964

3.spicy.stats官方文档
https://docs.scipy.org/doc/scipy-0.19.1/reference/generated/scipy.stats.ttest_rel.html

链接:https://pan.baidu.com/s/14YgycNkX5mti7DWAqlJQYg 密码:qwia

学习资源

Udacity推论统计学入门(这门课中除了已经学到的t检验外,还加入了方差分析、回归分析和卡方检验等进阶内容,适合已经通过项目的学员进行深入学习);

Coursera专项课程:R语言统计学(Duke大学教授主讲,和Udacity的课程可以互为补充,在某些理论方面探索会更加深入。虽然需要付费做作业,但仅看课程视频就可以学到很多,强烈推荐);

台湾大学顽想学概率(一)(二)(要进一步了解统计学原理,概率论是必不可少的。这门中文MOOC以通俗易懂的内容和讲师幽默随和的风格,自上线以来好评不断,习题也十分有挑战性);

概率论:不确定性的科学(MIT的经典MOOC,一直以来都是Edx上最热门的课程之一,难度和学习强度也相当之大,但授课水平确实无可挑剔,清晰明了。建议空余时间较多并且愿意挑战自己时选修);

陈希孺《概率论与数理统计》(国内比较少见的经典数理统计教材)。

猜你喜欢

转载自blog.csdn.net/u010606346/article/details/84402398