熵值法 [異質指標同質化]中-Matlab 數據歸一化預處理 mapminmax函數

1、mapminmax

Process matrices by mapping row minimum and maximum values to [-1 1]數組

意思是將矩陣的每一行處理成[-1,1]區間,此時對於模式識別或者其餘統計學來講,數據應該是每一列是一個樣本,每一行是多個樣本的同一維,即對於一個M*N的矩陣來講,樣本的維度是M,樣本數目是N,一共N列N個樣本。app

其主要調用形式有:函數

1. [Y,PS] = mapminmax(X,YMIN,YMAX)     % 將矩陣的每一行壓縮到 [YMIN,YMAX],其中當前行的最大值變爲YMAX,最小值變爲YMINspa

2. [Y,PS] = mapminmax(X,FP)                   %其中FP爲結構體類型,這時就是將矩陣的每一行壓縮到[FP.yminFP.ymax]中code

例如:
x=[2,3,4,5,6;7,8,9,10,11]; mapminmax(x,0,1) fp.ymin=0; %fp爲結構體類型 fp.ymax=1; mapminmax(x,fp)

3. Y = mapminmax('apply',X,PS)         %ps爲一種映射關係   對其餘數值進行歸一化時,這個數必需要在xmin 和xmax之間,否則歸一化的結果,與總體進行歸一化,結果會不同blog

4. X = mapminmax('reverse',Y,PS)     %  反歸一化  獲得原來的值數學

5. dx_dy = mapminmax('dx_dy',X,Y,PS)     %不經常使用   根據給定的矩陣X、標準化矩陣Y及映射PS,獲取逆向導數(reverse derivative)。若是給定的X和Y是m行n列的矩陣,那麼其結果dx_dy是一個1×n結構體數組,其每一個元素又是一個m×n的對角矩陣io

%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------%class

mapminmax的數學公式爲y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin。若是某行的數據所有相同,此時xmax=xmin,除數爲0,則此時數據不變map

%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------%

2、mapstd 標準化

Process matrices by mapping each row's means to 0 and deviations to 1:將矩陣的每一行映射爲0均值1方差的數據

主要調用形式有:

1.  [Y,PS] = mapstd(X,ymean,ystd)          % 均值爲ymean, 方差爲ystd

2. [Y,PS] = mapstd(X,FP)

3. Y = mapstd('apply',X,PS)

4. X = mapstd('reverse',Y,PS)

5. dx_dy = mapstd('dx_dy',X,Y,PS)

和mapminmax相似的,1和2式是對數據X進行標準化,其中ymean和ystd是指望獲得數據的每一行的均值和方差,一樣的,咱們也能夠用一個結構體包含 ymean 和ystd進行帶入

%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------%

mapstd公式爲y = (x-xmean)*(ystd/xstd) + ymean。若是設置的ystd=0,或某行的數據所有相同(此時xstd =0)  

mean默認是對每一列求均值,mean(x,2)是對每一行求均值,std函數默認求的是標準差的無偏估計,有三種用法,s = std(X),s = std(X,flag),s = std(X,flag,dim)

其中flag是無偏估計的參數,flag=0是無偏估計,即默認 是無偏估計,flag=1是有偏估計,dim表示對第幾維求方差,std(X,0,2)表示對X的每一行作無偏的標準差估計

相關文章
相關標籤/搜索