网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

python卡方检验函数,python卡方检验筛选特征

卡方检验详解

为什么要叫“卡方”?因为原名是“chi-squared”,一半是音译,一半是意译。其中,chi 是希腊字母 的读音,其实读音更像是“开”,而不是“卡”。square表示平方,因此在英语中,卡方分布写作 distribution。

成都创新互联服务项目包括青冈网站建设、青冈网站制作、青冈网页制作以及青冈网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,青冈网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到青冈省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

在理解卡方检验之前,应当理解卡方分布。卡方分布是一种连续概率分布。

如果一个随机变量 服从标准正态分布,即 ,那么 就服从自由度为1的卡方分布。记作 或者

而如果 都服从标准正态分布,那么它们的平方和服从自由度为 的卡方分布,记作:

或者写作 。

对于非负自变量 的自由度为 的卡方分布的概率密度函数 (简称"pdf"):

(1)为什么 非负?因为根据定义,卡方分布的自变量是一个平方和。

(2)这里的 是一个函数。关于这个函数具体是什么,以及上门的概率密度函数如何推导,这里不展开,只需要知道有这么个函数即可。实在是好奇的,可以 参考这里 。

(3)卡方分布的均值为 ,而标准差为 。

(4)自由度越大,该函数图像越对称。

(5)为什么这里 需要正态分布,我的理解是,如果零假设为真,那么观测值和期望值之间的波动程度,应该是正态分布的,或者说“噪声”应该是正态分布的。

卡方检验有两个用途:

拟合优度检验 chi-squared test goodness of fit

独立性检验 chi-squared test of independence

某新闻说某个篮球明星的原地两连投的单次命中率是0.8,根据历次比赛的数据汇总得到下面的表格:

意思是说,在比赛中,有5次两连投是一次都没中,有82次是在两连投中命中1次。现在,我们来用卡方检验验证新闻说的0.8的命中率是否正确。零假设如下:

:两连投的成功次数符合二项分布,且概率为

(1)先根据零假设计算“期望”的命中次数分布:

由于总的观察次数为 ,于是在 成立的前提下,可以计算每种两连投结果的期望次数:

0次命中:

1次命中:

2次命中:

显然,期望的观察次数和实际的观察次数是有偏差的,那么问题在于这个偏差是否大到具有统计显著性,进而可以否定零假设。

(2)我们来构造卡方检验统计量(chi-squared test statistic):

这个值是把表里每个格子的实际值和期望值进行对比。为什么要用平方?目的在于规避正负号的影响。为什么要除以期望值?目的在于消除数量绝对值的影响。例如你预算3块钱的水,商家加价50元,那么这个波动是你无法忍受的,而你预算20万的车,商家加价50元,则变得可以忍受。也就是说,除以期望值目的在于聚焦于变化率,而不是变化量。

之后,把这些“变化率”加总得到 。而计算自由度有一个公式:

其中 R 表示行数,C 表示列数。对于本例:

从另一个角度解释为什么 :前面的定义是如果是 个符合标准正态分布的 相加,则自由度是 ,但是这里自有两个格子可以自由变化,第三个格子可以用总观察数减出来,例如 。

因此,真正自由的只有2个格子,所以自由度是2。

好了,将格子的数据代入,求出检验统计量:

(3)根据自由度为2的卡方分布,找到检验统计量对应的位置:

不难理解,随着统计量增大,表示预期的分布和实际的分布的差异也就越来越大。

另外,由于通常意义上,p值是越小越能推翻零假设,那么显然我们需要用右侧的面积来表示p值,这里用Python计算来代替查表:

输出:statistic: 17.26, pvalue: 0.0002

由于p值很小(假设我们的显著性水平的0.05),那么我们可以推翻零假设。

进一步的,我们来探索下,该运动员的两连投的成功次数分数是否真的符合二项分布。零假设:

:两连投的成功次数符合二项分布。

既然符合二项分布,那么我们需要先估算一下最合理的 概率,那当然是用总命中数除以总投篮数来计算了:

然后,用该概率值重复之前的计算,也就是先计算出一个期望的表格:

注意,这里的 ,这是因为,我们每从数据估计一个参数,那么我们就损失一个自由度。这里用了一个平均命中的概率,因此自由度只有 。

这时候,在使用 Python 进行计算时,注意调整默认的自由度:

这里的 ddof 就是额外损失的自由度,本意是“delta degree of freedom”

输出:statistic: 0.34, pvalue: 0.56

可以看到p值很大,因此不足以推翻零假设,也就是说该运动员的投篮命中次数可能真的是二项分布。

下面表格表示喝酒频率和与警察发生麻烦的频数。

以第一列为例,表示从不喝酒的人中,4992人不发生麻烦,71人会发生麻烦。

现在的问题是,能否从以下数据推断说喝酒频率和与警察发生麻烦这两个事件相互独立?

我们的零假设应该如何设计?如果要说明两者相互独立,那么上表的分布应该满足乘法公式。也就是说两个独立事件一起发生的概率等于分别发生的概率之积。

于是我们有:

发生麻烦的总人数除以总人数

不喝酒的总人数除以总人数

进一步,根据总人数算出不喝酒而发生麻烦的人数的期望(下标表示零假设):

用类似的算法,计算每一个格子在零假设成立的情况下的值,写在原表数据下的括号里:

仔细观察可以看出,其实每个格子就是对应的:

另外可以看到,零假设下的各个格子的行列之和与原来相同。这不是偶然的,我们用字母代替计算一下就知道了:

于是第一列的两个格子应该是:

对于其他格子、行的总和,都一样,这里不多说了。

好,继续分析。我们直接用上表计算卡方统计量和p值:

这部分计算方法和拟合优度是一样的,就不赘述了。计算发现这个p值非常小,接近0,因此我们可以推翻零假设。也就是说,喝酒的频率和被警察找麻烦的并不是独立的,而是相关的。

关于独立性检验,有一个比卡方检验更精准的检验,叫 fisher's exact test。它通过直接计算否定零假设的概率,也就直接得到了一个准确的p值。有一个经典的女士品茶的统计学故事。有一个女士号称可以区分出一杯茶是先倒入了奶还是先倒入了茶。统计学家 Fisher 为了验证她的说法,做了一个实验。拿了8杯茶,4杯是先茶后奶,4杯是先奶后茶。

实验结果是全部说对了。那么问题是,这是否具有统计显著性呢?比如说一个人猜对了一次硬币,他的预测能力靠谱吗?

我们假设女士的判断是完全随机的,这个是我们的零假设。那么8杯里面抽中4杯全对的概率是:

如果显著性水平是0.01,那么我们不能推翻零假设,即不敢确定这位女士真有这个识别能力。如果显著性水平定在0.05,则我们可以认为她确实有这个识别能力。

如果让实验结果有更大的说服力呢?一个简单的办法就是增加茶的数量,比如我们设定为两种茶各10杯,要求10杯都判断正确,那么p值为多少呢?

这个算起来比较麻烦,这里我写一个 python 脚本来计算:

计算结果:

这个p值就小得很夸张了,基本可以断定零假设不成立了。

那么,回到实验本身,如果女士只选对了三杯,那么在零假设的前提下,这个发生的概率是多少?

这个概率比较大了,原大于通常使用的显著性水平 0.05,因此我们没有办法推翻零假设。为什么要这样 乘 呢?这个是因为一共有这么多种取法。你把所有可能的取法罗列处理,就是16种,然后除以总的取法数,就是随机取到这样结果的概率。

比较 Fisher's exact test 和 chi-squared test,可以 参考这篇文章 。

一般来说,两者都适用的情况下,应该优先选择 Fisher's exact test,因为它是精确值。如果实验观察的数量很小(小于10),应该不使用 chi-squared test。

下面使用一个脚本来计算:

白话“卡方检验”

卡方检验是假设检验的一种, 用于分析两个类别变量的相关关系 ,是一种非参数假设检验,得出的结论无非就是“两个变量相关”或者“两个变量”不相关,所以有的教材上又叫“独立性检验”。如果不是很清楚“假设检验”的朋友们,就要好好翻一下本科阶段《概率论与数理统计》的教材了。

关于假设检验的关键字有:总体、样本、点估计、区间估计、显著性水平、置信区间、统计量、枢轴量、分位点、三大分布、中心极限定理(明确正态分布的重要地位)、抽样分布定理。

如果这些关键字你还比较生疏的话,可以翻翻本科的《概率论与数理统计》教材,在“数理统计”部分,你可以找到它们。

它的流程基本是这样的:我感觉变量 A 和变量 B 存在相关关系,于是我提出假设“变量 A 和变量 B 存在相关关系”,然后我要用严格的数学方法证明“变量 A 和变量 B 存在相关关系”这个假设成立。

类别变量就是取值为离散值的变量,“性别”就是一个类别变量,它的取值只有“男”和“女”,类似还有”婚否“、”国籍“等。

以我们熟知的 Kaggle 平台上的泰坦尼克号幸存者预测提供的数据为例,”性别“对于”是否幸存“的关系研究,就属于这方面的内容。研究表明,泰坦尼克号上的乘客秉承”女士优先,照顾弱势群体“的基本原则,因此女性幸存的概率比男性要大,这就说明,”性别“对于”是否幸存“有相关关系,我们后面会使用卡方检验来验证这一事实。

假设检验,顾名思义,就是提出一个假设,然后检验你提出的假设是否正确。假设检验的流程其实是固定的,关键其实在于理解假设检验的设计原则。

这里说一句题外话,“提出假设,然后证明假设”其实我们一点都不陌生,人类探索未知事物、真理用的都是这个思路。聪明的祖先根据经验和直觉,提出一个猜想,然后再用严格的理论去论证这个猜想,例如我们熟知的“万有引力定律”、“地球是圆的”,这些说法刚刚提出来的时候,就只是科学家们的猜想,随后(很可能是很久很久以后),才被证明他们的猜想是正确的、伟大的。只不过在统计学中,“提出猜想”叫“提出假设”,“证明猜想”叫“检验”。

那么我们假设什么呢?这里就要引入“原假设”和“备择假设”的概念了。“原假设”是“备择假设”的对立面。

下面这个原则很重要:

重要的事情,我再写两遍:如果你想通过种种论证,证明一件事情,就要把这件事情写成“备择假设”。bfont size='3' color='ff0000'备择假设通常用于表达研究者自己倾向于支持的看法(这很主观),然后就是想办法收集证据拒绝原假设,以支持备择假设/font/b。

特别要说明的一点是:如果你不遵守这个“原假设”和“备择假设”设计的基本原则,你很可能会得到相反的结论。

假设检验很像司法界对于一个事实的认定,本着“疑罪从无”的原则,如果你要说明一个人有罪,你必须提供充足的证据,否则被告人的罪名就不能成立,这个说法叫“没有充分的证据证明被告有罪”。

因此,如果我们最后的结论是“原假设”成立,我们一般不这么说,即我们不说“原假设”成立,我们不说“原假设”是真的。我们说 不能拒绝“原假设” ,或者说 没有充分的证据拒绝“原假设” ,或者说 没有充分的证据证明“备择假设”成立 。

因为我们做假设检验一定是觉得两个类别变量有关系,才去做检验。再想想那个“疑罪从无”原则,我们是觉得一个人有罪,才去举证。因此卡方检验的“原假设”一定是假设独立,“备择假设”一定是假设相关,即:

这一点是极其重要且明确的,请你一定记住它,在统计软件中都是这样设定的。

做“检验”这件事情,就很像我们以前做的“反证法”,我们假定要证明的结论的对立面成立,然后推出矛盾,即说明了我们的假设是错误的,即原命题成立。请看下面这个例子:

请你证明:这个餐厅的菜很难吃。

证明:假设这个餐厅的菜很好吃,那么周末的晚上生意一定很好,然而实际观察下来,顾客流量和平时一样,推出矛盾,所以假设不成立,即这个餐厅的菜很难吃。

用假设检验的思路,在这个例子中:

原假设:这个餐厅的菜很好吃;

备择假设:这个餐厅的菜很难吃。

我们把倾向于要证明的结论设置为“备择假设”,而推理是基于“原假设”成立进行的,推理得出矛盾,说明“原假设”错误,从错误的起点推出了错误的结论,因此“原假设”不成立,这就是假设检验里面说的“拒绝原假设”。

因此,检验其实很简单,就是一个是非论证的过程,是单选题,只有两个选项,选择其一。

假设检验的论证流程其实是固定的。论证依据的事实是“ 小概率事件在一次试验中几乎不可能发生 ”,通常,我们得到的矛盾就在于:通过计算统计量,发现通过一次试验得到这个统计量是一个“小概率事件”,“小概率事件”在一次试验中,居然发生了,我们就认为这是很“诡异”的,一定是之前的某个环节出了问题,即“原假设”不成立,于是拒绝“原假设”,即证明了“备择假设”成立。

“卡方检验”即利用“卡方分布”去做“假设检验”。

“卡方分布”(也写作 “ 分布”)是统计学领域的三大分布之一,另外两个分布是“ 分布”与“ 分布”,这些分布都是由正态分布推导出来的,可以认为它们是我们熟知的分布,因为它们可以取哪些值,以及取这些值的概率都是完全弄清楚了的。

注:忘记了三大分布的朋友们,请一定要翻翻自己本科的教材,看看这些分布用来做什么?为什么出现在“数理统计”中,理解使用这些分布是为了从样本中估计总体的信息。

统计学的研究任务是通过样本研究总体,因为我们无法把所有的总体都做一次测试,一般可行的做法就是从总体中抽取一部分数据,根据对这一部分数据的研究,推测总体的一些性质。

而“三大分布”就是我们研究样本的时候选取的参照物。一般我们研究的思路是这样的:如果经过分析,得出待研究的样本符合这些我们已知的分布之一,因为三大分布是被我们的统计学家完全研究透了的,可以认为是无比正确的,就可以通过查表得到这些分布的信息,进而得到样本的一些性质,帮助我们决策。

这里举一个例子,比如你是一个面试官,你手上掌握着“北京”、“上海”、“广州”三个省市的人才信息库,来了一个面试者,从简历中得知这个人来自“北京”,那么我们就可以直接从“北京”市的人才信息库中查阅到他的详细履历,掌握到他更全面的信息。

上面提到的“北京”、“上海”、“广州” 这 3 个城市的人才信息库,就相当于统计学中的三大分布,你不用记住它,你不用随身携带它,但是你可以查阅它,它会告诉你你想知道的信息。

做假设检验的时候,我们也是类似的思路,我们需要利用总体的样本构造出合适的统计量(或枢轴量),并使其服从或近似地服从已知的确定分布,这样我们就可以查阅这些确定分布的相关信息,得到待研究样本所反映出来的总体的一些性质。

上面说到了“统计量”和“枢轴量”,下面简单谈一谈。

如果忘记了的朋友们一定要翻翻以前的教程,“抽样分布定理”是非常重要的。根据抽样分布定理,我们经常是这样用的:样本的某个含有未知参数的函数符合某个已知分布,已知分布可以查表,因此未知参数的性质就知道了。求“置信区间”与做“假设检验”通常就是这样的思路。

说明: 是观测频数(实际值), 是期望频数(可以认为是理论值),期望频数的计算公式我们马上会介绍到。这个统计量服从自由度为 的 分布, 为行数, 为列数。

下面举个例子,说明卡方检验的基本流程。

以下例子选自中国人民大学龙永红主编《概率论与数理统计》(第三版)P190 “独立性检验”一节例 5.32。

研究青少年行为与家庭状况的关系,调查结果如下:

分析:“青少年行为”是离散型变量,有“犯罪”与“未犯罪”两个取值;“家庭状况”是也离散型变量,有“离异家庭”与“和睦家庭”两个取值,从直觉上,我们认为它们是相关的。因此

上面这张表,我们可以称之为 观察频数表 ,观察依据事实。下面我们会计算一张“理论频数表”,理论依据假设。

原假设:“青少年行为”与“家庭状况”独立。

备择假设:“青少年行为”与“家庭状况”不独立。

要计算出检验统计量,关键是计算出期望频数。我们之前说到了, 假设检验是基于原假设进行论证 ,因此我们的期望频数应该是基于【“青少年行为”与“家庭状况”独立】得到的,即: 两个类别的交叉项的概率可以根据独立事件的概率乘法公式 得到 。具体是这样做的,上面那张表中,把交叉项隐藏起来:

在【“青少年行为”与“家庭状况”独立】这个假设下有:

我们要计算期望频数,就把上面这 个概率分别乘以样本总数 就可以了,于是我们得到 理论频数表 :

下面我们就套公式 了,将每个单元格的 加起来,就可以得到 统计量:

上面说服从自由度为 的 分布, 为行数, 为列数,即服从 的 分布,接下来,我们就要看得到这个统计量的概率有多大:

得到图像如下:

可以看到, 都不在能图像显示到的范围之内,说明这个概率很低。下面我们查表或者使用 Python 查一下,这个概率是多少:

得到: ,确实是一个几乎为 的数。这说明了什么呢?

说明了,在我们的假设【“青少年行为”与“家庭状况”独立】下,得到这组观测数据的概率很低很低,基于bfont size='3' color='ff0000' 小概率事件在一次试验中几乎不会发生 /font/b,但它却发生了,就证明了我们的“原假设”是不正确的,即有充分证据决绝“原假设”。(这一部分有点绕,其实很简单,多看几遍就非常清楚了。)

其实到这里,我们对卡方检验就已经介绍完了,是不是觉得很简单。但是在实际操作的过程中,我们还会引入 值,很多统计软件也会帮我们计算出 值,这个 值是个什么鬼呢?下面先给出我的结论:

说明:以下我根据对 值的理解自己总结的,是人话,但不一定准确。

得到“检验统计量”有个缺点,就是它是一个很“死”的数字,我们看到 ,我们只能直观感觉它很大,因为如果观察频数与理论频数大约相等,这个值应该很小,但不能量化这个值有多大。这只是统计量服从某个自由度的卡方分布的情况。

那么问题来了,如果统计量服从其它分布呢?统计量这个干巴巴的数字,你怎么知道这个这个分布取到这个统计量的概率有多大?因此还差一步, 我们还必须查表 。所以得到 值的过程就是帮你查表了, 值是一个概率值,它介于 和 之间, 值是 当前分布取到这个统计量的概率到当前分布极端值(指的是概率很小的极端值)这个区间的累计概率之和 ,即取到这个值,到比这个值更“差”的概率之和,如果 值很大,说明统计量取当前值的概率在一个正常的范围(一般是认为设定成 ),如果 值很小,说明这个统计量取当前值的概率也非常小。

特别说明: 对于连续型随机变量来说,取到某个值的概率其实是 ,因此上面才用到了对于区间取概率之和。

说明:上面所说的累积概率之和如果很小,小于一个临界值,这个临界值我们称之为“显著性水平”,用 表示,一般取 。多说一句,这个显著性水平其实是我们在原假设成立的情况下,拒绝原假设的概率,即犯第一类错误的概率,具体就不展开了,请参考相关《概率论与数理统计》教材。

所以我们总结一下:

1、 值统一了假设检验的比较标准,把计算统计量的概率大小统一变成计算 值,如果这个 值小于一个预先设定好的很小的数,则拒绝原假设,如果 值大于这个预先设置好的很小的数,则说明没有充分证据拒绝原假设;

2、使用 值进行假设检验的时候,会更便利。因此,使用 值进行假设检验的评判标准就只要一个,就是记住这句话“小拒大接”,即比 小,就拒绝“原假设”,比 大,结论是“没有理由拒绝原假设”。

值在不同的检验问题中,计算的方式会有一些不同,区别就在于概率极端值是在一侧还是在两侧。在这里,我们就以卡方检验为例,如果我们计算出来的统计量的值为 ,那么看图:

这个时候,统计量取 的概率就很高了,从图中可以看出大于 。我们作如下分析:

(说明:累计积分和分位点的概念都是十分重要的,在这里就不赘述了,读者可以查阅相关统计学的教材。)

于是, 对于卡方检验而言 ,得到的统计量,我们可以计算这个从统计量到正无穷的积分,如果这个积分值小于“显著性水平”,即 认为这个统计量的概率一定在“显著性水平”所确定的临界点的右边,即它是比“小概率事件”发生的概率还小的“小概率事件” 。

下面,我们自己写一个函数来实现卡方检验相关的计算,实现和 scipy 软件包提供的卡方检验同样的效果。

下面验证我们编写的卡方检验函数的正确性:

显示:

1、结合日常生活的例子,了解什么是卡方检验

2、假设检验之八:p值是什么:

python数据统计分析

1. 常用函数库

  scipy包中的stats模块和statsmodels包是python常用的数据分析工具,scipy.stats以前有一个models子模块,后来被移除了。这个模块被重写并成为了现在独立的statsmodels包。

 scipy的stats包含一些比较基本的工具,比如:t检验,正态性检验,卡方检验之类,statsmodels提供了更为系统的统计模型,包括线性模型,时序分析,还包含数据集,做图工具等等。

2. 小样本数据的正态性检验

(1) 用途

 夏皮罗维尔克检验法 (Shapiro-Wilk) 用于检验参数提供的一组小样本数据线是否符合正态分布,统计量越大则表示数据越符合正态分布,但是在非正态分布的小样本数据中也经常会出现较大的W值。需要查表来估计其概率。由于原假设是其符合正态分布,所以当P值小于指定显著水平时表示其不符合正态分布。

 正态性检验是数据分析的第一步,数据是否符合正态性决定了后续使用不同的分析和预测方法,当数据不符合正态性分布时,我们可以通过不同的转换方法把非正太态数据转换成正态分布后再使用相应的统计方法进行下一步操作。

(2) 示例

(3) 结果分析

 返回结果 p-value=0.029035290703177452,比指定的显著水平(一般为5%)小,则拒绝假设:x不服从正态分布。

3. 检验样本是否服务某一分布

(1) 用途

 科尔莫戈罗夫检验(Kolmogorov-Smirnov test),检验样本数据是否服从某一分布,仅适用于连续分布的检验。下例中用它检验正态分布。

(2) 示例

(3) 结果分析

 生成300个服从N(0,1)标准正态分布的随机数,在使用k-s检验该数据是否服从正态分布,提出假设:x从正态分布。最终返回的结果,p-value=0.9260909172362317,比指定的显著水平(一般为5%)大,则我们不能拒绝假设:x服从正态分布。这并不是说x服从正态分布一定是正确的,而是说没有充分的证据证明x不服从正态分布。因此我们的假设被接受,认为x服从正态分布。如果p-value小于我们指定的显著性水平,则我们可以肯定地拒绝提出的假设,认为x肯定不服从正态分布,这个拒绝是绝对正确的。

4.方差齐性检验

(1) 用途

 方差反映了一组数据与其平均值的偏离程度,方差齐性检验用以检验两组或多组数据与其平均值偏离程度是否存在差异,也是很多检验和算法的先决条件。

(2) 示例

(3) 结果分析

 返回结果 p-value=0.19337536323599344, 比指定的显著水平(假设为5%)大,认为两组数据具有方差齐性。

5. 图形描述相关性

(1) 用途

 最常用的两变量相关性分析,是用作图描述相关性,图的横轴是一个变量,纵轴是另一变量,画散点图,从图中可以直观地看到相关性的方向和强弱,线性正相关一般形成由左下到右上的图形;负面相关则是从左上到右下的图形,还有一些非线性相关也能从图中观察到。

(2) 示例

(3) 结果分析

 从图中可以看到明显的正相关趋势。

6. 正态资料的相关分析

(1) 用途

 皮尔森相关系数(Pearson correlation coefficient)是反应两变量之间线性相关程度的统计量,用它来分析正态分布的两个连续型变量之间的相关性。常用于分析自变量之间,以及自变量和因变量之间的相关性。

(2) 示例

(3) 结果分析

 返回结果的第一个值为相关系数表示线性相关程度,其取值范围在[-1,1],绝对值越接近1,说明两个变量的相关性越强,绝对值越接近0说明两个变量的相关性越差。当两个变量完全不相关时相关系数为0。第二个值为p-value,统计学上,一般当p-value0.05时,可以认为两变量存在相关性。

7. 非正态资料的相关分析

(1) 用途

 斯皮尔曼等级相关系数(Spearman’s correlation coefficient for ranked data ),它主要用于评价顺序变量间的线性相关关系,在计算过程中,只考虑变量值的顺序(rank, 值或称等级),而不考虑变量值的大小。常用于计算类型变量的相关性。

(2) 示例

(3) 结果分析

 返回结果的第一个值为相关系数表示线性相关程度,本例中correlation趋近于1表示正相关。第二个值为p-value,p-value越小,表示相关程度越显著。

8. 单样本T检验

(1) 用途

 单样本T检验,用于检验数据是否来自一致均值的总体,T检验主要是以均值为核心的检验。注意以下几种T检验都是双侧T检验。

(2) 示例

(3) 结果分析

 本例中生成了2列100行的数组,ttest_1samp的第二个参数是分别对两列估计的均值,p-value返回结果,第一列1.47820719e-06比指定的显著水平(一般为5%)小,认为差异显著,拒绝假设;第二列2.83088106e-01大于指定显著水平,不能拒绝假设:服从正态分布。

9. 两独立样本T检验

(1) 用途

 由于比较两组数据是否来自于同一正态分布的总体。注意:如果要比较的两组数据不满足方差齐性, 需要在ttest_ind()函数中添加参数equal_var = False。

(2) 示例

(3) 结果分析

 返回结果的第一个值为统计量,第二个值为p-value,pvalue=0.19313343989106416,比指定的显著水平(一般为5%)大,不能拒绝假设,两组数据来自于同一总结,两组数据之间无差异。

10. 配对样本T检验

(1) 用途

 配对样本T检验可视为单样本T检验的扩展,检验的对象由一群来自正态分布独立样本更改为二群配对样本观测值之差。它常用于比较同一受试对象处理的前后差异,或者按照某一条件进行两两配对分别给与不同处理的受试对象之间是否存在差异。

(2) 示例

(3) 结果分析

 返回结果的第一个值为统计量,第二个值为p-value,pvalue=0.80964043445811551,比指定的显著水平(一般为5%)大,不能拒绝假设。

11. 单因素方差分析

(1) 用途

 方差分析(Analysis of Variance,简称ANOVA),又称F检验,用于两个及两个以上样本均数差别的显著性检验。方差分析主要是考虑各组之间的平均数差别。

 单因素方差分析(One-wayAnova),是检验由单一因素影响的多组样本某因变量的均值是否有显著差异。

 当因变量Y是数值型,自变量X是分类值,通常的做法是按X的类别把实例成分几组,分析Y值在X的不同分组中是否存在差异。

(2) 示例

(3) 结果分析

 返回结果的第一个值为统计量,它由组间差异除以组间差异得到,上例中组间差异很大,第二个返回值p-value=6.2231520821576832e-19小于边界值(一般为0.05),拒绝原假设, 即认为以上三组数据存在统计学差异,并不能判断是哪两组之间存在差异 。只有两组数据时,效果同 stats.levene 一样。

12. 多因素方差分析

(1) 用途

 当有两个或者两个以上自变量对因变量产生影响时,可以用多因素方差分析的方法来进行分析。它不仅要考虑每个因素的主效应,还要考虑因素之间的交互效应。

(2) 示例

(3) 结果分析

 上述程序定义了公式,公式中,"~"用于隔离因变量和自变量,”+“用于分隔各个自变量, ":"表示两个自变量交互影响。从返回结果的P值可以看出,X1和X2的值组间差异不大,而组合后的T:G的组间有明显差异。

13. 卡方检验

(1) 用途

 上面介绍的T检验是参数检验,卡方检验是一种非参数检验方法。相对来说,非参数检验对数据分布的要求比较宽松,并且也不要求太大数据量。卡方检验是一种对计数资料的假设检验方法,主要是比较理论频数和实际频数的吻合程度。常用于特征选择,比如,检验男人和女人在是否患有高血压上有无区别,如果有区别,则说明性别与是否患有高血压有关,在后续分析时就需要把性别这个分类变量放入模型训练。

 基本数据有R行C列, 故通称RC列联表(contingency table), 简称RC表,它是观测数据按两个或更多属性(定性变量)分类时所列出的频数表。

(2) 示例

(3) 结果分析

 卡方检验函数的参数是列联表中的频数,返回结果第一个值为统计量值,第二个结果为p-value值,p-value=0.54543425102570975,比指定的显著水平(一般5%)大,不能拒绝原假设,即相关性不显著。第三个结果是自由度,第四个结果的数组是列联表的期望值分布。

14. 单变量统计分析

(1) 用途

 单变量统计描述是数据分析中最简单的形式,其中被分析的数据只包含一个变量,不处理原因或关系。单变量分析的主要目的是通过对数据的统计描述了解当前数据的基本情况,并找出数据的分布模型。

 单变量数据统计描述从集中趋势上看,指标有:均值,中位数,分位数,众数;从离散程度上看,指标有:极差、四分位数、方差、标准差、协方差、变异系数,从分布上看,有偏度,峰度等。需要考虑的还有极大值,极小值(数值型变量)和频数,构成比(分类或等级变量)。

 此外,还可以用统计图直观展示数据分布特征,如:柱状图、正方图、箱式图、频率多边形和饼状图。

15. 多元线性回归

(1) 用途

 多元线性回归模型(multivariable linear regression model ),因变量Y(计量资料)往往受到多个变量X的影响,多元线性回归模型用于计算各个自变量对因变量的影响程度,可以认为是对多维空间中的点做线性拟合。

(2) 示例

(3) 结果分析

 直接通过返回结果中各变量的P值与0.05比较,来判定对应的解释变量的显著性,P0.05则认为自变量具有统计学意义,从上例中可以看到收入INCOME最有显著性。

16. 逻辑回归

(1) 用途

 当因变量Y为2分类变量(或多分类变量时)可以用相应的logistic回归分析各个自变量对因变量的影响程度。

(2) 示例

(3) 结果分析

 直接通过返回结果中各变量的P值与0.05比较,来判定对应的解释变量的显著性,P0.05则认为自变量具有统计学意义。


当前名称:python卡方检验函数,python卡方检验筛选特征
文章起源:http://bjjierui.cn/article/hcpjjh.html

其他资讯