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天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
25 0
|
1天前
|
JSON 数据挖掘 数据库
Python复合型数据避坑指南
Python复合型数据避坑指南
10 3
|
2天前
|
机器学习/深度学习 存储 监控
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
10 0
|
2天前
|
机器学习/深度学习 数据采集 算法
Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|数据分享
Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|数据分享
10 1
Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|数据分享
|
2天前
|
JSON 数据可视化 定位技术
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
7 0
|
2天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
【4月更文挑战第25天】R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
|
4天前
|
机器学习/深度学习 算法 Python
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
23 4
|
8天前
|
机器学习/深度学习 数据挖掘 计算机视觉
python数据分析工具SciPy
【4月更文挑战第15天】SciPy是Python的开源库,用于数学、科学和工程计算,基于NumPy扩展了优化、线性代数、积分、插值、特殊函数、信号处理、图像处理和常微分方程求解等功能。它包含优化、线性代数、积分、信号和图像处理等多个模块。通过SciPy,可以方便地执行各种科学计算任务。例如,计算高斯分布的PDF,需要结合NumPy使用。要安装SciPy,可以使用`pip install scipy`命令。这个库极大地丰富了Python在科学计算领域的应用。
12 1
|
9天前
|
数据可视化 数据挖掘 Python
Python中数据分析工具Matplotlib
【4月更文挑战第14天】Matplotlib是Python的数据可视化库,能生成多种图表,如折线图、柱状图等。以下是一个绘制简单折线图的代码示例: ```python import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.figure() plt.plot(x, y) plt.title(&#39;简单折线图&#39;) plt.xlabel(&#39;X轴&#39;) plt.ylabel(&#39;Y轴&#39;) plt.show() ```
13 1
|
9天前
|
数据采集 SQL 数据可视化
Python数据分析工具Pandas
【4月更文挑战第14天】Pandas是Python的数据分析库,提供Series和DataFrame数据结构,用于高效处理标记数据。它支持从多种数据源加载数据,包括CSV、Excel和SQL。功能包括数据清洗(处理缺失值、异常值)、数据操作(切片、过滤、分组)、时间序列分析及与Matplotlib等库集成进行数据可视化。其高性能底层基于NumPy,适合大型数据集处理。通过加载数据、清洗、分析和可视化,Pandas简化了数据分析流程。广泛的学习资源使其成为数据分析初学者的理想选择。
15 1