Python 假设检验

2024 年 8 月 29 日 | 阅读 12 分钟

零假设和备择假设是假设检验的两种不同方法。零假设的前提是某个事件(也称为事实真相)。备择假设是与主要假设相矛盾的推断。想象一位七十多岁的女性,她有一个明显的腹部隆起。医疗专业人员可能会推测这个隆起是子宫肌瘤。

在这种情况下,我们的第一个发现(或零假设)是这位女性患有子宫肌瘤,而我们的备择发现是她患有其他疾病。我们将使用“零假设”(起始假设)和“备择假设”(反驳假设)这两个术语来进行假设检验。下一步是收集我们可以用来验证零假设的数据样本。

应该收集和检查假设相关的数据,以确定是否可以接受 H0。在进行此操作时,可能会发生以下情况:

  • H0 被确认为事实真相,因为它确实是真实的。
  • 由于 H0 被拒绝,H1 被接受,因此事实真相是错误的。

以上两种情况是理想的。我们的零假设可以正确并被接受,或者它可能是错误的并被拒绝。

其余选项如下:

  • 尽管零假设 (H0) 是正确的,但我们拒绝了它。
  • 尽管零假设 (H0) 是错误的,但我们没有拒绝它。

P 值: - P 值或计算出的概率是指,当研究问题的零假设 (H0) 为真时,发现已记录的或更严重结果的可能性;“更严重”的含义取决于检验假设的方式。

当您的 P 值低于选定的显著性阈值时,您将拒绝零假设,并同意您的样本包含有力证据表明备择假设为真。这仍然不表示“显著”或“重要”的变化;您必须在评估结论在现实世界中的适用性时确定这一点。

T 检验

在比较两个样本的平均值,且特定特征可能相关时,会进行 t 检验以查看是否存在显著差异。通常在数据集(例如,抛硬币 100 次并将其结果存储起来)显示正态分布且方差未知时使用。t 检验是一种用于评估假设的方法,它允许您评估适用于总体的假设。

假设

  • 每个样本的数据都呈随机且均匀分布(iid)。
  • 每个样本的数据都呈正态分布。
  • 每个样本的数据都具有相同的方差。

T 检验有两种类型:1. 单样本 t 检验和 2. 双样本 t 检验。

单样本 t 检验:单样本 t 检验用于确定样本均值是否在统计学上与实际或假设的总体均值不同。单样本 t 检验是一种参数检验技术。

示例:您正在确定 10 个人的平均年龄是否为 30 岁或不是。请查看下面的 Python 脚本以进行实现。

代码

输出

[45, 89, 23, 46, 12, 69, 45, 24, 34, 67]
45.4
P-value is:  0.07179988272763554
We can accept the null hypothesis

双样本 t 检验:- 为了确定是否存在任何统计证据表明相关总体均值在统计学上显著不同,独立样本 T 检验(也称为 2 样本 T 检验)会分析两个独立样本的均值。独立样本 T 检验也是一种参数检验。独立 t 检验是此检验的另一个名称。

例如,我们能否检查下面的代码中定义的两个数据集之间是否存在相关性?

代码

输出

Data group 1 mean value: 16.25
Data group 2 mean value: 20.85
Data group 1 std value: 6.171507109288622
Data group 2 std value: 4.452808102759426
The P-value is:  0.012117171124028792
We can reject the null hypothesis

配对样本 t 检验:- 依赖样本 t 检验是配对样本 t 检验的另一个名称。使用单变量检验来测试两个相关变量之间是否存在显著差异。例如,可以在特定药物、状况或时间段前后测量某人的血压。

代码

输出

The P-value of the test is:  0.15266056244408904
We can accept the null hypothesis

Z 检验

在 z 检验中,它也充当假设检验,z 统计量呈正态分布。根据中心极限定理,当样本量增加时,观测值被假定为大致呈正态分布。因此,z 检验对大于 30 的样本最有效。

在进行 z 检验时,必须指定零假设和备择假设、alpha 和 z 分数。然后必须计算检验统计量,然后陈述结果和结论。z 统计量(也称为 z 分数)测量从 z 检验得到的得分比总体均值高或低多少个标准差。

可以作为 z 检验执行的一些测试包括:单样本位置检验、双样本位置检验、配对差值检验和最大似然估计。

单样本 Z 检验:- 假设一个交易者想确定股票的日均收益是否超过 3%。对于 50 个结果的简单随机样本,平均值定义为 2%。假设收益的标准差为 1.5%。因此,在这种情况下,零假设是均值等于 3%。

另一方面,备择假设是平均回报高于或低于 3%。我们可以假设使用双尾 z 检验来选择 0.05% 的 alpha 值。因此,alpha 的显著性水平为 1.96 或 -1.96,0.025% 的观测值均匀分布在两个尾部。如果 z 大于 1.96 或小于 -1.96,我们将拒绝零假设。

z 的答案是通过从所选的测试的日均回报值(在本例中为 1%)中减去样本的观测均值来确定的。然后,将结果乘以样本总数平方根除以标准差。

由于 z 大于 1.96,此人将拒绝零假设,并得出结论,日均回报高于 1%。

代码

输出

2.417334226169332e-186
We can reject the null hypothesis

双样本 Z 检验 - 与 t 检验类似,2 数据组 z 检验会检查两个独立的数据集,以确定两组的样本均值是否相同。

H0:两组数据的平均值为 0

H1:两组数据的平均值不为 0

示例:我们在检查下面的代码中的两个数据集。

代码

输出

0.04813782199434202
We can reject the null hypothesis

ANOVA(F 检验)

t 检验对于比较两组非常有效;但是,在某些情况下,我们希望一次性检查多个数据集。例如,我们需要分析每个班级或组的平均值,以确定选民的年龄是否因种族等分类变量而异。我们可以对每组组合分别进行 t 检验,这会增加出现假阳性结果的可能性。方差分析(ANOVA)是一种统计推断技术,它允许对多个数据组的分布进行并行比较。

与 z 检验和 t 分布不同,F 分布中不能包含负数,因为组内和组间变异性通常是正的,这是因为每个偏差值都经过了平方。

单向 F 检验(方差分析):- 根据两个或多个数据集的平均相似性和 f 值,可以确定它们是否相似。

代码

输出

p-value is:  0.04043792126789144
We can reject the null hypothesis

双向 F 检验:- 当存在两个自变量和两个或多个组时,我们使用双向 F 检验,它是单向 F 检验的推广。我们无法使用 2 向 F 检验找到主要因素。如果需要验证个性化显着性值,则需要事后检验。

代码

输出

                                                  df      sum_sq     mean_sq  \
C(Frequency_fertilizers)                         1.0    1.531250    1.531250   
C(Frequency_Watering)                            1.0  117.945205  117.945205   
C(Frequency_fertilizers):C(Frequency_Watering)   1.0    1.643988    1.643988   
Residual                                        30.0  802.437500   26.747917   

                                                       F    PR(>F)  
C(Frequency_fertilizers)                        0.057247  0.812528  
C(Frequency_Watering)                           4.409510  0.044253  
C(Frequency_fertilizers):C(Frequency_Watering)  0.061462  0.805889  
Residual                                             NaN       NaN  

卡方检验

当两个分类变量来自同一个总体时,使用此检验。其目的是确定这两个因素是否显著相关。

例如,我们可以在一次选举活动调查中,根据人们的首选投票方式和性别(男性或女性)以及所属政党(民主党、共和党或独立人士)来对他们进行分组。为了确定性别是否会影响投票选择,我们可以应用卡方检验来评估独立性。

这里有一个例子

代码

输出

The p-value of our test is 1.4585823594475804e-06
We can reject the null hypothesis

Mann-Whitney U 检验

检验两个独立样本的分布是否相等。

假设

  • 每个样本的数据都呈随机且均匀分布(iid)。
  • 每个样本的数据都可以排序。

解释

  • H0:两组的分布相等。
  • H1:两组的分布不相等。

代码

输出

P-value is:  0.520366020896531
We can accept the null hypothesis

Wilcoxon 符号秩检验

检验两个配对样本的分布是否相等。

假设

  • 每个样本的观测值都呈随机且均匀分布(iid)。
  • 每个样本的观测值都可以排序。
  • 每个样本的观测值都应是配对的。

解释

  • H0:样本的分布相等。
  • H1:样本的分布不相等。

代码

输出

P-value is:  0.625
We can accept the null hypothesis

Kruskal-Wallis H 检验

检验两个或多个独立样本的分布是否相等。

假设

  • 每个样本的观测值都呈随机且均匀分布(iid)。
  • 每个样本的观测值都可以排序。

解释

  • H0:样本的分布相等。
  • H1:样本的分布不相等。

代码

输出

P-value is:  0.49612971494281877
We can accept the null hypothesis

Friedman 检验

检验两个或多个配对样本的分布是否相等。

假设

  • 每个样本的观测值都呈随机且均匀分布(iid)。
  • 每个样本的观测值都可以排序。
  • 每个样本的观测值都应是配对的。

解释

  • H0:样本的分布相等。
  • H1:样本的分布不相等。

代码

输出

P-value is:  0.496585303791408
We can accept the null hypothesis