python数据分析 - T检验与F检验:二组数据那个更好?(一)

简介: python数据分析 - T检验与F检验:二组数据那个更好?(一)

1.导语


要在某个指标上对比两个模型的好坏,我们可以直接进行比较,同时为了使比较结果更具说服力,我们可以使用统计检验的方法


使用t检验比较这两组k个样本的均值、使用F检验比较这两组k个样本的方差

即将两个模型分别跑k次,使用t检验比较这两组k个样本的均值、使用F检验比较这两组k个样本的方差,均值越大、方差越小说明在当前指标上该模型更好更稳定


2.假设检验


假设检验的基础是抽样分布,因为利用这些抽样分布的分布特性和统计量,才能推导出估计和假设检验的概率公式


总体均值的估计和假设检验用到均值的抽样分布:


  • 如果正态分布,均值的估计和假设检验用到的抽样分布是标准正态分布(Z统计量)
  • 如果总体方差未知,均值的估计和假设检验用到的抽样分布是t分布(T统计量)
  • 总体方差的估计和假设检验用到卡方分布(卡方统计量)


2.1 原假设与备择假设


原假设和备择假设在不同教材里面有不同的叫法,但是意义都是一样的,它们是假设检验理论的基础,具体介绍请回顾:假设检验原理——原假设和备择假设的建立。

在参数检验中,首先要对某一总体参数建立一个假设,并在随后的抽样推断中以这一假设为前提进行检验。这一假设被称为原假设,用H0表示。

如果检验的结果不能拒绝原假设,就接收这一假设。如果检验的结果拒绝了原假设,就必须接收另一假设——备择假设,用H1表示。


由此可见,原假设与备择假设是一种对立关系。在建立参数假设以后,检验的结果或者是原假设成立,或者是备择假设成立,两者必选其一。


2.1.1 举例


灯泡厂商在给用户提供一批灯泡时声称,
该批灯泡的平均使用寿命1600小时。
为了验证厂商的说法,需要用样本数据进行检验。因此用户首先要作出如下假设

H0=1600


随后用户要选取样本并计算样本的数据。
如果样本数据很接近1600小时,则可接收原假设;
如果样本数据离1600小时很远(远远高于或低于1600小时),就会拒绝原假设,同时就要接收备择假设


H1=1600


一般在假设检验时,我们会将两个假设并列写在检验之前,即:


以上原假设为参数等于某一数值,备择假设为不等于某一数值。类似这种假设的检验,称之为双侧假设检验。有时还经常出现另外一种检验的形式,称之为单侧假设检验


例如,在灯泡厂商为用户提供一批灯泡时声称,该批灯泡的平均寿命最低是1600小时。
在这种情况下,用户需要通过样本数据来检验>1600是否成立。
这时是否大于1600小时是用户研究的问题。
一般原则是将此设为备择假设,记为


H0=1600H1>1600


如果检验的结果表明不能拒绝H0,则不能说明灯泡的平均寿命高于1600小时,即厂商的说法不可信。
如果样本检验的结果表明可以拒绝H0,则用户就会接收备择假设>1600的结论,即可以判断厂商的说法是可信的。
类似上述这种原假设为参数等于某一数值,备择假设为大于某一数值的假设,称为右侧假设检验。
与右侧假设检验相反的是左侧假设检验,它的备择建设设为小于某一数值。
例如,有人对用户说:某种灯泡的平均寿命低于1600小时,用户要对该人的说法进行检验。
此时用户研究的是是否会小于1600小时,因此,他要将<1600设为备择假设,即有


H0=1600H1<1600


如果样本数据能够拒绝H0,则会接受H1:<1600,即该人的说法可信。否则,接受H0,则该人的说法不可信。这个检验就属于左侧假设检验。


2.2 接受域与拒绝域


假设设定以后,需要设定一个判别标准,用以判断样本数据为多少时才可以接受原假设或者拒绝原假设。这个判别标准就是给定一个小概率,根据“小概率事件原理”作出判断(小概率事件会发生),这里小概率用α表示,称为显著性水平(Level Of Significance)。


例如,假设H 0 : = 1600 ; H 1 : ≠ 1600 H0:=1600;H1:≠1600H0:=1600;H1:

=1600,在假设以后给定一个小概率α=0.05,这样就可以在假设成立的分布中,确定两个区域:一个是接近=1600的区域,称之为接受域;另一个是远离=1600的区域,称之为拒绝域。

29dde53ec231461abbc0a8df4a78572e.png


由上图可以看出,接受域的概率区间为1-α,拒绝域的区间概率为α,两侧各占α/2

对假设进行判别时,无论是单侧检验还是双侧检验,都适合以下的判别原则:

  1. 样本数值落在接受域内,则接受原假设,同时拒绝备择假设
  2. 样本数值落在拒绝域内,则拒绝原假设,同时接受备择假设


2.3 两类错误


理想的假设检验是当H0是正确的假设时,能够判别为接受。当H0是不正确的假设时,能够判别为拒绝。但是,在由样本统计量数据判断总体参数时,由于样本数据具有随机性,因此在判别时,就可能有四种结果出现:


  1. H0为真但判别为拒绝,此类错误为“弃真”错误,即将真的当成假的,也称为第一类错误。
  2. H0为真并被接受,这是正确的判别。
  3. H0为假并被拒绝,这是正确的判别。
  4. H0为假并被接受,此类错误称为“取伪”错误,即将假的当成真的,也称为第二类错误。


1687258952380.png

由上表可以看到,当检验结果拒绝原假设时,判断可能是正确的,也有可能是“弃真”错误。虽然不能判断犯“弃真”错误的概率有多大,但是由前述知道,拒绝域的概率为α。因此,在假设检验中,犯“弃真”错误的概率的最大值就是给定的显著性水平α。


当检验结果接受原假设H0时,判别可能是正确的,也有可能犯“取伪”错误。通常用β表示犯“取伪”错误的概率,β的概率是由真正的总体参数的分布所决定的。在假设检验中,由于真实总体参数值不可知,因此,β的概率值也不可知。


所以在检验中,如果结论是拒绝H0,接受H1,那么犯错误的概率很小(α)。但是如果结论是接受H0,拒绝H1,则犯错误的概率(β)是不可知。从这一点来看,所谓接受H0,实质是不能拒绝H0,即在没有足够证据证明情况下只能接受。


虽然β在检验时是未知的,但对于一个固定的总体来说,当给定α以后,β的数值也就随之确定,如下图:


15d16ecc93a7488c887097ccdad65352.png


当真实总体均值为μ1时,却假设总体均值为μ0,(μ1>μ0)。如果样本数据落入α区域,则结论是正确的,即拒绝μ0。如果样本数据落入接受域,就会接受原假设μ0,这就犯了“取伪”错误。


在进行假设检验时,一般按以下四个步骤顺序进行


根据问题建立原假设和备择假设;

选择适当的样本统计量,并确定以H0为真时的抽样分布;

选定显著性水平α,确定临界值;

进行判别,得出结论


假设检验根据样本和使用情景的不同分为


  1. 单样本的假设检验
  2. 两样本的假设检验
  3. 多样本的假设检验


3.单样本的假设检验


3.1 选择零假设和对立假设


一个零假设和一个对立假设组成一对统计假设(原假设和对立假设的概念描述请回顾:假设检验原理——原假设和备择假设的建立),这样成对的统计假设可以分为两类三种:单侧假设检验和双侧假设检验(两类);无方向对立假设、左向对立假设和右向对立假设(三种)

单侧假设检验:只有一个方向上的变化是重要的(某种新型减肥药实际减肥多少)或研究的假设预告了一个具体的变化方向(某种新的治疗肿瘤会减小)时用单侧假设合适。有的需要检验是否变大,有的检验是否变小。


双侧假设检验:对于探索性研究和质量控制,因为任何一个方向的变化都要检查,单检验就不合适了,应该用双侧假设检验,例如控制产品的重量和产品内某种物质的含量。


3.2 选择显著水平α


回忆估计理论,总体均值的区间估计概率公式如下:

其中,1-α称为置信度或置信系数,(1-α)100%称为置信水平。以双尾为例:

45091b56e357469a8b0fd5af7ebf9f6a.png


在假设检验理论中,α是假设检验的显著水平,这是因为它用以评估样本结果的显著性,如果点估计值与零假设中的假设参数有很大差别,以至于P≤α,则拒绝零假设,该结果称为统计显著;如果P>α,则接受零假设,该结果称为不是统计显著的。如上图所示,临界域即为统计显著域,接受域为非统计显著域。


显著水平α在试验前设定为0.05或0.01。例如当α=0.05时,分析人员会在报告中说明“统计假设检验是在0.05显著水平(或5%显著水平)下进行的”,如果P≤0.05,则拒绝零假设,该结果称为统计显著;如果P>0.05,则接受零假设,该结果称为不是统计显著的。


从上图中可以看出,如果P≤0.05,阴影面积比P≤0.01的大,所以P≤0.05可说成是“显著的结果”,P≤0.01可说成是“高度显著的结果”。P≤0.01比P≤0.05发生第一类错误的概率α小。


3.3 决定检验统计量,由此统计量及α来确定检验的决策规则,并用P值或临界值描述


3.4 从总体取一随机样本,并从样本计算检验统计量的值,若可能,计算P值


根据假设检验的总体参数和已知的信息,选择假设检验的统计量。


对于总体均值的假设检验

可用下表选择:


对于总体方差的假设检验


可以用卡方分布。


3.5 举例


如果某电池生产商最近设立了一个改进计算器电池的项目,要求改进的电池比现有的电池使用时间长,已知现在计算器中,电池寿命的量度是正态分布的,均值为100.3min,标准差为


6.25min。现在开发了一种改进电池,在理论上可能持续更长时间,由初步检验可以假定期寿命量度也是正态分布,标准差为6.25min。选取了一个n=20的改进电池的样本,得到均值为


105.6min,在显著水平α=0.05下,作H0: μ=100.3min的单侧检验,并用P值(z值)叙述决策。


因为电池寿命增加是重要的,理论上有理由是增加的 ,设立右侧统计假设:


1687259093349.png


α=0.05时的Z统计量,用P值(或者Z值,表示右尾决策规则)

1687259123100.png

计算P值(临界Z值)

1687259133603.png


因为Z=3.363>1.645,所以拒绝零假设,接受对立假设,同样的,也可以比较P值,因为P=0.0004<=0.05,所以拒绝零假设,接受对立假设。因此可以告知公司在显著水平0.05下可以认为新电池寿命长。

相关文章
|
4天前
|
数据采集 数据可视化 数据挖掘
Pandas数据应用:天气数据分析
本文介绍如何使用 Pandas 进行天气数据分析。Pandas 是一个强大的 Python 数据处理库,适合处理表格型数据。文章涵盖加载天气数据、处理缺失值、转换数据类型、时间序列分析(如滚动平均和重采样)等内容,并解决常见报错如 SettingWithCopyWarning、KeyError 和 TypeError。通过这些方法,帮助用户更好地进行气候趋势预测和决策。
95 71
|
1月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
3天前
|
存储 数据采集 数据可视化
Pandas数据应用:电子商务数据分析
本文介绍如何使用 Pandas 进行电子商务数据分析,涵盖数据加载、清洗、预处理、分析与可视化。通过 `read_csv` 等函数加载数据,利用 `info()` 和 `describe()` 探索数据结构和统计信息。针对常见问题如缺失值、重复记录、异常值等,提供解决方案,如 `dropna()`、`drop_duplicates()` 和正则表达式处理。结合 Matplotlib 等库实现数据可视化,探讨内存不足和性能瓶颈的应对方法,并总结常见报错及解决策略,帮助提升电商企业的数据分析能力。
98 73
|
5天前
|
数据采集 数据可视化 索引
Pandas数据应用:股票数据分析
本文介绍了如何使用Pandas库进行股票数据分析。首先,通过pip安装并导入Pandas库。接着,从本地CSV文件读取股票数据,并解决常见的解析错误。然后,利用head()、info()等函数查看数据基本信息,进行数据清洗,处理缺失值和重复数据。再者,结合Matplotlib和Seaborn进行数据可视化,绘制收盘价折线图。最后,进行时间序列分析,设置日期索引、重采样和计算移动平均线。通过这些步骤,帮助读者掌握Pandas在股票数据分析中的应用。
33 5
|
8天前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
2月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
98 4
数据分析的 10 个最佳 Python 库
|
17天前
|
数据采集 监控 数据挖掘
常用电商商品数据API接口(item get)概述,数据分析以及上货
电商商品数据API接口(item get)是电商平台上用于提供商品详细信息的接口。这些接口允许开发者或系统以编程方式获取商品的详细信息,包括但不限于商品的标题、价格、库存、图片、销量、规格参数、用户评价等。这些信息对于电商业务来说至关重要,是商品数据分析、价格监控、上货策略制定等工作的基础。
|
29天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
2月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!