《R语言数据挖掘:实用项目解析》——2.8 假设检验-阿里云开发者社区

开发者社区> 华章计算机> 正文

《R语言数据挖掘:实用项目解析》——2.8 假设检验

简介:
+关注继续查看

本节书摘来自华章计算机《R语言数据挖掘:实用项目解析》一书中的第2章,第2.8节,作者[印度]普拉迪帕塔·米什拉(Pradeepta Mishra),译 黄芸,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.8 假设检验

零假设意味着什么都没有发生、平均值是恒定的,等等。对立假设则意味着有什么发生了,且平均值与总体有所不同。进行假设检验的步骤如下:

1)提出零假设:提出关于总体的假设。例如,平均市内行车英里数为40。
2)提出对立假设:如果证明零假设是错的,那么其他情况的概率有多大?例如,如果市内行车英里数不是40,那是大于40,还是小于40?如果不等于40,则这是一个非定向对立假设。
3)计算样本检验统计:检验统计可以是t-检验、f-检验、z-检验等。根据数据适用性和先前提出的假设选择恰当的检验统计。
4)确定置信区间:有90%、95%和99%三个置信区间,根据相关的特定业务问题的准确率而定。置信区间的水平由研究人员或分析师来确定。
5)确定显著性水平:如果置信区间是95%,则显著性水平将为5%。由此可见显著性水平的确定将有益于计算检验的p值。
6)结论:如果选择的p值小于显著水平值,则有理由否定零假设;否则,我们将认可零假设。

2.8.1 总体均值检验

根据前面的检验假设步骤,以Cars93为例来检验总体平均值。

已知方差情况下的单尾均值检验

假设某研究人员声明样本采集的所有汽车平均行车里程数超过35。在有93辆汽车的样本中,观察到所有汽车平均行车里程数为29。你应该认可,还是否定该研究人员的声明?

接下来的代码将解释你应该怎样对此下结论:

image
image

下面介绍在已知方差情况下对样本数据的总体均值进行单尾和双尾比例检验分析。

单尾和双尾比例检验

利用数据集Cars93,假设40%的美国产汽车的RPM(最大马力时的每分钟转速)超过5000。从样本数据得知,57辆汽车中有17辆的RPM超过5000。从上文你可得到什么解释?

image
image

如果对立假设是非定向假设,那么这就是双尾比例检验的例子。之前的计算不会有改变,除了临界值的计算。详细代码如下:

image

  • 对连续型数据的双样本成对检验:用于双样本成对检验的零假设是指假设一个过程对研究对象没有影响、试验对试验对象没有影响,等等。对立假设声明存在过程的显著统计影响、试验的有效性或在对象上的作用。

虽然在Cars93中没有这样的变量,我们仍然假设在不同汽车品牌的最小价格和最大价格之间有成对关系。

  • 双样本t检验的零假设:平均价格无差异。
  • 对立假设:平均价格有差异。

image

由于p值小于0.05,因此最大价格和最小价格之差在95%置信区间内有显著差异。

  • 对连续型数据的双样本不成对检验:假设在Cars93数据集中高速路的里程数和市内里程数是有差别的。如果两者有显著差异,可以通过独立的样本t检验来比较各自的平均值。
  • 零假设:高速路的MPG和市内的MPG没有差别。
  • 对立假设:高速路的MPG和市内的MPG有差别。

image

由双样本t检验可知,当两个样本相互独立时,p值小于0.05,所以我们可以否定假设高速路和市内的平均里程数无差别的零假设,即高速路和市内的平均里程数有显著差异。这可用略微不同的方法展现出来,即零假设手动挡与自动挡汽车各自的市内平均行车里程数不同:

image

从以上的检验可知,结论自动挡与手动挡汽车的市内平均行车里程数有显著差异,因为p值小于0.05。

在进行t检验之前,检查数据的正态性非常重要。一个变量的正态性可用Shapiro检验函数检测:

image
image

由市内每加仑行车里程数的正态分位图和直方图可知,里程数变量没有呈正态分布。因为该变量不是正态分布的,所以需要采取非参数方法比如Wilcoxon符号秩检验或Kolmogorov-Smirnov检验。

2.8.2 双样本方差检验

比较双样本的方差,采用F检验作为统计量:

image

因为p值小于0.05,我们可以否定手动挡与自动挡汽车在高速路的里程数的方差无差异的零假设。这表明两个样本的方差有95%置信水平的统计显著差异。

这两组样本的方差还可以用Bartlett检验测出:

image

由以上检验也可以得出这样的结论,即关于方差相同的零假设可在0.05的显著性水平拒绝,可证明这两组样本有显著差异。

单因子方差分析:可使用单因子方差分析。分析的变量是RPM,分组变量是Cylinders(汽缸个数)。

零假设:不同缸数的平均RPM值无差异。

对立假设:至少一种缸数的平均RPM有差异。

代码如下:

image

由上面的方差分析可知,p值小于0.05,因此否定零假设。这意味着至少有一种缸数的平均RPM存在显著差异。为了识别哪一种缸数是不同的,可在方差分析模型的结果上执行事后检验:

image
image

只要调整后的p值小于0.05,RPM的平均差异将显著有别于其他分组。

双因子方差分析及其事后检验:这里研究的因子是origin(是否美国产)和airbags(安全气囊规格)。需要检验的假设是:这两个分类变量对RPM变量是否有影响?

image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
带你读《Python金融大数据挖掘与分析全流程详解》之一:Python基础
本书以功能强大且较易上手的Python语言为编程环境,全面讲解了金融数据的获取、处理、分析及结果呈现。全书共16章,内容涉及Python基础知识、网络数据爬虫技术、数据库存取、数据清洗、数据可视化、数据相关性分析、IP代理、浏览器模拟操控、邮件发送、定时任务、文件读写、云端部署、机器学习等,可以实现舆情监控、智能投顾、量化金融、大数据风控、金融反欺诈模型等多种金融应用。
2944 0
Argo项目入驻CNCF,一文解析Kubernetes原生工作流
近期CNCF宣布欢迎Argo项目进入 CNCF 孵化器,作为一个新加入的项目,Argo主要关注于Kubernetes原生的工作流,持续部署等方面。 Argo项目是一组Kubernetes原生工具集合,用于运行和管理Kubernetes上的作业和应用程序。
1797 0
带你读《Python金融大数据挖掘与分析全流程详解》之二:金融数据挖掘之爬虫技术基础
本书以功能强大且较易上手的Python语言为编程环境,全面讲解了金融数据的获取、处理、分析及结果呈现。全书共16章,内容涉及Python基础知识、网络数据爬虫技术、数据库存取、数据清洗、数据可视化、数据相关性分析、IP代理、浏览器模拟操控、邮件发送、定时任务、文件读写、云端部署、机器学习等,可以实现舆情监控、智能投顾、量化金融、大数据风控、金融反欺诈模型等多种金融应用。
1421 0
不熟悉的编程语言,项目如何开展?
引言 公司中的开发一般是沿着一种核心开发语言如Java、C/C++、PHP进行相关开发。但由于产品新需求、项目新需要,免不了会使用自己不擅长的语言开发。甚至,现在全栈工程师也比比皆是。对于经验不丰富的职场人,如何开展工作呢? 结合我近期的项目经历,我说下我的经验和教训。
14 0
C语言中柔性数组解析
在讲述柔性数组之前,我们首先介绍一下不完整类型(incomplete type)。不完整类型是这样一种类型,它缺乏足够的信息例如长度去描述一个完整的对象。
892 0
SAS进阶《深入解析SAS》之开发多语言支持的SAS程序
SAS进阶《深入解析SAS》之开发多语言支持的SAS程序 1. 多语言支持的应用程序是指该程序在世界给第使用时,其能够处理的数据,以及处理数据的方式、信息展现的方式都符合当地的语言、文化习惯,这要求应用程序运行时,能够自动进行与地区、语言相关的处理,也就是通常所说的国际化。 2. SBCS、DBCS、MBCS 单字节字符集SBCS指在该字符集中的字符最多由2个字
1670 0
SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程
SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程 1. 所谓数据挖掘,是指通过对大量的数据进行选择、探索与建模,来揭示包含在数据中以前不为人所知的模式或规律,从而为商业活动或科学研究提供帮助和服务。 2. 数据挖掘重要的两个类别:有监督分析(SupervisedAnalysis),无监督分析(UnsupervisedAnalysis)。 有监督分析属于目标
1108 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载