目录
F-测试过程
假设
F-Test在Python中的应用
语法
参数
Explanation
解释
算法
示例
输出
结论
首页 后端开发 Python教程 如何在Python中执行F检验

如何在Python中执行F检验

Sep 09, 2023 pm 08:45 PM
python中的f检验 执行f检验的python代码 使用python进行f检验

统计学家使用 F 检验来检查两个数据集是否具有相同的方差。 F 检验以罗纳德·费舍尔爵士的名字命名。为了使用 F 检验,我们做出两个假设,一个原假设和一个备择假设。然后我们选择 F 检验认可的这两个假设中的任何一个。

方差是一种数据分布度量,用于说明数据与平均值的偏差。较高的值比较较小的值显示出更大的离散度。

在本文中,您将学习如何在Python编程语言中执行F-Test以及其使用案例。

F-测试过程

执行F-检验的过程如下:

  • 首先,定义原假设和备择假设。

    • 零假设或H0:σ12 = σ22(总体方差相等)

    • 替代假设或 H1:σ12 ≠ σ22(总体方差不相等)

  • 选择用于测试的统计数据。

  • 计算总体的自由度。例如,如果 m 和 n 是总体形状,则自由度分别表示为 (df1) = m–1 和 (df2) = n – 1

  • 现在从 F 表中查找 F 值。

  • 最后,将双尾检验的 alpha 值除以 2,计算出临界值。

因此,我们使用总体的自由度定义 F 值。我们读取第一行中的 df1,而第一列中的 df2。

有各种用于独特自由度的 F 表。我们将步骤 2 中的 F 统计量与步骤 4 中计算的临界值进行比较。如果临界值小于 F 统计量,我们可以拒绝原假设。相反,当临界值在某个显着水平上大于F统计量时,我们可以接受原假设。

如何在Python中执行F检验

假设

在进行基于数据集的F-检验之前,我们做出了一些假设。

  • 数据总体服从正态分布,即符合钟形曲线。

  • 样本之间不相关,即人群中不存在多重共线性。

除了这些假设之外,在进行F检验时,我们还应考虑以下关键要点:

  • 最大方差值应该在分子中以执行右尾检验。

  • 在双尾检验中,将alpha除以2后确定临界值。

  • 检查是否存在方差或标准差。

  • 如果 F 表中没有自由度,则以最大值作为临界值。

F-Test在Python中的应用

语法

scipy stats.f()
登录后复制

参数

x :  quantiles
q :  lower or upper tail probability
dfn, dfd shape parameters
loc :location parameter
scale :  scale parameter (default=1)
size :  random variate shape
moments : [‘mvsk’] letters, specifying which moments to compute
登录后复制

Explanation

的中文翻译为:

解释

在这种方法中,用户必须将f_value和每个数组的可迭代长度传递给scipy.stats.f.cdf(),并将其减去1以执行F检验。

算法

  • 首先,导入NumPy和Scipy.stats库进行操作。

  • 然后创建两个具有两个不同变量名称的随机选择值列表,并将它们转换为 NumPy 数组,并使用 Numpy 计算每个数组的方差。

  • 定义一个函数来计算F分数,其中首先我们将数组的方差除以自由度为1。

  • 然后计算每个数组的可迭代长度,并将 f 值(方差比率)和长度传递到 CDF 函数中,并从 1 中减去该长度以计算 p 值。

  • 最后,函数返回 p_value 和 f_value。

示例

import numpy as np
import scipy.stats

# Create data
group1 = [0.28, 0.2, 0.26, 0.28, 0.5]
group2 = [0.2, 0.23, 0.26, 0.21, 0.23]

# Converting the list to an array
x = np.array(group1)
y = np.array(group2)

# Calculate the variance of each group
print(np.var(group1), np.var(group2))

def f_test(group1, group2):
   f = np.var(group1, ddof=1)/np.var(group2, ddof=1)
   nun = x.size-1
   dun = y.size-1
   p_value = 1-scipy.stats.f.cdf(f, nun, dun)
   return f, p_value

# perform F-test
f_test(x, y)
登录后复制

输出

Variances: 0.010464 0.00042400000000000017
登录后复制

您可以观察到 F 检验值为 4.38712, 相应的 p 值为 0.019127

由于p值小于0.05,我们将放弃零假设。因此,我们可以说这两个总体的方差不相等。

结论

读完本文后,您现在知道如何使用 F 检验来检查两个样本是否属于具有相同方差的总体。您已经了解了 F 测试过程、假设和 Python 实现。让我们用一些要点来总结这篇文章 -

  • F检验告诉你两个总体是否具有相等的方差。

  • 计算自由度并计算临界值。

  • 从F-表中找到F统计量,并将其与在前一步计算的关键值进行比较。

  • 根据临界值和 F 统计量比较接受或拒绝原假设。

以上是如何在Python中执行F检验的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何解决Linux终端中查看Python版本时遇到的权限问题? 如何解决Linux终端中查看Python版本时遇到的权限问题? Apr 01, 2025 pm 05:09 PM

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

如何在使用 Fiddler Everywhere 进行中间人读取时避免被浏览器检测到? 如何在使用 Fiddler Everywhere 进行中间人读取时避免被浏览器检测到? Apr 02, 2025 am 07:15 AM

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

如何在10小时内通过项目和问题驱动的方式教计算机小白编程基础? 如何在10小时内通过项目和问题驱动的方式教计算机小白编程基础? Apr 02, 2025 am 07:18 AM

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

在Python中如何高效地将一个DataFrame的整列复制到另一个结构不同的DataFrame中? 在Python中如何高效地将一个DataFrame的整列复制到另一个结构不同的DataFrame中? Apr 01, 2025 pm 11:15 PM

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

Uvicorn是如何在没有serve_forever()的情况下持续监听HTTP请求的? Uvicorn是如何在没有serve_forever()的情况下持续监听HTTP请求的? Apr 01, 2025 pm 10:51 PM

Uvicorn是如何持续监听HTTP请求的?Uvicorn是一个基于ASGI的轻量级Web服务器,其核心功能之一便是监听HTTP请求并进�...

在Linux终端中使用python --version命令时如何解决权限问题? 在Linux终端中使用python --version命令时如何解决权限问题? Apr 02, 2025 am 06:36 AM

Linux终端中使用python...

如何绕过Investing.com的反爬虫机制获取新闻数据? 如何绕过Investing.com的反爬虫机制获取新闻数据? Apr 02, 2025 am 07:03 AM

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...

See all articles