作者:Jose Garcia

作者给出了假设检验的解读与Python实现的详细的假设检验中的主要操作。

也许所有机器学习的初学者,或者中级水平的学生,或者统计专业的学生,都听说过这个术语,假设检验。

我将简要介绍一下这个当我学习时给我带来了麻烦的主题。我把所有这些概念放在一起,并使用python进行示例。

在我寻求更广泛的事情之前要考虑一些问题 ——

什么是假设检验?我们为什么用它?什么是假设的基本条件?什么是假设检验的重要参数?

让我们一个个地开始吧:

1、 什么是假设检验?

假设检验是一种统计方法,用于使用实验数据进行统计决策。假设检验基本上是我们对人口参数做出的假设。

例如:你说班里的学生平均年龄是40岁,或者一个男生要比女生高。

我们假设所有这些例子都需要一些统计方法来证明这些。无论我们假设什么是真的,我们都需要一些数学结论。

2、我们为什么要用它?

假设检验是统计学中必不可少的过程。假设检验评估关于总体的两个相互排斥的陈述,以确定样本数据最佳支持哪个陈述。当我们说一个发现具有统计学意义时,这要归功于一个假设检验。

3、什么是假设的基本条件?


python如何处理adf格式的DEM数据 python做adf检验_假设检验


不同均值和方差下的正态分布

假设的基础是规范化和标准规范化

(链接https://en.wikipedia.org/wiki/Normalization_(statistics);https://stats.stackexchange.com/questions/10289/whats——the——difference——between——normalization——and——standardization)。我们所有的假设都围绕这两个术语的基础。让我们看看这些。


python如何处理adf格式的DEM数据 python做adf检验_假设检验_02


标准化的正态曲线图像和数据分布及每个部分的百分比

你一定想知道这两个图像之间有什么区别,有人可能会说我找不到,而其他人看到的图像会比较平坦,而不是陡峭的。好吧伙计这不是我想要表达的,首先你可以看到有不同的正态曲线所有那些正态曲线可以有不同的均值和方差,如第二张图像,如果你注意到图形是合理分布的,总是均值= 0和方差= 1。当我们使用标准化的正态数据时,z—score的概念就出现了。

正态分布

如果变量的分布具有正态曲线的形状——一个特殊的钟形曲线,则该变量被称为正态分布或具有正态分布。正态分布图称为正态曲线,它具有以下所有属性:1.均值,中位数和众数是相等。


python如何处理adf格式的DEM数据 python做adf检验_adf检验代码 python_03


正态分布方程


python如何处理adf格式的DEM数据 python做adf检验_数据集_04


标准化正态分布

标准正态分布是平均值为0,标准差为1的正态分布

4、哪些是假设检验的重要参数?

  • 零假设:

在推论统计中,零假设是一种普遍的说法或默认的观点,即两个测量现象之间没有关系,或者分组间没有关联

换句话说,它是一个基本假设,或基于领域或问题知识。

示例:公司的生产力=50个单位/天等

  • 备择假设:

另一种假设是假设检验中使用的假设与零假设相反。通常认为观察是真实效果的结果(叠加了一定量的偶然的变化)


python如何处理adf格式的DEM数据 python做adf检验_正态分布_05


零假设与备择假设

示例:公司生产≠50单位/每天等。

重要程度:指我们接受或拒绝无效假设的重要程度。接受或拒绝假设不可能100%准确,因此我们选择通常为5%的重要程度。

这通常用alpha(数学符号)表示,通常为0.05或5%,这意味着您的输出应该有95%的信心在每个样本中给出类似的结果。

I型错误:当我们拒绝零假设时,尽管该假设是正确的。类型I错误由alpha表示。在假设检验中,显示关键区域的正常曲线称为α区域

II型错误:当我们接受零假设但它是错误的。II型错误用beta表示。在假设检验中,显示接受区域的正常曲线称为β区域。

单尾测试:统计假设的测试,其中拒绝区域仅在采样分布的一侧,称为单尾测试

例如:一所大学有≥4000名学生或数据科学≤80%采用的组织。

双尾测试:双尾测试是一种统计测试,其中分布的关键区域是双侧的,并测试样本是否大于或小于某个值范围。如果被测试的样本属于任一关键区域,则接受替代假设而不是零假设。

例如:一所大学!= 4000名学生或数据科学!= 80%的组织采用


python如何处理adf格式的DEM数据 python做adf检验_数据集_06


单尾和双尾图像

P值:P值或计算概率是当研究问题的零假设(H 0)为真时,找到观察到的或更极端的结果的概率 —— “极端”程度的定义取决于假设如何被检测。

如果您的P值小于选定的显着性水平,那么就拒绝原假设,即接受样本提供合理的证据来支持备选假设。它并不意味着“有意义”或“重要”的差异;这是在考虑结果的真实相关性时决定的。

例如:你有一枚硬币而你不知道这是否公平或棘手所以让我们决定零和备择假设

H0:硬币是一个公平的硬币。

H1:硬币是一个狡猾的硬币。并且alpha = 5%或0.05

现在让我们掷硬币并计算p值(概率值)。

第一次投掷硬币,结果是尾部P值= 50%(头部和尾部的概率相等)

第二次抛硬币,结果是尾巴,现在p值= 50/2 = 25%

同样地,我们连续6次投掷并得到P值= 1.5%的结果,但是我们将显着性水平设置为95%表示我们允许的5%错误率,在这里我们看到我们超出了那个水平,即我们的零假设不成立,所以我们需要拒绝并提出这个硬币实际上是一个狡猾的硬币。

自由度: 现在想象你对期望值没有兴趣,你对数据分析感兴趣。您有一个包含10个值的数据集。如果你没有估算任何东西,每个值都可以取任何数字,对吧?每个值都可以完全自由变化。但是假设您想使用单样本t检验来测试10个值的样本的总体平均值。你现在有一个约束——平均值的估计。究竟是什么约束?通过定义均值,必须保持以下关系:数据中所有值的总和必须等于n x mean,其中n是数据集中的值的数量。

因此,如果数据集有10个值,则10个值的总和必须等于平均值x 10.如果10个值的平均值为3.5(您可以选择任何数字),则此约束要求10个值的总和必须等于10 x 3.5 = 35。

使用该约束,数据集中的第一个值可以自由变化。无论它是什么价值,所有10个数字的总和仍然可以具有35的值。第二个值也可以自由变化,因为无论你选择什么值,它仍然允许所有值的总和的可能性是35岁。

现在让我们看一些广泛使用的假设检验类型: ——

  1. T校验(学生T校验)
  2. Z校验
  3. ANOVA校验
  4. 卡方检验

T—检验:t检验是一种推论统计量,用于确定在某些特征中可能与两组的均值之间是否存在显着差异。它主要用于数据集,如通过翻转硬币100次记录为结果的数据集,将遵循正态分布并且可能具有未知的方差(链接:https://www.investopedia.com/terms/v/variance.asp)。T检验用作假设检验工具(链接:https://www.investopedia.com/terms/h/hypothesistesting.asp),其允许测试适用于群体的假设。

T检验有两种类型:

  1. 单样本t检验
  2. 双样本t检验

单样本t检验:单样本t检验确定样本均值是否与已知或假设的总体均值具有统计学差异。单样本t检验是参数检验。

例如:你有10个年龄,你正在检查平均年龄是否为30岁。 (使用python查看下面的代码)

from scipy.stats import ttest_1sampimport numpy as npages = np.genfromtxt(“ages.csv”)print(ages)ages_mean = np.mean(ages)print(ages_mean)tset, pval = ttest_1samp(ages, 30)print(“p-values”,pval)if pval < 0.05: # alpha value is 0.05 or 5% print(" we are rejecting null hypothesis")else:  print("we are accepting null hypothesis”)

上面代码的结果如下:


python如何处理adf格式的DEM数据 python做adf检验_假设检验_07


单样本t测试结果

双样本t检验:独立样本t检验或双样本t检验比较两个独立组的平均值,以确定是否有统计证据表明相关的人口均值存在显着差异。独立样本t检验是参数检验。该测试也称为:独立t检验。

示例:在week1和week2之间是否存在任何关联(代码在下面的python中给出)

from scipy.stats import ttest_indimport numpy as npweek1 = np.genfromtxt("week1.csv