數據標准化和歸一化


 

數據的標准化

  在數據分析之前,我們通常需要先將數據標准化(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中沒有現成的函數,需要自己分步計算,其實標准化的公式很簡單。

步驟如下:
  求出各變量(指標)的算術平均值(數學期望)xi和標准差si ;

  進行標准化處理:zij=(xij-xi)/si,其中:zij為標准化后的變量值;xij為實際變量值。

  將逆指標前的正負號對調。
標准化后的變量值圍繞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為原數據

 

 

 

數據歸一化

  歸一化是一種簡化計算的方式,即將有量綱的表達式,經過變換,化為無量綱的表達式,成為純量。歸一化是為了加快訓練網絡的收斂性,可以不進行歸一化處理

  歸一化的具體作用是歸納統一樣本的統計分布性。歸一化在0-1之間是統計的概率分布,歸一化在-1--+1之間是統計的坐標分布。歸一化有同一、統一和合一的意思。無論是為了建模還是為了計算,首先基本度量單位要同一,神經網絡是以樣本在事件中的統計分別幾率來進行訓練(概率計算)和預測的,歸一化是同一在0-1之間的統計概率分布;SVM是以降維后線性划分距離來分類和仿真的,因此時空降維歸一化是統一在-1--+1之間的統計坐標分布。

  當所有樣本的輸入信號都為正值時,與第一隱含層神經元相連的權值只能同時增加或減小,從而導致學習速度很慢。為了避免出現這種情況,加快網絡學習速度,可以對輸入信號進行歸一化,使得所有樣本的輸入信號其均值接近於0或與其均方差相比很小。

  歸一化是因為sigmoid函數的取值是0到1之間的,網絡最后一個節點的輸出也是如此,所以經常要對樣本的輸出歸一化處理。所以這樣做分類的問題時用[0.9 0.1 0.1]就要比用要好。但是歸一化處理並不總是合適的,根據輸出值的分布情況,標准化等其它統計變換方法有時可能更好。

 

歸一化方法(Normalization Method)

1。把數變為(0,1)之間的小數 主要是為了數據處理方便提出來的,把數據映射到0~1范圍之內處理,更加便捷快速,應該歸到數字信號處理范疇之內。

2 。把有量綱表達式變為無量綱表達式歸一化是一種簡化計算的方式,即將有量綱的表達式,經過變換,化為無量綱的表達式,成為純量。比如,復數阻抗可以歸一化書寫:Z = R + jωL = R(1 + jωL/R) ,復數部分變成了純數量了,沒有量綱。

 

標准化方法(Normalization Method)

數據的標准化是將數據按比例縮放,使之落入一個小的特定區間。由於信用指標體系的各個指標度量單位是不同的,為了能夠將指標參與評價計算,需要對指標進行規范化處理,通過函數變換將其數值映射到某個數值區間。

 

歸一化方法主要有如下幾種,供大家參考:

1、線性函數轉換,表達式如下:

y=(x-MinValue)/(MaxValue-MinValue)

說明:x、y分別為轉換前、后的值,MaxValue、MinValue分別為樣本的最大值和最小值。

2、對數函數轉換,表達式如下:

y=log10(x)

說明:以10為底的對數函數轉換。

3、反余切函數轉換表達式如下:

y=atan(x)*2/PI

 

關於用premnmx語句進行歸一化:

Premnmx語句格式:

       [Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T)

其中P,T分別為原始輸入和輸出數據,minp和maxp分別為P中的最小值和最大值(最大最小是針對矩陣的行來取,而min(p)是針對矩陣的列來取)。mint和maxt分別為T的最小值和最大值。

   premnmx函數用於將網絡的輸入數據或輸出數據進行歸一化,歸一化后的數據將分布在[-1,1]區間內。

我們在訓練網絡時如果所用的是經過歸一化的樣本數據,那么以后使用網絡時所用的新數據也應該和樣本數據接受相同的預處理,這就要用到tramnmx。

 

關於用tramnmx語句進行歸一化:

Tramnmx語句格式:

                  [Pn]=tramnmx(P,minp,maxp)

其中P和Pn分別為變換前、后的輸入數據,maxp和minp分別為premnmx函數找到的最大值和最小值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM