模糊等價矩陣;
”模糊等價矩陣”;學術文獻中的闡釋
1和R滿足自反性和對稱性,滿足以下要求:(3)傳遞min(r*k,R輔助)town r.j '稱為模糊等價矩陣,R '按任意指定的閉值(0耳入核1)加載為普通等價矩陣R '和'任',
文獻來源
2.這個矩陣稱為模糊等價矩陣。等價矩陣可以用平方自合成法構造如下:R.R==R.R.R.=R = R .若R = R,則R是模糊等價矩陣。
基於模糊等價關系的模糊聚類分析集合
假設R是X上的模糊等價關系,任意A和R的a-截集是X上的公共等價關系,所以X可以用X上的模糊關系來分類..當我們取不同的a值時,可以得到不同的分類結果,即分類是動態的。
在實踐中,壹般情況下,我們得到壹系列樣本,假設有n個樣本,每個樣本可以看作M維空間中的壹個點。可以表示如下:domain:,對於第I個元素,有
1.數據預處理
考慮到不同的數據可能具有不同的維度,在進壹步處理之前有必要對數據進行相當大的轉換。常用的變換有標準差變換和極差變換:
標準差轉換:
變換後各變量的平均值為0,標準差為1,可以消除維度的影響,但值不壹定在0到1之間。
範圍轉換:
變換後消除了維度的影響,取值在0-1之間。
2模糊相似矩陣的建立
從已知數據可以建立論域上的模糊關系矩陣,其目的是為構造模糊等價矩陣提供數據。
計算模糊關系矩陣的方法有很多,如角度余弦法、相關系數法、算術平均法、幾何平均法和最大最小法。以角度余弦為例,可以通過以下公式計算:
3利用傳遞閉包法求模糊等價矩陣
上述過程建立的矩陣壹般只具有自反性、對稱性和不滿足傳遞性,因此必須將其轉化為模糊等價矩陣。經常使用傳遞閉包法,即從上面的R矩陣中,R ^ 2->;r^4->;R 8...直到第壹次出現R ^ K×R ^ K = R ^ K,說明R是傳遞的。
根據模糊等價矩陣和某個A,得到分類結果。
代碼實現的壹部分:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
'
流程名稱:Norm_Diff
參數:Data()-Double,要轉換的二維數組。
描述:執行change函數後,數組包含轉換後的數據。
作者:
修改人:laviepbt
修訂日期:2006-11-1。
'
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
public Sub Norm _ Diff(ByRef Data()As Double)
Dim m為整數,N為整數,I為整數,j為整數
Dim Ave為Double,s為Double
N = ubound (data,1): m = ubound (data,2)' n個樣本,m個變量。
對於j = 1到m
平均= 0
對於i = 1到N
Ave = Ave + Data(i,j)
然後
Ave = Ave/N 'ave是平均值。
s = 0
對於i = 1到N
S = s+(data (I,j)-ave) 2' s為標準差。
然後
s = Sqr(信噪比)
對於i = 1到N
Data(i,j) = (Data(i,j) - Ave) / s
然後
然後
末端接頭
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
'
流程名稱:Extre_Diff
參數:Data()-Double,要轉換的二維數組。
描述:執行change函數後,數組包含轉換後的數據。
作者:
修改人:laviepbt
修訂日期:2006-11-1。
'
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
public Sub Extre _ Diff(ByRef Data()As Double)
Dim m為整數,N為整數,I為整數,j為整數
Dim Max為Double,Min為Double,d為Double
N = ubound (data,1): m = ubound (data,2)' n個樣本,m個變量。
對於j = 1到m
max =-1000000000 #:Min = 1000000000 #
對於i = 1到N
If Data(i,j)>Max Then Max = Data(i,j)
If Data(i,j)& lt;Min Then Min = Data(i,j)
然後
D = Max-Min'd極差。
對於i = 1到N
Data(i,j) = (Data(i,j)-Min)/d '範圍標準化變換。
然後
然後
末端接頭
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
'
過程名稱:角度_Cos
參數:Data()-雙精度,二維數組數據。
R()-Double,相似矩陣
解釋:
作者:
修改人:laviepbt
修訂日期:2006-11-1。
'
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Public Sub Angle_Cos(ByRef Data()為Double,ByRef R()為Double)
Dim m為整數,N為整數,I為整數,j為整數,k為整數
Dim S1為Double,Si2為Double,Sj2為Double
N = ubound (data,1): m = ubound (data,2)' n個樣本,m個變量。
對於i = 1到N
對於j = 1到N
如果i = j,那麽
R(i,j) = 1
其他
S1 = 0: Si2 = 0: Sj2 = 0
對於k = 1到m
S1 = S1 + Data(i,k) * Data(j,k)
Si2 = Si2 +數據(I,k) ^ 2
Sj2 = Sj2 +數據(j,k) ^ 2
然後
R(i,j)= Int((s 1/Sqr(Si2 * Sj2))* 1000+0.5)/1000
如果…就會結束
然後
然後
末端接頭
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
'
流程名稱:相關性
參數:Data()-雙精度,二維數組數據。
R()-Double,相似矩陣
解釋:
作者:
修改人:laviepbt
修訂日期:2006-11-1。
'
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
公共子相關(ByRef Data()為Double,ByRef R()為Double)
Dim m為整數,N為整數,I為整數,j為整數,k為整數
Dim夏為替身,Xja為替身
Dim S1為Double,Si2為Double,Sj2為Double
N = ubound (data,1): m = ubound (data,2)' n個樣本,m個變量。
對於i = 1到N
對於j = 1到N
如果i = j,那麽
R(i,j) = 1
其他
Xia = 0: Xja = 0
對於k = 1到m
Xia = Xia + Data(i,k)
Xja = Xja + Data(j,k)
然後
夏=夏/米
Xja = Xja / m
S1 = 0: Si2 = 0: Sj2 = 0
對於k = 1到m
S1 = S1 + Abs((Data(i,k) - Xia) * (Data(j,k) - Xja))
Si2 = Si2 +(數據(I,k) - Xia) ^ 2
Sj2 = Sj2 +(數據(j,k) - Xja) ^ 2
然後
R(i,j)= Int((s 1/Sqr(Si2 * Sj2))* 1000+0.5)/1000
如果…就會結束
然後
然後
末端接頭
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
'
流程名稱:TR
參數:R()-Double,相似矩陣
RR()-雙精度模糊乘積矩陣
解釋:
作者:
修改人:laviepbt
修訂日期:2006-11-1。
'
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Public Sub TR(ByRef R()為Double,ByRef RR()為Double)
Dim N為整數,l為整數
Dim i為整數,j為整數,k為整數
Dim i1為整數,j1為整數
Dim dMax為Double
N = UBound(R,1)
將dMin(1到N)重定為雙精度值
l = 0
100:
l = l + 1
如果l & gt那就100
MsgBox“已平方100次,但仍無傳遞性”,vbCritical,“錯誤”
出口接頭
如果…就會結束
對於i = 1到N
對於j = 1到N
對於k = 1到N
如果R(i,k)& lt;= R(k,j)那麽
dMin(k) = R(i,k)
其他
dMin(k) = R(k,j)
如果…就會結束
然後
DMax = dMin(1)'模糊矩陣的乘法,取最小取最大。
對於k = 1到N
如果dMin(k)>dMax則dMax = dMin(k)
然後
RR(i,j) = dMax
然後
然後
對於i = 1到N
對於j = 1到N
判斷是否是模糊等價矩陣,否則繼續做。
如果R(i,j)& lt;& gt那麽RR(i,j)
對於i1 = 1到N
對於j1 = 1到N
R(i1,j1) = RR(i1,j1)
然後
然後
轉到100
如果…就會結束
然後
然後
末端接頭
所有代碼請參考《基礎模糊數學與實用算法》壹書。
處理結果:以以下數據為例:選擇極差法對數據進行預處理,用角度余弦法計算相似度矩陣。
數據模糊等價矩陣
壹些分析結果:
********************************
輸入值:0.908
1類:U1 U2 U3 U4
類別2: U5 U6
類別3: U7 U8
功效值:6.099
顯著性為0.2的臨界值:2.259。
顯著性臨界值為. 1: 3.78。
結論:在給定臨界值下,分類效果尤為顯著。à à à à à à à à à à à à à à à à à à à à à à à à à à à à à à à à?
********************************
輸入值:0.894
1類:U1 U2 U3 U4
類別2: U5 U6 U7 U8
功效值:7.634
顯著性為0.2的臨界值:2.073。
顯著性為. 1: 3.776的臨界值。
結論:在給定臨界值下,分類效果尤為顯著。à à à à à à à à à à à à à à à à à à à à à à à à à à à à à à à à?
********************************
輸入值:0.888
1類:U1 U2 U3 U4 U5 U6 U7 U8
f功效值:* * * * * * *
重要性為0.2的臨界值:* * * * * * *
重要性為. 1的臨界值:* * * * * * *
結論:在給定臨界值下,分類效果不顯著。
********************************
顯然,對於不同的lamda值和不同的聚集效應,可以考慮用f檢驗法刷掉壹些不合理的分類。詳見《模糊數學基礎與實用算法》壹書。