基于python實(shí)現(xiàn)計(jì)算兩組數(shù)據(jù)P值
我們?cè)谧鯝/B試驗(yàn)評(píng)估的時(shí)候需要借助p_value,這篇文章記錄如何利用python計(jì)算兩組數(shù)據(jù)的顯著性。
一、代碼
# TTest.py# -*- coding: utf-8 -*-’’’# Created on 2020-05-20 20:36# TTest.py# @author: huiwenhua’’’## Import the packagesimport numpy as npfrom scipy import statsdef get_p_value(arrA, arrB): a = np.array(arrA) b = np.array(arrB) t, p = stats.ttest_ind(a,b) return pif __name__ == '__main__': get_p_value([1, 2, 3, 5, ], [6, 7, 8, 9, 10])
二、T檢驗(yàn):兩樣本T檢驗(yàn)
兩樣本t檢驗(yàn)是比較兩個(gè)樣本所代表的兩個(gè)總體均值是否存在顯著差異。除了要求樣本來自正態(tài)分布,還要求兩個(gè)樣本的總體方差相等也就是“方差齊性”。
檢驗(yàn)原假設(shè):樣本均值無差異(μ=μ0)
Python命令stats.ttest_ind(data1,data2)
當(dāng)不確定兩總體方差是否相等時(shí),應(yīng)先利用levene檢驗(yàn)檢驗(yàn)兩總體是否具有方差齊性stats.levene(data1,data2)如果返回結(jié)果的p值遠(yuǎn)大于0.05,那么我們認(rèn)為兩總體具有方差齊性。如果兩總體不具有方差齊性,需要加上參數(shù)equal_val并設(shè)定為False,如下。
stats.ttest_ind(data1,data2,equal_var=False) // TTest中默認(rèn)是具有方差齊性
三、結(jié)果解釋
當(dāng)p值小于某個(gè)顯著性水平α(比如0.05)時(shí),則認(rèn)為樣本均值存在顯著差異,具體的分析要看所選擇的是雙邊假設(shè)還是單邊假設(shè)(又分小于和大于)注意stats.ttest_ind進(jìn)行雙側(cè)檢驗(yàn)。
當(dāng)t值大于0,則有((1-p)* 100)%的把握認(rèn)為認(rèn)為第一組數(shù)據(jù)好與第二組數(shù)據(jù)。例如p=0.05,那么我們有95%的把握認(rèn)為第一組數(shù)據(jù)好于第二組數(shù)據(jù)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. PHP防XSS 防SQL注入的代碼2. idea設(shè)置自動(dòng)導(dǎo)入依賴的方法步驟3. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式4. python pymysql鏈接數(shù)據(jù)庫(kù)查詢結(jié)果轉(zhuǎn)為Dataframe實(shí)例5. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)6. IDEA版最新MyBatis程序配置教程詳解7. 使用Python和百度語(yǔ)音識(shí)別生成視頻字幕的實(shí)現(xiàn)8. 教你如何寫出可維護(hù)的JS代碼9. idea不能自動(dòng)補(bǔ)全yml配置文件的原因分析10. xml中的空格之完全解說
