《R语言数据挖掘:实用项目解析》——第2章 汽车数据的探索性分析 2.1 一元分析

简介:

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

第2章

汽车数据的探索性分析

探索性数据分析是数据挖掘中不可或缺的一环。它包括数据集中变量的数值描述和图形化表示,这将使数据集变得易于理解并有助于用户快速得出结论。对数据集有一个初步的理解很重要,比如该选择什么样的变量进行分析、不同变量之间的关联等。创建交叉二维表有助于理解分类变量之间的关系,并对数据集实施经典统计检验来验证对可测试数据的种种假设。

通过本章的学习,读者应了解以下知识点:

  • 如何使用基本统计获悉单个和多个变量的属性。
  • 如何计算两个或多个变量之间的相关性和关联性。
  • 执行多元数据分析。
  • 任意数据集的各种概率函数的统计特性。
  • 对数据进行统计检验,从而做出假设。
  • 对比两个或多个样本。

2.1 一元分析

要实现一个数据集的一元统计,我们需要按照两类方法进行:一种是针对连续型变量的方法;另一种是针对离散或分类变量的方法。对连续型变量的一元统计包括数值测度,例如平均数(平均值)、方差、标准差、分位数、中位数等。平均值代表数据集中的每一个点,方差表示单个数据点与平均值(即分布中心)之间的波动/偏离。分位数也称作百分位数,即将分布切分为100等分。第10个百分位数等同于第一个十分位数,第25个百分位数等同于第1个四分位数,第75个百分位数等同于第3个四分位数。

此外还有集中趋势测度,用以理解一个数据集的一元特性。中位数和众数描述的是位置,但仍可以用众数来检查一个连续型变量是否是一个双峰值序列。若是双峰值序列,计算分布中心会很困难。计算有序数据或等级数据的平均值时,将其表示出来是个好主意,建议用中位数或者众数来表示一元统计结果。通过比较平均值、中位数、众数与偏度、峰度以及标准差,将得到一个关于数据分布形状的清晰描绘。所有这些关于集中趋势测度和离中趋势测量都可以通过单行命令算得,也可以用如下多行独立的代码。

这里,我们将用到diamonds.csv和Cars93.csv两个数据集。它们都是R中的内置库,作演示之用。

让我们在R中加入几行代码,以便更好地了解这两个数据集:

image

Cars93.csv数据集包含之前提到的变量名,它有27个变量和93条观测记录。变量类型可用str()函数输出:

image
image

一些连续型变量(Price、MPG.city和MPG.highway)和离散型变量(Type、AirBags和Man.trans.avail)的一元统计计算在这里显示。你可以练习余下的变量,以便全面了解这个数据集。

mean()函数用于计算算数平均值,median()函数用于计算中位数,range()函数用于计算由min()和max()组成的向量。var()函数用于计算样本方差,cor()函数用于计算两个向量之间的相关性。rank()函数用于计算得到一个由向量中值的排位组成的向量。quantile()函数用于算得一个向量,该向量包括原向量的最小值、下四分位数、中位数、上四分位数及其最大值。

对单变量使用summary()函数的代码如下:

image

现在我们来看在数据框上使用summary函数所得到的输出结果。如果是一个连续型变量,计算的是集中趋势测度;如果是一个分类变量,则计算的是分类频数。代码如下:

image
image
image

对于RPM、horsepower等的连续型变量,summary命令输出的是最小值、第1个四分位数、平均值、中位数、第3个四分位数和最大值。单变量统计分类变量,如car type、airbags、manual transmission availability等,输出的是频数表。频数最高的类被称作众数类。

有fivenum()和describe()函数也可产生类似的概括统计,它们比summary函数提供了更多的输出信息:

image

Hmisc库中的describe()函数可用于加深对数据描述的了解:

image
image

apply()函数也可用于进行一元概括统计。一元统计描绘了分布的形状:

image

为了理解一个变量分布的形状,我们可以利用偏度和盒状图,也可以在库(e1071)中调用skewness函数:

image

我们可以创建自定义函数,再结合apply()函数来测量偏度:

image

偏度是就对称分布的一种测度,其值体现了一个分布是正偏斜还是负偏斜。若偏度值为0或接近0,则表明分布是对称的,且平均值、中位数和众数完全相等;若偏度值小于0,则表明平均值小于众数,因为正态分布的极端值都偏向了负数;若偏度值大于0,则表明平均值大于众数,因为正态分布的极端值集中在右边部分。因为离群点的识别与移除都非常重要,所以测量偏度将对此有益,但这不是鉴别离群点的唯一方法。其他方法还有盒状图以及自定义的异常监测公式。如果观察之前那三个变量,可以发现price、MPG.city和MPG.highway的偏度都大于0,这表示离群点可能在价格正态分布曲线的正数侧。为了验证离群点的存在,我们可以画出盒状图并输出离群点。

相关文章
|
1天前
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享(下)
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享
|
1天前
|
数据可视化 数据挖掘
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
|
1天前
|
移动开发 算法 数据可视化
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
|
1天前
|
机器学习/深度学习 算法 数据挖掘
R语言在金融分析中的应用
【4月更文挑战第25天】R语言在金融分析中扮演关键角色,尤其在风险管理、资产定价、量化交易、市场预测和投资组合优化方面。作为开源的统计计算和图形平台,R语言拥有强大的统计功能、丰富的包支持和交互式环境。在风险管理中,R用于评估和管理风险,如VaR和ES;在资产定价上,它支持经典模型和衍生品定价;在量化交易领域,R提供策略开发和回测工具;市场预测利用R的统计和机器学习功能;而在投资组合优化上,R帮助确定最佳资产配置。随着金融技术发展,R语言的应用将持续增长。
|
1天前
|
数据挖掘 C++
使用R语言进行时间序列分析
【4月更文挑战第25天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
|
1天前
|
测试技术
数据分享|R语言回归,虚拟变量和交互项,假设检验:F检验、AIC和 BIC分析学生成绩数据附自测题(下)
数据分享|R语言回归,虚拟变量和交互项,假设检验:F检验、AIC和 BIC分析学生成绩数据附自测题
|
1天前
|
机器学习/深度学习 数据可视化
数据分享|R语言回归,虚拟变量和交互项,假设检验:F检验、AIC和 BIC分析学生成绩数据附自测题(上)
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
|
1天前
|
算法 数据可视化
【视频】Copula算法原理和R语言股市收益率相依性可视化分析
【视频】Copula算法原理和R语言股市收益率相依性可视化分析
|
1天前
|
机器学习/深度学习 自然语言处理 算法
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享(下)
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享
|
1天前
|
机器学习/深度学习 算法 大数据
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享(上)
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享

热门文章

最新文章

推荐镜像

更多