pythonF检验统计量转换为p值 python t检验显著差异_标准差


假设检验是我个人比较薄弱的一项,写这篇总结,也是对自己的检查。为了学习假设检验,我在知乎上查询了很多介绍,看了《商务与经济统计》中假设检验的相关章节。希望自己能有更清楚的认识。

一、T检验介绍

假设检验:问题是什么、证据是什么、判断标准是什么、做出结论。

(1)定义:T检验,亦称student t检验(Student's t test),主要用于样本含量较小(例如n < 30),总体标准差σ未知的正态分布。[1]T检验是用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著。它与f检验、卡方检验并列。t检验是戈斯特为了观测酿酒质量而发明的,并于1908年在Biometrika上公布[2]。

(2)适用条件

  • 已知一个总体均数;
  • 可得到一个样本均数及该样本标准差;
  • 样本来自正态或近似正态总体 [3] 。

(3)分类

  • 单样本T检验:检验单个样本的平均值是否等于目标值;

例:某大学生的平均身高是否大于全国平均身高167.2cm?

  • 相关配对检验:检验相关或配对观测之差的平均值是否等于目标值;

例:为了检测减肥药是否起作用,随机抽样出20个样本,记录每个人服药前后的体重

  • 独立双样本检验:检验两个独立样本的平均值之差是否等于目标值

例:AB测试

(4)假设检验步骤

1)样本标准差S:估计总体标准差



2)



3)根据t值,查找t表格,得到p值

4)相关配对的效应值



二、问题背景

“超级引擎”是一家专门生产汽车引擎的公司,根据政府发布的新排放要求,引擎排放平均值要低于20ppm, (ppm是英文百万分之一的缩写,这里我们只要理解为是按照环保要求汽车尾气中碳氢化合物要低于20ppm)。

公司制造出10台引擎供测试使用,每一台的排放水平如下:

15.6 16.2 22.5 20.5 16.4 19.4 16.6 17.9 12.7 13.9

怎么知道,公司生产的引擎是否符合政府规定呢?

如果你是这家公司的数据分析师,该怎么办呢?

三、python详细分析过程

  1. 描述性统计分析
# 导入数据分析包


scipy为统计模块


# 导入样本数据集
data = pd.Series([15.6,16.2 ,22.5 ,20.5 ,16.4 ,19.4 ,16.6, 17.9 ,12.7, 13.9])
data


样本为10个,小于30


# 样本均值
data_mean = data.mean()
data_mean
#样本标准差
'''
区别:样本标准差和总体标准差
样本标准差=(x-均值)/(n-1)
总体标准差=(x-均值)/n
pandas默认除以n-1,也就是计算的是样本标准差
'''
data_std = data.std()


data_mean =17.169999999999998

data_std=2.9814426038413018

2.推论统计分析

关于零假设与备选假设的设定问题,一个根本性的原则是从备选假设入手,问题中想要证明达成的目的就是备选假设。

零假设和备选假设
要研究的问题是:这些样本数据是否满足新标准呢?

根据这个问题我提出来下面两个互为相反的假设。

零假设H0:公司引擎排放不满足标准,也就是平均值u>=20。这里的20是政府规定新标准的最低可能值。

零假设总是表述为研究没有改变,没有效果,不起作用等,这里就是不满足标准。

备选假设H1:公司引擎排放满足标准,也就是平均值u<20

抽样分布类型

考虑到样本容量小于30,且只有一个样本,若样本基本符合正态分布,则符合单样本T检验


# 查看样本值分布情况
import seaborn as sns
sns.distplot(data)


pythonF检验统计量转换为p值 python t检验显著差异_假设检验_02

样本分布


由上图可知,样本基本符合正态分布,因此采用单样本T检验。


#总体均值
pop_mean=20

'''
用scipy计算出的是:双尾检验
单(1samp)样本t检验(ttest_1samp)
相关(related)样本t检验(ttest_rel)
双独立(independent)样本t检验(ttest_ind)
'''

t,p_towTail = stats.ttest_1samp(data,pop_mean)


t值= -3.00164952589 双尾检验的p值= 0.0149164142489


# 单尾检测的p值

p_one = p_towTail/2


单尾检验的p值= 0.00745820712445

3.判断标准


#判断标准(显著水平)使用alpha=5%
alpha=0.05


4.做出结论

  • 左尾判断条件:t < 0 and p_one < 判断标准(显著水平)alpha
  • 右尾判断条件:t > 0 and p_one < 判断标准(显著水平)alpha

p值:假定原假设成立的前提下,得到样本平均值的概率是多少。p值越小,则拒绝原假设

根据左尾检验判断,拒绝原假设,也就是汽车的引擎排放满足标准。

5.置信区间


# 查找t表格获取95%的置信水平,自由度是n-1对应的t值
#本例的自由度df=10-1=9

t_ci=2.262
#使用scipy计算标准误差
se=stats.sem(data)
#置信区间上限
a=sample_mean - t_ci * se
#置信区间下限
b=sample_mean + t_ci * se


pythonF检验统计量转换为p值 python t检验显著差异_pythonF检验统计量转换为p值_03

t分布查询表格

单个平均值的置信区间,95置信水平 CI=(15.037353,19.302647)

6.效应量

效应量是指处理效应的大小。

为什么要给出效应量?

在判断某个调查研究的结果,是否有意义或者重要时,要考虑的另一项指标是效应量。效应量太小,意味着处理即使达到了显著水平,也缺乏实用价值。

标准:.20 小的效应,.50中等效应,.80高的效应(d绝对值)

所以,在假设检验中,我们给出了是否具有统计显著性,也要给出效应量,一起来判断研究结果是否有意义。



d=(sample_mean - pop_mean) / sample_std


d= -0.9492049239364257

7.统计分析报告

1、描述统计分析

样本平均值17.17ppm,样本标准差2.98ppm

2、推论统计分析

1)假设检验

独立样本t(9)=-3.00,p=.0074(α=5%),单尾检验(左尾)

公司引擎排放满足标准

2)置信区间

平均值的置信区间,95% CI=(15.04,19.30)

3)效应量

d=-0.94