1.衡量数据离散程度的统计量:

数据的离散程度即衡量一组数据的分散程度如何,其衡量的标准和方式有很多,而具体选择哪一种方式则需要依据实际的数据要求进行抉择。

首先针对不同的衡量方式的应用场景大体归纳如下:

极差:极差为数据样本中的最大值与最小值的差值,是所有方式中最为简单的一种,它反应了数据样本的数值范围,是最基本的衡量数据离散程度的方式,受极值影响较大。如在数学考试中,一个班学生得分的极差为60,放映了学习最好的学生与学习最差的学生得分差距为60.

四分位差:即数据样本的上四分之一位和下四分之一位的差值,放映了数据中间50%部分的离散程度,其数值越小表明数据越集中,数值越大表明数据越离散,同时由于中位数位于四分位数之间,故四分位差也放映出中位数对于数据样本的代表程度,越小代表程度越高,越大代表程度越低。

平均差:,针对分组数据为。各变量值与平均值的差的绝对值之和除以总数n,平均差以平均数为中心,能全面准确的反应一组数据的离散状况,平均差越大,说明数据离散程度越大,反之,离散程度越小。

方差/标准差:方差是各变量与平均值的差的平方和除以总数n-1,针对分组数据,方差开根号后为标准差,方差与标准差都能很好的反应数据的离散程度。

异种比率:是指非众数组的频数占总频数的比例。其中为变量值的总频数,为众数组的频数。异种比率越大,说明非众数组的频数占总频数的比重越大,众数的代表性越差,即占比越小,异种比率越小,说明众数的代表性越好,即占比越大。异种比率主要适合度量分类数据的离散程度,当然连续数据可以计算异种比率。

离散系数:即变异系数,针对不同数据样本的标准差和方差,因数据衡量单位不同其结果自然无法直接进行对比,为出具一个相同的衡量指标,则进行了离散系数的计算。离散系数为一组数据的标准差与平均数之比


import numpy as np
import stats as sts
scores = [31, 24, 23, 25, 14, 25, 13, 12, 14, 23,32, 34, 43, 41, 21, 23, 26, 26, 34, 42,43, 25, 24, 23, 24, 44, 23, 14, 52,32,42, 44, 35, 28, 17, 21, 32, 42, 12, 34]
#集中趋势的度量
print('求和:',np.sum(scores))
print('个数:',len(scores))
print('平均值:',np.mean(scores))
print('中位数:',np.median(scores))
print('众数:',sts.mode(scores))
print('上四分位数',sts.quantile(scores,p=0.25))
print('下四分位数',sts.quantile(scores,p=0.75))
#离散趋势的度量
print('最大值:',np.max(scores))
print('最小值:',np.min(scores))
print('极差:',np.max(scores)-np.min(scores))
print('四分位差',sts.quantile(scores,p=0.75)-sts.quantile(scores,p=0.25))
print('标准差:',np.std(scores))
print('方差:',np.var(scores))
print('离散系数:',np.std(scores)/np.mean(scores))
#偏度与峰度的度量
print('偏度:',sts.skewness(scores))
print('峰度:',sts.kurtosis(scores))</span>

2.数据清理引申出的知识点:

1、概述

实际的数据库极易受噪声、缺失值和不一致数据的侵扰,因为数据库太大,并且多半来自多个异种数据源。低质量的数据将会导致低质量的挖掘结果。有大量的数据预处理技术:
- - 数据清理:可以用来清楚数据中的噪声,纠正不一致。
- - 数据集成:将数据由多个数据源合并成一个一致的数据存储,如数据仓库。
- - 数据归约:可以通过如聚集、删除冗余特征或聚类来降低数据的规模。
- - 数据变换:(例如,规范化)可以用来把数据压缩到较小的区间,如0.0到1.0。

这可以提高设计距离度量的挖掘算法的准确率和效率。这些技术不是排斥的,可以一起使用。

1.1、数据质量 数据如果能满足其应用的要求,那么它是高质量的。数据质量涉及许多因素,包括:准确率、完整性、一致性、时效性、可信性和可解释性。

数据预处理(数据清理+集成+规约+变换) ——  特征选择(过滤式+包裹式+嵌入式) —— 降维(PCA+LDA)

3. 三大统计相关系数:Pearson 相关系数+Spearman相关系数+Kendall相关系数

相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度。

如果有两个变量:X、Y,最终计算出的相关系数的含义可以有如下理解:

(1)、当相关系数为0时,X和Y两变量无关系。

(2)、当X的值增大(减小),Y值增大(减小),两个变量为正相关,相关系数在0.00与1.00之间。

(3)、当X的值增大(减小),Y值减小(增大),两个变量为负相关,相关系数在-1.00与0.00之间。

相关系数的绝对值越大,相关性越强,相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。

通常情况下通过以下取值范围判断变量的相关强度:
相关系数     0.8-1.0     极强相关
                 0.6-0.8     强相关
                 0.4-0.6     中等程度相关
                 0.2-0.4     弱相关
                 0.0-0.2     极弱相关或无相关

1、pearson相关系数简介

皮尔逊相关也称为积差相关(或积矩相关)是英国统计学家皮尔逊于20世纪提出的一种计算直线相关的方法。

假设有两个变量X、Y,那么两变量间的皮尔逊相关系数可通过以下公式计算:

公式一:

公式二:

公式三:

公式四:

以上列出的四个公式等价,其中E是数学期望,cov表示协方差,N表示变量取值的个数。

2、pearson相关系数适用范围

当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:

(1)、两个变量之间是线性关系,都是连续数据。

(2)、两个变量的总体是正态分布,或接近正态的单峰分布。

(3)、两个变量的观测值是成对的,每对观测值之间相互独立。

即:连续数据、正态分布数据、线性关系数据更适合用pearson相关系数来衡量,用Spearman没有pearson好。

3、Spearman相关系数简介

在统计学中,斯皮尔曼等级相关系数以Charles Spearman命名,并经常用希腊字母ρ(rho)表示其值。斯皮尔曼等级相关系数用来估计两个变量X、Y之间的相关性,其中变量间的相关性可以使用单调函数来描述。如果两个变量取值的两个集合中均不存在相同的两个元素,那么,当其中一个变量可以表示为另一个变量的很好的单调函数时(即两个变量的变化趋势相同),两个变量之间的ρ可以达到+1或-1。

假设两个随机变量分别为X、Y(也可以看做两个集合),它们的元素个数均为N,两个随即变量取的第i(1<=i<=N)个值分别用Xi、Yi表示。对X、Y进行排序(同时为升序或降序),得到两个元素排行集合x、y,其中元素xi、yi分别为Xi在X中的排行以及Yi在Y中的排行。将集合x、y中的元素对应相减得到一个排行差分集合d,其中di=xi-yi,1<=i<=N。随机变量X、Y之间的斯皮尔曼等级相关系数可以由x、y或者d计算得到,其计算方式如下所示:

由排行差分集合d计算而得(公式一):

由排行集合x、y计算而得(斯皮尔曼等级相关系数同时也被认为是经过排行的两个随即变量的皮尔逊相关系数,以下实际是计算x、y的皮尔逊相关系数)(公式二):

4、Spearman相关系数适用范围

斯皮尔曼等级相关系数对数据条件的要求没有皮尔逊相关系数严格,只要两个变量的观测值是成对的等级评定资料,或者是由连续变量观测资料转化得到的等级资料,不论两个变量的总体分布形态、样本容量的大小如何,都可以用斯皮尔曼等级相关系数来进行研究。【单调相关性】

5、Kendall相关系数简介

在统计学中,肯德尔相关系数是以Maurice Kendall命名的,并经常用希腊字母τ(tau)表示其值。肯德尔相关系数是一个用来测量两个随机变量相关性的统计值。一个肯德尔检验是一个无参数假设检验,它使用计算而得的相关系数去检验两个随机变量的统计依赖性。肯德尔相关系数的取值范围在-1到1之间,当τ为1时,表示两个随机变量拥有一致的等级相关性;当τ为-1时,表示两个随机变量拥有完全相反的等级相关性;当τ为0时,表示两个随机变量是相互独立的。

假设两个随机变量分别为X、Y(也可以看做两个集合),它们的元素个数均为N,两个随即变量取的第i(1<=i<=N)个值分别用Xi、Yi表示。X与Y中的对应元素组成一个元素对集合XY,其包含的元素为(Xi, Yi)(1<=i<=N)。当集合XY中任意两个元素(Xi, Yi)与(Xj, Yj)的排行相同时(也就是说当出现情况1或2时;情况1:Xi>Xj且Yi>Yj,情况2:Xi<Xj且Yi<Yj),这两个元素就被认为是一致的。当出现情况3或4时(情况3:Xi>Xj且Yi<Yj,情况4:Xi<Xj且Yi>Yj),这两个元素被认为是不一致的。当出现情况5或6时(情况5:Xi=Xj,情况6:Yi=Yj),这两个元素既不是一致的也不是不一致的。

这里有三个公式计算肯德尔相关系数的值

公式一:

其中C表示XY中拥有一致性的元素对数(两个元素为一对);D表示XY中拥有不一致性的元素对数。

注意:这一公式仅适用于集合X与Y中均不存在相同元素的情况(集合中各个元素唯一)。

公式二:

注意:这一公式适用于集合X或Y中存在相同元素的情况(当然,如果X或Y中均不存在相同的元素时,公式二便等同于公式一)。

其中C、D与公式一中相同;

N1、N2分别是针对集合X、Y计算的,现在以计算N1为例,给出N1的由来(N2的计算可以类推):

将X中的相同元素分别组合成小集合,s表示集合X中拥有的小集合数(例如X包含元素:1 2 3 4 3 3 2,那么这里得到的s则为2,因为只有2、3有相同元素),Ui表示第i个小集合所包含的元素数。N2在集合Y的基础上计算而得。

公式三:

注意:这一公式中没有再考虑集合X、或Y中存在相同元素给最后的统计值带来的影响。公式三的这一计算形式仅适用于用表格表示的随机变量X、Y之间相关系数的计算。

6.Kendall相关系数的适用范围:

肯德尔相关系数与斯皮尔曼相关系数对数据条件的要求相同,

单调相关性;与spearman区别在于某一比较数据需要有序,在有序情况下计算速度比spearman快。

三个相关系数关系如上。

python实现:

def pearson(vector1, vector2):n = len(vector1)#simple sumssum1 = sum(float(vector1[i]) for i in range(n))sum2 = sum(float(vector2[i]) for i in range(n))#sum up the squaressum1_pow = sum([pow(v, 2.0) for v in vector1])sum2_pow = sum([pow(v, 2.0) for v in vector2])#sum up the productsp_sum = sum([vector1[i]*vector2[i] for i in range(n)])#分子num,分母dennum = p_sum - (sum1*sum2/n)den = math.sqrt((sum1_pow-pow(sum1, 2)/n)*(sum2_pow-pow(sum2, 2)/n))if den == 0:return 0.0return num/den

用两个向量进行测试:

vector1 = [2,7,18,88,157,90,177,570]

vector2 = [3,5,15,90,180, 88,160,580]

运行结果为0.998,可见这两组数是高度正相关的。

import pandas as pd
df = pd.DataFrame({'A':[5,91,3],'B':[90,15,66],'C':[93,27,3]})
print(df.corr())
print(df.corr('spearman'))
print(df.corr('kendall'))
df2 = pd.DataFrame({'A':[7,93,5],'B':[88,13,64],'C':[93,27,3]})
print(df2.corr())
print(df2.corr('spearman'))
print(df2.corr('kendall'))

一些结论:

A.pearson相关系数的取值范围是[-1,1],值越接近1,表明两个随机变量越正线性相关。

B.如果两随机变量有严格的单调函数关系,则他们是Spearman相关

C.Pearson相关系数要求变量服从正态分布。

D.Kendall相关系数主要用于分析有序数据(单调相关性)。

4.关于数据库索引:

1 首先数据量小的表不需要建立索引,因为小的表即使建立索引也不会有大的用处,还会增加额外的索引开销
2 不经常引用的列不要建立索引,因为不常用,即使建立了索引也没有多大意义
3 经常频繁更新的列不要建立索引,因为肯定会影响插入或更新的效率
思考:表中建立了索引后,导入大量数据为什么会慢?或者说表中建立索引后,为什么更新数据会很慢?

答:对已经建立了索引的表中插入数据时,插入一条数据就要对该记录【按索引排序】。因此,导入大量数据的时候速度会很慢。

解决办法:在没有任何索引的情况下插入数据,然后再建立索引。而更新就无法避免了。就像3说的一样,经常更新的列就不要建立索引。

4 索引并不是一劳永逸的,用的时间长了需要进行整理或者重建。
初学者在Oracle中使用索引,可以使用EM的建议(EM的Advisor Central中找SQL Access Advisor)
注意:有时候查询语句中的索引没有发挥作用,这又是为什么呢?
答:在很多情况下,虽然查询语句使用了索引,但是索引并没有发挥作用。例如:在WHERE条件的LIKE关键字匹配的字符串以”%“开头,这种情况下,索引是不会起到作用的;WHERE条件中使用OR关键字来连接多个查询条件,如果有一个条件没有使用索引,那么其他的索引也不会起作用;多列索引的第一个字段没有使用,那么这个多列索引也不会起作用。
解决办法:根据这些情况,必须对这些语句进行相应的优化。

【1、合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度。2、索引越多,更新数据的速度越慢。】

1.  主键一定是唯一性索引,唯一性索引并不一定就是主键。

2. 一个表中可以有多个唯一性索引,但只能有一个主键。

3. 主键列不允许空值,而唯一性索引列允许空值。

4. 索引可以提高查询的速度。

主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中

* 索引的缺点是更新数据时效率低,因为需要更新索引(应该先更新数据,再建立索引   ; 先插入数据,再建立索引)

*  区分度与索引长度的权衡

1. 索引长度越低,索引在内存中占的长度越小,排序越快,然而区分度就越低。这样不利于查找。

2.索引长度越长,区分度就高,虽然利于查找了,但是索引在内存中占得空间就多了。

数据库索引的优缺点:

索引最大的好处是提高查询速度,
缺点是更新数据时效率低,因为要同时更新索引
对数据进行频繁查询进建立索引,如果要频繁更改数据不建议使用索引。
数据库常见面试问题集锦(多看):数据库常见面试问题(附答案)  !!!!!!

5.统计量P值含义及优缺点:[原/零假设+备择假设]

P-值是在原假设为真的条件下某一统计量的取值以其观察值为最小值或最大值的事件的小概率,或说某一统计量的取值以其观察值为最小值或最大值是一个小概率事件,此小概率就是 P。(我所理解的)

P值的各路定义:在一个假设检验问题中,利用观测值能够做出拒绝原假设的最小显著性水平称为 P-值。对于 P-值的理解,一般情况下有这几种认识:
(1) 拒绝原假设的最小显著性水平。
(2) 观察到的(实例样本的) 显著性水平。
(3) 表示对原假设的支持程度,是用于确定是否应该拒绝原假设的另一种方法。
(4) 一种概率,一种在原假设为真的前提下出现观察样本以及更极端情况的概率。
(5) 我们在拒绝原假设的犯的最小的第一类错误,而所规定的显著性水平(具有主观性)是事先给定的犯第一类错误的最大错误。

  • P 值:在假设原假设(H0)正确时,出现现状或更差的情况的概率P值越小,我们拒绝原假设的理由越充分。
  • 显著性水平:拒绝零假设时的 P 值阈值,一般取 5%。

解释:P值就是指在原假设为真的情况下,当前观测样本(或更极端的情况)所发生的条件概率。如果这个概率很小,说明是小概率事件。在原假设成立的情况下,竟然发生了小概率事件,那么当然要拒绝原假设了。

other:

假设检验传统方法:

假设检验新方法:

找到估算参数的最佳统计量,然后使用自助法模拟抽样分布。然后你可以利用抽样分布,帮助选择合适的假设检验。

# 模拟从总体中抽取一个样本,实际中一般没有这一步
sample = df.sample(n)
diff = []
for _ in range(10000):# 从实际样本中有放回抽样,容量与实际样本容量相同,模拟抽样分布sample_xbar = sample(sample.shape[0],replace=True)# 天添加每个样本的统计量,此处假设是样本是某属性的均值diff.append(sample_xbar['col_name'].mean)
# 以原假设中等式成立时的值为均值,看其在抽样分布的标准差下的零假设分布(即用零假设的特殊值模拟正态分布)
null_vals = np.random.normal(x_mean, np.std(diff),10000)
# 计算实际样本统计量在零假设分布中被抽到的概率,即P值。
(null_vals > sample['col_name'].mean()).mean()

上图中红线代表实际样本统计量在零假设分布中的位置。

数据挖掘(9-22):数据离散程度+数据清理+三大相关系数+数据库索引(数据库面试常问)+P值含义及理解相关推荐

  1. 数据离散程度的衡量指标

    有些时候数据的离散程度能够让我们数据分析得出一些其他信息,理想情况下数据越集中那么效果越好.那么有没有指标来衡量?答案是有得,今天主要学习一下数据离散程度的衡量指标.     1.极差 极差就是对一组 ...

  2. 变异系数(测算数据离散程度相对指标)

    变异系数/差异系数(coefficient of variation): 是一种相对差异量数(不带测量单位),因而适用于测量单位不同或测量单位相同但集中量数相差较大的数据变异情况的比较 M:平均数( ...

  3. 数据离散程度的指标——标准差

    标准差(Standard Deviation) 标准差,在概率统计中最常使用作为统计分布程度(statisticaldispersion)上的测量.反应组内个体间的离散程度. 标准差的计算(Calcu ...

  4. 《人人都会数据分析》笔记:数据离散程度描述

    离散程度描述:可以用来说明事物在发展过程中的均衡性.节奏型和稳定性的问题. 离散程度指标:全距.平均差.方差.标准差.离散系数 全距:数据中最大值与最小值的差值.R=Xmax-Xmin 不足:是一个比 ...

  5. 求离散数据的突变点_数据的离散程度分析1

    在统计学中,把反映现象总体中各个体的变量值之间差异程度的指标称为离散程度,也称为离中趋势. 描述一组数据离散程度常用极差.四分位差.方差和标准差.变异系数等. 极差 极差(Range)也叫全距,是一组 ...

  6. 转:衡量数据的离散程度

    衡量数据的离散程度 我们通常使用均值.中位数.众数等统计量来反映数据的集中趋势,但这些统计量无法完全反应数据的特征,即使均值相等的数据集也存在无限种分布的可能,所以需要结合数据的离散程度.常用的可以反 ...

  7. 数据的离散程度度量:极差、四分位差、平均差、方差、标准差、异众比率、离散系数

    数据的离散程度即衡量一组数据的分散程度如何,其衡量的标准和方式有很多,而具体选择哪一种方式则需要依据实际的数据要求进行抉择. 首先针对不同的衡量方式的应用场景大体归纳如下: 极差:极差为数据样本中的最 ...

  8. 数据的离散程度的衡量方式

    数据的离散程度: 即衡量一组数据的分散程度如何,其衡量的标准和方式有很多,而具体选择哪一种方式则需要依据实际的数据要求进行抉择. 1. 常用数据离散度的方式 1.1 极差 极差为数据样本中的最大值与最 ...

  9. 数据统计分析(4):数据的离散程度描述

    极差 极差又被称为范围差或全距(Range),以R表示,是用来表示统计资料中的变异量数,其最大值与最小值之间的差距,即最大值减最小值后所得之数据. 它是标志值变动的最大范围,它是测定标志变动的最简单的 ...

最新文章

  1. Java获取文件大小,文件夹内文件个数的工具类
  2. hdu6356-Glad You Came【RMQ】
  3. jboss eclipse_调试生产服务器– Eclipse和JBoss展示
  4. [Kaggle] Digit Recognizer 手写数字识别
  5. 递归转化成非递归过程_8086微处理器中的递归和重入过程
  6. eclipse run on server 点不了finish_分享点经验 | springboot入门及编码
  7. Solaris 10 x86 Mono 三次折腾准备休战了
  8. python练手经典100例-Python 的练手项目有哪些值得推荐?
  9. Bulk Insert命令详解
  10. css 左右居中和上下垂直居中
  11. 超详细excel键盘快捷键大全
  12. “圆球池塘”——动态交互作品
  13. 阿里云心选“小眯眼摄像头”视频监控天猫精灵可控手机远程wifi高清
  14. 微信小程序 使用webview 缓存解决办法
  15. 【哈佛学习力5:情绪管理】
  16. C++——素数(质数)专题训练
  17. TI 927 928 947 948 940串行器解串器系列
  18. 怎么在linux系统中输入日历,在Linux终端中使用日历
  19. 指尖江湖鸿蒙抽奖,剑网3指尖江湖鸿蒙始清活动怎么玩
  20. html中auto是设置什么的,css中margin:auto什么意思?margin:auto属性的用法详解

热门文章

  1. 转:敬畏感为什么能为个人和组织带来好处?
  2. 西部数码php.ini,西部数码虚拟主机提权思路
  3. 一文彻底搞定二叉树的前序、中序、后序遍历(图解递归非递归)
  4. 瑞吉外卖day01笔记
  5. Google Chubby介绍
  6. uniapp自定义照相机百度ORC卡证识别 拍照蒙版 自动裁剪
  7. 通俗讲:自然语言处理(NLP)入门之N-gram语言模型。(朴素贝叶斯分类器的推导)
  8. python3绘制小猪佩奇
  9. 蓝欣投票软件自助投票器_为什么我们不能开发有效的投票软件
  10. HTML-CSS基础笔记