python假设检验平均,利用python进行17种统计假设检验

请点击阅读原文,在语雀中查看

https://www.yuque.com/alipayqgthu1irbf/sharkfin/enrzni

2_1614760703269.png

翻译自

https://machinelearningmastery.com/statistical-hypothesis-tests-in-python-cheat-sheet/

应用机器学习中需要的17种统计假设检验的快速参考指南,并提供Python中的示例代码。

虽然有数百种统计假设检验可以使用,但只有一小部分子集可能需要在机器学习项目中使用。

在这篇文章中,你将看到一个机器学习项目中最流行的统计假说检验的手册,其中有使用Python API的例子。每一个统计检验的表述方式都是一致的,包括。检验的名称

检验的内容。

检验的关键假设。

测试结果如何解释。

使用测试的Python API。

注意,当涉及到数据的预期分布或样本大小等假设时,如果违反了某个假设,某个测试的结果很可能会优雅地退化,而不是立即变得不可用。

一般来说,数据样本需要具有领域的代表性,并且足够大,以暴露其分布进行分析。

在某些情况下,可以对数据进行修正以满足假设,例如通过去除离群值将近似正态分布修正为正态分布,或者当样本具有不同的方差时,在统计测试中使用对自由度的修正,这是两个例子。

最后,对于一个给定的关注点,如正态性,可能有多种检验方法。我们无法通过统计学得到问题的明确答案;相反,我们得到的是概率性的答案。因此,我们可以通过考虑问题的不同方式,对同一问题得出不同的答案。因此,我们对数据的一些问题可能需要进行多种不同的检验。

目录正态性检验

相关性检验

平稳性检验

参数统计假设检验

非参数统计假设检验

夏皮罗-威尔克检验

D'Agostino's K^2检验

安德森-达林检验

皮尔逊相关系数

斯皮尔曼秩相关

Kendall's Rank Correlation

卡方检验

Augmented Dickey-Fuller

Kwiatkowski-Phillips-Schmidt-Shin案

学生T检验

配对学生T检验

方差分析检验(ANOVA)

重复计量方差分析检验

Mann-Whitney U检验

Wilcoxon Signed-Rank检验

Kruskal-Wallis H检验

弗里德曼检验

本教程分为5个部分,它们是:。

1. 正态性检验 Normality Tests

本节列出了可以用来检查数据是否具有高斯分布的统计测试。

夏皮罗-威尔克测试 Shapiro-Wilk Test假设

解释H0:样本具有高斯分布。

H1:样本不具有高斯分布。

每个样本中的观测值都是独立和相同分布的(iid)。

Python代码# Example of the Shapiro-Wilk Normality Test

from scipy.stats import shapiro

data = [0.873, 2.817, 0.121, -0.945, -0.055, -1.436, 0.360, -1.478, -1.637, -1.869]

stat, p = shapiro(data)

print('stat=%.3f, p=%.3f' % (stat, p))

if p > 0.05:

print('Probably Gaussian')

else:

print('Probably not Gaussian')

更多资料A Gentle Introduction to Normality Tests in Python

scipy.stats.shapiro

Shapiro-Wilk test on Wikipedia

D'Agostino's K^2检验 D’Agostino’s K^2 Test测试数据样本是否具有高斯分布。

假设

解释H0:样本具有高斯分布。

H1:样本不具有高斯分布。

每个样本中的观测值都是独立和相同分布的(iid)。

Python Code# Example of the D'Agostino's K^2 Normality Test

from scipy.stats import normaltest

data = [0.873, 2.817, 0.121, -0.945, -0.055, -1.436, 0.360, -1.478, -1.637, -1.869]

stat, p = normaltest(data)

print('stat=%.3f, p=%.3f' % (stat, p))

if p > 0.05:

print('Probably Gaussian')

else:

print('Probably not Gaussian')

More InformationA Gentle Introduction to Normality Tests in Python

scipy.stats.normaltest

D’Agostino’s K-squared test on Wikipedia

安德森-达林检验 Anderson-Darling Test测试数据样本是否具有高斯分布。

假设

解释H0:样本具有高斯分布。

H1:样本不具有高斯分布。

每个样本中的观测值都是独立和相同分布的(iid)。

Python Code# Example of the Anderson-Darling Normality Test

from scipy.stats import anderson

data = [0.873, 2.817, 0.121, -0.945, -0.055, -1.436, 0.360, -1.478, -1.637, -1.869]

result = anderson(data)

print('stat=%.3f' % (result.statistic))

for i in range(len(result.critical_values)):

sl, cv = result.significance_level[i], result.critical_values[i]

if result.statistic < cv:

print('Probably Gaussian at the %.1f%% level' % (sl))

else:

print('Probably not Gaussian at the %.1f%% level' % (sl))

More InformationA Gentle Introduction to Normality Tests in Python

scipy.stats.anderson

Anderson-Darling test on Wikipedia

2. 相关性检验 Correlation Tests

This section lists statistical tests that you can use to check if two samples are related.

皮尔逊相关系数 Pearson’s Correlation Coefficient检验两个样本是否有线性关系。

假设

解释H0:两个样本是独立的。

H1:样本之间有 dependency。

每个样本中的观测值都是独立和相同分布的(iid)。

每个样本中的观测值都是正态分布。

每个样本中的观测值具有相同的方差。

Python Code# Example of the Pearson's Correlation test

from scipy.stats import pearsonr

data1 = [0.873, 2.817, 0.121, -0.945, -0.055, -1.436, 0.360, -1.478, -1.637, -1.869]

data2 = [0.353, 3.517, 0.125, -7.545, -0.555, -1.536, 3.350, -1.578, -3.537, -1.579]

stat, p = pearsonr(data1, data2)

print('stat=%.3f, p=%.3f' % (stat, p))

if p > 0.05:

print('Probably independent')

else:

print('Probably dependent')

More InformationHow to Calculate Correlation Between Variables in Python

scipy.stats.pearsonr

Pearson’s correlation coefficient on Wikipedia

斯皮尔曼秩相关 Spearman’s Rank Correlation检验两个样本是否有单调关系(monotonic relationship)。

假设

解释H0:两个样本是独立的。

H1:样本之间有dependency。

每个样本中的观测值都是独立的、同分布的(iid)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值