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


一、mapminmax

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

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

其主要調用形式有:

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

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

例如:
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之間,不然歸一化的結果,與整體進行歸一化,結果會不一樣

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的對角矩陣

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

mapminmax的數學公式為y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin。如果某行的數據全部相同,此時xmax=xmin,除數為0,則此時數據不變

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

二、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的每一行做無偏的標准差估計


免責聲明!

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



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