❶ 数据规范化是什么
数据库规范化是一个过程,这个过圆祥旁程中需要对现存表结构进行修改,把表转化使遵循一系列先进的范式。着重于消除开发人员和他们项目的橘橡“电子表格综合症”。电子表格综宴雀合症是指开发人员倾向于在尽可能少的表中挤下尽可能多的信息。通过智能数据分类,降低存储空间使用量是对实现规范化的众多好处之一。
❷ 几种常见的数据标准化的方法总结!
一、标准化
在进行数据分析时,数据具有单位是非常常见的,比如说GDP可以以亿作为单元,也可以以百万作为单位,那么此时就会出现由于单位问题导致的数字大小问题;这种情况对于分析可能产生影响,因此需要对其进行处理,但是处理的前提是不能失去数字的相对意义,即之前数字越大代表GDP越高,处理后的数据也不能失去这个特性。
也或者计算距离,数字1和2的距离可以直接相减得到距离值为1; 另外一组数据为10000和20000,两个数字直接相减得到距离值为10000。如果说距离数字越大代表距离越远,那么明显的10000大于1,但这种情况仅仅是由于数据单位导致的,而并非实际希望如何。类似这些情况要进行数据分析之前,有时候需要先将数据标准化,数据的标准化就是通过一定的数学变换方式,对原始数据进行一定的转换,使原始数据转换为无量纲化指标测评值,即各指标值都处于同一个数量级别上,这样可以进行综合分析和比较。
二、几种数据标准化的方法
(1)标准化
标准化 是一种最为常见的量纲化处理方式。其计算公式为:
此种处理方式会让数据呈现出一种特征,即数据的平均值一定为0,标准差一定是1。针对数据进行了压缩大小处理,同时还让数据具有特殊特征(平均值为0标准差为1)。
在很多研究算法中均有使用此种处理,比如聚类分析前一般需要进行标准化处理,也或者因子分析时默认会对数据标准化处理。
比如聚类分析时,其内部算法原理在于距离大小来衡量数据间的聚集关系,因此默认SPSSAU会选中进行标准化处理。
除此之外,还有一些特殊的研究方法,比如社会学类进行中介作用,或者调节作用研究时,也可能会对数据进行标准化处理。
(2) 归一化
归一化 的目的是让数据压缩在【0,1】范围内,包括两个边界数字0和数字1;其计算公式为:
当某数据刚好为最小值时,则归一化后为0;如果数据刚好为最大值时,则归一化后为1。
归一化也是一种常见的量纲处理方式,可以让所有的数据均压缩在【0,1】范围内,让数据之间的数理单位保持一致。
(3)中心化
中心化 这种量纲处理方式可能在社会科学类研究中使用较多,比如进行中介作用,或者调节作用研究。其计算公式为:x-μ。
此种处理方式会让数据呈现出一种特征,即数据的平均值一定为0。针对数据进行了压缩大小处理,同时还让数据具有特殊特征(平均值为0)。
平均值为0是一种特殊情况,比如在社会学研究中就偏好此种量纲处理方式,调节作用研究时可能会进行简单斜率分析,那么平均值为0表示中间状态,平均值加上一个标准差表示高水平状态;也或者平均值减一个标准差表示低水平状态。
三、使用SPSSAU进行标准化操作
以上提到的几种数据标准化处理的方法,在 SPSSAU 中的【数据处理】->【生成变量】都有提供,如图所示:
不同的数据标准化的操作过程都是一样的,以下以最常用的Z标准化来说明如何对数据进行标准化。
(1)案例数据
下图是部分案例数据,希望对X变量和Y变量的数据进行标准化处理。
(2)上传数据到SPSSAU
(3)标准化处理步骤
1、选中SPSSAU【数据处理】-【生成变量】
2、右侧选项卡选择标准化(S)
选中想要进行标准化的数据:
点击【确认处理】,SPSSAU会生成新的进行标准化处理后的两个变量,而非原始数据基础上修改。
这样就完成了对数据的标准化处理,得出标准化的数据后,就可以进行后续的分析了。
在实际研究时具体应该使用哪一种处理方式,其实并没有固定的要求,而是结合实际情况或者实际研究进行。比如社会学类的中介作用和调节作用偏好于使用中心化或标准化这种处理方式;聚类分析或者因子分析等使用默认会使用标准化。
❸ 数据标准化方法:该如何选择
原文链接:
数据标准化方法:该如何选择?
什么是数据标准化?
在微生物组学数据分析之前,我们常常需要根据数据量纲的不同以及分析方法的需要对数据进行各种预处理,也即数据标准化。 数据标准化的目的是使数据的总体符合某种要求,例如使数据总体符合正态分布以方便参数检验、使数据范围相同以方便比较分析、使数据分布均匀以方便作图展示等 。我们必须知道不同标准化方法的内涵,从而在实际研究中可以选择正确的数据标准化方法。
首先我们介绍一下数据转换。简单数据转换也即对整体数据进行简单运算,数据转换的目的主要有三个,一是改变数据结构,例如 非线性通过平方根、对数转换为线性 ;二是改变数据范围,便于比较和作图分析,例如数据变化特别大的可以进行对数转换来缩小属性范围;三是改变数据分布,使得样本偏离标准分布太远的更加接近标准分布(例如正态分布)。常见的数据转换有以下几种:
对数转换 :将数据(样本观察值)取自然对数(或者其他数为底的对数),可以使用log()函数来实现(log1p()可以将数据加1后取自然对数)。若是数据中有0或负值,可以全部数据加上一个数转换为正数。一般来说自然对数转换可以使0~1范围内的数据范围变大,可以使>1范围内数据范围变紧凑。
平方根转换 :将数据全部取平方根,可以使用sqrt(x)或者x^0.5来实现。类似的还有立方根转换、四次方根转换,偶数次方根要求数据非负。如果数据结构为二次关系,平方根转换后平方根转换可以使数据范围变小。
倒数转换 :将数据全部取倒数,也即1/x,倒数转换使0~1范围内的数据范围变大,使>1范围内数据范围变紧凑,而且转换后数据为倒序。
数据转换仅仅是对数据中每个观察值的独立处理,而标准化则涉及到数值之间的处理。下面我们以生态学常用的vegan包中的decostand()函数为例,分析不同标准化方法的差别,此函数使用方法如下:
decostand(x, method, MARGIN, range.global, logbase = 2, na.rm=FALSE, ...)
其中x为向量或矩阵,method为标准化方法,MARGIN=1按行处理,MARGIN=2按列处理,不同标准化方法介绍如下:
①method="pa",将数据转换为有-无(1-0)类型,若分析不加权的情况群结构下可以使用;
②method="max",最大值标准化,将数据除以该行或者列的最大值(defaultMARGIN=2)。若数据非负,最大值标准化后数据全部位于0到1之间。
③method="total",总和标准化,将数据除以该行或者列的总和,也即求相对丰度(default MARGIN=1),总和标准化后数据全部位于0到1之间。
④method="range",Min-max标准化,将数据减去该行或者列的最小值,并比上最大值与最小值之差(defaultMARGIN=2),Min-max标准化后的数据全部位于0到1之间。
⑤method="normalize",模标准化,将数据除以每行或者每列的平方和的平方根(default MARGIN=1),模标准化后每行、列的平方和为1(向量的模为1),也即在笛卡尔坐标系中到原点的欧氏距离为1,样品分布在一个圆弧上,彼此之间的距离为弦长,因此也称为弦转化。 在基于欧氏距离的 PCA 、 RDA 中分析群落数据可以将每个样方弦转化可以弥补欧氏距离的缺陷 。弦转化后的数据使用欧氏距离函数计算将得到 弦距离矩阵 。
⑥method="hellinger",hellinger转化,就是总和标准化数据的平方根(default MARGIN=1),hellinger转化后的数据使用欧氏距离函数计算将得到 hellinger 距离矩阵 。
⑦method="chi.square",卡方转化,在默认(defaultMARGIN=1)的情况下是数据除以行的和再除以列的和的平方根,卡方转化后的数据使用欧氏距离函数计算将得到 卡方距离矩阵 。
⑧Wisconsin转化,这个是使用伴随的函数wisconsin(),将数据除以该列最大值再除以该行总和,是最大值标准化和总和标准化的结合。
⑨method="standardize",z-score标准化,最常用的标准化方法之一,将数据减去均值比上标准差(default MARGIN=2),z-score标准化后数据均值为0,方差为1,服从正态总体的数据标准化后服从标准正态分布。z-score标准化可以去除不同环境因子量纲的影响。
一般情况下,上面方法中默认MARGIN=1是默认对样品进行处理,默认MARGIN=2是默认对物种或者环境变量进行处理。
为了比较不同标准化方法对群落数据的影响,我们使用只有两个物种的虚拟群落进行处理,然后在笛卡尔坐标系进行展示(彼此之间是欧氏距离):
#假设虚拟数据:2个物种在5个样方的分布
spe1=c(0.1,0.2,0.3,0.4,0.5)
spe2=c(0.6,0.7,0.8,0.9,1)
ab=cbind(spe1,spe2)
rownames(ab)=LETTERS[1:5]
#各种标准化
ab1=decostand(ab, MARGIN=1, "total")
ab2=decostand(ab, MARGIN=1, "normalize")
ab3=decostand(ab, MARGIN=1, "hellinger")
ab4=decostand(ab, MARGIN=1, "chi.square")
ab5=wisconsin(ab)
#作图观察不同标准化方法距离差异
par(mfrow=c(2,3))
plot(ab[,1], ab[,2], xlim=0:1, ylim=0:1, main="Rawdata")
text(ab[,1], ab[,2]-0.05, labels=rownames(ab), cex=1.2)
plot(ab1[,1], ab1[,2], xlim=0:1, ylim=0:1, main="Total")
text(ab1[,1], ab1[,2]-0.05, labels=rownames(ab), cex=1.2)
plot(ab2[,1], ab2[,2], xlim=0:1, ylim=0:1,main="Normalize")
text(ab2[,1], ab2[,2]-0.05, labels=rownames(ab), cex=1.2)
plot(ab3[,1], ab3[,2], xlim=0:1, ylim=0:1,main="Hellinger")
text(ab3[,1], ab3[,2]-0.05, labels=rownames(ab), cex=1.2)
plot(ab4[,1], ab4[,2], xlim=0:1, ylim=0:1,main="Chi.square")
text(ab4[,1], ab4[,2]-0.05, labels=rownames(ab), cex=1.2)
plot(ab5[,1], ab5[,2], xlim=0:1, ylim=0:1,main="Wisconsin")
text(ab5[,1], ab5[,2]-0.05, labels=rownames(ab), cex=1.2)
结果如下所示:
在没有处理的情况下,群落之间的欧氏距离相等,然而在生态学方面我们不这么看,因为B中物种1的数量是A的两倍,其群落差异显然比D、E更大,五种处理方法标准化数据后的结果都比较好的证实了上面的猜想,尤其是最后两种。 然而在微生物生态中,我们倾向于认为微生物群落是一个整体,不同样品之间物种的相对丰度是有可比较的实际意义的,因此最常用的就是总和标准化 (当然在不涉及丰度比较的聚类和排序分析中各种标准化方法都可以尝试,在传统群落研究里,虽然经常使用中心化等方法,但是需要使用盖度等对不同物种进行加权,因此直接进行总和标准化从某种意义上是使用相对丰度进行加权)。
对于物理、化学变量而言,则完全不同,因为环境变量的值具有绝对性,例如温度1-2℃和21-22℃其差异是一样的。环境变量由于量纲不同, 在计算距离矩阵(欧氏距离)、根据特征根提取的主成分分析、比较系数的回归分析之前,均需要进行 z-score标准化。
❹ 数据规范化名词解释
数据在应用过程中相对比较繁杂。为了能够更好的应用数据,并以需要进行格式化的排列,以橡高返备不时之需。简称数据规范化。
数据规范化处理是数据挖掘的一项基本操作。现实中,数据中不同特征的量纲可能不一致,数值间的差别可能很大,不进行处理可能会影响到数据分析的结果,因此,需要对数据按照一定比例进行缩放,使之落在一个特定的区域,便于进行综合分析。
特别是基于距离的挖掘方法,在建模前一定要对数据进行规范化处理,如SVM,KNN,K-means,聚类等方法。
(4)什么是数据规范化有哪些常见方法扩展阅读:
数据规范化的几种方法:
在数据分析之前,都需要让数据满足一定的规律,达到规范性的要求,便于进行挖掘。
如果不进行变换的话,要不就是维数过多增加了计算成本,要不就是数据过于集中,很难找到数据之间的特征。
在数据变换中,重点是如何将数值进行规范化,有三种常用的规范方法,分别是Min-Max规范化、Z-Score规范化、小数定标规范化。
1.Min-max规范化:
将原始数据投射到指定的空间[min,max]。可用公式表示为:
新数值 = (原数值-极小值)/ (极大值 - 极小值) 。
SciKit-Learn中的MinMaxScaler可以完成这个功能。
2.Z-Score规范化:
将原始数据转换为正态分布的形式,使结果易于比较。可用公式表示为:
新数值 = (原数值 - 均值)/ 标准差。
在SciKit-Learn中的preprocessing.scale()可以直接将给定数据进行Z-Score规范化。
3.小数定标规范梁饥化:
通过移动小数点的位置来进行规范化。小数点移动的位数取决于该属性数据取值的最大绝对值。
例念搭如:属性A的取值范围是-800到70,那么就可以将数据的小数点整体向左移三位即[-0.8,0.07]。
参考资料来源:网络-数据标准化
❺ 数据标准化的几种方法
在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上,常见的数据归一化的方法有:min-max标准化(Min-max
normalization)也叫离差标准化,是对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:其中max为样本数据的最大值,min为样本数据的最小值。log函数转换通过以10为底的log函数转换的方法同样可以实现归一下,具体方法如下:看了下网上很多介绍都是x*=log10(x),其实是有问题的,这个结果并非一定落到[0,1]区间上,应该还要除以log10(max),max为样本数据最大值,并且所有的数据都要大于等于1。而并非所有数据标准化的结果都映射到[0,1]区间上,其中最常见的标准化方法就是Z标准化,也是SPSS中最为常用的标准化方法:z-score
标准化(zero-mean
normalization)也叫标准差标准化,经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:其中μ为所有样本数据的均值,σ为所有样本数据的标准差。
❻ 何谓数据规范化规范化的方法有哪些
规范化理论把关系应满足的规范要求分为几级,满足最低要求的一级叫做第一范式(1NF),在第一范式的基础上提出了第二范式(2NF),在第二范式的基础上又提出了第三范式(3NF),以后又提出了BCNF范式,4NF,5NF。范式的等级越高,应满足的约束集条件也越严格。
第一范式(1NF)
在关系模式R中中,如果每个属性值都是不可再分的原子属性,则称R是第一范式的关系[2]。例如:关系R(职工号,姓名,电话号码)中一个人可能有一个办公室电话和一个住宅电话号码,规范成为1NF的方法一般是将电话号码分为单位电话和住宅电话两个属性,即 R(职工号,姓名,办公电话,住宅电话)。1NF是关系模式的最低要求。
第二范式(2NF)
如果关系模式R是1NF且其中的所有非主属性都完全函数依赖于关键字,则称关系R 是属于第二范式的[2]。例:选课关系 SC(SNO,CNO,GRADE,CREDIT)其中SNO为学号, CNO为课程号,GRADEGE 为成绩,CREDIT 为学分。 由以上条件,关键字为组合关键字(SNO,CNO)。在应用中使用以上关系模式有以下问题: (1)数据冗余,假设同一门课由40个学生选修,学分就重复40次;(2)更新复杂,若调整了某课程的学分,相应元组的CREDIT值都要更新,有可能会出现同一门课学分不同;(3)插入异常,如计划开新课,由于没人选修,没有学号关键字,只能等有人选修才能把课程和学分存入;(4).删除异常,若学生已经结业,从当前数据库删除选修记录,而某些课程新生尚未选修,则此门课程及学分记录无法保存。以上问题产生的原因是非主属性CREDIT仅函数依赖于CNO,也就是CREDIT部分依赖组合关键字(SNO,CNO)而不是完全依赖。解决方法是将以上关系分解成两个关系模式 SC(SNO,CNO,GRADE)和C(CNO,CREDIT)。新关系包括两个关系模式,它们之间通过SC中的外键CNO相联系,需要时再进行自然联接,恢复原来的关系
第三范式(3NF)
如果关系模式R是2NF且其中的所有非主属性都不传递依赖于码,则称关系R是属于第三范式的[1]。例如关系模式S(SNO,SNAME,DNO,DNAME,LOCATION)中各属性分别代表学号、姓名、所在系、系名称、系地址。关键字SNO决定各个属性。由于是单个关键字,没有部分依赖的问题,肯定是2NF。但关系S肯定有大量的冗余,有关学生所在系的几个属性DNO,DNAME,LOCATION将重复存储,插入、删除和修改时也将产生类似以上例的情况。原因在于关系中存在传递依赖,即SNO -> DNO,DNO -> LOCATION, 因此关键字SNO对LOCATION函数决定是通过传递依赖SNO -> LOCATION 实现的。也就是说,SNO不直接决定非主属性LOCATION。解决方法是将该关系模式分解为两个关系S(SNO,SNAME,DNO)和D(DNO,DNAME,LOCATION),两个关系通过S中的外键DNO联系。
BC范式(BCNF)
如果关系模式R的所有属性(包括主属性和非主属性)都不传递依赖于R的任何候选关键字,那么称关系R是属于BCNF的。或者说关系模式R中,如果每个决定因素都包含关键字(而不是被关键字所包含),则R是BCNF[3]。 通常认为BCNF是修正的第三范式,有时也称为扩充的第三范式。
❼ 数据标准化的几种方法
在数据分析之前,我们通常需要先将数据标准化(normalization),利用标准化后的数据进行数据分析。数据标准化也就是统计数据的指数化。数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面。数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作用力的综合结果,须先考虑改变逆指标数据性质,使所有指标对测评方案的作用力同趋化,再加总才能得出正确结果。数据无量纲化处理主要解决数据的可比性。数据标准化的方法有很多种,常用的有“最小—最大标准化”、“Z-score标准化”和“按小数定标标准化”等。经过上述标准化处理,原始数据均转换为无量纲化指标测评值,即各指标值都处于同一个数量级别上,可以进行综合测评分析。
一、Min-max 标准化
min-max标准化方法是对原始数据进行线性变换。设minA和maxA分别为属性A的最小值和最大值,将A的一个原始值x通过min-max标准化映射成在区间[0,1]中的值x',其公式为:
新数据=(原数据-极小值)/(极大值-极小值)
二、z-score 标准化
这种方法基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。将A的原始值x使用z-score标准化到x'。
z-score标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。
新数据=(原数据-均值)/标准差
spss默认的标准化方法就是z-score标准化。
用Excel进行z-score标准化的方法:在Excel中没有现成的函数,需要自己分步计算,其实标准化的公式很简单。步骤如下:1.求出各变量(指标)的算术平均值(数学期望)xi和标准差si ;2.进行标准化处理:zij=(xij-xi)/si其中:zij为标准化后的变量值;xij为实际变量值。3.将逆指标前的正负号对调。标准化后的变量值围绕0上下波动,大于0说明高于平均水平,小于0说明低于平均水平。
三、Decimal scaling小数定标标准化
这种方法通过移动数据的小数点位置来进行标准化。小数点移动多少位取决于属性A的取值中的最大绝对值。将属性A的原始值x使用decimal scaling标准化到x'的计算方法是:
x'=x/(10^j)
其中,j是满足条件的最小整数。
例如 假定A的值由-986到917,A的最大绝对值为986,为使用小数定标标准化,我们用1000(即,j=3)除以每个值,这样,-986被规范化为-0.986。
注意,标准化会对原始数据做出改变,因此需要保存所使用的标准化方法的参数,以便对后续的数据进行统一的标准化。
除了上面提到的数据标准化外还有对数Logistic模式、模糊量化模式等等:
对数Logistic模式:新数据=1/(1+e^(-原数据))
模糊量化模式:新数据=1/2+1/2sin[派3.1415/(极大值-极小值)*(X-(极大值-极小值)/2) ] X为原数据
❽ 什么是数据的标准化
数据标准化的意义:
1、数据的量纲不同;数量级差别很大。
经过标准化处理后,原始数据转化为无量纲化指标测评值,各指标值处于同一数量级行森别,可进行综合测评分析。
一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。
如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)。
4、一些模型求解的需要:加快了梯度下降求最优解的速度。
数据标准化的方法:
1、Min-Max标准化。
2、标准差标准化,也叫z-score标准化。
3、非线性归一化。
❾ 数据规范化的几种方法
在数据分析之前,我们都需要让数据满足一定的规律,达到规范性的要求,便于进行挖掘。
如果不进行变换的话,要不就是维数过多增加了计算成本,要不就是数据过于集中,很难找到数据之间的特征。
在数据变换中,重点是如何将数值进行规范化,有三种常用的规范方法,分别是Min-Max规范化、Z-Score规羡昌坦范化、小数定标规范化。
1.Min-max规范化:
将原始数据投射到指定的空间[min,max]。可用公式表示为:
新数值 = (原数值-极小值)/ (极大值 - 极小值) 。
SciKit-Learn中的MinMaxScaler可以完成这个功能。
2.Z-Score规范化:
将原始数据转换为正态分布的形式,使结果易于比较。可用兄桐公式表示为:
新数值 = (原数值 - 均值)/ 标准差
在SciKit-Learn中的preprocessing.scale()可以直接将给定数据进行Z-Score规范化。
3.小数定标规范化:
通过移动小数点的位置来进行规范化。小数点移动的位数取决于该属性数据取值的最大绝对值。
例如:属性A的取值范围是-800到70,那么就可以将数据的小数点整体向左移三位即[-0.8,0.07]
利用numpy对数据进迅贺行小数定标规范化的方法如下:
❿ 数据标准化的几种方法是什么
方法一:规范化方法
也叫离差标准化,是对原始数据的线性变换,使结果映射到[0,1]区间。
方法二:正规化方法
这种方法基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。将A的原始值x使用z-score标准化到x’。
z-score标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。
spss默认的标准化方法就是z-score标准化。
用Excel进行z-score标准化的方法:在Excel中没有现成的函数,需要自己分步计算,其实标准化的公式很简单。
步骤如下:
1.求出各变量(指标)的算术平均值(数学期望)xi和标准差si ;
2.进行标准化处理:
zij=(xij-xi)/si
其中:zij为标准化后的变量值;xij为实际变量值。
3.将逆指标前的正负号对调。
标准化后的变量值围绕0上下波动,大于0说明高于平均水平,小于0说明低于平均水平。