標籤:

假設檢驗之斯特魯普效應檢驗

斯特魯普效應簡單來說就是當出現與原先認知不同的情況時,人們反應的時間會較長

實驗簡單描述:

每位參與者得到兩組帶有顏色的文字。第一組,文字內容和顏色相同;第二組,文字內容和顏色不相同。每位參與者讀出文字內容的顏色,並統計完成每組的時間。

斯特魯普效應測試地址:斯特魯普效應

一、描述統計分析

#導入包import numpy as np import pandas as pdimport matplotlib.pyplot as plt#encoding用於指定文件的編碼,因為讀取的csv中有中文,所以指定文件編碼為中文編碼「GBK」#導入數據data = pd.read_csv(E:\testdata\data.csv, encoding=GBK) data.head()#獲取描述統計信息data.describe()

描述統計信息

#數據可視化#繪製反應時間的對比情況#創建畫板fig=plt.figure(figsize=(20,10))#創建畫紙ax=fig.add_subplot(1,1,1)#繪製柱形圖full.plot(kind=bar,ax=ax)plt.title(一致和不一致的反應時間對比情況,fontsize=20)plt.xlabel(實驗組,fontsize=12)plt.ylabel(時間(單位:秒))plt.show()

描述性統計結果分析:

第一組實驗:字體和顏色一致情況下,

實驗者的平均反應時間: 13.926875 秒 ,標準差是: 3.54021942715

第二組實驗:字體和顏色不一致情況下,

實驗者的平均反應時間: 22.35075 秒 ,標準差是: 5.0102177272

從上圖可以看出,「不一致」情況下所用的時間均大於「一致」情況,即字體內容和顏色不一致時,實驗者的平均反應時間變長

二、推論統計分析

問題:字體內容和顏色是否一致

用假設檢驗的方法進行驗證:

自變數和因變數:

自變數:測試數據的顏色和文字內容是否一致

因變數:完成每組實驗所需時間

原假設:人們反應時間不受文字內容和顏色是否一致的影響,即con_mean=incon_mean

備選假設:文字內容和顏色不一致情況下,完成實驗的時間會變長,即con_mean<incon_mean

檢驗類型,由於使用的樣本數據是相關樣本,所以選擇檢驗是相關配對檢驗;為了避免得到的結論受到參與人員正常反應時間獨立性影響,所以需要用每一行第一組數據-每一行第二組數據計算差值。

#獲取差值full[差值]=full[一致]-full[不一致]full.head()#觀察樣本的分布狀態#導入包import seaborn as sns#查看數據集分布sns.distplot(full[差值])plt.title(數據集分布狀態)plt.show()

個人分析:

由於本次實驗的兩組數據都是有一個人產生的,所以可選擇相關配對檢驗。

通過觀察上圖數據集的分布圖,可以得出數據集近似正態分布,而樣本數據n<30,故滿足t分布的使用條件,因此可使用相關配對樣本t檢驗;由於備選假設中:字體內容和顏色不一致情況下,人們反應時間會變長,即con_mean<incon_mean,所以可選擇單尾檢驗中的左尾檢驗,顯著水平為5%,t檢驗自由度23

利用python中的統計模塊計算P值

#導入統計模塊(stats)from scipy import statst,p_twoTail=stats.ttest_rel(full[一致],full[不一致])print(假設檢驗計算出的t值=,t,,雙尾檢驗的p值=,p_twoTail)#計算單尾檢驗的p值p_oneTail=p_twoTail/2print(單尾檢驗的p=,p_oneTail)

常用計算樣本均值p的計算公式:

標準誤差: se=frac{std}{sqrt{n}}

計算t值: t=frac{樣本均值-總體均值}{se}

根據df,和t值,查詢p值。

#判斷標準選擇,顯著水平alpha=0.05alpha=0.05#得出結論if (t<0 and p_oneTail<alpha): print(拒絕原假設,有統計顯著) print(即接受備選假設,斯特魯普效應存在)else: print(接受原假設,沒有統計顯著,即斯特魯普效應不存在)

假設檢驗報告:

相關配對檢驗t(23)=-8.0886,p=1.77e-08(alpha=0.05),左尾檢驗

統計上存在顯著差異,拒絕零假設,從而驗證斯特魯普效應存在。

求置信區間

#求置信水平置信水平對應t值t_ci, 通過置信水平和df查得上下限計算:上限a=樣本均值-t_ci*標準誤差下限b=樣本均值+t_ci*標準誤差#查表得t_ci=2.069#差值數據集平均值sample_mean=full[差值].mean()#使用scipy計算標準誤差se=stats.sem(full[差值])#置信區間上,下限a=sample_mean-t_ci*seb=sample_mean+t_ci*seprint(兩個平均值差值的置信區間,95置信水平 CI=[%f,%f] % (a,b))

輸出:兩個平均值差值的置信區間,95置信水平 CI=[-10.578633,-6.269117]

求效應量

差異指標Cohens d

#差值數據集對應的總體平均值是0pop_mean=0#差值數據集的標準差sample_std=full[差值].std()#差異度指標(用於對比平均值)d=(sample_mean-pop_mean)/sample_stdprint(d=,d)

d= -1.65108078053

報告總結:

1、描述統計分析

第一組樣本數據:字體內容和字體顏色一致情況下,

平均反應時間是: 13.926875 秒,標準差是 3.54021942715秒

第二組樣本數據:字體內容和字體顏色不一致情況下,

平均反應時間是: 22.35075秒,標準差是 5.0102177272秒

文字內容和顏色「不一致」情況下所用時間均大於「一致」情況,即當字體內容和顏色「不一致「時,完成時間的時間會變長

2、推論統計分析

(1)假設檢驗

相關配對檢驗t(23)=-8.09,p=1.77e-08 (α=5%),左尾檢驗

拒絕原假設,統計上存在顯著差異,從而驗證斯特魯普效應存在。

(2)置信區間

兩個平均值差值的置信區間,95%置信水平 CI=[-10.58,-6.27]

(3)效應量

d=-1.65108078053

個人收穫

1.首先熟悉假設檢驗的一般步驟,以及步驟中的一些值的計算,而且也把統計學中的知識在實例上運用了一遍。

2.在這個過程中,學習到了另一種繪圖包seaborn中的一種繪製直方圖和更精確的擬合曲線的方法,我認為seaborn是對matplotlib的一種補充

3.熟悉了如何利用python中統計包scipy的統計模塊stats計算t,p_oneTail,p_twoTail


推薦閱讀:

需求定律中的假設、事實及啟示

TAG:假設檢驗 |