背景信息
在一个Stroop (斯特鲁普)任务中,参与者得到了一列文字,每个文字都用一种油墨颜色展示。参与者的任务是将文字的打印颜色大声说出来。这项任务有两个条件:一致文字条件,和不一致文字条件。在一致文字条件中,显示的文字是与它们的打印颜色匹配的颜色词,如“红色”、“蓝色”。在不一致文字条件中,显示的文字是与它们的打印颜色不匹配的颜色词,如“紫色”、“橙色”。在每个情况中,我们将计量说出同等大小的列表中的墨色名称的时间。每位参与者必须全部完成并记录每种条件下使用的时间。
调查问题
作为一般说明,请确保记录你在创建项目时使用或参考的任何资源。作为项目提交的一部分,你将需要报告信息来源。
(1) 我们的自变量是什么?因变量是什么?
自变量是: 文字的打印颜色是否和文字意思描述一致
因变量是:被试者正确把文字的打印颜色说出来所需要的时间变化
(2) 此任务的适当假设集是什么?你需要以文字和数学符号方式对假设集中的零假设和对立假设加以说明,并对数学符号进行定义。你想执行什么类型的统计检验?为你的选择提供正当理由(比如,为何该实验满足你所选统计检验的前置条件)。
μ0: 字体的文字意思和其打印的颜色一致时的用时的总体均值
μ1: 字体的文字意思和其打印的颜色不一致时的用时的总体均值
x_bar0 :字体的文字意思和其打印的颜色一致时的用时的样本均值
x_bar1 :字体的文字意思和其打印的颜色不一致时的用时的样本均值
s0: 字体的文字意思和其打印的颜色一致时的用时的样本标准差
s1: 字体的文字意思和其打印的颜色不一致时的用时的样本标准差
v0: μ0/标准差σ0 字体的文字意思和其打印的颜色一致时的用时的总体变异系数
v1 μ1/标准差σ1 字体的文字意思和其打印的颜色不一致时的用时的总体变异系数
假设集:
原假设H0 :字体的文字意思和其打印的颜色是否一致 不会 对被试者正确念出他们造成影响。即μ0=μ1
备择假设Ha : 字体的文字意思和其打印颜色的是否一致 会 对被试者正确念出他们造成影响。即μ0≠μ1
t检验使用的假设前提:
1)因为目前只有两个样本,然后一般总体的分布应该还是符合正态分布的,所以就假设总体也是符合正态分布。(假设总体的情况)
2)因为实验有两个样本的比较,所以应该是双样本检验。
3)然后被试者分别对两种实验进行测试并且记录所用时间,每个被试者的状态水平是不同的,这也会间接造成每个人的两次实验的水平不一样,所以前次一致的实验和后次不一致的实验收集到的数据是属于相关的样本,一致或者不一致的样本各个都是 24 行,小于30行,所以不适用正态分布,比较适用于T分布。然后因为是相关样本,所以比较适合使用相关样本的T检验,即使用双样本检验中的配对样本T检验。 (受试者独立性分析和t检验使用的假设)
现在轮到你自行尝试 Stroop 任务了。前往此链接,其中包含一个基于 Java 的小程序,专门用于执行 Stroop 任务。记录你收到的任务时间(你无需将时间提交到网站)。现在下载此数据集,其中包含一些任务参与者的结果。数据集的每行包含一名参与者的表现,第一个数字代表他们的一致任务结果,第二个数字代表不一致任务结果。
(3) 报告关于此数据集的一些描述性统计。包含至少一个集中趋势测量和至少一个变异测量。
如下面方框可以看到包括 均值,和方法的集中性趋势测量,通过describe()查看,和变异值测量v= μ/σ
# 在这里执行你的分析,先导入需要用的一些包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df_data = pd.read_csv("stroopdata.csv")
df_data.describe() #查看数据集的长度
Congruent | Incongruent | |
---|---|---|
count | 24.000000 | 24.000000 |
mean | 14.051125 | 22.015917 |
std | 3.559358 | 4.797057 |
min | 8.630000 | 15.687000 |
25% | 11.895250 | 18.716750 |
50% | 14.356500 | 21.017500 |
75% | 16.200750 | 24.051500 |
max | 22.328000 | 35.255000 |
data_describe = df_data.describe() #使用describe函数输出计算结果
data_describe.loc['变异系数测量'] = data_describe.loc['std']/data_describe.loc['mean'] #增加测量变异系数
print("均值,方差和变异系数的输出结果")
print("x_bar0="+str(data_describe.loc['mean'][0])+" ")
print("x_bar1="+str(data_describe.loc['mean'][1])+" ")
print("s0="+str(data_describe.loc['std'][0]))
print("s1="+str(data_describe.loc['std'][1]))
print("v0="+str(data_describe.loc['变异系数测量'][0]))
print("v1="+str(data_describe.loc['变异系数测量'][1]))
print()
# print(data_describe)
均值,方差和变异系数的输出结果
x_bar0=14.051125
x_bar1=22.0159166667
s0=3.55935795765
s1=4.79705712247
v0=0.25331480274
v1=0.217890410611
df_data
Congruent | Incongruent | |
---|---|---|
0 | 12.079 | 19.278 |
1 | 16.791 | 18.741 |
2 | 9.564 | 21.214 |
3 | 8.630 | 15.687 |
4 | 14.669 | 22.803 |
5 | 12.238 | 20.878 |
6 | 14.692 | 24.572 |
7 | 8.987 | 17.394 |
8 | 9.401 | 20.762 |
9 | 14.480 | 26.282 |
10 | 22.328 | 24.524 |
11 | 15.298 | 18.644 |
12 | 15.073 | 17.510 |
13 | 16.929 | 20.330 |
14 | 18.200 | 35.255 |
15 | 12.130 | 22.158 |
16 | 18.495 | 25.139 |
17 | 10.639 | 20.429 |
18 | 11.344 | 17.425 |
19 | 12.369 | 34.288 |
20 | 12.944 | 23.894 |
21 | 14.233 | 17.960 |
22 | 19.710 | 22.058 |
23 | 16.004 | 21.157 |
(4) 提供显示样本数据分布的一个或两个可视化。用一两句话说明你从图中观察到的结果。
# 在这里创建可视化图表
df_data.hist() #绘制直方图
# plt.show() #整体数据集的可视化概略,说明人对词义的发音与打印颜色应该是有影响的。
array([[,
]], dtype=object)
# 挥之箱线图
df_data.boxplot()
(5) 现在,执行统计测试并报告你的结果。你的置信水平和关键统计值是多少?你是否成功拒绝零假设?对试验任务得出一个结论。结果是否与你的期望一致?
print("数据总体有:"+str(len( df_data ))+"个")
数据总体有:24个
# 使用配对样本T检验的方法来计算出p值
from scipy.stats import ttest_rel #导入scipy 中用于计算配对样本t检验的方法
x = df_data.Congruent
y = df_data.Incongruent
print(ttest_rel(x, y)) #代入两列样本集合计算输出得到的p值
Ttest_relResult(statistic=-8.020706944109957, pvalue=4.1030005857111781e-08)
# 又因为检测所得P值 小于 置信水平α,所以结果落入了拒绝域,如下
4.1030005857111781e-08<0.05
True
注:考虑到这个数据集特别的少,数量非常少,数据集直接粘贴到下面:
Congruent | Incongruent |
---|---|
12.079 | 19.278 |
16.791 | 18.741 |
9.564 | 21.214 |
8.63 | 15.687 |
14.669 | 22.803 |
12.238 | 20.878 |
14.692 | 24.572 |
8.987 | 17.394 |
9.401 | 20.762 |
14.48 | 26.282 |
22.328 | 24.524 |
15.298 | 18.644 |
15.073 | 17.51 |
16.929 | 20.33 |
18.2 | 35.255 |
12.13 | 22.158 |
18.495 | 25.139 |
10.639 | 20.429 |
11.344 | 17.425 |
12.369 | 34.288 |
12.944 | 23.894 |
14.233 | 17.96 |
19.71 | 22.058 |
16.004 | 21.157 |
[1] https://blog.csdn.net/qq_38214903/article/details/82965090 引用了关于 独立样本t检验的 scipy中 ttest_ind的操作方法
[2] https://support.minitab.com/zh-cn/minitab/18/help-and-how-to/statistics/basic-statistics/supporting-topics/tests-of-means/how-are-dependent-and-independent-samples-different/ 样本相关性知识,来源于这儿
[3] https://blog.csdn.net/qtlyx/article/details/52852034dataFrame 如何绘制箱型图的操作方法,参考自此博文
[4] https://blog.csdn.net/qq_38214903/article/details/82965697 Python统计分析-配对样本t检验
[5] https://github.com/ShiChJ/DAND-Basic-Materials/blob/master/P1/t-table.jpg T值表参考这儿