数据分析之T检验
1、定義:
t檢驗,亦稱student t檢驗(Student’s t test),主要用于樣本含量較小(例如n < 30),總體標準差σ未知的正態分布。 t檢驗是用t分布理論來推論差異發生的概率,從而比較兩個平均數的差異是否顯著。它與f檢驗、卡方檢驗并列。來源:百度百科
用于統計量服從正態分布,但方差未知的情況。
T檢驗分析時,當樣本量較大時,很少考慮T檢驗的使用條件。由中心極限定理可知,只要樣本量足夠大,其樣本均數的抽樣分布仍然是正態的。即:只要數據分布不是強烈的偏態,一般而言T檢驗都是適用的。當樣本例數n較小時,一般要求樣本取自正態本體。
t檢驗的前提是要求樣本服從正態分布或近似正態分布,不然可以利用一些變換(取對數、開根號、倒數等等)試圖將其轉化為服從正態分布是數據,如若還是不滿足正態分布,只能利用非參數檢驗方法。不過當樣本量大于30的時候,可以認為數據近似正態分布。
2、T檢驗的分類
2.1、單樣本T檢驗
檢驗單個變量的均值與目標值之間是否存在差異,如果總體均值已知,樣本均值與總體均值之間差異顯著性檢驗屬于單樣本t檢驗。
2.1.1 目的
檢驗單樣本的均值是否和已知總體的均值相等(主要用于比較一組數據與一個特定數值之間的差異情況)
2.1.2 要求
- 總體方差未知,否則就可以利用Z檢驗(也叫U檢驗,就是正態檢驗)
- 正態數據或近似正態
2.1.3 原假設H0與備擇假設H1
- H0:樣本均值與總體均值相等
- H1:樣本均值與總體均值不等
2.1.4 python 中的單樣本T檢驗 ttest_1samp
from scipy import stats import numpy as npnp.random.seed(7654567) # 保證每次運行都會得到相同結果 # 均值為5,方差為10 rvs = stats.norm.rvs(loc=5, scale=10, size=(50,2))stats.ttest_1samp(rvs, [1, 2])返回結果:
Ttest_1sampResult(statistic=array([ 2.0801775 , 2.44893711]), pvalue=array([ 0.04276084, 0.01795186]))
分別顯示兩列數的t統計量和p值。由p值分別為0.042和0.018,當p值小于0.05時,認為差異顯著,即第一列數的均值不等于1,第二列數的均值不等于2。
- 不拒絕原假設——均值等于5
- 拒絕原假設——均值不等于5
- 第一列數均值等于5,第二列數均值不等于0
- 第一行數均值等于5,第二行數均值不等于0
- 將兩列數據均值分別與5.0和0.0比較,得到4個t統計量和p值
————————————————
原文鏈接:https://blog.csdn.net/m0_37777649/article/details/74938120
2.1.5 補充:檢驗原理
————————————————
原文鏈接:https://zhuanlan.zhihu.com/p/138711532
2.2 獨立樣本t檢驗
用于檢驗兩組服從正態分布的總體均值是否一樣,前提是兩個樣本方差相等。如果兩組樣本彼此不獨立,應該使用配對樣本t檢驗。
2.2.1 目的
檢驗兩獨立樣本的均值是否相等。
2.2.2 要求
兩樣本獨立,服從正態分布或近似正態。
2.2.3 根據總體方差是否相等可以分為兩類
2.2.3.1 總體方差相等且未知 樣本方差滿足
2.3.3.2 總體方差不等且未知(或者對它們一無所知)滿足
2.3.3.3 檢驗原理(方差相等或不等都適用)
————————————————
原文鏈接:https://zhuanlan.zhihu.com/p/138711532
2.2.4 python中的獨立樣本T檢驗 ttest_ind
from scipy import stats import numpy as npnp.random.seed(12345678) #loc:平均值 scale:方差 rvs1 = stats.norm.rvs(loc=5,scale=10,size=500) rvs2 = stats.norm.rvs(loc=5,scale=10,size=500)
- 不拒絕原假設——兩總體均值相等
- 如果兩總體具有方差齊性,錯將equal_var設為False,p值變大
p值遠大于0.05,認為兩總體具有方差齊性。
如果兩總體不具有方差齊性,需要將equal_val參數設定為“False”。這里設置成False則進行Welch’s t-test而不是Student’s t-test
注:
- 兩總體方差不等時,若沒有將equal_var參數設定為False,則函數會默認equal_var為True,這樣會低估p值
- 正確的P值
2.3、配對樣本t檢驗
用于兩個樣本并不互相獨立,對兩個總體的均值差異進行檢驗,原假設d=μ1-μ2=0,即假定兩個總體均值相等
2.3.1 目的
分析配對定量數據之間的差異對比關系
2.3.2 要求
- 總體方差相等
- 正態數據或近似正態
- 兩個樣本的樣本量要相同,樣本先后的順序是一一對應的。
2.3.3 檢驗原理
————————————————
原文鏈接:https://zhuanlan.zhihu.com/p/138711532
2.3.4 python 中的配對樣本T檢驗 ttest_rel
from scipy import stats import numpy as nprvs1 = stats.norm.rvs(loc=5,scale=10,size=500) rvs2 = (stats.norm.rvs(loc=5,scale=10,size=500) + stats.norm.rvs(scale=0.2,size=500)) rvs3 = (stats.norm.rvs(loc=8,scale=10,size=500) + stats.norm.rvs(scale=0.2,size=500))- 不拒絕原假設,認為rvs1 與 rvs2 所代表的總體均值相等
- 拒絕原假設,認為rvs1 與 rvs3所代表的總體均值不相等
2.4 配對T檢驗與獨立T檢驗
兩者的主要區別在于:配對樣本t檢驗需要兩組樣本數相等,且要求每對配對數據之間要有一定的對應關系,而獨立樣本t檢驗兩組數據的樣本個數可以不等
-
常見的配對研究包括幾種情況:
-
無論是哪種T檢驗,都要數據服從正態或近似正態分布。
正態性有多種檢驗方法,常見方法如:正態圖、正態性檢驗、P-P圖/Q-Q圖等。正態性檢驗可查看之前的文章:數據分析之正態性檢驗(女人近我三尺便是向我問劍)
-
非正態時處理方法
若數據滿足正態性則不用考慮此步,直接選擇對應方法分析。
若不滿足,則可考慮使用非參數檢驗,三種T檢驗對應的不同的處理方法,具體說明如下:
從功能上講,它們的區別僅在于數據是否正態。除此之外,非參數檢驗的檢驗效率不如參數檢驗,因而在實際研究中,可能即使數據非正態,也會使用基于正態分布的參數檢驗。 -
對于獨立樣本t檢驗,除了要滿足正態性,還需要滿足方差齊的前提條件。即方差齊的情況下,才可以使用t檢驗。如果方差不齊,則應采用校正T檢驗。
在spss軟件中,會分別輸出方差相等與不相等時T檢驗的結果,如通過Levene’s檢驗結果即p>0.05,則說明兩組數據方差齊。
上圖中只有③喜歡產品這一變量不滿足方差齊條件,因此應該使用校正t檢驗,也就是看方差不相等時的結果。
- 無論配對t檢驗還是獨立樣本t檢驗,都只適用于兩組數據的對比,如果數據超過兩組,需要使用方差分析
參考鏈接:T檢驗分析思路完整總結,來看!
用SPSS進行T檢驗:
參數檢驗(一):為什么SPSS沒有Z檢驗
參數檢驗(二):t檢驗的介紹與單樣本t檢驗的SPSS操作
參數檢驗(三):獨立樣本和配對樣本t檢驗的SPSS操作
其他T檢驗相關:
如何理解Z檢驗和T檢驗?
利用python進行T檢驗
待續。。。
總結
- 上一篇: ssh: Could not resol
- 下一篇: 图文详解:微信公众号申请流程