APP下载

基于python的Z检验法和T检验法研究

2022-08-31欧,何

大众标准化 2022年15期
关键词:假设检验检验法面向对象

袁 欧,何 山

(成都锦城学院,四川 成都 611731)

1 选题的背景及意义

1.1 研究的背景

统计学中假设检验分析成为了数据分析、概率统计、预测结果等不可或缺的方法,它在社会科学分析,百姓的健康统计,空气质量预测运用中越来越广泛,发挥着重要作用。最早的数据分析是通过人们在纸上进行演算,之后采用计算器,电脑等进行计算,这些方法能解决计算步骤,但无法解决公式记错、逻辑顺序等问题。那么,如果我们采用python语言进行假设检验的程序编写恰巧能解决计算错误,公式用错,逻辑思维混乱等问题。Python语言是解释性、编译性、互动性和面向对象的脚本语言,它不仅能调用第三方库对数据进行分析,完成假设检验,也能利用标准库结合Z检验与T检验分析方法的概念与思路进行程序编写来完成假设检验。近年来,随着科学技术的发展,空气质量逐年下降。由此,文章将对成都市2021年1月的空气质量指数进行估计,采用面向对象的方法完成假设检验,并且与调用python语言第三方库的分析方法进行比较。

1.2 研究的意义

通过统计学假设检验对成都市某月整体空气指数进行估计,有利于了解当月整体空气指数状况,也有利于对下个月空气质量预测分析提供数据支持。此外,相关部门能及时采取措施,控制和减少工厂对污染物的排放量,防止污染物在大气中传播,避免污染物对空气质量的影响。而采用python语言的标准库以面向对象的方法对假设检验进行分析有利于减少复杂的计算,不仅使逻辑顺序条理清晰,也能使Z检验与T检验的计算公式运用恰当。采用面向对象的方法进行分析更能体现假设检验方法的逻辑与思路,也能比较出此方法与调用第三方库方法的异同,并且利用python语言更能熟练掌握与运用Z检验法与T检验法。

2 基于Z检验法与T检验法的分析流程

2.1 相关概念界定

2.1.1 概念

Z检验(U检验):由于在实际问题中绝大多数是随机变量,若总体为正态分布,则样本统计量服从正态分布;若总体为非正态分布,则样本统计量近似服从正太分布;由于计算U的分位数或查相应的分布表比较方便。通过比较由样本观测值得到的Z的观测值来判断数学期望的显著性,把这种利用服从正态分布统计量的检验方法叫做Z检验法。正如,总体标准差已知或者总体标准差未知且样本容量n>30,这两种情况分别为服从正态分布或者近似服从正态分布,都将采用Z检验法。其公式为:

T检验:主要用于样本量较小(0<n<30)且总体标准差未知的分布,是用t分布理论来推论差异发生的概率。样本统计量服从t分布,从而比较两个平均数的差异是否显著。其公式为:

注意:z,t为符号代表,没有特殊意义。

Python语言中的面向对象:面向对象中最重要的两种是类和实例。类是具有相同属性和行为的一类的实体,它是封装对象的属性和行为的载体。而对象是世间万物中人们随处可见的、存在的。此方法需注意:定义类时采用的保留字是Class,其次应定义(def)一个构造函数__inite__,初始化时self不能省略,其次在定义实例属性,实例属性必须在构造函数中初始化。

2.1.2 流程

Z检验与T检验法的假设检验步骤分为4步,分别是:(1)假设原假设(H0)与备择假设(H1);(2)计算枢轴量;(3)找临界值并观察数据;(4)判断是否拒绝原假设并得出结论。Z检验法与T检验法的区别在于:当总体标准差已知或者当总体标准差未知且是大样本(n>30)时采用Z检验;当总体标准差未知且是小样本(0<n<30)时采用T检验法;文章将根据此步骤着重研究采用python语言中的类的方法分析成都市2021年1月的空气质量指数。

2.2 基于python语言的假设检验分析

2.2.1 假设检验中公式的函数

文章研究的是基于python 语言的假设检验分析,首先定义一个项目类(Class index ),其次定义构造函数(__inite__),写出实例属性(self.data=data,self.u=u,self.σ=σ)。根 据Z检 验法与T检验法的不同将定义5个函数,分别是计算平均值(average);计算方差(val);z检验总体标准差已知(z_fun);Z检验总体标准差未知且为大样本(n>30)(z_unknow_fun);T检验总体标准差未知且为小样本(0<n<30)(t_fun)。运用python语言中类与实例方法编写每一步算式。其核心代码如下:

图1 计算平均值与方差

图2 Z检验与T检验

2.2.2 调用函数进行验证分析

这段研究是建立在假设检验中Z检验与T检验的的函数之上的,采用from Indext import indext与项目类紧密相连,是对项目类(Class indext)的测试。其次,是对Z检验与T检验逻辑思想的体现,Z检验和T检验法的分析步骤将分为5步:(1)用户假设原假设(H0)和备择假设(H1);(2)输入数据并确认数据是否正确;(3)用户输入总体均值,判断总体标准差是否已知;(4)判断Z检验还是T检验并找出临界值;(5)最后得出结论。测试的核心代码如下所示:

图3 平均值与方差

图4 计算枢轴量

图5 分析并得出结论

3 实验及结论

3.1 实验

随着时代的进步,人们对健康状况的关注程度不断提高,空气成为了影响身体健康的因素之一。空气质量指数(AQI)是定量描述空气质量状况的无量纲指数。根据空气质量指数,它能判断当天环境的污染程度。即假设空气质量没有被污染的标准空气质量指数为100,成都市2021年1月每天的空气质量指数(AQI)为:

已知成都市2021年1月每天的空气质量指数服从正态分布,在显著水平∂为0.05的情况下,检验成都市2021年1月空气质量整体指数是否处于污染阶段。

3.2 实验分析

由上述实验所示:本实验将检验成都市2021年1月空气质量整体指数是否处于污染阶段,则原假设H0为成都市2021年1月空气质量整体指数处于污染阶段,备泽假设H1为成都市2021年1月空气质量整体指数不处于污染阶段。此外,1月空气指数的总体均值为100,总体标准差未知,且样本n为31,由于31>30,故为大样本,近似服从正态分布,故此实验将是显著水平∂=0.05的Z检验。

3.3 结论

通过面向对象方法分析成都市2021年1月空气质量指数得出以下相应结果:

表1 空气质量指数分析表

由此可得出:z1<a,H0成立,不拒绝原假设,成都市2021年1月空气质量整体指数处于污染阶段。

4 比较面向对象方法与调用第三方库方法

调用第三方库对成都市2021年1月空气指数分析的核心代码为:

图6 调用第三方库代码

经过对比,第三方库所得结果与类的方法是所得结果一致。由此可得:第三方库的方法所得到的结果与本研究的类的方法所得结果一致,且类的方法与调用第三方库的方法(如numpy库,matplotlib库,scipy库 statsmodels库)虽然都能解决Z检验与T检验,并得出结论。但是两者的区别在于:直接导入统计学需要的第三方库可以避免一些复杂的数学公式及计算,它可以提高检验效率,代码简洁明了。但是它不能体现假设检验的思想方法,不能直观反映数学公式。而类的方法恰巧与它相反,它的代码复杂并且长,但它能够清楚表现统计学中假设检验的三个步骤和方法,也能表明数学思维。

5 结语

文章对统计学中假设检验进行了分析,研究了基于python语言的Z检验和T检验,并分析了成都市2021年1月空气质量指数是否处于污染阶段进行了检验与结果分析。此外,比较了python语言中类的方法与导入第三方库的方法的区别。文中的代码主要体现在类的方法上,它从数学公式反映假设检验的思路,使其能熟练掌握假设检验方法与原理。其实,笔者认为文章所研究的面向对象的方法与调用第三方库的方法存在一些劣势,正如在数据处理上,两种方法都需要一个一个输入数据,当数据庞大时容易出现两个问题:(1)容易输入错误数据;(2)花费时间较长。在未来,笔者将采用pandas库处理这方面的问题。其次,对于采用面向对象的方法所研究的Z检验与T检验,其代码部分笔者认为并不精简,笔者将会保持假设检验的方法与步骤对代码进行优化,让它达到最精致。

猜你喜欢

假设检验检验法面向对象
GEE平台下利用物候特征进行面向对象的水稻种植分布提取
假设检验结果的对立性分析
梧州市高温事件气候特征分析
面向对象方法在水蓄冷PLC编程中应用分析
国际法中的“反事实推理”:作用与局限
统计推断的研究
混合χ2检测法在组合导航系统故障检测中的应用
论TRIPS协议中“三步检验法”存废之争和解决途径
凤爪重量质量管理报告
基于改进隐马尔科夫模型的畜禽全基因组关联分析中的多重检验方法