❶ 數據規范化是什麼
資料庫規范化是一個過程,這個過圓祥旁程中需要對現存表結構進行修改,把表轉化使遵循一系列先進的範式。著重於消除開發人員和他們項目的橘橡「電子表格綜合症」。電子表格綜宴雀合症是指開發人員傾向於在盡可能少的表中擠下盡可能多的信息。通過智能數據分類,降低存儲空間使用量是對實現規范化的眾多好處之一。
❷ 幾種常見的數據標准化的方法總結!
一、標准化
在進行數據分析時,數據具有單位是非常常見的,比如說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說明低於平均水平。