数据分析数据探索

文章目录

  • 第三章 数据探索
  • 3.1数据质量分析
    • 1.主要任务
    • 2.缺失值分析
    • 3.异常值分析
    • 4.一致性分析
  • 3.2数据特征分析
    • 1.分布分析
    • 2.对比分析
    • 3.统计量分析
    • 4.周期性分析
    • 5.相关性分析
  • 3.3 R语言主要数据探索函数
    • 1.统计特征函数
    • 2.统计作图函数

第三章 数据探索

  • 什么是数据探索
    数据探索:检测数据,了解数据,这一步只做数据的分析,下一步针对这一步的分析结果,做数据的预处理。
    书上的定义:对样本数据集的结构和规律进行分析的过程就是数据探索。数据探索有助于选择合适的数据预处理和建模方法。
    为什么叫套路的总结:比如你初到某个地方,要了解这个地方,第一件事情就是可以随便逛随便观察,了解这个地方的结构,数据探索就是做这个事情的。
  • 分类
    数据质量分析。
    数据特征分析。

3.1数据质量分析

1.主要任务

  • 缺失值。
  • 异常值,甚至不一致的值。
  • 重复数据。
  • 含有特殊符号的数据(如% # /等)。

2.缺失值分析

  • 缺失值产生的原因:各种原因。
  • 主要内容:缺失值的个数;缺失率。
  • 处理方式:对缺失值进行插值或者直接删掉。
    • 注意:这个不是数据质量分析,这个是数据预处理的内容。

3.异常值分析

  • 异常值也称为离群点,异常值也称为离群点分析。
  • 简单统计量分析 :对变量做一个描述型统计,最常用的统计量是最大值和最小值,用来判断这个变量是否有问题。
    • 如客户年龄这个变量最大值为199岁,则易知这个变量取值存在异常。
  • 3delta原则 :如数据服从正态分布,则取值与mean超过3标准差的值为异常值。 **- > 极小概率事件为异常值。 **
    ![在这里插入图片描述](https://img-
    blog.csdn.net/20181018101044515?)

- 箱形图分析

  • QU:上四分位置——数据按大小分四段,中段(2和3)最上面值。
  • QL:下四分位。
  • IQR:四分位间距
  • 箱形图分析:异常值通常被定义为小于QL -1.5IQR或大于QU +1.5IQR的值。 数据分析数据探索

缺失值——complete.cases() 帮助系统 ?complete.cases

    > ?complete.cases
    > saledata=read.csv(file = "G://!!aaclassnew//R语言//20181011//catering_sale.csv",header = TRUE)
    > View(saledata)
    > attributes(saledata)
    > str(saledata)
    > complete.cases(saledata)

![在这里插入图片描述](https://img-
blog.csdn.net/20181018103147883?)
![在这里插入图片描述](https://img-
blog.csdn.net/20181018103226811?)

    > #利用setwd设置工作空间
    > setwd("G:\!!aaclassnew\R语言\20181011")
    Error: '\!' is an unrecognized escape in character string starting ""G:\!"
    > setwd("G:/!!aaclassnew/R语言/20181011")
    > #读入数据
    > saledata=read.csv(file="catering_sale.csv",header = T)
    > #缺失值检测并打印结果,利用sum()和mean()函数来分别获取缺失样本数、缺失比例
    > sum(!complete.cases(saledata))
    [1] 1
    > sum(complete.cases(saledata))
    [1] 200
    > mean(!complete.cases(saledata))
    [1] 0.004975124
    > saledata[!complete.cases(saledata),]
            日期 销量
    15 2015/2/14   NA
    > #异常值检测箱线图
    > sp=boxplot(saledata$"销量",boxwex=0.7)
    > title("销量异常值检测箱线图")
    > xi=1.1
    > sd.s=sd(saledata[complete.cases(saledata),]$"销量")
    > mn.s=mean(saledata[complete.cases(saledata),]$"销量")
    > points(xi,mn.s,col="red",pch=18)
    > arrows(xi,mn.s-sd.s,xi,mn.s+sd.s,code = 3,col = "pink",angle = 75,length = .1)
    > text(rep(c(1.05,1.05,0.95,0.95),length=length(sp$out)),labels = sp$out[order(sp$out)],
    +      + sp$out[order(sp$out)]+rep(c(150,-150,150,-150),length=length(sp$out)),col = "red")

![在这里插入图片描述](https://img-
blog.csdn.net/20181018104327664?)

4.一致性分析

  • 是指数据相互矛盾,不一致。
  • 常发生在不同数据源集成的过程中。

3.2数据特征分析

1.分布分析

对数据整体的一个可视化,从而对数据有个大致的认识。

  • 计算出变量的频率分布表,并画出频率分布直方图。
  • 基本步骤——就是画频率直方图的步骤:
    • 求出极差:最大值-最小值
    • 决定组距和组数
    • 决定画图时分布区间
    • 列出频率分布表
    • 绘制直方图

2.对比分析

对两个或多个变量进行比较分析。
绝对值对比或相对值对比。

3.统计量分析

常用指标:集中趋势和离中趋势。

  • 集中趋势量
    • 均值/期望:什么是均值;什么是期望。
    • 中位数:中间那个位置的数——思考偶数个数值和基数个数值的处理。
    • 众数:数据集中出现最频繁的值——不具唯一性。
  • 离中趋势量
    • 极差
    • 标准差
    • 变异系数:标准差相对于均值的离中趋势。
    • 四分位数间距
        setwd("G://!!aaclassnew//R语言//20181011")
        saledata=read.table(file="catering_sale.csv",sep = ",",header = TRUE)
        sales=saledata[,2]
        
        #统计量分析
        #均值
        mean_=mean(sales,na.rm=T)
        #中位数
        median_=median(sales,na.rm=T)
        #极差
        range_=max(sales,na.rm=T)-min(sales,na.rm=T)
        #标准差
        std_=sqrt(var(sales,na.rm=T))
        #变异系数
        variation_=std_/mean_
        #四分位数间距
        q1=quantile(sales,0.25,na.rm = T)
        q3=quantile(sales,0.75,na.rm = T)
        distance=q3-q1
    	a=matrix(c(mean_,median_,range_,std_,variation_,q1,q3,distance),1,byrow = T)
    	colnames(a)=c("均值","中位数","极差","标准差","变异系数","1/4分位数","3/4分位数","四分位间距")
    	print(a)

![在这里插入图片描述](https://img-
blog.csdn.net/20181018110323631?)

4.周期性分析

画出变量值-时间轴曲线。

5.相关性分析

  • 相关关系 :若变量之间存在密切的关系,但又不能由一个或几个变量的值确定另一个变量的值,当自变量x取一定值时,因变量y的值可能有多个,这种变量之间的非一一对应的、不确定的关系,称为相关关系。
  • 相关性分析:分析连续变量之间线性相关程度的强弱,并用统计指标表示出来的过程。
  • 分析方法:
    • 可视化——直接绘制散点图:
      • 完全相关:一个变量的取值完全取决于另一个变量。
      • 相关
      • 不相关
    • 计算相关系数:
      • Pearson相关系数——要求连续变量取值服从正态分布。
        ![在这里插入图片描述](https://img-
        blog.csdn.net/2018101811091077?)
        ![在这里插入图片描述](https://img-
        blog.csdn.net/20181018110951995?)
    setwd("G:/!!aaclassnew/R语言/20181011")
    cordata=read.csv(file = "catering_sale_all.csv",header = T)
    cor(cordata[,2:11])

![在这里插入图片描述](https://img-
blog.csdn.net/20181018171305474?)

3.3 R语言主要数据探索函数

1.统计特征函数

算术平均数:n<-mean(X)。

  • X可为向量、矩阵或多维数组:当成一维计算所有元素的平均值。
    • 方差var(): v<-var(X)。
      • 若X为向量,计算向量的样本方差;若X为矩阵,则v为各列矩阵向量的样本方差构成的行向量。
    • 标准差sd():s=sd(X)——类似var()
    • 相关关系矩阵cor():
      • R<-cor(x,y=NULL,use=“everything”,method=c(“person”,”Kendall”,”spearman”))
      • 计算列向量x,y的相关系数矩阵R。
      • use,method参数取值。
    • 协方差矩阵cov(): R<-cov(x)
      • 若x为向量,R表示x的方差;x为矩阵,cov(x)计算协方差矩阵
      • cov(x,y):其中x,y为长度相等的列向量相当于 cov(cbind(x,y))

2.统计作图函数

barplot(x):画条形图。
X可为向量或矩阵。若x为矩阵,依次按列画出条形图。
![在这里插入图片描述](https://img-
blog.csdn.net/20181017220431587?)
![在这里插入图片描述](https://img-
blog.csdn.net/20181017220540925?)
![在这里插入图片描述](https://img-
blog.csdn.net/20181017220909945?)

二维条形直方图
hist(x,freq=TRUE)
X为向量;
把x中的数值自动分组,各组组距相等,条形图每一条的高度表示频率或者频数——频数条形图;频率条形图。
breaks用来设置分组

  • 其为一个数值向量时,则为其分组
  • 若为一个整数,代表建议R所采取的分组数。
    与barplot区别:
  • 条形图中间有间隔,多用于分类数据作图。
  • 直方图各条中间没有间隔,多用于连续型数据分段作图

![在这里插入图片描述](https://img-
blog.csdn.net/20181017221233799?)
![在这里插入图片描述](https://img-
blog.csdn.net/2018101722132672?)

箱图:boxplot
箱图:boxplot(x)—绘制向量x的箱形图
中间的箱子的上下边,分别是第三,一个四分位数。
中间的黑线是第二四分位数(中位数)。
设r是变量的四分位距,箱图上方的小横线是小于或等于第三个四分位数+1.5 r的最大观测值。同时下方的小横线是,大于等于第一个四分位数减去1.5
r的最大的观测值。
图中的小白圈,代表很大可能性上是离群点(outlier).(在其他图中也适用)
![在这里插入图片描述](https://img-
blog.csdn.net/20181018174201732?)

函数图/散点图:plot(x,y)
X、y为向量;以x为横轴,y为重轴,画图。
参数teype指定绘图样式

  • “o”:散点
  • “l”:曲线
  • “b”:点线混合
    单变量散点图:dotchat(x)
  • x为向量或者矩阵,若为矩阵则按列画散点图,然后拼到一起。
    ![在这里插入图片描述](https://img-
    blog.csdn.net/20181017221607408?)

![在这里插入图片描述](https://img-
blog.csdn.net/20181017221645258?)

数据分析数据探索

上一篇:Python - opencv (七) 透视变换


下一篇:js判断是否为闰年