Python笔记-假设检验之双样本T检验(两样本是否相似)

x33g5p2x  于2022-02-21 转载在 Python  
字(0.8k)|赞(0)|评价(0)|浏览(210)

概念

双样本T检验在于检验两个样本均值差异是否显著。比如男女消费是否显著。

Python代码

逻辑:

①构造2个样本;

②先进行方差齐性检查,我们规定一个阈值,这2个样本方差齐性的p-value大于0.05说明满足方差相等,可以进行双样本T检验;

③进行双样本T检验,p值越大说明消费水平越相同,一般认为p大于0.05说明没啥差异(两样本比较相似),当p小于0.05说明有差异(两样本差距比较大);

代码如下:

from scipy import stats

list1 = [1217.03, 1251.5, 856.57, 1321.83, 816.03, 1151.15, 1233.77, 802.52, 2167.77, 2430.03]
list2 = [1102.2, 701.07, 806.13, 610.25, 993.87, 1403.72, 847.78, 695.85, 491.04, 468.61]

if __name__ == '__main__':
    levene = stats.levene(list1, list2, center='median')
    print('w-value=%6.4f,p-value=%6.4f' % levene)
    print(stats.stats.ttest_ind(list1, list2, equal_var=True))
    pass

运行截图如下:

①第一个打印的pvalue是方差齐性,这个值大于0.05说明满足,可以进行双样本T检验;

②第二个打印pvalue为0.018大于0.05说明两个样本相似度很高。

把数据替换成这样的:

list1 = [1217.03, 1251.5, 856.57, 1321.83, 816.03, 1151.15, 1233.77, 802.52, 2167.77, 2430.03]
list2 = [602.2, 701.07, 806.13, 610.25, 593.87, 603.72, 547.78, 695.85, 491.04, 468.61]

运行截图如下:

这时pvalue为0.0008说明两样本相似不够,差异大。

相关文章