赞
踩
20世纪20年代末一个夏日的午后,在英国剑桥,一群大学教员、他们的妻子以及一些客人围坐在室外的一张桌子周围喝下牛茶。一位女士坚持认为,将茶倒进牛奶里和将牛奶倒进茶里的味道是不同的。在座的料学家都觉得这种观点很可笑,没有任何意义。这能有什么区别呢?他们觉得两种液体的混合物在花学成分上不可能有任何区别。此时,一个又又矮、戴看厚厚的眼镜、留看尖的男子表情变得严需起来,这个问题让他陷入了沉思。“让我们检验这个命题吧。他激动地说。他开始规划一个实验,让声称两种茶存在区别的女士按顺序品尝若干杯饮品,其中有些是加了茶的牛奶,有些是加了牛奶的茶。
那么如何检验这位女士的说法呢?FISHER进行了研究,从而提出了假设检验的思想。
比如:
正常情况下我们去猜先倒茶还是先倒牛奶的话,概率应该是1/2,
1.总共检验了两杯,全部猜对的概率是:0.5*0.5=0.25,虽然概率很低,但是也算正常;
2.继续猜,又猜了两次,也全部猜对了几率是=0.0625,这个概率明显是非常低了,有点不正常了,但是会不会还是运气呢?
3.我们继续猜,加大样本,如果连续猜对10杯,那么我认为这位女士确实有特殊的能力。
虽然我们上面说猜对10杯来确认这位女士有特殊能力,这只是我们的臆测,我们假设一个x,当这位女士能够猜对x杯才认为这位女士确实有特殊的能力,其实对于我们最难的是来确认着x。
下面我们就来看一下怎么样来确认这个x。
假设检验(Hypothesis Testing):是推断统计的最后一步,是依据一定的假设条件由样本推断总体的一种方法。
你提出你的假设:说你有特殊的能力,可以品出先倒茶还是牛奶;
我提出要检验你的假设:品十(x)杯,看实验结果是不是和你说的假设相符
假设检验的基本思想是小概率反证法思想,小概率思想认为小概率事件在一次试验中基本上不可能发生,在这个方法下,我们首先对总体作出一个假设,这个假设大概率会成立,如果在一次试验中,试验结果和原假设相背离,也就是小概率事件竟然发生了,那我们就有理由怀疑原假设的真实性,从而拒绝这一假设。
假设检验其实就是假设和检验两步,先提出假设,之后再来验证假设是不是合理的。
假设:这位女士不能准确的猜出先倒茶还是牛奶(没有确凿证据一般不推翻的假设,正常情况下我们都不能猜出先倒茶还是牛奶,所以我们假设这位女士不能准确的猜出先倒茶还是牛奶)
检验:认为假设是成立的,然后猜十次,看结果与假设是否相符
猜奶茶的实验应该符合二项分布(这就不解释了),
也就是:X~(n,μ) ,即:X~(10,0.5)
P= * ()* () =0.0439,也就是说猜10次能猜对8次的概率是0.0439
这时候有个数学大佬出来定义了一个称为P值的概念:把八次猜对概率,与更极端的九次猜对、十次猜对的概率加起来:
为什么要把更极端的情况加起来?
根据猜奶茶这个例子,可能你会觉得,我知道八次猜对出现不正常就行了,干嘛要把九次、十次加起来?
比如我们要猜1000次用二项分布来计算很麻烦,根据中心极限定理,我们知道,可以用正态分布来近似:
当关键词有不得少于/低于的时候用左侧,比如灯泡的使用寿命不得少于/低于700小时时
当关键词有不得多于/高于的时候用右侧,比如次品率不得多于/高于5%时
单侧检验指按分布的一侧计算显著性水平概率的检验。用于检验大于、小于、高于、低于、优于、劣于等有确定性大小关系的假设检验问题。这类问题的确定是有一定的理论依据的。假设检验写作:μ1<μ2或μ1>μ2。
双侧检验指按分布两端计算显著性水平概率的检验, 应用于理论上不能确定两个总体一个一定比另一个大或小的假设检验。一般假设检验写作H1:μ1≠μ2。
总共猜10次,那么是出现7次猜对,可以认为有特殊能力,还是9次猜对之后我才能确认有特殊能力,这是一个较为主观的标准。
我们一般认为
P-value<=0.05
就可以认为假设是不正确的。
0.05这个标准就是显著水平,当然选择多少作为显著水平也是主观的。
比如,我们猜奶茶的例子,如果取单侧P值,那么根据我们的计算,如果10次猜对9次:
P-value=P(9<=X<=10)=0.01<=0.05
我们可以认为刚开始的假设(这位女士不能准确的猜出先倒茶还是牛奶)错的很“显著”,也就是是有特殊能力的。
检验统计量是用于假设检验计算的统计量。在零假设情况下,这项统计量服从一个给定的概率分布,而这在另一种假设下则不然。从而若检验统计量的值落在上述分布的临界值之外,则可认为前述零假设未必正确。统计学中,用于检验假设量是否正确的量。常用的检验统计量有t统计量,Z统计量等。
实际情况 | 实际情况 | |
---|---|---|
决定 | H0为真 | H0为假 |
拒绝H0 | 弃真 | 正确 |
接受H0 | 正确 | 去伪 |
步骤:
假设检验:做出假设或断言,对照证据进行检验。
主要分为以下六步:
(1)确定假设
所检验的断言被称为原假设,用H0表示;
与原假设对立的断言被称为备择假设,用H1表示;
进行假设验证时,假定原假设为真;但如果有足够证据反驳原假设,则拒绝原假设,接受备择假设,这一过程也被称为显著性检验。
(2)选择检验统计量
(3)确定拒绝域
先定显著性水平,以百分比表示,在显著性水平内,将拒绝原假设,一般为5%。
P ( X < c ) < α , 其 中 c 为 检 验 边 界 值 , α 为 显 著 性 水 平 P(X<c)<\alpha,其中 c为检验边界值,\alpha为显著性水平
P(X<c)<α,其中c为检验边界值,α为显著性水平
检验方式
单尾检验:
拒绝域位于数据的左侧或右侧
双尾检验:
拒绝域一分为二,位于数据的两侧根据备择假设选择尾部
(4)求出P值(小于或者等于拒绝域向上的一个样本数值的概率)
根据检验统计量的数据分布,求出P值。可根据查表快速求出P值。
(5)判断样本结果是否位于拒绝域中
(6)做出决策
如果假设检验的P值落在检验拒绝域外,则表明没有充分证据拒绝原假设,所以原假设为真;
反之拒绝原假设,备择假设为真。
注意:
检验显著性水平必须要在计算P值之前确定,以防止人为主观判断干扰。
T检验是假设检验的一种,又叫student t检验(Student’s t test),主要用于样本含量较小(例如n<30),总体标准差σ未知的正态分布资料。
T检验用于检验两个总体的均值差异是否显著。
适用范围:
#注:双侧检验 #H0:μ=μ0 #H1:μ≠μ0 #生成50行x2列的数据 np.random.seed(7654567) # 保证每次运行都会得到相同结果 # 均值为5,方差为10 rvs = stats.norm.rvs(loc=5, scale=10, size=(50,2)) #检验两列数的均值与1和2的差异是否显著 print(stats.ttest_1samp(rvs, [1, 2])) print(stats.ttest_1samp(rvs, 5.0)) print(stats.ttest_1samp(rvs, 0.0)) print(stats.ttest_1samp(rvs,[5.0,0.0])) #axis=0按列运算,axis=1按行运算 print(stats.ttest_1samp(rvs.T,[5.0,0.0],axis=1)) print(stats.ttest_1samp(rvs,[[5.0],[0.0]])) Ttest_1sampResult(statistic=array([2.0801775 , 2.44893711]), pvalue=array([0.04276084, 0.01795186])) Ttest_1sampResult(statistic=array([-0.68014479, -0.04323899]), pvalue=array([0.49961383, 0.96568674])) Ttest_1sampResult(statistic=array([2.77025808, 4.11038784]), pvalue=array([0.00789095, 0.00014999])) Ttest_1sampResult(statistic=array([-0.68014479, 4.11038784]), pvalue=array([4.99613833e-01, 1.49986458e-04])) Ttest_1sampResult(statistic=array([-0.68014479, 4.11038784]), pvalue=array([4.99613833e-01, 1.49986458e-04])) Ttest_1sampResult(statistic=array([[-0.68014479, -0.04323899], [ 2.77025808, 4.11038784]]), pvalue=array([[4.99613833e-01, 9.65686743e-01], [7.89094663e-03, 1.49986458e-04]]))
卡方检验的基本思想:
卡方检验是以χ 2 \chi^2χ ² 分布为基础的一种常用假设检验方法,它的基本假设H0是:观察频数与期望频数没有差别。
该检验的基本思想是:首先假设H0成立,基于此前提计算出χ 2 \chi^2χ ² 值,它表示观察值与理论值之间的偏离程度。根据χ 2 \chi^2χ ²
分布及自由度可以确定在H0假设成立的情况下获得当前统计量及更极端情况的概率P。如果P值很小,说明观察值与理论值偏离程度太大,应当拒绝原假设,表示比较资料之间有显著差异;否则就不能拒绝无效假设,尚不能认为样本所代表的实际情况和理论假设有差别。
适用范围:
例1:从某中学随机抽取两个班,调查他们对待文理分科的态度,结果,甲班37人赞成,27人反对;乙班39人赞成,21人反对,这两个班对待文理分科的态度是否有显著差异(α= .05)?
班级 | 赞成 | 反对 |
---|---|---|
甲班 | 37 | 27 |
乙班 | 39 | 21 |
from scipy.stats import chi2_contingency
import numpy as np
kf_data = np.array([[37,27], [39,21]])
kf = chi2_contingency(kf_datad)
print('chisq-statistic=%.4f, p-value=%.4f, df=%i expected_frep=%s'%kf)
chisq-statistic=0.4054, p-value=0.5243, df=1 expected_frep=[[39.22580645 24.77419355]
[36.77419355 23.22580645]]
结论: 因为p值=0.5243>0.05, 故接受原假设, 认为这两个班对待文理分科的态度无显著差别。
Z检验用来判断样本均值是否与总体均值具有显著性差异。Z检验是通过正态分布的理论来推断差异发生的概率,从而比较两个均值的差异是否显著。
Z检验适用于:
例:某工厂每天都会统计生产的产品数量,测出每天生产的平均值为100,标准差为7.9,默认数据服从正态分布,现抽取最近9天的生产数据,分别是:98,86,113,96,105,93,92,97,91.
H0:工作效率正常
H1:工作效率异常
import numpy as np from scipy import stats # 总体均值为100 mean = 100 # 总体方差为7.6 std = 7.6 # 形成样本 sample = np.array([98,86,113,96,105,93,92,97,91]) # 计算样本均值 sample_mean = sample.mean() # 计算Z值 Z = (sample_mean - mean) / (std / np.sqrt(len(sample))) # 通过Z计算P值 P = 2 * stats.norm.sf(abs(Z)) print(P) 0.2033980539504644
结论:P值远远超过了0.05的阈值,所以我们就能够支持我们的原假设,也就是工作效率正常了,我们没有充足的理由证明原假设不成立,因此这几天的工作效率维持在正常水平,老板没有理由谴责员工和管理层。
部分转载:https://blog.csdn.net/Andy_shenzl/article/details/81453509?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165272415116780366560941%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165272415116780366560941&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-81453509-null-null.142v9pc_search_result_control_group,157v4control&utm_term=%E5%81%87%E8%AE%BE%E6%A3%80%E9%AA%8C&spm=1018.2226.3001.4187
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。