精华内容
下载资源
问答
  • 判断数据是否符合正态分布的方法总结描述统计方法Q-Q图P-P图直方图茎叶图统计检验方法SW检验KS检验AD检验W检验 在很多模型及假设检验中都需要满足一个假设条件:数据需服从正态分布。这篇文章主要讲讲如何判断数据...
    • 在很多模型及假设检验中都需要满足一个假设条件:数据需服从正态分布。这篇文章主要讲讲如何判断数据是否符合正态分布。主要分为两种方法:描述统计方法和统计检验方法。

    描述统计方法

    • 描述统计就是用描述的数字或图表来判断数据是否符合正态分布。常用的方法有Q-Q图、P-P图、直方图、茎叶图。

    Q-Q图

    • Q是quantile的缩写,即分位数。 分位数就是将数据从小到大排序,然后切成100份,看不同位置处的值。比如中位数,就是中间位置的值。Q-Q图的x轴为分位数,y轴为分位数对应的样本值。x-y是散点图的形式,通过散点图可以拟合出一条直线, 如果这条直线的斜率为标准差,截距为均值.,则可以判断数据符合正态分布,否则则不可以。
      在这里插入图片描述
    • 拟合出来的这条直线和正态分布之间有什么关系呢?为什么可以根据这条直线来判断数据是否符合正态分布呢?我们先来想一下正态分布的特征,正态分布的x轴为样本值,从左到右x是逐渐增大的,y轴是每个样本值对应的出现的概率。概率值先上升后下降,且在中间位置达到最高。可以把Q-Q图中的y轴理解成正态分布中的x轴, 如果拟合出来的直线是45度,可以保证中位数两边的数值分布是一样的,即正态分布中基于中位数左右对称。

    P-P图

    • P-P图是根据变量的累积概率对应于所指定的理论分布累积概率绘制的散点图,用于直观地检测样本数据是否符合某一概率分布。如果被检验的数据符合所指定的分布,则代表样本数据的点应当基本在代表理论分布的对角线上。
    • P-P图的检验原理与Q-Q图基本相同,只是Q-Q图用的是分布的分位数来做检验,而P-P图是用分布的累计比。和Q-Q图一样,如果数据为正态分布,则在P-P正态分布图中,数据点应基本在图中对角线上。

    直方图

    • 直方图分为两种,一种是频率分布直方图,一种是频数分布直方图。频数就是样本值出现的次数,频率是某个值出现的次数与所有样本值出现总次数的比值。从直方图我们可以很直观的看出这组数据是否符合正态分布。
      在这里插入图片描述

    茎叶图

    • 茎叶图的思路是将数组中的数按位数进行比较,将数的大小基本不变或变化不大的位作为一个主干(茎),将变化大的位的数作为分枝(叶),列在主干的后面,这样就可以清楚地看到每个主干后面的几个数,每个数具体是多少。
    • 茎叶图是一个与直方图相类似的特殊工具,但又与直方图不同,茎叶图保留原始资料的资讯,直方图则失去原始资料的讯息。将茎叶图茎和叶逆时针方向旋转90度,实际上就是一个直方图,可以从中统计出次数,计算出各数据段的频率或百分比。从而可以看出分布是否与正态分布或单峰偏态分布逼近。
      在这里插入图片描述

    统计检验方法

    • 讲完了描述统计的方法,我们来看一下统计检验的方法。统计检验的方法主要有SW检验、KS检验、AD检验、W检验。

    SW检验

    • SW检验中的S就是偏度,W就是峰度。
    • 偏度(skewness),是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。包括右偏分布(也叫正偏分布,其偏度>0),正态分布(偏度=0),左偏分布(也叫负偏分布,其偏度<0)。在定义上,偏度是样本的三阶标准化矩:在这里插入图片描述
    • 峰度(kurtosis),表征概率密度分布曲线在平均值处峰值高低的特征数。直观看来,峰度反映了峰部的尖度,计算方法为随机变量的四阶中心矩与方差平方的比值。公式上就是把偏度计算公式里的幂次改为4即可。峰度包括正态分布(峰度值=3),厚尾(峰度值>3),瘦尾(峰度值<3)。公式可表示如下:
      在这里插入图片描述
    • 在Python的scipy包中scipy.stats.normaltest(x, axis=0, nan_policy=‘propagate’)的原理就是基于数据的偏度和峰度,该方法是专门做正态性检验的。x:待检验的数据;axis:默认为0,表示在0轴上检验,即对数据的每一行做正态性检验,我们可以设置为 axis = None 来对整个数据做检验;nan_policy:当输入的数据中有空值时的处理办法。默认为 ‘propagate’,返回空值;设置为 ‘raise’ 时,抛出错误;设置为 ‘omit’ 时,在计算中忽略空值。

    KS检验

    • KS检验是基于样本累积分布函数来进行判断的。可以用于判断某个样本集是否符合某个已知分布,也可以用于检验两个样本之间的显著性差异。如果是判断某个样本是否符合某个已知分布,比如正态分布,则需要先计算出标准正态分布的累计分布函数,然后计算样本集的累计分布函数。两个函数之间在不同的取值处会有不同的差值。我们只需要找出来差值最大的那个点D。然后基于样本集的样本数和显著性水平找到差值边界值(类似于t检验的边界值)。判断边界值和D的关系, 如果D小于边界值,则可以认为样本的分布符合已知分布,否则不可以。
      在这里插入图片描述
    • 在Python中可通过scipy包直接进行KS检验:scipy.stats.kstest(x,cdf = “norm”);x表示待检验的样本集,cdf用来指明要判断的已知分布类型:‘norm’, ’expon’, ’logistic’, ’gumbel’, ’gumbel_l’, gumbel_r’,其中norm表示正态分布检验。返回两个值:D和对应的p_value值。

    AD检验

    • AD检验是在KS基础上进行改造的,KS检验只考虑了两个分布之间差值最大的那个点,但是这容易受异常值的影响。 AD检验考虑了分布上每个点处的差值。
    • 在Python中可通过scipy包直接进行KS检验:scipy.stats.anderson(x, dist= ‘norm’),x为待检验的样本集,dist用来指明已知分布的类型,可选值与ks检验中可选值一致。返回三个结果: 第一个为统计值,第二个为评判值,第三个为每个评判值对应的显著性水平。

    W检验

    • W检验(Shapiro-Wilk的简称)是基于两个分布的相关性来进行判断,会得出一个类似于皮尔逊相关系数的值。 值越大,说明两个分布越相关,越符合某个分布。
    • 在Python中可通过scipy包直接进行W检验:scipy.stats.shapiro(x),x为待检验的样本集,上面的代码会返回两个结果:W值和其对应的p_value。shapiro是专门用于正态性检验的,所以不需要指明分布类型。且 shapiro 不适合做样本数>5000的正态性检验。

    判断完后,若数据不符合正态分布又当如何呢?后续小编将继续总结将非正态分布数据转换为正态分布的方法。

    展开全文
  • 求行列式法 det 初等行变换法 rref 求秩法 rank ;表示列向量,,表示行向量 format rat v1 = [-9;7;3]; v2 = [3;34;-24]; v3 = [-6;-4;-9]; V = [v1,v2,v3]; b = [-10;13;19]; k = V \ b;...rref([V,b])
    • 求行列式法 det
    • 初等行变换法 rref
    • 求秩法 rank
    • ;表示列向量,,表示行向量
      在这里插入图片描述
    format rat
    v1 = [-9;7;3];
    v2 = [3;34;-24];
    v3 = [-6;-4;-9];
    V = [v1,v2,v3];
    b = [-10;13;19];
    k = V \ b;
    rref([V,b])
    
    展开全文
  • 在整理数据时,面临数据的插入操作,如果数据库已经有了这个数据,将不插入,如果是数据库中没有这个数据将直接插入。 insert into bag_claim (cmpt_id,enroll_id,mark_no,work_id,goods_id,create_time,update_time...

    在整理数据时,面临数据的插入操作,如果数据库已经有了这个数据,将不插入,如果是数据库中没有这个数据将直接插入。

    insert into bag_claim (cmpt_id,enroll_id,mark_no,work_id,goods_id,create_time,update_time) select 13824,9959055,'C5650',411,1,NOW(),NOW() from dual where not exists (select 1 from bag_claim where cmpt_id=13824 and mark_no='C5650');
    

    第二种方法:使用关键字 ignore

    
    insert ignore into bag_claim (cmpt_id,enroll_id,mark_no,work_id,goods_id,create_time,update_time) values ( 13824,9959055,'C5650',411,1,2019-11-04 12:00:00,2019-11-04 12:00:00);
    
    
    

    第三种方法:使用replace

    REPLACE INTO bag_claim SET cmpt_id= 13814, enroll_id= 9959055, mark_no = 'C5650',work_id=411,goods_id=1,create_time=2019-11-04 12:00:00,update_time=2019-11-04 12:00:00; 
    

    展开全文
  • Python判断 NoneType数据类型

    万次阅读 2019-04-22 22:51:57
    在用OpenCV读取图片时候图片破损了会报错,说Nonetype类型。 所以,我就想,条件过滤的时候用is not 或者 != 就可以过滤了,比如这样尝试的时候...接下来,我用==或者is 来判断也是False,我就猜想,难到不能用typ...

    在用OpenCV读取图片时候图片破损了会报错,说Nonetype类型。

    所以,我就想,条件过滤的时候用is not 或者 != 就可以过滤了,比如这样尝试的时候:

    type(answers[0].find_all("table")[0].string) is '''NoneType'''
    结果我得到的是:

    False
    接下来,我用==或者is 来判断也是False,我就猜想,难到不能用type()来判断?

    经过查找,发现Nonetype类型,其实就是值为None,所以直接判断值就可以了,比如这样:

    answers[0].find_all("table")[0].string is None

    得到的结果:

    True

    Nonetype和空值是不一致的,可以理解为Nonetype为不存在这个参数。空值表示参数存在,但是值为空。

    ### NoneType类型:
    
    In [12]: a = None
    
    In [13]: print type(a)
    
    <type 'NoneType'>
    
    ### 判断方法:
    
    if a is None:
    
    pass

     


    type()和isinstance()

    type() 方法的语法:

    type(name, bases, dict),其中name是类的名称,bases是基类的元组,dict是类内定义的命名空间变量。

    当有一个参数时它的返回值是对象类型,。有三个参数时,返回值是新的类型对象。

     isinstance() 方法的语法:

    isinstance(object, classinfo),其中object 是实例对象,变量,classinfo 可以是直接或间接类名、基本类型或者由它们组成的元组(如tuple,dict,int,str,float,list,set,bool,class类等)。如果对象的类型与classinfo相同则返回 值为True,否则返回值为 False。

    isinstance() 与 type() 区别:

    • type() 不会认为子类是一种父类类型,不考虑继承关系。

    • isinstance() 会认为子类是一种父类类型,考虑继承关系。

    如果要判断两个类型是否相同推荐使用 isinstance()。一般type(x)用来看变量x的类型较多。

    以下展示了使用 type 函数的实例:


    Python 中的比较:is 与 ==

    在 Python 中会用到对象之间比较,可以用 ==,也可以用 is 。但是它们的区别是什么呢?

    • is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同。莱布尼茨说过:“世界上没有两片完全相同的叶子”,这个is正是这样的比较,比较是不是同一片叶子(即比较的id是否相同,这id类似于人的身份证标识)。

    • == 比较的是两个对象的内容是否相等,即内存地址可以不一样,内容一样就可以了(只看数值是否相同)。这里比较的并非是同一片叶子,可能叶子的种类或者脉络相同就可以了。默认会调用对象的 __eq__()方法。

       

    可以通过如下例子来区分比较下:

    >>> a = ["I", "love", "Python"]
    >>> b = a
    # a的引用复制给b,在内存中其实是指向了用一个对象
    >>> b is a
    True
    >>> id(a)
    46381384
    >>> id(b)
    46381384
    # 当然,内容也肯定是相等的
    >>> b == a
    True

    可以发现b和a的内存地址是相同的,它们指向同一块内存,因而 is 和 == 的结果都为True。

    这是因为直接赋值都是赋值的引用,是引用,是引用,重要的事情说三遍。但如果不是通过引用赋值,而是通过切片赋值呢?

    # b通过切片操作重新分配了对象,但是值和a相同
    >>> b = a[:]
    >>> b is a
    False
    >>> id(a)
    48740680
    >>> id(b)
    48740680
    >>> b == a # 但他们的值还是相等的
    True

    新建对象之后,b 和 a 指向了不同的内存,所以 b is a 的结果为False,而 b==a的结果为True。

    在这里,小编提一个问题,b[0] is a[0] 的结果呢?

    答案是True。因为切片拷贝是浅拷贝,列表中的元素并未重新创建。不理解的同学请翻看之前的文章 Python中的浅拷贝与深拷贝

    通常,我们关注的是值,而不是内存地址,因此 Python 代码中 == 出现的频率比 is 高

    但是什么时候用 is 呢?

    is 与 == 相比有一个比较大的优势,就是计算速度快,因为它不能重载,不用进行特殊的函数调用,少了函数调用的开销而直接比较两个整数 id。而 a == b 则是等同于a.__eq__(b)。继承自 object 的 __eq__ 方法比较两个对象的id,结果与 is 一样。但是多数Python的对象会覆盖object的 __eq__方法,而定义内容的相关比较,所以比较的是对象属性的值。

    在变量和单例值之间比较时,应该使用 is。目前,最常使用 is 的地方是判断对象是不是 None。下面是推荐的写法:

    a is None

    判断不是None的推荐写法是:

    a is not None

    Python会对比较小的整数对象进行缓存,下次用的时候直接从缓存中获取,所以is 和 == 的结果可能相同:

    >>> a = 1
    >>> b = 1
    >>> a is b
    True
    >>> a == b
    True

    而看一下另外一段代码:

    >>> a = 257
    >>> b = 257
    >>> a is b
    False

    这是什么原因呢?

    注意,Python仅仅对比较小的整数对象进行缓存(范围为范围[-5, 256])缓存起来,而并非是所有整数对象。需要注意的是,这仅仅是在命令行中执行,而在Pycharm或者保存为文件执行,结果是不一样的,这是因为解释器做了一部分优化。

    总结

    1、is 比较两个对象的 id 值是否相等,是否指向同一个内存地址;
    2、== 比较的是两个对象的内容是否相等,值是否相等;
    3、小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用;
    4、is 运算符比 == 效率高,在变量和None进行比较时,应该使用 is。

     


    参考:

    https://www.cnblogs.com/kiko0o0/p/8135184.html

    http://www.runoob.com/python/python-func-type.html

    https://blog.csdn.net/qq_38332574/article/details/80314827 

    https://blog.csdn.net/qq_36330643/article/details/81185217 

    展开全文
  • 计算机网络第章答案 复习数据链路层)

    万次阅读 多人点赞 2018-12-17 23:30:56
    1. 数据链路 (即逻辑链路 )与链路 (即物理链路 )有何区别 ? “电路接通了 ”与”数据链路接通了 ”的区别何在 ? 答:数据链路与链路的区别在于数据链路除链路外,还必须有一些必要的规程来控制数据的传输,因此, ...
  • 此题为海豚浏览器的一个笔试题,当时做的时候感觉挺难,没想...例如给定个区间:(2,4) (5,6) (7,9) 然后又输入一个区间 :(3.5,5),则可以断定此区间和上述区间中 (2,4)有相交区间。 在此多说一句,此问题我们不考虑
  • RNA-seq:转录组数据分析处理(上)

    万次阅读 多人点赞 2019-01-26 17:04:52
    RNA-seq:转录组数据分析处理 一、流程概括 RNA-seq的原始数据(raw data)的质量评估 raw data的过滤和清除不可信数据(clean reads) reads回帖基因和转录(alignment) 计数(count ) 基因差异分析(Gene ...
  • 数据结构之三元的实现

    千次阅读 多人点赞 2019-07-19 10:15:21
    三元的实现首先搭建必要的头文件以及相关函数的编写,最后通过主函数调用实现最终的功能。 数据集 D={e1,e2,e3|e1,e2,e3∈ElemSet} 操作集 1.构造三元 Status InitTriplet(Triplet &T,ElemType v1,...
  • 组数据两两比较相关性

    万次阅读 2013-11-06 17:41:42
    这个问题可以分为几种情况,第一,每组数据数据量都很小,比如只有个或者四个。第二,每组数据都有一定的数据量,比如十几二十甚至更多,并且成对出现。第,每组数据都有一定数据量,但没有一一对应的关系,等等...
  • 判断输入的是否为纯数字: 法一:(通过str内置函数) str = input("请输入某些东西:") if str.isdigit(): 若返回true则代表用户输入的值为纯数字。 字符串相关内置函数:(其中str代表的是字符串) str.isalnum()...
  • 数据结构选择题判断题(PTA)

    万次阅读 多人点赞 2017-11-12 17:13:32
    数据结构是一门研究非数值计算的程序设计问题中计算机的(数据元素)(百度到的答案是数据元素,但PTA的选项没有这个,是“数据映像”吗??)以及他们之间的关系和运算筹的学科。 不带表头附加结点的单链表为空的...
  • 代谢数据分析的统计学方法综述

    万次阅读 多人点赞 2018-10-01 21:34:14
    如何从复杂的代谢数据中提取出有价值的信息,筛选出潜在的生物标志物成为近年来代谢学研究的热点和难点。据此,本文针对目前代谢数据分析中的常用统计学方法及其研究进展进行介绍。 代谢数据的特点...
  • 数据转换-清除重复数据 Data frame的 duplicated方 法返回一个布尔型 Series, 表示各行是否是重复行: 还有一个与此相关的drop duplicates方法,它用于返回一个移除了重复行的DataFrame 这两个方法默认会判断 ...
  • 写在前面近年来,宏基因学得到了快速发展,但由于研究对象包含成百上千物种混合体,仍面临大挑战———高度复杂混合物种基因拼接、混合序列分箱(bin)重构单菌基因、基因的物种分类鉴定与注释。 虽然在这...
  • 需求其实很清晰,只是要判断一个数据是否存在即可。但这里有一个比较重要的前提:非常庞大的数据。   常规实现   先不考虑这个条件,我们脑海中出现的第一种方案是什么?我想大多数想到的都是用 HashMap 来...
  • 数据挖掘概念与技术_第版_课后习题

    万次阅读 多人点赞 2020-04-23 14:26:13
    该文为数据挖掘概念与技术第版课后习题的答案,部分参考了第二版的英文答案,由于个人水平有限,如若存在纰漏,请在评论区批评指正。另外,由于本次编辑格式较乱,可在资源下载区下载PDF版本以便参考。 第一章 ...
  • 朴素贝叶斯同样是一种...这就是说,当你不能准确判断时候,可以依靠事物特定本质相关的事件出现的多少(概率)作为判断依据,贝叶斯定理: 该公式表示在B发生的条件下A发生的条件概率,等于A事件发生条件下B事件...
  • 数据挖掘第版课后题答案

    万次阅读 多人点赞 2020-05-30 23:25:57
    该文为数据挖掘概念与技术第版课后习题的答案,部分参考了第二版的英文答案,由于个人水平有限,如若存在纰漏,请在评论区批评指正。另外,由于本次编辑格式较乱,可在资源下载区下载PDF版本以便参考。 第一章 ...
  • 维空间数据模型及结构

    千次阅读 2015-03-21 15:18:32
    2.6 维空间数据模型及结构 近几年,很多人都在致力于数据模型的研究,虽然有维GIS系统问世,但其功能远远不能满足人们分析问题的需要。原因主要是维GIS理论不成熟,其拓扑关系模型一直没有解决,另外...
  • JSP | 判断三角形并计算面积(javabean)

    万次阅读 多人点赞 2018-05-08 21:20:12
    本程序共包含部分文件, 01.jsp、02.jsp、sanjiaoxing.java,01.jsp和02.jsp分别实现的功能是输入三角形边页面、输出页面。sanjiaoxing.java页面主要实现本程序的主要功能(判断是否能构成三角形并计算面积),...
  • 六年程序员,十而立,转行数据分析师前言数据分析思维数据分析技术数据获取与存储技术数据清洗技术数据挖掘技术数据可视化技术 前言 六年程序员,擅长.net开发,开发过C/S、B/S、大数据项目,研究过图像识别、机器...
  • 数据结构-----基于双数的Trie树

    千次阅读 2017-05-24 19:13:45
    因为Trie树的查找时间和数据总量没有关系,只和要查找的数据长度有关。比如搜索引擎中热度词语的统计。除此之外也可用于将数据按字典序排序。 另外Trie树是典型的空间换时间的数据结构,构建一颗Trie树需要花费比较...
  • 1、种事实表概述 2、种事实表对比 3、事实表设计 8 大原则 4、事实表设计方法 第一步:选择业务过程及确定事实表类型 第二步:声明粒度 第步:确定维度 第四步:确定事实
  • 本文针对面板数据主要有种模型: 1. pool模型 2. 固定效应模型 3. 随机效应模型 介绍了数据检验和模型检验用R语言实现过程,包括F test, Hausman test和 LM test。承接系列一部分,在模型检验确定如何使用模型后...
  • 数据挖掘与数据分析

    万次阅读 多人点赞 2018-05-28 13:58:14
    一、数据挖掘和数据分析概述 数据挖掘和数据分析都是从数据中提取一些有价值的信息,二者有很多联系,但是二者的侧重点和实现手法有所区分。 数据挖掘和数据分析的不同之处: 1、在应用工具上,数据挖掘一般要通过...
  • 因为之前学过Java,在学习JS时,对JS的数据类型、... 知识点会涉及到:JS数据类型、JS的类型判断方式、函数创建方式、function与Function的区别、匿名函数的使用、函数特点以及函数重载问题。 Javascript数据类型
  • 【大数据分析软件另类应用在足球预测实例】足球滚球走地大小球判断方法和技巧 百度网盘地址 提取码: s8bu 大数据分析软件另类应用 1.可视化分析 大数据分析的使用者有大数据分析专家,同时还有普通用户,但是...
  • 概要:提取数据的基本特征单元7:pandas库入门更多参考:http://pandas.pydata.org/Pandas是Python第方库,提供高性能易用数据类型和分析工具,Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用。常用引用方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 828,342
精华内容 331,336
关键字:

如何判断三组数据相关