Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

SciPy 统计显著性检验


什么是统计显著性检验?

在统计学中,统计显著性意味着产生的结果是有原因的,它不是随机产生的,也不是偶然产生的。

SciPy 为我们提供了一个名为 scipy.stats 的模块,其中包含用于执行统计显著性检验的函数。

以下是一些在执行此类检验时很重要的技术和关键字


统计中的假设

假设是对总体中参数的假设。


零假设

它假设观察结果在统计上不显著。


备择假设

它假设观察结果是由于某些原因造成的。

它是零假设的替代方案。

示例

对于学生的评估,我们将采用

“学生比平均水平差” - 作为零假设,以及

“学生比平均水平好” - 作为备择假设。


单尾检验

当我们的假设只检验值的单边时,它被称为“单尾检验”。

示例

对于零假设

“均值等于 k”,我们可以有备择假设

“均值小于 k”,或者

“均值大于 k”


双尾检验

当我们的假设检验值的双边时。

示例

对于零假设

“均值等于 k”,我们可以有备择假设

“均值不等于 k”

在这种情况下,均值小于 k 或大于 k,并且需要检查两边。


Alpha 值

Alpha 值是显著性水平。

示例

数据必须有多接近极端才能拒绝零假设。

它通常取为 0.01、0.05 或 0.1。


P 值

P 值告诉我们数据实际上有多接近极端。

P 值和 Alpha 值进行比较以确定统计显著性。

如果 P 值 <= Alpha,我们拒绝零假设,并说数据在统计上是显著的。否则我们接受零假设。



T 检验

T 检验用于确定两个变量的均值之间是否存在显著差异,并让我们知道它们是否属于相同的分布。

它是一个双尾检验。

函数 ttest_ind() 接受两个大小相同的样本,并生成一个包含 t 统计量和 P 值的元组。

示例

查找给定值 v1 和 v2 是否来自同一分布

import numpy as np
from scipy.stats import ttest_ind

v1 = np.random.normal(size=100)
v2 = np.random.normal(size=100)

res = ttest_ind(v1, v2)

print(res)

结果

  Ttest_indResult(statistic=0.40833510339674095, pvalue=0.68346891833752133)

亲自尝试 »

如果你只想返回 P 值,请使用 pvalue 属性

示例

...
res = ttest_ind(v1, v2).pvalue

print(res)

结果

  0.68346891833752133

亲自尝试 »

KS 检验

KS 检验用于检查给定值是否遵循某种分布。

该函数将要检验的值和 CDF 作为两个参数。

**CDF** 可以是字符串,也可以是返回概率的可调用函数。

它可以用作单尾检验或双尾检验。

默认情况下它是双尾的。我们可以将参数 alternative 作为“双边”、“小于”或“大于”的字符串传递。

示例

查找给定值是否遵循正态分布

import numpy as np
from scipy.stats import kstest

v = np.random.normal(size=100)

res = kstest(v, 'norm')

print(res)

结果

  KstestResult(statistic=0.047798701221956841, pvalue=0.97630967161777515)

亲自尝试 »

数据的统计描述

为了查看数组中值的摘要,我们可以使用 describe() 函数。

它返回以下描述

  1. 观察次数 (nobs)
  2. 最小值和最大值 = minmax
  3. 均值
  4. 方差
  5. 偏度
  6. 峰度

示例

显示数组中值的统计描述

import numpy as np
from scipy.stats import describe

v = np.random.normal(size=100)
res = describe(v)

print(res)

结果

  DescribeResult(
    nobs=100,
    minmax=(-2.0991855456740121, 2.1304142707414964),
    mean=0.11503747689121079,
    variance=0.99418092655064605,
    skewness=0.013953400984243667,
    kurtosis=-0.671060517912661
  )

亲自尝试 »

正态性检验(偏度和峰度)

正态性检验基于偏度和峰度。

normaltest() 函数返回零假设的 P 值

“x 来自正态分布”.


偏度

数据对称性的度量。

对于正态分布,它为 0。

如果它为负,则意味着数据向左偏斜。

如果它为正,则意味着数据向右偏斜。


峰度

度量数据相对于正态分布是重尾还是轻尾。

正峰度意味着重尾。

负峰度意味着轻尾。


示例

查找数组中值的偏度和峰度

import numpy as np
from scipy.stats import skew, kurtosis

v = np.random.normal(size=100)

print(skew(v))
print(kurtosis(v))

结果

  0.11168446328610283
  -0.1879320563260931

亲自尝试 »

示例

查找数据是否来自正态分布

import numpy as np
from scipy.stats import normaltest

v = np.random.normal(size=100)

print(normaltest(v))

结果

  NormaltestResult(statistic=4.4783745697002848, pvalue=0.10654505998635538)

亲自尝试 »


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.