假设检验是统计学中的一种方法,用于判断观察到的数据是否支持我们对某个假设的看法。以下是一个实际的生活中的例子:
假设你是一家药品公司的研究员,你正在研发一种新的药物,希望它能比现有的药物更有效地治疗某种疾病。你的零假设H0可能是:“新药的效果和旧药一样”,对立假设H1可能是:“新药的效果比旧药好”。
为了进行假设检验,你可能会设计一个实验,随机地将一部分病人分配到新药组,另一部分病人分配到旧药组,然后观察他们的治疗效果。你会计算出新药组和旧药组的治疗效果的平均值和标准差,然后使用适当的统计方法(例如t检验)来计算p值。
如果p值小于预设的显著性水平(例如0.05),那么你就可以拒绝零假设,接受对立假设,认为新药的效果比旧药好。如果p值大于预设的显著性水平,那么你就不能拒绝零假设,不能确定新药的效果是否比旧药好。
需要注意的是,假设检验只能基于观察到的数据来判断假设是否成立,不能证明假设一定是真的或假的。此外,假设检验的结果可能受到样本大小、效应大小、测量误差等因素的影响。
使用适当的统计方法(例如t检验)来计算p值,具体如何做?
t检验是一种常用的假设检验方法,用于比较两个样本的均值是否有显著差异。以下是进行t检验的基本步骤:
1. 首先,我们需要计算两个样本的均值和标准差。假设新药组的样本大小为n1,均值为mean1,标准差为sd1;旧药组的样本大小为n2,均值为mean2,标准差为sd2。
2. 然后,我们计算两个样本均值的差异的标准误差(Standard Error,SE)。SE的计算公式为:
SE = sqrt(sd1^2/n1) + (sd2^2/n2)]
3. 接着,我们计算t统计量。t统计量的计算公式为:
t = (mean1 - mean2) / SE
4. 最后,我们根据t统计量和自由度(通常为n1+n2-2)查t分布表,得到对应的p值。或者,我们也可以使用统计软件直接计算p值。
如果p值小于预设的显著性水平(例如0.05),那么我们就可以拒绝零假设,认为新药和旧药的效果有显著差异。
以下是一个Python代码示例,使用scipy库进行t检验:
fromimport stats
# 假设这是我们从实验中得到的新药组和旧药组的数据
new_drug = [10, 11, 9, 12, 10, 11]
old_drug = [8, 9, 7, 9, 8, 8]
# 使用scipy的ttest_ind函数进行t检验
t_statistic, p_value = stats.ttest_ind(new_drug, old_drug)
print("t statistic:", t_statistic)
print("p value:", p_value)
t检验是如何想到的?尤其是其公式
这段代码会输出t统计量和p值。如果p值小于0.05,那么我们就可以认为新药的效果比旧药好。
t检验是由威廉·塞利·戈斯塞特(William Sealy Gosset)在20世纪初提出的,他当时在吉尼斯啤酒公司工作,需要处理小样本的实验数据。由于公司的保密政策,他以"Student"为笔名发表了这个方法,因此也被称为"Student's t-test"。
t检验的基本思想是比较两个样本的均值,看它们的差异是否大到足以认为这两个样本来自不同的总体。这个差异被标准化为t统计量,即差异除以标准误差。标准误差是一个度量,表示由于样本随机性产生的均值的不确定性。
t统计量的公式为:
t = (mean1 - mean2) / SE
其中,mean1和mean2是两个样本的均值,SE是均值差异的标准误差。SE的计算公式为:
SE = sqrt(sd1^2/n1) + (sd2^2/n2)]
其中,sd1和sd2是两个样本的标准差,n1和n2是两个样本的大小。
这个公式的推导基于了一些统计学的基本原理,例如中心极限定理(当样本足够大时,样本均值的分布接近正态分布)和方差的加性(两个独立随机变量的方差等于它们的方差之和)。当样本大小较小或总体分布不是正态分布时,t统计量的分布不再是标准正态分布,而是t分布,需要用特殊的t分布表来查找p值。